pax_global_header00006660000000000000000000000064136363046300014516gustar00rootroot0000000000000052 comment=adcce0c230bf3b44cf7c4bd8fcb461bb46a11bab pandoc-2.9.2.1/000077500000000000000000000000001363630463000131335ustar00rootroot00000000000000pandoc-2.9.2.1/.circleci/000077500000000000000000000000001363630463000147665ustar00rootroot00000000000000pandoc-2.9.2.1/.circleci/config.yml000066400000000000000000000065661363630463000167730ustar00rootroot00000000000000version: "2.1" env: &env environment: LC_ALL: "C.UTF-8" docker: - image: fpco/stack-build:lts-13 #----------------------------------------------------------------------------- # Common utility stuff, not to be modified usually #----------------------------------------------------------------------------- preinstall: &preinstall run: | echo 'export PATH=/opt/cabal/bin:/opt/ghc/bin:$PATH' >> $BASH_ENV source $BASH_ENV apt-get update restore: &restore # Needs to happen after installing ca-certificates restore_cache: key: v1-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }} save: &save save_cache: key: v1-{{ .Environment.CIRCLE_JOB }}-{{ .Branch }} paths: - ~/.cabal - ~/.ghc - ~/.local - ~/.stack commands: cabal_build: parameters: ghcversion: type: string steps: - checkout - *preinstall - *restore - run: name: install cabal command: apt-get install -y cabal-install-2.4 - run: name: install ghc command: | apt-get install -y ghc-<< parameters.ghcversion >> - run: name: build and test project command: | set -e cabal v2-update TMPDIR=`mktemp -d -t circleci.XXXXXXX` cabal v2-sdist --output-dir=${TMPDIR} cd ${TMPDIR} tar xvzf *.tar.gz cd * cabal v2-build -w ghc-<< parameters.ghcversion >> -j2 --disable-optimization --dependencies-only --enable-tests --enable-benchmarks cabal v2-build -w ghc-<< parameters.ghcversion >> -j2 --disable-optimization --enable-tests --enable-benchmarks 2>build.log cat build.log # fail if we had warnings in local build # this is to work around the fact that cabal v2 doesn't allow # us to use -Werror for just local build: # https://github.com/haskell/cabal/issues/4247 ! grep -q "[Ww]arning:" build.log cabal v2-test -w ghc-<< parameters.ghcversion >> -j2 --disable-optimization --enable-tests cabal v2-haddock -w ghc-<< parameters.ghcversion >> cabal check - *save #----------------------------------------------------------------------------- # Build matrix #----------------------------------------------------------------------------- jobs: cabal-ghc-8_8_1: <<: *env steps: - cabal_build: ghcversion: 8.8.1 cabal-ghc-8_6_5: <<: *env steps: - cabal_build: ghcversion: 8.6.5 cabal-ghc-8_4_4: <<: *env steps: - cabal_build: ghcversion: 8.4.4 cabal-ghc-8_2_2: <<: *env steps: - cabal_build: ghcversion: 8.2.2 cabal-ghc-8_0_2: <<: *env steps: - cabal_build: ghcversion: 8.0.2 stack-ghc-8_6: <<: *env steps: - checkout - *preinstall - *restore - run: | set -e apt-get install -y ghc-8.6.5 stack update stack test --system-ghc --fast --ghc-options="-Werror" . - *save workflows: version: "2.1" build: jobs: - cabal-ghc-8_6_5 - cabal-ghc-8_4_4 - cabal-ghc-8_2_2 - cabal-ghc-8_0_2 - stack-ghc-8_6 # - cabal-ghc-8_8_1 pandoc-2.9.2.1/.editorconfig000066400000000000000000000004171363630463000156120ustar00rootroot00000000000000root = true [*] charset = utf-8 end_of_line = lf indent_style = space indent_size = 2 insert_final_newline = true trim_trailing_whitespace = true [*.{markdown,md}] trim_trailing_whitespace = false [test/*] insert_final_newline = false trim_trailing_whitespace = false pandoc-2.9.2.1/.gitattributes000066400000000000000000000000301363630463000160170ustar00rootroot00000000000000test/fb2/reader/* -text pandoc-2.9.2.1/.github/000077500000000000000000000000001363630463000144735ustar00rootroot00000000000000pandoc-2.9.2.1/.github/FUNDING.yml000066400000000000000000000000251363630463000163050ustar00rootroot00000000000000github: [jgm,tarleb] pandoc-2.9.2.1/.github/ISSUE_TEMPLATE000066400000000000000000000006221363630463000166010ustar00rootroot00000000000000Asking a question? Please use the pandoc-discuss mailing list instead: https://groups.google.com/forum/#!forum/pandoc-discuss This tracker is for bug reports and enhancement requests. Reporting a bug? Please include your pandoc version and an example that allows us to reproduce the problem (complete input, exact command line used, expected and actual output). The smaller the example, the better. pandoc-2.9.2.1/.github/workflows/000077500000000000000000000000001363630463000165305ustar00rootroot00000000000000pandoc-2.9.2.1/.github/workflows/ci.yml000066400000000000000000000047761363630463000176640ustar00rootroot00000000000000name: CI tests on: push: branches: - '*' - '!rc/*' ignore-paths: - 'doc/**' - 'MANUAL.txt' - '*.md' - 'RELEASE_CHECKLIST' - 'BUGS' - 'changelog' - 'README.template' - 'appveyor.yml' - 'tools/**' - 'linux/**' - 'macos/**' - 'windows/**' - 'man/**' pull_request: ignore-paths: - 'doc/**' - 'MANUAL.txt' - '*.md' - 'RELEASE_CHECKLIST' - 'BUGS' - 'changelog' - 'README.template' - 'appveyor.yml' - 'tools/**' - 'linux/**' - 'macos/**' - 'windows/**' - 'man/**' jobs: linux: runs-on: ubuntu-latest strategy: fail-fast: true matrix: versions: - ghc: '8.0.2' cabal: '2.4' - ghc: '8.2.2' cabal: '2.4' - ghc: '8.4.4' cabal: '2.4' - ghc: '8.6.5' cabal: '2.4' - ghc: '8.8.1' cabal: '3.0' steps: - uses: actions/checkout@v1 - name: Install dependencies run: | export PATH=/opt/cabal/${{ matrix.versions.cabal }}/bin:/opt/ghc/${{ matrix.versions.ghc }}/bin:$PATH cabal v2-update cabal v2-build --dependencies-only --enable-tests --disable-optimization - name: Build and test run: | export PATH=/opt/cabal/${{ matrix.versions.cabal }}/bin:/opt/ghc/${{ matrix.versions.ghc }}/bin:$PATH cabal v2-build --enable-tests --disable-optimization 2>&1 | tee build.log # fail if warnings in local build ! grep -q ": *[Ww]arning:" build.log || exit 1 cabal v2-test --disable-optimization windows: runs-on: windows-latest steps: - uses: actions/checkout@v1 - name: Install stack shell: cmd run: | choco install haskell-stack - name: Install dependencies run: | stack update stack test --dependencies-only --fast - name: Build and test shell: cmd run: | stack test --fast --test-arguments=--hide-successes macos: runs-on: macOS-latest steps: - uses: actions/checkout@v1 - name: Install stack run: | curl -L https://get.haskellstack.org/stable/osx-x86_64.tar.gz -o stack.tar.gz tar xzvf stack.tar.gz --strip-components=1 'stack*/stack' - name: Install dependencies run: | ./stack update ./stack test --dependencies-only --fast - name: Build and test run: | ./stack test --fast --test-arguments=--hide-successes pandoc-2.9.2.1/.github/workflows/nightly.yml000066400000000000000000000063401363630463000207340ustar00rootroot00000000000000name: Nightly on: schedule: - cron: '53 6 * * *' jobs: linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Install recent cabal/ghc run: | sudo add-apt-repository ppa:hvr/ghc sudo apt-get update sudo apt-get install ghc-8.6.5 cabal-install-2.4 - name: Install dependencies run: | export PATH=/opt/cabal/bin:/opt/ghc/bin:$PATH cabal v2-update cabal v2-build --dependencies-only . pandoc-citeproc - name: Build run: | export PATH=/opt/cabal/bin:/opt/ghc/bin:$PATH cabal v2-install . pandoc-citeproc strip $HOME/.cabal/bin/pandoc strip $HOME/.cabal/bin/pandoc-citeproc - name: Install artifact run: | export ARTIFACTS=nightly-linux/pandoc-nightly-linux-$(date +%Y-%m-%d) mkdir -p ${ARTIFACTS} cp $HOME/.cabal/bin/pandoc ${ARTIFACTS}/ cp $HOME/.cabal/bin/pandoc-citeproc ${ARTIFACTS}/ cp COPYRIGHT ${ARTIFACTS}/ echo "Built from ${GITHUB_SHA}" > ${ARTIFACTS}/README.nightly.txt - uses: actions/upload-artifact@master with: name: nightly-linux path: nightly-linux windows: runs-on: windows-latest steps: - uses: actions/checkout@v1 - name: Install stack shell: cmd run: | choco install haskell-stack - name: Install dependencies run: | stack update stack build --dependencies-only pandoc pandoc-citeproc - name: Build artifacts shell: cmd run: | for /f %%a in ('powershell -Command "Get-Date -format yyyy-MM-dd"') do set THEDATE=%%a set ARTIFACTS=%CD%\nightly-windows\pandoc-nightly-windows-%THEDATE% mkdir %ARTIFACTS% stack build pandoc pandoc-citeproc forfiles /P .\.stack-work\install /M pandoc*.exe /S /C "cmd /C copy @path %%ARTIFACTS%%" copy COPYRIGHT %ARTIFACTS% ren %ARTIFACTS%\COPYRIGHT COPYRIGHT.txt echo Built from %GITHUB_SHA% > %ARTIFACTS%\README.nightly.txt - uses: actions/upload-artifact@master with: name: nightly-windows path: nightly-windows macos: runs-on: macOS-latest steps: - uses: actions/checkout@v1 - name: Install stack run: | curl -L https://get.haskellstack.org/stable/osx-x86_64.tar.gz -o stack.tar.gz tar xzvf stack.tar.gz --strip-components=1 'stack*/stack' - name: Install dependencies run: | ./stack update ./stack build --dependencies-only pandoc pandoc-citeproc - name: Build artifacts run: | export ARTIFACTS=nightly-macos/pandoc-nightly-macos-$(date +%Y-%m-%d) mkdir -p ${ARTIFACTS} ./stack build pandoc pandoc-citeproc for f in $(find .stack-work/install -name 'pandoc*' -perm +001 -type f); do cp $f ${ARTIFACTS}/; done mv ${ARTIFACTS}/pandoc ${ARTIFACTS}/pandoc mv ${ARTIFACTS}/pandoc-citeproc ${ARTIFACTS}/pandoc-citeproc cp COPYRIGHT ${ARTIFACTS}/ echo "Built from ${GITHUB_SHA}" > ${ARTIFACTS}/README.nightly.txt - uses: actions/upload-artifact@master with: name: nightly-macos path: nightly-macos pandoc-2.9.2.1/.github/workflows/release-candidate.yml000066400000000000000000000122611363630463000226070ustar00rootroot00000000000000name: Release candidate on: push: branches: - 'rc/**' jobs: linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Create linux package run: | make debpkg mkdir linux-release-candidate cp linux/artifacts/*.deb linux-release-candidate/ cp linux/artifacts/*.tar.gz linux-release-candidate/ - uses: actions/upload-artifact@master with: name: linux-release-candidate path: linux-release-candidate windows: runs-on: windows-latest strategy: fail-fast: true matrix: versions: - osarch: "windows-x86_64" arch: "x64" choco_opts: "" stack_opts: "-j1" - osarch: "windows-i386" arch: "x86" choco_opts: "--x86" stack_opts: "-j1 --flag hslua:lua_32bits" steps: - uses: actions/checkout@v1 - name: Install stack shell: cmd run: | choco install haskell-stack ${{ matrix.versions.choco_opts }} - name: Install dependencies run: | stack update stack build ${{ matrix.versions.stack_opts }} --dependencies-only pandoc pandoc-citeproc - name: Create windows package shell: cmd run: | for /f %%a in ('powershell -Command "Get-Date -format yyyy-MM-dd"') do set THEDATE=%%a stack build ${{ matrix.versions.stack_opts }} pandoc pandoc-citeproc for /f "tokens=1-2 delims= " %%a in ('stack exec pandoc -- --version') do ( @set VERSION=%%b goto :next ) :next if "%VERSION%" == "" ( echo Error: could not determine version number. exit /b 1 ) echo Detected version %VERSION% @set WINDOWS=%CD%\windows @set RELEASE=%WINDOWS%\pandoc-%VERSION% mkdir %RELEASE% forfiles /P .\.stack-work\install /M pandoc*.exe /S /C "cmd /C echo @path && echo %%WINDOWS%% && copy @path %%RELEASE%%" stack exec pandoc -- -s --toc MANUAL.txt -o %RELEASE%\MANUAL.html stack exec pandoc -- -s COPYING.md -t rtf -o %RELEASE%\COPYING.rtf copy %RELEASE%\COPYING.rtf %WINDOWS% copy COPYRIGHT %RELEASE%\COPYRIGHT.txt cd windows echo Creating msi... dir @set WIXBIN="c:\Program Files (x86)\WiX Toolset v3.11\bin" @set WORKDIR=%CD% echo Running candle... %WIXBIN%\candle -arch ${{ matrix.versions.arch }} -dVERSION=%VERSION% -dBINPATH=%RELEASE% *.wxs -out wixobj\ if %errorlevel% neq 0 exit /b %errorlevel% echo Running light... %WIXBIN%\light -sw1076 -ext WixUIExtension -ext WixUtilExtension -cultures:en-us -loc Pandoc-en-us.wxl -out %WORKDIR%\pandoc-%VERSION%-${{ matrix.versions.osarch }}-UNSIGNED.msi wixobj\*.wixobj 7z a "pandoc-%VERSION%-${{ matrix.versions.osarch }}.zip" pandoc-%VERSION% cd .. mkdir windows-release-candidate copy windows\pandoc-%VERSION%-${{ matrix.versions.osarch }}-UNSIGNED.msi windows-release-candidate copy windows\pandoc-%VERSION%-${{ matrix.versions.osarch }}.zip windows-release-candidate copy windows\Makefile windows-release-candidate - uses: actions/upload-artifact@master with: name: windows-release-candidate path: windows-release-candidate macos: runs-on: macOS-latest steps: - uses: actions/checkout@v1 - name: Install stack run: | curl -L https://get.haskellstack.org/stable/osx-x86_64.tar.gz -o stack.tar.gz tar xzvf stack.tar.gz --strip-components=1 'stack*/stack' - name: Install dependencies run: | ./stack update ./stack build --dependencies-only pandoc pandoc-citeproc - name: Create macOS package run: | export VERSION=$(grep '^[Vv]ersion:' pandoc.cabal | awk '{print $$2;}') export BASEDIR=$(pwd) export ARTIFACTS=${BASEDIR}/macos-release-candidate export RESOURCES=${ARTIFACTS}/Resources export ROOT=${ARTIFACTS}/pandoc export DEST=${ROOT}/usr/local export ME=$(whoami) export BASE=pandoc-$VERSION mkdir -p ${ARTIFACTS} mkdir -p ${RESOURCES} mkdir -p ${DEST}/bin mkdir -p ${DEST}/share/man/man1 ./stack build pandoc pandoc-citeproc for f in $(find .stack-work/install -name 'pandoc*' -perm +001 -type f); do cp $f ${DEST}/bin/; done strip ${DEST}/bin/pandoc strip ${DEST}/bin/pandoc-citeproc cp man/pandoc.1 ${DEST}/share/man/man1/pandoc.1 ${DEST}/bin/pandoc-citeproc --man > \ $DEST/share/man/man1/pandoc-citeproc.1 ${DEST}/bin/pandoc -t html5 -s COPYING.md -Vpagetitle=License \ -o ${RESOURCES}/license.html chown -R $ME:staff ${ROOT} sed -e "s/PANDOCVERSION/${VERSION}/" macos/distribution.xml.in > ${ARTIFACTS}/distribution.xml cp macos/Makefile ${ARTIFACTS}/ echo ${VERSION} > ${ARTIFACTS}/version.txt - uses: actions/upload-artifact@master with: name: macos-release-candidate path: macos-release-candidate pandoc-2.9.2.1/.gitignore000066400000000000000000000005441363630463000151260ustar00rootroot00000000000000*~ deb/.vagrant dist/* MANUAL.* !MANUAL.txt .configure-stamp .cabal-sandbox cabal.sandbox.config pandoc.cabal.orig man/man?/*.1 man/man?/*.5 man/man?/*.html *.diff *.o *.hi *.pyc /COPYING.rtf /COPYRIGHT.txt /cabal-dev/ /windows/*.msi /windows/*.wixpdb windows/*.wixobj data/reference.docx data/reference.odt .stack-work cabal.project.local /dist-newstyle/ pandoc-2.9.2.1/.hlint.yaml000066400000000000000000000055431363630463000152220ustar00rootroot00000000000000# HLint configuration file # https://github.com/ndmitchell/hlint ########################## # This file contains a template configuration file, which is typically # placed as .hlint.yaml in the root of your project # Specify additional command line arguments # - arguments: [--color, --cpp-ansi] # Control which extensions/flags/modules/functions can be used # # - extensions: # - default: false # all extension are banned by default # - name: [PatternGuards, ViewPatterns] # only these listed extensions can be used # - {name: CPP, within: CrossPlatform} # CPP can only be used in a given module # # - flags: # - {name: -w, within: []} # -w is allowed nowhere # # - modules: # - {name: [Data.Set, Data.HashSet], as: Set} # if you import Data.Set qualified, it must be as 'Set' # - {name: Control.Arrow, within: []} # Certain modules are banned entirely # # - functions: # - {name: unsafePerformIO, within: []} # unsafePerformIO can only appear in no modules # Add custom hints for this project # # Will suggest replacing "wibbleMany [myvar]" with "wibbleOne myvar" # - error: {lhs: "wibbleMany [x]", rhs: wibbleOne x} # Turn on hints that are off by default # # Ban "module X(module X) where", to require a real export list # - warn: {name: Use explicit module export list} # # Replace a $ b $ c with a . b $ c # - group: {name: dollar, enabled: true} # # Generalise map to fmap, ++ to <> # - group: {name: generalise, enabled: true} # Ignore some builtin hints # - ignore: {name: Use let} # - ignore: {name: Use const, within: SpecialModule} # Only within certain modules # - ignore: {name: "Use section"} # - ignore: {name: "Use camelCase"} # - ignore: {name: "Use list comprehension"} # - ignore: {name: "Redundant if"} - ignore: {name: "Avoid lambda"} - ignore: {name: "Eta reduce"} - ignore: {name: "Evaluate"} - ignore: {name: "Monad law, left identity", module: "Text.Pandoc.App.OutputSettings"} - ignore: {name: "Parse error"} # we trust the compiler over HLint - ignore: {name: "Reduce duplication", module: "Text.Pandoc.Readers.Markdown"} - ignore: {name: "Use &&&"} - ignore: {name: "Use =="} # Creates infinite loops in `EQ` using expressions - ignore: {name: "Use String"} - ignore: {name: "Use fmap"} # specific for GHC 7.8 compat - ignore: {name: "Use forM_", module: "Text.Pandoc.Readers.DocBook"} - ignore: {name: "Use isDigit"} - ignore: {name: "Use tuple-section", module: "Text.Pandoc.Readers.EPUB"} - ignore: {name: "Use uncurry", module: "Text.Pandoc.Readers.Docx.Combine"} - ignore: name: "Use <$>" within: - Text.Pandoc.Readers.LaTeX - Text.Pandoc.Readers.Markdown - ignore: name: "Use camelCase" within: - Text.Pandoc.Extensions - Text.Pandoc.Lua.Marshalling.Version - Text.Pandoc.Readers.Odt.ContentReader - Text.Pandoc.Readers.Odt.Namespaces # Define some custom infix operators # - fixity: infixr 3 ~^#^~ pandoc-2.9.2.1/.mailmap000066400000000000000000000040211363630463000145510ustar00rootroot00000000000000Adam Brandizzi Albert Krewinkel Albert Krewinkel Albert Krewinkel Albert Krewinkel Alexander Krotov Alex Ivkin Alex Ivkin Andrew Dunning Andrew Dunning Andrew Newman Clare Macrae Hugo Roy Hugo Roy John MacFarlane John MacFarlane John MacFarlane Jose Luis Duran Marc Schreiber Masayoshi Takahashi Matthew Pickering Mauro Bieg Mauro Bieg Mauro Bieg Mauro Bieg Mauro Bieg Nils Carlson Nils Carlson Robin Lambertz Roland Hieber Sebastian Talmon <35015406+stalmon@users.noreply.github.com> Sergei Trofimovich Sergei Trofimovich Stefan Björk Thomas Hodgson Timm Albers Yan Pashkovsky pandoc-2.9.2.1/.stylish-haskell.yaml000066400000000000000000000135051363630463000172210ustar00rootroot00000000000000# stylish-haskell configuration file # ================================== # The stylish-haskell tool is mainly configured by specifying steps. These steps # are a list, so they have an order, and one specific step may appear more than # once (if needed). Each file is processed by these steps in the given order. steps: # Convert some ASCII sequences to their Unicode equivalents. This is disabled # by default. # - unicode_syntax: # # In order to make this work, we also need to insert the UnicodeSyntax # # language pragma. If this flag is set to true, we insert it when it's # # not already present. You may want to disable it if you configure # # language extensions using some other method than pragmas. Default: # # true. # add_language_pragma: true # Align the right hand side of some elements. This is quite conservative # and only applies to statements where each element occupies a single # line. - simple_align: cases: true top_level_patterns: true records: true # Import cleanup - imports: # There are different ways we can align names and lists. # # - global: Align the import names and import list throughout the entire # file. # # - file: Like global, but don't add padding when there are no qualified # imports in the file. # # - group: Only align the imports per group (a group is formed by adjacent # import lines). # # - none: Do not perform any alignment. # # Default: global. align: none # Following options affect only import list alignment. # # List align has following options: # # - after_alias: Import list is aligned with end of import including # 'as' and 'hiding' keywords. # # > import qualified Data.List as List (concat, foldl, foldr, head, # > init, last, length) # # - with_alias: Import list is aligned with start of alias or hiding. # # > import qualified Data.List as List (concat, foldl, foldr, head, # > init, last, length) # # - new_line: Import list starts always on new line. # # > import qualified Data.List as List # > (concat, foldl, foldr, head, init, last, length) # # Default: after_alias list_align: after_alias # Long list align style takes effect when import is too long. This is # determined by 'columns' setting. # # - inline: This option will put as much specs on same line as possible. # # - new_line: Import list will start on new line. # # - new_line_multiline: Import list will start on new line when it's # short enough to fit to single line. Otherwise it'll be multiline. # # - multiline: One line per import list entry. # Type with constructor list acts like single import. # # > import qualified Data.Map as M # > ( empty # > , singleton # > , ... # > , delete # > ) # # Default: inline long_list_align: inline # List padding determines indentation of import list on lines after import. # This option affects 'list_align' and 'long_list_align'. list_padding: 4 # Separate lists option affects formatting of import list for type # or class. The only difference is single space between type and list # of constructors, selectors and class functions. # # - true: There is single space between Foldable type and list of it's # functions. # # > import Data.Foldable (Foldable (fold, foldl, foldMap)) # # - false: There is no space between Foldable type and list of it's # functions. # # > import Data.Foldable (Foldable(fold, foldl, foldMap)) # # Default: true separate_lists: true # Language pragmas - language_pragmas: # We can generate different styles of language pragma lists. # # - vertical: Vertical-spaced language pragmas, one per line. # # - compact: A more compact style. # # - compact_line: Similar to compact, but wrap each line with # `{-#LANGUAGE #-}'. # # Default: vertical. style: vertical # Align affects alignment of closing pragma brackets. # # - true: Brackets are aligned in same column. # # - false: Brackets are not aligned together. There is only one space # between actual import and closing bracket. # # Default: true align: true # stylish-haskell can detect redundancy of some language pragmas. If this # is set to true, it will remove those redundant pragmas. Default: true. remove_redundant: true # Replace tabs by spaces. This is disabled by default. # - tabs: # # Number of spaces to use for each tab. Default: 8, as specified by the # # Haskell report. # spaces: 8 # Remove trailing whitespace - trailing_whitespace: {} # A common setting is the number of columns (parts of) code will be wrapped # to. Different steps take this into account. Default: 80. columns: 80 # By default, line endings are converted according to the OS. You can override # preferred format here. # # - native: Native newline format. CRLF on Windows, LF on other OSes. # # - lf: Convert to LF ("\n"). # # - crlf: Convert to CRLF ("\r\n"). # # Default: native. newline: native # Sometimes, language extensions are specified in a cabal file or from the # command line instead of using language pragmas in the file. stylish-haskell # needs to be aware of these, so it can parse the file correctly. # # No language extensions are enabled by default. # language_extensions: # - TemplateHaskell # - QuasiQuotes pandoc-2.9.2.1/AUTHORS.md000066400000000000000000000105631363630463000146070ustar00rootroot00000000000000# Contributors - Anabra - Arata Mizuki - Arfon Smith - Aaron Wolen - Albert Krewinkel - Alex Ivkin - Alex Vong - Alexander Kondratskiy - Alexander Krotov - Alexander Sulfrian - Alexander V Vershilov - Alexandre Franke - Alfred Wechselberger - Amogh Rathore - Anders Waldenborg - Andreas Lööw - Andrew Dunning - Antoine Latter - Antonio Terceiro - Arata Mizuki - Arfon Smith - Arlo O'Keeffe - Artyom Kazak - Agustín Martín Barbero - B. Scott Michel - Ben Firshman - Ben Gamari - Ben Steinberg - Beni Cherniavsky-Paskin - Benoit Schweblin - Bjorn Buckwalter - Bradley Kuhn - Brent Yorgey - Brian Leung - Bryan O'Sullivan - Caleb McDaniel - Caleb Mclennan - Calvin Beck - Carlos Sosa - Chris Black - Christian Conkle - Christian Despres - Christoffer Ackelman - Christoffer Sawicki - Clare Macrae - Clint Adams - Conal Elliott - Cormac Relf - Craig S. Bosma - Damien Clochard - Daniel Bergey - Daniel Maslowski - Daniel T. Staal - Daniele D'Orazio - David A Roberts - David Lazar - David Röthlisberger - Denis Laxalde - Denis Maier - Derek Chen-Becker - Dmitry Pogodin - Douglas Calvert - Eigil Rischel - Emanuel Evans - Emily Eisenberg - Eric Kow - Eric Seidel - Eric Schrijver - Ethan Riley - Étienne Bersac - Felix Yan - Félix Baylac-Jacqué - Florian Beeres - Florian Eitel - Florian Klink - Francesco Occhipinti - François Gannaz - Frederik Elwert - Freiric Barral - Freirich Raabe - Frerich Raabe - Fyodor Sheremetyev - Gabor Pali - Gavin Beatty - Gottfried Haider - Greg Maslov - Greg Rundlett - Grégory Bataille - Gwern Branwen - Hamish Mackenzie - Hans-Peter Deifel - Heiko Schlittermann - Henrik Tramberend - Henry de Valence - Hubert Plociniczak - Ian Max Andolina - Igor Khorlo - Ilya V. Portnov - Ivan Trubach - Ivo Clarysse - Jared Lander - J. B. Rainsberger - J. Lewis Muir - Jaime Marquínez Ferrándiz - Jakob Voß - James Aspnes - Jamie F. Olson - Jan Larres - Jan Schulz - Jan-Otto Kröpke - Jason Ronallo - Jeff Arnold - Jeff Runningen - Jens Getreu - Jens Petersen - Jeroen de Haas - Jesse Rosenthal - Joe Hermaszewski - Joe Hillenbrand - John KetzerX - John MacFarlane - John Muccigrosso - John Luke Bentley - Jonas Smedegaard - Jonas Scholl - Jonathan Daugherty - Jose Luis Duran - José de Mattos Neto - Josef Svenningsson - Joseph C. Sible - Julien Cretel - Juliusz Gonera - Justin Bogner - Jérémy Bobbio - Karl Pettersson - Keiichiro Shikano - Kelsey Hightower - Kolen Cheung - Konstantin Zudov - Kristof Bastiaensen - Krystof Beuermann - Herwig Stuetz - Lars-Dominik Braun - Leif Metcalf - Luke Plant - Marc Schreiber - Mark Szepieniec - Mark Wright - Martin Linn - Masayoshi Takahashi - Matej Kollar - Mathias Schenner - Mathias Walter - Mathieu Duponchelle - Matthew Doty - Matthew Eddey - Matthew Pickering - Matthias C. M. Troffaes - Mauro Bieg - Max Bolingbroke - Max Rydahl Andersen - Merijn Verstraaten - Michael Beaumont - Michael Chladek - Michael Peyton Jones - Michael Snoyman - Michael Thompson - MinRK - Morton Fox - Nathan Gass - Neil Mayhew - Nick Bart - Nick Fleisher - Nicolas Kaiser - Nikolay Yakimov - Nils Carlson - Nokome Bentley - Ole Martin Ruud - Oliver Matthews - Ophir Lifshitz - Or Neeman - OvidiusCicero - Owen McGrath - Pablo Rodríguez - Pascal Wagler - Paul Tilley - Paul Rivier - Paulo Tanimoto - Pete Ryland - Peter Wang - Philip Pesca - Philippe Ombredanne - Phillip Alday - Prayag Verma - Puneeth Chaganti - Ralf Stephan - Raniere Silva - Raymond Ehlers - Recai Oktaş - Roland Hieber - RyanGlScott - Sascha Wilde - Scott Morrison - Sebastian Talmon - Sergei Trofimovich - Sergey Astanin - Shahbaz Youssefi - Shaun Attfield - Shim Myeongseob - Sidarth Kapur - Sidharth Kapur - Simon Hengel - Stefan Dresselhaus - Sumit Sahrawat - Tarik Graba - Thenaesh Elango - Thomas Hodgson - Thomas Weißschuh - Tim Lin - Timm Albers - Timothy Humphries - Tiziano Müller - Todd Sifleet - Tom Leese - Tristan Stenner - Uli Köhler - Urs Liska - Václav Zeman - Václav Haisman - Vanessa McHale - Vasily Alferov - Viktor Kronvall - Vincent - Wandmalfarbe - Waldir Pimenta - Wikiwide - Winnie Hellmann - Xavier Olive - Yan Pashkovsky - Yoan Blanc - Yuchen Pei - Zihang Chen - blmage - bucklereed - bumper314 - chinapedia - csforste - d-dorazio - ebiim - infinity0x - jeongminkim-islab - kaizshang91 - lux-lth - lwolfsonkin - nkalvi - niszet - oltolm - oquechy - quasicomputational - qerub - robabla - roblabla - rodja.trappe - rski - shreevatsa.public - takahashim - tgkokk - thsutton - vijayphoenix - wiefling pandoc-2.9.2.1/BUGS000066400000000000000000000002361363630463000136170ustar00rootroot00000000000000To view a list of known bugs, or to enter a bug report, please use Pandoc's issue tracker: . See also CONTRIBUTING.md. pandoc-2.9.2.1/CONTRIBUTING.md000066400000000000000000000351751363630463000153770ustar00rootroot00000000000000Contributing to pandoc ====================== Have a question? ---------------- Ask on [pandoc-discuss]. Found a bug? ------------ Bug reports are welcome! Please report all bugs on pandoc's github [issue tracker]. Before you submit a bug report, search the [open issues] *and* [closed issues] to make sure the issue hasn't come up before. Also, check the [User's Guide] and [FAQs] for anything relevant. Make sure you can reproduce the bug with the [latest released version] of pandoc (or, even better, the [development version]). Your report should give detailed, *reproducible* instructions, including * the pandoc version (check using `pandoc -v`) * the exact command line used * the exact input used * the output received * the output you expected instead A small test case (just a few lines) is ideal. If your input is large, try to whittle it down to a *minimum working example*. Out of scope? ------------- A less than perfect conversion does not necessarily mean there's a bug in pandoc. Quoting from the MANUAL: > Because pandoc's intermediate representation of a document is less > expressive than many of the formats it converts between, one should > not expect perfect conversions between every format and every other. > Pandoc attempts to preserve the structural elements of a document, but > not formatting details such as margin size. And some document elements, > such as complex tables, may not fit into pandoc's simple document > model. While conversions from pandoc's Markdown to all formats aspire > to be perfect, conversions from formats more expressive than pandoc's > Markdown can be expected to be lossy. For example, both `docx` and `odt` formats can represent margin size, but because pandoc's internal document model does not contain a representation of margin size, this information will be lost on converting from docx to `odt`. (You can, however, customize margin size using `--reference-doc`.) So before submitting a bug report, consider whether it might be "out of scope." If it concerns a feature of documents that isn't representable in pandoc's Markdown, then it very likely is. (If in doubt, you can always ask on [pandoc-discuss].) Fixing bugs from the issue tracker ---------------------------------- Almost all the bugs on the issue tracker have one or more associated tags. These are used to indicate the *complexity* and *nature* of a bug. There is not yet a way to indicate priority. An up to date summary of issues can be found on [GitHub labels]. * [good first issue] — The perfect starting point for new contributors. The issue is generic and can be resolved without deep knowledge of the code base. * [enhancement] — A feature which would be desirable. We recommend you discuss any proposed enhancement on pandoc-discuss before writing code. * [bug] — A problem which needs to be fixed. * [complexity:low] — The fix should only be a couple of lines. * [complexity:high] — The fix might require structural changes or in depth knowledge of the code base. * [new:reader] — A request to add a new input format. * [new:writer] — A request to add a new output format. * [docs] — A discrepancy, or ambiguity in the documentation. * [status:in-progress] — Someone is actively working on or planning to work on the ticket. * [status:more-discussion-needed] — It is unclear what the correct approach to solving the ticket is. Before starting on tickets such as this it would be advisable to post on the ticket. * [status:more-info-needed] — We require more information from a user before we can classify a report properly. Issues related to a specific format are tagged accordingly, e.g. feature request or bug reports related to Markdown are labelled with [format:markdown]. Have an idea for a new feature? ------------------------------- First, search [pandoc-discuss] and the issue tracker (both [open issues] *and* [closed issues]) to make sure that the idea has not been discussed before. Explain the rationale for the feature you're requesting. Why would this feature be useful? Consider also any possible drawbacks, including backwards compatibility, new library dependencies, and performance issues. It is best to discuss a potential new feature on [pandoc-discuss] before opening an issue. Patches and pull requests ------------------------- Patches and pull requests are welcome. Before you put time into a nontrivial patch, it is a good idea to discuss it on [pandoc-discuss], especially if it is for a new feature (rather than fixing a bug). Please follow these guidelines: 1. Each patch (commit) should make a single logical change (fix a bug, add a feature, clean up some code, add documentation). Everything related to that change should be included (including tests and documentation), and nothing unrelated should be included. 2. The first line of the commit message should be a short description of the whole commit (ideally <= 50 characters). Then there should be a blank line, followed by a more detailed description of the change. 3. Follow the stylistic conventions you find in the existing pandoc code. Use spaces, not tabs, and wrap code to 80 columns. Always include type signatures for top-level functions. Consider installing [EditorConfig], this will help you to follow the coding style prevalent in pandoc. 4. Your code should compile without warnings (`-Wall` clean). 5. Run the tests to make sure your code does not introduce new bugs. (See below under [Tests](#tests).) All tests should pass. 6. It is a good idea to add test cases for the bug you are fixing. (See below under [Tests](#tests).) If you are adding a new writer or reader, you must include tests. 7. If you are adding a new feature, include updates to `MANUAL.txt`. 8. All code must be released under the general license governing pandoc (GPL v2). 9. It is better not to introduce new dependencies. Dependencies on external C libraries should especially be avoided. 10. We aim for compatibility with ghc versions from 8.0 to the latest release. All pull requests and commits are tested automatically on CircleCI. Tests ----- Tests can be run as follows: cabal install --only-dependencies --enable-tests cabal configure --enable-tests cabal build cabal test or, if you're using [stack], stack setup stack test The test program is `test/test-pandoc.hs`. To run particular tests (pattern-matching on their names), use the `-p` option: cabal install pandoc --enable-tests cabal test --test-options='-p markdown' Or with stack: stack test --test-arguments='-p markdown' It is often helpful to add `-j4` (run tests in parallel) and `--hide-successes` (don't clutter output with successes) to the test arguments as well. If you add a new feature to pandoc, please add tests as well, following the pattern of the existing tests. The test suite code is in `test/test-pandoc.hs`. If you are adding a new reader or writer, it is probably easiest to add some data files to the `test` directory, and modify `test/Tests/Old.hs`. Otherwise, it is better to modify the module under the `test/Tests` hierarchy corresponding to the pandoc module you are changing. Alternatively, you may add a "command test" to the `/test/command/` hierarchy, following the pattern of the tests there. These test files should have a meaningful name, which can include the issue number and/or the feature that's being tested. For example, `5474-tables.md` refers to both issue and feature. You can rebuild the golden tests in `tests/` by passing `--accept` to the test script. (If you're using stack, `stack test --test-arguments "--accept"`; or `make TESTARGS=--accept`). Then check the changed golden files for accuracy, and commit the changes. For docx or pptx tests, open the files in Word or Powerpoint to ensure that they weren't corrupted and that they had the expected result, and mention the Word/Powerpoint version and OS in your commit comment. Benchmarks ---------- To run benchmarks with cabal: cabal configure --enable-benchmarks cabal build cabal bench With stack: stack bench You can also build `weigh-pandoc` (`stack build pandoc:weigh-pandoc`) to get some statistics on memory usage. (Eventually this should be incorporated into the benchmark suite.) Using the REPL -------------- With a recent version of cabal, you can do `cabal repl` and get a ghci REPL for working with pandoc. With [stack], use `stack ghci`. We recommend using the following `.ghci` file (which can be placed in the source directory): :set -fobject-code :set -XTypeSynonymInstances :set -XScopedTypeVariables :set -XOverloadedStrings Profiling --------- To diagnose a performance issue with parsing, first try using the `--trace` option. This will give you a record of when block parsers succeed, so you can spot backtracking issues. To use the GHC profiler with cabal: cabal clean cabal install --enable-library-profiling --enable-executable-profiling pandoc +RTS -p -RTS [file]... less pandoc.prof With stack: stack clean stack install --profile pandoc +RTS -p -RTS [file]... less pandoc.prof Templates --------- The default templates live in `data/templates`, which is a git subtree linked to . The purpose of maintaining a separate repository is to allow people to maintain variant templates as a fork. You can modify the templates and submit patches without worrying much about this: when these patches are merged, we will push them to the main templates repository by doing git subtree push --prefix=data/templates templates master where `templates` is a remote pointing to the templates repository. The code -------- Pandoc has a publicly accessible git repository on github: . To get a local copy of the source: git clone https://github.com/jgm/pandoc.git The source for the main pandoc program is `pandoc.hs`. The source for the pandoc library is in `src/`, the source for the tests is in `test/`, and the source for the benchmarks is in `benchmark/`. The modules `Text.Pandoc.Definition`, `Text.Pandoc.Builder`, and `Text.Pandoc.Generic` are in a separate library `pandoc-types`. The code can be found in . To build pandoc, you will need a working installation of the [Haskell platform]. The library is structured as follows: - `Text.Pandoc` is a top-level module that exports what is needed by most users of the library. Any patches that add new readers or writers will need to make changes here, too. - `Text.Pandoc.Definition` (in `pandoc-types`) defines the types used for representing a pandoc document. - `Text.Pandoc.Builder` (in `pandoc-types`) provides functions for building pandoc documents programmatically. - `Text.Pandoc.Generics` (in `pandoc-types`) provides functions allowing you to promote functions that operate on parts of pandoc documents to functions that operate on whole pandoc documents, walking the tree automatically. - `Text.Pandoc.Readers.*` are the readers, and `Text.Pandoc.Writers.*` are the writers. - `Text.Pandoc.Biblio` is a utility module for formatting citations using citeproc-hs. - `Text.Pandoc.Data` is used to embed data files when the `embed_data_files` cabal flag is used. It is generated from `src/Text/Pandoc/Data.hsb` using the preprocessor [hsb2hs]. - `Text.Pandoc.Highlighting` contains the interface to the skylighting library, which is used for code syntax highlighting. - `Text.Pandoc.ImageSize` is a utility module containing functions for calculating image sizes from the contents of image files. - `Text.Pandoc.MIME` contains functions for associating MIME types with extensions. - `Text.Pandoc.Options` defines reader and writer options. - `Text.Pandoc.PDF` contains functions for producing a PDF from a LaTeX source. - `Text.Pandoc.Parsing` contains parsing functions used in multiple readers. - `Text.Pandoc.Pretty` is a pretty-printing library specialized to the needs of pandoc. - `Text.Pandoc.SelfContained` contains functions for making an HTML file "self-contained," by importing remotely linked images, CSS, and JavaScript and turning them into `data:` URLs. - `Text.Pandoc.Shared` is a grab-bag of shared utility functions. - `Text.Pandoc.Writers.Shared` contains utilities used in writers only. - `Text.Pandoc.Slides` contains functions for splitting a markdown document into slides, using the conventions described in the MANUAL. - `Text.Pandoc.Templates` defines pandoc's templating system. - `Text.Pandoc.UTF8` contains functions for converting text to and from UTF8 bytestrings (strict and lazy). - `Text.Pandoc.Asciify` contains functions to derive ascii versions of identifiers that use accented characters. - `Text.Pandoc.UUID` contains functions for generating UUIDs. - `Text.Pandoc.XML` contains functions for formatting XML. Lua filters ----------- If you've written a useful pandoc [lua filter](lua-filters.html), you may want to consider submitting a pull request to the [lua-filters repository](https://github.com/pandoc/lua-filters). [open issues]: https://github.com/jgm/pandoc/issues [closed issues]: https://github.com/jgm/pandoc/issues?q=is%3Aissue+is%3Aclosed [latest released version]: https://github.com/jgm/pandoc/releases/latest [development version]: https://github.com/pandoc-extras/pandoc-nightly/releases/latest [pandoc-discuss]: http://groups.google.com/group/pandoc-discuss [issue tracker]: https://github.com/jgm/pandoc/issues [User's Guide]: http://pandoc.org/MANUAL.html [FAQs]: http://pandoc.org/faqs.html [EditorConfig]: http://editorconfig.org/ [Haskell platform]: http://www.haskell.org/platform/ [hsb2hs]: http://hackage.haskell.org/package/hsb2hs [GitHub labels]: https://github.com/jgm/pandoc/labels [good first issue]:https://github.com/jgm/pandoc/labels/good%20first%20issue [enhancement]: https://github.com/jgm/pandoc/labels/enhancement [bug]: https://github.com/jgm/pandoc/labels/bug [complexity:low]: https://github.com/jgm/pandoc/labels/complexity:low [complexity:high]: https://github.com/jgm/pandoc/labels/complexity:high [docs]: https://github.com/jgm/pandoc/labels/docs [format:markdown]: https://github.com/jgm/pandoc/labels/format:markdown [new:reader]: https://github.com/jgm/pandoc/labels/new:reader [new:writer]: https://github.com/jgm/pandoc/labels/new:writer [status:in-progress]: https://github.com/jgm/pandoc/labels/status:in-progress [status:more-discussion-needed]: https://github.com/jgm/pandoc/labels/status:more-discussion-needed [status:more-info-needed]: https://github.com/jgm/pandoc/labels/status:more-info-needed [stack]: https://github.com/commercialhaskell/stack pandoc-2.9.2.1/COPYING.md000066400000000000000000000427451363630463000146010ustar00rootroot00000000000000### GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. ### Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. ### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION **0.** This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. **1.** You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. **2.** You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: **a)** You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. **b)** You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. **c)** If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. **3.** You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: **a)** Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, **b)** Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, **c)** Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. **4.** You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. **5.** You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. **6.** Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. **7.** If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. **8.** If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. **9.** The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. **10.** If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. **NO WARRANTY** **11.** BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. **12.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ### END OF TERMS AND CONDITIONS ### How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. one line to give the program's name and an idea of what it does. Copyright (C) yyyy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands \`show w' and \`show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than \`show w' and \`show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the [GNU Lesser General Public License](http://www.gnu.org/licenses/lgpl.html) instead of this License.pandoc-2.9.2.1/COPYRIGHT000066400000000000000000000212131363630463000144250ustar00rootroot00000000000000Pandoc Copyright (C) 2006-2020 John MacFarlane With the exceptions noted below, this code is released under the [GPL], version 2 or later: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA The GNU General Public License is available in the file COPYING.md in the source distribution. On Debian systems, the complete text of the GPL can be found in `/usr/share/common-licenses/GPL`. [GPL]: http://www.gnu.org/copyleft/gpl.html Pandoc's complete source code is available from the [Pandoc home page]. [Pandoc home page]: http://pandoc.org Pandoc includes some code with different copyrights, or subject to different licenses. The copyright and license statements for these sources are included below. All are GPL-compatible licenses. ---------------------------------------------------------------------- The modules in the `pandoc-types` repository (Text.Pandoc.Definition, Text.Pandoc.Builder, Text.Pandoc.Generics, Text.Pandoc.JSON, Text.Pandoc.Walk) are licensed under the BSD 3-clause license: Copyright (c) 2006-2020, John MacFarlane All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of John MacFarlane nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ---------------------------------------------------------------------- Pandoc's templates (in `data/templates`) are dual-licensed as either GPL (v2 or higher, same as pandoc) or (at your option) the BSD 3-clause license. Copyright (c) 2014--2020, John MacFarlane ---------------------------------------------------------------------- src/Text/Pandoc/Writers/Muse.hs Copyright (C) 2017-2020 Alexander Krotov Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Writers/Texinfo.hs Copyright (C) 2008-2020 John MacFarlane and Peter Wang Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Writers/OpenDocument.hs Copyright (C) 2008-2020 Andrea Rossato and John MacFarlane Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Writers/Org.hs Copyright (C) 2010-2020 Puneeth Chaganti, John MacFarlane, and Albert Krewinkel Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Writers/ZimWiki.hs Copyright (C) 2017 Alex Ivkin Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Readers/Docx.hs src/Text/Pandoc/Readers/Docx/* Copyright (C) 2014-2020 Jesse Rosenthal Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Readers/Textile.hs Copyright (C) 2010-2020 Paul Rivier and John MacFarlane Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Readers/TikiWiki.hs Copyright (C) 2017 Robin Lee Powell Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Readers/JATS.hs Copyright (C) 2017-2018 Hamish Mackenzie Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Readers/EPUB.hs Copyright (C) 2014-2020 Matthew Pickering and John MacFarlane Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Readers/Org.hs src/Text/Pandoc/Readers/Org/* test/Tests/Readers/Org/* Copyright (C) 2014-2020 Albert Krewinkel Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Lua.hs src/Text/Pandoc/Lua/* test/lua/* Copyright (C) 2017--2020 Albert Krewinkel and John MacFarlane Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Readers/Jira.hs src/Text/Pandoc/Writers/Jira.hs test/Tests/Readers/Jira.hs Copyright (C) 2019--2020 Albert Krewinkel Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- src/Text/Pandoc/Readers/FB2.hs Copyright (C) 2018--2019 Alexander Krotov Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- data/pandoc.lua Copyright (C) 2017-2020 Albert Krewinkel Released under the GNU General Public License version 2 or later. ---------------------------------------------------------------------- The dzslides template contains JavaScript and CSS from Paul Rouget's dzslides template. http://github.com/paulrouget/dzslides Released under the Do What the Fuck You Want To Public License. ------------------------------------------------------------------------ Pandoc embeds a lua interpreter (via hslua). Copyright © 1994–2019 Lua.org, PUC-Rio. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------ The template pandoc.jats is Copyright 2013--2015 Martin Fenner, released under GPL version 2 or later. The file data/jats.csl is derived from a csl file by Martin Fenner, revised by Martin Paul Eve and then John MacFarlane. "This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Originally by Martin Fenner." pandoc-2.9.2.1/INSTALL.md000066400000000000000000000341501363630463000145660ustar00rootroot00000000000000# Installing pandoc The simplest way to get the latest pandoc release is to use the installer. Download the latest installer For alternative ways to install pandoc, see below under the heading for your operating system. ## Windows There is a package installer at pandoc's [download page]. This will install pandoc, replacing older versions, and update your path to include the directory where pandoc's binaries are installed. If you prefer not to use the msi installer, we also provide a zip file that contains pandoc's binaries and documentation. Simply unzip this file and move the binaries to a directory of your choice. Alternatively, you can install pandoc using [Chocolatey](https://chocolatey.org): choco install pandoc Chocolatey can also install other software that integrates with Pandoc. For example, to install `rsvg-convert` (from [librsvg], covering formats without SVG support), [Python] (to use Pandoc filters), and [MiKTeX] (to typeset PDFs with [LaTeX]): choco install rsvg-convert python miktex By default, Pandoc creates PDFs using LaTeX. We recommend installing it via [MiKTeX]. ## macOS There is a package installer at pandoc's [download page]. If you later want to uninstall the package, you can do so by downloading [this script][uninstaller] and running it with `perl uninstall-pandoc.pl`. Alternatively, you can install pandoc using [Homebrew](http://brew.sh): brew install pandoc To include pandoc's citation parser: brew install pandoc-citeproc Homebrew can also install other software that integrates with Pandoc. For example, to install [librsvg] (its `rsvg-convert` covers formats without SVG support), [Python] (to use Pandoc filters), and [BasicTeX] (to typeset PDFs with [LaTeX]): brew install librsvg python homebrew/cask/basictex Note: On unsupported versions of macOS (more than three releases old), Homebrew installs from source, which takes additional time and disk space for the `ghc` compiler and dependent Haskell libraries. We also provide a zip file containing the binaries and man pages, for those who prefer not to use the installer. Simply unzip the file and move the binaries and man pages to whatever directory you like. By default, Pandoc creates PDFs using LaTeX. Because a full [MacTeX] installation uses four gigabytes of disk space, we recommend [BasicTeX] or [TinyTeX](https://yihui.name/tinytex/) and using the `tlmgr` tool to install additional packages as needed. If you receive errors warning of fonts not found: tlmgr install collection-fontsrecommended ## Linux Check whether the pandoc version in your package manager is not outdated. Pandoc is in the [Debian], [Ubuntu], [Slackware], [Arch], [Fedora], [NiXOS], [openSUSE], [gentoo] and [Void] repositories. To get the latest release, we provide a binary package for amd64 architecture on the **[download page]**. This provides both `pandoc` and `pandoc-citeproc`. The executables are statically linked and have no dynamic dependencies or dependencies on external data files. Note: because of the static linking, the pandoc binary from this package cannot use lua filters that require external lua modules written in C. Both a tarball and a deb installer are provided. To install the deb: sudo dpkg -i $DEB where `$DEB` is the path to the downloaded deb. This will install the `pandoc` and `pandoc-citeproc` executables and man pages. If you use an RPM-based distro, you may be able to install the deb from our download page using `alien`. On any distro, you may install from the tarball into `$DEST` (say, `/usr/local/` or `$HOME/.local`) by doing tar xvzf $TGZ --strip-components 1 -C $DEST where `$TGZ` is the path to the downloaded zipped tarball. For Pandoc versions before 2.0, which don't provide a tarball, try instead ar p $DEB data.tar.gz | tar xvz --strip-components 2 -C $DEST You can also install from source, using the instructions below under [Compiling from source]. Note that most distros have the Haskell platform in their package repositories. For example, on Debian/Ubuntu, you can install it with `apt-get install haskell-platform`. For PDF output, you'll need LaTeX. We recommend installing [TeX Live](http://www.tug.org/texlive/) via your package manager. (On Debian/Ubuntu, `apt-get install texlive`.) ## Chrome OS On Chrome OS, pandoc can be installed using the [chromebrew](https://github.com/skycocker/chromebrew) package manager with the command: ```sh crew install pandoc ``` This will automatically build and configure pandoc for the specific device you are using. ## BSD Pandoc is in the [NetBSD] and [FreeBSD ports] repositories. ## Docker The official Docker images for pandoc can be found at and at [dockerhub](https://hub.docker.com/). The [pandoc/core](https://hub.docker.com/r/pandoc/core) image contains `pandoc` and `pandoc-citeproc`. The [pandoc/latex](https://hub.docker.com/r/pandoc/latex) image also contains the minimal LaTeX installation needed to produce PDFs using pandoc. To run pandoc using Docker, converting `README.md` to `README.pdf`: docker run --rm --volume "`pwd`:/data" --user `id -u`:`id -g` pandoc/latex README.md -o README.pdf ## GitHub Actions Pandoc can be run through [GitHub Actions](https://github.com/features/actions). For some examples, see . ## Compiling from source If for some reason a binary package is not available for your platform, or if you want to hack on pandoc or use a non-released version, you can install from source. ### Getting the pandoc source code Source tarballs can be found at . For example, to fetch the source for version 1.17.0.3: wget https://hackage.haskell.org/package/pandoc-1.17.0.3/pandoc-1.17.0.3.tar.gz tar xvzf pandoc-1.17.0.3.tar.gz cd pandoc-1.17.0.3 Or you can fetch the development code by cloning the repository: git clone https://github.com/jgm/pandoc cd pandoc Note: there may be times when the development code is broken or depends on other libraries which must be installed separately. Unless you really know what you're doing, install the last released version. ### Quick stack method The easiest way to build pandoc from source is to use [stack][stack]: 1. Install [stack][stack]. Note that Pandoc requires stack >= 1.7.0. 2. Change to the pandoc source directory and issue the following commands: stack setup stack install `stack setup` will automatically download the ghc compiler if you don't have it. `stack install` will install the `pandoc` executable into `~/.local/bin`, which you should add to your `PATH`. This process will take a while, and will consume a considerable amount of disk space. ### Quick cabal method 1. Install the [Haskell platform]. This will give you [GHC] and the [cabal-install] build tool. Note that pandoc requires GHC >= 7.10 and cabal >= 2.0. 2. Update your package database: cabal update 3. Check your cabal version with cabal --version If you have a version less than 2.0, install the latest with: cabal install cabal-install 4. Use `cabal` to install pandoc and its dependencies: cabal install pandoc This procedure will install the released version of pandoc, which will be downloaded automatically from HackageDB. If you want to install a modified or development version of pandoc instead, switch to the source directory and do as above, but without the 'pandoc': cabal install 5. Make sure the `$CABALDIR/bin` directory is in your path. You should now be able to run `pandoc`: pandoc --help [Not sure where `$CABALDIR` is?](http://www.haskell.org/haskellwiki/Cabal-Install#The_cabal-install_configuration_file) 5. If you want to process citations with pandoc, you will also need to install a separate package, `pandoc-citeproc`. This can be installed using cabal: cabal install pandoc-citeproc By default `pandoc-citeproc` uses the "i;unicode-casemap" method to sort bibliography entries (RFC 5051). If you would like to use the locale-sensitive unicode collation algorithm instead, specify the `unicode_collation` flag: cabal install pandoc-citeproc -funicode_collation Note that this requires the `text-icu` library, which in turn depends on the C library `icu4c`. Installation directions vary by platform. Here is how it might work on macOS with Homebrew: brew install icu4c stack install pandoc-citeproc \ --flag "pandoc-citeproc:unicode_collation" \ --extra-lib-dirs=/usr/local/opt/icu4c/lib \ --extra-include-dirs=/usr/local/opt/icu4c/include 6. The `pandoc.1` man page will be installed automatically. cabal shows you where it is installed: you may need to set your `MANPATH` accordingly. If `MANUAL.txt` has been modified, the man page can be rebuilt: `make man/pandoc.1`. The `pandoc-citeproc.1` man page will also be installed automatically. ### Custom cabal method This is a step-by-step procedure that offers maximal control over the build and installation. Most users should use the quick install, but this information may be of use to packagers. For more details, see the [Cabal User's Guide]. These instructions assume that the pandoc source directory is your working directory. You will need cabal version 2.0 or higher. 1. Install dependencies: in addition to the [Haskell platform], you will need a number of additional libraries. You can install them all with cabal update cabal install --only-dependencies 2. Configure: cabal configure --prefix=DIR --bindir=DIR --libdir=DIR \ --datadir=DIR --libsubdir=DIR --datasubdir=DIR --docdir=DIR \ --htmldir=DIR --program-prefix=PREFIX --program-suffix=SUFFIX \ --mandir=DIR --flags=FLAGSPEC --enable-tests All of the options have sensible defaults that can be overridden as needed. `FLAGSPEC` is a list of Cabal configuration flags, optionally preceded by a `-` (to force the flag to `false`), and separated by spaces. Pandoc's flags include: - `embed_data_files`: embed all data files into the binary (default no). This is helpful if you want to create a relocatable binary. - `https`: enable support for downloading resources over https (using the `http-client` and `http-client-tls` libraries). 3. Build: cabal build cabal test 4. Build API documentation: cabal haddock --html-location=URL --hyperlink-source 5. Copy the files: cabal copy --destdir=PATH The default destdir is `/`. 6. Register pandoc as a GHC package: cabal register Package managers may want to use the `--gen-script` option to generate a script that can be run to register the package at install time. ### Creating a relocatable binary It is possible to compile pandoc such that the data files pandoc uses are embedded in the binary. The resulting binary can be run from any directory and is completely self-contained. With cabal, add `-fembed_data_files` to the `cabal configure` or `cabal install` commands. With stack, use `--flag pandoc:embed_data_files`. ### Running tests Pandoc comes with an automated test suite. To run with cabal, `cabal test`; to run with stack, `stack test`. To run particular tests (pattern-matching on their names), use the `-p` option: cabal install pandoc --enable-tests cabal test --test-options='-p markdown' Or with stack: stack test --test-arguments='-p markdown' It is often helpful to add `-j4` (run tests in parallel) and `--hide-successes` (don't clutter output with successes) to the test arguments as well. If you add a new feature to pandoc, please add tests as well, following the pattern of the existing tests. The test suite code is in `test/test-pandoc.hs`. If you are adding a new reader or writer, it is probably easiest to add some data files to the `test` directory, and modify `test/Tests/Old.hs`. Otherwise, it is better to modify the module under the `test/Tests` hierarchy corresponding to the pandoc module you are changing. ### Running benchmarks To build and run the benchmarks: cabal configure --enable-benchmarks && cabal build cabal bench or with stack: stack bench To use a smaller sample size so the benchmarks run faster: cabal bench --benchmark-options='-s 20' To run just the markdown benchmarks: cabal bench --benchmark-options='markdown' [Arch]: https://www.archlinux.org/packages/community/x86_64/pandoc/ [Cabal User's Guide]: http://www.haskell.org/cabal/release/latest/doc/users-guide/builders.html#setup-configure-paths [Debian]: https://packages.debian.org/pandoc [Fedora]: https://apps.fedoraproject.org/packages/pandoc [FreeBSD ports]: http://www.freshports.org/textproc/pandoc/ [GHC]: http://www.haskell.org/ghc/ [GPL]: http://www.gnu.org/copyleft/gpl.html [Haskell platform]: http://hackage.haskell.org/platform/ [MacPorts]: http://trac.macports.org/browser/trunk/dports/textproc/pandoc/Portfile [MacTeX]: https://tug.org/mactex/ [BasicTeX]: http://www.tug.org/mactex/morepackages.html [LaTeX]: https://www.latex-project.org [MiKTeX]: http://miktex.org/ [librsvg]: https://wiki.gnome.org/Projects/LibRsvg [Python]: https://www.python.org [NetBSD]: http://pkgsrc.se/wip/pandoc [NixOS]: https://nixos.org/nixos/packages.html [Slackware]: https://www.slackbuilds.org/result/?search=pandoc&sv= [Ubuntu]: https://packages.ubuntu.com/pandoc [download page]: https://github.com/jgm/pandoc/releases/latest [gentoo]: http://packages.gentoo.org/package/app-text/pandoc [haskell repository]: https://wiki.archlinux.org/index.php/Haskell_Package_Guidelines#.5Bhaskell.5D [openSUSE]: https://software.opensuse.org/package/pandoc [source tarball]: http://hackage.haskell.org/package/pandoc [stack]: https://docs.haskellstack.org/en/stable/install_and_upgrade.html [cabal-install]: http://hackage.haskell.org/package/cabal-install [Void]: https://voidlinux.org/ [uninstaller]: https://raw.githubusercontent.com/jgm/pandoc/master/macos/uninstall-pandoc.pl pandoc-2.9.2.1/MANUAL.txt000066400000000000000000006115301363630463000146570ustar00rootroot00000000000000--- title: Pandoc User's Guide author: John MacFarlane date: March 23, 2020 --- # Synopsis `pandoc` [*options*] [*input-file*]... # Description Pandoc is a [Haskell] library for converting from one markup format to another, and a command-line tool that uses this library. Pandoc can convert between numerous markup and word processing formats, including, but not limited to, various flavors of [Markdown], [HTML], [LaTeX] and [Word docx]. For the full lists of input and output formats, see the `--from` and `--to` [options below][General options]. Pandoc can also produce [PDF] output: see [creating a PDF], below. Pandoc's enhanced version of Markdown includes syntax for [tables], [definition lists], [metadata blocks], [footnotes], [citations], [math], and much more. See below under [Pandoc's Markdown]. Pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document (an _abstract syntax tree_ or AST), and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer. Users can also run custom [pandoc filters] to modify the intermediate AST. Because pandoc's intermediate representation of a document is less expressive than many of the formats it converts between, one should not expect perfect conversions between every format and every other. Pandoc attempts to preserve the structural elements of a document, but not formatting details such as margin size. And some document elements, such as complex tables, may not fit into pandoc's simple document model. While conversions from pandoc's Markdown to all formats aspire to be perfect, conversions from formats more expressive than pandoc's Markdown can be expected to be lossy. ## Using pandoc If no *input-files* are specified, input is read from *stdin*. Output goes to *stdout* by default. For output to a file, use the `-o` option: pandoc -o output.html input.txt By default, pandoc produces a document fragment. To produce a standalone document (e.g. a valid HTML file including `` and ``), use the `-s` or `--standalone` flag: pandoc -s -o output.html input.txt For more information on how standalone documents are produced, see [Templates] below. If multiple input files are given, `pandoc` will concatenate them all (with blank lines between them) before parsing. (Use `--file-scope` to parse files individually.) ## Specifying formats The format of the input and output can be specified explicitly using command-line options. The input format can be specified using the `-f/--from` option, the output format using the `-t/--to` option. Thus, to convert `hello.txt` from Markdown to LaTeX, you could type: pandoc -f markdown -t latex hello.txt To convert `hello.html` from HTML to Markdown: pandoc -f html -t markdown hello.html Supported input and output formats are listed below under [Options] (see `-f` for input formats and `-t` for output formats). You can also use `pandoc --list-input-formats` and `pandoc --list-output-formats` to print lists of supported formats. If the input or output format is not specified explicitly, `pandoc` will attempt to guess it from the extensions of the filenames. Thus, for example, pandoc -o hello.tex hello.txt will convert `hello.txt` from Markdown to LaTeX. If no output file is specified (so that output goes to *stdout*), or if the output file's extension is unknown, the output format will default to HTML. If no input file is specified (so that input comes from *stdin*), or if the input files' extensions are unknown, the input format will be assumed to be Markdown. ## Character encoding Pandoc uses the UTF-8 character encoding for both input and output. If your local character encoding is not UTF-8, you should pipe input and output through [`iconv`]: iconv -t utf-8 input.txt | pandoc | iconv -f utf-8 Note that in some output formats (such as HTML, LaTeX, ConTeXt, RTF, OPML, DocBook, and Texinfo), information about the character encoding is included in the document header, which will only be included if you use the `-s/--standalone` option. [`iconv`]: https://www.gnu.org/software/libiconv/ ## Creating a PDF To produce a PDF, specify an output file with a `.pdf` extension: pandoc test.txt -o test.pdf By default, pandoc will use LaTeX to create the PDF, which requires that a LaTeX engine be installed (see `--pdf-engine` below). Alternatively, pandoc can use ConTeXt, roff ms, or HTML as an intermediate format. To do this, specify an output file with a `.pdf` extension, as before, but add the `--pdf-engine` option or `-t context`, `-t html`, or `-t ms` to the command line. The tool used to generate the PDF from the intermediate format may be specified using `--pdf-engine`. You can control the PDF style using variables, depending on the intermediate format used: see [variables for LaTeX], [variables for ConTeXt], [variables for `wkhtmltopdf`], [variables for ms]. When HTML is used as an intermediate format, the output can be styled using `--css`. To debug the PDF creation, it can be useful to look at the intermediate representation: instead of `-o test.pdf`, use for example `-s -o test.tex` to output the generated LaTeX. You can then test it with `pdflatex test.tex`. When using LaTeX, the following packages need to be available (they are included with all recent versions of [TeX Live]): [`amsfonts`], [`amsmath`], [`lm`], [`unicode-math`], [`ifxetex`], [`ifluatex`], [`listings`] (if the `--listings` option is used), [`fancyvrb`], [`longtable`], [`booktabs`], [`graphicx`] (if the document contains images), [`hyperref`], [`xcolor`], [`ulem`], [`geometry`] (with the `geometry` variable set), [`setspace`] (with `linestretch`), and [`babel`] (with `lang`). The use of `xelatex` or `lualatex` as the PDF engine requires [`fontspec`]. `xelatex` uses [`polyglossia`] (with `lang`), [`xecjk`], and [`bidi`] (with the `dir` variable set). If the `mathspec` variable is set, `xelatex` will use [`mathspec`] instead of [`unicode-math`]. The [`upquote`] and [`microtype`] packages are used if available, and [`csquotes`] will be used for [typography] if the `csquotes` variable or metadata field is set to a true value. The [`natbib`], [`biblatex`], [`bibtex`], and [`biber`] packages can optionally be used for [citation rendering]. The following packages will be used to improve output quality if present, but pandoc does not require them to be present: [`upquote`] (for straight quotes in verbatim environments), [`microtype`] (for better spacing adjustments), [`parskip`] (for better inter-paragraph spaces), [`xurl`] (for better line breaks in URLs), [`bookmark`] (for better PDF bookmarks), and [`footnotehyper`] or [`footnote`] (to allow footnotes in tables). [TeX Live]: https://www.tug.org/texlive/ [`amsfonts`]: https://ctan.org/pkg/amsfonts [`amsmath`]: https://ctan.org/pkg/amsmath [`babel`]: https://ctan.org/pkg/babel [`biber`]: https://ctan.org/pkg/biber [`biblatex`]: https://ctan.org/pkg/biblatex [`bibtex`]: https://ctan.org/pkg/bibtex [`bidi`]: https://ctan.org/pkg/bidi [`bookmark`]: https://ctan.org/pkg/bookmark [`booktabs`]: https://ctan.org/pkg/booktabs [`csquotes`]: https://ctan.org/pkg/csquotes [`fancyvrb`]: https://ctan.org/pkg/fancyvrb [`fontspec`]: https://ctan.org/pkg/fontspec [`footnote`]: https://ctan.org/pkg/footnote [`footnotehyper`]: https://ctan.org/pkg/footnotehyper [`geometry`]: https://ctan.org/pkg/geometry [`graphicx`]: https://ctan.org/pkg/graphicx [`grffile`]: https://ctan.org/pkg/grffile [`hyperref`]: https://ctan.org/pkg/hyperref [`ifluatex`]: https://ctan.org/pkg/ifluatex [`ifxetex`]: https://ctan.org/pkg/ifxetex [`listings`]: https://ctan.org/pkg/listings [`lm`]: https://ctan.org/pkg/lm [`longtable`]: https://ctan.org/pkg/longtable [`mathspec`]: https://ctan.org/pkg/mathspec [`microtype`]: https://ctan.org/pkg/microtype [`natbib`]: https://ctan.org/pkg/natbib [`parskip`]: https://ctan.org/pkg/parskip [`polyglossia`]: https://ctan.org/pkg/polyglossia [`prince`]: https://www.princexml.com/ [`setspace`]: https://ctan.org/pkg/setspace [`ulem`]: https://ctan.org/pkg/ulem [`unicode-math`]: https://ctan.org/pkg/unicode-math [`upquote`]: https://ctan.org/pkg/upquote [`weasyprint`]: https://weasyprint.org [`wkhtmltopdf`]: https://wkhtmltopdf.org [`xcolor`]: https://ctan.org/pkg/xcolor [`xecjk`]: https://ctan.org/pkg/xecjk [`xurl`]: https://ctan.org/pkg/xurl ## Reading from the Web Instead of an input file, an absolute URI may be given. In this case pandoc will fetch the content using HTTP: pandoc -f html -t markdown https://www.fsf.org It is possible to supply a custom User-Agent string or other header when requesting a document from a URL: pandoc -f html -t markdown --request-header User-Agent:"Mozilla/5.0" \ https://www.fsf.org # Options ## General options {.options} `-f` *FORMAT*, `-r` *FORMAT*, `--from=`*FORMAT*, `--read=`*FORMAT* : Specify input format. *FORMAT* can be: ::: {#input-formats} - `commonmark` ([CommonMark] Markdown) - `creole` ([Creole 1.0]) - `csv` ([CSV] table) - `docbook` ([DocBook]) - `docx` ([Word docx]) - `dokuwiki` ([DokuWiki markup]) - `epub` ([EPUB]) - `fb2` ([FictionBook2] e-book) - `gfm` ([GitHub-Flavored Markdown]), or the deprecated and less accurate `markdown_github`; use [`markdown_github`](#markdown-variants) only if you need extensions not supported in [`gfm`](#markdown-variants). - `haddock` ([Haddock markup]) - `html` ([HTML]) - `ipynb` ([Jupyter notebook]) - `jats` ([JATS] XML) - `jira` ([Jira] wiki markup) - `json` (JSON version of native AST) - `latex` ([LaTeX]) - `markdown` ([Pandoc's Markdown]) - `markdown_mmd` ([MultiMarkdown]) - `markdown_phpextra` ([PHP Markdown Extra]) - `markdown_strict` (original unextended [Markdown]) - `mediawiki` ([MediaWiki markup]) - `man` ([roff man]) - `muse` ([Muse]) - `native` (native Haskell) - `odt` ([ODT]) - `opml` ([OPML]) - `org` ([Emacs Org mode]) - `rst` ([reStructuredText]) - `t2t` ([txt2tags]) - `textile` ([Textile]) - `tikiwiki` ([TikiWiki markup]) - `twiki` ([TWiki markup]) - `vimwiki` ([Vimwiki]) ::: Extensions can be individually enabled or disabled by appending `+EXTENSION` or `-EXTENSION` to the format name. See [Extensions] below, for a list of extensions and their names. See `--list-input-formats` and `--list-extensions`, below. `-t` *FORMAT*, `-w` *FORMAT*, `--to=`*FORMAT*, `--write=`*FORMAT* : Specify output format. *FORMAT* can be: ::: {#output-formats} - `asciidoc` ([AsciiDoc]) or `asciidoctor` ([AsciiDoctor]) - `beamer` ([LaTeX beamer][`beamer`] slide show) - `commonmark` ([CommonMark] Markdown) - `context` ([ConTeXt]) - `docbook` or `docbook4` ([DocBook] 4) - `docbook5` (DocBook 5) - `docx` ([Word docx]) - `dokuwiki` ([DokuWiki markup]) - `epub` or `epub3` ([EPUB] v3 book) - `epub2` (EPUB v2) - `fb2` ([FictionBook2] e-book) - `gfm` ([GitHub-Flavored Markdown]), or the deprecated and less accurate `markdown_github`; use [`markdown_github`](#markdown-variants) only if you need extensions not supported in [`gfm`](#markdown-variants). - `haddock` ([Haddock markup]) - `html` or `html5` ([HTML], i.e. [HTML5]/XHTML [polyglot markup]) - `html4` ([XHTML] 1.0 Transitional) - `icml` ([InDesign ICML]) - `ipynb` ([Jupyter notebook]) - `jats_archiving` ([JATS] XML, Archiving and Interchange Tag Set) - `jats_articleauthoring` ([JATS] XML, Article Authoring Tag Set) - `jats_publishing` ([JATS] XML, Journal Publishing Tag Set) - `jats` (alias for `jats_archiving`) - `jira` ([Jira] wiki markup) - `json` (JSON version of native AST) - `latex` ([LaTeX]) - `man` ([roff man]) - `markdown` ([Pandoc's Markdown]) - `markdown_mmd` ([MultiMarkdown]) - `markdown_phpextra` ([PHP Markdown Extra]) - `markdown_strict` (original unextended [Markdown]) - `mediawiki` ([MediaWiki markup]) - `ms` ([roff ms]) - `muse` ([Muse]), - `native` (native Haskell), - `odt` ([OpenOffice text document][ODT]) - `opml` ([OPML]) - `opendocument` ([OpenDocument]) - `org` ([Emacs Org mode]) - `pdf` ([PDF]) - `plain` (plain text), - `pptx` ([PowerPoint] slide show) - `rst` ([reStructuredText]) - `rtf` ([Rich Text Format]) - `texinfo` ([GNU Texinfo]) - `textile` ([Textile]) - `slideous` ([Slideous] HTML and JavaScript slide show) - `slidy` ([Slidy] HTML and JavaScript slide show) - `dzslides` ([DZSlides] HTML5 + JavaScript slide show), - `revealjs` ([reveal.js] HTML5 + JavaScript slide show) - `s5` ([S5] HTML and JavaScript slide show) - `tei` ([TEI Simple]) - `xwiki` ([XWiki markup]) - `zimwiki` ([ZimWiki markup]) - the path of a custom Lua writer, see [Custom writers] below ::: Note that `odt`, `docx`, `epub`, and `pdf` output will not be directed to *stdout* unless forced with `-o -`. Extensions can be individually enabled or disabled by appending `+EXTENSION` or `-EXTENSION` to the format name. See [Extensions] below, for a list of extensions and their names. See `--list-output-formats` and `--list-extensions`, below. `-o` *FILE*, `--output=`*FILE* : Write output to *FILE* instead of *stdout*. If *FILE* is `-`, output will go to *stdout*, even if a non-textual format (`docx`, `odt`, `epub2`, `epub3`) is specified. `--data-dir=`*DIRECTORY* : Specify the user data directory to search for pandoc data files. If this option is not specified, the default user data directory will be used. On \*nix and macOS systems this will be the `pandoc` subdirectory of the XDG data directory (by default, `$HOME/.local/share`, overridable by setting the `XDG_DATA_HOME` environment variable). If that directory does not exist, `$HOME/.pandoc` will be used (for backwards compatibility). In Windows the default user data directory is `C:\Users\USERNAME\AppData\Roaming\pandoc`. You can find the default user data directory on your system by looking at the output of `pandoc --version`. A `reference.odt`, `reference.docx`, `epub.css`, `templates`, `slidy`, `slideous`, or `s5` directory placed in this directory will override pandoc's normal defaults. `-d` *FILE*, `--defaults=`*FILE* : Specify a set of default option settings. *FILE* is a YAML file whose fields correspond to command-line option settings. All options for document conversion, including input and output files, can be set using a defaults file. The file will be searched for first in the working directory, and then in the `defaults` subdirectory of the user data directory (see `--data-dir`). The `.yaml` extension may be omitted. See the section [Default files] for more information on the file format. Settings from the defaults file may be overridden or extended by subsequent options on the command line. `--bash-completion` : Generate a bash completion script. To enable bash completion with pandoc, add this to your `.bashrc`: eval "$(pandoc --bash-completion)" `--verbose` : Give verbose debugging output. Currently this only has an effect with PDF output. `--quiet` : Suppress warning messages. `--fail-if-warnings` : Exit with error status if there are any warnings. `--log=`*FILE* : Write log messages in machine-readable JSON format to *FILE*. All messages above DEBUG level will be written, regardless of verbosity settings (`--verbose`, `--quiet`). `--list-input-formats` : List supported input formats, one per line. `--list-output-formats` : List supported output formats, one per line. `--list-extensions`[`=`*FORMAT*] : List supported extensions for *FORMAT*, one per line, preceded by a `+` or `-` indicating whether it is enabled by default in *FORMAT*. If *FORMAT* is not specified, defaults for pandoc's Markdown are given. `--list-highlight-languages` : List supported languages for syntax highlighting, one per line. `--list-highlight-styles` : List supported styles for syntax highlighting, one per line. See `--highlight-style`. `-v`, `--version` : Print version. `-h`, `--help` : Show usage message. [Markdown]: https://daringfireball.net/projects/markdown/ [CommonMark]: https://commonmark.org [PHP Markdown Extra]: https://michelf.ca/projects/php-markdown/extra/ [GitHub-Flavored Markdown]: https://help.github.com/articles/github-flavored-markdown/ [MultiMarkdown]: https://fletcherpenney.net/multimarkdown/ [reStructuredText]: https://docutils.sourceforge.io/docs/ref/rst/introduction.html [S5]: https://meyerweb.com/eric/tools/s5/ [Slidy]: https://www.w3.org/Talks/Tools/Slidy2/ [Slideous]: https://goessner.net/articles/slideous/ [HTML]: https://www.w3.org/html/ [HTML5]: https://html.spec.whatwg.org/ [polyglot markup]: https://www.w3.org/TR/html-polyglot/ [XHTML]: https://www.w3.org/TR/xhtml1/ [LaTeX]: https://www.latex-project.org/ [`beamer`]: https://ctan.org/pkg/beamer [Beamer User's Guide]: http://mirrors.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf [ConTeXt]: https://www.contextgarden.net/ [Rich Text Format]: https://en.wikipedia.org/wiki/Rich_Text_Format [DocBook]: https://docbook.org [JATS]: https://jats.nlm.nih.gov [Jira]: https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all [txt2tags]: https://txt2tags.org [EPUB]: http://idpf.org/epub [OPML]: http://dev.opml.org/spec2.html [OpenDocument]: http://opendocument.xml.org [ODT]: https://en.wikipedia.org/wiki/OpenDocument [Textile]: https://www.promptworks.com/textile [MediaWiki markup]: https://www.mediawiki.org/wiki/Help:Formatting [DokuWiki markup]: https://www.dokuwiki.org/dokuwiki [ZimWiki markup]: https://zim-wiki.org/manual/Help/Wiki_Syntax.html [XWiki markup]: https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/XWikiSyntax/ [TWiki markup]: https://twiki.org/cgi-bin/view/TWiki/TextFormattingRules [TikiWiki markup]: https://doc.tiki.org/Wiki-Syntax-Text#The_Markup_Language_Wiki-Syntax [Haddock markup]: https://www.haskell.org/haddock/doc/html/ch03s08.html [Creole 1.0]: http://www.wikicreole.org/wiki/Creole1.0 [CSV]: https://tools.ietf.org/html/rfc4180 [roff man]: https://man.cx/groff_man(7) [roff ms]: https://man.cx/groff_ms(7) [Haskell]: https://www.haskell.org [GNU Texinfo]: https://www.gnu.org/software/texinfo/ [Emacs Org mode]: https://orgmode.org [AsciiDoc]: https://www.methods.co.nz/asciidoc/ [AsciiDoctor]: https://asciidoctor.org/ [DZSlides]: http://paulrouget.com/dzslides/ [Word docx]: https://en.wikipedia.org/wiki/Office_Open_XML [PDF]: https://www.adobe.com/pdf/ [reveal.js]: https://revealjs.com/ [FictionBook2]: http://www.fictionbook.org/index.php/Eng:XML_Schema_Fictionbook_2.1 [Jupyter notebook]: https://nbformat.readthedocs.io/en/latest/ [InDesign ICML]: https://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/indesign/sdk/cs6/idml/idml-cookbook.pdf [TEI Simple]: https://github.com/TEIC/TEI-Simple [Muse]: https://amusewiki.org/library/manual [PowerPoint]: https://en.wikipedia.org/wiki/Microsoft_PowerPoint [Vimwiki]: https://vimwiki.github.io ## Reader options {.options} `--shift-heading-level-by=`*NUMBER* : Shift heading levels by a positive or negative integer. For example, with `--shift-heading-level-by=-1`, level 2 headings become level 1 headings, and level 3 headings become level 2 headings. Headings cannot have a level less than 1, so a heading that would be shifted below level 1 becomes a regular paragraph. Exception: with a shift of -N, a level-N heading at the beginning of the document replaces the metadata title. `--shift-heading-level-by=-1` is a good choice when converting HTML or Markdown documents that use an initial level-1 heading for the document title and level-2+ headings for sections. `--shift-heading-level-by=1` may be a good choice for converting Markdown documents that use level-1 headings for sections to HTML, since pandoc uses a level-1 heading to render the document title. `--base-header-level=`*NUMBER* : *Deprecated. Use `--shift-heading-level-by`=X instead, where X = NUMBER - 1.* Specify the base level for headings (defaults to 1). `--strip-empty-paragraphs` : *Deprecated. Use the `+empty_paragraphs` extension instead.* Ignore paragraphs with no content. This option is useful for converting word processing documents where users have used empty paragraphs to create inter-paragraph space. `--indented-code-classes=`*CLASSES* : Specify classes to use for indented code blocks--for example, `perl,numberLines` or `haskell`. Multiple classes may be separated by spaces or commas. `--default-image-extension=`*EXTENSION* : Specify a default extension to use when image paths/URLs have no extension. This allows you to use the same source for formats that require different kinds of images. Currently this option only affects the Markdown and LaTeX readers. `--file-scope` : Parse each file individually before combining for multifile documents. This will allow footnotes in different files with the same identifiers to work as expected. If this option is set, footnotes and links will not work across files. Reading binary files (docx, odt, epub) implies `--file-scope`. `-F` *PROGRAM*, `--filter=`*PROGRAM* : Specify an executable to be used as a filter transforming the pandoc AST after the input is parsed and before the output is written. The executable should read JSON from stdin and write JSON to stdout. The JSON must be formatted like pandoc's own JSON input and output. The name of the output format will be passed to the filter as the first argument. Hence, pandoc --filter ./caps.py -t latex is equivalent to pandoc -t json | ./caps.py latex | pandoc -f json -t latex The latter form may be useful for debugging filters. Filters may be written in any language. `Text.Pandoc.JSON` exports `toJSONFilter` to facilitate writing filters in Haskell. Those who would prefer to write filters in python can use the module [`pandocfilters`], installable from PyPI. There are also pandoc filter libraries in [PHP], [perl], and [JavaScript/node.js]. In order of preference, pandoc will look for filters in 1. a specified full or relative path (executable or non-executable) 2. `$DATADIR/filters` (executable or non-executable) where `$DATADIR` is the user data directory (see `--data-dir`, above). 3. `$PATH` (executable only) Filters and Lua-filters are applied in the order specified on the command line. `-L` *SCRIPT*, `--lua-filter=`*SCRIPT* : Transform the document in a similar fashion as JSON filters (see `--filter`), but use pandoc's build-in Lua filtering system. The given Lua script is expected to return a list of Lua filters which will be applied in order. Each Lua filter must contain element-transforming functions indexed by the name of the AST element on which the filter function should be applied. The `pandoc` Lua module provides helper functions for element creation. It is always loaded into the script's Lua environment. The following is an example Lua script for macro-expansion: function expand_hello_world(inline) if inline.c == '{{helloworld}}' then return pandoc.Emph{ pandoc.Str "Hello, World" } else return inline end end return {{Str = expand_hello_world}} In order of preference, pandoc will look for Lua filters in 1. a specified full or relative path (executable or non-executable) 2. `$DATADIR/filters` (executable or non-executable) where `$DATADIR` is the user data directory (see `--data-dir`, above). `-M` *KEY*[`=`*VAL*], `--metadata=`*KEY*[`:`*VAL*] : Set the metadata field *KEY* to the value *VAL*. A value specified on the command line overrides a value specified in the document using [YAML metadata blocks][Extension: `yaml_metadata_block`]. Values will be parsed as YAML boolean or string values. If no value is specified, the value will be treated as Boolean true. Like `--variable`, `--metadata` causes template variables to be set. But unlike `--variable`, `--metadata` affects the metadata of the underlying document (which is accessible from filters and may be printed in some output formats) and metadata values will be escaped when inserted into the template. `--metadata-file=`*FILE* : Read metadata from the supplied YAML (or JSON) file. This option can be used with every input format, but string scalars in the YAML file will always be parsed as Markdown. Generally, the input will be handled the same as in [YAML metadata blocks][Extension: `yaml_metadata_block`]. This option can be used repeatedly to include multiple metadata files; values in files specified later on the command line will be preferred over those specified in earlier files. Metadata values specified inside the document, or by using `-M`, overwrite values specified with this option. `-p`, `--preserve-tabs` : Preserve tabs instead of converting them to spaces. (By default, pandoc converts tabs to spaces before parsing its input.) Note that this will only affect tabs in literal code spans and code blocks. Tabs in regular text are always treated as spaces. `--tab-stop=`*NUMBER* : Specify the number of spaces per tab (default is 4). `--track-changes=accept`|`reject`|`all` : Specifies what to do with insertions, deletions, and comments produced by the MS Word "Track Changes" feature. `accept` (the default), inserts all insertions, and ignores all deletions. `reject` inserts all deletions and ignores insertions. Both `accept` and `reject` ignore comments. `all` puts in insertions, deletions, and comments, wrapped in spans with `insertion`, `deletion`, `comment-start`, and `comment-end` classes, respectively. The author and time of change is included. `all` is useful for scripting: only accepting changes from a certain reviewer, say, or before a certain date. If a paragraph is inserted or deleted, `track-changes=all` produces a span with the class `paragraph-insertion`/`paragraph-deletion` before the affected paragraph break. This option only affects the docx reader. `--extract-media=`*DIR* : Extract images and other media contained in or linked from the source document to the path *DIR*, creating it if necessary, and adjust the images references in the document so they point to the extracted files. If the source format is a binary container (docx, epub, or odt), the media is extracted from the container and the original filenames are used. Otherwise the media is read from the file system or downloaded, and new filenames are constructed based on SHA1 hashes of the contents. `--abbreviations=`*FILE* : Specifies a custom abbreviations file, with abbreviations one to a line. If this option is not specified, pandoc will read the data file `abbreviations` from the user data directory or fall back on a system default. To see the system default, use `pandoc --print-default-data-file=abbreviations`. The only use pandoc makes of this list is in the Markdown reader. Strings ending in a period that are found in this list will be followed by a nonbreaking space, so that the period will not produce sentence-ending space in formats like LaTeX. [`pandocfilters`]: https://github.com/jgm/pandocfilters [PHP]: https://github.com/vinai/pandocfilters-php [perl]: https://metacpan.org/pod/Pandoc::Filter [JavaScript/node.js]: https://github.com/mvhenderson/pandoc-filter-node ## General writer options {.options} `-s`, `--standalone` : Produce output with an appropriate header and footer (e.g. a standalone HTML, LaTeX, TEI, or RTF file, not a fragment). This option is set automatically for `pdf`, `epub`, `epub3`, `fb2`, `docx`, and `odt` output. For `native` output, this option causes metadata to be included; otherwise, metadata is suppressed. `--template=`*FILE*|*URL* : Use the specified file as a custom template for the generated document. Implies `--standalone`. See [Templates], below, for a description of template syntax. If no extension is specified, an extension corresponding to the writer will be added, so that `--template=special` looks for `special.html` for HTML output. If the template is not found, pandoc will search for it in the `templates` subdirectory of the user data directory (see `--data-dir`). If this option is not used, a default template appropriate for the output format will be used (see `-D/--print-default-template`). `-V` *KEY*[`=`*VAL*], `--variable=`*KEY*[`:`*VAL*] : Set the template variable *KEY* to the value *VAL* when rendering the document in standalone mode. If no *VAL* is specified, the key will be given the value `true`. `-D` *FORMAT*, `--print-default-template=`*FORMAT* : Print the system default template for an output *FORMAT*. (See `-t` for a list of possible *FORMAT*s.) Templates in the user data directory are ignored. This option may be used with `-o`/`--output` to redirect output to a file, but `-o`/`--output` must come before `--print-default-template` on the command line. Note that some of the default templates use partials, for example `styles.html`. To print the partials, use `--print-default-data-file`: for example, `--print-default-data-file=templates/styles.html`. `--print-default-data-file=`*FILE* : Print a system default data file. Files in the user data directory are ignored. This option may be used with `-o`/`--output` to redirect output to a file, but `-o`/`--output` must come before `--print-default-data-file` on the command line. `--eol=crlf`|`lf`|`native` : Manually specify line endings: `crlf` (Windows), `lf` (macOS/Linux/UNIX), or `native` (line endings appropriate to the OS on which pandoc is being run). The default is `native`. `--dpi`=*NUMBER* : Specify the default dpi (dots per inch) value for conversion from pixels to inch/centimeters and vice versa. (Technically, the correct term would be ppi: pixels per inch.) The default is 96dpi. When images contain information about dpi internally, the encoded value is used instead of the default specified by this option. `--wrap=auto`|`none`|`preserve` : Determine how text is wrapped in the output (the source code, not the rendered version). With `auto` (the default), pandoc will attempt to wrap lines to the column width specified by `--columns` (default 72). With `none`, pandoc will not wrap lines at all. With `preserve`, pandoc will attempt to preserve the wrapping from the source document (that is, where there are nonsemantic newlines in the source, there will be nonsemantic newlines in the output as well). Automatic wrapping does not currently work in HTML output. In `ipynb` output, this option affects wrapping of the contents of markdown cells. `--columns=`*NUMBER* : Specify length of lines in characters. This affects text wrapping in the generated source code (see `--wrap`). It also affects calculation of column widths for plain text tables (see [Tables] below). `--toc`, `--table-of-contents` : Include an automatically generated table of contents (or, in the case of `latex`, `context`, `docx`, `odt`, `opendocument`, `rst`, or `ms`, an instruction to create one) in the output document. This option has no effect unless `-s/--standalone` is used, and it has no effect on `man`, `docbook4`, `docbook5`, or `jats` output. Note that if you are producing a PDF via `ms`, 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`. `--toc-depth=`*NUMBER* : Specify the number of section levels to include in the table of contents. The default is 3 (which means that level-1, 2, and 3 headings will be listed in the contents). `--strip-comments` : Strip out HTML comments in the Markdown or Textile source, rather than passing them on to Markdown, Textile or HTML output as raw HTML. This does not apply to HTML comments inside raw HTML blocks when the `markdown_in_html_blocks` extension is not set. `--no-highlight` : Disables syntax highlighting for code blocks and inlines, even when a language attribute is given. `--highlight-style=`*STYLE*|*FILE* : Specifies the coloring style to be used in highlighted source code. Options are `pygments` (the default), `kate`, `monochrome`, `breezeDark`, `espresso`, `zenburn`, `haddock`, and `tango`. For more information on syntax highlighting in pandoc, see [Syntax highlighting], below. See also `--list-highlight-styles`. Instead of a *STYLE* name, a JSON file with extension `.theme` may be supplied. This will be parsed as a KDE syntax highlighting theme and (if valid) used as the highlighting style. To generate the JSON version of an existing style, use `--print-highlight-style`. `--print-highlight-style=`*STYLE*|*FILE* : Prints a JSON version of a highlighting style, which can be modified, saved with a `.theme` extension, and used with `--highlight-style`. This option may be used with `-o`/`--output` to redirect output to a file, but `-o`/`--output` must come before `--print-highlight-style` on the command line. `--syntax-definition=`*FILE* : Instructs pandoc to load a KDE XML syntax definition file, which will be used for syntax highlighting of appropriately marked code blocks. This can be used to add support for new languages or to use altered syntax definitions for existing languages. This option may be repeated to add multiple syntax definitions. `-H` *FILE*, `--include-in-header=`*FILE*|*URL* : Include contents of *FILE*, verbatim, at the end of the header. This can be used, for example, to include special CSS or JavaScript in HTML documents. This option can be used repeatedly to include multiple files in the header. They will be included in the order specified. Implies `--standalone`. `-B` *FILE*, `--include-before-body=`*FILE*|*URL* : Include contents of *FILE*, verbatim, at the beginning of the document body (e.g. after the `` tag in HTML, or the `\begin{document}` command in LaTeX). This can be used to include navigation bars or banners in HTML documents. This option can be used repeatedly to include multiple files. They will be included in the order specified. Implies `--standalone`. `-A` *FILE*, `--include-after-body=`*FILE*|*URL* : Include contents of *FILE*, verbatim, at the end of the document body (before the `` tag in HTML, or the `\end{document}` command in LaTeX). This option can be used repeatedly to include multiple files. They will be included in the order specified. Implies `--standalone`. `--resource-path=`*SEARCHPATH* : List of paths to search for images and other resources. The paths should be separated by `:` on Linux, UNIX, and macOS systems, and by `;` on Windows. If `--resource-path` is not specified, the default resource path is the working directory. Note that, if `--resource-path` is specified, the working directory must be explicitly listed or it will not be searched. For example: `--resource-path=.:test` will search the working directory and the `test` subdirectory, in that order. `--resource-path` only has an effect if (a) the output format embeds images (for example, `docx`, `pdf`, or `html` with `--self-contained`) or (b) it is used together with `--extract-media`. `--request-header=`*NAME*`:`*VAL* : Set the request header *NAME* to the value *VAL* when making HTTP requests (for example, when a URL is given on the command line, or when resources used in a document must be downloaded). If you're behind a proxy, you also need to set the environment variable `http_proxy` to `http://...`. ## Options affecting specific writers {.options} `--self-contained` : Produce a standalone HTML file with no external dependencies, using `data:` URIs to incorporate the contents of linked scripts, stylesheets, images, and videos. Implies `--standalone`. The resulting file should be "self-contained," in the sense that it needs no external files and no net access to be displayed properly by a browser. This option works only with HTML output formats, including `html4`, `html5`, `html+lhs`, `html5+lhs`, `s5`, `slidy`, `slideous`, `dzslides`, and `revealjs`. Scripts, images, and stylesheets at absolute URLs will be downloaded; those at relative URLs will be sought relative to the working directory (if the first source file is local) or relative to the base URL (if the first source file is remote). Elements with the attribute `data-external="1"` will be left alone; the documents they link to will not be incorporated in the document. Limitation: resources that are loaded dynamically through JavaScript cannot be incorporated; as a result, `--self-contained` does not work with `--mathjax`, and some advanced features (e.g. zoom or speaker notes) may not work in an offline "self-contained" `reveal.js` slide show. `--html-q-tags` : Use `` tags for quotes in HTML. `--ascii` : Use only ASCII characters in output. Currently supported for XML and HTML formats (which use entities instead of UTF-8 when this option is selected), CommonMark, gfm, and Markdown (which use entities), roff ms (which use hexadecimal escapes), and to a limited degree LaTeX (which uses standard commands for accented characters when possible). roff man output uses ASCII by default. `--reference-links` : Use reference-style links, rather than inline links, in writing Markdown or reStructuredText. By default inline links are used. The placement of link references is affected by the `--reference-location` option. `--reference-location = block`|`section`|`document` : Specify whether footnotes (and references, if `reference-links` is set) are placed at the end of the current (top-level) block, the current section, or the document. The default is `document`. Currently only affects the markdown writer. `--atx-headers` : Use ATX-style headings in Markdown output. The default is to use setext-style headings for levels 1 to 2, and then ATX headings. (Note: for `gfm` output, ATX headings are always used.) This option also affects markdown cells in `ipynb` output. `--top-level-division=[default|section|chapter|part]` : Treat top-level headings as the given division type in LaTeX, ConTeXt, DocBook, and TEI output. The hierarchy order is part, chapter, then section; all headings are shifted such that the top-level heading becomes the specified type. The default behavior is to determine the best division type via heuristics: unless other conditions apply, `section` is chosen. When the `documentclass` variable is set to `report`, `book`, or `memoir` (unless the `article` option is specified), `chapter` is implied as the setting for this option. If `beamer` is the output format, specifying either `chapter` or `part` will cause top-level headings to become `\part{..}`, while second-level headings remain as their default type. `-N`, `--number-sections` : Number section headings in LaTeX, ConTeXt, HTML, or EPUB output. By default, sections are not numbered. Sections with class `unnumbered` will never be numbered, even if `--number-sections` is specified. `--number-offset=`*NUMBER*[`,`*NUMBER*`,`*...*] : Offset for section headings in HTML output (ignored in other output formats). The first number is added to the section number for top-level headings, the second for second-level headings, and so on. So, for example, if you want the first top-level heading in your document to be numbered "6", specify `--number-offset=5`. If your document starts with a level-2 heading which you want to be numbered "1.5", specify `--number-offset=1,4`. Offsets are 0 by default. Implies `--number-sections`. `--listings` : Use the [`listings`] package for LaTeX code blocks. The package does not support multi-byte encoding for source code. To handle UTF-8 you would need to use a custom template. This issue is fully documented here: [Encoding issue with the listings package]. `-i`, `--incremental` : Make list items in slide shows display incrementally (one by one). The default is for lists to be displayed all at once. `--slide-level=`*NUMBER* : Specifies that headings with the specified level create slides (for `beamer`, `s5`, `slidy`, `slideous`, `dzslides`). Headings above this level in the hierarchy are used to divide the slide show into sections; headings below this level create subheads within a slide. Note that content that is not contained under slide-level headings will not appear in the slide show. The default is to set the slide level based on the contents of the document; see [Structuring the slide show]. `--section-divs` : Wrap sections in `
` tags (or `
` tags for `html4`), and attach identifiers to the enclosing `
` (or `
`) rather than the heading itself. See [Heading identifiers], below. `--email-obfuscation=none`|`javascript`|`references` : Specify a method for obfuscating `mailto:` links in HTML documents. `none` leaves `mailto:` links as they are. `javascript` obfuscates them using JavaScript. `references` obfuscates them by printing their letters as decimal or hexadecimal character references. The default is `none`. `--id-prefix=`*STRING* : Specify a prefix to be added to all identifiers and internal links in HTML and DocBook output, and to footnote numbers in Markdown and Haddock output. This is useful for preventing duplicate identifiers when generating fragments to be included in other pages. `-T` *STRING*, `--title-prefix=`*STRING* : Specify *STRING* as a prefix at the beginning of the title that appears in the HTML header (but not in the title as it appears at the beginning of the HTML body). Implies `--standalone`. `-c` *URL*, `--css=`*URL* : Link to a CSS style sheet. This option can be used repeatedly to include multiple files. They will be included in the order specified. A stylesheet is required for generating EPUB. If none is provided using this option (or the `css` or `stylesheet` metadata fields), pandoc will look for a file `epub.css` in the user data directory (see `--data-dir`). If it is not found there, sensible defaults will be used. `--reference-doc=`*FILE* : Use the specified file as a style reference in producing a docx or ODT file. Docx : For best results, the reference docx should be a modified version of a docx file produced using pandoc. The contents of the reference docx are ignored, but its stylesheets and document properties (including margins, page size, header, and footer) are used in the new docx. If no reference docx is specified on the command line, pandoc will look for a file `reference.docx` in the user data directory (see `--data-dir`). If this is not found either, sensible defaults will be used. 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 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: Paragraph styles: - Normal - Body Text - First Paragraph - Compact - Title - Subtitle - Author - Date - Abstract - Bibliography - Heading 1 - Heading 2 - Heading 3 - Heading 4 - Heading 5 - Heading 6 - Heading 7 - Heading 8 - Heading 9 - Block Text - Footnote Text - Definition Term - Definition - Caption - Table Caption - Image Caption - Figure - Captioned Figure - TOC Heading Character styles: - Default Paragraph Font - Body Text Char - Verbatim Char - Footnote Reference - Hyperlink Table style: - Table ODT : For best results, the reference ODT should be a modified version of an ODT produced using pandoc. The contents of the reference ODT are ignored, but its stylesheets are used in the new ODT. If no reference ODT is specified on the command line, pandoc will look for a file `reference.odt` in the user data directory (see `--data-dir`). If this is not found either, sensible defaults will be used. To produce a custom `reference.odt`, first get a copy of the default `reference.odt`: `pandoc -o custom-reference.odt --print-default-data-file reference.odt`. Then open `custom-reference.odt` in LibreOffice, modify the styles as you wish, and save the file. PowerPoint : Templates included with Microsoft PowerPoint 2013 (either with `.pptx` or `.potx` extension) are known to work, as are most templates derived from these. The specific requirement is that the template should begin with the following first four layouts: 1. Title Slide 2. Title and Content 3. Section Header 4. Two Content All templates included with a recent version of MS PowerPoint will fit these criteria. (You can click on `Layout` under the `Home` menu to check.) You can also modify the default `reference.pptx`: first run `pandoc -o custom-reference.pptx --print-default-data-file reference.pptx`, and then modify `custom-reference.pptx` in MS PowerPoint (pandoc will use the first four layout slides, as mentioned above). `--epub-cover-image=`*FILE* : Use the specified image as the EPUB cover. It is recommended that the image be less than 1000px in width and height. Note that in a Markdown source document you can also specify `cover-image` in a YAML metadata block (see [EPUB Metadata], below). `--epub-metadata=`*FILE* : Look in the specified XML file for metadata for the EPUB. The file should contain a series of [Dublin Core elements]. For example: Creative Commons es-AR By default, pandoc will include the following metadata elements: `` (from the document title), `` (from the document authors), `` (from the document date, which should be in [ISO 8601 format]), `` (from the `lang` variable, or, if is not set, the locale), and `` (a randomly generated UUID). Any of these may be overridden by elements in the metadata file. Note: if the source document is Markdown, a YAML metadata block in the document can be used instead. See below under [EPUB Metadata]. `--epub-embed-font=`*FILE* : Embed the specified font in the EPUB. This option can be repeated to embed multiple fonts. Wildcards can also be used: for example, `DejaVuSans-*.ttf`. However, if you use wildcards on the command line, be sure to escape them or put the whole filename in single quotes, to prevent them from being interpreted by the shell. To use the embedded fonts, you will need to add declarations like the following to your CSS (see `--css`): @font-face { font-family: DejaVuSans; font-style: normal; font-weight: normal; src:url("DejaVuSans-Regular.ttf"); } @font-face { font-family: DejaVuSans; font-style: normal; font-weight: bold; src:url("DejaVuSans-Bold.ttf"); } @font-face { font-family: DejaVuSans; font-style: italic; font-weight: normal; src:url("DejaVuSans-Oblique.ttf"); } @font-face { font-family: DejaVuSans; font-style: italic; font-weight: bold; src:url("DejaVuSans-BoldOblique.ttf"); } body { font-family: "DejaVuSans"; } `--epub-chapter-level=`*NUMBER* : Specify the heading level at which to split the EPUB into separate "chapter" files. The default is to split into chapters at level-1 headings. This option only affects the internal composition of the EPUB, not the way chapters and sections are displayed to users. Some readers may be slow if the chapter files are too large, so for large documents with few level-1 headings, one might want to use a chapter level of 2 or 3. `--epub-subdirectory=`*DIRNAME* : Specify the subdirectory in the OCF container that is to hold the EPUB-specific contents. The default is `EPUB`. To put the EPUB contents in the top level, use an empty string. `--ipynb-output=all|none|best` : Determines how ipynb output cells are treated. `all` means that all of the data formats included in the original are preserved. `none` means that the contents of data cells are omitted. `best` causes pandoc to try to pick the richest data block in each output cell that is compatible with the output format. The default is `best`. `--pdf-engine=`*PROGRAM* : Use the specified engine when producing PDF output. Valid values are `pdflatex`, `lualatex`, `xelatex`, `latexmk`, `tectonic`, `wkhtmltopdf`, `weasyprint`, `prince`, `context`, and `pdfroff`. If the engine is not in your PATH, the full path of the engine may be specified here. If this option is not specified, pandoc uses the following defaults depending on the output format specified using `-t/--to`: - `-t latex` or none: `pdflatex` (other options: `xelatex`, `lualatex`, `tectonic`, `latexmk`) - `-t context`: `context` - `-t html`: `wkhtmltopdf` (other options: `prince`, `weasyprint`) - `-t ms`: `pdfroff` `--pdf-engine-opt=`*STRING* : Use the given string as a command-line argument to the `pdf-engine`. For example, to use a persistent directory `foo` for `latexmk`'s auxiliary files, use `--pdf-engine-opt=-outdir=foo`. Note that no check for duplicate options is done. [Dublin Core elements]: https://www.dublincore.org/specifications/dublin-core/dces/ [ISO 8601 format]: https://www.w3.org/TR/NOTE-datetime [Encoding issue with the listings package]: https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings#Encoding_issue ## Citation rendering {.options} `--bibliography=`*FILE* : Set the `bibliography` field in the document's metadata to *FILE*, overriding any value set in the metadata, and process citations using `pandoc-citeproc`. (This is equivalent to `--metadata bibliography=FILE --filter pandoc-citeproc`.) If `--natbib` or `--biblatex` is also supplied, `pandoc-citeproc` is not used, making this equivalent to `--metadata bibliography=FILE`. If you supply this argument multiple times, each *FILE* will be added to bibliography. `--csl=`*FILE* : Set the `csl` field in the document's metadata to *FILE*, overriding any value set in the metadata. (This is equivalent to `--metadata csl=FILE`.) This option is only relevant with `pandoc-citeproc`. `--citation-abbreviations=`*FILE* : Set the `citation-abbreviations` field in the document's metadata to *FILE*, overriding any value set in the metadata. (This is equivalent to `--metadata citation-abbreviations=FILE`.) This option is only relevant with `pandoc-citeproc`. `--natbib` : Use [`natbib`] for citations in LaTeX output. This option is not for use with the `pandoc-citeproc` filter or with PDF output. It is intended for use in producing a LaTeX file that can be processed with [`bibtex`]. `--biblatex` : Use [`biblatex`] for citations in LaTeX output. This option is not for use with the `pandoc-citeproc` filter or with PDF output. It is intended for use in producing a LaTeX file that can be processed with [`bibtex`] or [`biber`]. ## Math rendering in HTML {.options} The default is to render TeX math as far as possible using Unicode characters. Formulas are put inside a `span` with `class="math"`, so that they may be styled differently from the surrounding text if needed. However, this gives acceptable results only for basic math, usually you will want to use `--mathjax` or another of the following options. `--mathjax`[`=`*URL*] : Use [MathJax] to display embedded TeX math in HTML output. TeX math will be put between `\(...\)` (for inline math) or `\[...\]` (for display math) and wrapped in `` tags with class `math`. Then the MathJax JavaScript will render it. The *URL* should point to the `MathJax.js` load script. If a *URL* is not provided, a link to the Cloudflare CDN will be inserted. `--mathml` : Convert TeX math to [MathML] (in `epub3`, `docbook4`, `docbook5`, `jats`, `html4` and `html5`). This is the default in `odt` output. Note that currently only Firefox and Safari (and select e-book readers) natively support MathML. `--webtex`[`=`*URL*] : Convert TeX formulas to `` tags that link to an external script that converts formulas to images. The formula will be URL-encoded and concatenated with the URL provided. For SVG images you can for example use `--webtex https://latex.codecogs.com/svg.latex?`. If no URL is specified, the CodeCogs URL generating PNGs will be used (`https://latex.codecogs.com/png.latex?`). Note: the `--webtex` option will affect Markdown output as well as HTML, which is useful if you're targeting a version of Markdown without native math support. `--katex`[`=`*URL*] : Use [KaTeX] to display embedded TeX math in HTML output. The *URL* is the base URL for the KaTeX library. That directory should contain a `katex.min.js` and a `katex.min.css` file. If a *URL* is not provided, a link to the KaTeX CDN will be inserted. `--gladtex` : Enclose TeX math in `` tags in HTML output. The resulting HTML can then be processed by [GladTeX] to produce images of the typeset formulas and an HTML file with links to these images. So, the procedure is: pandoc -s --gladtex input.md -o myfile.htex gladtex -d myfile-images myfile.htex # produces myfile.html and images in myfile-images [MathML]: https://www.w3.org/Math/ [MathJax]: https://www.mathjax.org [KaTeX]: https://github.com/Khan/KaTeX [GladTeX]: https://humenda.github.io/GladTeX/ ## Options for wrapper scripts {.options} `--dump-args` : Print information about command-line arguments to *stdout*, then exit. This option is intended primarily for use in wrapper scripts. The first line of output contains the name of the output file specified with the `-o` option, or `-` (for *stdout*) if no output file was specified. The remaining lines contain the command-line arguments, one per line, in the order they appear. These do not include regular pandoc options and their arguments, but do include any options appearing after a `--` separator at the end of the line. `--ignore-args` : Ignore command-line arguments (for use in wrapper scripts). Regular pandoc options are not ignored. Thus, for example, pandoc --ignore-args -o foo.html -s foo.txt -- -e latin1 is equivalent to pandoc -o foo.html -s # Exit codes If pandoc completes successfully, it will return exit code 0. Nonzero exit codes have the following meanings: Code Error ----- ------------------------------------ 3 PandocFailOnWarningError 4 PandocAppError 5 PandocTemplateError 6 PandocOptionError 21 PandocUnknownReaderError 22 PandocUnknownWriterError 23 PandocUnsupportedExtensionError 31 PandocEpubSubdirectoryError 43 PandocPDFError 47 PandocPDFProgramNotFoundError 61 PandocHttpError 62 PandocShouldNeverHappenError 63 PandocSomeError 64 PandocParseError 65 PandocParsecError 66 PandocMakePDFError 67 PandocSyntaxMapError 83 PandocFilterError 91 PandocMacroLoop 92 PandocUTF8DecodingError 93 PandocIpynbDecodingError 97 PandocCouldNotFindDataFileError 99 PandocResourceNotFound ----- ------------------------------------ # Default files The `--defaults` option may be used to specify a package of options. Here is a sample defaults file demonstrating all of the fields that may be used: ``` yaml from: markdown+emoji # reader: may be used instead of from: to: html5 # writer: may be used instead of to: # leave blank for output to stdout: output-file: # leave blank for input from stdin, use [] for no input: input-files: - preface.md - content.md # or you may use input-file: with a single value template: letter standalone: true self-contained: false # note that structured variables may be specified: variables: documentclass: book classoption: - twosides - draft # metadata values specified here are parsed as literal # string text, not markdown: metadata: author: - Sam Smith - Julie Liu metadata-files: - boilerplate.yaml # or you may use metadata-file: with a single value # Note that these take files, not their contents: include-before-body: [] include-after-body: [] include-in-header: [] resource-path: ["."] # filters will be assumed to be Lua filters if they have # the .lua extension, and json filters otherwise. But # the filter type can also be specified explicitly, as shown: filters: - pandoc-citeproc - wordcount.lua - type: json path: foo.lua file-scope: false data-dir: # ERROR, WARNING, or INFO verbosity: INFO log-file: log.json # citeproc, natbib, or biblatex cite-method: citeproc # part, chapter, section, or default: top-level-division: chapter abbreviations: pdf-engine: pdflatex pdf-engine-opts: - "-shell-escape" # you may also use pdf-engine-opt: with a single option # pdf-engine-opt: "-shell-escape" # auto, preserve, or none wrap: auto columns: 78 dpi: 72 extract-media: mediadir table-of-contents: true toc-depth: 2 number-sections: false # a list of offsets at each heading level number-offset: [0,0,0,0,0,0] # toc: may also be used instead of table-of-contents: shift-heading-level-by: 1 section-divs: true identifier-prefix: foo title-prefix: "" strip-empty-paragraphs: true # lf, crlf, or native eol: lf strip-comments: false indented-code-classes: [] ascii: true default-image-extension: ".jpg" # either a style name of a style definition file: highlight-style: pygments syntax-definitions: - c.xml # or you may use syntax-definition: with a single value listings: false reference-doc: myref.docx # method is plain, webtex, gladtex, mathml, mathjax, katex # you may specify a url with webtex, mathjax, katex html-math-method: method: mathjax url: "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" # none, references, or javascript email-obfuscation: javascript tab-stop: 8 preserve-tabs: true incremental: false slide-level: 2 epub-subdirectory: EPUB epub-metadata: meta.xml epub-fonts: - foobar.otf epub-chapter-level: 1 epub-cover-image: cover.jpg reference-links: true # block, section, or document reference-location: block atx-headers: false # accept, reject, or all track-changes: accept html-q-tags: false css: - site.css # none, all, or best ipynb-output: best # A list of two-element lists request-headers: - ["User-Agent", "Mozilla/5.0"] fail-if-warnings: false dump-args: false ignore-args: false trace: false ``` Fields that are omitted will just have their regular default values. So a defaults file can be as simple as one line: ``` yaml verbosity: INFO ``` Default files can be placed in the `defaults` subdirectory of the user data directory and used from any directory. For example, one could create a file specifying defaults for writing letters, save it as `letter.yaml` in the `defaults` subdirectory of the user data directory, and then invoke these defaults from any directory using `pandoc --defaults letter` or `pandoc -dletter`. When multiple defaults are used, their contents will be combined. Note that, where command-line arguments may be repeated (`--metadata-file`, `--css`, `--include-in-header`, `--include-before-body`, `--include-after-body`, `--variable`, `--metadata`, `--syntax-definition`), the values specified on the command line will combine with values specified in the defaults file, rather than replacing them. # Templates When the `-s/--standalone` option is used, pandoc uses a template to add header and footer material that is needed for a self-standing document. To see the default template that is used, just type pandoc -D *FORMAT* where *FORMAT* is the name of the output format. A custom template can be specified using the `--template` option. You can also override the system default templates for a given output format *FORMAT* by putting a file `templates/default.*FORMAT*` in the user data directory (see `--data-dir`, above). *Exceptions:* - For `odt` output, customize the `default.opendocument` template. - For `pdf` output, customize the `default.latex` template (or the `default.context` template, if you use `-t context`, or the `default.ms` template, if you use `-t ms`, or the `default.html` template, if you use `-t html`). - `docx` and `pptx` have no template (however, you can use `--reference-doc` to customize the output). Templates contain *variables*, which allow for the inclusion of arbitrary information at any point in the file. They may be set at the command line using the `-V/--variable` option. If a variable is not set, pandoc will look for the key in the document's metadata, which can be set using either [YAML metadata blocks][Extension: `yaml_metadata_block`] or with the `-M/--metadata` option. In addition, some variables are given default values by pandoc. See [Variables] below for a list of variables used in pandoc's default templates. If you use custom templates, you may need to revise them as pandoc changes. We recommend tracking the changes in the default templates, and modifying your custom templates accordingly. An easy way to do this is to fork the [pandoc-templates] repository and merge in changes after each pandoc release. [pandoc-templates]: https://github.com/jgm/pandoc-templates ## Template syntax ### Comments Anything between the sequence `$--` and the end of the line will be treated as a comment and omitted from the output. ### Delimiters To mark variables and control structures in the template, either `$`...`$` or `${`...`}` may be used as delimiters. The styles may also be mixed in the same template, but the opening and closing delimiter must match in each case. The opening delimiter may be followed by one or more spaces or tabs, which will be ignored. The closing delimiter may be followed by one or more spaces or tabs, which will be ignored. To include a literal `$` in the document, use `$$`. ### Interpolated variables A slot for an interpolated variable is a variable name surrounded by matched delimiters. Variable names must begin with a letter and can contain letters, numbers, `_`, `-`, and `.`. The keywords `it`, `if`, `else`, `endif`, `for`, `sep`, and `endfor` may not be used as variable names. Examples: ``` $foo$ $foo.bar.baz$ $foo_bar.baz-bim$ $ foo $ ${foo} ${foo.bar.baz} ${foo_bar.baz-bim} ${ foo } ``` Variable names with periods are used to get at structured variable values. So, for example, `employee.salary` will return the value of the `salary` field of the object that is the value of the `employee` field. - If the value of the variable is simple value, it will be rendered verbatim. (Note that no escaping is done; the assumption is that the calling program will escape the strings appropriately for the output format.) - If the value is a list, the values will be concatenated. - If the value is a map, the string `true` will be rendered. - Every other value will be rendered as the empty string. ### Conditionals A conditional begins with `if(variable)` (enclosed in matched delimiters) and ends with `endif` (enclosed in matched delimiters). It may optionally contain an `else` (enclosed in matched delimiters). The `if` section is used if `variable` has a non-empty value, otherwise the `else` section is used (if present). Examples: ``` $if(foo)$bar$endif$ $if(foo)$ $foo$ $endif$ $if(foo)$ part one $else$ part two $endif$ ${if(foo)}bar${endif} ${if(foo)} ${foo} ${endif} ${if(foo)} ${ foo.bar } ${else} no foo! ${endif} ``` The keyword `elseif` may be used to simplify complex nested conditionals: ``` $if(foo)$ XXX $elseif(bar)$ YYY $else$ ZZZ $endif$ ``` ### For loops A for loop begins with `for(variable)` (enclosed in matched delimiters) and ends with `endfor` (enclosed in matched delimiters. - If `variable` is an array, the material inside the loop will be evaluated repeatedly, with `variable` being set to each value of the array in turn, and concatenated. - If `variable` is a map, the material inside will be set to the map. - If the value of the associated variable is not an array or a map, a single iteration will be performed on its value. Examples: ``` $for(foo)$$foo$$sep$, $endfor$ $for(foo)$ - $foo.last$, $foo.first$ $endfor$ ${ for(foo.bar) } - ${ foo.bar.last }, ${ foo.bar.first } ${ endfor } $for(mymap)$ $it.name$: $it.office$ $endfor$ ``` You may optionally specify a separator between consecutive values using `sep` (enclosed in matched delimiters). The material between `sep` and the `endfor` is the separator. ``` ${ for(foo) }${ foo }${ sep }, ${ endfor } ``` Instead of using `variable` inside the loop, the special anaphoric keyword `it` may be used. ``` ${ for(foo.bar) } - ${ it.last }, ${ it.first } ${ endfor } ``` ### Partials Partials (subtemplates stored in different files) may be included using the syntax ``` ${ boilerplate() } ``` Partials will be sought in the directory containing the main template, and will be assumed to have the same extension as the main template if they lack an explicit extension. (If the partials are not found here, they will also be sought in the `templates` subdirectory of the user data directory.) Partials may optionally be applied to variables using a colon: ``` ${ date:fancy() } ${ articles:bibentry() } ``` If `articles` is an array, this will iterate over its values, applying the partial `bibentry()` to each one. So the second example above is equivalent to ``` ${ for(articles) } ${ it:bibentry() } ${ endfor } ``` Note that the anaphoric keyword `it` must be used when iterating over partials. In the above examples, the `bibentry` partial should contain `it.title` (and so on) instead of `articles.title`. Final newlines are omitted from included partials. Partials may include other partials. A separator between values of an array may be specified in square brackets, immediately after the variable name or partial: ``` ${months[, ]}$ ${articles:bibentry()[; ]$ ``` The separator in this case is literal and (unlike with `sep` in an explicit `for` loop) cannot contain interpolated variables or other template directives. ### Nesting To ensure that content is "nested," that is, subsequent lines indented, use the `^` directive: ``` $item.number$ $^$$item.description$ ($item.price$) ``` In this example, if `item.description` has multiple lines, they will all be indented to line up with the first line: ``` 00123 A fine bottle of 18-year old Oban whiskey. ($148) ``` To nest multiple lines to the same level, align them with the `^` directive in the template. For example: ``` $item.number$ $^$$item.description$ ($item.price$) (Available til $item.sellby$.) ``` will produce ``` 00123 A fine bottle of 18-year old Oban whiskey. ($148) (Available til March 30, 2020.) ``` If a variable occurs by itself on a line, preceded by whitespace and not followed by further text or directives on the same line, and the variable's value contains multiple lines, it will be nested automatically. ### Breakable spaces Normally, spaces in the template itself (as opposed to values of the interpolated variables) are not breakable, but they can be made breakable in part of the template by using the `~` keyword (ended with another `~`). ``` $~$This long line may break if the document is rendered with a short line length.$~$ ``` ### Pipes A pipe transforms the value of a variable or partial. Pipes are specified using a slash (`/`) between the variable name (or partial) and the pipe name. Example: ``` $for(name)$ $name/uppercase$ $endfor$ $for(metadata/pairs)$ - $it.key$: $it.value$ $endfor$ $employee:name()/uppercase$ ``` Pipes may be chained: ``` $for(employees/pairs)$ $it.key/alpha/uppercase$. $it.name$ $endfor$ ``` Some pipes take parameters: ``` |----------------------|------------| $for(employee)$ $it.name.first/uppercase/left 20 "| "$$it.name.salary/right 10 " | " " |"$ $endfor$ |----------------------|------------| ``` Currently the following pipes are predefined: - `pairs`: Converts a map or array to an array of maps, each with `key` and `value` fields. If the original value was an array, the `key` will be the array index, starting with 1. - `uppercase`: Converts text to uppercase. - `lowercase`: Converts text to lowercase. - `length`: Returns the length of the value: number of characters for a textual value, number of elements for a map or array. - `reverse`: Reverses a textual value or array, and has no effect on other values. - `chomp`: Removes trailing newlines (and breakable space). - `nowrap`: Disables line wrapping on breakable spaces. - `alpha`: Converts textual values that can be read as an integer into lowercase alphabetic characters `a..z` (mod 26). This can be used to get lettered enumeration from array indices. To get uppercase letters, chain with `uppercase`. - `roman`: Converts textual values that can be read as an integer into lowercase roman numerials. This can be used to get lettered enumeration from array indices. To get uppercase roman, chain with `uppercase`. - `left n "leftborder" "rightborder"`: Renders a textual value in a block of width `n`, aligned to the left, with an optional left and right border. Has no effect on other values. This can be used to align material in tables. Widths are positive integers indicating the number of characters. Borders are strings inside double quotes; literal `"` and `\` characters must be backslash-escaped. - `right n "leftborder" "rightborder"`: Renders a textual value in a block of width `n`, aligned to the right, and has no effect on other values. - `center n "leftborder" "rightborder"`: Renders a textual value in a block of width `n`, aligned to the center, and has no effect on other values. ## Variables ### Metadata variables `title`, `author`, `date` : allow identification of basic aspects of the document. Included in PDF metadata through LaTeX and ConTeXt. These can be set through a [pandoc title block][Extension: `pandoc_title_block`], which allows for multiple authors, or through a [YAML metadata block][Extension: `yaml_metadata_block`]: --- author: - Aristotle - Peter Abelard ... Note that if you just want to set PDF or HTML metadata, without including a title block in the document itself, you can set the `title-meta`, `author-meta`, and `date-meta` variables. (By default these are set automatically, based on `title`, `author`, and `date`.) `subtitle` : document subtitle, included in HTML, EPUB, LaTeX, ConTeXt, and docx documents `abstract` : document summary, included in LaTeX, ConTeXt, AsciiDoc, and docx documents `keywords` : list of keywords to be included in HTML, PDF, ODT, pptx, docx and AsciiDoc metadata; repeat as for `author`, above `subject` : document subject, included in ODT, PDF, docx and pptx metadata `description` : document description, included in ODT, docx and pptx metadata. Some applications show this as `Comments` metadata. `category` : document category, included in docx and pptx metadata Additionally, any root-level string metadata, not included in ODT, docx or pptx metadata is added as a *custom property*. The following [YAML] metadata block for instance: --- title: 'This is the title' subtitle: "This is the subtitle" author: - Author One - Author Two description: | This is a long description. It consists of two paragraphs ... will include `title`, `author` and `description` as standard document properties and `subtitle` as a custom property when converting to docx, ODT or pptx. ### Language variables `lang` : identifies the main language of the document using IETF language tags (following the [BCP 47] standard), such as `en` or `en-GB`. The [Language subtag lookup] tool can look up or verify these tags. This affects most formats, and controls hyphenation in PDF output when using LaTeX (through [`babel`] and [`polyglossia`]) or ConTeXt. Use native pandoc [Divs and Spans] with the `lang` attribute to switch the language: --- lang: en-GB ... Text in the main document language (British English). ::: {lang=fr-CA} > Cette citation est écrite en français canadien. ::: More text in English. ['Zitat auf Deutsch.']{lang=de} `dir` : the base script direction, either `rtl` (right-to-left) or `ltr` (left-to-right). For bidirectional documents, native pandoc `span`s and `div`s with the `dir` attribute (value `rtl` or `ltr`) can be used to override the base direction in some output formats. This may not always be necessary if the final renderer (e.g. the browser, when generating HTML) supports the [Unicode Bidirectional Algorithm]. When using LaTeX for bidirectional documents, only the `xelatex` engine is fully supported (use `--pdf-engine=xelatex`). [BCP 47]: https://tools.ietf.org/html/bcp47 [Unicode Bidirectional Algorithm]: https://www.w3.org/International/articles/inline-bidi-markup/uba-basics [Language subtag lookup]: https://r12a.github.io/app-subtags/ ### Variables for HTML math `classoption` : when using [KaTeX](#option--katex), you can render display math equations flush left using [YAML metadata](#layout) or with `-M classoption=fleqn`. ### Variables for HTML slides These affect HTML output when [producing slide shows with pandoc]. All [reveal.js configuration options] are available as variables. To turn off boolean flags that default to true in reveal.js, use `0`. `revealjs-url` : base URL for reveal.js documents (defaults to `reveal.js`) `s5-url` : base URL for S5 documents (defaults to `s5/default`) `slidy-url` : base URL for Slidy documents (defaults to `https://www.w3.org/Talks/Tools/Slidy2`) `slideous-url` : base URL for Slideous documents (defaults to `slideous`) `title-slide-attributes` : additional attributes for the title slide of reveal.js slide shows. See [background in reveal.js and beamer] for an example. [reveal.js configuration options]: https://github.com/hakimel/reveal.js#configuration ### Variables for Beamer slides These variables change the appearance of PDF slides using [`beamer`]. `aspectratio` : slide aspect ratio (`43` for 4:3 [default], `169` for 16:9, `1610` for 16:10, `149` for 14:9, `141` for 1.41:1, `54` for 5:4, `32` for 3:2) `beamerarticle` : produce an article from Beamer slides `beameroption` : add extra beamer option with `\setbeameroption{}` `institute` : author affiliations: can be a list when there are multiple authors `logo` : logo image for slides `navigation` : controls navigation symbols (default is `empty` for no navigation symbols; other valid values are `frame`, `vertical`, and `horizontal`) `section-titles` : enables "title pages" for new sections (default is true) `theme`, `colortheme`, `fonttheme`, `innertheme`, `outertheme` : beamer themes `themeoptions` : options for LaTeX beamer themes (a list). `titlegraphic` : image for title slide ### Variables for PowerPoint These variables control the visual aspects of a slide show that are not easily controlled via templates. `monofont` : font to use for code. ### Variables for LaTeX Pandoc uses these variables when [creating a PDF] with a LaTeX engine. #### Layout `block-headings` : make `\paragraph` and `\subparagraph` (fourth- and fifth-level headings, or fifth- and sixth-level with book classes) free-standing rather than run-in; requires further formatting to distinguish from `\subsubsection` (third- or fourth-level headings). Instead of using this option, [KOMA-Script] can adjust headings more extensively: --- documentclass: scrartcl header-includes: | \RedeclareSectionCommand[ beforeskip=-10pt plus -2pt minus -1pt, afterskip=1sp plus -1sp minus 1sp, font=\normalfont\itshape]{paragraph} \RedeclareSectionCommand[ beforeskip=-10pt plus -2pt minus -1pt, afterskip=1sp plus -1sp minus 1sp, font=\normalfont\scshape, indent=0pt]{subparagraph} ... `classoption` : option for document class, e.g. `oneside`; repeat for multiple options: --- classoption: - twocolumn - landscape ... `documentclass` : document class: usually one of the standard classes, [`article`], [`book`], and [`report`]; the [KOMA-Script] equivalents, `scrartcl`, `scrbook`, and `scrreprt`, which default to smaller margins; or [`memoir`] `geometry` : option for [`geometry`] package, e.g. `margin=1in`; repeat for multiple options: --- geometry: - top=30mm - left=20mm - heightrounded ... `hyperrefoptions` : option for [`hyperref`] package, e.g. `linktoc=all`; repeat for multiple options: --- hyperrefoptions: - linktoc=all - pdfwindowui - pdfpagemode=FullScreen ... `indent` : uses document class settings for indentation (the default LaTeX template otherwise removes indentation and adds space between paragraphs) `linestretch` : adjusts line spacing using the [`setspace`] package, e.g. `1.25`, `1.5` `margin-left`, `margin-right`, `margin-top`, `margin-bottom` : sets margins if `geometry` is not used (otherwise `geometry` overrides these) `pagestyle` : control `\pagestyle{}`: the default article class supports `plain` (default), `empty` (no running heads or page numbers), and `headings` (section titles in running heads) `papersize` : paper size, e.g. `letter`, `a4` `secnumdepth` : numbering depth for sections (with `--number-sections` option or `numbersections` variable) #### Fonts `fontenc` : allows font encoding to be specified through `fontenc` package (with `pdflatex`); default is `T1` (see [LaTeX font encodings guide]) `fontfamily` : font package for use with `pdflatex`: [TeX Live] includes many options, documented in the [LaTeX Font Catalogue]. The default is [Latin Modern][`lm`]. `fontfamilyoptions` : options for package used as `fontfamily`; repeat for multiple options. For example, to use the Libertine font with proportional lowercase (old-style) figures through the [`libertinus`] package: --- fontfamily: libertinus fontfamilyoptions: - osf - p ... `fontsize` : font size for body text. The standard classes allow 10pt, 11pt, and 12pt. To use another size, set `documentclass` to one of the [KOMA-Script] classes, such as `scrartcl` or `scrbook`. `mainfont`, `sansfont`, `monofont`, `mathfont`, `CJKmainfont` : font families for use with `xelatex` or `lualatex`: take the name of any system font, using the [`fontspec`] package. `CJKmainfont` uses the [`xecjk`] package. `mainfontoptions`, `sansfontoptions`, `monofontoptions`, `mathfontoptions`, `CJKoptions` : options to use with `mainfont`, `sansfont`, `monofont`, `mathfont`, `CJKmainfont` in `xelatex` and `lualatex`. Allow for any choices available through [`fontspec`]; repeat for multiple options. For example, to use the [TeX Gyre] version of Palatino with lowercase figures: --- mainfont: TeX Gyre Pagella mainfontoptions: - Numbers=Lowercase - Numbers=Proportional ... `microtypeoptions` : options to pass to the microtype package #### Links `colorlinks` : add color to link text; automatically enabled if any of `linkcolor`, `filecolor`, `citecolor`, `urlcolor`, or `toccolor` are set `linkcolor`, `filecolor`, `citecolor`, `urlcolor`, `toccolor` : color for internal links, external links, citation links, linked URLs, and links in table of contents, respectively: uses options allowed by [`xcolor`], including the `dvipsnames`, `svgnames`, and `x11names` lists `links-as-notes` : causes links to be printed as footnotes #### Front matter `lof`, `lot` : include list of figures, list of tables `thanks` : contents of acknowledgments footnote after document title `toc` : include table of contents (can also be set using `--toc/--table-of-contents`) `toc-depth` : level of section to include in table of contents #### BibLaTeX Bibliographies These variables function when using BibLaTeX for [citation rendering]. `biblatexoptions` : list of options for biblatex `biblio-style` : bibliography style, when used with `--natbib` and `--biblatex`. `biblio-title` : bibliography title, when used with `--natbib` and `--biblatex`. `bibliography` : bibliography to use for resolving references `natbiboptions` : list of options for natbib [KOMA-Script]: https://ctan.org/pkg/koma-script [LaTeX Font Catalogue]: https://tug.org/FontCatalogue/ [LaTeX font encodings guide]: https://ctan.org/pkg/encguide [TeX Gyre]: http://www.gust.org.pl/projects/e-foundry/tex-gyre [`article`]: https://ctan.org/pkg/article [`book`]: https://ctan.org/pkg/book [`libertinus`]: https://ctan.org/pkg/libertinus [`memoir`]: https://ctan.org/pkg/memoir [`report`]: https://ctan.org/pkg/report ### Variables for ConTeXt Pandoc uses these variables when [creating a PDF] with ConTeXt. `fontsize` : font size for body text (e.g. `10pt`, `12pt`) `headertext`, `footertext` : text to be placed in running header or footer (see [ConTeXt Headers and Footers]); repeat up to four times for different placement `indenting` : controls indentation of paragraphs, e.g. `yes,small,next` (see [ConTeXt Indentation]); repeat for multiple options `interlinespace` : adjusts line spacing, e.g. `4ex` (using [`setupinterlinespace`]); repeat for multiple options `layout` : options for page margins and text arrangement (see [ConTeXt Layout]); repeat for multiple options `linkcolor`, `contrastcolor` : color for links outside and inside a page, e.g. `red`, `blue` (see [ConTeXt Color]) `linkstyle` : typeface style for links, e.g. `normal`, `bold`, `slanted`, `boldslanted`, `type`, `cap`, `small` `lof`, `lot` : include list of figures, list of tables `mainfont`, `sansfont`, `monofont`, `mathfont` : font families: take the name of any system font (see [ConTeXt Font Switching]) `margin-left`, `margin-right`, `margin-top`, `margin-bottom` : sets margins, if `layout` is not used (otherwise `layout` overrides these) `pagenumbering` : page number style and location (using [`setuppagenumbering`]); repeat for multiple options `papersize` : paper size, e.g. `letter`, `A4`, `landscape` (see [ConTeXt Paper Setup]); repeat for multiple options `pdfa` : adds to the preamble the setup necessary to generate PDF/A of the type specified, e.g. `1a:2005`, `2a`. If no type is specified (i.e. the value is set to True, by e.g. `--metadata=pdfa` or `pdfa: true` in a YAML metadata block), `1b:2005` will be used as default, for reasons of backwards compatibility. Using `--variable=pdfa` without specified value is not supported. To successfully generate PDF/A the required ICC color profiles have to be available and the content and all included files (such as images) have to be standard conforming. The ICC profiles and output intent may be specified using the variables `pdfaiccprofile` and `pdfaintent`. See also [ConTeXt PDFA] for more details. `pdfaiccprofile` : when used in conjunction with `pdfa`, specifies the ICC profile to use in the PDF, e.g. `default.cmyk`. If left unspecified, `sRGB.icc` is used as default. May be repeated to include multiple profiles. Note that the profiles have to be available on the system. They can be obtained from [ConTeXt ICC Profiles]. `pdfaintent` : when used in conjunction with `pdfa`, specifies the output intent for the colors, e.g. `ISO coated v2 300\letterpercent\space (ECI)` If left unspecified, `sRGB IEC61966-2.1` is used as default. `toc` : include table of contents (can also be set using `--toc/--table-of-contents`) `whitespace` : spacing between paragraphs, e.g. `none`, `small` (using [`setupwhitespace`]) `includesource` : include all source documents as file attachments in the PDF file [ConTeXt Paper Setup]: https://wiki.contextgarden.net/PaperSetup [ConTeXt Layout]: https://wiki.contextgarden.net/Layout [ConTeXt Font Switching]: https://wiki.contextgarden.net/Font_Switching [ConTeXt Color]: https://wiki.contextgarden.net/Color [ConTeXt Headers and Footers]: https://wiki.contextgarden.net/Headers_and_Footers [ConTeXt Indentation]: https://wiki.contextgarden.net/Indentation [ConTeXt ICC Profiles]: https://wiki.contextgarden.net/PDFX#ICC_profiles [ConTeXt PDFA]: https://wiki.contextgarden.net/PDF/A [`setupwhitespace`]: https://wiki.contextgarden.net/Command/setupwhitespace [`setupinterlinespace`]: https://wiki.contextgarden.net/Command/setupinterlinespace [`setuppagenumbering`]: https://wiki.contextgarden.net/Command/setuppagenumbering ### Variables for `wkhtmltopdf` Pandoc uses these variables when [creating a PDF] with [`wkhtmltopdf`]. The `--css` option also affects the output. `footer-html`, `header-html` : add information to the header and footer `margin-left`, `margin-right`, `margin-top`, `margin-bottom` : set the page margins `papersize` : sets the PDF paper size ### Variables for man pages `adjusting` : adjusts text to left (`l`), right (`r`), center (`c`), or both (`b`) margins `footer` : footer in man pages `header` : header in man pages `hyphenate` : if `true` (the default), hyphenation will be used `section` : section number in man pages ### Variables for ms `fontfamily` : font family (e.g. `T` or `P`) `indent` : paragraph indent (e.g. `2m`) `lineheight` : line height (e.g. `12p`) `pointsize` : point size (e.g. `10p`) ### Variables set automatically Pandoc sets these variables automatically in response to [options] or document contents; users can also modify them. These vary depending on the output format, and include the following: `body` : body of document `date-meta` : the `date` variable converted to ISO 8601 YYYY-MM-DD, included in all HTML based formats (dzslides, epub, html, html4, html5, revealjs, s5, slideous, slidy). The recognized formats for `date` are: `mm/dd/yyyy`, `mm/dd/yy`, `yyyy-mm-dd` (ISO 8601), `dd MM yyyy` (e.g. either `02 Apr 2018` or `02 April 2018`), `MM dd, yyyy` (e.g. `Apr. 02, 2018` or `April 02, 2018), `yyyy[mm[dd]]]` (e.g. `20180402, `201804` or `2018`). `header-includes` : contents specified by `-H/--include-in-header` (may have multiple values) `include-before` : contents specified by `-B/--include-before-body` (may have multiple values) `include-after` : contents specified by `-A/--include-after-body` (may have multiple values) `meta-json` : JSON representation of all of the document's metadata. Field values are transformed to the selected output format. `numbersections` : non-null value if `-N/--number-sections` was specified `sourcefile`, `outputfile` : source and destination filenames, as given on the command line. `sourcefile` can also be a list if input comes from multiple files, or empty if input is from stdin. You can use the following snippet in your template to distinguish them: $if(sourcefile)$ $for(sourcefile)$ $sourcefile$ $endfor$ $else$ (stdin) $endif$ Similarly, `outputfile` can be `-` if output goes to the terminal. If you need absolute paths, use e.g. `$curdir$/$sourcefile$`. `curdir` : working directory from which pandoc is run. `toc` : non-null value if `--toc/--table-of-contents` was specified `toc-title` : title of table of contents (works only with EPUB, HTML, opendocument, odt, docx, pptx, beamer, LaTeX) [pandoc-templates]: https://github.com/jgm/pandoc-templates # Extensions The behavior of some of the readers and writers can be adjusted by enabling or disabling various extensions. An extension can be enabled by adding `+EXTENSION` to the format name and disabled by adding `-EXTENSION`. For example, `--from markdown_strict+footnotes` is strict Markdown with footnotes enabled, while `--from markdown-footnotes-pipe_tables` is pandoc's Markdown without footnotes or pipe tables. The markdown reader and writer make by far the most use of extensions. Extensions only used by them are therefore covered in the section [Pandoc's Markdown] below (See [Markdown variants] for `commonmark` and `gfm`.) In the following, extensions that also work for other formats are covered. Note that markdown extensions added to the `ipynb` format affect Markdown cells in Jupyter notebooks (as do command-line options like `--atx-headers`). ## Typography #### Extension: `smart` #### Interpret straight quotes as curly quotes, `---` as em-dashes, `--` as en-dashes, and `...` as ellipses. Nonbreaking spaces are inserted after certain abbreviations, such as "Mr." This extension can be enabled/disabled for the following formats: input formats : `markdown`, `commonmark`, `latex`, `mediawiki`, `org`, `rst`, `twiki` output formats : `markdown`, `latex`, `context`, `rst` enabled by default in : `markdown`, `latex`, `context` (both input and output) Note: If you are *writing* Markdown, then the `smart` extension has the reverse effect: what would have been curly quotes comes out straight. In LaTeX, `smart` means to use the standard TeX ligatures for quotation marks (` `` ` and ` '' ` for double quotes, `` ` `` and `` ' `` for single quotes) and dashes (`--` for en-dash and `---` for em-dash). If `smart` is disabled, then in reading LaTeX pandoc will parse these characters literally. In writing LaTeX, enabling `smart` tells pandoc to use the ligatures when possible; if `smart` is disabled pandoc will use unicode quotation mark and dash characters. ## Headings and sections #### Extension: `auto_identifiers` #### A heading without an explicitly specified identifier will be automatically assigned a unique identifier based on the heading text. This extension can be enabled/disabled for the following formats: input formats : `markdown`, `latex`, `rst`, `mediawiki`, `textile` output formats : `markdown`, `muse` enabled by default in : `markdown`, `muse` The default algorithm used to derive the identifier from the heading text is: - Remove all formatting, links, etc. - Remove all footnotes. - Remove all non-alphanumeric characters, except underscores, hyphens, and periods. - Replace all spaces and newlines with hyphens. - Convert all alphabetic characters to lowercase. - Remove everything up to the first letter (identifiers may not begin with a number or punctuation mark). - If nothing is left after this, use the identifier `section`. Thus, for example, Heading Identifier ------------------------------- ---------------------------- `Heading identifiers in HTML` `heading-identifiers-in-html` `Maître d'hôtel` `maître-dhôtel` `*Dogs*?--in *my* house?` `dogs--in-my-house` `[HTML], [S5], or [RTF]?` `html-s5-or-rtf` `3. Applications` `applications` `33` `section` These rules should, in most cases, allow one to determine the identifier from the heading text. The exception is when several headings have the same text; in this case, the first will get an identifier as described above; the second will get the same identifier with `-1` appended; the third with `-2`; and so on. (However, a different algorithm is used if `gfm_auto_identifiers` is enabled; see below.) These identifiers are used to provide link targets in the table of contents generated by the `--toc|--table-of-contents` option. They also make it easy to provide links from one section of a document to another. A link to this section, for example, might look like this: See the section on [heading identifiers](#heading-identifiers-in-html-latex-and-context). Note, however, that this method of providing links to sections works only in HTML, LaTeX, and ConTeXt formats. If the `--section-divs` option is specified, then each section will be wrapped in a `section` (or a `div`, if `html4` was specified), and the identifier will be attached to the enclosing `
` (or `
`) tag rather than the heading itself. This allows entire sections to be manipulated using JavaScript or treated differently in CSS. #### Extension: `ascii_identifiers` #### Causes the identifiers produced by `auto_identifiers` to be pure ASCII. Accents are stripped off of accented Latin letters, and non-Latin letters are omitted. #### Extension: `gfm_auto_identifiers` #### Changes the algorithm used by `auto_identifiers` to conform to GitHub's method. Spaces are converted to dashes (`-`), uppercase characters to lowercase characters, and punctuation characters other than `-` and `_` are removed. Emojis are replaced by their names. ## Math Input The extensions [`tex_math_dollars`](#extension-tex_math_dollars), [`tex_math_single_backslash`](#extension-tex_math_single_backslash), and [`tex_math_double_backslash`](#extension-tex_math_double_backslash) are described in the section about Pandoc's Markdown. However, they can also be used with HTML input. This is handy for reading web pages formatted using MathJax, for example. ## Raw HTML/TeX The following extensions (especially how they affect Markdown input/output) are also described in more detail in their respective sections of [Pandoc's Markdown]. #### Extension: `raw_html` {#raw_html} When converting from HTML, parse elements to raw HTML which are not representable in pandoc's AST. By default, this is disabled for HTML input. #### Extension: `raw_tex` {#raw_tex} Allows raw LaTeX, TeX, and ConTeXt to be included in a document. This extension can be enabled/disabled for the following formats (in addition to `markdown`): input formats : `latex`, `org`, `textile`, `html` (environments, `\ref`, and `\eqref` only), `ipynb` output formats : `textile`, `commonmark` Note: as applied to `ipynb`, `raw_html` and `raw_tex` affect not only raw TeX in markdown cells, but data with mime type `text/html` in output cells. Since the `ipynb` reader attempts to preserve the richest possible outputs when several options are given, you will get best results if you disable `raw_html` and `raw_tex` when converting to formats like `docx` which don't allow raw `html` or `tex`. #### Extension: `native_divs` {#native_divs} This extension is enabled by default for HTML input. This means that `div`s are parsed to pandoc native elements. (Alternatively, you can parse them to raw HTML using `-f html-native_divs+raw_html`.) When converting HTML to Markdown, for example, you may want to drop all `div`s and `span`s: pandoc -f html-native_divs-native_spans -t markdown #### Extension: `native_spans` {#native_spans} Analogous to `native_divs` above. ## Literate Haskell support #### Extension: `literate_haskell` #### Treat the document as literate Haskell source. This extension can be enabled/disabled for the following formats: input formats : `markdown`, `rst`, `latex` output formats : `markdown`, `rst`, `latex`, `html` If you append `+lhs` (or `+literate_haskell`) to one of the formats above, pandoc will treat the document as literate Haskell source. This means that - In Markdown input, "bird track" sections will be parsed as Haskell code rather than block quotations. Text between `\begin{code}` and `\end{code}` will also be treated as Haskell code. For ATX-style headings the character '=' will be used instead of '#'. - In Markdown output, code blocks with classes `haskell` and `literate` will be rendered using bird tracks, and block quotations will be indented one space, so they will not be treated as Haskell code. In addition, headings will be rendered setext-style (with underlines) rather than ATX-style (with '#' characters). (This is because ghc treats '#' characters in column 1 as introducing line numbers.) - In restructured text input, "bird track" sections will be parsed as Haskell code. - In restructured text output, code blocks with class `haskell` will be rendered using bird tracks. - In LaTeX input, text in `code` environments will be parsed as Haskell code. - In LaTeX output, code blocks with class `haskell` will be rendered inside `code` environments. - In HTML output, code blocks with class `haskell` will be rendered with class `literatehaskell` and bird tracks. Examples: pandoc -f markdown+lhs -t html reads literate Haskell source formatted with Markdown conventions and writes ordinary HTML (without bird tracks). pandoc -f markdown+lhs -t html+lhs writes HTML with the Haskell code in bird tracks, so it can be copied and pasted as literate Haskell source. Note that GHC expects the bird tracks in the first column, so indented literate code blocks (e.g. inside an itemized environment) will not be picked up by the Haskell compiler. ## Other extensions #### Extension: `empty_paragraphs` #### Allows empty paragraphs. By default empty paragraphs are omitted. This extension can be enabled/disabled for the following formats: input formats : `docx`, `html` output formats : `docx`, `odt`, `opendocument`, `html` #### Extension: `native_numbering` #### Enables native numbering of figures and tables. Enumeration starts at 1. This extension can be enabled/disabled for the following formats: output formats : `odt`, `opendocument` #### Extension: `styles` #### {#ext-styles} When converting from docx, read all docx styles as divs (for paragraph styles) and spans (for character styles) regardless of whether pandoc understands the meaning of these styles. This can be used with [docx custom styles](#custom-styles). Disabled by default. input formats : `docx` #### Extension: `amuse` #### In the `muse` input format, this enables Text::Amuse extensions to Emacs Muse markup. #### Extension: `citations` {#org-citations} Some aspects of [Pandoc's Markdown citation syntax](#citations) are also accepted in `org` input. #### Extension: `ntb` #### In the `context` output format this enables the use of [Natural Tables (TABLE)](https://wiki.contextgarden.net/TABLE) instead of the default [Extreme Tables (xtables)](https://wiki.contextgarden.net/xtables). Natural tables allow more fine-grained global customization but come at a performance penalty compared to extreme tables. # Pandoc's Markdown Pandoc understands an extended and slightly revised version of John Gruber's [Markdown] syntax. This document explains the syntax, noting differences from standard Markdown. Except where noted, these differences can be suppressed by using the `markdown_strict` format instead of `markdown`. Extensions can be enabled or disabled to specify the behavior more granularly. They are described in the following. See also [Extensions] above, for extensions that work also on other formats. ## Philosophy Markdown is designed to be easy to write, and, even more importantly, easy to read: > A Markdown-formatted document should be publishable as-is, as plain > text, without looking like it's been marked up with tags or formatting > instructions. > -- [John Gruber](https://daringfireball.net/projects/markdown/syntax#philosophy) This principle has guided pandoc's decisions in finding syntax for tables, footnotes, and other extensions. There is, however, one respect in which pandoc's aims are different from the original aims of Markdown. Whereas Markdown was originally designed with HTML generation in mind, pandoc is designed for multiple output formats. Thus, while pandoc allows the embedding of raw HTML, it discourages it, and provides other, non-HTMLish ways of representing important document elements like definition lists, tables, mathematics, and footnotes. ## Paragraphs A paragraph is one or more lines of text followed by one or more blank lines. Newlines are treated as spaces, so you can reflow your paragraphs as you like. If you need a hard line break, put two or more spaces at the end of a line. #### Extension: `escaped_line_breaks` #### A backslash followed by a newline is also a hard line break. Note: in multiline and grid table cells, this is the only way to create a hard line break, since trailing spaces in the cells are ignored. ## Headings There are two kinds of headings: Setext and ATX. ### Setext-style headings ### A setext-style heading is a line of text "underlined" with a row of `=` signs (for a level-one heading) or `-` signs (for a level-two heading): A level-one heading =================== A level-two heading ------------------- The heading text can contain inline formatting, such as emphasis (see [Inline formatting], below). ### ATX-style headings ### An ATX-style heading consists of one to six `#` signs and a line of text, optionally followed by any number of `#` signs. The number of `#` signs at the beginning of the line is the heading level: ## A level-two heading ### A level-three heading ### As with setext-style headings, the heading text can contain formatting: # A level-one heading with a [link](/url) and *emphasis* #### Extension: `blank_before_header` #### Standard Markdown syntax does not require a blank line before a heading. Pandoc does require this (except, of course, at the beginning of the document). The reason for the requirement is that it is all too easy for a `#` to end up at the beginning of a line by accident (perhaps through line wrapping). Consider, for example: I like several of their flavors of ice cream: #22, for example, and #5. #### Extension: `space_in_atx_header` #### Many Markdown implementations do not require a space between the opening `#`s of an ATX heading and the heading text, so that `#5 bolt` and `#hashtag` count as headings. With this extension, pandoc does require the space. ### Heading identifiers ### See also the [`auto_identifiers` extension](#extension-auto_identifiers) above. #### Extension: `header_attributes` #### Headings can be assigned attributes using this syntax at the end of the line containing the heading text: {#identifier .class .class key=value key=value} Thus, for example, the following headings will all be assigned the identifier `foo`: # My heading {#foo} ## My heading ## {#foo} My other heading {#foo} --------------- (This syntax is compatible with [PHP Markdown Extra].) Note that although this syntax allows assignment of classes and key/value attributes, writers generally don't use all of this information. Identifiers, classes, and key/value attributes are used in HTML and HTML-based formats such as EPUB and slidy. Identifiers are used for labels and link anchors in the LaTeX, ConTeXt, Textile, Jira markup, and AsciiDoc writers. Headings with the class `unnumbered` will not be numbered, even if `--number-sections` is specified. A single hyphen (`-`) in an attribute context is equivalent to `.unnumbered`, and preferable in non-English documents. So, # My heading {-} is just the same as # My heading {.unnumbered} If the `unlisted` class is present in addition to `unnumbered`, the heading will not be included in a table of contents. (Currently this feature is only implemented for certain formats: those based on LaTeX and HTML, PowerPoint, and RTF.) #### Extension: `implicit_header_references` #### Pandoc behaves as if reference links have been defined for each heading. So, to link to a heading # Heading identifiers in HTML you can simply write [Heading identifiers in HTML] or [Heading identifiers in HTML][] or [the section on heading identifiers][heading identifiers in HTML] instead of giving the identifier explicitly: [Heading identifiers in HTML](#heading-identifiers-in-html) If there are multiple headings with identical text, the corresponding reference will link to the first one only, and you will need to use explicit links to link to the others, as described above. Like regular reference links, these references are case-insensitive. Explicit link reference definitions always take priority over implicit heading references. So, in the following example, the link will point to `bar`, not to `#foo`: # Foo [foo]: bar See [foo] ## Block quotations Markdown uses email conventions for quoting blocks of text. A block quotation is one or more paragraphs or other block elements (such as lists or headings), with each line preceded by a `>` character and an optional space. (The `>` need not start at the left margin, but it should not be indented more than three spaces.) > This is a block quote. This > paragraph has two lines. > > 1. This is a list inside a block quote. > 2. Second item. A "lazy" form, which requires the `>` character only on the first line of each block, is also allowed: > This is a block quote. This paragraph has two lines. > 1. This is a list inside a block quote. 2. Second item. Among the block elements that can be contained in a block quote are other block quotes. That is, block quotes can be nested: > This is a block quote. > > > A block quote within a block quote. If the `>` character is followed by an optional space, that space will be considered part of the block quote marker and not part of the indentation of the contents. Thus, to put an indented code block in a block quote, you need five spaces after the `>`: > code #### Extension: `blank_before_blockquote` #### Standard Markdown syntax does not require a blank line before a block quote. Pandoc does require this (except, of course, at the beginning of the document). The reason for the requirement is that it is all too easy for a `>` to end up at the beginning of a line by accident (perhaps through line wrapping). So, unless the `markdown_strict` format is used, the following does not produce a nested block quote in pandoc: > This is a block quote. >> Nested. ## Verbatim (code) blocks ### Indented code blocks ### A block of text indented four spaces (or one tab) is treated as verbatim text: that is, special characters do not trigger special formatting, and all spaces and line breaks are preserved. For example, if (a > 3) { moveShip(5 * gravity, DOWN); } The initial (four space or one tab) indentation is not considered part of the verbatim text, and is removed in the output. Note: blank lines in the verbatim text need not begin with four spaces. ### Fenced code blocks ### #### Extension: `fenced_code_blocks` #### In addition to standard indented code blocks, pandoc supports *fenced* code blocks. These begin with a row of three or more tildes (`~`) and end with a row of tildes that must be at least as long as the starting row. Everything between these lines is treated as code. No indentation is necessary: ~~~~~~~ if (a > 3) { moveShip(5 * gravity, DOWN); } ~~~~~~~ Like regular code blocks, fenced code blocks must be separated from surrounding text by blank lines. If the code itself contains a row of tildes or backticks, just use a longer row of tildes or backticks at the start and end: ~~~~~~~~~~~~~~~~ ~~~~~~~~~~ code including tildes ~~~~~~~~~~ ~~~~~~~~~~~~~~~~ #### Extension: `backtick_code_blocks` #### Same as `fenced_code_blocks`, but uses backticks (`` ` ``) instead of tildes (`~`). #### Extension: `fenced_code_attributes` #### Optionally, you may attach attributes to fenced or backtick code block using this syntax: ~~~~ {#mycode .haskell .numberLines startFrom="100"} qsort [] = [] qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Here `mycode` is an identifier, `haskell` and `numberLines` are classes, and `startFrom` is an attribute with value `100`. Some output formats can use this information to do syntax highlighting. Currently, the only output formats that uses this information are HTML, LaTeX, Docx, Ms, and PowerPoint. If highlighting is supported for your output format and language, then the code block above will appear highlighted, with numbered lines. (To see which languages are supported, type `pandoc --list-highlight-languages`.) Otherwise, the code block above will appear as follows:
      
      ...
      
    
The `numberLines` (or `number-lines`) class will cause the lines of the code block to be numbered, starting with `1` or the value of the `startFrom` attribute. The `lineAnchors` (or `line-anchors`) class will cause the lines to be clickable anchors in HTML output. A shortcut form can also be used for specifying the language of the code block: ```haskell qsort [] = [] ``` This is equivalent to: ``` {.haskell} qsort [] = [] ``` If the `fenced_code_attributes` extension is disabled, but input contains class attribute(s) for the code block, the first class attribute will be printed after the opening fence as a bare word. To prevent all highlighting, use the `--no-highlight` flag. To set the highlighting style, use `--highlight-style`. For more information on highlighting, see [Syntax highlighting], below. ## Line blocks #### Extension: `line_blocks` #### A line block is a sequence of lines beginning with a vertical bar (`|`) followed by a space. The division into lines will be preserved in the output, as will any leading spaces; otherwise, the lines will be formatted as Markdown. This is useful for verse and addresses: | The limerick packs laughs anatomical | In space that is quite economical. | But the good ones I've seen | So seldom are clean | And the clean ones so seldom are comical | 200 Main St. | Berkeley, CA 94718 The lines can be hard-wrapped if needed, but the continuation line must begin with a space. | The Right Honorable Most Venerable and Righteous Samuel L. Constable, Jr. | 200 Main St. | Berkeley, CA 94718 This syntax is borrowed from [reStructuredText]. ## Lists ### Bullet lists ### A bullet list is a list of bulleted list items. A bulleted list item begins with a bullet (`*`, `+`, or `-`). Here is a simple example: * one * two * three This will produce a "compact" list. If you want a "loose" list, in which each item is formatted as a paragraph, put spaces between the items: * one * two * three The bullets need not be flush with the left margin; they may be indented one, two, or three spaces. The bullet must be followed by whitespace. List items look best if subsequent lines are flush with the first line (after the bullet): * here is my first list item. * and my second. But Markdown also allows a "lazy" format: * here is my first list item. * and my second. ### Block content in list items ### A list item may contain multiple paragraphs and other block-level content. However, subsequent paragraphs must be preceded by a blank line and indented to line up with the first non-space content after the list marker. * First paragraph. Continued. * Second paragraph. With a code block, which must be indented eight spaces: { code } Exception: if the list marker is followed by an indented code block, which must begin 5 spaces after the list marker, then subsequent paragraphs must begin two columns after the last character of the list marker: * code continuation paragraph List items may include other lists. In this case the preceding blank line is optional. The nested list must be indented to line up with the first non-space character after the list marker of the containing list item. * fruits + apples - macintosh - red delicious + pears + peaches * vegetables + broccoli + chard As noted above, Markdown allows you to write list items "lazily," instead of indenting continuation lines. However, if there are multiple paragraphs or other blocks in a list item, the first line of each must be indented. + A lazy, lazy, list item. + Another one; this looks bad but is legal. Second paragraph of second list item. ### Ordered lists ### Ordered lists work just like bulleted lists, except that the items begin with enumerators rather than bullets. In standard Markdown, enumerators are decimal numbers followed by a period and a space. The numbers themselves are ignored, so there is no difference between this list: 1. one 2. two 3. three and this one: 5. one 7. two 1. three #### Extension: `fancy_lists` #### Unlike standard Markdown, pandoc allows ordered list items to be marked with uppercase and lowercase letters and roman numerals, in addition to Arabic numerals. List markers may be enclosed in parentheses or followed by a single right-parentheses or period. They must be separated from the text that follows by at least one space, and, if the list marker is a capital letter with a period, by at least two spaces.[^2] [^2]: The point of this rule is to ensure that normal paragraphs starting with people's initials, like B. Russell was an English philosopher. do not get treated as list items. This rule will not prevent (C) 2007 Joe Smith from being interpreted as a list item. In this case, a backslash escape can be used: (C\) 2007 Joe Smith The `fancy_lists` extension also allows '`#`' to be used as an ordered list marker in place of a numeral: #. one #. two #### Extension: `startnum` #### Pandoc also pays attention to the type of list marker used, and to the starting number, and both of these are preserved where possible in the output format. Thus, the following yields a list with numbers followed by a single parenthesis, starting with 9, and a sublist with lowercase roman numerals: 9) Ninth 10) Tenth 11) Eleventh i. subone ii. subtwo iii. subthree Pandoc will start a new list each time a different type of list marker is used. So, the following will create three lists: (2) Two (5) Three 1. Four * Five If default list markers are desired, use `#.`: #. one #. two #. three #### Extension: `task_lists` #### Pandoc supports task lists, using the syntax of GitHub-Flavored Markdown. - [ ] an unchecked task list item - [x] checked item ### Definition lists ### #### Extension: `definition_lists` #### Pandoc supports definition lists, using the syntax of [PHP Markdown Extra] with some extensions.[^3] Term 1 : Definition 1 Term 2 with *inline markup* : Definition 2 { some code, part of Definition 2 } Third paragraph of definition 2. Each term must fit on one line, which may optionally be followed by a blank line, and must be followed by one or more definitions. A definition begins with a colon or tilde, which may be indented one 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 (including the first line, aside from the colon or tilde) 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: Term 1 : Definition with lazy continuation. 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 output formats, this will mean greater spacing between term/definition pairs. For a more compact definition list, omit the space before the definition: Term 1 ~ Definition 1 Term 2 ~ Definition 2a ~ Definition 2b Note that space between items in a definition list is required. (A variant that loosens this requirement, but disallows "lazy" hard wrapping, can be activated with `compact_definition_lists`: see [Non-pandoc extensions], below.) [^3]: I have been influenced by the suggestions of [David Wheeler](https://justatheory.com/2009/02/modest-markdown-proposal/). ### Numbered example lists ### #### Extension: `example_lists` #### The special list marker `@` can be used for sequentially numbered examples. The first list item with a `@` marker will be numbered '1', the next '2', and so on, throughout the document. The numbered examples need not occur in a single list; each new list using `@` will take up where the last stopped. So, for example: (@) My first example will be numbered (1). (@) My second example will be numbered (2). Explanation of examples. (@) My third example will be numbered (3). Numbered examples can be labeled and referred to elsewhere in the document: (@good) This is a good example. As (@good) illustrates, ... The label can be any string of alphanumeric characters, underscores, or hyphens. Note: continuation paragraphs in example lists must always be indented four spaces, regardless of the length of the list marker. That is, example lists always behave as if the `four_space_rule` extension is set. This is because example labels tend to be long, and indenting content to the first non-space character after the label would be awkward. ### Compact and loose lists ### Pandoc behaves differently from `Markdown.pl` on some "edge cases" involving lists. Consider this source: + First + Second: - Fee - Fie - Foe + Third Pandoc transforms this into a "compact list" (with no `

` tags around "First", "Second", or "Third"), while Markdown puts `

` tags around "Second" and "Third" (but not "First"), because of the blank space around "Third". Pandoc follows a simple rule: if the text is followed by a blank line, it is treated as a paragraph. Since "Second" is followed by a list, and not a blank line, it isn't treated as a paragraph. The fact that the list is followed by a blank line is irrelevant. (Note: Pandoc works this way even when the `markdown_strict` format is specified. This behavior is consistent with the official Markdown syntax description, even though it is different from that of `Markdown.pl`.) ### Ending a list ### What if you want to put an indented code block after a list? - item one - item two { my code block } Trouble! Here pandoc (like other Markdown implementations) will treat `{ my code block }` as the second paragraph of item two, and not as a code block. To "cut off" the list after item two, you can insert some non-indented content, like an HTML comment, which won't produce visible output in any format: - item one - item two { my code block } You can use the same trick if you want two consecutive lists instead of one big list: 1. one 2. two 3. three 1. uno 2. dos 3. tres ## Horizontal rules A line containing a row of three or more `*`, `-`, or `_` characters (optionally separated by spaces) produces a horizontal rule: * * * * --------------- ## Tables Four kinds of tables may be used. The first three kinds presuppose the use of a fixed-width font, such as Courier. The fourth kind can be used with proportionally spaced fonts, as it does not require lining up columns. #### Extension: `table_captions` #### A caption may optionally be provided with all 4 kinds of tables (as illustrated in the examples below). A caption is a paragraph beginning with the string `Table:` (or just `:`), which will be stripped off. It may appear either before or after the table. #### Extension: `simple_tables` #### Simple tables look like this: Right Left Center Default ------- ------ ---------- ------- 12 12 12 12 123 123 123 123 1 1 1 1 Table: Demonstration of simple table syntax. The header and table rows must each fit on one line. Column alignments are determined by the position of the header text relative to the dashed line below it:[^4] - If the dashed line is flush with the header text on the right side but extends beyond it on the left, the column is right-aligned. - If the dashed line is flush with the header text on the left side but extends beyond it on the right, the column is left-aligned. - If the dashed line extends beyond the header text on both sides, the column is centered. - If the dashed line is flush with the header text on both sides, the default alignment is used (in most cases, this will be left). [^4]: This scheme is due to Michel Fortin, who proposed it on the [Markdown discussion list](http://six.pairlist.net/pipermail/markdown-discuss/2005-March/001097.html). The table must end with a blank line, or a line of dashes followed by a blank line. The column header row may be omitted, provided a dashed line is used to end the table. For example: ------- ------ ---------- ------- 12 12 12 12 123 123 123 123 1 1 1 1 ------- ------ ---------- ------- When the header row is omitted, column alignments are determined on the basis of the first line of the table body. So, in the tables above, the columns would be right, left, center, and right aligned, respectively. #### Extension: `multiline_tables` #### Multiline tables allow header and table rows to span multiple lines of text (but cells that span multiple columns or rows of the table are not supported). Here is an example: ------------------------------------------------------------- Centered Default Right Left Header Aligned Aligned Aligned ----------- ------- --------------- ------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. ------------------------------------------------------------- Table: Here's the caption. It, too, may span multiple lines. These work like simple tables, but with the following differences: - They must begin with a row of dashes, before the header text (unless the header row is omitted). - They must end with a row of dashes, then a blank line. - The rows must be separated by blank lines. In multiline tables, the table parser pays attention to the widths of the columns, and the writers try to reproduce these relative widths in the output. So, if you find that one of the columns is too narrow in the output, try widening it in the Markdown source. The header may be omitted in multiline tables as well as simple tables: ----------- ------- --------------- ------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. ----------- ------- --------------- ------------------------- : Here's a multiline table without a header. It is possible for a multiline table to have just one row, but the row should be followed by a blank line (and then the row of dashes that ends the table), or the table may be interpreted as a simple table. #### Extension: `grid_tables` #### Grid tables look like this: : Sample grid table. +---------------+---------------+--------------------+ | Fruit | Price | Advantages | +===============+===============+====================+ | Bananas | $1.34 | - built-in wrapper | | | | - bright color | +---------------+---------------+--------------------+ | Oranges | $2.10 | - cures scurvy | | | | - tasty | +---------------+---------------+--------------------+ The row of `=`s separates the header from the table body, and can be omitted for a headerless table. The cells of grid tables may contain arbitrary block elements (multiple paragraphs, code blocks, lists, etc.). Cells that span multiple columns or rows are not supported. Grid tables can be created easily using Emacs' table-mode (`M-x table-insert`). Alignments can be specified as with pipe tables, by putting colons at the boundaries of the separator line after the header: +---------------+---------------+--------------------+ | Right | Left | Centered | +==============:+:==============+:==================:+ | Bananas | $1.34 | built-in wrapper | +---------------+---------------+--------------------+ For headerless tables, the colons go on the top line instead: +--------------:+:--------------+:------------------:+ | Right | Left | Centered | +---------------+---------------+--------------------+ ##### Grid Table Limitations ##### Pandoc does not support grid tables with row spans or column spans. This means that neither variable numbers of columns across rows nor variable numbers of rows across columns are supported by Pandoc. All grid tables must have the same number of columns in each row, and the same number of rows in each column. For example, the Docutils [sample grid tables] will not render as expected with Pandoc. [sample grid tables]: https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#grid-tables #### Extension: `pipe_tables` #### Pipe tables look like this: | Right | Left | Default | Center | |------:|:-----|---------|:------:| | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | : Demonstration of pipe table syntax. The syntax is identical to [PHP Markdown Extra tables]. The beginning and ending pipe characters are optional, but pipes are required between all columns. The colons indicate column alignment as shown. The header cannot be omitted. To simulate a headerless table, include a header with blank cells. Since the pipes indicate column boundaries, columns need not be vertically aligned, as they are in the above example. So, this is a perfectly legal (though ugly) pipe table: fruit| price -----|-----: apple|2.05 pear|1.37 orange|3.09 The cells of pipe tables cannot contain block elements like paragraphs and lists, and cannot span multiple lines. If a pipe table contains a row whose printable content is wider than the column width (see `--columns`), then the table will take up the full text width and the cell contents will wrap, with the relative cell widths determined by the number of dashes in the line separating the table header from the table body. (For example `---|-` would make the first column 3/4 and the second column 1/4 of the full text width.) On the other hand, if no lines are wider than column width, then cell contents will not be wrapped, and the cells will be sized to their contents. Note: pandoc also recognizes pipe tables of the following form, as can be produced by Emacs' orgtbl-mode: | One | Two | |-----+-------| | my | table | | is | nice | The difference is that `+` is used instead of `|`. Other orgtbl features are not supported. In particular, to get non-default column alignment, you'll need to add colons as above. [PHP Markdown Extra tables]: https://michelf.ca/projects/php-markdown/extra/#table ## Metadata blocks #### Extension: `pandoc_title_block` #### If the file begins with a title block % title % author(s) (separated by semicolons) % date it will be parsed as bibliographic information, not regular text. (It will be used, for example, in the title of standalone LaTeX or HTML output.) The block may contain just a title, a title and an author, or all three elements. If you want to include an author but no title, or a title and a date but no author, you need a blank line: % % Author % My title % % June 15, 2006 The title may occupy multiple lines, but continuation lines must begin with leading space, thus: % My title on multiple lines If a document has multiple authors, the authors may be put on separate lines with leading space, or separated by semicolons, or both. So, all of the following are equivalent: % Author One Author Two % Author One; Author Two % Author One; Author Two The date must fit on one line. All three metadata fields may contain standard inline formatting (italics, links, footnotes, etc.). Title blocks will always be parsed, but they will affect the output only when the `--standalone` (`-s`) option is chosen. In HTML output, titles will appear twice: once in the document head -- this is the title that will appear at the top of the window in a browser -- and once at the beginning of the document body. The title in the document head can have an optional prefix attached (`--title-prefix` or `-T` option). The title in the body appears as an H1 element with class "title", so it can be suppressed or reformatted with CSS. If a title prefix is specified with `-T` and no title block appears in the document, the title prefix will be used by itself as the HTML title. The man page writer extracts a title, man page section number, and other header and footer information from the title line. The title is assumed to be the first word on the title line, which may optionally end with a (single-digit) section number in parentheses. (There should be no space between the title and the parentheses.) Anything after this is assumed to be additional footer and header text. A single pipe character (`|`) should be used to separate the footer text from the header text. Thus, % PANDOC(1) will yield a man page with the title `PANDOC` and section 1. % PANDOC(1) Pandoc User Manuals will also have "Pandoc User Manuals" in the footer. % PANDOC(1) Pandoc User Manuals | Version 4.0 will also have "Version 4.0" in the header. #### Extension: `yaml_metadata_block` #### A [YAML] metadata block is a valid YAML object, delimited by a line of three hyphens (`---`) at the top and a line of three hyphens (`---`) or three dots (`...`) at the bottom. A YAML metadata block may occur anywhere in the document, but if it is not at the beginning, it must be preceded by a blank line. (Note that, because of the way pandoc concatenates input files when several are provided, you may also keep the metadata in a separate YAML file and pass it to pandoc as an argument, along with your Markdown files: pandoc chap1.md chap2.md chap3.md metadata.yaml -s -o book.html Just be sure that the YAML file begins with `---` and ends with `---` or `...`.) Alternatively, you can use the `--metadata-file` option. Using that approach however, you cannot reference content (like footnotes) from the main markdown input document. Metadata will be taken from the fields of the YAML object and added to any existing document metadata. Metadata can contain lists and objects (nested arbitrarily), but all string scalars will be interpreted as Markdown. Fields with names ending in an underscore will be ignored by pandoc. (They may be given a role by external processors.) Field names must not be interpretable as YAML numbers or boolean values (so, for example, `yes`, `True`, and `15` cannot be used as field names). A document may contain multiple metadata blocks. If two metadata blocks attempt to set the same field, the value from the second block will be taken. When pandoc is used with `-t markdown` to create a Markdown document, a YAML metadata block will be produced only if the `-s/--standalone` option is used. All of the metadata will appear in a single block at the beginning of the document. Note that [YAML] escaping rules must be followed. Thus, for example, if a title contains a colon, it must be quoted. The pipe character (`|`) can be used to begin an indented block that will be interpreted literally, without need for escaping. This form is necessary when the field contains blank lines or block-level formatting: --- title: 'This is the title: it contains a colon' author: - Author One - Author Two keywords: [nothing, nothingness] abstract: | This is the abstract. It consists of two paragraphs. ... Template variables will be set automatically from the metadata. Thus, for example, in writing HTML, the variable `abstract` will be set to the HTML equivalent of the Markdown in the `abstract` field:

This is the abstract.

It consists of two paragraphs.

Variables can contain arbitrary YAML structures, but the template must match this structure. The `author` variable in the default templates expects a simple list or string, but can be changed to support more complicated structures. The following combination, for example, would add an affiliation to the author if one is given: --- title: The document title author: - name: Author One affiliation: University of Somewhere - name: Author Two affiliation: University of Nowhere ... To use the structured authors in the example above, you would need a custom template: $for(author)$ $if(author.name)$ $author.name$$if(author.affiliation)$ ($author.affiliation$)$endif$ $else$ $author$ $endif$ $endfor$ Raw content to include in the document's header may be specified using `header-includes`; however, it is important to mark up this content as raw code for a particular output format, using the [`raw_attribute` extension](#extension-raw_attribute)), or it will be interpreted as markdown. For example: header-includes: - | ```{=latex} \let\oldsection\section \renewcommand{\section}[1]{\clearpage\oldsection{#1}} ``` ## Backslash escapes #### Extension: `all_symbols_escapable` #### Except inside a code block or inline code, any punctuation or space character preceded by a backslash will be treated literally, even if it would normally indicate formatting. Thus, for example, if one writes *\*hello\** one will get *hello* instead of hello This rule is easier to remember than standard Markdown's rule, which allows only the following characters to be backslash-escaped: \`*_{}[]()>#+-.! (However, if the `markdown_strict` format is used, the standard Markdown rule will be used.) A backslash-escaped space is parsed as a nonbreaking space. In TeX output, it will appear as `~`. In HTML and XML output, it will appear as a literal unicode nonbreaking space character (note that it will thus actually look "invisible" in the generated HTML source; you can still use the `--ascii` command-line option to make it appear as an explicit entity). A backslash-escaped newline (i.e. a backslash occurring at the end of a line) is parsed as a hard line break. It will appear in TeX output as `\\` and in HTML as `
`. This is a nice alternative to Markdown's "invisible" way of indicating hard line breaks using two trailing spaces on a line. Backslash escapes do not work in verbatim contexts. ## Inline formatting ### Emphasis ### To *emphasize* some text, surround it with `*`s or `_`, like this: This text is _emphasized with underscores_, and this is *emphasized with asterisks*. Double `*` or `_` produces **strong emphasis**: This is **strong emphasis** and __with underscores__. A `*` or `_` character surrounded by spaces, or backslash-escaped, will not trigger emphasis: This is * not emphasized *, and \*neither is this\*. #### Extension: `intraword_underscores` #### Because `_` is sometimes used inside words and identifiers, pandoc does not interpret a `_` surrounded by alphanumeric characters as an emphasis marker. If you want to emphasize just part of a word, use `*`: feas*ible*, not feas*able*. ### Strikeout ### #### Extension: `strikeout` #### To strikeout a section of text with a horizontal line, begin and end it with `~~`. Thus, for example, This ~~is deleted text.~~ ### Superscripts and subscripts ### #### Extension: `superscript`, `subscript` #### Superscripts may be written by surrounding the superscripted text by `^` characters; subscripts may be written by surrounding the subscripted text by `~` characters. Thus, for example, H~2~O is a liquid. 2^10^ is 1024. The text between `^...^` or `~...~` may not contain spaces or newlines. If the superscripted or subscripted text contains spaces, these spaces must be escaped with backslashes. (This is to prevent accidental superscripting and subscripting through the ordinary use of `~` and `^`, and also bad interactions with footnotes.) Thus, if you want the letter P with 'a cat' in subscripts, use `P~a\ cat~`, not `P~a cat~`. ### Verbatim ### To make a short span of text verbatim, put it inside backticks: What is the difference between `>>=` and `>>`? If the verbatim text includes a backtick, use double backticks: Here is a literal backtick `` ` ``. (The spaces after the opening backticks and before the closing backticks will be ignored.) The general rule is that a verbatim span starts with a string of consecutive backticks (optionally followed by a space) and ends with a string of the same number of backticks (optionally preceded by a space). Note that backslash-escapes (and other Markdown constructs) do not work in verbatim contexts: This is a backslash followed by an asterisk: `\*`. #### Extension: `inline_code_attributes` #### Attributes can be attached to verbatim text, just as with [fenced code blocks]: `<$>`{.haskell} ### Small caps ### To write small caps, use the `smallcaps` class: [Small caps]{.smallcaps} Or, without the `bracketed_spans` extension: Small caps For compatibility with other Markdown flavors, CSS is also supported: Small caps This will work in all output formats that support small caps. ## Math #### Extension: `tex_math_dollars` #### Anything between two `$` characters will be treated as TeX math. The opening `$` must have a non-space character immediately to its right, while the closing `$` must have a non-space character immediately to its left, and must not be followed immediately by a digit. Thus, `$20,000 and $30,000` won't parse as math. If for some reason you need to enclose text in literal `$` characters, backslash-escape them and they won't be treated as math delimiters. For display math, use `$$` delimiters. (In this case, the delimiters may be separated from the formula by whitespace.) TeX math will be printed in all output formats. How it is rendered depends on the output format: LaTeX ~ It will appear verbatim surrounded by `\(...\)` (for inline math) or `\[...\]` (for display math). Markdown, Emacs Org mode, ConTeXt, ZimWiki ~ It will appear verbatim surrounded by `$...$` (for inline math) or `$$...$$` (for display math). XWiki ~ It will appear verbatim surrounded by `{{formula}}..{{/formula}}`. reStructuredText ~ It will be rendered using an [interpreted text role `:math:`]. AsciiDoc ~ For AsciiDoc output format (`-t asciidoc`) it will appear verbatim surrounded by `latexmath:[$...$]` (for inline math) or `[latexmath]++++\[...\]+++` (for display math). For AsciiDoctor output format (`-t asciidoctor`) the LaTex delimiters (`$..$` and `\[..\]`) are omitted. Texinfo ~ It will be rendered inside a `@math` command. roff man, Jira markup ~ It will be rendered verbatim without `$`'s. MediaWiki, DokuWiki ~ It will be rendered inside `` tags. Textile ~ It will be rendered inside `` tags. RTF, OpenDocument ~ It will be rendered, if possible, using Unicode characters, and will otherwise appear verbatim. ODT ~ It will be rendered, if possible, using MathML. DocBook ~ If the `--mathml` flag is used, it will be rendered using MathML in an `inlineequation` or `informalequation` tag. Otherwise it will be rendered, if possible, using Unicode characters. Docx ~ It will be rendered using OMML math markup. FictionBook2 ~ If the `--webtex` option is used, formulas are rendered as images using CodeCogs or other compatible web service, downloaded and embedded in the e-book. Otherwise, they will appear verbatim. HTML, Slidy, DZSlides, S5, EPUB ~ The way math is rendered in HTML will depend on the command-line options selected. Therefore see [Math rendering in HTML] above. [interpreted text role `:math:`]: https://docutils.sourceforge.io/docs/ref/rst/roles.html#math ## Raw HTML #### Extension: `raw_html` #### Markdown allows you to insert raw HTML (or DocBook) anywhere in a document (except verbatim contexts, where `<`, `>`, and `&` are interpreted literally). (Technically this is not an extension, since standard Markdown allows it, but it has been made an extension so that it can be disabled if desired.) The raw HTML is passed through unchanged in HTML, S5, Slidy, Slideous, DZSlides, EPUB, Markdown, CommonMark, Emacs Org mode, and Textile output, and suppressed in other formats. For a more explicit way of including raw HTML in a Markdown document, see the [`raw_attribute` extension][Extension: `raw_attribute`]. In the CommonMark format, if `raw_html` is enabled, superscripts, subscripts, strikeouts and small capitals will be represented as HTML. Otherwise, plain-text fallbacks will be used. Note that even if `raw_html` is disabled, tables will be rendered with HTML syntax if they cannot use pipe syntax. #### Extension: `markdown_in_html_blocks` #### Standard Markdown allows you to include HTML "blocks": blocks of HTML between balanced tags that are separated from the surrounding text with blank lines, and start and end at the left margin. Within these blocks, everything is interpreted as HTML, not Markdown; so (for example), `*` does not signify emphasis. Pandoc behaves this way when the `markdown_strict` format is used; but by default, pandoc interprets material between HTML block tags as Markdown. Thus, for example, pandoc will turn
*one* [a link](https://google.com)
into
one a link
whereas `Markdown.pl` will preserve it as is. There is one exception to this rule: text between ` HTML """) ``` ## Image This image ![image](myimage.png) will be included as a cell attachment. ```` If you want to add cell attributes, group cells differently, or add output to code cells, then you need to include divs to indicate the structure. You can use either [fenced divs][Extension: `fenced_divs`] or [native divs][Extension: `native_divs`] for this. Here is an example: ```` :::::: {.cell .markdown} # Lorem **Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus bibendum felis dictum sodales. :::::: :::::: {.cell .code execution_count=1} ``` {.python} print("hello") ``` ::: {.output .stream .stdout} ``` hello ``` ::: :::::: :::::: {.cell .code execution_count=2} ``` {.python} from IPython.display import HTML HTML(""" HTML """) ``` ::: {.output .execute_result execution_count=2} ```{=html} HTML hello ``` ::: :::::: ```` If you include raw HTML or TeX in an output cell, use the [raw attribute][Extension: `fenced_attribute`], as shown in the last cell of the example above. Although pandoc can process "bare" raw HTML and TeX, the result is often interspersed raw elements and normal textual elements, and in an output cell pandoc expects a single, connected raw block. To avoid using raw HTML or TeX except when marked explicitly using raw attributes, we recommend specifying the extensions `-raw_html-raw_tex+raw_attribute` when translating between Markdown and ipynb notebooks. Note that options and extensions that affect reading and writing of Markdown will also affect Markdown cells in ipynb notebooks. For example, `--wrap=preserve` will preserve soft line breaks in Markdown cells; `--atx-headers` will cause ATX-style headings to be used; and `--preserve-tabs` will prevent tabs from being turned to spaces. # Syntax highlighting Pandoc will automatically highlight syntax in [fenced code blocks] that are marked with a language name. The Haskell library [skylighting] is used for highlighting. Currently highlighting is supported only for HTML, EPUB, Docx, Ms, and LaTeX/PDF output. To see a list of language names that pandoc will recognize, type `pandoc --list-highlight-languages`. The color scheme can be selected using the `--highlight-style` option. The default color scheme is `pygments`, which imitates the default color scheme used by the Python library pygments (though pygments is not actually used to do the highlighting). To see a list of highlight styles, type `pandoc --list-highlight-styles`. If you are not satisfied with the predefined styles, you can use `--print-highlight-style` to generate a JSON `.theme` file which can be modified and used as the argument to `--highlight-style`. To get a JSON version of the `pygments` style, for example: pandoc --print-highlight-style pygments > my.theme Then edit `my.theme` and use it like this: pandoc --highlight-style my.theme If you are not satisfied with the built-in highlighting, or you want highlight a language that isn't supported, you can use the `--syntax-definition` option to load a [KDE-style XML syntax definition file](https://docs.kde.org/stable5/en/applications/katepart/highlight.html). Before writing your own, have a look at KDE's [repository of syntax definitions](https://github.com/KDE/syntax-highlighting/tree/master/data/syntax). To disable highlighting, use the `--no-highlight` option. [skylighting]: https://github.com/jgm/skylighting # Custom Styles Custom styles can be used in the docx and ICML formats. ## Output By default, pandoc's docx and ICML output applies a predefined set of styles for blocks such as paragraphs and block quotes, and uses largely default formatting (italics, bold) for inlines. This will work for most purposes, especially alongside a `reference.docx` file. However, if you need to apply your own styles to blocks, or match a preexisting set of styles, pandoc allows you to define custom styles for blocks and text using `div`s and `span`s, respectively. If you define a `div` or `span` with the attribute `custom-style`, pandoc will apply your specified style to the contained elements (with the exception of elements whose function depends on a style, like headings, code blocks, block quotes, or links). So, for example, using the `bracketed_spans` syntax, [Get out]{custom-style="Emphatically"}, he said. would produce a docx file with "Get out" styled with character style `Emphatically`. Similarly, using the `fenced_divs` syntax, Dickinson starts the poem simply: ::: {custom-style="Poetry"} | A Bird came down the Walk--- | He did not know I saw--- ::: would style the two contained lines with the `Poetry` paragraph style. For docx output, styles will be defined in the output file as inheriting from normal text, if the styles are not yet in your reference.docx. If they are already defined, pandoc will not alter the definition. This feature allows for greatest customization in conjunction with [pandoc filters]. If you want all paragraphs after block quotes to be indented, you can write a filter to apply the styles necessary. If you want all italics to be transformed to the `Emphasis` character style (perhaps to change their color), you can write a filter which will transform all italicized inlines to inlines within an `Emphasis` custom-style `span`. For docx output, you don't need to enable any extensions for custom styles to work. [pandoc filters]: https://pandoc.org/filters.html ## Input The docx reader, by default, only reads those styles that it can convert into pandoc elements, either by direct conversion or interpreting the derivation of the input document's styles. By enabling the [`styles` extension](#ext-styles) in the docx reader (`-f docx+styles`), you can produce output that maintains the styles of the input document, using the `custom-style` class. Paragraph styles are interpreted as divs, while character styles are interpreted as spans. For example, using the `custom-style-reference.docx` file in the test directory, we have the following different outputs: Without the `+styles` extension: $ pandoc test/docx/custom-style-reference.docx -f docx -t markdown This is some text. This is text with an *emphasized* text style. And this is text with a **strengthened** text style. > Here is a styled paragraph that inherits from Block Text. And with the extension: $ pandoc test/docx/custom-style-reference.docx -f docx+styles -t markdown ::: {custom-style="First Paragraph"} This is some text. ::: ::: {custom-style="Body Text"} This is text with an [emphasized]{custom-style="Emphatic"} text style. And this is text with a [strengthened]{custom-style="Strengthened"} text style. ::: ::: {custom-style="My Block Style"} > Here is a styled paragraph that inherits from Block Text. ::: With these custom styles, you can use your input document as a reference-doc while creating docx output (see below), and maintain the same styles in your input and output files. # Custom writers Pandoc can be extended with custom writers written in [Lua]. (Pandoc includes a Lua interpreter, so Lua need not be installed separately.) To use a custom writer, simply specify the path to the Lua script in place of the output format. For example: pandoc -t data/sample.lua Creating a custom writer requires writing a Lua function for each possible element in a pandoc document. To get a documented example which you can modify according to your needs, do pandoc --print-default-data-file sample.lua Note that custom writers have no default template. If you want to use `--standalone` with a custom writer, you will need to specify a template manually using `--template` or add a new default template with the name `default.NAME_OF_CUSTOM_WRITER.lua` to the `templates` subdirectory of your user data directory (see [Templates]). [Lua]: https://www.lua.org # A note on security If you use pandoc to convert user-contributed content in a web application, here are some things to keep in mind: 1. Although pandoc itself will not create or modify any files other than those you explicitly ask it create (with the exception of temporary files used in producing PDFs), a filter or custom writer could in principle do anything on your file system. Please audit filters and custom writers very carefully before using them. 2. If your application uses pandoc as a Haskell library (rather than shelling out to the executable), it is possible to use it in a mode that fully isolates pandoc from your file system, by running the pandoc operations in the `PandocPure` monad. See the document [Using the pandoc API](https://pandoc.org/using-the-pandoc-api.html) for more details. 3. Pandoc's parsers can exhibit pathological performance on some corner cases. It is wise to put any pandoc operations under a timeout, to avoid DOS attacks that exploit these issues. If you are using the pandoc executable, you can add the command line options `+RTS -M512M -RTS` (for example) to limit the heap size to 512MB. 4. The HTML generated by pandoc is not guaranteed to be safe. If `raw_html` is enabled for the Markdown input, users can inject arbitrary HTML. Even if `raw_html` is disabled, users can include dangerous content in attributes for headings, spans, and code blocks. To be safe, you should run all the generated HTML through an HTML sanitizer. # Authors Copyright 2006--2020 John MacFarlane (jgm@berkeley.edu). Released under the [GPL], version 2 or greater. This software carries no warranty of any kind. (See COPYRIGHT for full copyright and warranty notices.) For a full list of contributors, see the file AUTHORS.md in the pandoc source code. [GPL]: https://www.gnu.org/copyleft/gpl.html "GNU General Public License" [YAML]: https://yaml.org/spec/1.2/spec.html "YAML v1.2 Spec" pandoc-2.9.2.1/Makefile000066400000000000000000000125321363630463000145760ustar00rootroot00000000000000version?=$(shell grep '^[Vv]ersion:' pandoc.cabal | awk '{print $$2;}') pandoc=$(shell find dist -name pandoc -type f -exec ls -t {} \; | head -1) SOURCEFILES?=$(shell git ls-tree -r master --name-only | grep "\.hs$$") BRANCH?=master RESOLVER?=lts-13 GHCOPTS=-fdiagnostics-color=always WEBSITE=../../web/pandoc.org quick: stack install --ghc-options='$(GHCOPTS)' --install-ghc --flag 'pandoc:embed_data_files' --fast --test --ghc-options='-j +RTS -A64m -RTS' --test-arguments='-j4 --hide-successes $(TESTARGS)' quick-cabal: cabal new-configure . --ghc-options '$(GHCOPTS)' --disable-optimization --enable-tests cabal new-build . --disable-optimization cabal new-run test-pandoc --disable-optimization -- --hide-successes $(TESTARGS) full-cabal: cabal new-configure . --ghc-options '$(GHCOPTS)' --flags '+embed_data_files +trypandoc' --enable-tests --enable-benchmarks cabal new-build . --disable-optimization cabal new-run test-pandoc --disable-optimization -- --hide-successes $(TESTARGS) full: stack install --flag 'pandoc:embed_data_files' --flag 'pandoc:trypandoc' --bench --no-run-benchmarks --test --test-arguments='-j4 --hide-successes' --ghc-options '-Wall -Werror -fno-warn-unused-do-bind -O0 -j4 $(GHCOPTS)' ghci: stack ghci --flag 'pandoc:embed_data_files' haddock: stack haddock # Note: to accept current results of golden tests, # make test TESTARGS='--accept' test: stack test --flag 'pandoc:embed_data_files' --fast --test-arguments='-j4 --hide-successes $(TESTARGS)' --ghc-options '$(GHCOPTS)' ghcid: ghcid -c "stack repl --flag 'pandoc:embed_data_files'" bench: stack bench --benchmark-arguments='$(BENCHARGS)' --ghc-options '$(GHCOPTS)' weigh: stack build --ghc-options '$(GHCOPTS)' pandoc:weigh-pandoc && stack exec weigh-pandoc reformat: for f in $(SOURCEFILES); do echo $$f; stylish-haskell -i $$f ; done lint: hlint fix_spacing hlint: for f in $(SOURCEFILES); do echo $$f; hlint --verbose --refactor --refactor-options='-s -o -' $$f; done fix_spacing: # Fix trailing newlines and spaces at ends of lines for f in $(SOURCEFILES); do printf '%s\n' "`cat $$f`" | sed -e 's/ *$$//' > $$f.tmp; mv $$f.tmp $$f; done changes_github: pandoc --filter tools/extract-changes.hs changelog.md -t gfm --wrap=none --template tools/changes_template.html | sed -e 's/\\#/#/g' | pbcopy dist: man/pandoc.1 cabal sdist rm -rf "pandoc-${version}" tar xvzf dist/pandoc-${version}.tar.gz cd pandoc-${version} stack setup && stack test && cd .. && rm -rf "pandoc-${version}" packages: checkdocs winpkg debpkg macospkg checkdocs: README.md ! grep -n -e "\t" MANUAL.txt changelog debpkg: man/pandoc.1 make -C linux && \ cp linux/artifacts/pandoc-$(version)-*.* . macospkg: man/pandoc.1 ./macos/make_macos_package.sh winpkg: pandoc-$(version)-windows-i386.msi pandoc-$(version)-windows-i386.zip pandoc-$(version)-windows-x86_64.msi pandoc-$(version)-windows-x86_64.zip pandoc-$(version)-windows-%.zip: pandoc-$(version)-windows-%.msi ORIGDIR=`pwd` && \ CONTAINER=$(basename $<) && \ TEMPDIR=`mktemp -d` && \ msiextract -C $$TEMPDIR/msi $< && \ pushd $$TEMPDIR && \ mkdir $$CONTAINER && \ find msi -type f -exec cp {} $$CONTAINER/ \; && \ zip -r $$ORIGDIR/$@ $$CONTAINER && \ popd & \ rm -rf $$TEMPDIR pandoc-$(version)-windows-%.msi: pandoc-windows-%.msi osslsigncode sign -pkcs12 ~/Private/SectigoCodeSigning.exp2023.p12 -in $< -i http://johnmacfarlane.net/ -t http://timestamp.comodoca.com/ -out $@ -askpass rm $< .INTERMEDIATE: pandoc-windows-i386.msi pandoc-windows-x86_64.msi pandoc-windows-i386.msi: JOBID=$(shell curl https://ci.appveyor.com/api/projects/jgm/pandoc | jq '.build.jobs[]| select(.name|test("i386")) | .jobId') && \ wget "https://ci.appveyor.com/api/buildjobs/$$JOBID/artifacts/windows%2F$@" -O $@ pandoc-windows-x86_64.msi: JOBID=$(shell curl https://ci.appveyor.com/api/projects/jgm/pandoc | jq '.build.jobs[]| select(.name|test("x86_64")) | .jobId') && \ wget "https://ci.appveyor.com/api/buildjobs/$$JOBID/artifacts/windows%2F$@" -O $@ man/pandoc.1: MANUAL.txt man/pandoc.1.before man/pandoc.1.after pandoc $< -f markdown-smart -t man -s \ --lua-filter man/manfilter.lua \ --include-before-body man/pandoc.1.before \ --include-after-body man/pandoc.1.after \ --metadata author="" \ --variable footer="pandoc $(version)" \ -o $@ README.md: README.template MANUAL.txt tools/update-readme.lua pandoc --lua-filter tools/update-readme.lua --reference-links \ --reference-location=section -t gfm $< -o $@ download_stats: curl https://api.github.com/repos/jgm/pandoc/releases | \ jq -r '.[] | .assets | .[] | "\(.download_count)\t\(.name)"' pandoc-templates: rm ../pandoc-templates/default.* ; \ cp data/templates/default.* README.md styles.* ../pandoc-templates/ ; \ pushd ../pandoc-templates/ && \ git add default.* README.md styles.* && \ git commit -m "Updated templates for pandoc $(version)" && \ popd trypandoc: ssh -t macfarlane 'cd src/pandoc && git pull && stack install --flag pandoc:trypandoc --flag pandoc:embed_data_files && cd trypandoc && sudo make install' update-website: make -C $(WEBSITE) update make -C $(WEBSITE) make -C $(WEBSITE) upload clean: stack clean .PHONY: deps quick full haddock install clean test bench changes_github macospkg dist prof download_stats reformat lint weigh doc/lua-filters.md packages pandoc-templates trypandoc update-website debpkg macospkg winpkg checkdocs ghcid ghci fix_spacing hlint pandoc-2.9.2.1/README.md000066400000000000000000000251031363630463000144130ustar00rootroot00000000000000 # Pandoc [![github release](https://img.shields.io/github/release/jgm/pandoc.svg?label=current+release)](https://github.com/jgm/pandoc/releases) [![hackage release](https://img.shields.io/hackage/v/pandoc.svg?label=hackage)](http://hackage.haskell.org/package/pandoc) [![homebrew](https://img.shields.io/homebrew/v/pandoc.svg)](http://brewformulas.org/Pandoc) [![stackage LTS package](http://stackage.org/package/pandoc/badge/lts)](http://stackage.org/lts/package/pandoc) [![CircleCI](https://circleci.com/gh/jgm/pandoc.svg?style=svg)](https://circleci.com/gh/jgm/pandoc) [![CI tests](https://github.com/jgm/pandoc/workflows/CI%20tests/badge.svg)](https://github.com/jgm/pandoc/actions) [![license](https://img.shields.io/badge/license-GPLv2+-lightgray.svg)](https://www.gnu.org/licenses/gpl.html) [![pandoc-discuss on google groups](https://img.shields.io/badge/pandoc-discuss-red.svg?style=social)](https://groups.google.com/forum/#!forum/pandoc-discuss) ## The universal markup converter Pandoc is a [Haskell](http://haskell.org) library for converting from one markup format to another, and a command-line tool that uses this library. It can convert *from*
- `commonmark` ([CommonMark](https://commonmark.org) Markdown) - `creole` ([Creole 1.0](http://www.wikicreole.org/wiki/Creole1.0)) - `csv` ([CSV](https://tools.ietf.org/html/rfc4180) table) - `docbook` ([DocBook](https://docbook.org)) - `docx` ([Word docx](https://en.wikipedia.org/wiki/Office_Open_XML)) - `dokuwiki` ([DokuWiki markup](https://www.dokuwiki.org/dokuwiki)) - `epub` ([EPUB](http://idpf.org/epub)) - `fb2` ([FictionBook2](http://www.fictionbook.org/index.php/Eng:XML_Schema_Fictionbook_2.1) e-book) - `gfm` ([GitHub-Flavored Markdown](https://help.github.com/articles/github-flavored-markdown/)), or the deprecated and less accurate `markdown_github`; use [`markdown_github`](https://pandoc.org/MANUAL.html#markdown-variants) only if you need extensions not supported in [`gfm`](https://pandoc.org/MANUAL.html#markdown-variants). - `haddock` ([Haddock markup](https://www.haskell.org/haddock/doc/html/ch03s08.html)) - `html` ([HTML](https://www.w3.org/html/)) - `ipynb` ([Jupyter notebook](https://nbformat.readthedocs.io/en/latest/)) - `jats` ([JATS](https://jats.nlm.nih.gov) XML) - `jira` ([Jira](https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all) wiki markup) - `json` (JSON version of native AST) - `latex` ([LaTeX](https://www.latex-project.org/)) - `markdown` ([Pandoc’s Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown)) - `markdown_mmd` ([MultiMarkdown](https://fletcherpenney.net/multimarkdown/)) - `markdown_phpextra` ([PHP Markdown Extra](https://michelf.ca/projects/php-markdown/extra/)) - `markdown_strict` (original unextended [Markdown](https://daringfireball.net/projects/markdown/)) - `mediawiki` ([MediaWiki markup](https://www.mediawiki.org/wiki/Help:Formatting)) - `man` ([roff man](https://man.cx/groff_man\(7\))) - `muse` ([Muse](https://amusewiki.org/library/manual)) - `native` (native Haskell) - `odt` ([ODT](https://en.wikipedia.org/wiki/OpenDocument)) - `opml` ([OPML](http://dev.opml.org/spec2.html)) - `org` ([Emacs Org mode](https://orgmode.org)) - `rst` ([reStructuredText](https://docutils.sourceforge.io/docs/ref/rst/introduction.html)) - `t2t` ([txt2tags](https://txt2tags.org)) - `textile` ([Textile](https://www.promptworks.com/textile)) - `tikiwiki` ([TikiWiki markup](https://doc.tiki.org/Wiki-Syntax-Text#The_Markup_Language_Wiki-Syntax)) - `twiki` ([TWiki markup](https://twiki.org/cgi-bin/view/TWiki/TextFormattingRules)) - `vimwiki` ([Vimwiki](https://vimwiki.github.io))
It can convert *to*
- `asciidoc` ([AsciiDoc](https://www.methods.co.nz/asciidoc/)) or `asciidoctor` ([AsciiDoctor](https://asciidoctor.org/)) - `beamer` ([LaTeX beamer](https://ctan.org/pkg/beamer) slide show) - `commonmark` ([CommonMark](https://commonmark.org) Markdown) - `context` ([ConTeXt](https://www.contextgarden.net/)) - `docbook` or `docbook4` ([DocBook](https://docbook.org) 4) - `docbook5` (DocBook 5) - `docx` ([Word docx](https://en.wikipedia.org/wiki/Office_Open_XML)) - `dokuwiki` ([DokuWiki markup](https://www.dokuwiki.org/dokuwiki)) - `epub` or `epub3` ([EPUB](http://idpf.org/epub) v3 book) - `epub2` (EPUB v2) - `fb2` ([FictionBook2](http://www.fictionbook.org/index.php/Eng:XML_Schema_Fictionbook_2.1) e-book) - `gfm` ([GitHub-Flavored Markdown](https://help.github.com/articles/github-flavored-markdown/)), or the deprecated and less accurate `markdown_github`; use [`markdown_github`](https://pandoc.org/MANUAL.html#markdown-variants) only if you need extensions not supported in [`gfm`](https://pandoc.org/MANUAL.html#markdown-variants). - `haddock` ([Haddock markup](https://www.haskell.org/haddock/doc/html/ch03s08.html)) - `html` or `html5` ([HTML](https://www.w3.org/html/), i.e. [HTML5](https://html.spec.whatwg.org/)/XHTML [polyglot markup](https://www.w3.org/TR/html-polyglot/)) - `html4` ([XHTML](https://www.w3.org/TR/xhtml1/) 1.0 Transitional) - `icml` ([InDesign ICML](https://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/indesign/sdk/cs6/idml/idml-cookbook.pdf)) - `ipynb` ([Jupyter notebook](https://nbformat.readthedocs.io/en/latest/)) - `jats_archiving` ([JATS](https://jats.nlm.nih.gov) XML, Archiving and Interchange Tag Set) - `jats_articleauthoring` ([JATS](https://jats.nlm.nih.gov) XML, Article Authoring Tag Set) - `jats_publishing` ([JATS](https://jats.nlm.nih.gov) XML, Journal Publishing Tag Set) - `jats` (alias for `jats_archiving`) - `jira` ([Jira](https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all) wiki markup) - `json` (JSON version of native AST) - `latex` ([LaTeX](https://www.latex-project.org/)) - `man` ([roff man](https://man.cx/groff_man\(7\))) - `markdown` ([Pandoc’s Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown)) - `markdown_mmd` ([MultiMarkdown](https://fletcherpenney.net/multimarkdown/)) - `markdown_phpextra` ([PHP Markdown Extra](https://michelf.ca/projects/php-markdown/extra/)) - `markdown_strict` (original unextended [Markdown](https://daringfireball.net/projects/markdown/)) - `mediawiki` ([MediaWiki markup](https://www.mediawiki.org/wiki/Help:Formatting)) - `ms` ([roff ms](https://man.cx/groff_ms\(7\))) - `muse` ([Muse](https://amusewiki.org/library/manual)), - `native` (native Haskell), - `odt` ([OpenOffice text document](https://en.wikipedia.org/wiki/OpenDocument)) - `opml` ([OPML](http://dev.opml.org/spec2.html)) - `opendocument` ([OpenDocument](http://opendocument.xml.org)) - `org` ([Emacs Org mode](https://orgmode.org)) - `pdf` ([PDF](https://www.adobe.com/pdf/)) - `plain` (plain text), - `pptx` ([PowerPoint](https://en.wikipedia.org/wiki/Microsoft_PowerPoint) slide show) - `rst` ([reStructuredText](https://docutils.sourceforge.io/docs/ref/rst/introduction.html)) - `rtf` ([Rich Text Format](https://en.wikipedia.org/wiki/Rich_Text_Format)) - `texinfo` ([GNU Texinfo](https://www.gnu.org/software/texinfo/)) - `textile` ([Textile](https://www.promptworks.com/textile)) - `slideous` ([Slideous](https://goessner.net/articles/slideous/) HTML and JavaScript slide show) - `slidy` ([Slidy](https://www.w3.org/Talks/Tools/Slidy2/) HTML and JavaScript slide show) - `dzslides` ([DZSlides](http://paulrouget.com/dzslides/) HTML5 + JavaScript slide show), - `revealjs` ([reveal.js](https://revealjs.com/) HTML5 + JavaScript slide show) - `s5` ([S5](https://meyerweb.com/eric/tools/s5/) HTML and JavaScript slide show) - `tei` ([TEI Simple](https://github.com/TEIC/TEI-Simple)) - `xwiki` ([XWiki markup](https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/XWikiSyntax/)) - `zimwiki` ([ZimWiki markup](https://zim-wiki.org/manual/Help/Wiki_Syntax.html)) - the path of a custom Lua writer, see [Custom writers](https://pandoc.org/MANUAL.html#custom-writers) below
Pandoc can also produce PDF output via LaTeX, Groff ms, or HTML. Pandoc’s enhanced version of Markdown includes syntax for tables, definition lists, metadata blocks, footnotes, citations, math, and much more. See the User’s Manual below under [Pandoc’s Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown). Pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document (an *abstract syntax tree* or AST), and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer. Users can also run custom pandoc filters to modify the intermediate AST (see the documentation for [filters](https://pandoc.org/filters.html) and [Lua filters](https://pandoc.org/lua-filters.html)). Because pandoc’s intermediate representation of a document is less expressive than many of the formats it converts between, one should not expect perfect conversions between every format and every other. Pandoc attempts to preserve the structural elements of a document, but not formatting details such as margin size. And some document elements, such as complex tables, may not fit into pandoc’s simple document model. While conversions from pandoc’s Markdown to all formats aspire to be perfect, conversions from formats more expressive than pandoc’s Markdown can be expected to be lossy. ## Installing Here’s [how to install pandoc](INSTALL.md). ## Documentation Pandoc’s website contains a full [User’s Guide](https://pandoc.org/MANUAL.html). It is also available [here](MANUAL.txt) as pandoc-flavored Markdown. The website also contains some [examples of the use of pandoc](https://pandoc.org/demos.html) and a limited [online demo](https://pandoc.org/try). ## Contributing Pull requests, bug reports, and feature requests are welcome. Please make sure to read [the contributor guidelines](CONTRIBUTING.md) before opening a new issue. ## License © 2006-2020 John MacFarlane (jgm@berkeley.edu). Released under the [GPL](http://www.gnu.org/copyleft/gpl.html "GNU General Public License"), version 2 or greater. This software carries no warranty of any kind. (See COPYRIGHT for full copyright and warranty notices.) pandoc-2.9.2.1/README.template000066400000000000000000000073471363630463000156400ustar00rootroot00000000000000 Pandoc ====== [![github release](https://img.shields.io/github/release/jgm/pandoc.svg?label=current+release)](https://github.com/jgm/pandoc/releases) [![hackage release](https://img.shields.io/hackage/v/pandoc.svg?label=hackage)](http://hackage.haskell.org/package/pandoc) [![homebrew](https://img.shields.io/homebrew/v/pandoc.svg)](http://brewformulas.org/Pandoc) [![stackage LTS package](http://stackage.org/package/pandoc/badge/lts)](http://stackage.org/lts/package/pandoc) [![CircleCI](https://circleci.com/gh/jgm/pandoc.svg?style=svg)](https://circleci.com/gh/jgm/pandoc) [![CI tests](https://github.com/jgm/pandoc/workflows/CI%20tests/badge.svg)](https://github.com/jgm/pandoc/actions) [![license](https://img.shields.io/badge/license-GPLv2+-lightgray.svg)](https://www.gnu.org/licenses/gpl.html) [![pandoc-discuss on google groups](https://img.shields.io/badge/pandoc-discuss-red.svg?style=social)](https://groups.google.com/forum/#!forum/pandoc-discuss) The universal markup converter ------------------------------ Pandoc is a [Haskell] library for converting from one markup format to another, and a command-line tool that uses this library. It can convert *from* ::: {#input-formats} ::: It can convert *to* ::: {#output-formats} ::: Pandoc can also produce PDF output via LaTeX, Groff ms, or HTML. Pandoc's enhanced version of Markdown includes syntax for tables, definition lists, metadata blocks, footnotes, citations, math, and much more. See the User's Manual below under [Pandoc's Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown). Pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document (an _abstract syntax tree_ or AST), and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer. Users can also run custom pandoc filters to modify the intermediate AST (see the documentation for [filters](https://pandoc.org/filters.html) and [Lua filters](https://pandoc.org/lua-filters.html)). Because pandoc's intermediate representation of a document is less expressive than many of the formats it converts between, one should not expect perfect conversions between every format and every other. Pandoc attempts to preserve the structural elements of a document, but not formatting details such as margin size. And some document elements, such as complex tables, may not fit into pandoc's simple document model. While conversions from pandoc's Markdown to all formats aspire to be perfect, conversions from formats more expressive than pandoc's Markdown can be expected to be lossy. Installing ---------- Here's [how to install pandoc](INSTALL.md). Documentation ------------- Pandoc's website contains a full [User's Guide](https://pandoc.org/MANUAL.html). It is also available [here](MANUAL.txt) as pandoc-flavored Markdown. The website also contains some [examples of the use of pandoc](https://pandoc.org/demos.html) and a limited [online demo](https://pandoc.org/try). Contributing ------------ Pull requests, bug reports, and feature requests are welcome. Please make sure to read [the contributor guidelines](CONTRIBUTING.md) before opening a new issue. License ------- © 2006-2020 John MacFarlane (jgm@berkeley.edu). Released under the [GPL], version 2 or greater. This software carries no warranty of any kind. (See COPYRIGHT for full copyright and warranty notices.) [GPL]: http://www.gnu.org/copyleft/gpl.html "GNU General Public License" [Haskell]: http://haskell.org pandoc-2.9.2.1/RELEASE-CHECKLIST000066400000000000000000000011321363630463000154420ustar00rootroot00000000000000[ ] make README.md and commit if needed [ ] make man/pandoc.1 and commit if needed [ ] Finalize changelog tools/changelog-helper.sh [ ] push release candidate branch rc/VERSION and (if it builds successfully) download artifacts [ ] Use 'make' in macos and windows artifacts to sign code [ ] make update-website [ ] make trypandoc [ ] Tag release in git [ ] make pandoc-templates cd ../pandoc-templates git tag REL git push git push --tags [ ] Add release on github (use 'make changes_github' and upload files) [ ] stack upload . [ ] Announce on pandoc-announce, pandoc-discuss pandoc-2.9.2.1/Setup.hs000066400000000000000000000000561363630463000145700ustar00rootroot00000000000000import Distribution.Simple main = defaultMain pandoc-2.9.2.1/benchmark/000077500000000000000000000000001363630463000150655ustar00rootroot00000000000000pandoc-2.9.2.1/benchmark/benchmark-pandoc.hs000066400000000000000000000105521363630463000206200ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TupleSections #-} {- Copyright (C) 2012-2019 John MacFarlane This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -} import Prelude import Text.Pandoc import Text.Pandoc.MIME import Text.Pandoc.Error (PandocError(..)) import Control.Monad.Except (throwError) import qualified Text.Pandoc.UTF8 as UTF8 import qualified Data.ByteString as B import qualified Data.Text as T import Criterion.Main import Criterion.Types (Config(..)) import Data.List (intersect) import Data.Maybe (mapMaybe) import System.Environment (getArgs) import qualified Data.ByteString.Lazy as BL readerBench :: Pandoc -> T.Text -> Maybe Benchmark readerBench doc name = case res of Right (readerFun, inp) -> Just $ bench (T.unpack $ name <> " reader") $ nf (\i -> either (error . show) id $ runPure (readerFun i)) inp Left _ -> Nothing where res = runPure $ do (rdr, rexts) <- getReader name (wtr, wexts) <- getWriter name case (rdr, wtr) of (TextReader r, TextWriter w) -> do setResourcePath ["../test"] inp <- w def{ writerWrapText = WrapAuto , writerExtensions = wexts } doc return $ (r def{ readerExtensions = rexts }, inp) _ -> throwError $ PandocSomeError $ "not a text format: " <> name getImages :: IO [(FilePath, MimeType, BL.ByteString)] getImages = do ll <- BL.readFile "test/lalune.jpg" mv <- BL.readFile "test/movie.jpg" return [("lalune.jpg", "image/jpg", ll) ,("movie.jpg", "image/jpg", mv)] writerBench :: Pandoc -> T.Text -> Maybe Benchmark writerBench doc name = case res of Right writerFun -> Just $ env getImages $ \imgs -> bench (T.unpack $ name <> " writer") $ nf (\d -> either (error . show) id $ runPure (do mapM_ (\(fp, mt, bs) -> insertMedia fp (Just mt) bs) imgs writerFun d)) doc Left _ -> Nothing where res = runPure $ do (wtr, wexts) <- getWriter name case wtr of TextWriter w -> return $ w def{ writerExtensions = wexts } _ -> throwError $ PandocSomeError $ "could not get text writer for " <> name main :: IO () main = do args <- filter (\x -> T.take 1 x /= "-") . fmap T.pack <$> getArgs print args let matchReader (n, TextReader _) = null args || ("reader" `elem` args && n `elem` args) matchReader _ = False let matchWriter (n, TextWriter _) = null args || ("writer" `elem` args && n `elem` args) matchWriter _ = False let matchedReaders = map fst $ (filter matchReader readers :: [(T.Text, Reader PandocPure)]) let matchedWriters = map fst $ (filter matchWriter writers :: [(T.Text, Writer PandocPure)]) inp <- UTF8.toText <$> B.readFile "test/testsuite.txt" let opts = def let doc = either (error . show) id $ runPure $ readMarkdown opts inp let readerBs = mapMaybe (readerBench doc) $ filter (/="haddock") (matchedReaders `intersect` matchedWriters) -- we need the corresponding writer to generate -- input for the reader let writerBs = mapMaybe (writerBench doc) matchedWriters defaultMainWith defaultConfig{ timeLimit = 6.0 } (writerBs ++ readerBs) pandoc-2.9.2.1/benchmark/weigh-pandoc.hs000066400000000000000000000031451363630463000177710ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Main Copyright : © 2016-2019 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Benchmarks to determine resource use of readers and writers. -} import Prelude import Weigh import Text.Pandoc import Data.Text (Text, unpack) main :: IO () main = do doc <- read <$> readFile "test/testsuite.native" mainWith $ do func "Pandoc document" id doc mapM_ (\(n,r) -> weighReader doc n (either (error . show) id . runPure . r def{readerExtensions = pandocExtensions})) [("markdown", readMarkdown) ,("html", readHtml) ,("docbook", readDocBook) ,("latex", readLaTeX) ,("commonmark", readCommonMark) ] mapM_ (\(n,w) -> weighWriter doc n (either (error . show) id . runPure . w def)) [("markdown", writeMarkdown) ,("html", writeHtml5String) ,("docbook", writeDocbook5) ,("latex", writeLaTeX) ,("commonmark", writeCommonMark) ] weighWriter :: Pandoc -> String -> (Pandoc -> Text) -> Weigh () weighWriter doc name writer = func (name ++ " writer") writer doc weighReader :: Pandoc -> Text -> (Text -> Pandoc) -> Weigh () weighReader doc name reader = do case lookup name writers of Just (TextWriter writer) -> let inp = either (error . show) id $ runPure $ writer def{ writerWrapText = WrapAuto} doc in func (unpack $ name <> " reader") reader inp _ -> return () -- no writer for reader pandoc-2.9.2.1/cabal.project000066400000000000000000000005441363630463000155700ustar00rootroot00000000000000packages: pandoc.cabal package pandoc flags: +embed_data_files -trypandoc ghc-options: -j +RTS -A64m -RTS package pandoc-citeproc flags: +embed_data_files +bibutils -unicode_collation -test_citeproc -debug ghc-options: -j +RTS -A64m -RTS source-repository-package type: git location: https://github.com/jgm/pandoc-citeproc tag: 0.17 pandoc-2.9.2.1/changelog.md000066400000000000000000026556731363630463000154340ustar00rootroot00000000000000# Revision history for pandoc ## pandoc 2.9.2.1 (2020-03-23) * Markdown reader: Fix table alignment when heading begins with t (#6153). Due to a typo (`t` instead of `\t`) we were center aligning column headings that begin with a lowercase `t`! * Text.Pandoc.Readers.Roff: + Fix parsing of `\.` in man/ms readers (#6175). Previously due to a typo it was being parsed as `` ` ``. + Fix parsing of `\'` in man/ms readers (#6175). It was being parsed as a backtick. * Jira reader (Albert Krewinkel): + Fix parsing of tables without preceding blankline (#6198). A bug was fixed which caused faulty parsing if a table was not preceded by a newline and the first table cell had no space after the initial `|` characters. + Fix parsing of strikeout, emphasis (#6196). A bug was fixed which caused non-emphasized text containing digits and/or non-special symbols (like dots) to sometimes be parsed incorrectly. + Support colored inline text, indented lists (#6183, #6184). * Ms writer: + Fix definition lists so indent even when paragraph indent is set to 0 (as is the default). Also ensure indent for display math that falls back to TeX. + Use `.QS/.QE` instead of `.RS/.RE` for block quotes. * EPUB writer: fix regression on detection of front/back/bodymatter (#6170). This bug caused sections with epub:type `dedication` to be misplaced in bodymatter instead of frontmatter as specified in the manual. The same problem would affect other epub:types. The pattern matching needed to be changed with the use of `makeSection`. * AsciiDoc writer: remove redundant `otherwise` guard in `inlineToAsciiDoc` (#6146, Ryan Scott). * Text.Pandoc.Class: + Fix missing import when data files are not embedded (Albert Krewinkel). + Subdivide Text.Pandoc.Class into small unexported modules and ensure that all functions have Haddock documentation (#6106, Albert Krewinkel). + Finer grained imports of Text.Pandoc.Class submodules (#6203, Albert Krewinkel). * Text.Pandoc.XML: Add to list of HTML5 attributes: `allow`, `autocapitalize`, `decoding`, `enterkeyhint`, `imagesizes`, `imagesrcset`, `loading`. * Use implicit Prelude (#6187, Albert Krewinkel). The previous behavior was introduced as a fix for #4464. It seems that this change alone did not fix the issue, and `stack ghci` and `cabal repl` only work with GHC 8.4.1 or newer, as no custom Prelude is loaded for these versions. Given this, it seems cleaner to revert to the implicit Prelude. * Always use custom prelude (#6187, Albert Krewinkel). Previously, the custom prelude was used only with older GHC versions, as a workaround for problems with ghci. The ghci problems are resolved by replacing package `base` with `base-noprelude`, allowing for consistent use of the custom prelude across all GHC versions. * Remove outdated checks for no longer supported base versions (Albert Krewinkel). * PDF via wkhtmltopdf: put user-specified options last (#6171). Certain options (e.g. `cover`) need to come after flags on the command line. * Text.Pandoc.App: set resource path at the beginning so it can affect things like include-in-header (#5982). * Change macOS release candidate CI process so that notarized packages can be produced (#6169). * Make MANUAL more explicit about nonbreaking space handling by `all_symbols_escapable` (#6154, Fabien Schurter). * trypandoc (Mike Tzou): + Add checkbox for standalone option (#6189). + Use strict mode for JavaScript code (#6188). + Fetch resources over https (#6188). + Remove unnecessary attributes on style, script elements (#6188). * Use details tag to make GitHub releases changelog collapsible. * Update filter code in doc/filters.md so it works with latest pandoc (#6185). * linux/Dockerfile: upgrade to alpine 3.11 (#6180, Albert Krewinkel). This is used to build the static linux binaries. ## pandoc 2.9.2 (2020-02-15) * Add `csv` as an input format (#6100). The CSV table is converted into a pandoc simple table. A new module Text.Pandoc.Readers.CSV exports `readCSV` [API change]. * Introduce new format variants for JATS writer (#6014, Albert Krewinkel): - `jats_archiving` for the "Archiving and Interchange Tag Set", - `jats_publishing` for the "Journal Publishing Tag Set", and - `jats_articleauthoring` for the "Article Authoring Tag Set." The `jats` output format is now an alias for `jats_archiving`. The module Text.Pandoc.Writers.JATS now exports `writeJatsArchiving`, `writeJatsPublishing`, and `writeJatsArticleAuthoring`, as well as the legacy `writeJATS` [API change]. * `--defaults`: Support `bibliography` and `csl` fields. Move `addMeta` from Text.Pandoc.App.CommandLineOptions to Text.Pandoc.App.Opt (internal change). * Add timing info for filters in `--verbose` mode (#6112). When verbose mode is specified (verbosity == INFO), print a notice when running a filter and when a filter completes (including timing). * LaTeX reader: + Allow `&` in LaTeX citation keys (#6110). + Improve caption and label parsing. + Don't emit empty Span elements for labels. + Put tables with labels in a surrounding Div. + Resolve `\ref` to table numbers (#6137). + Skip comments in more places where this is needed (#6114). + Allow beamer overlays for all commands in all raw tex (#6043). This affects parsing of raw tex in LaTeX and in Markdown and other formats. + Improve parsing of raw environments (#6034). If parsing fails in a raw environment (e.g. due to special characters like unescaped `_`), try again as a verbatim environment, which is less sensitive to special characters. This allows us to capture special environments that change catcodes as raw tex when `-f latex+raw_tex` is used. * RST reader: + Add highlight directive (#6140, Lucas Escot). * MediaWiki writer: + Prevent triple `[[[` which confuses MediaWiki (#6119). * HTML reader: + Don't parse `data-id` as `id` attribute. And similarly don't parse any `data-X` as `X` when `X` is a valid HTML attribute. * Org reader: + Simplify parsing of sub- and superscripts (#6127, Albert Krewinkel). Speeds up parsing of single-word, markup-less sub- and superscripts. * LaTeX writer: + Group biblatex citations even with prefix and suffix (#5849, Ethan Riley). Previously biblatex citations were only grouped if there was no prefix. This patch allows them to be grouped in subgroups split by prefixes and suffixes, which allows better citation sorting. + Fix regression in handling of columns in beamer slides (#6033). Columns in title slides were causing problems with slide division. + Fix duplicate frame classes in LaTeX/Beamer output (#6107). * HTML writer: + Fix duplicate attributes on headings (#6062), regression from 2.7.x. + Fix `--number-offset` with HTML TOC. Eventually it would be worth adding a parameter to `makeSections` so this could be done at that level; then it would also affect other writers that construct TOC manually. + reveal.js: restore old behavior for 2D nesting (#6032). The fix to #6030 actually changed behavior, so that the 2D nesting occurred at slide level N-1 and N, instead of at the top-level section. This commit restores the v2.7.3 behavior. If there are more than 2 levels, the top level is horizontal and the rest are collapsed to vertical. + reveal.js: ensure that pauses work even in title slides (#5819). * Markdown writer: + Fix regression: spurious dots in markdown_mmd metadata output (#6133). * Docx writer: + Fix regression with Compact style on tight lists (#6072). Starting in 2.8, the docx writer no longer distinguishes between tight and loose lists, since the Compact style is omitted. This is a side-effect of the fix to #5670, as explained in the changelog. This patch fixes the problem by extending the exception currently offered to Plain blocks inside tables to Plain blocks inside list items. * Jira writer: + Fix output of table headers (Albert Krewinkel, #6035). * Add Text.Pandoc.Image with unexported svgToPng. * Text.Pandoc.XML: Export `html5Attributes`, `html4Attributes`, `rdfaAttributes` (formerly unexported in Text.Pandoc.Writers.HTML). [API change] * Text.Pandoc.Shared: Export a new function `findM` (#6125, Joseph C. Sible). * Text.Pandoc.Logging: Add `RunningFilter`, `FilterCompleted` constructors to LogMessage [API change]. * Text.Pandoc.CSV: fix bug in CSV parser; previously an extra blank record would sometimes be inserted at the end. * LaTeX template: add space option to xeCJK with PassOptionsToPackage (#6002). Otherwise we can get a clash with documentclasses that already load the package. * Lua filters: + Allow filtering of element lists (#6038, Albert Krewinkel). Lists of Inline and Block elements can now be filtered via `Inlines` and `Blocks` functions, respectively. This is helpful if a filter conversion depends on the order of elements rather than a single element. For example, the following filter can be used to remove all spaces before a citation: function isSpaceBeforeCite (spc, cite) return spc and spc.t == 'Space' and cite and cite.t == 'Cite' end function Inlines (inlines) for i = #inlines-1,1,-1 do if isSpaceBeforeCite(inlines[i], inlines[i+1]) then inlines:remove(i) end end return inlines end + Add methods `insert`, `remove`, and `sort` to pandoc.List (Albert Krewinkel). Example of use: local numbers = pandoc.List {2, 3, 1} numbers:sort() -- numbers is now {1, 2, 3} + Make `pandoc.List` a callable constructor (Albert Krewinkel). It is now possible to construct a new List via `pandoc.List()` instead of `pandoc.List:new()`. + Add tests for pandoc.List module (Albert Krewinkel). * Text.Pandoc.App.CommandLineOptions: Change `setVariable` to use `Text` instead of `String`. This avoids some unnecessary unpacking. * Use versioned directory for windows release zipfile. Also remove old `make-windows-installer.bat`, superseded by GitHub actions workflow, and modify `pandoc.wxs` for new paths. * Extensive code cleanup (#6141, #6128, #6129, #6130, #6123, #6105, 6102, #6117, #6124, #6115, #6116, #6111, Joseph C. Sible). * Fix hlint warnings (Albert Krewinkel). * Use latest doclayout, doctemplates (#6031). The new version of doclayout fixes a memory leak that affected `--include-in-header` with large files (and possibly other cases involving extremely long lines). * Use latest texmath. * Use latest skylighting and fix test suite (#6086). * sample.lua: Fix typo in descriptive comments (#6136, Caleb Maclennan). Fix typo in error message (#6135). * Add Docker and GH Actions instructions/links to INSTALL.md. * Update filter documentation (#6065). Improve cabal v2 instructions. Remove example using pandoc API directly (we have other docs for that and it was outdated). * Lua filter docs: + Cross-link constructors and types (Albert Krewinkel). Thanks to @bpj for the idea. + Sort pandoc.List methods alphabetically (Albert Krewinkel). + Unify, fix anchors and internal links (#6061, Albert Krewinkel). Links and anchors now follow consistent conventions, like lowercase-only anchor names. This breaks some links to specific sections in the document, but will make it much easier to link documentation in the future. + Clarify filter function execution order (#6059, Albert Krewinkel). * In docs, update URLs and use `https:` wherever possible (#6090, Salim B). ## pandoc 2.9.1.1 (2020-01-05) * Markdown reader: + Fix parsing bug affected indented code after raw HTML (#6009, #5360). * LaTeX writer: + Fix regression in beamer slide structure with certain slide levels (#6030). + Allow framebreaks for beamer's TOC (Heiko Schlittermann, #6012) + Properly handle unnumbered headings level 4+ (#6018). Previously the `\paragraph` command was used instead of `\paragraph*` for unnumbered level 4 headings. * HTML writer: + Fix revealjs slide structure regression with certain slide levels (#6030). + Add newlines to make slide show output more readable. * Org writer: + Remove extra spaces from table cells (Albert Krewinkel, #6024). * JATS template: Update JATS dtd (Arfon Smith, #6020). Use the archiving and interchange DTD rather than the more restrictive journal publishing DTD (which doesn't permit ext-link as a valid child). * Text.Pandoc.PDF: Fix `runTeXProgram` so that the input source is always overwritten (#6027). Previously it wasn't overridden if the file already existed, which led to bad results on subsequent runs when `pdf-engine-opt=-output-directory=` was used to specify an explicit temp dir. * Text.Pandoc.BCP47: Change `getLang` to handle block-level contents (#6008). Some readers (e.g. RST) will populate the `lang` metadata field with block-level content. `getLang` has been modified to handle this. Previously in these cases the LaTeX writer would not properly set the "main language" of the document. * Fix `test/tables.org` (Albert Krewinkel). * Use HTTPS in copyright message (Felix Yan, #6010) ## pandoc 2.9.1 (2019-12-23) * Add Jira reader (Albert Krewinkel, #5556). * Jira writer: use jira-wiki-markup renderer (Albert Krewinkel, #5926). The following improvements are included in this change: + non-jira raw blocks are fully discarded instead of showing as blank lines; + table cells can contain multiple blocks; + unnecessary blank lines are removed from the output; + markup chars within words are properly surrounded by braces; + preserving soft linebreaks via `--wrap=preserve` is supported. Note that backslashes are rendered as HTML entities, as there appears no alternative to produce a plain backslash if it is followed by markup. This may cause problems when used with confluence, where rendering seems to fail in this case. * Fix regression with `--number-sections`. Starting with 2.8, `--number-sections` also had the effect of `--section-divs`, even if `--section-divs` was not specified. * Improved table of contents generation in markdown, RTF, commonmark, better handling cases where section headings are enclosed in divs. * Ensure that later default file values for `variable` replace earlier ones (5988). * HTML reader: Add `nav` to list of block-level tags. * Org reader (Albert Krewinkel): + Wrap named table in Div, using name as id (#5984). Tables which are given a name via `#+NAME:` or `#+LABEL:` are wrapped in an additional Div, with the name set as the Div's ID. + Report parsing errors properly. + Fix parsing problem for colons in headline (#5993). * Text.Pandoc.PDF: Ensure UTF8 when printing source in `--verbose` mode, avoiding an error on platforms that default to something other than UTF-8 (#5997). * Text.Pandoc.Templates: Strip directory before trying to find partial in data files (#5987). * Text.Pandoc.Shared: Improve `makeSections` so we don't get doubled "number" attributes in EPUB output (or anywhere else) (#5986). * Added tests for `--toc` and `--section-divs`. * Text.Pandoc.MIME: Added glsl MIME type for WebGL maps (#6000, Jared Lander). * MANUAL: A bit clearer explanation for `--base-header-level`. We now say exactly how to translate between the deprecated `--base-header-level` and `--shift-heading-level-by`. * lua-filters.md: + Remove spurious dot in title (#5996, Mauro Bieg). + Replace metadata example with image centering (#6004, Albert Krewinkel). Thanks to @efx for proposing this filter. ## pandoc 2.9 (2019-12-11) * Text.Pandoc.Templates [API change] + Add Monad wrappers `WithDefaultPartials` and `WithPartials`. Wrapping these around an instance of `PandocMonad` gives us different instances of `TemplateMonad`, with different search behavior in retrieving partials. To compile a template and limit partial search to pandoc's data files, use `runWithDefaultPartials (compileTemplate ...)`. To compile a template and allow partials to be found locally (either on the file system or via HTTP, in the event that the main template has an absolute URL), ue `runWithPartials (compileTemplate ...)`. + Export `getTemplate`, which seeks a template locally, or via HTTP if the template has an absolute URL, falling back to the data files if not found. + Export `compileDefaultTemplate` -- does `getDefaultTemplate` and compiles the result, raising an error on failure. * Text.Pandoc.Class [API change] + Remove `TemplateMonad` instances for `PandocIO` and `PandocPure`. These were too limiting and caused a bug whereby a local partial could be used even when the default template was requested. We now rely on instances provided in the Templates module. * Text.Pandoc.App.OutputSettings: Simplify template retrieval code. * ConTeXt template: Adjust to title formatting (#5949, Denis Maier). Add `\setupinterlinespace` to `title`, `subtitle`, `date` and `author` elements: otherwise longer titles that run over multiple lines will look squashed as `\tfd` etc. won't adapt the line spacing to the font size. * reveal.js template: Add title-slide-attributes variable (#5981, Frederik Elwert). * More informative JSON parse error (#5973). * Use external emojis package (forked from pandoc). Removed emoji data in Text.Pandoc.Emoji. * Fix regression in `makeSections` (#5965). Previously `hierarchicalize` (the ancestor of `makeSections`) would put header attributes on the containing Div. In 2.8 this behavior changed, which broke some tools depending on pandoc. Here we roll back this change, so that attributes again migrate from the header to the containing Div when `makeSections` is run. Note that attributes are retained on the header as well (unlike before) -- with the exception of the `id` attribute, which of course cannot be duplicated. * Fix `--toc-depth` regression in 2.8 (#5967). * Use doctemplates 0.8. Rename template 'filters' as 'pipes' to avoid confusion with the other notion of filter used by pandoc. * Fix README.md so that relative links from manual become absolute. Previously they'd be broken links when viewed on GitHub or Hackage. So we add the base URL for the pandoc manual. * Document display math syntax in manual. ## pandoc 2.8.1 (2019-12-05) * Add `ascii_identifiers` as a supported extension for `markdown`. This fixes a regression in 2.8. * Fix regression with behavior of `--variable` (#5962). Previously `-Vfoo=1 -Vfoo=2` would produce a list value for foo; with 2.8 it produced just `2`. This commit restores the earlier behavior. * Roll back part of of `--shift-heading-level-by` change (#5957). With positive heading shifts, starting in 2.8 this option caused metadata titles to be removed and changed to regular headings. This behavior is incompatible with the old behavior of `--base-header-level` and breaks old workflows, so we have rolled back the change. Note that there is now an asymmetry in positive and negative heading level shifts: With positive shifts, the metadata title stays the same and does not get changed to a heading in the body, while with negative shifts, a heading can be converted into the metadata title. * Text.Pandoc.Shared: Fix `makeSections` so it doesn't turn column Divs into sections. * HTML writer: add task-list class to ul if all elements are task list items. This will allow styling unordered task lists in a way that omits the bullet. * HTML-based templates: Add CSS to suppress bullet on unordered task lists. * ConTeXt template: Fix `\startcslreferences` and use ConTeXt syntax conventions (#5945, Denis Maier). The old version had a too large a skip at the beginning of the reference list. * LaTeX template: keep the `\author{}` command even if author is not specified (#5961, Yihui Xie). Avoids a LaTeX warning. * Generate Emoji module with TH. + Add Text.Pandoc.Emoji.TH. + Replace long literal list in Text.Pandoc.Emoji with one-liner generating it from `emoji.json` using TH. + Add Makefile target to download `emoji.json`. + Remove `tools/emoji.hs`. * Increase GC allocation space for compilation in cabal.project. * Clean up manual on PDF generation backend options (#5940). * Update release checklist to include code signing step and update Windows release-candidate builds (#5950). ## pandoc 2.8.0.1 (2019-11-26) * List `pdf` in `--list-output-formats`. * EPUB writer: Fix regression with `--css` (#5937). In 2.8 `--css` would not have an effect on EPUB output. * RST writer: Use grid tables for one-column tables, since simple tables clash with heading syntax in this case (#5936). * Add unexported module Text.Pandoc.Readers.Metadata (see #5914). * Use doctemplates 0.7.2, which adds the `nowrap` filter to templates. * Update default man template using `nowrap` for .TH heading (#5929). * HTML templates: Add support for `toc-title` variable (#5930, Alexandre Franke). * Remove `grffile` (LaTeX package) requirement in MANUAL.txt (#5927, Ian Max Andolina). * Use skylighting 0.8.3. ## pandoc 2.8 (2019-11-22) * Improvements in templates system (from doctemplates): + Pandoc templates now support a number of new features that have been added in doctemplates: notably, `elseif`, `it`, partials, filters, and syntax to control nesting and reflowing of text. These changes make pandoc more suitable out of the box for generating plain-text documents from data in YAML metadata. It can create enumerated lists and even tabular structures. + We now used templates parameterized on doclayout Doc types. The main impact of this change is better reflowing of content interpolated into templates. Previously, interpolated variables were rendered independently and intepolated as strings, which could lead to overly long lines. Now the templates interpolated as Doc values which may include breaking spaces, and reflowing occurs after template interpolation rather than before. + Remove code from the LaTeX, Docbook, and JATS writers that looked in the template for strings to determine whether it is a book or an article, or whether csquotes is used. This was always kludgy and unreliable. + Change template code to use new API for doctemplates. * Add `--defaults`/`-d` option. This adds the ability to specify a collection of default values for options in a YAML file. For example, one might define a set of defaults for letters, and then do `pandoc -d letter myletter.md -o myletter.pdf`. See the documentation of this feature in MANUAL.txt. * Raise error on unsupported extensions (#4338). * The `--list-extensions[=FORMAT]` option now lists only extensions that affect the given FORMAT. * Add `-L` option as shortcut for `--lua-filter`. * Add `--shift-heading-level-by` option and deprecate `--base-heading-level` (#5615). The new option does everything the old one does, but also allows negative shifts. It also promotes the document metadata (if not null) to a level-1 heading with a +1 shift, and demotes an initial level-1 heading to document metadata with a -1 shift. This supports converting documents that use an initial level-1 heading for the document title. * Allow `--metadata-file` to be used repeatedly to include multiple metadata files (Owen McGrath, #5702). Values in files specified first will be overridden by those in later files. * `--ascii` now uses numerical hex character references (#5718). * Allow PDF output to stdout (#5751). PDF output now behaves like other binary formats: it will not be output to the terminal, but can be sent to stdout using either `-o -` or a pipe. The intermediate format will be determined based on the setting of `--pdf-engine`. * Make some writers sensitive to 'unlisted' class on headings (#1762). If this is present on a heading with the 'unnumbered' class, the heading won't appear in the TOC. This class has no effect if 'unnumbered' is not also specified. This affects HTML-based writers (including slide shows and EPUB), LateX (including beamer), RTF, and PowerPoint. Other writers do not yet support `unlisted`. * Fix `gfm_auto_identifiers` behavior with emojis (#5813). Note that we also now use emoji names for emojis when `ascii_identifiers` is enabled. * When `--ipynb-output` is used with the default "best" format, strip ANSI escape codes for non-ipynb output (#5633). These cause problems in many formats, including LaTeX. * Don't look for template files remotely for remote input (#5579). Previously pandoc would look for the template at a remote URL when a URL was used for the input file, instead of taking it from the data directory. * Allow combining `-Vheader-includes` and `--include-in-header` (#5904). Previously `header-includes` set as a variable would be clobbered by material included using `--include-in-header`. * Change merge behavior for metadata. Previously, if a document contained two YAML metadata blocks that set the same field, the conflict would be resolved in favor of the first. Now it is resolved in favor of the second (due to a change in pandoc-types). This makes the behavior more uniform with other things in pandoc (such as reference links and `--metadata-file`). * Don't add a newline to fragment output if there's already one. * Change exit codes and document in MANUAL.txt: + `PandocAppError` was 1, is now 4 + `PandocOptionError` was 2, is now 6 + `PandocMakePDFError` was 65, is now 66 * Switch to new pandoc-types and use Text instead of String [API change]. (Christian Despres, #5884). * HTML reader: + Better handling of `` with cite attribute (#5798, Ole Martin Ruud). If a `` tag has a `cite` attribute, we interpret it as a Quoted element with an inner Span. + Add support for HTML `` element (#5792, Amogh Rathore). The `` element is parsed as Code with class `sample`. + Add support for HTML `` element (#5799, Amogh Rathore). The `` element is parsed as Code with class `variable`. + Add support for `` elements (Florian B, #5797). Parse `` elements from HTML as Spans with class `mark`. + Add support for `` elements, parsing them as Span with class `kbd` (Daniele D'Orazio, #5796). + Add support for ``, parsing this as a Span with class `dfn` (#5882, Florian Beeres). * Markdown reader: + Headers: don't parse content over newline boundary (#5714). + Handle inline code more eagerly within lists (Brian Leung, #5627). + Removed some needless lookaheads. + Don't parse footnote body unless extension enabled. + Fix small super/subscript issue (#5878). Superscripts and subscripts cannot contain spaces, but newlines were previously allowed (unintentionally). This led to bad interactions in some cases with footnotes. With this change newlines are also not allowed inside super/subscripts. + Use `take1WhileP` for `str`, table row. This yields a small but measurable performance improvement. * LaTeX reader: + Fix parsing of optional arguments that contain braced text (#5740). + Don't try to parse includes if `raw_tex` is set (#5673). When the `raw_tex` extension is set, we just carry through `\usepackage`, `\input`, etc. verbatim as raw LaTeX. + Properly handle optional arguments for macros (#5682). + Fix `\\` in `\parbox` inside a table cell (#5711). + Improve `withRaw` so it can handle cases where the token string is modified by a parser (e.g. accent when it only takes part of a Word token) (#5686). This fixes a bug that caused the ends of certain documents to be dropped. + Handle `\passthrough` macro used by latex writer (#5659). + Support tex `\tt` command (#5654). + Search for image with list of extensions like latex does, if an extension is not provided (#4933). + Handle `\looseness` command values better (#4439). + Add `mbox` and `hbox` handling (Vasily Alferov, #5586). When `+raw_tex` is enabled, these are passed through literally. Otherwise, they are handled in a way that emulates LaTeX's behavior. + Properly handle `\providecommand` and `\provideenvironment` (#5635). They are now ignored if the corresponding command or environment is already defined. + Support epigraph command in LaTeX Reader (oquechy, #3523). + Ensure that expanded macros in raw LaTeX end with a space if the original did (#4442). + Treat `ly` environment from lilypond as verbatim (Urs Liska, #5671). + Add `tikzcd` to list of special environments (Eigil Rischel). This allows it to be processed by filters, in the same way that one can do for `tikzpicture`. * Roff reader: + Better support for `while`. + More improvements in parsing conditionals. + Fix problem parsing comments before macro. + Improve handling of groups. + Better parsing of groups (#5410). We now allow groups where the closing `\\}` isn't at the beginning of a line. * RST reader: + Keep `name` property in `imgAttr` (Brian Leung, #5619). + Fixed parsing of indented blocks (#5753). We were requiring consistent indentation, but this isn't required by RST. + Use title, not admonition-title, for admonition title. This puts RST reader into alignment with docbook reader. + Don't strip final underscore from absolute URI (#5763). + Avoid spurious warning when resolving links to internal anchors ending with `_` (#5763). * Org reader: + Accept `ATTR_LATEX` in block attributes (Albert Krewinkel, #5648). Attributes for LaTeX output are accepted as valid block attributes; however, their values are ignored. + Modify handling of example blocks (Brian Leung, #5717). + Allow the `-i` switch to ignore leading spaces (Brian Leung). + Handle awkwardly-aligned code blocks within lists (Brian Leung). Code blocks in Org lists must have their `#+BEGIN_` aligned in a reasonable way, but their other components can be positioned otherwise. + Fix parsing of empty comment lines (#5856, Albert Krewinkel). Comment lines in Org-mode can be completely empty. * Muse reader (Alexander Krotov): + Add RTL support (#5551). + Do not allow closing asterisks to be followed by `*`. + Do not split series of asterisks into symbols and emphasis (#5821). + Do not terminate emphasis on `*` not followed by space. * DokuWiki reader: + Parse markup inside monospace ('') (#5916, Alexander Krotov). * Docx reader: + Move style-parsing-specific code to a new unexported module, Text.Pandoc.Readers.Docx.Parse.Styles (Nikolay Yakimov). + Move StyleMap to docx writer (Nikolay Yakimov). + Only use LTR when it is overriding BiDi setting (#5723, Jesse Rosenthal). The left-to-right direction setting in docx is used in the spec only for overriding an explicit right-to-left setting. We only process it when it happens in a paragraph set with BiDi. This is especially important for docs exported from Google Docs, which explicitly (and unnecessarily) set `rtl=0` for every paragraph. + Fix list number resumption for sublists (#4324). The first list item of a sublist should not resume numbering from the number of the last sublist item of the same level, if that sublist was a sublist of a different list item. * Docbook reader: + Richer parse for admonitions (Michael Peyton Jones, #1234). Instead of parsing admonitions as blockquotes, we now parse them as Divs with an appropriate class. We also handle titles for admonitions as a nested Div with the "title" class. + Fix nesting of chapters and sections (#5864, Florian Klink, Félix Baylac-Jacqué). + Fix bug with entities in mathphrase element (#5885). * MediaWiki reader: + Skip optional `{{table}}` template (#5757). * LaTeX reader: + Fix dollar-math parsing to ensure that space is left between a control sequence and a following letter (#5836). + In `untokenize`, ensure space between control sequence and following letter (#5836). + Don't omit macro definitions defined in the preamble. These were formerly omitted (though they still affected macro resolution if `latex_macros` was set). Now they are included in the document body. + Parse macro definitions as raw LaTeX when `latex_macros` is disabled. (When `latex_macros` is enabled, we omit them, since pandoc is applying the macros itself.) + Fix a hang/memory leak in certain circumstances (#5845). + Text.Pandoc.Readers.LaTeX.Parsing: add `[Tok]` parameter to `rawLaTeXParser`. This allows us to repeat retokenizing unnecessarily in e.g. `rawLaTeXBlock`. + Add KOMA-Script metadata commands (#5910, Andrew Dunning). Add all titling commands to existing definition for `\dedication`. + Parse `\micro` siunitx unit command (#5921, Jose Luis Duran). * Markdown writer: + Ensure proper nesting when we have long ordered list markers (#5705). + Make `plain` output plainer (#5741). Previously we used the following Project Gutenberg conventions for plain output: extra space before and after level 1 and 2 headings, all-caps for strong emphasis, underscores surrounding regular emphasis. Now these conventions are used only when the `gutenberg` extension is enabled. By default, Strong and Emph are rendered without special formatting, and headings are rendered without special formatting, and with only one blank line following. To restore the former behavior, use `-t plain+gutenberg`. + Prefer using raw_attribute when enabled (#4311). The `raw_attribute` will be used to mark raw bits, even HTML and LaTeX, and even when `raw_html` and `raw_tex` are enabled, as they are by default. To get the old behavior, disable `raw_attribute` in the writer. + Prefer `pipe_tables` to raw HTML even when we must lose width information (#2608, #4497). + Improve escaping in list items (#5918). * AsciiDoc writer: + Don't include `+` in code blocks for regular asciidoc. This is asciidoctor-specific. + Handle admonitions (#5690). * LaTeX writer: + Add thin space when needed in LaTeX quote ligatures (#5684). + Use `\hspace{0pt}` for 0-width space U+200B (#5756). + Use `cslreferences` environment for csl bibliographies. This allows bibliographies to receive special formatting. The template now contains definition of this environment (enabled only when CSL is used). It also defines a `\cslhangindent` length. This is set to 2em by default when the bibliography style specifies a hanging indent. To override the length, you can use e.g. `\setlength{\cslhangindent}{7em}` in header-includes. See jgm/pandoc-citeproc#410. + Strip off `{}` around locator for biblatex/natbib output (#5722). + Fix line breaks at start of paragraph (#3324). Previously we just omitted these. Now we render them using `\hfill\break` instead of `\\`. This is a revision of a PR by @sabine (#5591) who should be credited with the idea. + We no longer look in the template or header-includes to see if a book or article documentclass is used, or to see whether the `csquotes` package is used. To use `csquotes` for LaTeX, set `csquotes` in your variables or metadata. To specify a book style, use the `documentclass` variable or `--top-level-division`. + Fix horizontal rule (#5801). We change to use 0.5pt rather than `\linethickness`, which apparently only ever worked "by accident" and no longer works with recent updates to texlive. * ConTeXt writer: + Add option to include source files in ConTeXt PDFs (Tristan Stenner, #5578). The metadata field or variable (`includesource`) can be set to attach the source documents to the resulting PDF. + Customizable type of PDF/A for the ConTeXt writer (Karl Pettersson, #5608). The `pdfa` variable may now be set in metadata. Also updated color profile settings in accordance with ConTeXt wiki, and made ICC profile and output intent for PDF/A customizable using `pdfaiccprofile` and `pdfaintent`. + Unit tests: adjust code property to avoid an irrelevant failure involving inline code with two consecutive newlines. + Set `csl-hanging-indent` variable if needed. + Use special environment for CSL references. + Use braces, not start/stop, for inline language tags. This prevents unwanted gobbling of spaces. * HTML writer: + Use numeric character references with `--ascii` (#5718). Previously we used named character references with html5 output. But these aren't valid XML, and we aim to produce html5 that is also valid XHTML (polyglot markup). (This is also needed for epub3.) + Ensure that line numbers in code blocks get id-prefix (#5650). + Ensure TeX formulas are rendered correctly (Philip Pesca, #5658). The web service passed in to `--webtex` may render formulas using inline or display style by default. Prefixing formulas with the appropriate command ensures they are rendered correctly. + Render inline formulas correctly with `--webtex` (Philip Pesca, #5655). We add `\textstyle` to the beginning of the formula to ensure it will be rendered in inline style. + Pass through `aria-` attributes to HTML5 (#5642). + Render a Quoted element with an inner Span with `cite` attribute using a `` tag (#5798, Ole Martin Ruud). + Render a Span with class `mark` using the `` element (Florian Beeres, #5797). + Render Span with class `dfn` using `` element (Florian Beeres, #5882). + Render Span with class `kbd` using `` element (Daniele D'Orazio, #5796). + Render Code with class `variable` using `` element (Amogh Rathore, #5799). + Render Code with class `sample` using `` element (Amogh Rathore, #5799). * EPUB writer: + Improve splitting into chapters (#5761), using `makeSection`. + Avoid issuing warning multiple times when title not set (see #5760). + Use svg tag wrapper for cover image (#5638). In addition, the code generating the image has been moved to the template, to make it more customizable. NOTE: Those who use custom EPUB templates will need to adjust their templates, adding the code to generate the cover image. (Previously this was just inserted into 'body'.) + Improve toChapters, making it work better if there are Divs around sections. + Add support for EPUB2 covers (blmage, #3992). + Do not override existing "fileN" medias when writing to EPUB format (blmage, #4206). + Ensure that `lang` variable is set on all chapters (so that it will add an `xml:lang` attribute on the `html` element). * RST writer: + Removed remnants of `admonition-title`. + Fix handling of `:align:` on figures and images (#4420). When the image has the `align-right` (etc.) class, we now use an `:align:` attribute. + Improve spacing for tables with no width information (#5899). If a simple table would be too wide, we use a grid table. + Fix backslash escaping after strings (Albert Krewinkel, #5906). The check whether a complex inline element following a string must be escaped, now depends on the last character of the string instead of the first. + Ensure there's a blank line before tables (#5898). * Dokuwiki writer: + Handle mixed lists without HTML fallback (#5107). * XWiki writer: + Fix multiline table (Zihang Chen, #5683). * Muse writer: + Add RTL support (Alexander Krotov, #5551). * Man writer: + Suppress non-absolute link URLs (#5770). Absolute URLs are still printed in parentheses following the link text, but relative URLs are suppressed (just as internal links starting with '#' always have been). + Improved definition list term output. Now we boldface code but not other things. This matches the most common style in man pages (particularly option lists). * Ms writer: + Use `.LP` instead of `.PP` for line block (#5588). + Use boldface for definition terms in DefinitionLists. * JATS writer: + Do not emit empty `` (Mauro Bieg, #5595). + Update template to v1.1dtd (#5632, Arfon Smith). + Update `data/jats.csl` to avoid commas between editor name-part elements. (#5629) + Add `abstract` to template (Mauro Bieg). * TEI writer: + Don't strip hash from internal links (#5922). * Jira writer: + Remove escapeStringForJira for code blocks (Jan-Otto Kröpke). + Remove extraneous newline after single-line block quotes (#5858, Albert Krewinkel). + Improve escaping of special characters, using backslash escapes instead of HTML entities (#5858, Albert Krewinkel). * OpenDocument writer: + Avoid duplicate attributes (#4634). We use the innermost attribute in nested cases. + If `native_numbering` extension is set, use native OpenDocument enumeration for figures and tables (Nils Carlson). + Place caption before table (#5681, Dmitry Pogodin). * ODT writer: + Add a test for MathML formulas in ODT documents (blmage). + Improve the parsing of frames in ODT documents (blmage). * Docx writer: + Make handling of styles more robust in localized versions of Word (Nikolay Yakimov, #5523, #5052, #5074). We now use style names, not ids, for assigning semantic meaning, since the ids can change depending on the locale. Style name comparisons are case-insensitive, since those are case-insensitive in Word. Since docx style names can have spaces in them, and pandoc-markdown classes can't, anywhere when style name is used as a class name, spaces are replaced with ASCII dashes `-`. Code styles, i.e. "Source Code" and "Verbatim Char" now honor style inheritance. Docx Reader now honours "Compact" style (used in Pandoc-generated docx). The side-effect is that "Compact" style no longer shows up in docx+styles output. Styles inherited from "Compact" will still show up. + Re-use Readers.Docx.Parse for StyleMap (#5766, Nikolay Yakimov). + Internal improvements and code simplification (Nikolay Yakimov). + Preserve built-in styles in DOCX with custom style (Ben Steinberg, #5670). This change prevents custom styles on divs and spans from overriding styles on certain elements inside them, like headings, blockquotes, and links. On those elements, the "native" style is required for the element to display correctly. This change also allows nesting of custom styles; in order to do so, it removes the default "Compact" style applied to Plain blocks, except when inside a table. + Add `proofState` to list of elements carried over from settings.xml in the reference.docx (Krystof Beuermann, #5703). + Change order of `ilvl` and `numId` in `document.xml` (Agustín Martín Barbero, #5645). Also, make list para properties go first. This reordering of properties shouldn't be necessary but it seems Word Online does not understand the docx correctly otherwise. * PowerPoint writer: + Code formatting is now context dependent (Jeroen de Haas, #5573). This commit alters the way in which the Powerpoint writer treats inline code and code blocks. Inline code is now formatted at the same size as the surrounding text. Code blocks are now given a margin and font size according to their level. Furthermore this commit allows changing the font with which code is formatted via the `monofont` option. + Start numbering at appopriate numbers (Jesse Rosenthal, #5709). Starting numbers for ordered lists were previously ignored. Now we specify the number if it is something other than 1. * Text.Pandoc.Parsing: + Add `manyChar`, `many1Char`, `manyTillChar`, `many1TillChar`, `many1Till`, `manyUntil`, `mantyUntilChar`: these are like their unsuffixed counterparts but pack some or all of their output (Christian Despres, #5884). + Add `stateAllowLineBreaks` to `ParserState` [API change]. + Fix inline parsing in grid table cells (#5708). + Change type of `setLastStrPos` so it takes a `Maybe SourcePos` rather than a `SourcePos` [API change]. + Make `parseFromString'` and `gridTableWith` and `gridTableWith'` polymorphic in the parser state, constraining it with `HasLastStrPosition` [API change]. + `parseFromString'`: reset `stateLastStrPos` to `Nothing` before parse. + Rename takeWhileP -> take1WhileP and clean it up. (It doesn't match the empty sequence.) * Text.Pandoc.PDF: + For PDFs via HTML, ensure temp file is deleted even if the pdf program is not found (#5720). + Better detection of a Cygwin environment (#5451). + Don't assume tex log file is UTF8-encoded (#5872). Fall back to latin1 if it can't be read as UTF-8. * Text.Pandoc.Extensions: + Export new function `getAllExtensions`, which returns the extensions that affect a given format (whether enabled by default or not) [API change]. + Change type of `parseFormatSpec` from `Either ParseError (String, Extensions -> Extensions)` to `Either ParseError (String, [Extension], [Extension])` [API change]. + Add `Ext_gutenberg` constructor to `Extension` [API change]. + Add `Ext_native_numbering` constructor to `Extension` [API change] (Nils Carlson). * Text.Pandoc.Readers, Text.Pandoc.Writers: + Change type of `getReader` and `getWriter` so they return a value in the PandocMonad instance rather than an Either [API change]. Exceptions for unknown formats and unsupported extensions are now raised by these functions. * Text.Pandoc.App + Change `optMetadataFile` type from `Maybe FilePath` to `[FilePath]` (Owen McGrath, #5702) [API change]. * Text.Pandoc.Logging: + Add `CouldNotDeduceFormat` constructor to `LogMessage` [API change]. Issue this warning when we're falling back to markdown or html because we don't recognize the extension of the input or output files. + Clarify warning for missing title (#5760). + Add `UnusualConversion` constructor to `LogMessage` [API change] (Mauro Bieg, #5736). Emit warning on `-f latex -o out.pdf`. * Lua filters: + Improve function documentation (Albert Krewkinkel). + Traverse nested blocks and inlines in correct order (Albert Krewinkel, #5667). Traversal methods are updated to use the new Walk module so that sequences with nested Inline (or Block) elements are traversed in the order in which they appear in the linearized document. + New unexported module `Text.Pandoc.Lua.Walk` (Albert Krewinkel). Lua filters must be able to traverse sequences of AST elements and to replace elements by splicing sequences back in their place. Special `Walkable` instances can be used for this; those are provided in a new module `Text.Pandoc.Lua.Walk`. + `Attr` values can now be given as normal Lua tables (Albert Krewinkel, #5744). This can be used as a convenient alternative to constructing `Attr` values with `pandoc.Attr`. Identifiers are taken from the `id` field, classes must be given as space separated words in the `class` field. All remaining fields are included as attributes. With this change, the following lines now create equal elements: ``` pandoc.Span('test', {id = 'test', class = 'a b', check = 1}) pandoc.Span('test', pandoc.Attr('test', {'a','b'}, {check = 1})) ``` This also works when using the *attr* setter: ``` local span = pandoc.Span 'text' span.attr = {id = 'test', class = 'a b', check = 1} ``` Furthermore, the *attributes* field of AST elements can now be a plain key-value table even when using the `attributes` accessor: ``` local span = pandoc.Span 'test' span.attributes = {check = 1} -- works as expected now ``` + Export `make_sections`, remove `hierarchicalize`. Lua filters that use `hierarchicalize` will need to be rewritten to use `make_sections`. + Add a `clone()` method to all AST elements (Albert Krewinkel, #5568). + Fix Lua function names in pandoc.system (niszet). Change `get_current_directory` to `get_working_directory` and `with_temp_directory` to `with_temporary_directory`, to conform to the manual. * Text.Pandoc.Error: + Add constructors `PandocUnknownReaderError`, `PandocUnknownWriterError`, `PandocUnsupportedExtensionError`. [API change]. + Better message for `PandocShouldNeverHappenError`. + Better message for `PandocTemplateError`. * Text.Pandoc.Emoji: + Update emoji list (#5666). Done using new `tools/emojis.hs`, which uses the list from the gem GitHub uses. Future updates can be done with this tool. * Text.Pandoc.PDF: + Pass value of `--dpi` to `rsvg-convert` when converting SVG to PDF in the process of creating a PDF (#5721). * Text.Pandoc.Shared: + Replace `Element` and `makeHierarchical` with `makeSections`. Now that we have Divs, we can use them to represent the structure of sections, and we don't need a special Element type. `makeSections` reorganizes a block list, adding Divs with class `section` around sections, and adding numbering if needed. This change also fixes some longstanding issues recognizing section structure when the document contains Divs (#3057, see also #997). + Remove `Element` type [API change] + Remove `makeHierarchicalize` [API change] + Add `makeSections` [API change] + Export `deLink` [API change] + Make `filterIpynbOutput` strip ANSI escapes from code in output for non-ipynb formats, when the default "best" option is used with `--ipynb-output` (#5633). + Fix `camelCaseToHyphenated` so it handles `ABCDef` better. + Improve `isTight` (#5857). If a list has an empty item, this should not count against its being a tight list. + Export `htmlSpanLikeElements` [API change] (Daniele D'Orazio, #5796). This is a mapping of HTML span-like elements that are internally represented as a Span with a single class. + Change the implementation of `htmlSpanLikeElements` to retain classes and attributes (#5882, Florian Beeres). * Text.Pandoc.Slides: recognize content in Divs when determining slide level. * Text.Pandoc.SelfContained: + Omit content-type on type attribute for `
pandoc-2.9.2.1/data/epub.css000066400000000000000000000016221363630463000155120ustar00rootroot00000000000000/* This defines styles and classes used in the book */ body { margin: 5%; text-align: justify; font-size: medium; } code { font-family: monospace; } h1 { text-align: left; } h2 { text-align: left; } h3 { text-align: left; } h4 { text-align: left; } h5 { text-align: left; } h6 { text-align: left; } h1.title { } h2.author { } h3.date { } nav#toc ol, nav#landmarks ol { padding: 0; margin-left: 1em; } nav#toc ol li, nav#landmarks ol li { list-style-type: none; margin: 0; padding: 0; } a.footnote-ref { vertical-align: super; } em, em em em, em em em em em { font-style: italic;} em em, em em em em { font-style: normal; } code{ white-space: pre-wrap; } span.smallcaps{ font-variant: small-caps; } span.underline{ text-decoration: underline; } q { quotes: "“" "”" "‘" "’"; } div.column{ display: inline-block; vertical-align: top; width: 50%; } div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} pandoc-2.9.2.1/data/init.lua000066400000000000000000000002661363630463000155160ustar00rootroot00000000000000-- This Lua script is run every time the Lua interpreter is started when running -- a Lua filter. It can be customized to load additional modules or to alter the -- default modules. pandoc-2.9.2.1/data/jats.csl000066400000000000000000000224241363630463000155140ustar00rootroot00000000000000 pandoc-2.9.2.1/data/make-reference-files.hs000066400000000000000000000014571363630463000203600ustar00rootroot00000000000000import System.Environment import System.Directory import Codec.Archive.Zip import qualified Data.ByteString.Lazy as BS import qualified Control.Exception as E import System.IO.Error (isDoesNotExistError) import System.FilePath mkzip :: String -> IO () mkzip fmt = do let dir = "data" fmt output = "data" "reference" <.> fmt cd <- getCurrentDirectory setCurrentDirectory dir archive <- addFilesToArchive [OptRecursive] emptyArchive ["."] setCurrentDirectory cd removeIfExists output BS.writeFile output $ fromArchive archive removeIfExists :: FilePath -> IO () removeIfExists fileName = removeFile fileName `E.catch` handleExists where handleExists e | isDoesNotExistError e = return () | otherwise = E.throwIO e main :: IO () main = getArgs >>= mkzip . (!!0) pandoc-2.9.2.1/data/odt/000077500000000000000000000000001363630463000146325ustar00rootroot00000000000000pandoc-2.9.2.1/data/odt/Configurations2/000077500000000000000000000000001363630463000177065ustar00rootroot00000000000000pandoc-2.9.2.1/data/odt/Configurations2/accelerator/000077500000000000000000000000001363630463000221725ustar00rootroot00000000000000pandoc-2.9.2.1/data/odt/Configurations2/accelerator/current.xml000066400000000000000000000000001363630463000243640ustar00rootroot00000000000000pandoc-2.9.2.1/data/odt/META-INF/000077500000000000000000000000001363630463000157725ustar00rootroot00000000000000pandoc-2.9.2.1/data/odt/META-INF/manifest.xml000066400000000000000000000020761363630463000203270ustar00rootroot00000000000000 pandoc-2.9.2.1/data/odt/Thumbnails/000077500000000000000000000000001363630463000167405ustar00rootroot00000000000000pandoc-2.9.2.1/data/odt/Thumbnails/thumbnail.png000066400000000000000000000014211363630463000214270ustar00rootroot00000000000000PNG  IHDRg?IDATxA 0Q_ EQ{jC\s8I1I1I1I1I1I1I1I1I1I1I,mi>*oGOy+އoo'^=gIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIꐵ|AR8I1I1I1I1I1I1I1I1I1I1I1I(ppIENDB`pandoc-2.9.2.1/data/odt/content.xml000066400000000000000000000070531363630463000170330ustar00rootroot00000000000000 Hello World!pandoc-2.9.2.1/data/odt/manifest.rdf000066400000000000000000000016031363630463000171350ustar00rootroot00000000000000 pandoc-2.9.2.1/data/odt/meta.xml000066400000000000000000000014021363630463000162770ustar00rootroot00000000000000 Pandoc pandoc-2.9.2.1/data/odt/mimetype000066400000000000000000000000471363630463000164070ustar00rootroot00000000000000application/vnd.oasis.opendocument.textpandoc-2.9.2.1/data/odt/settings.xml000066400000000000000000000232121363630463000172140ustar00rootroot00000000000000 002174710874truefalseview23041304100217451087300false100falsetruefalsefalse1473719falsetruefalsefalsetruefalsefalsefalsefalsefalsefalsefalsefalsetruefalse0falsefalsefalsefalsefalsefalsefalsefalsefalsefalsetruetruefalsefalsetruetruetruefalsehigh-resolution147371910falsefalsefalsetruefalsefalsetruefalsetruetruefalsefalsefalsefalsetruetruefalsetruetruetruefalsefalsefalse0falsefalsetruetruepandoc-2.9.2.1/data/odt/styles.xml000066400000000000000000001546161363630463000167140ustar00rootroot00000000000000 1 pandoc-2.9.2.1/data/pandoc.List.lua000066400000000000000000000105631363630463000167320ustar00rootroot00000000000000--[[ List.lua Copyright © 2017–2020 Albert Krewinkel Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ]] --- Pandoc's List type and helper methods -- @classmod pandoc.List -- @author Albert Krewinkel -- @copyright © 2017–2020 Albert Krewinkel -- @license MIT local List = { _VERSION = "1.0.0" } --- Create a new list. -- @param[opt] o table that should be altered into a list (default: `{}`) -- @return the altered input table function List:new (o) o = o or {} setmetatable(o, self) self.__index = self return o end --- Concatenates two lists. -- @param list second list concatenated to the first -- @return a new list containing all elements from list1 and list2 function List:__concat (list) local res = List.clone(self) List.extend(res, list) return res end --- Returns a (shallow) copy of the list. function List:clone () local lst = setmetatable({}, getmetatable(self)) List.extend(lst, self) return lst end --- Adds the given list to the end of this list. -- @param list list to appended function List:extend (list) for i = 1, #list do self[#self + 1] = list[i] end end --- Returns a new list containing all items satisfying a given condition. -- @param pred condition items must satisfy. -- @return a new list containing all items for which `test` was true. function List:filter (pred) local res = setmetatable({}, getmetatable(self)) for i = 1, #self do if pred(self[i], i) then res[#res + 1] = self[i] end end return res end --- Returns the value and index of the first occurrence of the given item. -- @param needle item to search for -- @param[opt] init index at which the search is started (default: 1) -- @return first item equal to the needle, or nil if no such item exists. -- @return index of that element function List:find (needle, init) return List.find_if(self, function(x) return x == needle end, init) end --- Returns the value and index of the first element for which the predicate --- holds true. -- @param pred the predicate function -- @param[opt] init index at which the search is started (default: 1) -- @return first item for which `test` succeeds, or nil if no such item exists. -- @return index of that element function List:find_if (pred, init) init = (init == nil and 1) or (init < 0 and #self - init) or init for i = init, #self do if pred(self[i], i) then return self[i], i end end return nil end --- Checks if the list has an item equal to the given needle. -- @param needle item to search for -- @param[opt] init index at which the search is started; defaults to 1. -- @return true if a list item is equal to the needle, false otherwise function List:includes (needle, init) return not (List.find(self, needle, init) == nil) end --- Insert an element into the list. Alias for `table.insert`. -- @param list list -- @param[opt] pos position at which the new element is to be inserted -- @param value value to insert List.insert = table.insert --- Returns a copy of the current list by applying the given function to -- all elements. -- @param fn function which is applied to all list items. function List:map (fn) local res = setmetatable({}, getmetatable(self)) for i = 1, #self do res[i] = fn(self[i], i) end return res end --- Remove element from list (alias for `table.remove`) -- @param list list -- @param[opt] pos position of the element to be removed (default: #list) -- @return the removed element List.remove = table.remove --- Sort list in-place (alias for `table.sort`) -- @param list list -- @param[opt] comp comparison function; default to `<` operator. List.sort = table.sort -- Set metatable with __call metamethod. This allows the use of `List` -- as a constructor function. local ListMT = { __call = List.new } setmetatable(List, ListMT) return List pandoc-2.9.2.1/data/pandoc.lua000066400000000000000000001015721363630463000160210ustar00rootroot00000000000000--[[ pandoc.lua Copyright © 2017–2019 Albert Krewinkel Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ]] --- -- Lua functions for pandoc scripts. -- -- @author Albert Krewinkel -- @copyright © 2017–2019 Albert Krewinkel -- @license MIT local M = {} -- Re-export bundled modules M.List = require 'pandoc.List' M.mediabag = require 'pandoc.mediabag' M.system = require 'pandoc.system' M.types = require 'pandoc.types' M.utils = require 'pandoc.utils' M.text = require 'text' -- Local names for modules which this module depends on. local List = M.List local utils = M.utils ------------------------------------------------------------------------ -- Accessor objects -- -- Create metatables which allow to access numerical indices via accessor -- methods. -- @section -- @local --- Create a new indexing function. -- @param template function template -- @param indices list of indices, starting with the most deeply nested -- @return newly created function -- @local function make_indexing_function(template, ...) local indices = {...} local loadstring = loadstring or load local bracketed = {} for i = 1, #indices do local idx = indices[#indices - i + 1] bracketed[i] = type(idx) == 'number' and string.format('[%d]', idx) or string.format('.%s', idx) end local fnstr = string.format('return ' .. template, table.concat(bracketed)) return assert(loadstring(fnstr))() end --- Create accessor functions using a function template. -- @param fn_template function template in which '%s' is replacd with indices -- @param accessors list of accessors -- @return mapping from accessor names to accessor functions -- @local local function create_accessor_functions (fn_template, accessors) local res = {} function add_accessors(acc, ...) if type(acc) == 'string' then res[acc] = make_indexing_function(fn_template, ...) elseif type(acc) == 'table' and #acc == 0 and next(acc) then -- Named substructure: the given names are accessed via the substructure, -- but the accessors are also added to the result table, enabling direct -- access from the parent element. Mainly used for `attr`. local name, substructure = next(acc) res[name] = make_indexing_function(fn_template, ...) for _, subname in ipairs(substructure) do res[subname] = make_indexing_function(fn_template, subname, ...) end else for i = 1, #(acc or {}) do add_accessors(acc[i], i, ...) end end end add_accessors(accessors) return res end --- Get list of top-level fields from field descriptor table. -- E.g.: `top_level_fields{'foo', {bar='baz'}, {'qux', 'quux'}}` -- gives {'foo, 'bar', 'qux', 'quux'} -- @local local function top_level_fields (fields) local result = List:new{} for _, v in ipairs(fields) do if type(v) == 'string' then table.insert(result, v) elseif type(v) == 'table' and #v == 0 and next(v) then table.insert(result, (next(v))) else result:extend(top_level_fields(v)) end end return result end --- Creates a function which behaves like next, but respects field names. -- @local local function make_next_function (fields) local field_indices = {} for i, f in ipairs(fields) do field_indices[f] = i end return function (t, field) local raw_idx = field == nil and 0 or field_indices[field] local next_field = fields[raw_idx + 1] return next_field, t[next_field] end end --- Create a new table which allows to access numerical indices via accessor -- functions. -- @local local function create_accessor_behavior (tag, accessors) local behavior = {tag = tag} behavior.getters = create_accessor_functions( 'function (x) return x.c%s end', accessors ) behavior.setters = create_accessor_functions( 'function (x, v) x.c%s = v end', accessors ) behavior.__eq = utils.equals behavior.__index = function(t, k) if getmetatable(t).getters[k] then return getmetatable(t).getters[k](t) elseif k == "t" then return getmetatable(t)["tag"] else return getmetatable(t)[k] end end behavior.__newindex = function(t, k, v) if getmetatable(t).setters[k] then getmetatable(t).setters[k](t, v) else rawset(t, k, v) end end behavior.__pairs = function (t) if accessors == nil then return next, t end local iterable_fields = type(accessors) == 'string' and {accessors} or top_level_fields(accessors) return make_next_function(iterable_fields), t end return behavior end ------------------------------------------------------------------------ -- The base class for types -- @type Type -- @local local Type = {} Type.name = 'Type' Type.__index = Type Type.behavior = { __type = Type, new = function (obj) obj = obj or {} setmetatable(obj, self) return obj end } Type.behavior.__index = Type.behavior --- Set a new behavior for the type, inheriting that of the parent type if none --- is specified explicitly -- @param behavior the behavior object for this type. -- @local function Type:set_behavior (behavior) behavior = behavior or {} behavior.__index = rawget(behavior, '__index') or behavior behavior.__type = self if not getmetatable(behavior) and getmetatable(self) then setmetatable(behavior, getmetatable(self).behavior) end self.behavior = behavior end --- Create a new subtype, using the given table as base. -- @param name name of the new type -- @param[opt] behavior behavioral object for the new type. -- @return a new type -- @local function Type:make_subtype(name, behavior) local newtype = setmetatable({}, self) newtype.name = name newtype.__index = newtype newtype:set_behavior(behavior) return newtype end ------------------------------------------------------------------------ -- The base class for pandoc's AST elements. -- @type AstElement -- @local local AstElement = Type:make_subtype 'AstElement' AstElement.__call = function(t, ...) local success, ret = pcall(t.new, t, ...) if success then return setmetatable(ret, t.behavior) else error(string.format('Constructor for %s failed: %s\n', t.name, ret)) end end --- Make a new subtype which constructs a new value when called. -- @local function AstElement:make_subtype(...) local newtype = Type.make_subtype(self, ...) newtype.__call = self.__call return newtype end --- Create a new constructor -- @local -- @param tag Tag used to identify the constructor -- @param fn Function to be called when constructing a new element -- @param accessors names to use as accessors for numerical fields -- @return function that constructs a new element function AstElement:create_constructor(tag, fn, accessors) local constr = self:make_subtype(tag, create_accessor_behavior(tag, accessors)) function constr:new(...) return setmetatable(fn(...), self.behavior) end self.constructor = self.constructor or {} self.constructor[tag] = constr return constr end --- Convert AstElement input into a list if necessary. -- @local local function ensureList (x) if x.tag then -- Lists are not tagged, but all elements are return List:new{x} else return List:new(x) end end --- Ensure a given object is an Inline element, or convert it into one. -- @local local function ensureInlineList (x) if type(x) == 'string' then return List:new{M.Str(x)} else return ensureList(x) end end --- Ensure that the given object is a definition pair, convert if necessary. -- @local local function ensureDefinitionPairs (pair) local inlines = ensureInlineList(pair[1] or {}) local blocks = ensureList(pair[2] or {}):map(ensureList) return {inlines, blocks} end --- Split a string into it's words, using whitespace as separators. local function words (str) local ws = {} for w in str:gmatch("([^%s]+)") do ws[#ws + 1] = w end return ws end --- Try hard to turn the arguments into an Attr object. local function ensureAttr(attr) if type(attr) == 'table' then if #attr > 0 then return M.Attr(table.unpack(attr)) end -- assume HTML-like key-value pairs local ident = attr.id or '' local classes = words(attr.class or '') local attributes = attr attributes.id = nil attributes.class = nil return M.Attr(ident, classes, attributes) elseif attr == nil then return M.Attr() elseif type(attr) == 'string' then -- treat argument as ID return M.Attr(attr) end -- print(arg, ...) error('Could not convert to Attr') end ------------------------------------------------------------------------ --- Pandoc Document -- @section document --- A complete pandoc document -- @function Pandoc -- @tparam {Block,...} blocks document content -- @tparam[opt] Meta meta document meta data M.Pandoc = AstElement:make_subtype'Pandoc' M.Pandoc.behavior.clone = M.types.clone.Pandoc function M.Pandoc:new (blocks, meta) return { blocks = ensureList(blocks), meta = meta or {}, } end -- DEPRECATED synonym: M.Doc = M.Pandoc ------------------------------------------------------------------------ -- Meta -- @section Meta --- Create a new Meta object. It sets the metatable of the given table to --- `Meta`. -- @function Meta -- @tparam meta table table containing document meta information M.Meta = AstElement:make_subtype'Meta' M.Meta.behavior.clone = M.types.clone.Meta function M.Meta:new (meta) return meta end ------------------------------------------------------------------------ -- MetaValue -- @section MetaValue M.MetaValue = AstElement:make_subtype('MetaValue') M.MetaValue.behavior.clone = M.types.clone.MetaValue --- Meta blocks -- @function MetaBlocks -- @tparam {Block,...} blocks blocks M.MetaBlocks = M.MetaValue:create_constructor( 'MetaBlocks', function (content) return ensureList(content) end ) --- Meta inlines -- @function MetaInlines -- @tparam {Inline,...} inlines inlines M.MetaInlines = M.MetaValue:create_constructor( 'MetaInlines', function (content) return ensureInlineList(content) end ) --- Meta list -- @function MetaList -- @tparam {MetaValue,...} meta_values list of meta values M.MetaList = M.MetaValue:create_constructor( 'MetaList', function (content) if content.tag == 'MetaList' then return content end return ensureList(content) end ) for k, v in pairs(List) do M.MetaList.behavior[k] = v end --- Meta map -- @function MetaMap -- @tparam table key_value_map a string-indexed map of meta values M.MetaMap = M.MetaValue:create_constructor( "MetaMap", function (mm) return mm end ) --- Creates string to be used in meta data. -- Does nothing, lua strings are meta strings. -- @function MetaString -- @tparam string str string value function M.MetaString(str) return str end --- Creates boolean to be used in meta data. -- Does nothing, lua booleans are meta booleans. -- @function MetaBool -- @tparam boolean bool boolean value function M.MetaBool(bool) return bool end ------------------------------------------------------------------------ -- Blocks -- @section Block --- Block elements M.Block = AstElement:make_subtype'Block' M.Block.behavior.clone = M.types.clone.Block --- Creates a block quote element -- @function BlockQuote -- @tparam {Block,...} content block content -- @treturn Block block quote element M.BlockQuote = M.Block:create_constructor( "BlockQuote", function(content) return {c = ensureList(content)} end, "content" ) --- Creates a bullet (i.e. unordered) list. -- @function BulletList -- @tparam {{Block,...},...} content list of items -- @treturn Block bullet list element M.BulletList = M.Block:create_constructor( "BulletList", function(content) return {c = ensureList(content):map(ensureList)} end, "content" ) --- Creates a code block element -- @function CodeBlock -- @tparam string text code string -- @tparam[opt] Attr attr element attributes -- @treturn Block code block element M.CodeBlock = M.Block:create_constructor( "CodeBlock", function(text, attr) return {c = {ensureAttr(attr), text}} end, {{attr = {"identifier", "classes", "attributes"}}, "text"} ) --- Creates a definition list, containing terms and their explanation. -- @function DefinitionList -- @tparam {{{Inline,...},{{Block,...}}},...} content list of items -- @treturn Block definition list element M.DefinitionList = M.Block:create_constructor( "DefinitionList", function(content) return {c = ensureList(content):map(ensureDefinitionPairs)} end, "content" ) --- Creates a div element -- @function Div -- @tparam {Block,...} content block content -- @tparam[opt] Attr attr element attributes -- @treturn Block div element M.Div = M.Block:create_constructor( "Div", function(content, attr) return {c = {ensureAttr(attr), ensureList(content)}} end, {{attr = {"identifier", "classes", "attributes"}}, "content"} ) --- Creates a header element. -- @function Header -- @tparam int level header level -- @tparam {Inline,...} content inline content -- @tparam[opt] Attr attr element attributes -- @treturn Block header element M.Header = M.Block:create_constructor( "Header", function(level, content, attr) return {c = {level, ensureAttr(attr), ensureInlineList(content)}} end, {"level", {attr = {"identifier", "classes", "attributes"}}, "content"} ) --- Creates a horizontal rule. -- @function HorizontalRule -- @treturn Block horizontal rule M.HorizontalRule = M.Block:create_constructor( "HorizontalRule", function() return {} end ) --- Creates a line block element. -- @function LineBlock -- @tparam {{Inline,...},...} content inline content -- @treturn Block line block element M.LineBlock = M.Block:create_constructor( "LineBlock", function(content) return {c = ensureList(content):map(ensureInlineList)} end, "content" ) --- Creates a null element. -- @function Null -- @treturn Block null element M.Null = M.Block:create_constructor( "Null", function() return {} end ) --- Creates an ordered list. -- @function OrderedList -- @tparam {{Block,...},...} items list items -- @param[opt] listAttributes list parameters -- @treturn Block ordered list element M.OrderedList = M.Block:create_constructor( "OrderedList", function(items, listAttributes) listAttributes = listAttributes or M.ListAttributes() return {c = {listAttributes, ensureList(items):map(ensureList)}} end, {{listAttributes = {"start", "style", "delimiter"}}, "content"} ) --- Creates a para element. -- @function Para -- @tparam {Inline,...} content inline content -- @treturn Block paragraph element M.Para = M.Block:create_constructor( "Para", function(content) return {c = ensureInlineList(content)} end, "content" ) --- Creates a plain element. -- @function Plain -- @tparam {Inline,...} content inline content -- @treturn Block plain element M.Plain = M.Block:create_constructor( "Plain", function(content) return {c = ensureInlineList(content)} end, "content" ) --- Creates a raw content block of the specified format. -- @function RawBlock -- @tparam string format format of content -- @tparam string text string content -- @treturn Block raw block element M.RawBlock = M.Block:create_constructor( "RawBlock", function(format, text) return {c = {format, text}} end, {"format", "text"} ) --- Creates a table element. -- @function Table -- @tparam {Inline,...} caption table caption -- @tparam {AlignDefault|AlignLeft|AlignRight|AlignCenter,...} aligns alignments -- @tparam {int,...} widths column widths -- @tparam {Block,...} headers header row -- @tparam {{Block,...}} rows table rows -- @treturn Block table element M.Table = M.Block:create_constructor( "Table", function(caption, aligns, widths, headers, rows) return { c = { ensureInlineList(caption), List:new(aligns), List:new(widths), List:new(headers), List:new(rows) } } end, {"caption", "aligns", "widths", "headers", "rows"} ) ------------------------------------------------------------------------ -- Inline -- @section Inline --- Inline element class M.Inline = AstElement:make_subtype'Inline' M.Inline.behavior.clone = M.types.clone.Inline --- Creates a Cite inline element -- @function Cite -- @tparam {Inline,...} content List of inlines -- @tparam {Citation,...} citations List of citations -- @treturn Inline citations element M.Cite = M.Inline:create_constructor( "Cite", function(content, citations) return {c = {ensureList(citations), ensureInlineList(content)}} end, {"citations", "content"} ) --- Creates a Code inline element -- @function Code -- @tparam string text code string -- @tparam[opt] Attr attr additional attributes -- @treturn Inline code element M.Code = M.Inline:create_constructor( "Code", function(text, attr) return {c = {ensureAttr(attr), text}} end, {{attr = {"identifier", "classes", "attributes"}}, "text"} ) --- Creates an inline element representing emphasised text. -- @function Emph -- @tparam {Inline,..} content inline content -- @treturn Inline emphasis element M.Emph = M.Inline:create_constructor( "Emph", function(content) return {c = ensureInlineList(content)} end, "content" ) --- Creates a Image inline element -- @function Image -- @tparam {Inline,..} caption text used to describe the image -- @tparam string src path to the image file -- @tparam[opt] string title brief image description -- @tparam[opt] Attr attr additional attributes -- @treturn Inline image element M.Image = M.Inline:create_constructor( "Image", function(caption, src, title, attr) title = title or "" return {c = {ensureAttr(attr), ensureInlineList(caption), {src, title}}} end, {{attr = {"identifier", "classes", "attributes"}}, "caption", {"src", "title"}} ) --- Create a LineBreak inline element -- @function LineBreak -- @treturn Inline linebreak element M.LineBreak = M.Inline:create_constructor( "LineBreak", function() return {} end ) --- Creates a link inline element, usually a hyperlink. -- @function Link -- @tparam {Inline,..} content text for this link -- @tparam string target the link target -- @tparam[opt] string title brief link description -- @tparam[opt] Attr attr additional attributes -- @treturn Inline image element M.Link = M.Inline:create_constructor( "Link", function(content, target, title, attr) title = title or "" attr = ensureAttr(attr) return {c = {attr, ensureInlineList(content), {target, title}}} end, {{attr = {"identifier", "classes", "attributes"}}, "content", {"target", "title"}} ) --- Creates a Math element, either inline or displayed. -- @function Math -- @tparam "InlineMath"|"DisplayMath" mathtype rendering specifier -- @tparam string text Math content -- @treturn Inline Math element M.Math = M.Inline:create_constructor( "Math", function(mathtype, text) return {c = {mathtype, text}} end, {"mathtype", "text"} ) --- Creates a DisplayMath element (DEPRECATED). -- @function DisplayMath -- @tparam string text Math content -- @treturn Inline Math element M.DisplayMath = M.Inline:create_constructor( "DisplayMath", function(text) return M.Math("DisplayMath", text) end, {"mathtype", "text"} ) --- Creates an InlineMath inline element (DEPRECATED). -- @function InlineMath -- @tparam string text Math content -- @treturn Inline Math element M.InlineMath = M.Inline:create_constructor( "InlineMath", function(text) return M.Math("InlineMath", text) end, {"mathtype", "text"} ) --- Creates a Note inline element -- @function Note -- @tparam {Block,...} content footnote block content M.Note = M.Inline:create_constructor( "Note", function(content) return {c = ensureList(content)} end, "content" ) --- Creates a Quoted inline element given the quote type and quoted content. -- @function Quoted -- @tparam "DoubleQuote"|"SingleQuote" quotetype type of quotes to be used -- @tparam {Inline,..} content inline content -- @treturn Inline quoted element M.Quoted = M.Inline:create_constructor( "Quoted", function(quotetype, content) return {c = {quotetype, ensureInlineList(content)}} end, {"quotetype", "content"} ) --- Creates a single-quoted inline element (DEPRECATED). -- @function SingleQuoted -- @tparam {Inline,..} content inline content -- @treturn Inline quoted element -- @see Quoted M.SingleQuoted = M.Inline:create_constructor( "SingleQuoted", function(content) return M.Quoted(M.SingleQuote, content) end, {"quotetype", "content"} ) --- Creates a single-quoted inline element (DEPRECATED). -- @function DoubleQuoted -- @tparam {Inline,..} content inline content -- @treturn Inline quoted element -- @see Quoted M.DoubleQuoted = M.Inline:create_constructor( "DoubleQuoted", function(content) return M.Quoted("DoubleQuote", content) end, {"quotetype", "content"} ) --- Creates a RawInline inline element -- @function RawInline -- @tparam string format format of the contents -- @tparam string text string content -- @treturn Inline raw inline element M.RawInline = M.Inline:create_constructor( "RawInline", function(format, text) return {c = {format, text}} end, {"format", "text"} ) --- Creates text rendered in small caps -- @function SmallCaps -- @tparam {Inline,..} content inline content -- @treturn Inline smallcaps element M.SmallCaps = M.Inline:create_constructor( "SmallCaps", function(content) return {c = ensureInlineList(content)} end, "content" ) --- Creates a SoftBreak inline element. -- @function SoftBreak -- @treturn Inline softbreak element M.SoftBreak = M.Inline:create_constructor( "SoftBreak", function() return {} end ) --- Create a Space inline element -- @function Space -- @treturn Inline space element M.Space = M.Inline:create_constructor( "Space", function() return {} end ) --- Creates a Span inline element -- @function Span -- @tparam {Inline,..} content inline content -- @tparam[opt] Attr attr additional attributes -- @treturn Inline span element M.Span = M.Inline:create_constructor( "Span", function(content, attr) return {c = {ensureAttr(attr), ensureInlineList(content)}} end, {{attr = {"identifier", "classes", "attributes"}}, "content"} ) --- Creates a Str inline element -- @function Str -- @tparam string text content -- @treturn Inline string element M.Str = M.Inline:create_constructor( "Str", function(text) return {c = text} end, "text" ) --- Creates text which is striked out. -- @function Strikeout -- @tparam {Inline,..} content inline content -- @treturn Inline strikeout element M.Strikeout = M.Inline:create_constructor( "Strikeout", function(content) return {c = ensureInlineList(content)} end, "content" ) --- Creates a Strong element, whose text is usually displayed in a bold font. -- @function Strong -- @tparam {Inline,..} content inline content -- @treturn Inline strong element M.Strong = M.Inline:create_constructor( "Strong", function(content) return {c = ensureInlineList(content)} end, "content" ) --- Creates a Subscript inline element -- @function Subscript -- @tparam {Inline,..} content inline content -- @treturn Inline subscript element M.Subscript = M.Inline:create_constructor( "Subscript", function(content) return {c = ensureInlineList(content)} end, "content" ) --- Creates a Superscript inline element -- @function Superscript -- @tparam {Inline,..} content inline content -- @treturn Inline strong element M.Superscript = M.Inline:create_constructor( "Superscript", function(content) return {c = ensureInlineList(content)} end, "content" ) ------------------------------------------------------------------------ -- Element components -- @section components --- Check if the first element of a pair matches the given value. -- @param x key value to be checked -- @return function returning true iff first element of its argument matches x -- @local local function assoc_key_equals (x) return function (y) return y[1] == x end end --- Lookup a value in an associative list -- @function lookup -- @local -- @tparam {{key, value},...} alist associative list -- @param key key for which the associated value is to be looked up local function lookup(alist, key) return (List.find_if(alist, assoc_key_equals(key)) or {})[2] end --- Return an iterator which returns key-value pairs of an associative list. -- @function apairs -- @local -- @tparam {{key, value},...} alist associative list local apairs = function (alist) local i = 1 local cur function nxt () cur = rawget(alist, i) if cur then i = i + 1 return cur[1], cur[2] end return nil end return nxt, nil, nil end --- AttributeList, a metatable to allow table-like access to attribute lists -- represented by associative lists. -- @local local AttributeList = { __index = function (t, k) if type(k) == "number" then return rawget(t, k) else return lookup(t, k) end end, __newindex = function (t, k, v) local cur, idx = List.find_if(t, assoc_key_equals(k)) if v == nil and not cur then -- deleted key does not exists in list return elseif v == nil then table.remove(t, idx) elseif cur then cur[2] = v elseif type(k) == "number" then rawset(t, k, v) else rawset(t, #t + 1, {k, v}) end end, __pairs = apairs } --- Convert a table to an associative list. The order of key-value pairs in the -- alist is undefined. The table should either contain no numeric keys or -- already be an associative list. -- @local -- @tparam table tbl associative list or table without numeric keys. -- @treturn table associative list local to_alist = function (tbl) if #tbl ~= 0 or next(tbl) == nil then -- probably already an alist return tbl end local alist = {} local i = 1 for k, v in pairs(tbl) do alist[i] = {k, v} i = i + 1 end return alist end -- Attr --- Create a new set of attributes (Attr). -- @function Attr -- @tparam[opt] string identifier element identifier -- @tparam[opt] {string,...} classes element classes -- @tparam[opt] table attributes table containing string keys and values -- @return element attributes M.Attr = AstElement:make_subtype'Attr' function M.Attr:new (identifier, classes, attributes) identifier = identifier or '' classes = ensureList(classes or {}) attributes = setmetatable(to_alist(attributes or {}), AttributeList) return setmetatable({identifier, classes, attributes}, self.behavior) end M.Attr.behavior.clone = M.types.clone.Attr M.Attr.behavior.tag = 'Attr' M.Attr.behavior._field_names = {identifier = 1, classes = 2, attributes = 3} M.Attr.behavior.__eq = utils.equals M.Attr.behavior.__index = function(t, k) return (k == 't' and t.tag) or rawget(t, getmetatable(t)._field_names[k]) or getmetatable(t)[k] end M.Attr.behavior.__newindex = function(t, k, v) if k == 'attributes' then rawset(t, 3, setmetatable(to_alist(v or {}), AttributeList)) elseif getmetatable(t)._field_names[k] then rawset(t, getmetatable(t)._field_names[k], v) else rawset(t, k, v) end end M.Attr.behavior.__pairs = function(t) local field_names = M.Attr.behavior._field_names local fields = {} for name, i in pairs(field_names) do fields[i] = name end return make_next_function(fields), t, nil end -- Monkey-patch setters for `attr` fields to be more forgiving in the input that -- results in a valid Attr value. function augment_attr_setter (setters) if setters.attr then local orig = setters.attr setters.attr = function(k, v) orig(k, ensureAttr(v)) end end end for _, blk in pairs(M.Block.constructor) do augment_attr_setter(blk.behavior.setters) end for _, inln in pairs(M.Inline.constructor) do augment_attr_setter(inln.behavior.setters) end -- Citation M.Citation = AstElement:make_subtype'Citation' M.Citation.behavior.clone = M.types.clone.Citation --- Creates a single citation. -- @function Citation -- @tparam string id citation identifier (like a bibtex key) -- @tparam AuthorInText|SuppressAuthor|NormalCitation mode citation mode -- @tparam[opt] {Inline,...} prefix citation prefix -- @tparam[opt] {Inline,...} suffix citation suffix -- @tparam[opt] int note_num note number -- @tparam[opt] int hash hash number function M.Citation:new (id, mode, prefix, suffix, note_num, hash) return { id = id, mode = mode, prefix = ensureList(prefix or {}), suffix = ensureList(suffix or {}), note_num = note_num or 0, hash = hash or 0, } end -- ListAttributes M.ListAttributes = AstElement:make_subtype 'ListAttributes' M.ListAttributes.behavior.clone = M.types.clone.ListAttributes --- Creates a set of list attributes. -- @function ListAttributes -- @tparam[opt] integer start number of the first list item -- @tparam[opt] string style style used for list numbering -- @tparam[opt] DefaultDelim|Period|OneParen|TwoParens delimiter delimiter of list numbers -- @treturn table list attributes table function M.ListAttributes:new (start, style, delimiter) start = start or 1 style = style or 'DefaultStyle' delimiter = delimiter or 'DefaultDelim' return {start, style, delimiter} end M.ListAttributes.behavior._field_names = {start = 1, style = 2, delimiter = 3} M.ListAttributes.behavior.__eq = utils.equals M.ListAttributes.behavior.__index = function (t, k) return rawget(t, getmetatable(t)._field_names[k]) or getmetatable(t)[k] end M.ListAttributes.behavior.__newindex = function (t, k, v) if getmetatable(t)._field_names[k] then rawset(t, getmetatable(t)._field_names[k], v) else rawset(t, k, v) end end M.ListAttributes.behavior.__pairs = function(t) local field_names = M.ListAttributes.behavior._field_names local fields = {} for name, i in pairs(field_names) do fields[i] = name end return make_next_function(fields), t, nil end ------------------------------------------------------------------------ -- Constants -- @section constants --- Author name is mentioned in the text. -- @see Citation -- @see Cite M.AuthorInText = "AuthorInText" --- Author name is suppressed. -- @see Citation -- @see Cite M.SuppressAuthor = "SuppressAuthor" --- Default citation style is used. -- @see Citation -- @see Cite M.NormalCitation = "NormalCitation" --- Table cells aligned left. -- @see Table M.AlignLeft = "AlignLeft" --- Table cells right-aligned. -- @see Table M.AlignRight = "AlignRight" --- Table cell content is centered. -- @see Table M.AlignCenter = "AlignCenter" --- Table cells are alignment is unaltered. -- @see Table M.AlignDefault = "AlignDefault" --- Default list number delimiters are used. -- @see OrderedList M.DefaultDelim = "DefaultDelim" --- List numbers are delimited by a period. -- @see OrderedList M.Period = "Period" --- List numbers are delimited by a single parenthesis. -- @see OrderedList M.OneParen = "OneParen" --- List numbers are delimited by a double parentheses. -- @see OrderedList M.TwoParens = "TwoParens" --- List are numbered in the default style -- @see OrderedList M.DefaultStyle = "DefaultStyle" --- List items are numbered as examples. -- @see OrderedList M.Example = "Example" --- List are numbered using decimal integers. -- @see OrderedList M.Decimal = "Decimal" --- List are numbered using lower-case roman numerals. -- @see OrderedList M.LowerRoman = "LowerRoman" --- List are numbered using upper-case roman numerals -- @see OrderedList M.UpperRoman = "UpperRoman" --- List are numbered using lower-case alphabetic characters. -- @see OrderedList M.LowerAlpha = "LowerAlpha" --- List are numbered using upper-case alphabetic characters. -- @see OrderedList M.UpperAlpha = "UpperAlpha" ------------------------------------------------------------------------ -- Functions which have moved to different modules M.sha1 = utils.sha1 return M pandoc-2.9.2.1/data/pptx/000077500000000000000000000000001363630463000150375ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/[Content_Types].xml000066400000000000000000000077001363630463000206530ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/_rels/000077500000000000000000000000001363630463000161435ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/_rels/.rels000066400000000000000000000011211363630463000171040ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/docProps/000077500000000000000000000000001363630463000166305ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/docProps/app.xml000066400000000000000000000025531363630463000201370ustar00rootroot00000000000000 249Microsoft Office PowerPointOn-screen Show (4:3)154200falseFonts Used2Theme1Slide Titles4ArialCalibriOffice ThemePresentation TitleSlide TitleSection headerSlide Title for Two-Contentfalsefalsefalse15.0000pandoc-2.9.2.1/data/pptx/docProps/core.xml000066400000000000000000000012451363630463000203040ustar00rootroot00000000000000 TitleJesse RosenthalJesse Rosenthal42017-06-05T14:10:58Z2019-04-05T11:11:56Zpandoc-2.9.2.1/data/pptx/ppt/000077500000000000000000000000001363630463000156425ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/_rels/000077500000000000000000000000001363630463000167465ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/_rels/presentation.xml.rels000066400000000000000000000027671363630463000231630ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/notesMasters/000077500000000000000000000000001363630463000203315ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/notesMasters/_rels/000077500000000000000000000000001363630463000214355ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/notesMasters/_rels/notesMaster1.xml.rels000066400000000000000000000004441363630463000255120ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/notesMasters/notesMaster1.xml000066400000000000000000000167151363630463000234520ustar00rootroot00000000000000 4/5/2019Click to edit Master text stylesSecond levelThird levelFourth levelFifth level‹#›pandoc-2.9.2.1/data/pptx/ppt/notesSlides/000077500000000000000000000000001363630463000201365ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/notesSlides/_rels/000077500000000000000000000000001363630463000212425ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/notesSlides/_rels/notesSlide1.xml.rels000066400000000000000000000006771363630463000251340ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/notesSlides/_rels/notesSlide2.xml.rels000066400000000000000000000006771363630463000251350ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/notesSlides/notesSlide1.xml000066400000000000000000000037031363630463000230550ustar00rootroot00000000000000 Here is a noteWith another paragraph.1pandoc-2.9.2.1/data/pptx/ppt/notesSlides/notesSlide2.xml000066400000000000000000000035251363630463000230600ustar00rootroot00000000000000 A speaker note on this slide too.2pandoc-2.9.2.1/data/pptx/ppt/presProps.xml000066400000000000000000000014561363630463000203670ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/presentation.xml000066400000000000000000000073121363630463000211020ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/000077500000000000000000000000001363630463000203235ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/000077500000000000000000000000001363630463000214275ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout1.xml.rels000066400000000000000000000004671363630463000255030ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout10.xml.rels000066400000000000000000000004671363630463000255630ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout11.xml.rels000066400000000000000000000004671363630463000255640ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout2.xml.rels000066400000000000000000000004671363630463000255040ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout3.xml.rels000066400000000000000000000004671363630463000255050ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout4.xml.rels000066400000000000000000000004671363630463000255060ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout5.xml.rels000066400000000000000000000004671363630463000255070ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout6.xml.rels000066400000000000000000000004671363630463000255100ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout7.xml.rels000066400000000000000000000004671363630463000255110ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout8.xml.rels000066400000000000000000000004671363630463000255120ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/_rels/slideLayout9.xml.rels000066400000000000000000000004671363630463000255130ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout1.xml000066400000000000000000000104071363630463000234260ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master subtitle style4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout10.xml000066400000000000000000000057161363630463000235150ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth level4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout11.xml000066400000000000000000000062571363630463000235170ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth level4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout2.xml000066400000000000000000000056271363630463000234370ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth level4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout3.xml000066400000000000000000000105331363630463000234300ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text styles4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout4.xml000066400000000000000000000111521363630463000234270ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth levelClick to edit Master text stylesSecond levelThird levelFourth levelFifth level4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout5.xml000066400000000000000000000160711363630463000234350ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text stylesClick to edit Master text stylesSecond levelThird levelFourth levelFifth levelClick to edit Master text stylesClick to edit Master text stylesSecond levelThird levelFourth levelFifth level4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout6.xml000066400000000000000000000042731363630463000234370ustar00rootroot00000000000000 Click to edit Master title style4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout7.xml000066400000000000000000000035511363630463000234360ustar00rootroot00000000000000 4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout8.xml000066400000000000000000000113041363630463000234320ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth levelClick to edit Master text styles4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideLayouts/slideLayout9.xml000066400000000000000000000110631363630463000234350ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text styles4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slideMasters/000077500000000000000000000000001363630463000203015ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/slideMasters/_rels/000077500000000000000000000000001363630463000214055ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/slideMasters/_rels/slideMaster1.xml.rels000066400000000000000000000037071363630463000254370ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slideMasters/slideMaster1.xml000066400000000000000000000273241363630463000233700ustar00rootroot00000000000000 Click to edit Master title styleClick to edit Master text stylesSecond levelThird levelFourth levelFifth level4/5/2019‹#›pandoc-2.9.2.1/data/pptx/ppt/slides/000077500000000000000000000000001363630463000171255ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/slides/_rels/000077500000000000000000000000001363630463000202315ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/slides/_rels/slide1.xml.rels000066400000000000000000000007161363630463000231040ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slides/_rels/slide2.xml.rels000066400000000000000000000007161363630463000231050ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slides/_rels/slide3.xml.rels000066400000000000000000000004671363630463000231110ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slides/_rels/slide4.xml.rels000066400000000000000000000004671363630463000231120ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/slides/slide1.xml000066400000000000000000000026461363630463000210400ustar00rootroot00000000000000 Presentation TitlePresentation Subtitlepandoc-2.9.2.1/data/pptx/ppt/slides/slide2.xml000066400000000000000000000027531363630463000210400ustar00rootroot00000000000000 Slide TitleHello, world.pandoc-2.9.2.1/data/pptx/ppt/slides/slide3.xml000066400000000000000000000026441363630463000210400ustar00rootroot00000000000000 Section headerSome explanatory textpandoc-2.9.2.1/data/pptx/ppt/slides/slide4.xml000066400000000000000000000037041363630463000210370ustar00rootroot00000000000000 Slide Title for Two-ContentSome content on the left.Some content on the right.pandoc-2.9.2.1/data/pptx/ppt/tableStyles.xml000066400000000000000000000002661363630463000206630ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/theme/000077500000000000000000000000001363630463000167445ustar00rootroot00000000000000pandoc-2.9.2.1/data/pptx/ppt/theme/theme1.xml000066400000000000000000000167471363630463000206700ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/theme/theme2.xml000066400000000000000000000152271363630463000206610ustar00rootroot00000000000000 pandoc-2.9.2.1/data/pptx/ppt/viewProps.xml000066400000000000000000000020171363630463000203620ustar00rootroot00000000000000 pandoc-2.9.2.1/data/sample.lua000066400000000000000000000224051363630463000160330ustar00rootroot00000000000000-- This is a sample custom writer for pandoc. It produces output -- that is very similar to that of pandoc's HTML writer. -- There is one new feature: code blocks marked with class 'dot' -- are piped through graphviz and images are included in the HTML -- output using 'data:' URLs. The image format can be controlled -- via the `image_format` metadata field. -- -- Invoke with: pandoc -t sample.lua -- -- Note: you need not have lua installed on your system to use this -- custom writer. However, if you do have lua installed, you can -- use it to test changes to the script. 'lua sample.lua' will -- produce informative error messages if your code contains -- syntax errors. local pipe = pandoc.pipe local stringify = (require "pandoc.utils").stringify -- The global variable PANDOC_DOCUMENT contains the full AST of -- the document which is going to be written. It can be used to -- configure the writer. local meta = PANDOC_DOCUMENT.meta -- Chose the image format based on the value of the -- `image_format` meta value. local image_format = meta.image_format and stringify(meta.image_format) or "png" local image_mime_type = ({ jpeg = "image/jpeg", jpg = "image/jpeg", gif = "image/gif", png = "image/png", svg = "image/svg+xml", })[image_format] or error("unsupported image format `" .. image_format .. "`") -- Character escaping local function escape(s, in_attribute) return s:gsub("[<>&\"']", function(x) if x == '<' then return '<' elseif x == '>' then return '>' elseif x == '&' then return '&' elseif x == '"' then return '"' elseif x == "'" then return ''' else return x end end) end -- Helper function to convert an attributes table into -- a string that can be put into HTML tags. local function attributes(attr) local attr_table = {} for x,y in pairs(attr) do if y and y ~= "" then table.insert(attr_table, ' ' .. x .. '="' .. escape(y,true) .. '"') end end return table.concat(attr_table) end -- Table to store footnotes, so they can be included at the end. local notes = {} -- Blocksep is used to separate block elements. function Blocksep() return "\n\n" end -- This function is called once for the whole document. Parameters: -- body is a string, metadata is a table, variables is a table. -- This gives you a fragment. You could use the metadata table to -- fill variables in a custom lua template. Or, pass `--template=...` -- to pandoc, and pandoc will do the template processing as usual. function Doc(body, metadata, variables) local buffer = {} local function add(s) table.insert(buffer, s) end add(body) if #notes > 0 then add('
    ') for _,note in pairs(notes) do add(note) end add('
') end return table.concat(buffer,'\n') .. '\n' end -- The functions that follow render corresponding pandoc elements. -- s is always a string, attr is always a table of attributes, and -- items is always an array of strings (the items in a list). -- Comments indicate the types of other variables. function Str(s) return escape(s) end function Space() return " " end function SoftBreak() return "\n" end function LineBreak() return "
" end function Emph(s) return "" .. s .. "" end function Strong(s) return "" .. s .. "" end function Subscript(s) return "" .. s .. "" end function Superscript(s) return "" .. s .. "" end function SmallCaps(s) return '' .. s .. '' end function Strikeout(s) return '' .. s .. '' end function Link(s, src, tit, attr) return "" .. s .. "" end function Image(s, src, tit, attr) return "" end function Code(s, attr) return "" .. escape(s) .. "" end function InlineMath(s) return "\\(" .. escape(s) .. "\\)" end function DisplayMath(s) return "\\[" .. escape(s) .. "\\]" end function SingleQuoted(s) return "‘" .. s .. "’" end function DoubleQuoted(s) return "“" .. s .. "”" end function Note(s) local num = #notes + 1 -- insert the back reference right before the final closing tag. s = string.gsub(s, '(.*)' .. s .. '') -- return the footnote reference, linked to the note. return '' .. num .. '' end function Span(s, attr) return "" .. s .. "
" end function RawInline(format, str) if format == "html" then return str else return '' end end function Cite(s, cs) local ids = {} for _,cit in ipairs(cs) do table.insert(ids, cit.citationId) end return "" .. s .. "" end function Plain(s) return s end function Para(s) return "

" .. s .. "

" end -- lev is an integer, the header level. function Header(lev, s, attr) return "" .. s .. "" end function BlockQuote(s) return "
\n" .. s .. "\n
" end function HorizontalRule() return "
" end function LineBlock(ls) return '
' .. table.concat(ls, '\n') .. '
' end function CodeBlock(s, attr) -- If code block has class 'dot', pipe the contents through dot -- and base64, and include the base64-encoded png as a data: URL. if attr.class and string.match(' ' .. attr.class .. ' ',' dot ') then local img = pipe("base64", {}, pipe("dot", {"-T" .. image_format}, s)) return '' -- otherwise treat as code (one could pipe through a highlighter) else return "
" .. escape(s) ..
           "
" end end function BulletList(items) local buffer = {} for _, item in pairs(items) do table.insert(buffer, "
  • " .. item .. "
  • ") end return "
      \n" .. table.concat(buffer, "\n") .. "\n
    " end function OrderedList(items) local buffer = {} for _, item in pairs(items) do table.insert(buffer, "
  • " .. item .. "
  • ") end return "
      \n" .. table.concat(buffer, "\n") .. "\n
    " end function DefinitionList(items) local buffer = {} for _,item in pairs(items) do local k, v = next(item) table.insert(buffer, "
    " .. k .. "
    \n
    " .. table.concat(v, "
    \n
    ") .. "
    ") end return "
    \n" .. table.concat(buffer, "\n") .. "\n
    " end -- Convert pandoc alignment to something HTML can use. -- align is AlignLeft, AlignRight, AlignCenter, or AlignDefault. function html_align(align) if align == 'AlignLeft' then return 'left' elseif align == 'AlignRight' then return 'right' elseif align == 'AlignCenter' then return 'center' else return 'left' end end function CaptionedImage(src, tit, caption, attr) return '
    \n\n' .. '

    ' .. caption .. '

    \n
    ' end -- Caption is a string, aligns is an array of strings, -- widths is an array of floats, headers is an array of -- strings, rows is an array of arrays of strings. function Table(caption, aligns, widths, headers, rows) local buffer = {} local function add(s) table.insert(buffer, s) end add("") if caption ~= "" then add("") end if widths and widths[1] ~= 0 then for _, w in pairs(widths) do add('') end end local header_row = {} local empty_header = true for i, h in pairs(headers) do local align = html_align(aligns[i]) table.insert(header_row,'') empty_header = empty_header and h == "" end if empty_header then head = "" else add('') for _,h in pairs(header_row) do add(h) end add('') end local class = "even" for _, row in pairs(rows) do class = (class == "even" and "odd") or "even" add('') for i,c in pairs(row) do add('') end add('') end add('
    " .. caption .. "
    ' .. h .. '
    ' .. c .. '
    ') return table.concat(buffer,'\n') end function RawBlock(format, str) if format == "html" then return str else return '' end end function Div(s, attr) return "\n" .. s .. "
    " end -- The following code will produce runtime warnings when you haven't defined -- all of the functions you need for the custom writer, so it's useful -- to include when you're working on a writer. local meta = {} meta.__index = function(_, key) io.stderr:write(string.format("WARNING: Undefined function '%s'\n",key)) return function() return "" end end setmetatable(_G, meta) pandoc-2.9.2.1/data/templates/000077500000000000000000000000001363630463000160425ustar00rootroot00000000000000pandoc-2.9.2.1/data/templates/.github/000077500000000000000000000000001363630463000174025ustar00rootroot00000000000000pandoc-2.9.2.1/data/templates/.github/ISSUE_TEMPLATE.md000066400000000000000000000002101363630463000221000ustar00rootroot00000000000000This repository is now maintained as a subtree of [jgm/pandoc](https://github.com/jgm/pandoc). Please open your issue there, not here. pandoc-2.9.2.1/data/templates/.github/PULL_REQUEST_TEMPLATE.md000066400000000000000000000002201363630463000231750ustar00rootroot00000000000000This repository is now maintained as a subtree of [jgm/pandoc](https://github.com/jgm/pandoc). Please open your pull request there, not here. pandoc-2.9.2.1/data/templates/README.markdown000066400000000000000000000042751363630463000205530ustar00rootroot00000000000000The [pandoc-templates] repository contains default templates for [pandoc]. If you use custom templates, we recommend forking this repository, so that you can integrate changes to the default templates in future pandoc releases. This repository is a subtree of [pandoc]; it will be updated each time there is a new pandoc release. However, changes to templates are made first in [pandoc]; thus, issues and pull requests should be made [pandoc]'s issue tracker rather than here. [pandoc]: https://github.com/jgm/pandoc [pandoc-templates]: https://github.com/jgm/pandoc-templates All of the templates in this repository are dual licensed, under both the GPL (v2 or higher, same as pandoc) and the BSD 3-clause license (included below). Copyright (c) 2014--2019, John MacFarlane All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of John MacFarlane nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. pandoc-2.9.2.1/data/templates/article.jats_publishing000066400000000000000000000112021363630463000225700ustar00rootroot00000000000000$if(article.type)$
    $else$
    $endif$ $if(journal.publisher-id)$ $journal.publisher-id$ $endif$ $if(journal.nlm-ta)$ $journal.nlm-ta$ $endif$ $if(journal.pmc)$ $journal.pmc$ $endif$ $if(journal.title)$ $journal.title$ $endif$ $if(journal.abbrev-title)$ $journal.abbrev-title$ $endif$ $if(journal.pissn)$ $journal.pissn$ $endif$ $if(journal.eissn)$ $journal.eissn$ $endif$ $journal.publisher-name$ $if(journal.publisher-loc)$ $journal.publisher-loc$ $endif$ $if(article.publisher-id)$ $article.publisher-id$ $endif$ $if(article.doi)$ $article.doi$ $endif$ $if(article.pmid)$ $article.pmid$ $endif$ $if(article.pmcid)$ $article.pmcid$ $endif$ $if(article.art-access-id)$ $article.art-access-id$ $endif$ $if(article.heading)$ $article.heading$ $if(article.categories)$ $for(article.categories)$ $article.categories$ $endfor$ $endif$ $endif$ $if(title)$ $title$ $endif$ $if(author)$ $for(author)$ $if(author.orcid)$ $author.orcid$ $endif$ $if(author.surname)$ $author.surname$ $author.given-names$ $else$ $author$ $endif$ $if(author.email)$ $author.email$ $endif$ $if(author.aff-id)$ $endif$ $if(author.cor-id)$ * $endif$ $endfor$ $endif$ $if(article.author-notes)$ $if(article.author-notes.corresp)$ $for(article.author-notes.corresp)$ * E-mail: $article.author-notes.corresp.email$ $endfor$ $endif$ $if(article.author-notes.conflict)$

    $article.author-notes.conflict$

    $endif$ $if(article.author-notes.con)$

    $article.author-notes.con$

    $endif$
    $endif$ $if(date)$ $if(date.day)$ $date.day$ $endif$ $if(date.month)$ $date.month$ $endif$ $date.year$ $endif$ $if(article.volume)$ $article.volume$ $endif$ $if(article.issue)$ $article.issue$ $endif$ $if(article.fpage)$ $article.fpage$ $endif$ $if(article.lpage)$ $article.lpage$ $endif$ $if(article.elocation-id)$ $article.elocation-id$ $endif$ $if(history)$ $endif$ $if(copyright)$ $if(copyright.statement)$ $copyright.statement$ $endif$ $if(copyright.year)$ $copyright.year$ $endif$ $if(copyright.holder)$ $copyright.holder$ $endif$ $if(copyright.text)$ $copyright.text$ $endif$ $endif$ $if(abstract)$ $abstract$ $endif$ $if(tags)$ $for(tags)$ $tags$ $endfor$ $endif$ $if(article.funding-statement)$ $article.funding-statement$ $endif$
    $if(notes)$ $notes$ $endif$
    $body$ $if(back)$ $back$ $endif$
    pandoc-2.9.2.1/data/templates/default.asciidoc000066400000000000000000000007201363630463000211650ustar00rootroot00000000000000$if(titleblock)$ = $title$ $if(author)$ $for(author)$$author$$sep$; $endfor$ $endif$ $if(date)$ $date$ $endif$ $if(keywords)$ :keywords: $for(keywords)$$keywords$$sep$, $endfor$ $endif$ $if(lang)$ :lang: $lang$ $endif$ $if(toc)$ :toc: $endif$ $endif$ $if(abstract)$ [abstract] == Abstract $abstract$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.asciidoctor000066400000000000000000000007641363630463000217220ustar00rootroot00000000000000$if(titleblock)$ = $title$ $if(author)$ $for(author)$$author$$sep$; $endfor$ $endif$ $if(date)$ $date$ $endif$ $if(keywords)$ :keywords: $for(keywords)$$keywords$$sep$, $endfor$ $endif$ $if(lang)$ :lang: $lang$ $endif$ $if(toc)$ :toc: $endif$ $if(math)$ :stem: latexmath $endif$ $endif$ $if(abstract)$ [abstract] == Abstract $abstract$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.commonmark000066400000000000000000000003501363630463000215510ustar00rootroot00000000000000$if(titleblock)$ $titleblock$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ $table-of-contents$ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.context000066400000000000000000000113471363630463000211020ustar00rootroot00000000000000$if(context-lang)$ \mainlanguage[$context-lang$] $endif$ $if(context-dir)$ \setupalign[$context-dir$] \setupdirections[bidi=on,method=two] $endif$ % Enable hyperlinks \setupinteraction [state=start, $if(title)$ title={$title$}, $endif$ $if(subtitle)$ subtitle={$subtitle$}, $endif$ $if(author)$ author={$for(author)$$author$$sep$; $endfor$}, $endif$ $if(keywords)$ keyword={$for(keywords)$$keywords$$sep$; $endfor$}, $endif$ style=$linkstyle$, color=$linkcolor$, contrastcolor=$linkcontrastcolor$] % make chapter, section bookmarks visible when opening document \placebookmarks[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][chapter, section] \setupinteractionscreen[option=bookmark] $if(papersize)$ \setuppapersize[$for(papersize)$$papersize$$sep$,$endfor$] $endif$ $if(layout)$ \setuplayout[$for(layout)$$layout$$sep$,$endfor$] $endif$ $if(pagenumbering)$ \setuppagenumbering[$for(pagenumbering)$$pagenumbering$$sep$,$endfor$] $else$ \setuppagenumbering[location={footer,middle}] $endif$ $if(pdfa)$ % attempt to generate PDF/A \setupbackend [format=PDF/A-$pdfa$, profile={$if(pdfaiccprofile)$$for(pdfaiccprofile)$$pdfaiccprofile$$sep$,$endfor$$else$sRGB.icc$endif$}, intent=$if(pdfaintent)$$pdfaintent$$else$sRGB IEC61966-2.1$endif$] $endif$ \setupbackend[export=yes] \setupstructure[state=start,method=auto] % use microtypography \definefontfeature[default][default][script=latn, protrusion=quality, expansion=quality, itlc=yes, textitalics=yes, onum=yes, pnum=yes] \definefontfeature[smallcaps][script=latn, protrusion=quality, expansion=quality, smcp=yes, onum=yes, pnum=yes] \setupalign[hz,hanging] \setupitaliccorrection[global, always] \setupbodyfontenvironment[default][em=italic] % use italic as em, not slanted \definefallbackfamily[mainface][rm][CMU Serif][preset=range:greek, force=yes] \definefontfamily[mainface][rm][$if(mainfont)$$mainfont$$else$Latin Modern Roman$endif$] \definefontfamily[mainface][mm][$if(mathfont)$$mathfont$$else$Latin Modern Math$endif$] \definefontfamily[mainface][ss][$if(sansfont)$$sansfont$$else$Latin Modern Sans$endif$] \definefontfamily[mainface][tt][$if(monofont)$$monofont$$else$Latin Modern Typewriter$endif$][features=none] \setupbodyfont[mainface$if(fontsize)$,$fontsize$$endif$] \setupwhitespace[$if(whitespace)$$whitespace$$else$medium$endif$] $if(indenting)$ \setupindenting[$for(indenting)$$indenting$$sep$,$endfor$] $endif$ $if(interlinespace)$ \setupinterlinespace[$for(interlinespace)$$interlinespace$$sep$,$endfor$] $endif$ \setuphead[chapter] [style=\tfd,header=empty] \setuphead[section] [style=\tfc] \setuphead[subsection] [style=\tfb] \setuphead[subsubsection] [style=\bf] \setuphead[subsubsubsection] [style=\sc] \setuphead[subsubsubsubsection][style=\it] $if(headertext)$ \setupheadertexts$for(headertext)$[$headertext$]$endfor$ $endif$ $if(footertext)$ \setupfootertexts$for(footertext)$[$footertext$]$endfor$ $endif$ $if(number-sections)$ $else$ \setuphead[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][number=no] $endif$ \definedescription [description] [headstyle=bold, style=normal, location=hanging, width=broad, margin=1cm, alternative=hanging] \setupitemize[autointro] % prevent orphan list intro \setupitemize[indentnext=no] \setupfloat[figure][default={here,nonumber}] \setupfloat[table][default={here,nonumber}] \setupthinrules[width=15em] % width of horizontal rules \setupxtable[frame=off] \setupxtable[head][topframe=on,bottomframe=on] \setupxtable[body][] \setupxtable[foot][bottomframe=on] $if(csl-refs)$ \definemeasure[cslhangindent][1.5em] \definenarrower[hangingreferences][left=\measure{cslhangindent}] \definestartstop [cslreferences] [ $if(csl-hanging-indent)$ before={% \starthangingreferences[left] \setupindenting[-\leftskip,yes,first] \doindentation }, after=\stophangingreferences, $endif$ ] $endif$ $if(includesource)$ $for(sourcefile)$ \attachment[file=$curdir$/$sourcefile$,method=hidden] $endfor$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ \starttext $if(title)$ \startalignment[middle] {\tfd\setupinterlinespace $title$} $if(subtitle)$ \smallskip {\tfa\setupinterlinespace $subtitle$} $endif$ $if(author)$ \smallskip {\tfa\setupinterlinespace $for(author)$$author$$sep$\crlf $endfor$} $endif$ $if(date)$ \smallskip {\tfa\setupinterlinespace $date$} $endif$ \bigskip \stopalignment $endif$ $if(abstract)$ \midaligned{\it Abstract} \startnarrower[2*middle] $abstract$ \stopnarrower \blank[big] $endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ \completecontent $endif$ $if(lot)$ \completelistoftables $endif$ $if(lof)$ \completelistoffigures $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ \stoptext pandoc-2.9.2.1/data/templates/default.docbook4000066400000000000000000000013251363630463000211150ustar00rootroot00000000000000 $if(mathml)$ $else$ $endif$
    $title$ $if(author)$ $for(author)$ $author$ $endfor$ $endif$ $if(date)$ $date$ $endif$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$
    pandoc-2.9.2.1/data/templates/default.docbook5000066400000000000000000000012411363630463000211130ustar00rootroot00000000000000
    $title$ $if(subtitle)$ $subtitle$ $endif$ $if(author)$ $for(author)$ $author$ $endfor$ $endif$ $if(date)$ $date$ $endif$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$
    pandoc-2.9.2.1/data/templates/default.dokuwiki000066400000000000000000000002021363630463000212300ustar00rootroot00000000000000$for(include-before)$ $include-before$ $endfor$ $if(toc)$ __TOC__ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.dzslides000066400000000000000000000100311363630463000212240ustar00rootroot00000000000000 $for(author-meta)$ $endfor$ $if(date-meta)$ $endif$ $if(keywords)$ $endif$ $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ $if(css)$ $for(css)$ $endfor$ $else$ $endif$ $if(math)$ $math$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $if(title)$

    $title$

    $if(subtitle)$

    $subtitle$

    $endif$
    $if(author)$$for(author)$$author$$sep$, $endfor$$endif$ · $if(date)$$date$$endif$
    $endif$ $if(toc)$
    $table-of-contents$
    $endif$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ $dzslides-core$ pandoc-2.9.2.1/data/templates/default.epub2000066400000000000000000000032571363630463000204340ustar00rootroot00000000000000 $pagetitle$ $if(highlighting-css)$ $endif$ $for(css)$ $endfor$ $for(header-includes)$ $header-includes$ $endfor$ $if(titlepage)$ $for(title)$ $if(title.text)$

    $title.text$

    $else$

    $title$

    $endif$ $endfor$ $if(subtitle)$

    $subtitle$

    $endif$ $for(author)$

    $author$

    $endfor$ $for(creator)$

    $creator.text$

    $endfor$ $if(publisher)$

    $publisher$

    $endif$ $if(date)$

    $date$

    $endif$ $if(rights)$
    $rights$
    $endif$ $else$ $if(coverpage)$
    $else$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ $endif$ $endif$ pandoc-2.9.2.1/data/templates/default.epub3000066400000000000000000000031671363630463000204350ustar00rootroot00000000000000 $pagetitle$ $if(highlighting-css)$ $endif$ $for(css)$ $endfor$ $for(header-includes)$ $header-includes$ $endfor$ $if(titlepage)$
    $for(title)$ $if(title.type)$

    $title.text$

    $else$

    $title$

    $endif$ $endfor$ $if(subtitle)$

    $subtitle$

    $endif$ $for(author)$

    $author$

    $endfor$ $for(creator)$

    $creator.text$

    $endfor$ $if(publisher)$

    $publisher$

    $endif$ $if(date)$

    $date$

    $endif$ $if(rights)$
    $rights$
    $endif$
    $else$ $if(coverpage)$
    $else$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ $endif$ $endif$ pandoc-2.9.2.1/data/templates/default.haddock000066400000000000000000000000071363630463000210020ustar00rootroot00000000000000$body$ pandoc-2.9.2.1/data/templates/default.html4000066400000000000000000000027151363630463000204450ustar00rootroot00000000000000 $for(author-meta)$ $endfor$ $if(date-meta)$ $endif$ $if(keywords)$ $endif$ $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ $for(css)$ $endfor$ $if(math)$ $math$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $if(title)$

    $title$

    $if(subtitle)$

    $subtitle$

    $endif$ $for(author)$

    $author$

    $endfor$ $if(date)$

    $date$

    $endif$
    $endif$ $if(toc)$
    $if(toc-title)$

    $toc-title$

    $endif$ $table-of-contents$
    $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.html5000066400000000000000000000027111363630463000204420ustar00rootroot00000000000000 $for(author-meta)$ $endfor$ $if(date-meta)$ $endif$ $if(keywords)$ $endif$ $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ $for(css)$ $endfor$ $if(math)$ $math$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $if(title)$

    $title$

    $if(subtitle)$

    $subtitle$

    $endif$ $for(author)$

    $author$

    $endfor$ $if(date)$

    $date$

    $endif$
    $endif$ $if(toc)$ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.icml000066400000000000000000000034711363630463000203410ustar00rootroot00000000000000 $charStyles$ LeftAlign . 10 $parStyles$ $body$ $hyperlinks$ pandoc-2.9.2.1/data/templates/default.jats_archiving000066400000000000000000000004721363630463000224060ustar00rootroot00000000000000 $if(xml-stylesheet)$ $endif$ ${ article.jats_publishing() } pandoc-2.9.2.1/data/templates/default.jats_articleauthoring000066400000000000000000000041671363630463000240050ustar00rootroot00000000000000 $if(xml-stylesheet)$ $endif$ $if(article.type)$
    $else$
    $endif$ $if(title)$ $title$ $endif$ $if(author)$ $for(author)$ $if(author.orcid)$ $author.orcid$ $endif$ $if(author.surname)$ $author.surname$ $author.given-names$ $else$ $author$ $endif$ $if(author.email)$ $author.email$ $endif$ $if(author.aff-id)$ $endif$ $if(author.cor-id)$ * $endif$ $endfor$ $endif$ $if(copyright)$ $if(copyright.statement)$ $copyright.statement$ $endif$ $if(copyright.year)$ $copyright.year$ $endif$ $if(copyright.holder)$ $copyright.holder$ $endif$ $if(copyright.text)$ $copyright.text$ $endif$ $endif$ $abstract$ $if(tags)$ $for(tags)$ $tags$ $endfor$ $endif$ $if(article.funding-statement)$ $article.funding-statement$ $endif$ $body$ $if(back)$ $back$ $endif$
    pandoc-2.9.2.1/data/templates/default.jats_publishing000066400000000000000000000004471363630463000226020ustar00rootroot00000000000000 $if(xml-stylesheet)$ $endif$ ${ article.jats_publishing() } pandoc-2.9.2.1/data/templates/default.jira000066400000000000000000000001471363630463000203370ustar00rootroot00000000000000$for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.latex000066400000000000000000000302261363630463000205300ustar00rootroot00000000000000% Options for packages loaded elsewhere \PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref} \PassOptionsToPackage{hyphens}{url} $if(colorlinks)$ \PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor} $endif$ $if(dir)$ $if(latex-dir-rtl)$ \PassOptionsToPackage{RTLdocument}{bidi} $endif$ $endif$ $if(CJKmainfont)$ \PassOptionsToPackage{space}{xeCJK} $endif$ % \documentclass[ $if(fontsize)$ $fontsize$, $endif$ $if(lang)$ $babel-lang$, $endif$ $if(papersize)$ $papersize$paper, $endif$ $if(beamer)$ ignorenonframetext, $if(handout)$ handout, $endif$ $if(aspectratio)$ aspectratio=$aspectratio$, $endif$ $endif$ $for(classoption)$ $classoption$$sep$, $endfor$ ]{$documentclass$} $if(beamer)$ $if(background-image)$ \usebackgroundtemplate{% \includegraphics[width=\paperwidth]{$background-image$}% } $endif$ \usepackage{pgfpages} \setbeamertemplate{caption}[numbered] \setbeamertemplate{caption label separator}{: } \setbeamercolor{caption name}{fg=normal text.fg} \beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$ $for(beameroption)$ \setbeameroption{$beameroption$} $endfor$ % Prevent slide breaks in the middle of a paragraph \widowpenalties 1 10000 \raggedbottom $if(section-titles)$ \setbeamertemplate{part page}{ \centering \begin{beamercolorbox}[sep=16pt,center]{part title} \usebeamerfont{part title}\insertpart\par \end{beamercolorbox} } \setbeamertemplate{section page}{ \centering \begin{beamercolorbox}[sep=12pt,center]{part title} \usebeamerfont{section title}\insertsection\par \end{beamercolorbox} } \setbeamertemplate{subsection page}{ \centering \begin{beamercolorbox}[sep=8pt,center]{part title} \usebeamerfont{subsection title}\insertsubsection\par \end{beamercolorbox} } \AtBeginPart{ \frame{\partpage} } \AtBeginSection{ \ifbibliography \else \frame{\sectionpage} \fi } \AtBeginSubsection{ \frame{\subsectionpage} } $endif$ $endif$ $if(beamerarticle)$ \usepackage{beamerarticle} % needs to be loaded first $endif$ $if(fontfamily)$ \usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$} $else$ \usepackage{lmodern} $endif$ $if(linestretch)$ \usepackage{setspace} $endif$ \usepackage{amssymb,amsmath} \usepackage{ifxetex,ifluatex} \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provide euro and other symbols \else % if luatex or xetex $if(mathspec)$ \ifxetex \usepackage{mathspec} \else \usepackage{unicode-math} \fi $else$ \usepackage{unicode-math} $endif$ \defaultfontfeatures{Scale=MatchLowercase} \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} $if(mainfont)$ \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$} $endif$ $if(sansfont)$ \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$} $endif$ $if(monofont)$ \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$} $endif$ $for(fontfamilies)$ \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$} $endfor$ $if(mathfont)$ $if(mathspec)$ \ifxetex \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} \else \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} \fi $else$ \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$} $endif$ $endif$ $if(CJKmainfont)$ \ifxetex \usepackage{xeCJK} \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} \fi $endif$ $if(luatexjapresetoptions)$ \ifluatex \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset} \fi $endif$ $if(CJKmainfont)$ \ifluatex \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec} \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$} \fi $endif$ \fi $if(beamer)$ $if(theme)$ \usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$} $endif$ $if(colortheme)$ \usecolortheme{$colortheme$} $endif$ $if(fonttheme)$ \usefonttheme{$fonttheme$} $endif$ $if(mainfont)$ \usefonttheme{serif} % use mainfont rather than sansfont for slide text $endif$ $if(innertheme)$ \useinnertheme{$innertheme$} $endif$ $if(outertheme)$ \useoutertheme{$outertheme$} $endif$ $endif$ % Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} \IfFileExists{microtype.sty}{% use microtype if available \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype} \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} $if(indent)$ $else$ \makeatletter \@ifundefined{KOMAClassName}{% if non-KOMA class \IfFileExists{parskip.sty}{% \usepackage{parskip} }{% else \setlength{\parindent}{0pt} \setlength{\parskip}{6pt plus 2pt minus 1pt}} }{% if KOMA class \KOMAoptions{parskip=half}} \makeatother $endif$ $if(verbatim-in-note)$ \usepackage{fancyvrb} $endif$ \usepackage{xcolor} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ $if(title-meta)$ pdftitle={$title-meta$}, $endif$ $if(author-meta)$ pdfauthor={$author-meta$}, $endif$ $if(lang)$ pdflang={$lang$}, $endif$ $if(subject)$ pdfsubject={$subject$}, $endif$ $if(keywords)$ pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$}, $endif$ $if(colorlinks)$ colorlinks=true, linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$, filecolor=$if(filecolor)$$filecolor$$else$Maroon$endif$, citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$, urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$, $else$ hidelinks, $endif$ pdfcreator={LaTeX via pandoc}} \urlstyle{same} % disable monospaced font for URLs $if(verbatim-in-note)$ \VerbatimFootnotes % allow verbatim text in footnotes $endif$ $if(geometry)$ $if(beamer)$ \geometry{$for(geometry)$$geometry$$sep$,$endfor$} $else$ \usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry} $endif$ $endif$ $if(beamer)$ \newif\ifbibliography $endif$ $if(listings)$ \usepackage{listings} \newcommand{\passthrough}[1]{#1} \lstset{defaultdialect=[5.3]Lua} \lstset{defaultdialect=[x86masm]Assembler} $endif$ $if(lhs)$ \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} $endif$ $if(highlighting-macros)$ $highlighting-macros$ $endif$ $if(tables)$ \usepackage{longtable,booktabs} $if(beamer)$ \usepackage{caption} % Make caption package work with longtable \makeatletter \def\fnum@table{\tablename~\thetable} \makeatother $else$ % Correct order of tables after \paragraph or \subparagraph \usepackage{etoolbox} \makeatletter \patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{} \makeatother % Allow footnotes in longtable head/foot \IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}} \makesavenoteenv{longtable} $endif$ $endif$ $if(graphics)$ \usepackage{graphicx} \makeatletter \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} \makeatother % Scale images if necessary, so that they will not overflow the page % margins by default, and it is still possible to overwrite the defaults % using explicit options in \includegraphics[width, height, ...]{} \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} % Set default figure placement to htbp \makeatletter \def\fps@figure{htbp} \makeatother $endif$ $if(links-as-notes)$ % Make links footnotes instead of hotlinks: \DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}} $endif$ $if(strikeout)$ \usepackage[normalem]{ulem} % Avoid problems with \sout in headers with hyperref \pdfstringdefDisableCommands{\renewcommand{\sout}{}} $endif$ \setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} $if(numbersections)$ \setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$} $else$ \setcounter{secnumdepth}{-\maxdimen} % remove section numbering $endif$ $if(beamer)$ $else$ $if(block-headings)$ % Make \paragraph and \subparagraph free-standing \ifx\paragraph\undefined\else \let\oldparagraph\paragraph \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} \fi \ifx\subparagraph\undefined\else \let\oldsubparagraph\subparagraph \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} \fi $endif$ $endif$ $if(pagestyle)$ \pagestyle{$pagestyle$} $endif$ $for(header-includes)$ $header-includes$ $endfor$ $if(lang)$ \ifxetex % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic) \usepackage{polyglossia} \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$} $for(polyglossia-otherlangs)$ \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$} $endfor$ \else \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel} $if(babel-newcommands)$ $babel-newcommands$ $endif$ \fi $endif$ $if(dir)$ \ifxetex % Load bidi as late as possible as it modifies e.g. graphicx \usepackage{bidi} \fi \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \TeXXeTstate=1 \newcommand{\RL}[1]{\beginR #1\endR} \newcommand{\LR}[1]{\beginL #1\endL} \newenvironment{RTL}{\beginR}{\endR} \newenvironment{LTR}{\beginL}{\endL} \fi $endif$ $if(natbib)$ \usepackage[$natbiboptions$]{natbib} \bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$} $endif$ $if(biblatex)$ \usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex} $for(bibliography)$ \addbibresource{$bibliography$} $endfor$ $endif$ $if(csl-refs)$ \newlength{\cslhangindent} \setlength{\cslhangindent}{1.5em} \newenvironment{cslreferences}% {$if(csl-hanging-indent)$\setlength{\parindent}{0pt}% \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}% {\par} $endif$ $if(title)$ \title{$title$$if(thanks)$\thanks{$thanks$}$endif$} $endif$ $if(subtitle)$ $if(beamer)$ $else$ \usepackage{etoolbox} \makeatletter \providecommand{\subtitle}[1]{% add subtitle to \maketitle \apptocmd{\@title}{\par {\large #1 \par}}{}{} } \makeatother $endif$ \subtitle{$subtitle$} $endif$ \author{$for(author)$$author$$sep$ \and $endfor$} \date{$date$} $if(beamer)$ $if(institute)$ \institute{$for(institute)$$institute$$sep$ \and $endfor$} $endif$ $if(titlegraphic)$ \titlegraphic{\includegraphics{$titlegraphic$}} $endif$ $if(logo)$ \logo{\includegraphics{$logo$}} $endif$ $endif$ \begin{document} $if(has-frontmatter)$ \frontmatter $endif$ $if(title)$ $if(beamer)$ \frame{\titlepage} $else$ \maketitle $endif$ $if(abstract)$ \begin{abstract} $abstract$ \end{abstract} $endif$ $endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ $if(toc-title)$ \renewcommand*\contentsname{$toc-title$} $endif$ $if(beamer)$ \begin{frame}[allowframebreaks] $if(toc-title)$ \frametitle{$toc-title$} $endif$ \tableofcontents[hideallsubsections] \end{frame} $else$ { $if(colorlinks)$ \hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$} $endif$ \setcounter{tocdepth}{$toc-depth$} \tableofcontents } $endif$ $endif$ $if(lot)$ \listoftables $endif$ $if(lof)$ \listoffigures $endif$ $if(linestretch)$ \setstretch{$linestretch$} $endif$ $if(has-frontmatter)$ \mainmatter $endif$ $body$ $if(has-frontmatter)$ \backmatter $endif$ $if(natbib)$ $if(bibliography)$ $if(biblio-title)$ $if(has-chapters)$ \renewcommand\bibname{$biblio-title$} $else$ \renewcommand\refname{$biblio-title$} $endif$ $endif$ $if(beamer)$ \begin{frame}[allowframebreaks]{$biblio-title$} \bibliographytrue $endif$ \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} $if(beamer)$ \end{frame} $endif$ $endif$ $endif$ $if(biblatex)$ $if(beamer)$ \begin{frame}[allowframebreaks]{$biblio-title$} \bibliographytrue \printbibliography[heading=none] \end{frame} $else$ \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ $endif$ $endif$ $for(include-after)$ $include-after$ $endfor$ \end{document} pandoc-2.9.2.1/data/templates/default.man000066400000000000000000000007771363630463000201760ustar00rootroot00000000000000$if(has-tables)$ .\"t $endif$ $if(pandoc-version)$ .\" Automatically generated by Pandoc $pandoc-version$ .\" $endif$ $if(adjusting)$ .ad $adjusting$ $endif$ .TH "$title/nowrap$" "$section/nowrap$" "$date/nowrap$" "$footer/nowrap$" "$header/nowrap$" $if(hyphenate)$ .hy $else$ .nh $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ $if(author)$ .SH AUTHORS $for(author)$$author$$sep$; $endfor$. $endif$ pandoc-2.9.2.1/data/templates/default.markdown000066400000000000000000000003501363630463000212300ustar00rootroot00000000000000$if(titleblock)$ $titleblock$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ $table-of-contents$ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.mediawiki000066400000000000000000000002021363630463000213450ustar00rootroot00000000000000$for(include-before)$ $include-before$ $endfor$ $if(toc)$ __TOC__ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.ms000066400000000000000000000044521363630463000200340ustar00rootroot00000000000000.\" **** Custom macro definitions ********************************* .\" * Super/subscript .\" (https://lists.gnu.org/archive/html/groff/2012-07/msg00046.html) .ds { \v'-0.3m'\\s[\\n[.s]*9u/12u] .ds } \s0\v'0.3m' .ds < \v'0.3m'\s[\\n[.s]*9u/12u] .ds > \s0\v'-0.3m' .\" * Horizontal line .de HLINE .LP .ce \l'20' .. $if(highlighting-macros)$ .\" * Syntax highlighting macros $highlighting-macros$ $endif$ .\" **** Settings ************************************************* .\" text width .nr LL 5.5i .\" left margin .nr PO 1.25i .\" top margin .nr HM 1.25i .\" bottom margin .nr FM 1.25i .\" header/footer width .nr LT \n[LL] .\" point size .nr PS $if(pointsize)$$pointsize$$else$10p$endif$ .\" line height .nr VS $if(lineheight)$$lineheight$$else$12p$endif$ .\" font family: A, BM, H, HN, N, P, T, ZCM .fam $if(fontfamily)$$fontfamily$$else$P$endif$ .\" paragraph indent .nr PI $if(indent)$$indent$$else$0m$endif$ .\" interparagraph space .nr PD 0.4v .\" footnote width .nr FL \n[LL] .\" footnote point size .nr FPS (\n[PS] - 2000) $if(papersize)$ .\" paper size .ds paper $papersize$ $endif$ .\" color used for strikeout .defcolor strikecolor rgb 0.7 0.7 0.7 .\" color for links (rgb) .ds PDFHREF.COLOUR 0.35 0.00 0.60 .\" border for links (default none) .ds PDFHREF.BORDER 0 0 0 .\" point size difference between heading levels .nr PSINCR 1p .\" heading level above which point size no longer changes .nr GROWPS 2 .\" comment these out if you want a dot after section numbers: .als SN SN-NO-DOT .als SN-STYLE SN-NO-DOT .\" page numbers in footer, centered .rm CH .ds CF % .\" pdf outline fold level .nr PDFOUTLINE.FOLDLEVEL 3 .\" start out in outline view .pdfview /PageMode /UseOutlines .\" *************************************************************** .\" PDF metadata .pdfinfo /Title "$title-meta$" .pdfinfo /Author "$author-meta$" $if(adjusting)$ .ad $adjusting$ $endif$ $if(hyphenate)$ .hy $else$ .nh $endif$ $if(has-inline-math)$ .EQ delim @@ .EN $endif$ $for(header-includes)$ $header-includes$ $endfor$ $if(title)$ .TL $title$ $endif$ $for(author)$ .AU $author$ $endfor$ $if(date)$ .AU .sp 0.5 .ft R $date$ $endif$ $if(abstract)$ .AB $abstract$ .AE $endif$ .\" 1 column (use .2C for two column) .1C $for(include-before)$ $include-before$ $endfor$ $body$ $if(toc)$ .TC $endif$ $for(include-after)$ $include-after$ $endfor$ .pdfsync pandoc-2.9.2.1/data/templates/default.muse000066400000000000000000000011131363630463000203550ustar00rootroot00000000000000$if(author)$ #author $for(author)$$author$$sep$; $endfor$ $endif$ $if(title)$ #title $title$ $endif$ $if(lang)$ #lang $lang$ $endif$ $if(LISTtitle)$ #LISTtitle $LISTtitle$ $endif$ $if(subtitle)$ #subtitle $subtitle$ $endif$ $if(SORTauthors)$ #SORTauthors $SORTauthors$ $endif$ $if(SORTtopics)$ #SORTtopics $SORTtopics$ $endif$ $if(date)$ #date $date$ $endif$ $if(notes)$ #notes $notes$ $endif$ $if(source)$ #source $source$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.opendocument000066400000000000000000000173301363630463000221140ustar00rootroot00000000000000 $automatic-styles$ $for(header-includes)$ $header-includes$ $endfor$ $if(title)$ $title$ $endif$ $for(author)$ $author$ $endfor$ $if(date)$ $date$ $endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ $toc-title$ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.opml000066400000000000000000000003641363630463000203620ustar00rootroot00000000000000 $title$ $date$ $for(author)$$author$$sep$; $endfor$ $body$ pandoc-2.9.2.1/data/templates/default.org000066400000000000000000000004471363630463000202040ustar00rootroot00000000000000$if(title)$ #+TITLE: $title$ $endif$ $if(author)$ #+AUTHOR: $for(author)$$author$$sep$; $endfor$ $endif$ $if(date)$ #+DATE: $date$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.plain000066400000000000000000000003501363630463000205110ustar00rootroot00000000000000$if(titleblock)$ $titleblock$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ $table-of-contents$ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.revealjs000066400000000000000000000205331363630463000212260ustar00rootroot00000000000000 $for(author-meta)$ $endfor$ $if(date-meta)$ $endif$ $if(keywords)$ $endif$ $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ $if(theme)$ $else$ $endif$ $for(css)$ $endfor$ $if(math)$ $math$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$
    $if(title)$

    $title$

    $if(subtitle)$

    $subtitle$

    $endif$ $for(author)$

    $author$

    $endfor$ $if(date)$

    $date$

    $endif$
    $endif$ $if(toc)$
    $table-of-contents$
    $endif$ $body$
    $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.rst000066400000000000000000000007631363630463000202260ustar00rootroot00000000000000$if(titleblock)$ $titleblock$ $endif$ $for(author)$ :Author: $author$ $endfor$ $if(date)$ :Date: $date$ $endif$ $if(author)$ $else$ $if(date)$ $endif$ $endif$ $if(rawtex)$ .. role:: raw-latex(raw) :format: latex .. $endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ .. contents:: :depth: $toc-depth$ .. $endif$ $if(number-sections)$ .. section-numbering:: $endif$ $for(header-includes)$ $header-includes$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.rtf000066400000000000000000000011301363630463000201760ustar00rootroot00000000000000{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}} {\colortbl;\red255\green0\blue0;\red0\green0\blue255;} \widowctrl\hyphauto $for(header-includes)$ $header-includes$ $endfor$ $if(title)$ {\pard \qc \f0 \sa180 \li0 \fi0 \b \fs36 $title$\par} $endif$ $for(author)$ {\pard \qc \f0 \sa180 \li0 \fi0 $author$\par} $endfor$ $if(date)$ {\pard \qc \f0 \sa180 \li0 \fi0 $date$\par} $endif$ $if(spacer)$ {\pard \ql \f0 \sa180 \li0 \fi0 \par} $endif$ $if(toc)$ $table-of-contents$ $endif$ $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ } pandoc-2.9.2.1/data/templates/default.s5000066400000000000000000000045101363630463000177370ustar00rootroot00000000000000 $for(author-meta)$ $endfor$ $if(date-meta)$ $endif$ $if(keywords)$ $endif$ $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ $for(css)$ $endfor$ $if(math)$ $math$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $for(include-before)$ $include-before$ $endfor$
    $if(title)$

    $title$

    $if(subtitle)$

    $subtitle$

    $endif$ $if(author)$

    $for(author)$$author$$sep$
    $endfor$

    $endif$ $if(date)$

    $date$

    $endif$
    $endif$ $if(toc)$
    $table-of-contents$
    $endif$ $body$ $for(include-after)$ $include-after$ $endfor$
    pandoc-2.9.2.1/data/templates/default.slideous000066400000000000000000000050701363630463000212410ustar00rootroot00000000000000 $for(author-meta)$ $endfor$ $if(date-meta)$ $endif$ $if(keywords)$ $endif$ $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ $for(css)$ $endfor$ $if(math)$ $math$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $if(duration)$ $endif$ $for(include-before)$ $include-before$ $endfor$
    of {$$slidecount} ½ {$$title}, {$$author}
    $if(title)$

    $title$

    $if(subtitle)$

    $subtitle$

    $endif$

    $for(author)$$author$$sep$
    $endfor$

    $if(date)$

    $date$

    $endif$
    $endif$ $if(toc)$
    $table-of-contents$
    $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.slidy000066400000000000000000000034321363630463000205360ustar00rootroot00000000000000 $for(author-meta)$ $endfor$ $if(date-meta)$ $endif$ $if(keywords)$ $endif$ $if(title-prefix)$$title-prefix$ – $endif$$pagetitle$ $for(css)$ $endfor$ $if(math)$ $math$ $endif$ $for(header-includes)$ $header-includes$ $endfor$ $if(duration)$ $endif$ $for(include-before)$ $include-before$ $endfor$ $if(title)$

    $title$

    $if(subtitle)$

    $subtitle$

    $endif$ $if(author)$

    $for(author)$$author$$sep$
    $endfor$

    $endif$ $if(date)$

    $date$

    $endif$
    $endif$ $if(toc)$
    $table-of-contents$
    $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.tei000066400000000000000000000017361363630463000202000ustar00rootroot00000000000000 $title$ $for(author)$ $author$ $endfor$ $if(publicationStmt)$

    $if(publicationStmt)$$publicationStmt$$endif$

    $endif$ $if(license)$ $license$ $endif$ $if(publisher)$ $publisher$ $endif$ $if(pubPlace)$ $pubPlace$ $endif$ $if(address)$
    $address$
    $endif$ $if(date)$ $date$ $endif$
    $if(sourceDesc)$ $sourceDesc$ $else$

    Produced by pandoc.

    $endif$
    $for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$
    pandoc-2.9.2.1/data/templates/default.texinfo000066400000000000000000000007351363630463000210710ustar00rootroot00000000000000\input texinfo @documentencoding UTF-8 $for(header-includes)$ $header-includes$ $endfor$ $if(strikeout)$ @macro textstrikeout{text} ~~\text\~~ @end macro $endif$ @ifnottex @paragraphindent 0 @end ifnottex $if(titlepage)$ @titlepage @title $title$ $for(author)$ @author $author$ $endfor$ $if(date)$ $date$ $endif$ @end titlepage $endif$ $for(include-before)$ $include-before$ $endfor$ $if(toc)$ @contents $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ @bye pandoc-2.9.2.1/data/templates/default.textile000066400000000000000000000001471363630463000210700ustar00rootroot00000000000000$for(include-before)$ $include-before$ $endfor$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.xwiki000066400000000000000000000002041363630463000205370ustar00rootroot00000000000000$for(include-before)$ $include-before$ $endfor$ $if(toc)$ {{toc /}} $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/default.zimwiki000066400000000000000000000002661363630463000210770ustar00rootroot00000000000000Content-Type: text/x-zim-wiki Wiki-Format: zim 0.4 $for(include-before)$ $include-before$ $endfor$ $if(toc)$ __TOC__ $endif$ $body$ $for(include-after)$ $include-after$ $endfor$ pandoc-2.9.2.1/data/templates/styles.html000066400000000000000000000006021363630463000202510ustar00rootroot00000000000000code{white-space: pre-wrap;} span.smallcaps{font-variant: small-caps;} span.underline{text-decoration: underline;} div.column{display: inline-block; vertical-align: top; width: 50%;} div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} ul.task-list{list-style: none;} $if(quotes)$ q { quotes: "“" "”" "‘" "’"; } $endif$ $if(highlighting-css)$ $highlighting-css$ $endif$ pandoc-2.9.2.1/data/translations/000077500000000000000000000000001363630463000165655ustar00rootroot00000000000000pandoc-2.9.2.1/data/translations/am.yaml000066400000000000000000000010071363630463000200440ustar00rootroot00000000000000Abstract: አኅጽተሮ ጽሁፍ Appendix: መድበል Bibliography: ቢዋ መጽሃፍት Cc: ግልባጭ Chapter: ክፍል Contents: ይዘት Encl: አባሪዎች Figure: ሥዕል Index: ምህጻር ቃል ListOfFigures: የሥዕችሎ ማውጫ ListOfTables: የሰንጠዥረ ማውጫ Page: ገጽ Part: ንዑስ ክፍል Preface: መቅድም Proof: ማረጋገጫ References: የነሥ ጹሁፍ ምንጭ See: ይመልከቱ SeeAlso: ይህምን ይመልከቱ Table: ሰንጠረዥ To: ለ pandoc-2.9.2.1/data/translations/ar.yaml000066400000000000000000000010551363630463000200540ustar00rootroot00000000000000Preface: ﻡﺪﺨﻟ References: ﺎﻠﻣﺭﺎﺠﻋ Abstract: ﻢﻠﺨﺻ Bibliography: ﺎﻠﻤﺻﺍﺩﺭ Chapter: ﺏﺎﺑ Appendix: ﺎﻠﻣﻼﺤﻗ Contents: ﺎﻠﻤﺤﺗﻮﻳﺎﺗ ListOfFigures: ﻕﺎﺌﻣﺓ ﺍﻸﺸﻛﺎﻟ ListOfTables: ﻕﺎﺌﻣﺓ ﺎﻠﺟﺩﺍﻮﻟ Index: ﺎﻠﻔﻫﺮﺳ Figure: ﺶﻜﻟ Table: ﺝﺩﻮﻟ Part: ﺎﻠﻘﺴﻣ Encl: ﺎﻠﻣﺮﻔﻗﺎﺗ To: ﺈﻟﻯ Page: ﺺﻔﺣﺓ See: ﺭﺎﺠﻋ SeeAlso: ﺭﺎﺠﻋ ﺄﻴﺿًﺍ Proof: ﺏﺮﻫﺎﻧ Glossary: ﻕﺎﻣﻮﺳ pandoc-2.9.2.1/data/translations/bg.yaml000066400000000000000000000010071363630463000200370ustar00rootroot00000000000000Abstract: Абстракт Appendix: Приложение Bibliography: Библиография Cc: копия Chapter: Глава Contents: Съдържание Encl: Приложения Figure: Фигура Glossary: Glossary Index: Азбучен указател ListOfFigures: Списък на фигурите ListOfTables: Списък на таблиците Page: Стр. Preface: Предговор Proof: Proof References: Литература See: вж. SeeAlso: вж. също и Table: Таблица pandoc-2.9.2.1/data/translations/bn.yaml000066400000000000000000000013671363630463000200570ustar00rootroot00000000000000Abstract: সারসংক্ষেপ Appendix: পরিশিষ্ট Bibliography: তথ্যবিবরণ Cc: অনুলিপি Chapter: অধ্যায় Contents: সূচীপত্র Encl: সংযুক্তি Figure: ছবি/নকশা Glossary: পরিভাষার শব্দসম্ভার Index: সূচক/নির্দেশক ListOfFigures: ছবি/নকশা সমূহের তালিকা ListOfTables: তালিকাসারণী Page: পৃষ্ঠা Part: খন্ড Preface: পূর্বকথা Proof: প্রমাণ References: তথ্যসুত্রসমূহ See: দেখুন SeeAlso: আরও দেখুন Table: সারনী To: প্রতি pandoc-2.9.2.1/data/translations/ca.yaml000066400000000000000000000006021363630463000200320ustar00rootroot00000000000000Abstract: Resum Appendix: Apèndix Bibliography: Bibliografia Cc: Còpies a Chapter: Capítol Contents: Índex Encl: Adjunt Figure: Figura Glossary: Glossari Index: Índex alfabètic ListOfFigures: Índex de figures ListOfTables: Índex de taules Page: Pàgina Part: Part Preface: Pròleg Proof: Demostració References: Referències See: Vegeu SeeAlso: Vegeu també Table: Taula To: A pandoc-2.9.2.1/data/translations/cs.yaml000066400000000000000000000005571363630463000200650ustar00rootroot00000000000000Abstract: Abstrakt Appendix: Dodatek Bibliography: Literatura Cc: Na vědomí: Chapter: Kapitola Contents: Obsah Encl: Příloha Figure: Obrázek Glossary: Slovník Index: Index ListOfFigures: Seznam obrázků ListOfTables: Seznam tabulek Page: Strana Part: Část Preface: Předmluva Proof: Důkaz References: Reference See: viz SeeAlso: viz Table: Tabulka To: Komu pandoc-2.9.2.1/data/translations/da.yaml000066400000000000000000000005221363630463000200340ustar00rootroot00000000000000Abstract: Resumé Appendix: Bilag Bibliography: Litteratur Cc: Kopi til} Chapter: Kapitel Contents: Indhold Encl: Vedlagt Figure: Figur Glossary: Gloseliste Index: Indeks ListOfFigures: Figurer ListOfTables: Tabeller Page: Side Part: Del Preface: Forord Proof: Bevis References: Litteratur See: Se SeeAlso: Se også Table: Tabel To: Til} pandoc-2.9.2.1/data/translations/de.yaml000066400000000000000000000006471363630463000200500ustar00rootroot00000000000000Abstract: Zusammenfassung Appendix: Anhang Bibliography: Literaturverzeichnis Cc: Verteiler Chapter: Kapitel Contents: Inhaltsverzeichnis Encl: Anlage(n) Figure: Abbildung Glossary: Glossar Index: Index Listing: Auflistung ListOfFigures: Abbildungsverzeichnis ListOfTables: Tabellenverzeichnis Page: Seite Part: Teil Preface: Vorwort Proof: Beweis References: Literatur See: siehe SeeAlso: siehe auch Table: Tabelle To: An pandoc-2.9.2.1/data/translations/el.yaml000066400000000000000000000011001363630463000200410ustar00rootroot00000000000000Abstract: Περίληψη Appendix: Παράρτημα Bibliography: Βιβλιογραφία Cc: Κοινοποίηση Chapter: Κεφάλαιο Contents: Περιεχόμενα Encl: Συνημμένα Figure: Σχήμα Glossary: Γλωσσάρι Index: Ευρετήριο ListOfFigures: Κατάλογος σχημάτων ListOfTables: Κατάλογος πινάκων Page: Σελίδα Part: Μέρος Preface: Πρόλογος Proof: Απόδειξη References: Αναφορές See: βλέπε SeeAlso: βλέπε επίσης Table: Πίνακας To: Προς pandoc-2.9.2.1/data/translations/en.yaml000066400000000000000000000005511363630463000200540ustar00rootroot00000000000000Abstract: Abstract Appendix: Appendix Bibliography: Bibliography Cc: cc Chapter: Chapter Contents: Contents Encl: encl Figure: Figure Glossary: Glossary Index: Index Listing: Listing ListOfFigures: ListOfFigures ListOfTables: ListOfTables Page: page Part: Part Preface: Preface Proof: Proof References: References See: see SeeAlso: see also Table: Table To: To pandoc-2.9.2.1/data/translations/eo.yaml000066400000000000000000000005401363630463000200530ustar00rootroot00000000000000Abstract: Resumo Appendix: Apendico Bibliography: Bibliografio Cc: Kopie al Chapter: Ĉapitro Contents: Enhavo Encl: Aldono(j) Figure: Figuro Glossary: Glosaro Index: Indekso ListOfFigures: Listo de figuroj ListOfTables: Listo de tabeloj Page: Paĝo Preface: Antaŭparolo Proof: Pruvo References: Citaĵoj See: vidu SeeAlso: Parto Table: Tabelo To: Al pandoc-2.9.2.1/data/translations/es.yaml000066400000000000000000000006271363630463000200650ustar00rootroot00000000000000Abstract: Resumen Appendix: Apéndice Bibliography: Bibliografía Cc: Copia a Chapter: Capítulo Contents: Índice general Encl: Adjunto(s) Figure: Figura Glossary: Glosario Index: Índice alfabético ListOfFigures: Índice de figuras ListOfTables: Índice de cuadros Page: Página Part: Parte Preface: Prefacio Proof: Prueba References: Referencias See: véase SeeAlso: véase también Table: Cuadro To: A pandoc-2.9.2.1/data/translations/et.yaml000066400000000000000000000005201363630463000200560ustar00rootroot00000000000000Abstract: Kokkuvõte Appendix: Lisa Bibliography: Kirjandus Cc: Koopia(d) Chapter: Peatükk Contents: Sisukord Encl: Lisa(d) Figure: Joonis Glossary: Glossary Index: Indeks ListOfFigures: Joonised ListOfTables: Tabelid Page: Lk. Part: Osa Preface: Sissejuhatus Proof: Korrektuur References: Viited See: vt. SeeAlso: vt. ka Table: Tabel pandoc-2.9.2.1/data/translations/eu.yaml000066400000000000000000000006321363630463000200630ustar00rootroot00000000000000Abstract: Laburpena Appendix: Eranskina Bibliography: Bibliografia Cc: Kopia Chapter: Kapitulua Contents: Gaien Aurkibidea Encl: Erantsia Figure: Irudia Glossary: Glosarioa Index: Kontzeptuen Aurkibidea ListOfFigures: Irudien Zerrenda ListOfTables: Taulen Zerrenda Page: Orria Part: Atala Preface: Hitzaurrea Proof: Frogapena References: Erreferentziak See: Ikusi SeeAlso: Ikusi, halaber Table: Taula To: Nori pandoc-2.9.2.1/data/translations/fa.yaml000066400000000000000000000010601363630463000200340ustar00rootroot00000000000000Abstract: چکیﺪﻫ Appendix: پیﻮﺴﺗ Bibliography: کﺕﺎﺑc>ﻧﺎﻤﻫ Cc: ﺭﻮﻧﻮﺸﺗ Chapter: ﻒﺼﻟ Contents: ﻒﻫﺮﺴﺗ ﻢﻃﺎﻠﺑ Encl: پیﻮﺴﺗ Figure: ﺶﻜﻟ Glossary: ﺩﺎﻨﺷc>ﻧﺎﻤﻫ Index: ﻦﻣﺍیﻩ ListOfFigures: ﻝیﺲﺗ ﺖﺻﺍﻭیﺭ ListOfTables: ﻝیﺲﺗ ﺝﺩﺍﻮﻟ Page: ﺺﻔﺣﺓ Part: ﺐﺨﺷ Preface: پیﺵگﻒﺗﺍﺭ Proof: ﺏﺮﻫﺎﻧ References: ﻡﺭﺎﺠﻋ See: ﺐﺑیﻥیﺩ SeeAlso: ﻥیﺯ ﺐﺑیﻥیﺩ Table: ﺝﺩﻮﻟ To: ﺐﻫ pandoc-2.9.2.1/data/translations/fi.yaml000066400000000000000000000005511363630463000200500ustar00rootroot00000000000000Abstract: Tiivistelmä Appendix: Liite Bibliography: Kirjallisuutta Cc: Jakelu Chapter: Luku Contents: Sisältö Encl: Liitteet Figure: Kuva Glossary: Sanasto Index: Hakemisto ListOfFigures: Kuvat ListOfTables: Taulukot Page: Sivu Part: Osa Preface: Esipuhe Proof: Todistus References: Viitteet See: katso SeeAlso: katso myös Table: Taulukko To: Vastaanottaja pandoc-2.9.2.1/data/translations/fr.yaml000066400000000000000000000005661363630463000200670ustar00rootroot00000000000000Abstract: Résumé Appendix: Annexe Bibliography: Bibliographie Cc: Cc Chapter: Chapitre Contents: Table des matières Figure: Figure Glossary: Glossaire Index: Index ListOfFigures: Table des figures ListOfTables: Liste des tableaux Page: Page Part: Partie Preface: Préface Proof: Démonstration References: Références See: Voir SeeAlso: Voir aussi Table: Tableau To: À pandoc-2.9.2.1/data/translations/he.yaml000066400000000000000000000007251363630463000200510ustar00rootroot00000000000000Abstract: תקציר Appendix: נספח Bibliography: ביבליוגרפיה Cc: העתקים Chapter: פרק Contents: תוכן העניינים Encl: רצ"ב Figure: איור Glossary: מילון מונחים} Index: מפתח ListOfFigures: רשימת האיורים ListOfTables: רשימת הטבלאות Page: עמוד Part: חלק Preface: מבוא Proof: הוכחה} Ps: נ.ב. References: מקורות See: ראה SeeAlso: ראה גם} Table: טבלה To: אל pandoc-2.9.2.1/data/translations/hi.yaml000066400000000000000000000010571363630463000200540ustar00rootroot00000000000000Abstract: सारांश Appendix: परिशिष्ट Bibliography: संदर ग्रन्थ} Cc: Chapter: अध्याय Contents: विषय सूची Encl: Figure: चित्र} Headpage: पृषठ Index: सूची ListOfFigures: चित्रों की सूची ListOfTables: तालिकाओं की सूची Page: पृषठ Part: खणड Preface: प्रस्तावना} References: हवाले See: देखिए SeeAlso: और देखिए Table: तालिका To: pandoc-2.9.2.1/data/translations/hr.yaml000066400000000000000000000005671363630463000200720ustar00rootroot00000000000000Abstract: Sažetak Appendix: Dodatak Bibliography: Bibliografija Cc: Kopija Chapter: Poglavlje Contents: Sadržaj Encl: Prilozi Figure: Slika Glossary: Pojmovnik Index: Kazalo ListOfFigures: Popis slika ListOfTables: Popis tablica Page: Stranica Part: Dio Preface: Predgovor Proof: Dokaz References: Literatura See: Vidjeti SeeAlso: Također vidjeti Table: Tablica To: Prima pandoc-2.9.2.1/data/translations/hu.yaml000066400000000000000000000006651363630463000200740ustar00rootroot00000000000000Abstract: Kivonat Appendix: Függelék Bibliography: Irodalomjegyzék Cc: Körlevél–címzettek Chapter: fejezet Contents: Tartalomjegyzék Encl: Melléklet Figure: ábra Glossary: Szójegyzék Index: Tárgymutató ListOfFigures: Ábrák jegyzéke ListOfTables: Táblázatok jegyzéke Page: oldal Part: rész Preface: Előszó Proof: Bizonyítás References: Hivatkozások See: lásd SeeAlso: lásd még Table: táblázat To: Címzett pandoc-2.9.2.1/data/translations/is.yaml000066400000000000000000000005731363630463000200710ustar00rootroot00000000000000Abstract: Útdráttur Appendix: Viðauki Bibliography: Heimildir Cc: Samrit Chapter: Kafli Contents: Efnisyfirlit Encl: Hjálagt Figure: Mynd Glossary: Orðalisti Index: Atriðisorðaskrá ListOfFigures: Myndaskrá ListOfTables: Töfluskrá Page: Blaðsíða Part: Hluti Preface: Formáli Proof: Sönnun References: Heimildir See: Sjá SeeAlso: Sjá einnig Table: Tafla To: Til: pandoc-2.9.2.1/data/translations/it.yaml000066400000000000000000000006361363630463000200720ustar00rootroot00000000000000Abstract: Sommario Appendix: Appendice Bibliography: Bibliografia Cc: e p. c. Chapter: Capitolo Contents: Indice Encl: Allegati Figure: Figura Glossary: Glossario Index: Indice analitico ListOfFigures: Elenco delle figure ListOfTables: Elenco delle tabelle Page: Pag. Part: Parte Preface: Prefazione Proof: Dimostrazione References: Riferimenti bibliografici See: vedi SeeAlso: vedi anche Table: Tabella To: Per pandoc-2.9.2.1/data/translations/km.yaml000066400000000000000000000012531363630463000200610ustar00rootroot00000000000000Abstract: សង្ខេប Appendix: សេចក្ដីបន្ថែម Bibliography: គន្ថនិទ្ទេស Cc: ចម្លងជួន Chapter: ជំពូក Contents: មាតិការ Encl: ឯកសារភ្ជាប់ Figure: រូប Glossary: សទានុក្រម Index: សន្ទស្សន៍ ListOfFigures: បញ្ជីរូបភាព ListOfTables: បញ្ជីតារាង Page: ទំព័រ Part: ផ្នែក Preface: អារម្ភកថា Proof: សម្រាយ References: ឯកសារយោង See: មើល SeeAlso: មើលបន្ថែម Table: តារាង To: ផ្ញើរទៅ pandoc-2.9.2.1/data/translations/ko.yaml000066400000000000000000000004521363630463000200630ustar00rootroot00000000000000Abstract: 요약 Appendix: 부록 Bibliography: 참고문헌 Cc: 사본 Chapter: 장 Contents: 차례 Encl: 동봉 Figure: 그림 Index: 찾아보기 ListOfFigures: 그림 차례 ListOfTables: 표 차례 Page: 페이지 Preface: 서문 Proof: 증명 References: 참고문헌 Table: 표 To: 수신: pandoc-2.9.2.1/data/translations/lo.yaml000066400000000000000000000013111363630463000200570ustar00rootroot00000000000000Abstract: ບົດຫຍໍ້ຄວາມ Appendix: ພາກຄັດຕິດ Bibliography: ເອກະສານອ້າງອີງ Cc: ສໍາເນົາເຖິງ Chapter: ບົດທີ Contents: ສາລະບານ Encl: ເອກະສານປະກອບ Figure: ຮູບທີ Glossary: ປະມວນສັບ Index: ດັດຊະນີ ListOfFigures: ສາລະບານຮູບ ListOfTables: ສາລະບານຕາຕະລາງ Page: ໜ້າ Part: ພາກ Preface: ຄໍານໍາ Proof: ຂໍ້ພິສູດ References: ໜັງສືອ້າງອີງ See: ອ່ານ SeeAlso: ອ່ານເພີ່ມ Table: ຕາຕະລາງທີ To: ຮຽນ pandoc-2.9.2.1/data/translations/lt.yaml000066400000000000000000000006171363630463000200740ustar00rootroot00000000000000Abstract: Santrauka Appendix: Priedas Bibliography: Literatūra Cc: Kopijos Chapter: Skyrius Contents: Turinys Encl: Įdėta Figure: pav. Glossary: Terminų žodynas Index: Rodyklė ListOfFigures: Iliustracijų sąrašas ListOfTables: Lentelių sąrašas Page: puslapis Part: Dalis Preface: Pratarmė Proof: Įrodymas References: Literatūra See: žiūrėk SeeAlso: taip pat Table: lentelė To: Kam pandoc-2.9.2.1/data/translations/lv.yaml000066400000000000000000000005441363630463000200750ustar00rootroot00000000000000Abstract: Anotācija Appendix: Pielikums Bibliography: Literatūra Cc: cc Chapter: Nodaļa Contents: Saturs Encl: encl Figure: Att. Index: Index ListOfFigures: Attēlu saraksts ListOfTables: Tabulu saraksts Page: lpp. Part: Daļa Preface: Priekšvārds Proof: Pierādījums References: Literatūras saraksts See: sk. SeeAlso: sk. arī Table: Tabula To: To pandoc-2.9.2.1/data/translations/nl.yaml000066400000000000000000000006101363630463000200570ustar00rootroot00000000000000Abstract: Samenvatting Appendix: Bijlage Bibliography: Bibliografie Cc: cc Chapter: Hoofdstuk Contents: Inhoudsopgave Encl: Bijlage(n) Figure: Figuur Glossary: Verklarende woordenlijst Index: Index ListOfFigures: Lijst van figuren ListOfTables: Lijst van tabellen Page: Pagina Part: Deel Preface: Voorwoord Proof: Bewijs References: Referenties See: zie SeeAlso: zie ook Table: Tabel To: Aan pandoc-2.9.2.1/data/translations/no.yaml000066400000000000000000000005321363630463000200650ustar00rootroot00000000000000Abstract: Sammendrag Appendix: Tillegg Bibliography: Bibliografi Cc: Kopi sendt Chapter: Kapittel Contents: Innhold Encl: Vedlegg Figure: Figur Glossary: Ordliste Index: Register ListOfFigures: Figurer ListOfTables: Tabeller Page: Side Part: Del Preface: Forord Proof: Bevis References: Referanser See: Se SeeAlso: Se også Table: Tabell To: Til pandoc-2.9.2.1/data/translations/pl.yaml000066400000000000000000000005751363630463000200730ustar00rootroot00000000000000Abstract: Streszczenie Appendix: Dodatek Bibliography: Bibliografia Cc: Kopie: Chapter: Rozdział Contents: Spis treści Encl: Załącznik Figure: Rysunek Glossary: Glossary Index: Indeks ListOfFigures: Spis rysunków ListOfTables: Spis tabel Page: Strona Part: Część Preface: Przedmowa Proof: Dowód References: Literatura See: Zobacz SeeAlso: Zobacz też Table: Tabela To: Do pandoc-2.9.2.1/data/translations/pt.yaml000066400000000000000000000006071363630463000200770ustar00rootroot00000000000000Abstract: Resumo Appendix: Apêndice Bibliography: Bibliografia Cc: Com cópia a Chapter: Capítulo Contents: Conteúdo Encl: Anexo Figure: Figura Glossary: Glossário Index: Índice ListOfFigures: Lista de Figuras ListOfTables: Lista de Tabelas Page: Página Part: Parte Preface: Prefácio Proof: Demonstração References: Referências See: ver SeeAlso: ver também Table: Tabela To: Para pandoc-2.9.2.1/data/translations/rm.yaml000066400000000000000000000006541363630463000200740ustar00rootroot00000000000000Abstract: Recapitulaziun Appendix: Appendix Bibliography: Index bibliografic Cc: Copia a Chapter: Chapitel Contents: Tavla dal cuntegn Encl: Agiunta(s) Figure: Figura Glossary: Glossari Index: Register da materias ListOfFigures: Tavla da las figuras ListOfTables: Tavla da las tabellas Page: pagina Part: Part Preface: Prefaziun Proof: Demonstraziun References: Bibliografia See: vesair SeeAlso: vesair era Table: Tabella To: A pandoc-2.9.2.1/data/translations/ro.yaml000066400000000000000000000005761363630463000201010ustar00rootroot00000000000000Abstract: Rezumat Appendix: Anexa Bibliography: Bibliografie Cc: Copie Chapter: Capitolul Contents: Cuprins Encl: Anexă Figure: Figura Glossary: Glosar Index: Glosar ListOfFigures: Listă de figuri ListOfTables: Listă de tabele Page: Pagina Part: Partea Preface: Prefață Proof: Demonstrație References: Bibliografie See: Vezi SeeAlso: Vezi de asemenea Table: Tabela To: Pentru pandoc-2.9.2.1/data/translations/ru.yaml000066400000000000000000000010311363630463000200720ustar00rootroot00000000000000Abstract: Аннотация Appendix: Приложение Bibliography: Литература Cc: исх. Chapter: Глава Contents: Оглавление Encl: вкл. Figure: Рис. Index: Предметный указатель ListOfFigures: Список иллюстраций ListOfTables: Список таблиц Page: с. Part: Часть Preface: Предисловие Proof: Доказательство References: Список литературы See: см. SeeAlso: см. также Table: Таблица To: вх. pandoc-2.9.2.1/data/translations/sk.yaml000066400000000000000000000005531363630463000200710ustar00rootroot00000000000000Abstract: Abstrakt Appendix: Dodatok Bibliography: Literatúra Cc: cc. Chapter: Kapitola Contents: Obsah Encl: Prílohy Figure: Obrázok Glossary: Slovník Index: Index ListOfFigures: Zoznam obrázkov ListOfTables: Zoznam tabuliek Page: Strana Part: Časť Preface: Úvod Proof: Dôkaz References: Referencie See: viď SeeAlso: viď tiež Table: Tabuľka To: Pre pandoc-2.9.2.1/data/translations/sl.yaml000066400000000000000000000005341363630463000200710ustar00rootroot00000000000000Abstract: Povzetek Appendix: Dodatek Bibliography: Literatura Cc: Kopije Chapter: Poglavje Contents: Kazalo Encl: Priloge Figure: Slika Glossary: Slovar Index: Stvarno kazalo ListOfFigures: Slike ListOfTables: Tabele Page: Stran Part: Del Preface: Predgovor Proof: Dokaz References: Literatura See: glej SeeAlso: glej tudi Table: Tabela To: Prejme pandoc-2.9.2.1/data/translations/sq.yaml000066400000000000000000000005241363630463000200750ustar00rootroot00000000000000Abstract: Përmbledhja Appendix: Shtesa Bibliography: Bibliografia Chapter: Kapitulli Contents: Përmbajta Figure: Figura Glossary: Përhasja e Fjalëve Index: Indeksi ListOfFigures: Figurat ListOfTables: Tabelat Page: Faqe Part: Pjesa Preface: Parathenia Proof: Vërtetim References: Referencat See: shiko SeeAlso: shiko dhe Table: Tabela pandoc-2.9.2.1/data/translations/sr-cyrl.yaml000066400000000000000000000010341363630463000210420ustar00rootroot00000000000000Abstract: Сажетак Appendix: Додатак Bibliography: Литература Cc: Копије Chapter: Глава Contents: Садржај Encl: Прилози Figure: Слика Glossary: Речник непознатих речи Index: Регистар ListOfFigures: Списак слика ListOfTables: Списак табела Page: Страна Part: Део Preface: Предговор Proof: Доказ References: Библиографија See: Види SeeAlso: Види такође Table: Табела To: Прима pandoc-2.9.2.1/data/translations/sr.yaml000066400000000000000000000005731363630463000201020ustar00rootroot00000000000000Abstract: Sažetak Appendix: Dodatak Bibliography: Literatura Cc: Kopije Chapter: Glava Contents: Sadržaj Encl: Prilozi Figure: Slika Glossary: Rečnik nepoznatih reči Index: Registar ListOfFigures: Spisak slika ListOfTables: Spisak tabela Page: Strana Part: Deo Preface: Predgovor Proof: Dokaz References: Bibliografija See: Vidi SeeAlso: Vidi takođe Table: Tabela To: Prima pandoc-2.9.2.1/data/translations/sv.yaml000066400000000000000000000005651363630463000201070ustar00rootroot00000000000000Abstract: Sammanfattning Appendix: Bilaga Bibliography: Litteraturförteckning Cc: Kopia för kännedom Chapter: Kapitel Contents: Innehåll Encl: Bil. Figure: Figur Glossary: Ordlista Index: Sakregister ListOfFigures: Figurer ListOfTables: Tabeller Page: Sida Part: Del Preface: Förord Proof: Bevis References: Referenser See: se SeeAlso: se även Table: Tabell To: Till pandoc-2.9.2.1/data/translations/th.yaml000066400000000000000000000012021363630463000200570ustar00rootroot00000000000000Abstract: บทคัดย่อ Appendix: ภาคผนวก Bibliography: บรรณานุกรม Cc: สำเนาถึง Chapter: บทที่ Contents: สารบัญ Encl: สิ่งที่แนบมาด้วย Figure: รูปที่ Index: ดรรชนี ListOfFigures: สารบัญรูป ListOfTables: สารบัญตาราง Page: หน้า Part: ภาค Preface: คำนำ Proof: พิสูจน์ References: หนังสืออ้างอิง See: ดู SeeAlso: ดูเพิ่มเติม Table: ตารางที่ To: เรียน pandoc-2.9.2.1/data/translations/tr.yaml000066400000000000000000000006061363630463000201000ustar00rootroot00000000000000Abstract: Özet Appendix: Ek Bibliography: Kaynakça Cc: Diğer Alıcılar Chapter: Bölüm Contents: İçindekiler Encl: İlişik Figure: Şekil Glossary: Lügatçe Index: Dizin ListOfFigures: Şekil Listesi ListOfTables: Tablo Listesi Page: Sayfa Part: Kısım Preface: Önsöz Proof: Kanıt References: Kaynaklar See: bkz. SeeAlso: ayrıca bkz. Subject: İlgili Table: Tablo To: Alıcı pandoc-2.9.2.1/data/translations/uk.yaml000066400000000000000000000010151363630463000200650ustar00rootroot00000000000000Abstract: Анотація Appendix: Додаток Bibliography: Бібліоґрафія Cc: копія Chapter: Розділ Contents: Зміст Encl: вкладка Figure: Рис. Glossary: Словник термінів Index: Покажчик ListOfFigures: Перелік ілюстрацій ListOfTables: Перелік таблиць Page: с. Part: Частина Preface: Вступ Proof: Доведення References: Література See: див. SeeAlso: див. також Table: Табл. To: До pandoc-2.9.2.1/data/translations/ur.yaml000066400000000000000000000010631363630463000200770ustar00rootroot00000000000000Abstract: ﻢﻠﺨّﺻ Appendix: ﺾﻣیﻡہ Bibliography: کﺕﺎﺑیﺎﺗ Cc: ﻦﻘﻟ Chapter: ﺏﺎﺑ Contents: ﻑہﺮﺴﺗ ﻊﻧﻭﺎﻧﺎﺗ Encl: ﻢﻨﺴﻟک Figure: ﺶﻜﻟ Glossary: ﻞﻐﺗ Index: ﺎﺷﺍﺭیہ ListOfFigures: ﻑہﺮﺴﺗ ﺎﺷکﺎﻟ ListOfTables: ﻑہﺮﺴﺗ ﺝﺩﺍﻮﻟ Page: ﺺﻔﺣہ Part: ﺢﺻّہ Preface: ﺩیﺏﺍچہ Proof: ﺚﺑﻮﺗ References: ﺡﻭﺎﻟہ ﺝﺎﺗ Section: ﻒﺼﻟ See: ﻡﻼﺤﻇہ ہﻭ SeeAlso: ﺍیﺽﺍً Table: ﺝﺩﻮﻟ To: ﺐﻣﻼﺤﻇہ pandoc-2.9.2.1/data/translations/vi.yaml000066400000000000000000000006631363630463000200740ustar00rootroot00000000000000Abstract: Tóm tắt nội dung Also: Xem thêm Appendix: Phụ lục Bib: Tài liệu tham khảo Cc: Cùng gửi Chapter: Chương Contents: Mục lục Encl: Kèm theo Figure: Hình Glossary: Từ điển chú giải Headto: Gửi Index: Chỉ mục Listfigure: Danh sách hình vẽ Listtable: Danh sách bẳng Page: Trang Part: Phần Preface: Lời nói đầu Proof: Chứng minh References: Tài liệu See: Xem Table: Bẳng pandoc-2.9.2.1/data/vimwiki.css000066400000000000000000000114361363630463000162420ustar00rootroot00000000000000pre{ font-size: 1.5em } img {vertical-align: middle} body {font-family: Tahoma, Geneva, sans-serif; margin: 1em 2em 1em 2em; font-size: 120%; line-height: 130%;} h1, h2, h3, h4, h5, h6 {font-family: Trebuchet MS, Helvetica, sans-serif; font-weight: bold; line-height:100%; margin-top: 1.5em; margin-bottom: 0.5em;} h1 {font-size: 2.6em; color: #000000;} h2 {font-size: 2.2em; color: #404040;} h3 {font-size: 1.8em; color: #707070;} h4 {font-size: 1.4em; color: #909090;} h5 {font-size: 1.3em; color: #989898;} h6 {font-size: 1.2em; color: #9c9c9c;} p, pre, blockquote, table, ul, ol, dl {margin-top: 1em; margin-bottom: 1em;} ul ul, ul ol, ol ol, ol ul {margin-top: 0.5em; margin-bottom: 0.5em;} li {margin: 0.3em auto;} ul {margin-left: 2em; padding-left: 0.5em;} dt {font-weight: bold;} img {border: none;} pre {border-left: 1px solid #ccc; margin-left: 2em; padding-left: 0.5em;} blockquote {padding: 0.4em; background-color: #f6f5eb;} th, td {border: 1px solid #ccc; padding: 0.3em;} th {background-color: #f0f0f0;} hr {border: none; border-top: 1px solid #ccc; width: 100%;} del {text-decoration: line-through; color: #777777;} .toc li {list-style-type: none;} .todo {font-weight: bold; background-color: #f0ece8; color: #a03020;} .justleft {text-align: left;} .justright {text-align: right;} .justcenter {text-align: center;} .center {margin-left: auto; margin-right: auto;} div.center > table {margin-left: auto; margin-right: auto;} .tag {background-color: #eeeeee; font-family: monospace; padding: 2px;} /* classes for items of todo lists */ .done0 { /* list-style: none; */ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAxQAAAMUBHc26qAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAA7SURBVCiR7dMxEgAgCANBI3yVRzF5KxNbW6wsuH7LQ2YKQK1mkswBVERYF5Os3UV3gwd/jF2SkXy66gAZkxS6BniubAAAAABJRU5ErkJggg==); background-repeat: no-repeat; background-position: 0 .2em; padding-left: 1.5em; } .done1 { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAxQAAAMUBHc26qAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABtSURBVCiR1ZO7DYAwDER9BDmTeZQMFXmUbGYpOjrEryA0wOvO8itOslFrJYAug5BMM4BeSkmjsrv3aVTa8p48Xw1JSkSsWVUFwD05IqS1tmYzk5zzae9jnVVVzGyXb8sALjse+euRkEzu/uirFomVIdDGOLjuAAAAAElFTkSuQmCC); background-repeat: no-repeat; background-position: 0 .15em; padding-left: 1.5em; } .done2 { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAxQAAAMUBHc26qAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAB1SURBVCiRzdO5DcAgDAVQGxjAYgTvxlDIu1FTIRYAp8qlFISkSH7l5kk+ZIwxKiI2mIyqWoeILYRgZ7GINDOLjnmF3VqklKCUMgTee2DmM661Qs55iI3Zm/1u5h9sm4ig9z4ERHTFzLyd4G4+nFlVrYg8+qoF/c0kdpeMsmcAAAAASUVORK5CYII=); background-repeat: no-repeat; background-position: 0 .15em; padding-left: 1.5em; } .done3 { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAxQAAAMUBHc26qAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABoSURBVCiR7dOxDcAgDATA/0DtUdiKoZC3YhLkHjkVKF3idJHiztKfvrHZWnOSE8Fx95RJzlprimJVnXktvXeY2S0SEZRSAAAbmxnGGKH2I5T+8VfxPhIReQSuuY3XyYWa3T2p6quvOgGrvSFGlewuUAAAAABJRU5ErkJggg==); background-repeat: no-repeat; background-position: 0 .15em; padding-left: 1.5em; } .done4 { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAAzgAAAM4BlP6ToAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIISURBVDiNnZQ9SFtRFMd/773kpTaGJoQk1im4VDpWQcTNODhkFBcVTCNCF0NWyeDiIIiCm82QoIMIUkHUxcFBg1SEQoZszSat6cdTn1qNue92CMbEr9Sey+XC/Z/zu+f8h6ukUil3sVg0+M+4cFxk42/jH2wAqqqKSCSiPQdwcHHAnDHH9s/tN1h8V28ETdP+eU8fT9Nt62ancYdIPvJNtsu87bmjrJlrTDVM4RROJs1JrHPrD4Bar7A6cpc54iKOaTdJXCUI2UMVrQZ0Js7YPN18ECKkYNQcJe/OE/4dZsw7VqNXQMvHy3QZXQypQ6ycrtwDjf8aJ+PNEDSCzLpn7+m2pD8ZKHlKarYhy6XjEoCYGcN95qansQeA3fNdki+SaJZGTMQIOoL3W/Z89rxv+tokubNajlvk/vm+LFpF2XnUKZHI0I+QrI7Dw0OZTqdzUkpsM7mZTyfy5OPGyw1tK7AFSvmB/Ks8w8YwbUYbe6/3QEKv0vugfxWPnMLJun+d/kI/WLdizpNjMbAIKrhMF4OuwadBALqqs+RfInwUvuNi+fBd+wjogfogAFVRmffO02q01mZZ0HHdgXIzdz0QQLPezIQygX6llxNKKgOFARYCC49CqhoHIUTlss/Vx2phlYwjw8j1CAlfAiwQiJpiy7o1VHnsG5FISkoJu7Q/2YmmaV+i0ei7v38L2CBguSi5AAAAAElFTkSuQmCC); background-repeat: no-repeat; background-position: 0 .15em; padding-left: 1.5em; } *:not(pre) > code { font-family: Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; padding: 0px 3px; display: inline-block; color: #52595d; border: 1px solid #ccc; background-color: #f9f9f9; } pandoc-2.9.2.1/doc/000077500000000000000000000000001363630463000137005ustar00rootroot00000000000000pandoc-2.9.2.1/doc/customizing-pandoc.md000066400000000000000000000134721363630463000200460ustar00rootroot00000000000000--- author: - Mauro Bieg - John MacFarlane title: Customizing Pandoc --- This document provides a quick overview over the various ways to customize pandoc's output, with links to fuller documentation and some examples. ## Templates When the `-s`/`--standalone` option is used, pandoc will generate a standalone document rather than a fragment. For example, in HTML output this will include the `` element; in LaTeX output, it will include the preamble. Pandoc comes with a default template for (almost) every output format. A template is a plain text file containing variables that are replaced by text generated by pandoc. For example, the variable `$body$` will be replaced by the document body, and `$title$` by the title from metadata. To look at the default template for an output format, you can do `pandoc -D FORMAT`, where `FORMAT` is replaced by the name of the format. For example `pandoc -D latex`. You can also use your own template instead, either by using the `--template` option or by putting the custom template in your user data directory (on Linux and macOS, `~/.pandoc/templates/`). Note that in many cases you can avoid the need for a custom template by including a file with the `--include-in-header`, `--include-before-body`, or `--include-after-body` option. Or you can set the corresponding template variable directly. ### Template variables There are several ways to set template variables: | | [`--variable`] | [`--metadata`] | [YAML metadata] and [`--metadata-file`] | |:---------------|:------------------|:------------------|:----------------------------| | values can be… | strings and bools | strings and bools | also YAML objects and lists | | strings are… | inserted verbatim | escaped | interpreted as markdown | | accessible by filters: | no | yes | yes | [`--variable`]: https://pandoc.org/MANUAL.html#option--variable [`--metadata`]: https://pandoc.org/MANUAL.html#option--metadata [YAML metadata]: https://pandoc.org/MANUAL.html#extension-yaml_metadata_block [`--metadata-file`]: https://pandoc.org/MANUAL.html#option--metadata-file For more information, see [Templates](https://pandoc.org/MANUAL.html#templates) in the pandoc manual. ### Example: adding structured author data to HTML TODO ### Example: generating documents from YAML metadata TODO ## Reference docx/pptx/odt For `docx`, `pptx` or `odt` documents, things are a bit more complicated. Instead of a single template file, you need to provide a customized `reference.docx/pptx/odt`. See the manual for the [`--reference-doc`](https://pandoc.org/MANUAL.html#option--reference-doc) option. ### Example: changing the font and line spacing in a Word docx TODO ## Filters Templates are very powerful, but they are only a sort of scaffold to place your document's body text in. You cannot directly change the body text using the template. If you need to affect the output of the actual body text, you can use a pandoc filter. A filter is a small program that transforms the document, between the parsing and the writing phase, while it is still in pandoc's native format. For example, a filter might find all the Header elements of a document and capitalize their text. Pandoc's native representation of a document is an abstract syntax tree (AST), not unlike the HTML DOM. It is documented [here](https://hackage.haskell.org/package/pandoc-types/docs/Text-Pandoc-Definition.html). A `Pandoc` document is a chunk of metadata (`Meta`) and a list of `Block`s. The `Block`s, in turn, are composed of other `Block`s and `Inline` elements. (`Block` elements are things like paragraphs, lists, headers, and code blocks. `Inline` elements are individual words, links, emphasis, and so on.) Filters operate on these elements. You can use `pandoc -t native` to learn about the AST's structure. There are two kinds of filters: JSON filters (which transform a JSON serialization of the pandoc AST, and may be written in any language that can parse and emit JSON), and Lua filters (which use an interface built directly into pandoc, and must be written in the Lua language). If you are writing your own filters, it is best to use Lua filters, which are more portable (they require only pandoc itself) and more efficient. See [Lua filters](https://pandoc.org/lua-filters.html) for documentation and examples. If you would prefer to write your filter in another language, see [Filters](https://pandoc.org/filters.html) for a gentle introduction to JSON filters. There's a repository of lua filters at [pandoc/lua-filters](https://github.com/pandoc/lua-filters) on GitHub. A number of pandoc filters, written in Haskell, are available on [Hackage](https://hackage.haskell.org/packages/search?terms=pandoc+filter) and can be installed using the `stack` or `cabal` tools. The wiki also lists [third party filters](https://github.com/jgm/pandoc/wiki/Pandoc-Filters). ### Example: capitalizing headers TODO ### Example: code extractor TODO ## Generic Divs and Spans TODO [Divs and Spans](https://pandoc.org/MANUAL.html#divs-and-spans): generic blocks that can be transformed with filters ### Example: colored text ### Example: custom styles in docx [Custom Styles in Docx](https://pandoc.org/MANUAL.html#custom-styles-in-docx) ## Raw attributes TODO [Generic raw attributes](https://pandoc.org/MANUAL.html#generic-raw-attribute): to include raw snippets ## Custom writers TODO [Custom writers](https://pandoc.org/MANUAL.html#custom-writers) ## Custom syntax highlighting TODO [Custom syntax highlighting](https://pandoc.org/MANUAL.html#syntax-highlighting), provided by the [skylighting library](https://github.com/jgm/skylighting) including highlighting styles pandoc-2.9.2.1/doc/epub.md000066400000000000000000000120771363630463000151640ustar00rootroot00000000000000--- title: Creating an ebook with pandoc author: John MacFarlane --- Starting with version 1.6, pandoc can produce output in the [EPUB] electronic book format. EPUB books can be viewed on iPads, Nooks, and other electronic book readers, including many smart phones. (They can also be converted to Kindle books using [KindleGen].) This means that it's now very easy to produce an electronic book! Let's try it. # A toy example Use your text editor to create a file `mybook.txt`, with the following contents: % My Book % Sam Smith This is my book! # Chapter One Chapter one is over. # Chapter Two Chapter two has just begun. To make this into an ebook takes only one command: pandoc mybook.txt -o mybook.epub You can upload `mybook.epub` to your ebook reader and try it out. Note that if your markdown file contains links to local images, for example ![Juliet](images/sun.jpg) pandoc will automatically include the images in the generated epub. # A real book To see what this would look like for a real book, let's convert Scott Chacon's book [Pro Git], which he wrote using pandoc's markdown variant and released under a [Creative Commons] license. (If you use the book, please consider [buying a copy] to help support his excellent work.) You can find the markdown source for the book on its [github site]. Let's get a copy of the whole repository:[^1] git clone https://github.com/progit/progit.git [^1]: If you don't have [git], you can browse to the [github site] and click "Download Source" to get the same files in a zip or tar archive. This command will create a working directory called `progit` on your machine. The actual markdown sources for the English version of the book are in the `en` subdirectory, so start by changing to that directory: cd progit/en As you can see, each chapter is a single text file in its own directory. Chacon does some postprocessing on these files, for example, to insert images. This is a placeholder for Figure 1-1, for example: Insert 18333fig0101.png Figure 1-1. Local version control diagram. The actual image file is called `18333fig0101-tn.png` and lives in the `figures` subdirectory of the repository, as you can verify. For demonstration purposes, we want pure markdown files, so let's change this placeholder into a markdown image link. Pandoc will treat a paragraph containing a single image as a figure with a caption, which is what we want: ![Figure 1-1. Local version control diagram.](../figures/18333fig0101-tn.png) We can make this change in all the files with a perl one-liner: perl -i -0pe \ 's/^Insert\s*(.*)\.png\s*\n([^\n]*)$/!\[\2](..\/figures\/\1-tn.png)/mg' \ */*.markdown This will modify the files in place. (We won't worry about backing them up; if we mess up, we can get the original files back with `git reset --hard`.) OK! Now we're almost ready to make an ebook. We have the chapters, each in its own file, but we still need a title. Create a file, `title.txt`, with a pandoc YAML metadata block: ``` --- title: Pro Git author: Scott Chacon rights: Creative Commons Non-Commercial Share Alike 3.0 language: en-US ... ``` See the [User's Guide](https://pandoc.org/MANUAL.html#epub-metadata) for more information above these fields. Now run pandoc to make the ebook, using our title page and modified chapter files as sources: pandoc -o progit.epub title.txt \ 01-introduction/01-chapter1.markdown \ 02-git-basics/01-chapter2.markdown \ 03-git-branching/01-chapter3.markdown \ 04-git-server/01-chapter4.markdown \ 05-distributed-git/01-chapter5.markdown \ 06-git-tools/01-chapter6.markdown \ 07-customizing-git/01-chapter7.markdown \ 08-git-and-other-scms/01-chapter8.markdown \ 09-git-internals/01-chapter9.markdown That's it! The ebook, `progit.epub`, is ready to be uploaded to your reader. ## Changing the format You can use the `--css` option to specify a CSS file for the book. The default CSS is minimal and can be found [on GitHub](https://github.com/jgm/pandoc/blob/master/data/epub.css) or in the `epub.css` file in your data directory (see `--data-dir` in the [User's Guide]). You can even embed fonts in the EPUB if you want; see the [User's Guide] under `--epub-embed-font` for instructions. ## Math Pandoc has an EPUB3 writer. It renders LaTeX math into MathML, which EPUB3 readers are supposed to support (but unfortunately few do). Of course, this isn't much help if you want EPUB2 output (`pandoc -t epub2`) or target readers that don't support MathML. Then you should try using the `--webtex` option, which will use a web service to convert the TeX to an image. [KindleGen]: https://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000765211 [EPUB]: https://en.wikipedia.org/wiki/EPUB [Pro Git]: https://git-scm.com/book/en/v2 [Creative Commons]: https://creativecommons.org/ [buying a copy]: https://git-scm.com/book/en/v2 [github site]: https://github.com/progit/progit [git]: https://git-scm.com [Dublin Core metadata elements]: https://dublincore.org/documents/dces/ [User's Guide]: https://pandoc.org/MANUAL.html pandoc-2.9.2.1/doc/filters.md000066400000000000000000000333601363630463000156770ustar00rootroot00000000000000% Pandoc filters % John MacFarlane # Summary Pandoc provides an interface for users to write programs (known as filters) which act on pandoc’s AST. Pandoc consists of a set of readers and writers. When converting a document from one format to another, text is parsed by a reader into pandoc’s intermediate representation of the document---an "abstract syntax tree" or AST---which is then converted by the writer into the target format. The pandoc AST format is defined in the module [`Text.Pandoc.Definition` in the `pandoc-types` package ](https://hackage.haskell.org/package/pandoc-types/docs/Text-Pandoc-Definition.html). A "filter" is a program that modifies the AST, between the reader and the writer. INPUT --reader--> AST --filter--> AST --writer--> OUTPUT Pandoc supports two kinds of filters: - **Lua filters** use the Lua language to define transformations on the pandoc AST. They are described in a [separate document](lua-filters.html). - **JSON filters**, described here, are pipes that read from standard input and write to standard output, consuming and producing a JSON representation of the pandoc AST: source format ↓ (pandoc) ↓ JSON-formatted AST ↓ (JSON filter) ↓ JSON-formatted AST ↓ (pandoc) ↓ target format Lua filters have a couple of advantages. They use a Lua interpreter that is embedded in pandoc, so you don't need to have any external software installed. And they are usually faster than JSON filters. But if you wish to write your filter in a language other than Lua, you may prefer to use a JSON filter. JSON filters may be written in any programming language. You can use a JSON filter directly in a pipeline: pandoc -s input.txt -t json | \ pandoc-citeproc | \ pandoc -s -f json -o output.html But it is more convenient to use the `--filter` option, which handles the plumbing automatically: pandoc -s input.txt --filter pandoc-citeproc -o output.html For a gentle introduction into writing your own filters, continue this guide. There’s also a [list of third party filters on the wiki](https://github.com/jgm/pandoc/wiki/Pandoc-Filters). # A simple example Suppose you wanted to replace all level 2+ headings in a markdown document with regular paragraphs, with text in italics. How would you go about doing this? A first thought would be to use regular expressions. Something like this: perl -pe 's/^##+ (.*)$/\*\1\*/' source.txt This should work most of the time. But don't forget that ATX style headings can end with a sequence of `#`s that is not part of the heading text: ## My heading ## And what if your document contains a line starting with `##` in an HTML comment or delimited code block? ~~~~ ### A third level heading in standard markdown ~~~~ We don't want to touch *these* lines. Moreover, what about Setext style second-level heading? A heading --------- We need to handle those too. Finally, can we be sure that adding asterisks to each side of our string will put it in italics? What if the string already contains asterisks around it? Then we'll end up with bold text, which is not what we want. And what if it contains a regular unescaped asterisk? How would you modify your regular expression to handle these cases? It would be hairy, to say the least. A better approach is to let pandoc handle the parsing, and then modify the AST before the document is written. For this, we can use a filter. To see what sort of AST is produced when pandoc parses our text, we can use pandoc's `native` output format: ~~~~ % cat test.txt ## my heading text with *italics* % pandoc -s -t native test.txt Pandoc (Meta {unMeta = fromList []}) [Header 2 ("my-heading",[],[]) [Str "My",Space,Str "heading"] , Para [Str "text",Space,Str "with",Space,Emph [Str "italics"]] ] ~~~~ A `Pandoc` document consists of a `Meta` block (containing metadata like title, authors, and date) and a list of `Block` elements. In this case, we have two `Block`s, a `Header` and a `Para`. Each has as its content a list of `Inline` elements. For more details on the pandoc AST, see the [haddock documentation for `Text.Pandoc.Definition`]. [haddock documentation for `Text.Pandoc.Definition`]: https://hackage.haskell.org/package/pandoc-types We can use Haskell to create a JSON filter that transforms this AST, replacing each `Header` block with level >= 2 with a `Para` with its contents wrapped inside an `Emph` inline: ~~~~ {.haskell} #!/usr/bin/env runhaskell -- behead.hs import Text.Pandoc.JSON main :: IO () main = toJSONFilter behead behead :: Block -> Block behead (Header n _ xs) | n >= 2 = Para [Emph xs] behead x = x ~~~~ The `toJSONFilter` function does two things. First, it lifts the `behead` function (which maps `Block -> Block`) onto a transformation of the entire `Pandoc` AST, walking the AST and transforming each block. Second, it wraps this `Pandoc -> Pandoc` transformation with the necessary JSON serialization and deserialization, producing an executable that consumes JSON from stdin and produces JSON to stdout. To use the filter, make it executable: chmod +x behead.hs and then pandoc -f SOURCEFORMAT -t TARGETFORMAT --filter ./behead.hs (It is also necessary that `pandoc-types` be installed in the local package repository. To do this using cabal-install, `cabal v2-update && cabal v2-install --lib pandoc-types`.) Alternatively, we could compile the filter: ghc -package-env=default --make behead.hs pandoc -f SOURCEFORMAT -t TARGETFORMAT --filter ./behead Note that if the filter is placed in the system PATH, then the initial `./` is not needed. Note also that the command line can include multiple instances of `--filter`: the filters will be applied in sequence. # LaTeX for WordPress Another easy example. WordPress blogs require a special format for LaTeX math. Instead of `$e=mc^2$`, you need: `$LaTeX e=mc^2$`. How can we convert a markdown document accordingly? Again, it's difficult to do the job reliably with regexes. A `$` might be a regular currency indicator, or it might occur in a comment or code block or inline code span. We just want to find the `$`s that begin LaTeX math. If only we had a parser... We do. Pandoc already extracts LaTeX math, so: ~~~~ {.haskell} #!/usr/bin/env runhaskell -- wordpressify.hs import Text.Pandoc.JSON main = toJSONFilter wordpressify where wordpressify (Math x y) = Math x ("LaTeX " ++ y) wordpressify x = x ~~~~ Mission accomplished. (I've omitted type signatures here, just to show it can be done.) # But I don't want to learn Haskell! While it's easiest to write pandoc filters in Haskell, it is fairly easy to write them in python using the `pandocfilters` package. The package is in PyPI and can be installed using `pip install pandocfilters` or `easy_install pandocfilters`. Here's our "beheading" filter in python: ~~~ {.python} #!/usr/bin/env python """ Pandoc filter to convert all level 2+ headings to paragraphs with emphasized text. """ from pandocfilters import toJSONFilter, Emph, Para def behead(key, value, format, meta): if key == 'Header' and value[0] >= 2: return Para([Emph(value[2])]) if __name__ == "__main__": toJSONFilter(behead) ~~~ `toJSONFilter(behead)` walks the AST and applies the `behead` action to each element. If `behead` returns nothing, the node is unchanged; if it returns an object, the node is replaced; if it returns a list, the new list is spliced in. Note that, although these parameters are not used in this example, `format` provides access to the target format, and `meta` provides access to the document's metadata. There are many examples of python filters in [the pandocfilters repository](https://github.com/jgm/pandocfilters). For a more Pythonic alternative to pandocfilters, see the [panflute](https://pypi.org/project/panflute) library. Don't like Python? There are also ports of pandocfilters in [PHP](https://github.com/vinai/pandocfilters-php), [perl](https://metacpan.org/pod/Pandoc::Filter), [javascript/node.js](https://github.com/mvhenderson/pandoc-filter-node), [Groovy](https://github.com/dfrommi/groovy-pandoc), and [Ruby](https://heerdebeer.org/Software/markdown/paru/). Starting with pandoc 2.0, pandoc includes built-in support for writing filters in lua. The lua interpreter is built in to pandoc, so a lua filter does not require any additional software to run. See the [documentation on lua filters](https://pandoc.org/lua-filters.html). # Include files So none of our transforms have involved IO. How about a script that reads a markdown document, finds all the inline code blocks with attribute `include`, and replaces their contents with the contents of the file given? ~~~~ {.haskell} #!/usr/bin/env runhaskell -- includes.hs import Text.Pandoc.JSON import qualified Data.Text.IO as TIO import qualified Data.Text as T doInclude :: Block -> IO Block doInclude cb@(CodeBlock (id, classes, namevals) contents) = case lookup "include" namevals of Just f -> CodeBlock (id, classes, namevals) <$> TIO.readFile (T.unpack f) Nothing -> return cb doInclude x = return x main :: IO () main = toJSONFilter doInclude ~~~~ Try this on the following: Here's the pandoc README: ~~~~ {include="README"} this will be replaced by contents of README ~~~~ # Removing links What if we want to remove every link from a document, retaining the link's text? ~~~~ {.haskell} #!/usr/bin/env runhaskell -- delink.hs import Text.Pandoc.JSON main = toJSONFilter delink delink :: Inline -> [Inline] delink (Link _ txt _) = txt delink x = [x] ~~~~ Note that `delink` can't be a function of type `Inline -> Inline`, because the thing we want to replace the link with is not a single `Inline` element, but a list of them. So we make `delink` a function from an `Inline` element to a list of `Inline` elements. `toJSONFilter` can still lift this function to a transformation of type `Pandoc -> Pandoc`. # A filter for ruby text Finally, here's a nice real-world example, developed on the [pandoc-discuss](https://groups.google.com/group/pandoc-discuss/browse_thread/thread/7baea325565878c8) list. Qubyte wrote: > I'm interested in using pandoc to turn my markdown notes on Japanese > into nicely set HTML and (Xe)LaTeX. With HTML5, ruby (typically used to > phonetically read chinese characters by placing text above or to the > side) is standard, and support from browsers is emerging (Webkit based > browsers appear to fully support it). For those browsers that don't > support it yet (notably Firefox) the feature falls back in a nice way > by placing the phonetic reading inside brackets to the side of each > Chinese character, which is suitable for other output formats too. As > for (Xe)LaTeX, ruby is not an issue. > > At the moment, I use inline HTML to achieve the result when the > conversion is to HTML, but it's ugly and uses a lot of keystrokes, for > example > > ~~~ {.xml} > はん > ~~~ > > sets ご飯 "gohan" with "han" spelt phonetically above the second > character, or to the right of it in brackets if the browser does not > support ruby. I'd like to have something more like > > r[はん](飯) > > or any keystroke saving convention would be welcome. We came up with the following script, which uses the convention that a markdown link with a URL beginning with a hyphen is interpreted as ruby: [はん](-飯) ~~~ {.haskell} {-# LANGUAGE OverloadedStrings #-} -- handleruby.hs import Text.Pandoc.JSON import System.Environment (getArgs) import qualified Data.Text as T handleRuby :: Maybe Format -> Inline -> Inline handleRuby (Just format) x@(Link attr [Str ruby] (src,_)) = case T.uncons src of Just ('-',kanji) | format == Format "html" -> RawInline format $ "" <> kanji <> "(" <> ruby <> ")" | format == Format "latex" -> RawInline format $ "\\ruby{" <> kanji <> "}{" <> ruby <> "}" | otherwise -> Str ruby _ -> x handleRuby _ x = x main :: IO () main = toJSONFilter handleRuby ~~~ Note that, when a script is called using `--filter`, pandoc passes it the target format as the first argument. When a function's first argument is of type `Maybe Format`, `toJSONFilter` will automatically assign it `Just` the target format or `Nothing`. We compile our script: ghc --make handleRuby Then run it: % pandoc -F ./handleRuby -t html [はん](-飯) ^D

    (はん)

    % pandoc -F ./handleRuby -t latex [はん](-飯) ^D \ruby{飯}{はん} Note: to use this to generate PDFs via LaTeX, you'll need to use `--pdf-engine=xelatex`, specify a `mainfont` that has the Japanese characters (e.g. "Noto Sans CJK TC"), and add `\usepackage{ruby}` to your template or header-includes. # Exercises 1. Put all the regular text in a markdown document in ALL CAPS (without touching text in URLs or link titles). 2. Remove all horizontal rules from a document. 3. Renumber all enumerated lists with roman numerals. 4. Replace each delimited code block with class `dot` with an image generated by running `dot -Tpng` (from graphviz) on the contents of the code block. 5. Find all code blocks with class `python` and run them using the python interpreter, printing the results to the console. pandoc-2.9.2.1/doc/getting-started.md000066400000000000000000000224531363630463000173350ustar00rootroot00000000000000--- title: Getting started with pandoc author: John MacFarlane --- This document is for people who are unfamiliar with command line tools. Command-line experts can go straight to the [User's Guide](https://pandoc.org/MANUAL.html) or the pandoc man page. # Step 1: Install pandoc First, install pandoc, following the [instructions for your platform](https://pandoc.org/installing.html). # Step 2: Open a terminal Pandoc is a command-line tool. There is no graphic user interface. So, to use it, you'll need to open a terminal window: - On OS X, the Terminal application can be found in `/Applications/Utilities`. Open a Finder window and go to `Applications`, then `Utilities`. Then double click on `Terminal`. (Or, click the spotlight icon in the upper right hand corner of your screen and type `Terminal` -- you should see `Terminal` under `Applications`.) - On Windows, you can use either the classic command prompt or the more modern PowerShell terminal. If you use Windows in desktop mode, run the `cmd` or `powershell` command from the Start menu. If you use the Windows 8 start screen instead, simply type `cmd` or `powershell`, and then run either the "Command Prompt" or "Windows Powershell" application. If you are using `cmd`, type `chcp 65001` before using pandoc, to set the encoding to UTF-8. - On Linux, there are many possible configurations, depending on what desktop environment you're using: * In Unity, use the search function on the `Dash`, and search for `Terminal`. Or, use the keyboard shortcut `Ctrl-Alt-T`. * In Gnome, go to `Applications`, then `Accessories`, and select `Terminal`, or use `Ctrl-Alt-T`. * In XFCE, go to `Applications`, then `System`, then `Terminal`, or use `Super-T`. * In KDE, go to `KMenu`, then `System`, then `Terminal Program (Konsole)`. You should now see a rectangle with a "prompt" (possibly just a symbol like `%`, but probably including more information, such as your username and directory), and a blinking cursor. Let's verify that pandoc is installed. Type pandoc --version and hit enter. You should see a message telling you which version of pandoc is installed, and giving you some additional information. # Step 3: Changing directories First, let's see where we are. Type pwd on Linux or OSX, or echo %cd% on Windows, and hit enter. Your terminal should print your current working directory. (Guess what `pwd` stands for?) This should be your home directory. Let's navigate now to our `Documents` directory: type cd Documents and hit enter. Now type pwd (or `echo %cd%` on Windows) again. You should be in the `Documents` subdirectory of your home directory. To go back to your home directory, you could type cd .. The `..` means "one level up." Go back to your `Documents` directory if you're not there already. Let's try creating a subdirectory called `pandoc-test`: mkdir pandoc-test Now change to the `pandoc-test` directory: cd pandoc-test If the prompt doesn't tell you what directory you're in, you can confirm that you're there by doing pwd (or `echo %cd%`) again. OK, that's all you need to know for now about using the terminal. But here's a secret that will save you a lot of typing. You can always type the up-arrow key to go back through your history of commands. So if you want to use a command you typed earlier, you don't need to type it again: just use up-arrow until it comes up. Try this. (You can use down-arrow as well, to go the other direction.) Once you have the command, you can also use the left and right arrows and the backspace/delete key to edit it. Most terminals also support tab completion of directories and filenames. To try this, let's first go back up to our `Documents` directory: cd .. Now, type cd pandoc- and hit the tab key instead of enter. Your terminal should fill in the rest (`test`), and then you can hit enter. To review: - `pwd` (or `echo %cd%` on Windows) to see what the current working directory is. - `cd foo` to change to the `foo` subdirectory of your working directory. - `cd ..` to move up to the parent of the working directory. - `mkdir foo` to create a subdirectory called `foo` in the working directory. - up-arrow to go back through your command history. - tab to complete directories and file names. # Step 4: Using pandoc as a filter Type pandoc and hit enter. You should see the cursor just sitting there, waiting for you to type something. Type this: Hello *pandoc*! - one - two When you're finished (the cursor should be at the beginning of the line), type `Ctrl-D` on OS X or Linux, or `Ctrl-Z` followed by `Enter` on Windows. You should now see your text converted to HTML!

    Hello pandoc!

    • one
    • two
    What just happened? When pandoc is invoked without specifying any input files, it operates as a "filter," taking input from the terminal and sending its output back to the terminal. You can use this feature to play around with pandoc. By default, input is interpreted as pandoc markdown, and output is HTML. But we can change that. Let's try converting *from* HTML *to* markdown: pandoc -f html -t markdown Now type:

    Hello pandoc!

    and hit `Ctrl-D` (or `Ctrl-Z` followed by `Enter` on Windows). You should see: Hello *pandoc*! Now try converting something from markdown to LaTeX. What command do you think you should use? # Step 5: Text editor basics You'll probably want to use pandoc to convert a file, not to read text from the terminal. That's easy, but first we need to create a text file in our `pandoc-test` subdirectory. **Important:** To create a text file, you'll need to use a text editor, *not* a word processor like Microsoft Word. On Windows, you can use Notepad (in `Accessories`). On OS X, you can use `TextEdit` (in `Applications`). On Linux, different platforms come with different text editors: Gnome has `GEdit`, and KDE has `Kate`. Start up your text editor. Type the following: --- title: Test ... # Test! This is a test of *pandoc*. - list one - list two Now save your file as `test1.md` in the directory `Documents/pandoc-test`. Note: If you use plain text a lot, you'll want a better editor than `Notepad` or `TextEdit`. You might want to look at [Sublime Text](https://www.sublimetext.com/) or (if you're willing to put in some time learning an unfamiliar interface) [Vim](https://www.vim.org) or [Emacs](https://www.gnu.org/software/emacs). # Step 6: Converting a file Go back to your terminal. We should still be in the `Documents/pandoc-test` directory. Verify that with `pwd`. Now type ls (or `dir` if you're on Windows). This will list the files in the current directory. You should see the file you created, `test1.md`. To convert it to HTML, use this command: pandoc test1.md -f markdown -t html -s -o test1.html The filename `test1.md` tells pandoc which file to convert. The `-s` option says to create a "standalone" file, with a header and footer, not just a fragment. And the `-o test1.html` says to put the output in the file `test1.html`. Note that we could have omitted `-f markdown` and `-t html`, since the default is to convert from markdown to HTML, but it doesn't hurt to include them. Check that the file was created by typing `ls` again. You should see `test1.html`. Now open this in a browser. On OS X, you can type open test1.html On Windows, type .\test1.html You should see a browser window with your document. To create a LaTeX document, you just need to change the command slightly: pandoc test1.md -f markdown -t latex -s -o test1.tex Try opening `test1.tex` in your text editor. Pandoc can often figure out the input and output formats from the filename extensions. So, you could have just used: pandoc test1.md -s -o test1.tex Pandoc knows you're trying to create a LaTeX document, because of the `.tex` extension. Now try creating a Word document (with extension `docx`). If you want to create a PDF, you'll need to have LaTeX installed. (See [MacTeX](https://tug.org/mactex/) on OS X, [MiKTeX](https://miktex.org) on Windows, or install the texlive package on Linux.) Then do pandoc test1.md -s -o test1.pdf # Step 7: Command-line options You now know the basics. Pandoc has a lot of options. At this point you can start to learn more about them by reading the [User's Guide](https://pandoc.org/MANUAL.html). Here's an example. The `--mathml` option causes pandoc to convert TeX math into MathML. Type pandoc --mathml then enter this text, followed by `Ctrl-D` (`Ctrl-Z` followed by `Enter` on Windows): $x = y^2$ Now try the same thing without `--mathml`. See the difference in output? If you forget an option, or forget which formats are supported, you can always do pandoc --help to get a list of all the supported options. On OS X or Linux systems, you can also do man pandoc to get the pandoc manual page. All of this information is also in the User's Guide. If you get stuck, you can always ask questions on the [pandoc-discuss](https://groups.google.com/group/pandoc-discuss) mailing list. But be sure to check the [FAQs](https://pandoc.org/faqs.html) first, and search through the mailing list to see if your question has been answered before. pandoc-2.9.2.1/doc/lua-filters.md000066400000000000000000002155011363630463000164550ustar00rootroot00000000000000--- author: - Albert Krewinkel - John MacFarlane date: 'January 10, 2020' title: Pandoc Lua Filters --- # Introduction Pandoc has long supported filters, which allow the pandoc abstract syntax tree (AST) to be manipulated between the parsing and the writing phase. [Traditional pandoc filters](https://pandoc.org/filters.html) accept a JSON representation of the pandoc AST and produce an altered JSON representation of the AST. They may be written in any programming language, and invoked from pandoc using the `--filter` option. Although traditional filters are very flexible, they have a couple of disadvantages. First, there is some overhead in writing JSON to stdout and reading it from stdin (twice, once on each side of the filter). Second, whether a filter will work will depend on details of the user's environment. A filter may require an interpreter for a certain programming language to be available, as well as a library for manipulating the pandoc AST in JSON form. One cannot simply provide a filter that can be used by anyone who has a certain version of the pandoc executable. Starting with version 2.0, pandoc makes it possible to write filters in Lua without any external dependencies at all. A Lua interpreter (version 5.3) and a Lua library for creating pandoc filters is built into the pandoc executable. Pandoc data types are marshalled to Lua directly, avoiding the overhead of writing JSON to stdout and reading it from stdin. Here is an example of a Lua filter that converts strong emphasis to small caps: ``` lua return { { Strong = function (elem) return pandoc.SmallCaps(elem.c) end, } } ``` or equivalently, ``` lua function Strong(elem) return pandoc.SmallCaps(elem.c) end ``` This says: walk the AST, and when you find a Strong element, replace it with a SmallCaps element with the same content. To run it, save it in a file, say `smallcaps.lua`, and invoke pandoc with `--lua-filter=smallcaps.lua`. Here's a quick performance comparison, converting the pandoc manual (MANUAL.txt) to HTML, with versions of the same JSON filter written in compiled Haskell (`smallcaps`) and interpreted Python (`smallcaps.py`): Command Time --------------------------------------- ------- `pandoc` 1.01s `pandoc --filter ./smallcaps` 1.36s `pandoc --filter ./smallcaps.py` 1.40s `pandoc --lua-filter ./smallcaps.lua` 1.03s As you can see, the Lua filter avoids the substantial overhead associated with marshalling to and from JSON over a pipe. # Lua filter structure Lua filters are tables with element names as keys and values consisting of functions acting on those elements. Filters are expected to be put into separate files and are passed via the `--lua-filter` command-line argument. For example, if a filter is defined in a file `current-date.lua`, then it would be applied like this: pandoc --lua-filter=current-date.lua -f markdown MANUAL.txt The `--lua-filter` option may be supplied multiple times. Pandoc applies all filters (including JSON filters specified via `--filter` and Lua filters specified via `--lua-filter`) in the order they appear on the command line. Pandoc expects each Lua file to return a list of filters. The filters in that list are called sequentially, each on the result of the previous filter. If there is no value returned by the filter script, then pandoc will try to generate a single filter by collecting all top-level functions whose names correspond to those of pandoc elements (e.g., `Str`, `Para`, `Meta`, or `Pandoc`). (That is why the two examples above are equivalent.) For each filter, the document is traversed and each element subjected to the filter. Elements for which the filter contains an entry (i.e. a function of the same name) are passed to Lua element filtering function. In other words, filter entries will be called for each corresponding element in the document, getting the respective element as input. The return of a filter function must one of the following: - nil: this means that the object should remain unchanged. - a pandoc object: this must be of the same type as the input and will replace the original object. - a list of pandoc objects: these will replace the original object; the list is merged with the neighbors of the original objects (spliced into the list the original object belongs to); returning an empty list deletes the object. The function's output must result in an element of the same type as the input. This means a filter function acting on an inline element must return either nil, an inline, or a list of inlines, and a function filtering a block element must return one of nil, a block, or a list of block elements. Pandoc will throw an error if this condition is violated. If there is no function matching the element's node type, then the filtering system will look for a more general fallback function. Two fallback functions are supported, `Inline` and `Block`. Each matches elements of the respective type. Elements without matching functions are left untouched. See [module documentation](#module-pandoc) for a list of pandoc elements. ## Filters on element sequences For some filtering tasks, the it is necessary to know the order in which elements occur in the document. It is not enough then to inspect a single element at a time. There are two special function names, which can be used to define filters on lists of blocks or lists of inlines. [`Inlines (inlines)`]{#inlines-filter} : If present in a filter, this function will be called on all lists of inline elements, like the content of a [Para] (paragraph) block, or the description of an [Image]. The `inlines` argument passed to the function will be a [List] of [Inlines] for each call. [`Blocks (blocks)`]{#blocks-filter} : If present in a filter, this function will be called on all lists of block elements, like the content of a [MetaBlocks] meta element block, on each item of a list, and the main content of the [Pandoc] document. The `blocks` argument passed to the function will be a [List] of [Blocks] for each call. These filter functions are special in that the result must either be nil, in which case the list is left unchanged, or must be a list of the correct type, i.e., the same type as the input argument. Single elements are **not** allowed as return values, as a single element in this context usually hints at a bug. See ["Remove spaces before normal citations"][Inlines filter example] for an example. This functionality has been added in pandoc 2.9.2. [Inlines filter example]: #remove-spaces-before-citations ## Execution Order Element filter functions within a filter set are called in a fixed order, skipping any which are not present: 1. functions for [*Inline* elements](#type-inline), 2. the [`Inlines`](#inlines-filter) filter function, 2. functions for [*Block* elements](#type-block) , 2. the [`Blocks`](#inlines-filter) filter function, 3. the [`Meta`](#type-meta) filter function, and last 4. the [`Pandoc`](#type-pandoc) filter function. It is still possible to force a different order by explicitly returning multiple filter sets. For example, if the filter for *Meta* is to be run before that for *Str*, one can write ``` lua -- ... filter definitions ... return { { Meta = Meta }, -- (1) { Str = Str } -- (2) } ``` Filter sets are applied in the order in which they are returned. All functions in set (1) are thus run before those in (2), causing the filter function for *Meta* to be run before the filtering of *Str* elements is started. ## Global variables Pandoc passes additional data to Lua filters by setting global variables. `FORMAT` : The global `FORMAT` is set to the format of the pandoc writer being used (`html5`, `latex`, etc.), so the behavior of a filter can be made conditional on the eventual output format. `PANDOC_READER_OPTIONS` : Table of the options which were provided to the parser. `PANDOC_VERSION` : Contains the pandoc version as a [Version] object which behaves like a numerically indexed table, most significant number first. E.g., for pandoc 2.7.3, the value of the variable is equivalent to a table `{2, 7, 3}`. Use `tostring(PANDOC_VERSION)` to produce a version string. This variable is also set in custom writers. `PANDOC_API_VERSION` : Contains the version of the pandoc-types API against which pandoc was compiled. It is given as a numerically indexed table, most significant number first. E.g., if pandoc was compiled against pandoc-types 1.17.3, then the value of the variable will behave like the table `{1, 17, 3}`. Use `tostring(PANDOC_API_VERSION)` to produce a version string. This variable is also set in custom writers. `PANDOC_SCRIPT_FILE` : The name used to involve the filter. This value can be used to find files relative to the script file. This variable is also set in custom writers. `PANDOC_STATE` : The state shared by all readers and writers. It is used by pandoc to collect and pass information. The value of this variable is of type [CommonState] and is read-only. # Pandoc Module The `pandoc` Lua module is loaded into the filter's Lua environment and provides a set of functions and constants to make creation and manipulation of elements easier. The global variable `pandoc` is bound to the module and should generally not be overwritten for this reason. Two major functionalities are provided by the module: element creator functions and access to some of pandoc's main functionalities. ## Element creation Element creator functions like `Str`, `Para`, and `Pandoc` are designed to allow easy creation of new elements that are simple to use and can be read back from the Lua environment. Internally, pandoc uses these functions to create the Lua objects which are passed to element filter functions. This means that elements created via this module will behave exactly as those elements accessible through the filter function parameter. ## Exposed pandoc functionality Some pandoc functions have been made available in Lua: - [`walk_block`](#pandoc.walk_block) and [`walk_inline`](#pandoc.walk_inline) allow filters to be applied inside specific block or inline elements; - [`read`](#pandoc.read) allows filters to parse strings into pandoc documents; - [`pipe`](#pandoc.pipe) runs an external command with input from and output to strings; - the [`pandoc.mediabag`](#module-pandoc.mediabag) module allows access to the "mediabag," which stores binary content such as images that may be included in the final document; - the [`pandoc.utils`](#module-pandoc.utils) module contains various utility functions. # Lua interpreter initialization Initialization of pandoc's Lua interpreter can be controlled by placing a file `init.lua` in pandoc's data directory. A common use-case would be to load additional modules, or even to alter default modules. The following snippet is an example of code that might be useful when added to `init.lua`. The snippet adds all unicode-aware functions defined in the [`text` module](#module-text) to the default `string` module, prefixed with the string `uc_`. ``` lua for name, fn in pairs(require 'text') do string['uc_' .. name] = fn end ``` This makes it possible to apply these functions on strings using colon syntax (`mystring:uc_upper()`). # Examples The following filters are presented as examples. A repository of useful Lua filters (which may also serve as good examples) is available at . ## Macro substitution The following filter converts the string `{{helloworld}}` into emphasized text "Hello, World". ``` lua return { { Str = function (elem) if elem.text == "{{helloworld}}" then return pandoc.Emph {pandoc.Str "Hello, World"} else return elem end end, } } ``` ## Center images in LaTeX and HTML output For LaTeX, wrap an image in LaTeX snippets which cause the image to be centered horizontally. In HTML, the image element's style attribute is used to achieve centering. ``` lua -- Filter images with this function if the target format is LaTeX. if FORMAT:match 'latex' then function Image (elem) -- Surround all images with image-centering raw LaTeX. return { pandoc.RawInline('latex', '\\hfill\\break{\\centering'), elem, pandoc.RawInline('latex', '\\par}') } end end -- Filter images with this function if the target format is HTML if FORMAT:match 'html' then function Image (elem) -- Use CSS style to center image elem.attributes.style = 'margin:auto; display: block;' return elem end end ``` ## Setting the date in the metadata This filter sets the date in the document's metadata to the current date: ``` lua function Meta(m) m.date = os.date("%B %e, %Y") return m end ``` ## Extracting information about links This filter prints a table of all the URLs linked to in the document, together with the number of links to that URL. ``` lua links = {} function Link (el) if links[el.target] then links[el.target] = links[el.target] + 1 else links[el.target] = 1 end return el end function Doc (blocks, meta) function strCell(str) return {pandoc.Plain{pandoc.Str(str)}} end local caption = {pandoc.Str "Link", pandoc.Space(), pandoc.Str "count"} local aligns = {pandoc.AlignDefault, pandoc.AlignLeft} local widths = {0.8, 0.2} local headers = {strCell "Target", strCell "Count"} local rows = {} for link, count in pairs(links) do rows[#rows + 1] = {strCell(link), strCell(count)} end return pandoc.Doc( {pandoc.Table(caption, aligns, widths, headers, rows)}, meta ) end ``` ## Remove spaces before citations This filter removes all spaces preceding an "author-in-text" citation. In Markdown, author-in-text citations (e.g., `@citekey`), must be preceded by a space. If these spaces are undesired, they must be removed with a filter. ``` lua local function is_space_before_author_in_text(spc, cite) return spc and spc.t == 'Space' and cite and cite.t == 'Cite' -- there must be only a single citation, and it must have -- mode 'AuthorInText' and #cite.citations == 1 and cite.citations[1].mode == 'AuthorInText' end function Inlines (inlines) -- Go from end to start to avoid problems with shifting indices. for i = #inlines-1, 1, -1 do if is_space_before_author_in_text(inlines[i], inlines[i+1]) then inlines:remove(i) end end return inlines end ``` ## Replacing placeholders with their metadata value Lua filter functions are run in the order > *Inlines → Blocks → Meta → Pandoc*. Passing information from a higher level (e.g., metadata) to a lower level (e.g., inlines) is still possible by using two filters living in the same file: ``` lua local vars = {} function get_vars (meta) for k, v in pairs(meta) do if type(v) == 'table' and v.t == 'MetaInlines' then vars["%" .. k .. "%"] = {table.unpack(v)} end end end function replace (el) if vars[el.text] then return pandoc.Span(vars[el.text]) else return el end end return {{Meta = get_vars}, {Str = replace}} ``` If the contents of file `occupations.md` is ``` markdown --- name: Samuel Q. Smith occupation: Professor of Phrenology --- Name : %name% Occupation : %occupation% ``` then running `pandoc --lua-filter=meta-vars.lua occupations.md` will output: ``` html
    Name

    Samuel Q. Smith

    Occupation

    Professor of Phrenology

    ``` ## Modifying pandoc's `MANUAL.txt` for man pages This is the filter we use when converting `MANUAL.txt` to man pages. It converts level-1 headers to uppercase (using `walk_block` to transform inline elements inside headers), removes footnotes, and replaces links with regular text. ``` lua -- we use preloaded text to get a UTF-8 aware 'upper' function local text = require('text') function Header(el) if el.level == 1 then return pandoc.walk_block(el, { Str = function(el) return pandoc.Str(text.upper(el.text)) end }) end end function Link(el) return el.content end function Note(el) return {} end ``` ## Creating a handout from a paper This filter extracts all the numbered examples, section headers, block quotes, and figures from a document, in addition to any divs with class `handout`. (Note that only blocks at the "outer level" are included; this ignores blocks inside nested constructs, like list items.) ``` lua -- creates a handout from an article, using its headings, -- blockquotes, numbered examples, figures, and any -- Divs with class "handout" function Pandoc(doc) local hblocks = {} for i,el in pairs(doc.blocks) do if (el.t == "Div" and el.classes[1] == "handout") or (el.t == "BlockQuote") or (el.t == "OrderedList" and el.style == "Example") or (el.t == "Para" and #el.c == 1 and el.c[1].t == "Image") or (el.t == "Header") then table.insert(hblocks, el) end end return pandoc.Pandoc(hblocks, doc.meta) end ``` ## Counting words in a document This filter counts the words in the body of a document (omitting metadata like titles and abstracts), including words in code. It should be more accurate than `wc -w` run directly on a Markdown document, since the latter will count markup characters, like the `#` in front of an ATX header, or tags in HTML documents, as words. To run it, `pandoc --lua-filter wordcount.lua myfile.md`. ``` lua -- counts words in a document words = 0 wordcount = { Str = function(el) -- we don't count a word if it's entirely punctuation: if el.text:match("%P") then words = words + 1 end end, Code = function(el) _,n = el.text:gsub("%S+","") words = words + n end, CodeBlock = function(el) _,n = el.text:gsub("%S+","") words = words + n end } function Pandoc(el) -- skip metadata, just count body: pandoc.walk_block(pandoc.Div(el.blocks), wordcount) print(words .. " words in body") os.exit(0) end ``` ## Converting ABC code to music notation This filter replaces code blocks with class `abc` with images created by running their contents through `abcm2ps` and ImageMagick's `convert`. (For more on ABC notation, see .) Images are added to the mediabag. For output to binary formats, pandoc will use images in the mediabag. For textual formats, use `--extract-media` to specify a directory where the files in the mediabag will be written, or (for HTML only) use `--self-contained`. ``` lua -- Pandoc filter to process code blocks with class "abc" containing -- ABC notation into images. -- -- * Assumes that abcm2ps and ImageMagick's convert are in the path. -- * For textual output formats, use --extract-media=abc-images -- * For HTML formats, you may alternatively use --self-contained local filetypes = { html = {"png", "image/png"} , latex = {"pdf", "application/pdf"} } local filetype = filetypes[FORMAT][1] or "png" local mimetype = filetypes[FORMAT][2] or "image/png" local function abc2eps(abc, filetype) local eps = pandoc.pipe("abcm2ps", {"-q", "-O", "-", "-"}, abc) local final = pandoc.pipe("convert", {"-", filetype .. ":-"}, eps) return final end function CodeBlock(block) if block.classes[1] == "abc" then local img = abc2eps(block.text, filetype) local fname = pandoc.sha1(img) .. "." .. filetype pandoc.mediabag.insert(fname, mimetype, img) return pandoc.Para{ pandoc.Image({pandoc.Str("abc tune")}, fname) } end end ``` ## Building images with Ti*k*Z This filter converts raw LaTeX Ti*k*Z environments into images. It works with both PDF and HTML output. The Ti*k*Z code is compiled to an image using `pdflatex`, and the image is converted from pdf to svg format using [`pdf2svg`](https://github.com/dawbarton/pdf2svg), so both of these must be in the system path. Converted images are cached in the working directory and given filenames based on a hash of the source, so that they need not be regenerated each time the document is built. (A more sophisticated version of this might put these in a special cache directory.) ``` lua local function tikz2image(src, filetype, outfile) local tmp = os.tmpname() local tmpdir = string.match(tmp, "^(.*[\\/])") or "." local f = io.open(tmp .. ".tex", 'w') f:write("\\documentclass{standalone}\n\\usepackage{xcolor}\n\\usepackage{tikz}\n\\begin{document}\n\\nopagecolor\n") f:write(src) f:write("\n\\end{document}\n") f:close() os.execute("pdflatex -output-directory " .. tmpdir .. " " .. tmp) if filetype == 'pdf' then os.rename(tmp .. ".pdf", outfile) else os.execute("pdf2svg " .. tmp .. ".pdf " .. outfile) end os.remove(tmp .. ".tex") os.remove(tmp .. ".pdf") os.remove(tmp .. ".log") os.remove(tmp .. ".aux") end extension_for = { html = 'svg', html4 = 'svg', html5 = 'svg', latex = 'pdf', beamer = 'pdf' } local function file_exists(name) local f = io.open(name, 'r') if f ~= nil then io.close(f) return true else return false end end local function starts_with(start, str) return str:sub(1, #start) == start end function RawBlock(el) if starts_with("\\begin{tikzpicture}", el.text) then local filetype = extension_for[FORMAT] or "svg" local fname = pandoc.sha1(el.text) .. "." .. filetype if not file_exists(fname) then tikz2image(el.text, filetype, fname) end return pandoc.Para({pandoc.Image({}, fname)}) else return el end end ``` Example of use: pandoc --lua-filter tikz.lua -s -o cycle.html <, >=latex] ({360/\n * (\s - 1)+\margin}:\radius) arc ({360/\n * (\s - 1)+\margin}:{360/\n * (\s)-\margin}:\radius); } \end{tikzpicture} EOF # Lua type reference This section describes the types of objects available to Lua filters. See the [pandoc module](#module-pandoc) for functions to create these objects. ## Shared Properties ### `clone` `clone ()` All instances of the types listed here, with the exception of read-only objects, can be cloned via the `clone()` method. Usage: local emph = pandoc.Emph {pandoc.Str 'important'} local cloned_emph = emph:clone() -- note the colon ## Pandoc {#type-pandoc} Pandoc document Values of this type can be created with the [`pandoc.Pandoc`](#pandoc.pandoc) constructor. Object equality is determined via [`pandoc.utils.equals`]. `blocks` : document content ([List] of [Blocks]) `meta` : document meta information ([Meta] object) ## Meta {#type-meta} Meta information on a document; string-indexed collection of [MetaValues]. Values of this type can be created with the [`pandoc.Meta`](#pandoc.meta) constructor. Object equality is determined via [`pandoc.utils.equals`]. ## MetaValue {#type-metavalue} Document meta information items. Object equality is determined via [`pandoc.utils.equals`]. ### MetaBlocks {#type-metablocks} A list of blocks usable as meta value ([List] of [Blocks]). Fields: `tag`, `t` : the literal `MetaBlocks` (string) ### MetaBool {#type-metabool} Alias for Lua boolean, i.e. the values `true` and `false`. ### MetaInlines {#type-metainlines} List of inlines used in metadata ([List] of [Inlines]) Values of this type can be created with the [`pandoc.MetaInlines`](#pandoc.metainlines) constructor. Fields: `tag`, `t` : the literal `MetaInlines` (string) ### MetaList {#type-metalist} A list of other metadata values ([List] of [MetaValues]). Values of this type can be created with the [`pandoc.MetaList`](#pandoc.metalist) constructor. Fields: `tag`, `t` : the literal `MetaList` (string) All methods available for [List]s can be used on this type as well. ### MetaMap {#type-metamap} A string-indexed map of meta-values. (table). Values of this type can be created with the [`pandoc.MetaMap`](#pandoc.metamap) constructor. Fields: `tag`, `t` : the literal `MetaMap` (string) *Note*: The fields will be shadowed if the map contains a field with the same name as those listed. ### MetaString {#type-metastring} Plain Lua string value (string). ## Block {#type-block} Object equality is determined via [`pandoc.utils.equals`]. ### BlockQuote {#type-blockquote} A block quote element. Values of this type can be created with the [`pandoc.BlockQuote`](#pandoc.blockquote) constructor. Fields: `content`: : block content ([List] of [Blocks]) `tag`, `t` : the literal `BlockQuote` (string) ### BulletList {#type-bulletlist} A bullet list. Values of this type can be created with the [`pandoc.BulletList`](#pandoc.bulletlist) constructor. Fields: `content` : list of items ([List] of [Blocks]) `tag`, `t` : the literal `BulletList` (string) ### CodeBlock {#type-codeblock} Block of code. Values of this type can be created with the [`pandoc.CodeBlock`](#pandoc.codeblock) constructor. Fields: `text` : code string (string) `attr` : element attributes ([Attr]) `identifier` : alias for `attr.identifier` (string) `classes` : alias for `attr.classes` ([List] of strings) `attributes` : alias for `attr.attributes` ([Attributes]) `tag`, `t` : the literal `CodeBlock` (string) ### DefinitionList {#type-definitionlist} Definition list, containing terms and their explanation. Values of this type can be created with the [`pandoc.DefinitionList`](#pandoc.definitionlist) constructor. Fields: `content` : list of items `tag`, `t` : the literal `DefinitionList` (string) ### Div {#type-div} Generic block container with attributes. Values of this type can be created with the [`pandoc.Div`](#pandoc.div) constructor. Fields: `content` : block content ([List] of [Blocks]) `attr` : element attributes ([Attr]) `identifier` : alias for `attr.identifier` (string) `classes` : alias for `attr.classes` ([List] of strings) `attributes` : alias for `attr.attributes` ([Attributes]) `tag`, `t` : the literal `Div` (string) ### Header {#type-header} Creates a header element. Values of this type can be created with the [`pandoc.Header`](#pandoc.header) constructor. Fields: `level` : header level (integer) `content` : inline content ([List] of [Inlines]) `attr` : element attributes ([Attr]) `identifier` : alias for `attr.identifier` (string) `classes` : alias for `attr.classes` ([List] of strings) `attributes` : alias for `attr.attributes` ([Attributes]) `tag`, `t` : the literal `Header` (string) ### HorizontalRule {#type-horizontalrule} A horizontal rule. Values of this type can be created with the [`pandoc.HorizontalRule`](#pandoc.horizontalrule) constructor. Fields: `tag`, `t` : the literal `HorizontalRule` (string) ### LineBlock {#type-lineblock} A line block, i.e. a list of lines, each separated from the next by a newline. Values of this type can be created with the [`pandoc.LineBlock`](#pandoc.lineblock) constructor. Fields: `content` : inline content `tag`, `t` : the literal `LineBlock` (string) ### Null {#type-null} A null element; this element never produces any output in the target format. Values of this type can be created with the [`pandoc.Null`](#pandoc.null) constructor. `tag`, `t` : the literal `Null` (string) ### OrderedList {#type-orderedlist} An ordered list. Values of this type can be created with the [`pandoc.OrderedList`](#pandoc.orderedlist) constructor. Fields: `content` : list items ([List] of [List] of [Blocks]) `listAttributes` : list parameters ([ListAttributes]) `start` : alias for `listAttributes.start` (integer) `style` : alias for `listAttributes.style` (string) `delimiter` : alias for `listAttributes.delimiter` (string) `tag`, `t` : the literal `OrderedList` (string) ### Para {#type-para} A paragraph. Values of this type can be created with the [`pandoc.Para`](#pandoc.para) constructor. Fields: `content` : inline content ([List] of [Inlines]) `tag`, `t` : the literal `Para` (string) ### Plain {#type-plain} Plain text, not a paragraph. Values of this type can be created with the [`pandoc.Plain`](#pandoc.plain) constructor. Fields: `content` : inline content ([List] of [Inlines]) `tag`, `t` : the literal `Plain` (string) ### RawBlock {#type-rawblock} Raw content of a specified format. Values of this type can be created with the [`pandoc.RawBlock`](#pandoc.rawblock) constructor. Fields: `format` : format of content (string) `text` : raw content (string) `tag`, `t` : the literal `RawBlock` (string) ### Table {#type-table} A table. Values of this type can be created with the [`pandoc.Table`](#pandoc.table) constructor. Fields: `caption` : table caption ([List] of [Inlines]) `aligns` : column alignments ([List] of [Alignment]s) `widths` : column widths (number) `headers` : header row ([List] of [table cells](#type-table-cell)) `rows` : table rows ([List] of [List]s of [table cells](#type-table-cell)) `tag`, `t` : the literal `Table` (string) A [table cell]{#type-table-cell} is a list of blocks. *[Alignment]{#type-alignment}* is a string value indicating the horizontal alignment of a table column. `AlignLeft`, `AlignRight`, and `AlignCenter` leads cell content tob be left-aligned, right-aligned, and centered, respectively. The default alignment is `AlignDefault` (often equivalent to centered). ## Inline {#type-inline} Object equality is determined via [`pandoc.utils.equals`]. ### Cite {#type-cite} Citation. Values of this type can be created with the [`pandoc.Cite`](#pandoc.cite) constructor. Fields: `content` : ([List] of [Inlines]) `citations` : citation entries ([List] of [Citations]) `tag`, `t` : the literal `Cite` (string) ### Code {#type-code} Inline code Values of this type can be created with the [`pandoc.Code`](#pandoc.code) constructor. Fields: `text` : code string (string) `attr` : attributes ([Attr]) `identifier` : alias for `attr.identifier` (string) `classes` : alias for `attr.classes` ([List] of strings) `attributes` : alias for `attr.attributes` ([Attributes]) `tag`, `t` : the literal `Code` (string) ### Emph {#type-emph} Emphasized text Values of this type can be created with the [`pandoc.Emph`](#pandoc.emph) constructor. Fields: `content` : inline content ([List] of [Inlines]) `tag`, `t` : the literal `Emph` (string) ### Image {#type-image} Image: alt text (list of inlines), target Values of this type can be created with the [`pandoc.Image`](#pandoc.image) constructor. Fields: `attr` : attributes ([Attr]) `caption` : text used to describe the image ([List] of [Inlines]) `src` : path to the image file (string) `title` : brief image description `identifier` : alias for `attr.identifier` (string) `classes` : alias for `attr.classes` ([List] of strings) `attributes` : alias for `attr.attributes` ([Attributes]) `tag`, `t` : the literal `Image` (string) ### LineBreak {#type-linebreak} Hard line break Values of this type can be created with the [`pandoc.LineBreak`](#pandoc.linebreak) constructor. Fields: `tag`, `t` : the literal `LineBreak` (string) ### Link {#type-link} Hyperlink: alt text (list of inlines), target Values of this type can be created with the [`pandoc.Link`](#pandoc.link) constructor. Fields: `attr` : attributes ([Attr]) `content` : text for this link ([List] of [Inlines]) `target` : the link target (string) `identifier` : alias for `attr.identifier` (string) `classes` : alias for `attr.classes` ([List] of strings) `attributes` : alias for `attr.attributes` ([Attributes]) `tag`, `t` : the literal `Link` (string) ### Math {#type-math} TeX math (literal) Values of this type can be created with the [`pandoc.Math`](#pandoc.math) constructor. Fields: `mathtype` : specifier determining whether the math content should be shown inline (`InlineMath`) or on a separate line (`DisplayMath`) (string) `text` : math content (string) `tag`, `t` : the literal `Math` (string) ### Note {#type-note} Footnote or endnote Values of this type can be created with the [`pandoc.Note`](#pandoc.note) constructor. Fields: `content` : ([List] of [Blocks]) `tag`, `t` : the literal `Note` (string) ### Quoted {#type-quoted} Quoted text Values of this type can be created with the [`pandoc.Quoted`](#pandoc.quoted) constructor. Fields: `quotetype` : type of quotes to be used; one of `SingleQuote` or `DoubleQuote` (string) `content` : quoted text ([List] of [Inlines]) `tag`, `t` : the literal `Quoted` (string) ### RawInline {#type-rawinline} Raw inline Values of this type can be created with the [`pandoc.RawInline`](#pandoc.rawinline) constructor. Fields: `format` : the format of the content (string) `text` : raw content (string) `tag`, `t` : the literal `RawInline` (string) ### SmallCaps {#type-smallcaps} Small caps text Values of this type can be created with the [`pandoc.SmallCaps`](#pandoc.smallcaps) constructor. Fields: `content` : ([List] of [Inlines]) `tag`, `t` : the literal `SmallCaps` (string) ### SoftBreak {#type-softbreak} Soft line break Values of this type can be created with the [`pandoc.SoftBreak`](#pandoc.softbreak) constructor. Fields: `tag`, `t` : the literal `SoftBreak` (string) ### Space {#type-space} Inter-word space Values of this type can be created with the [`pandoc.Space`](#pandoc.space) constructor. Fields: `tag`, `t` : the literal `Space` (string) ### Span {#type-span} Generic inline container with attributes Values of this type can be created with the [`pandoc.Span`](#pandoc.span) constructor. Fields: `attr` : attributes ([Attr]) `content` : wrapped content ([List] of [Inlines]) `identifier` : alias for `attr.identifier` (string) `classes` : alias for `attr.classes` ([List] of strings) `attributes` : alias for `attr.attributes` ([Attributes]) `tag`, `t` : the literal `Span` (string) ### Str {#type-str} Text Values of this type can be created with the [`pandoc.Str`](#pandoc.str) constructor. Fields: `text` : content (string) `tag`, `t` : the literal `Str` (string) ### Strikeout {#type-strikeout} Strikeout text Values of this type can be created with the [`pandoc.Strikeout`](#pandoc.strikeout) constructor. Fields: `content` : inline content ([List] of [Inlines]) `tag`, `t` : the literal `Strikeout` (string) ### Strong {#type-strong} Strongly emphasized text Values of this type can be created with the [`pandoc.Strong`](#pandoc.strong) constructor. Fields: `content` : inline content ([List] of [Inlines]) `tag`, `t` : the literal `Strong` (string) ### Subscript {#type-subscript} Subscripted text Values of this type can be created with the [`pandoc.Subscript`](#pandoc.subscript) constructor. Fields: `content` : inline content ([List] of [Inlines]) `tag`, `t` : the literal `Subscript` (string) ### Superscript {#type-superscript} Superscripted text Values of this type can be created with the [`pandoc.Superscript`](#pandoc.superscript) constructor. Fields: `content` : inline content ([List] of [Inlines]) `tag`, `t` : the literal `Superscript` (string) ## Element components ### Attr {#type-attr} A set of element attributes. Values of this type can be created with the [`pandoc.Attr`](#pandoc.attr) constructor. For convenience, it is usually not necessary to construct the value directly if it is part of an element, and it is sufficient to pass an HTML-like table. E.g., to create a span with identifier "text" and classes "a" and "b", on can write: local span = pandoc.Span('text', {id = 'text', class = 'a b'}) This also works when using the `attr` setter: local span = pandoc.Span 'text' span.attr = {id = 'text', class = 'a b', other_attribute = '1'} Object equality is determined via [`pandoc.utils.equals`]. Fields: `identifier` : element identifier (string) `classes` : element classes ([List] of strings) `attributes` : collection of key/value pairs ([Attributes]) ### Attributes {#type-attributes} List of key/value pairs. Values can be accessed by using keys as indices to the list table. ### Citation {#type-citation} Single citation entry Values of this type can be created with the [`pandoc.Citation`](#pandoc.citation) constructor. Object equality is determined via [`pandoc.utils.equals`]. Fields: `id` : citation identifier, e.g., a bibtex key (string) `mode` : citation mode, one of `AuthorInText`, `SuppressAuthor`, or `NormalCitation` (string) `prefix` : citation prefix ([List] of [Inlines]) `suffix` : citation suffix ([List] of [Inlines]) `note_num` : note number (integer) `hash` : hash (integer) ### ListAttributes {#type-listattributes} List attributes Values of this type can be created with the [`pandoc.ListAttributes`](#pandoc.listattributes) constructor. Object equality is determined via [`pandoc.utils.equals`]. Fields: `start` : number of the first list item (integer) `style` : style used for list numbers; possible values are `DefaultStyle`, `Example`, `Decimal`, `LowerRoman`, `UpperRoman`, `LowerAlpha`, and `UpperAlpha` (string) `delimiter` : delimiter of list numbers; one of `DefaultDelim`, `Period`, `OneParen`, and `TwoParens` (string) ## ReaderOptions {#type-readeroptions} Pandoc reader options Fields: `abbreviations` : set of known abbreviations (set of strings) `columns` : number of columns in terminal (integer) `default_image_extension` : default extension for images (string) `extensions` : string representation of the syntax extensions bit field (string) `indented_code_classes` : default classes for indented code blocks (list of strings) `standalone` : whether the input was a standalone document with header (boolean) `strip_comments` : HTML comments are stripped instead of parsed as raw HTML (boolean) `tab_stop` : width (i.e. equivalent number of spaces) of tab stops (integer) `track_changes` : track changes setting for docx; one of `AcceptChanges`, `RejectChanges`, and `AllChanges` (string) ## CommonState {#type-commonstate} The state used by pandoc to collect information and make it available to readers and writers. Fields: `input_files` : List of input files from command line ([List] of strings) `output_file` : Output file from command line (string or nil) `log` : A list of log messages in reverse order ([List] of [LogMessage]s) `request_headers` : Headers to add for HTTP requests; table with header names as keys and header contents as value (table) `resource_path` : Path to search for resources like included images ([List] of strings) `source_url` : Absolute URL or directory of first source file (string or nil) `user_data_dir` : Directory to search for data files (string or nil) `trace` : Whether tracing messages are issued (boolean) `verbosity` : Verbosity level; one of `INFO`, `WARNING`, `ERROR` (string) ## List {#type-list} A list is any Lua table with integer indices. Indices start at one, so if `alist = {'value'}` then `alist[1] == 'value'`. Lists, when part of an element, or when generated during marshalling, are made instances of the `pandoc.List` type for convenience. The `pandoc.List` type is defined in the [*pandoc.List*](#module-pandoc.list) module. See there for available methods. Values of this type can be created with the [`pandoc.List`](#pandoc.list) constructor, turning a normal Lua table into a List. ## LogMessage {#type-logmessage} A pandoc log message. Objects have no fields, but can be converted to a string via `tostring`. ## Version {#type-version} A version object. This represents a software version like "2.7.3". The object behaves like a numerically indexed table, i.e., if `version` represents the version `2.7.3`, then version[1] == 2 version[2] == 7 version[3] == 3 #version == 3 -- length Comparisons are performed element-wise, i.e. Version '1.12' > Version '1.9' Values of this type can be created with the [`pandoc.types.Version`](#pandoc.types.version) constructor. ### `must_be_at_least` `must_be_at_least(actual, expected [, error_message])` Raise an error message if the actual version is older than the expected version; does nothing if actual is equal to or newer than the expected version. Parameters: `actual` : actual version specifier ([Version]) `expected` : minimum expected version ([Version]) `error_message` : optional error message template. The string is used as format string, with the expected and actual versions as arguments. Defaults to `"expected version %s or newer, got %s"`. Usage: PANDOC_VERSION:must_be_at_least '2.7.3' PANDOC_API_VERSION:must_be_at_least( '1.17.4', 'pandoc-types is too old: expected version %s, got %s' ) [Alignment]: #type-alignment [Attr]: #type-attr [Attributes]: #type-attributes [Block]: #type-block [Blocks]: #type-block [Citation]: #type-citation [Citations]: #type-citation [CommonState]: #type-commonstate [Image]: #type-image [Inline]: #type-inline [Inlines]: #type-inline [List]: #type-list [ListAttributes]: #type-listattributes [Meta]: #type-meta [MetaBlocks]: #type-metablocks [MetaValue]: #type-metavalue [MetaValues]: #type-metavalue [LogMessage]: #type-logmessage [Pandoc]: #type-pandoc [Para]: #type-para [Version]: #type-version [`pandoc.utils.equals`]: #pandoc.utils.equals # Module text UTF-8 aware text manipulation functions, implemented in Haskell. The module is made available as part of the `pandoc` module via `pandoc.text`. The text module can also be loaded explicitly: ``` lua -- uppercase all regular text in a document: text = require 'text' function Str (s) s.text = text.upper(s.text) return s end ``` ### lower {#text.lower} `lower (s)` Returns a copy of a UTF-8 string, converted to lowercase. ### upper {#text.upper} `upper (s)` Returns a copy of a UTF-8 string, converted to uppercase. ### reverse {#text.reverse} `reverse (s)` Returns a copy of a UTF-8 string, with characters reversed. ### len {#text.len} `len (s)` Returns the length of a UTF-8 string. ### sub {#text.sub} `sub (s)` Returns a substring of a UTF-8 string, using Lua's string indexing rules. # Module pandoc Lua functions for pandoc scripts; includes constructors for document tree elements, functions to parse text in a given format, and functions to filter and modify a subtree. ## Pandoc [`Pandoc (blocks[, meta])`]{#pandoc.pandoc} : A complete pandoc document Parameters: `blocks`: : document content `meta`: : document meta data Returns: [Pandoc] object ## Meta [`Meta (table)`]{#pandoc.meta} : Create a new Meta object. Parameters: `table`: : table containing document meta information Returns: [Meta] object ## MetaValue [`MetaBlocks (blocks)`]{#pandoc.metablocks} : Meta blocks Parameters: `blocks`: : blocks Returns: [MetaBlocks] object [`MetaInlines (inlines)`]{#pandoc.metainlines} : Meta inlines Parameters: `inlines`: : inlines Returns: [MetaInlines] object [`MetaList (meta_values)`]{#pandoc.metalist} : Meta list Parameters: `meta_values`: : list of meta values Returns: [MetaList] object [`MetaMap (key_value_map)`]{#pandoc.metamap} : Meta map Parameters: `key_value_map`: : a string-indexed map of meta values Returns: [MetaMap] object [`MetaString (str)`]{#pandoc.metastring} : Creates string to be used in meta data. Parameters: `str`: : string value Returns: [MetaString] object [`MetaBool (bool)`]{#pandoc.metabool} : Creates boolean to be used in meta data. Parameters: `bool`: : boolean value Returns: [MetaBool] object ## Blocks [`BlockQuote (content)`]{#pandoc.blockquote} : Creates a block quote element Parameters: `content`: : block content Returns: [BlockQuote] object [`BulletList (content)`]{#pandoc.bulletlist} : Creates a bullet (i.e. Parameters: `content`: : list of items Returns: [BulletList] object [`CodeBlock (text[, attr])`]{#pandoc.codeblock} : Creates a code block element Parameters: `text`: : code string `attr`: : element attributes Returns: [CodeBlock] object [`DefinitionList (content)`]{#pandoc.definitionlist} : Creates a definition list, containing terms and their explanation. Parameters: `content`: : list of items Returns: [DefinitionList] object [`Div (content[, attr])`]{#pandoc.div} : Creates a div element Parameters: `content`: : block content `attr`: : element attributes Returns: [Div] object [`Header (level, content[, attr])`]{#pandoc.header} : Creates a header element. Parameters: `level`: : header level `content`: : inline content `attr`: : element attributes Returns: [Header] object [`HorizontalRule ()`]{#pandoc.horizontalrule} : Creates a horizontal rule. Returns: [HorizontalRule] object [`LineBlock (content)`]{#pandoc.lineblock} : Creates a line block element. Parameters: `content`: : inline content Returns: [LineBlock] object [`Null ()`]{#pandoc.null} : Creates a null element. Returns: [Null] object [`OrderedList (items[, listAttributes])`]{#pandoc.orderedlist} : Creates an ordered list. Parameters: `items`: : list items `listAttributes`: : list parameters Returns: [OrderedList](#type-orderedlist) object [`Para (content)`]{#pandoc.para} : Creates a para element. Parameters: `content`: : inline content Returns: [Para](#type-para) object [`Plain (content)`]{#pandoc.plain} : Creates a plain element. Parameters: `content`: : inline content Returns: [Plain](#type-plain) object [`RawBlock (format, text)`]{#pandoc.rawblock} : Creates a raw content block of the specified format. Parameters: `format`: : format of content `text`: : string content Returns: [RawBlock](#type-rawblock) object [`Table (caption, aligns, widths, headers, rows)`]{#pandoc.table} : Creates a table element. Parameters: `caption`: : table caption `aligns`: : alignments `widths`: : column widths `headers`: : header row `rows`: : table rows Returns: [Table](#type-table) object ## Inline [`Cite (content, citations)`]{#pandoc.cite} : Creates a Cite inline element Parameters: `content`: : List of inlines `citations`: : List of citations Returns: [Cite](#type-cite) object [`Code (text[, attr])`]{#pandoc.code} : Creates a Code inline element Parameters: `text`: : code string `attr`: : additional attributes Returns: [Code](#type-code) object [`Emph (content)`]{#pandoc.emph} : Creates an inline element representing emphasised text. Parameters: `content`: : inline content Returns: [Emph](#type-emph) object [`Image (caption, src[, title[, attr]])`]{#pandoc.image} : Creates a Image inline element Parameters: `caption`: : text used to describe the image `src`: : path to the image file `title`: : brief image description `attr`: : additional attributes Returns: [Image](#type-image) object [`LineBreak ()`]{#pandoc.linebreak} : Create a LineBreak inline element Returns: [LineBreak](#type-linebreak) object [`Link (content, target[, title[, attr]])`]{#pandoc.link} : Creates a link inline element, usually a hyperlink. Parameters: `content`: : text for this link `target`: : the link target `title`: : brief link description `attr`: : additional attributes Returns: [Link](#type-link) object [`Math (mathtype, text)`]{#pandoc.math} : Creates a Math element, either inline or displayed. Parameters: `mathtype`: : rendering specifier `text`: : Math content Returns: [Math](#type-math) object [`DisplayMath (text)`]{#pandoc.displaymath} : Creates a math element of type "DisplayMath" (DEPRECATED). Parameters: `text`: : Math content Returns: [Math](#type-math) object [`InlineMath (text)`]{#pandoc.inlinemath} : Creates a math element of type "InlineMath" (DEPRECATED). Parameters: `text`: : Math content Returns: [Math](#type-math) object [`Note (content)`]{#pandoc.note} : Creates a Note inline element Parameters: `content`: : footnote block content Returns: [Note](#type-note) object [`Quoted (quotetype, content)`]{#pandoc.quoted} : Creates a Quoted inline element given the quote type and quoted content. Parameters: `quotetype`: : type of quotes to be used `content`: : inline content Returns: [Quoted](#type-quoted) object [`SingleQuoted (content)`]{#pandoc.singlequoted} : Creates a single-quoted inline element (DEPRECATED). Parameters: `content`: : inline content Returns: [Quoted](#type-quoted) [`DoubleQuoted (content)`]{#pandoc.doublequoted} : Creates a single-quoted inline element (DEPRECATED). Parameters: `content`: : inline content Returns: [Quoted](#type-quoted) [`RawInline (format, text)`]{#pandoc.rawinline} : Creates a raw inline element Parameters: `format`: : format of the contents `text`: : string content Returns: [RawInline](#type-rawinline) object [`SmallCaps (content)`]{#pandoc.smallcaps} : Creates text rendered in small caps Parameters: `content`: : inline content Returns: [SmallCaps](#type-smallcaps) object [`SoftBreak ()`]{#pandoc.softbreak} : Creates a SoftBreak inline element. Returns: [SoftBreak](#type-softbreak) object [`Space ()`]{#pandoc.space} : Create a Space inline element Returns: [Space](#type-space) object [`Span (content[, attr])`]{#pandoc.span} : Creates a Span inline element Parameters: `content`: : inline content `attr`: : additional attributes Returns: [Span](#type-span) object [`Str (text)`]{#pandoc.str} : Creates a Str inline element Parameters: `text`: : content Returns: [Str](#type-str) object [`Strikeout (content)`]{#pandoc.strikeout} : Creates text which is striked out. Parameters: `content`: : inline content Returns: [Strikeout](#type-strikeout) object [`Strong (content)`]{#pandoc.strong} : Creates a Strong element, whose text is usually displayed in a bold font. Parameters: `content`: : inline content Returns: [Strong](#type-strong) object [`Subscript (content)`]{#pandoc.subscript} : Creates a Subscript inline element Parameters: `content`: : inline content Returns: [Subscript](#type-subscript) object [`Superscript (content)`]{#pandoc.superscript} : Creates a Superscript inline element Parameters: `content`: : inline content Returns: [Superscript](#type-superscript) object ## Element components [`Attr ([identifier[, classes[, attributes]]])`]{#pandoc.attr} : Create a new set of attributes (Attr). Parameters: `identifier`: : element identifier `classes`: : element classes `attributes`: : table containing string keys and values Returns: [Attr](#type-attr) object [`Citation (id, mode[, prefix[, suffix[, note_num[, hash]]]])`]{#pandoc.citation} : Creates a single citation. Parameters: `id`: : citation identifier (like a bibtex key) `mode`: : citation mode `prefix`: : citation prefix `suffix`: : citation suffix `note_num`: : note number `hash`: : hash number Returns: [Citation](#type-citation) object [`ListAttributes ([start[, style[, delimiter]]])`]{#pandoc.listattributes} : Creates a set of list attributes. Parameters: `start`: : number of the first list item `style`: : style used for list numbering `delimiter`: : delimiter of list numbers Returns: [ListAttributes](#type-listattributes) object ## Constants [`AuthorInText`]{#pandoc.authorintext} : Author name is mentioned in the text. See also: [Citation](#type-citation) [`SuppressAuthor`]{#pandoc.suppressauthor} : Author name is suppressed. See also: [Citation](#type-citation) [`NormalCitation`]{#pandoc.normalcitation} : Default citation style is used. See also: [Citation](#type-citation) [`AlignLeft`]{#pandoc.alignleft} : Table cells aligned left. See also: [Table](#type-alignment) [`AlignRight`]{#pandoc.alignright} : Table cells right-aligned. See also: [Table](#type-alignment) [`AlignCenter`]{#pandoc.aligncenter} : Table cell content is centered. See also: [Table](#type-alignment) [`AlignDefault`]{#pandoc.aligndefault} : Table cells are alignment is unaltered. See also: [Table](#type-alignment) [`DefaultDelim`]{#pandoc.defaultdelim} : Default list number delimiters are used. See also: [ListAttributes](#type-listattributes) [`Period`]{#pandoc.period} : List numbers are delimited by a period. See also: [ListAttributes](#type-listattributes) [`OneParen`]{#pandoc.oneparen} : List numbers are delimited by a single parenthesis. See also: [ListAttributes](#type-listattributes) [`TwoParens`]{#pandoc.twoparens} : List numbers are delimited by a double parentheses. See also: [ListAttributes](#type-listattributes) [`DefaultStyle`]{#pandoc.defaultstyle} : List are numbered in the default style See also: [ListAttributes](#type-listattributes) [`Example`]{#pandoc.example} : List items are numbered as examples. See also: [ListAttributes](#type-listattributes) [`Decimal`]{#pandoc.decimal} : List are numbered using decimal integers. See also: [ListAttributes](#type-listattributes) [`LowerRoman`]{#pandoc.lowerroman} : List are numbered using lower-case roman numerals. See also: [ListAttributes](#type-listattributes) [`UpperRoman`]{#pandoc.upperroman} : List are numbered using upper-case roman numerals See also: [ListAttributes](#type-listattributes) [`LowerAlpha`]{#pandoc.loweralpha} : List are numbered using lower-case alphabetic characters. See also: [ListAttributes](#type-listattributes) [`UpperAlpha`]{#pandoc.upperalpha} : List are numbered using upper-case alphabetic characters. See also: [ListAttributes](#type-listattributes) [`sha1`]{#pandoc.sha1} : Alias for [`pandoc.utils.sha1`](#pandoc.utils.sha1) (DEPRECATED). ## Helper functions ### pipe {#pandoc.pipe} `pipe (command, args, input)` Runs command with arguments, passing it some input, and returns the output. Returns: - Output of command. Raises: - A table containing the keys `command`, `error_code`, and `output` is thrown if the command exits with a non-zero error code. Usage: local output = pandoc.pipe("sed", {"-e","s/a/b/"}, "abc") ### walk\_block {#pandoc.walk_block} `walk_block (element, filter)` Apply a filter inside a block element, walking its contents. Parameters: `element`: : the block element `filter`: : a Lua filter (table of functions) to be applied within the block element Returns: the transformed block element ### walk\_inline {#pandoc.walk_inline} `walk_inline (element, filter)` Apply a filter inside an inline element, walking its contents. Parameters: `element`: : the inline element `filter`: : a Lua filter (table of functions) to be applied within the inline element Returns: the transformed inline element ### read {#pandoc.read} `read (markup[, format])` Parse the given string into a Pandoc document. Parameters: `markup`: : the markup to be parsed `format`: : format specification, defaults to `"markdown"`. Returns: pandoc document Usage: local org_markup = "/emphasis/" -- Input to be read local document = pandoc.read(org_markup, "org") -- Get the first block of the document local block = document.blocks[1] -- The inline element in that block is an `Emph` assert(block.content[1].t == "Emph") # Module pandoc.utils This module exposes internal pandoc functions and utility functions. The module is loaded as part of the `pandoc` module and available as `pandoc.utils`. In versions up-to and including pandoc 2.6, this module had to be loaded explicitly. Example: pandoc.utils = require 'pandoc.utils' Use the above for backwards compatibility. ### blocks\_to\_inlines {#pandoc.utils.blocks_to_inlines} `blocks_to_inlines (blocks[, sep])` Squash a list of blocks into a list of inlines. Parameters: `blocks`: : List of [Blocks](#type-block) to be flattened. `sep`: : List of [Inlines](#type-inline) inserted as separator between two consecutive blocks; defaults to `{ pandoc.Space(), pandoc.Str'¶', pandoc.Space()}`. Returns: - [List](#type-list) of [Inlines](#type-inline) Usage: local blocks = { pandoc.Para{ pandoc.Str 'Paragraph1' }, pandoc.Para{ pandoc.Emph 'Paragraph2' } } local inlines = pandoc.utils.blocks_to_inlines(blocks) -- inlines = { -- pandoc.Str 'Paragraph1', -- pandoc.Space(), pandoc.Str'¶', pandoc.Space(), -- pandoc.Emph{ pandoc.Str 'Paragraph2' } -- } ### equals {#pandoc.utils.equals} `equals (element1, element2)` Test equality of AST elements. Elements in Lua are considered equal if and only if the objects obtained by unmarshaling are equal. Parameters: `element1`, `element2`: : Objects to be compared. Acceptable input types are [Pandoc], [Meta], [MetaValue], [Block], [Inline], [Attr], [ListAttributes], and [Citation]. Returns: - Whether the two objects represent the same element (boolean) ### make\_sections {#pandoc.utils.make_sections} `make_sections (number_sections, base_level, blocks)` Converst list of [Blocks](#type-block) into sections. `Div`s will be created beginning at each `Header` and containing following content until the next `Header` of comparable level. If `number_sections` is true, a `number` attribute will be added to each `Header` containing the section number. If `base_level` is non-null, `Header` levels will be reorganized so that there are no gaps, and so that the base level is the level specified. Returns: - List of [Blocks](#type-block). Usage: local blocks = { pandoc.Header(2, pandoc.Str 'first'), pandoc.Header(2, pandoc.Str 'second'), } local newblocks = pandoc.utils.make_sections(true, 1, blocks) ### run\_json\_filter {#pandoc.utils.run_json_filter} `run_json_filter (doc, filter[, args])` Filter the given doc by passing it through the a JSON filter. Parameters: `doc`: : the Pandoc document to filter `filter`: : filter to run `args`: : list of arguments passed to the filter. Defaults to `{FORMAT}`. Returns: - ([Pandoc](#type-pandoc)) Filtered document Usage: -- Assumes `some_blocks` contains blocks for which a -- separate literature section is required. local sub_doc = pandoc.Pandoc(some_blocks, metadata) sub_doc_with_bib = pandoc.utils.run_json_filter( sub_doc, 'pandoc-citeproc' ) some_blocks = sub_doc.blocks -- some blocks with bib ### normalize\_date {#pandoc.utils.normalize_date} `normalize_date (date_string)` Parse a date and convert (if possible) to "YYYY-MM-DD" format. We limit years to the range 1601-9999 (ISO 8601 accepts greater than or equal to 1583, but MS Word only accepts dates starting 1601). Returns: - A date string, or nil when the conversion failed. ### sha1 {#pandoc.utils.sha1} `sha1 (contents)` Returns the SHA1 has of the contents. Returns: - SHA1 hash of the contents. Usage: local fp = pandoc.utils.sha1("foobar") ### stringify {#pandoc.utils.stringify} `stringify (element)` Converts the given element (Pandoc, Meta, Block, or Inline) into a string with all formatting removed. Returns: - A plain string representation of the given element. Usage: local inline = pandoc.Emph{pandoc.Str 'Moin'} -- outputs "Moin" print(pandoc.utils.stringify(inline)) ### to\_roman\_numeral {#pandoc.utils.to_roman_numeral} `to_roman_numeral (integer)` Converts an integer \< 4000 to uppercase roman numeral. Returns: - A roman numeral string. Usage: local to_roman_numeral = pandoc.utils.to_roman_numeral local pandoc_birth_year = to_roman_numeral(2006) -- pandoc_birth_year == 'MMVI' # Module pandoc.mediabag The `pandoc.mediabag` module allows accessing pandoc's media storage. The "media bag" is used when pandoc is called with the `--extract-media` or (for HTML only) `--self-contained` option. The module is loaded as part of module `pandoc` and can either be accessed via the `pandoc.mediabag` field, or explicitly required, e.g.: local mb = require 'pandoc.mediabag' ### delete {#pandoc.mediabag.delete} `delete (filepath)` Removes a single entry from the media bag. Parameters: `filepath`: : filename of the item to be deleted. The media bag will be left unchanged if no entry with the given filename exists. ### empty {#pandoc.mediabag.empty} `empty ()` Clear-out the media bag, deleting all items. ### insert {#pandoc.mediabag.insert} `insert (filepath, mime_type, contents)` Adds a new entry to pandoc's media bag. Parameters: `filepath`: : filename and path relative to the output folder. `mime_type`: : the file's MIME type `contents`: : the binary contents of the file. Usage: local fp = "media/hello.txt" local mt = "text/plain" local contents = "Hello, World!" pandoc.mediabag.insert(fp, mt, contents) ### items {#pandoc.mediabag.items} `items ()` Returns an iterator triple to be used with Lua's generic `for` statement. The iterator returns the filepath, MIME type, and content of a media bag item on each invocation. Items are processed one-by-one to avoid excessive memory use. This function should be used only when full access to all items, including their contents, is required. For all other cases, [`list`](#pandoc.mediabag.list) should be preferred. Returns: - The iterator function; must be called with the iterator state and the current iterator value. - Iterator state -- an opaque value to be passed to the iterator function. - Initial iterator value. Usage: for fp, mt, contents in pandoc.mediabag.items() do -- print(fp, mt, contents) end ### list {#pandoc.mediabag.list} `list ()` Get a summary of the current media bag contents. Returns: A list of elements summarizing each entry in the media bag. The summary item contains the keys `path`, `type`, and `length`, giving the filepath, MIME type, and length of contents in bytes, respectively. Usage: -- calculate the size of the media bag. local mb_items = pandoc.mediabag.list() local sum = 0 for i = 1, #mb_items do sum = sum + mb_items[i].length end print(sum) ### lookup {#pandoc.mediabag.lookup} `lookup (filepath)` Lookup a media item in the media bag, and return its MIME type and contents. Parameters: `filepath`: : name of the file to look up. Returns: - the entry's MIME type, or nil if the file was not found. - contents of the file, or nil if the file was not found. Usage: local filename = "media/diagram.png" local mt, contents = pandoc.mediabag.lookup(filename) ### fetch {#pandoc.mediabag.fetch} `fetch (source, base_url)` Fetches the given source from a URL or local file. Returns two values: the contents of the file and the MIME type (or an empty string). Returns: - the entries MIME type, or nil if the file was not found. - contents of the file, or nil if the file was not found. Usage: local diagram_url = "https://pandoc.org/diagram.jpg" local mt, contents = pandoc.mediabag.fetch(diagram_url, ".") # Module pandoc.List The this module defines pandoc's list type. It comes with useful methods and convenience functions. ## Constructor [`pandoc.List([table])`]{#pandoc.list} : Create a new List. If the optional argument `table` is given, set the metatable of that value to `pandoc.List`. This is an alias for [`pandoc.List:new([table])`](#pandoc.list:new). ## Metamethods [`pandoc.List:__concat (list)`]{#pandoc.list:__concat} : Concatenates two lists. Parameters: `list`: : second list concatenated to the first Returns: a new list containing all elements from list1 and list2 ## Methods [`pandoc.List:clone ()`]{#pandoc.list:clone} : Returns a (shallow) copy of the list. [`pandoc.List:extend (list)`]{#pandoc.list:extend} : Adds the given list to the end of this list. Parameters: `list`: : list to appended [`pandoc.List:find (needle, init)`]{#pandoc.list:find} : Returns the value and index of the first occurrence of the given item. Parameters: `needle`: : item to search for `init`: : index at which the search is started Returns: first item equal to the needle, or nil if no such item exists. [`pandoc.List:find_if (pred, init)`]{#pandoc.list:find_if} : Returns the value and index of the first element for which the predicate holds true. Parameters: `pred`: : the predicate function `init`: : index at which the search is started Returns: first item for which \`test\` succeeds, or nil if no such item exists. [`pandoc.List:filter (pred)`]{#pandoc.list:filter} : Returns a new list containing all items satisfying a given condition. Parameters: `pred`: : condition items must satisfy. Returns: a new list containing all items for which \`test\` was true. [`pandoc.List:includes (needle, init)`]{#pandoc.list:includes} : Checks if the list has an item equal to the given needle. Parameters: `needle`: : item to search for `init`: : index at which the search is started Returns: true if a list item is equal to the needle, false otherwise [`pandoc.List:insert ([pos], value)`]{#pandoc.list:insert} : Inserts element `value` at position `pos` in list, shifting elements to the next-greater indix if necessary. This function is identical to [`table.insert`](https://www.lua.org/manual/5.3/manual.html#6.6). Parameters: `pos`: : index of the new value; defaults to length of the list + 1 `value`: : value to insert into the list [`pandoc.List:map (fn)`]{#pandoc.list:map} : Returns a copy of the current list by applying the given function to all elements. Parameters: `fn`: : function which is applied to all list items. [`pandoc.List:new([table])`]{#pandoc.list:new} : Create a new List. If the optional argument `table` is given, set the metatable of that value to `pandoc.List`. Parameters: `table`: : table which should be treatable as a list; defaults to an empty table Returns: the updated input value [`pandoc.List:remove ([pos])`]{#pandoc.list:remove} : Removes the element at position `pos`, returning the value of the removed element. This function is identical to [`table.remove`](https://www.lua.org/manual/5.3/manual.html#6.6). Parameters: `pos`: : position of the list value that will be remove; defaults to the index of the last element Returns: the removed element [`pandoc.List:sort ([comp])`]{#pandoc.list:sort} : Sorts list elements in a given order, in-place. If `comp` is given, then it must be a function that receives two list elements and returns true when the first element must come before the second in the final order (so that, after the sort, `i < j` implies `not comp(list[j],list[i]))`. If comp is not given, then the standard Lua operator `<` is used instead. Note that the comp function must define a strict partial order over the elements in the list; that is, it must be asymmetric and transitive. Otherwise, no valid sort may be possible. The sort algorithm is not stable: elements considered equal by the given order may have their relative positions changed by the sort. This function is identical to [`table.sort`](https://www.lua.org/manual/5.3/manual.html#6.6). Parameters: `comp`: : Comparison function as described above. # Module pandoc.system Access to system information and functionality. ## Static Fields ### arch {#pandoc.system.arch} The machine architecture on which the program is running. ### os {#pandoc.system.os} The operating system on which the program is running. ## Functions ### environment {#pandoc.system.environment} `environment ()` Retrieve the entire environment as a string-indexed table. Returns: - A table mapping environment variables names to their string value (table). ### get\_working\_directory {#pandoc.system.get_working_directory} `get_working_directory ()` Obtain the current working directory as an absolute path. Returns: - The current working directory (string). ### with\_environment {#pandoc.system.with_environment} `with_environment (environment, callback)` Run an action within a custom environment. Only the environment variables given by `environment` will be set, when `callback` is called. The original environment is restored after this function finishes, even if an error occurs while running the callback action. Parameters: `environment` : Environment variables and their values to be set before running `callback`. (table with string keys and string values) `callback` : Action to execute in the custom environment (function) Returns: - The result(s) of the call to `callback` ### with\_temporary\_directory {#pandoc.system.with_temporary_directory} `with_temporary_directory ([parent_dir,] templ, callback)` Create and use a temporary directory inside the given directory. The directory is deleted after the callback returns. Parameters: `parent_dir` : Parent directory to create the directory in (string). If this parameter is omitted, the system's canonical temporary directory is used. `templ` : Directory name template (string). `callback` : Function which takes the name of the temporary directory as its first argument (function). Returns: - The result of the call to `callback`. ### with\_working\_directory {#pandoc.system.with_working_directory} `with_working_directory (directory, callback)` Run an action within a different directory. This function will change the working directory to `directory`, execute `callback`, then switch back to the original working directory, even if an error occurs while running the callback action. Parameters: `directory` : Directory in which the given `callback` should be executed (string) `callback` : Action to execute in the given directory (function) Returns: - The result(s) of the call to `callback` # Module pandoc.types Constructors for types which are not part of the pandoc AST. ### Version {#pandoc.types.version} `Version (version_specifier)` Creates a Version object. Parameters: `version_specifier`: : Version specifier: this can be a version string like `'2.7.3'`, a list of integers like `{2, 7, 3}`, a single integer, or a [Version]. Returns: - A new [Version] object. pandoc-2.9.2.1/doc/org.md000066400000000000000000000132441363630463000150150ustar00rootroot00000000000000--- title: Org-mode features and differences author: Albert Krewinkel --- Pandoc's handling of org files is similar to that of Emacs org-mode. This document aims to highlight the cases where this is not possible or just not the case yet. Export options ============== The following export keywords are supported: - AUTHOR: comma-separated list of author(s); fully supported. - CREATOR: output generator; passed as metadata entry, but ignored by most output formats. - DATE: creation or publication date; well supported by pandoc. - EMAIL: author email address; passed as metadata entry, but not included in most output formats. - LANGUAGE: currently unsupported; use `#+LANG:` instead. - SELECT_TAGS: tags which select a tree for export. Currently *unsupported*. - EXCLUDE\_TAGS: tags which prevent a subtree from being exported. Fully supported. - TITLE: document title; fully supported. - EXPORT\_FILE\_NAME: target filename; *unsupported*, the output defaults to stdout unless a target has to be given as a command line option. Citations ========= Emacs org-mode lacks an official citation syntax, leading to multiple syntaxes coexisting. Pandoc recognizes four different syntaxes for citations. Citation support for org-mode is enabled by default. Support can be toggled off by disabling the `citation` extension; e.g. `pandoc --from=org-citations`. Berkeley-style citations ------------------------ The semi-official Org-mode citation syntax was designed by Richard Lawrence with additions by contributors on the [emacs-orgmode mailing list]. It is based on John MacFarlane's pandoc Markdown syntax. It's dubbed Berkeley syntax due the place of activity of its creators, both philosophers at UC Berkeley. ### Simple in-text citation This is the simplest form of citation. It consists of the citation ID prefixed by '@'. Example: @WatsonCrick1953 showed that DNA forms a double-helix. ### In-text citation list Citations presented in the text unparenthesized are called *in-text citations*. The syntax for these citations is [cite: PREFIX; INDIVIDUAL-REFERENCE; ... INDIVIDUAL-REFERENCE; SUFFIX] where the initial PREFIX and final SUFFIX are optional. At least one INDIVIDUAL-REFERENCE must be present. The colon and semicolons here are literal and indicate the end of the TAG and the end of a PREFIX or INDIVIDUAL-REFERENCE respectively. An INDIVIDUAL-REFERENCE has the format: PREFIX KEY SUFFIX The KEY is obligatory, and the prefix and suffix are optional. A PREFIX or SUFFIX is arbitrary text (except `;`, `]`, and citation keys). Example: [cite: See; @Mandelkern1981; and @Watson1953] ### Parenthetical citation Citations surrounded by parantheses. The syntax is identical to in-text citations, except for the additional parentheses enclosing the initial `cite` tag. [(cite): See; @Mandelkern1981; and @Watson1953] [emacs-orgmode mailing list]: https://lists.gnu.org/archive/html/emacs-orgmode/2015-02/msg00932.html org-ref citations ----------------- The [org-ref] package by [John Kitchen] is in wide use to handle citations and has excellent tooling support in Emacs. Its citation syntax is geared towards users in the natural sciences but still very flexible regardless. cite:doe_john_2000 citep:doe_jane_1989 [[citep:Dominik201408][See page 20 of::, for example]] Pandoc-Markdown-like syntax --------------------------- Historically, Markdown-style citations syntax was the first that was added to pandoc's org reader. It is close to Markdown's citation syntax. Citations go inside square brackets and are separated by semicolons. Each citation must have a key, composed of '@' plus the citation identifier from the database, and may optionally have a prefix, a locator, and a suffix. The citation key must begin with a letter, digit, or `_`, and may contain alphanumerics, `_`, and internal punctuation characters (`:.#$%&-+?<>~/`). Here are some examples: ### Simple citation The simplest method to insert a citation is to write the citation ID prefixed by '@'. Example: [prefix @citekey suffix] [see @doe2000 pp. 23-42] [@doe2000 p. 5; to a lesser extend @doe2005] LaTeX-Syntax ------------ Use normal latex citation commands like `\cite{x}` or `\citet{y}`. [org-ref]: https://github.com/jkitchin/org-ref [John Kitchen]: https://kitchingroup.cheme.cmu.edu/ Emphasis rules ============== Org-mode uses complex rules to decide whether a string represents emphasized text. In Emacs, this can be customized via the variable `org-emphasis-regexp-components`. A variable like this doesn't fit well with pandoc's model. Instead, it is possible to use special lines to change these values: #+pandoc-emphasis-pre: "-\t ('\"{" #+pandoc-emphasis-post: "-\t\n .,:!?;'\")}[" The above describes the default values of these variables. The arguments must be valid (Haskell) strings. If interpretation of the argument as string fails, the default is restored. Changing emphasis rules only affect the part of the document following the special lines. They must be some of the first lines to alter parsing behavior for the whole document. It is also possible to change the values temporarily for selected sections only. The string `test` in the following snippet will be read as emphasized text, while the rest of the document will be parsed using default emphasis rules: #+pandoc-emphasis-pre: "[" #+pandoc-emphasis-post: "]" [/test/] #+pandoc-emphasis-pre: #+pandoc-emphasis-post: Currently unsupported features ============================== Library of babel ---------------- The library of babel translates between various programming languages. This is out-of-scope for pandoc. Use Emacs to run code, then feed the resulting org file to pandoc. pandoc-2.9.2.1/doc/using-the-pandoc-api.md000066400000000000000000000411261363630463000201420ustar00rootroot00000000000000% Using the pandoc API % John MacFarlane Pandoc can be used as a Haskell library, to write your own conversion tools or power a web application. This document offers an introduction to using the pandoc API. Detailed API documentation at the level of individual functions and types is available at . # Pandoc's architecture Pandoc is structured as a set of *readers*, which translate various input formats into an abstract syntax tree (the Pandoc AST) representing a structured document, and a set of *writers*, which render this AST into various input formats. Pictorially: ``` [input format] ==reader==> [Pandoc AST] ==writer==> [output format] ``` This architecture allows pandoc to perform $M \times N$ conversions with $M$ readers and $N$ writers. The Pandoc AST is defined in the [pandoc-types](https://hackage.haskell.org/package/pandoc-types) package. You should start by looking at the Haddock documentation for [Text.Pandoc.Definition]. As you'll see, a `Pandoc` is composed of some metadata and a list of `Block`s. There are various kinds of `Block`, including `Para` (paragraph), `Header` (section heading), and `BlockQuote`. Some of the `Block`s (like `BlockQuote`) contain lists of `Block`s, while others (like `Para`) contain lists of `Inline`s, and still others (like `CodeBlock`) contain plain text or nothing. `Inline`s are the basic elements of paragraphs. The distinction between `Block` and `Inline` in the type system makes it impossible to represent, for example, a link (`Inline`) whose link text is a block quote (`Block`). This expressive limitation is mostly a help rather than a hindrance, since many of the formats pandoc supports have similar limitations. The best way to explore the pandoc AST is to use `pandoc -t native`, which will display the AST corresponding to some Markdown input: ``` % echo -e "1. *foo*\n2. bar" | pandoc -t native [OrderedList (1,Decimal,Period) [[Plain [Emph [Str "foo"]]] ,[Plain [Str "bar"]]]] ``` # A simple example Here is a simple example of the use of a pandoc reader and writer to perform a conversion: ```haskell import Text.Pandoc import qualified Data.Text as T import qualified Data.Text.IO as TIO main :: IO () main = do result <- runIO $ do doc <- readMarkdown def (T.pack "[testing](url)") writeRST def doc rst <- handleError result TIO.putStrLn rst ``` Some notes: 1. The first part constructs a conversion pipeline: the input string is passed to `readMarkdown`, and the resulting Pandoc AST (`doc`) is then rendered by `writeRST`. The conversion pipeline is "run" by `runIO`---more on that below. 2. `result` has the type `Either PandocError Text`. We could pattern-match on this manually, but it's simpler in this context to use the `handleError` function from Text.Pandoc.Error. This exits with an appropriate error code and message if the value is a `Left`, and returns the `Text` if the value is a `Right`. # The PandocMonad class Let's look at the types of `readMarkdown` and `writeRST`: ```haskell readMarkdown :: PandocMonad m => ReaderOptions -> Text -> m Pandoc writeRST :: PandocMonad m => WriterOptions -> Pandoc -> m Text ``` The `PandocMonad m =>` part is a typeclass constraint. It says that `readMarkdown` and `writeRST` define computations that can be used in any instance of the `PandocMonad` type class. `PandocMonad` is defined in the module [Text.Pandoc.Class]. Two instances of `PandocMonad` are provided: `PandocIO` and `PandocPure`. The difference is that computations run in `PandocIO` are allowed to do IO (for example, read a file), while computations in `PandocPure` are free of any side effects. `PandocPure` is useful for sandboxed environments, when you want to prevent users from doing anything malicious. To run the conversion in `PandocIO`, use `runIO` (as above). To run it in `PandocPure`, use `runPure`. As you can see from the Haddocks, [Text.Pandoc.Class] exports many auxiliary functions that can be used in any instance of `PandocMonad`. For example: ```haskell -- | Get the verbosity level. getVerbosity :: PandocMonad m => m Verbosity -- | Set the verbosity level. setVerbosity :: PandocMonad m => Verbosity -> m () -- Get the accomulated log messages (in temporal order). getLog :: PandocMonad m => m [LogMessage] getLog = reverse <$> getsCommonState stLog -- | Log a message using 'logOutput'. Note that 'logOutput' is -- called only if the verbosity level exceeds the level of the -- message, but the message is added to the list of log messages -- that will be retrieved by 'getLog' regardless of its verbosity level. report :: PandocMonad m => LogMessage -> m () -- | Fetch an image or other item from the local filesystem or the net. -- Returns raw content and maybe mime type. fetchItem :: PandocMonad m => String -> m (B.ByteString, Maybe MimeType) -- Set the resource path searched by 'fetchItem'. setResourcePath :: PandocMonad m => [FilePath] -> m () ``` If we wanted more verbose informational messages during the conversion we defined in the previous section, we could do this: ```haskell result <- runIO $ do setVerbosity INFO doc <- readMarkdown def (T.pack "[testing](url)") writeRST def doc ``` Note that `PandocIO` is an instance of `MonadIO`, so you can use `liftIO` to perform arbitrary IO operations inside a pandoc conversion chain. # Options The first argument of each reader or writer is for options controlling the behavior of the reader or writer: `ReaderOptions` for readers and `WriterOptions` for writers. These are defined in [Text.Pandoc.Options]. It is a good idea to study these options to see what can be adjusted. `def` (from Data.Default) denotes a default value for each kind of option. (You can also use `defaultWriterOptions` and `defaultReaderOptions`.) Generally you'll want to use the defaults and modify them only when needed, for example: ```haskell writeRST def{ writerReferenceLinks = True } ``` Some particularly important options to know about: 1. `writerTemplate`: By default, this is `Nothing`, which means that a document fragment will be produced. If you want a full document, you need to specify `Just template`, where `template` is a String containing the template's contents (not the path). 2. `readerExtensions` and `writerExtensions`: These specify the extensions to be used in parsing and rendering. Extensions are defined in [Text.Pandoc.Extensions]. # Builder Sometimes it's useful to construct a Pandoc document programmatically. To make this easier we provide the module [Text.Pandoc.Builder] `pandoc-types`. Because concatenating lists is slow, we use special types `Inlines` and `Blocks` that wrap a `Sequence` of `Inline` and `Block` elements. These are instances of the Monoid typeclass and can easily be concatenated: ```haskell import Text.Pandoc.Builder mydoc :: Pandoc mydoc = doc $ header 1 (text "Hello!") <> para (emph (text "hello world") <> text ".") main :: IO () main = print mydoc ``` If you use the `OverloadedStrings` pragma, you can simplify this further: ```haskell mydoc = doc $ header 1 "Hello!" <> para (emph "hello world" <> ".") ``` Here's a more realistic example. Suppose your boss says: write me a letter in Word listing all the filling stations in Chicago that take the Voyager card. You find some JSON data in this format (`fuel.json`): ```json [ { "state" : "IL", "city" : "Chicago", "fuel_type_code" : "CNG", "zip" : "60607", "station_name" : "Clean Energy - Yellow Cab", "cards_accepted" : "A D M V Voyager Wright_Exp CleanEnergy", "street_address" : "540 W Grenshaw" }, ... ``` And then use aeson and pandoc to parse the JSON and create the Word document: ```haskell {-# LANGUAGE OverloadedStrings #-} import Text.Pandoc.Builder import Text.Pandoc import Data.Monoid ((<>), mempty, mconcat) import Data.Aeson import Control.Applicative import Control.Monad (mzero) import qualified Data.ByteString.Lazy as BL import qualified Data.Text as T import Data.List (intersperse) data Station = Station{ address :: String , name :: String , cardsAccepted :: [String] } deriving Show instance FromJSON Station where parseJSON (Object v) = Station <$> v .: "street_address" <*> v .: "station_name" <*> (words <$> (v .:? "cards_accepted" .!= "")) parseJSON _ = mzero createLetter :: [Station] -> Pandoc createLetter stations = doc $ para "Dear Boss:" <> para "Here are the CNG stations that accept Voyager cards:" <> simpleTable [plain "Station", plain "Address", plain "Cards accepted"] (map stationToRow stations) <> para "Your loyal servant," <> plain (image "JohnHancock.png" "" mempty) where stationToRow station = [ plain (text $ name station) , plain (text $ address station) , plain (mconcat $ intersperse linebreak $ map text $ cardsAccepted station) ] main :: IO () main = do json <- BL.readFile "fuel.json" let letter = case decode json of Just stations -> createLetter [s | s <- stations, "Voyager" `elem` cardsAccepted s] Nothing -> error "Could not decode JSON" docx <- runIO (writeDocx def letter) >>= handleError BL.writeFile "letter.docx" docx putStrLn "Created letter.docx" ``` Voila! You've written the letter without using Word and without looking at the data. # Data files Pandoc has a number of data files, which can be found in the `data/` subdirectory of the repository. These are installed with pandoc (or, if pandoc was compiled with the `embed_data_files` flag, they are embedded in the binary). You can retrieve data files using `readDataFile` from Text.Pandoc.Class. `readDataFile` will first look for the file in the "user data directory" (`setUserDataDir`, `getUserDataDir`), and if it is not found there, it will return the default installed with the system. To force the use of the default, `setUserDataDir Nothing`. # Templates Pandoc has its own template system, described in the User's Guide. To retrieve the default template for a system, use `getDefaultTemplate` from [Text.Pandoc.Templates]. Note that this looks first in the `templates` subdirectory of the user data directory, allowing users to override the system defaults. If you want to disable this behavior, use `setUserDataDir Nothing`. To render a template, use `renderTemplate'`, which takes two arguments, a template (String) and a context (any instance of ToJSON). If you want to create a context from the metadata part of a Pandoc document, use `metaToJSON'` from [Text.Pandoc.Writers.Shared]. If you also want to incorporate values from variables, use `metaToJSON` instead, and make sure `writerVariables` is set in `WriterOptions`. # Handling errors and warnings `runIO` and `runPure` return an `Either PandocError a`. All errors raised in running a `PandocMonad` computation will be trapped and returned as a `Left` value, so they can be handled by the calling program. To see the constructors for `PandocError`, see the documentation for [Text.Pandoc.Error]. To raise a `PandocError` from inside a `PandocMonad` computation, use `throwError`. In addition to errors, which stop execution of the conversion pipeline, one can generate informational messages. Use `report` from [Text.Pandoc.Class] to issue a `LogMessage`. For a list of cosntructors for `LogMessage`, see [Text.Pandoc.Logging]. Note that each type of log message is associated with a verbosity level. The verbosity level (`setVerbosity`/`getVerbosity`) determines whether the report will be printed to stderr (when running in `PandocIO`), but regardless of verbosity level, all reported messages are stored internally and may be retrieved using `getLog`. # Walking the AST It is often useful to walk the Pandoc AST either to extract information (e.g., what are all the URLs linked to in this document?, do all the code samples compile?) or to transform a document (e.g., increase the level of every section header, remove emphasis, or replace specially marked code blocks with images). To make this easier and more efficient, `pandoc-types` includes a module [Text.Pandoc.Walk]. Here's the essential documentation: ```haskell class Walkable a b where -- | @walk f x@ walks the structure @x@ (bottom up) and replaces every -- occurrence of an @a@ with the result of applying @f@ to it. walk :: (a -> a) -> b -> b walk f = runIdentity . walkM (return . f) -- | A monadic version of 'walk'. walkM :: (Monad m, Functor m) => (a -> m a) -> b -> m b -- | @query f x@ walks the structure @x@ (bottom up) and applies @f@ -- to every @a@, appending the results. query :: Monoid c => (a -> c) -> b -> c ``` `Walkable` instances are defined for most combinations of Pandoc types. For example, the `Walkable Inline Block` instance allows you to take a function `Inline -> Inline` and apply it over every inline in a `Block`. And `Walkable [Inline] Pandoc` allows you to take a function `[Inline] -> [Inline]` and apply it over every maximal list of `Inline`s in a `Pandoc`. Here's a simple example of a function that promotes the levels of headers: ```haskell promoteHeaderLevels :: Pandoc -> Pandoc promoteHeaderLevels = walk promote where promote :: Block -> Block promote (Header lev attr ils) = Header (lev + 1) attr ils promote x = x ``` `walkM` is a monadic version of `walk`; it can be used, for example, when you need your transformations to perform IO operations, use PandocMonad operations, or update internal state. Here's an example using the State monad to add unique identifiers to each code block: ```haskell addCodeIdentifiers :: Pandoc -> Pandoc addCodeIdentifiers doc = evalState (walkM addCodeId doc) 1 where addCodeId :: Block -> State Int Block addCodeId (CodeBlock (_,classes,kvs) code) = do curId <- get put (curId + 1) return $ CodeBlock (show curId,classes,kvs) code addCodeId x = return x ``` `query` is used to collect information from the AST. Its argument is a query function that produces a result in some monoidal type (e.g. a list). The results are concatenated together. Here's an example that returns a list of the URLs linked to in a document: ```haskell listURLs :: Pandoc -> [String] listURLs = query urls where urls (Link _ _ (src, _)) = [src] urls _ = [] ``` # Creating a front-end All of the functionality of the command-line program `pandoc` has been abstracted out in `convertWithOpts` in the module [Text.Pandoc.App]. Creating a GUI front-end for pandoc is thus just a matter of populating the `Opts` structure and calling this function. # Notes on using pandoc in web applications 1. Pandoc's parsers can exhibit pathological behavior on some inputs. So it is always a good idea to wrap uses of pandoc in a timeout function (e.g. `System.Timeout.timeout` from `base`) to prevent DOS attacks. 2. If pandoc generates HTML from untrusted user input, it is always a good idea to filter the generated HTML through a sanitizer (such as `xss-sanitize`) to avoid security problems. 3. Using `runPure` rather than `runIO` will ensure that pandoc's functions perform no IO operations (e.g. writing files). If some resources need to be made available, a "fake environment" is provided inside the state available to `runPure` (see `PureState` and its associated functions in [Text.Pandoc.Class]). It is also possible to write a custom instance of `PandocMonad` that, for example, makes wiki resources available as files in the fake environment, while isolating pandoc from the rest of the system. [Text.Pandoc.Definition]: https://hackage.haskell.org/package/pandoc-types/docs/Text-Pandoc-Definition.html [Text.Pandoc.Walk]: https://hackage.haskell.org/package/pandoc-types/docs/Text-Pandoc-Walk.html [Text.Pandoc.Class]: https://hackage.haskell.org/package/pandoc/docs/Text-Pandoc-Class.html [Text.Pandoc.Options]: https://hackage.haskell.org/package/pandoc/docs/Text-Pandoc-Options.html [Text.Pandoc.Extensions]: https://hackage.haskell.org/package/pandoc/docs/Text-Pandoc-Extensions.html [Text.Pandoc.Builder]: https://hackage.haskell.org/package/pandoc-types/docs/Text-Pandoc-Builder.html [Text.Pandoc.Templates]: https://hackage.haskell.org/package/pandoc/docs/Text-Pandoc-Templates.html [Text.Pandoc.Logging]: https://hackage.haskell.org/package/pandoc/docs/Text-Pandoc-Logging.html [Text.Pandoc.App]: https://hackage.haskell.org/package/pandoc/docs/Text-Pandoc-App.html [Text.Pandoc.Error]: https://hackage.haskell.org/package/pandoc/docs/Text-Pandoc-Error.html [Text.Pandoc.Writers.Shared]: https://hackage.haskell.org/package/pandoc/docs/Text-Pandoc-Writers-Shared.html pandoc-2.9.2.1/linux/000077500000000000000000000000001363630463000142725ustar00rootroot00000000000000pandoc-2.9.2.1/linux/Dockerfile000066400000000000000000000017021363630463000162640ustar00rootroot00000000000000# USE ALPINE LINUX FROM alpine:3.11 RUN apk --no-cache add \ alpine-sdk \ bash \ ca-certificates \ cabal \ dpkg \ fakeroot \ ghc \ git \ gmp-dev \ xz \ zlib-dev \ zlib-static RUN mkdir -p /usr/src/ && \ git clone https://github.com/jgm/pandoc /usr/src/pandoc WORKDIR /usr/src/pandoc CMD cabal --version && \ ghc --version && \ git pull && \ git checkout -b work $TREE && \ cabal new-update && \ cabal new-clean && \ cabal new-configure --enable-tests -f-export-dynamic -fstatic -fembed_data_files -fbibutils --ghc-options '-optc-Os -optl=-pthread -optl=-static -fPIC -split-sections' . pandoc-citeproc && \ cabal new-build . pandoc-citeproc && \ cabal new-test -j1 . pandoc-citeproc && \ for f in $(find dist-newstyle -name 'pandoc*' -type f -perm +400); do cp $f /artifacts/; done && \ bash linux/make_deb.sh && \ bash linux/make_tarball.sh pandoc-2.9.2.1/linux/Makefile000066400000000000000000000006251363630463000157350ustar00rootroot00000000000000TREE?=HEAD ARTIFACTS=`pwd`/artifacts REVISION?=1 build: mkdir -p $(ARTIFACTS) docker build -t alpine-pandoc . docker run --env TREE=$(TREE) --env REVISION=$(REVISION) \ -v $(ARTIFACTS):/artifacts alpine-pandoc interact: docker run --env TREE=$(TREE) --env REVISION=$(REVISION) \ -v $(ARTIFACTS):/artifacts -it alpine-pandoc bash setup: docker pull alpine:edge .PHONY: build setup interact pandoc-2.9.2.1/linux/control.in000066400000000000000000000022251363630463000163030ustar00rootroot00000000000000Package: pandoc Version: VERSION Section: text Priority: optional Architecture: ARCHITECTURE Installed-Size: INSTALLED_SIZE Depends: libc6 (>= 2.13), libgmp10, zlib1g (>= 1:1.1.4) Replaces: pandoc-data, pandoc-citeproc Suggests: texlive-latex-recommended, texlive-xetex, texlive-fonts-recommended Maintainer: John MacFarlane Description: general markup converter Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can read several dialects of Markdown and (subsets of) HTML, reStructuredText, LaTeX, DocBook, MediaWiki markup, TWiki markup, TikiWiki markup, Haddock markup, OPML, Emacs Org-Mode, txt2tags, Muse, Vimwiki, Word Docx, ODT, and Textile, and it can write Markdown, reStructuredText, XHTML, HTML 5, LaTeX, ConTeXt, DocBook, JATS, OPML, TEI, OpenDocument, ODT, Word docx, RTF, MediaWiki, DokuWiki, ZimWiki, Textile, groff man, groff ms, plain text, Emacs Org-Mode, AsciiDoc, Haddock markup, EPUB (v2 and v3), FictionBook2, InDesign ICML, Muse, and several kinds of HTML/JavaScript slide shows (S5, Slidy, Slideous, DZSlides, reveal.js). pandoc-2.9.2.1/linux/make_deb.sh000077500000000000000000000026311363630463000163620ustar00rootroot00000000000000set -e MACHINE=$(uname -m) case "$MACHINE" in x86_64) ARCHITECTURE=amd64;; i686) ARCHITECTURE=i386;; i386) ARCHITECTURE=i386;; esac ARTIFACTS="${ARTIFACTS:-/artifacts}" VERSION=`$ARTIFACTS/pandoc --version | awk '{print $2; exit;}'` REVISION=${REVISION:-1} DEBVER=$VERSION-$REVISION BASE=pandoc-$DEBVER-$ARCHITECTURE DIST=`pwd`/$BASE DEST=$DIST/usr COPYRIGHT=$DEST/share/doc/pandoc/copyright PANDOC_CITEPROC_VERSION=`$ARTIFACTS/pandoc-citeproc --version | awk '{print $2;}'` mkdir -p $DEST/bin mkdir -p $DEST/share/man/man1 mkdir -p $DEST/share/doc/pandoc mkdir -p $DEST/share/doc/pandoc-citeproc find $DIST -type d | xargs chmod 755 cp $ARTIFACTS/pandoc $DEST/bin/ cp $ARTIFACTS/pandoc-citeproc $DEST/bin/ strip $DEST/bin/pandoc strip $DEST/bin/pandoc-citeproc cp man/pandoc.1 $DEST/share/man/man1/pandoc.1 $ARTIFACTS/pandoc-citeproc --man > $DEST/share/man/man1/pandoc-citeproc.1 gzip -9 $DEST/share/man/man1/pandoc.1 gzip -9 $DEST/share/man/man1/pandoc-citeproc.1 cp COPYRIGHT $COPYRIGHT echo "" >> $COPYRIGHT echo "pandoc-citeproc" >> $COPYRIGHT $ARTIFACTS/pandoc-citeproc --license >> $COPYRIGHT INSTALLED_SIZE=$(du -k -s $DEST | awk '{print $1}') mkdir $DIST/DEBIAN perl -pe "s/VERSION/$DEBVER/" linux/control.in | \ perl -pe "s/ARCHITECTURE/$ARCHITECTURE/" | \ perl -pe "s/INSTALLED_SIZE/$INSTALLED_SIZE/" \ > $DIST/DEBIAN/control fakeroot dpkg-deb --build $DIST rm -rf $DIST cp $BASE.deb $ARTIFACTS/ pandoc-2.9.2.1/linux/make_tarball.sh000066400000000000000000000011471363630463000172470ustar00rootroot00000000000000set -e ARTIFACTS="${ARTIFACTS:-/artifacts}" VERSION=`$ARTIFACTS/pandoc --version | awk '{print $2; exit;}'` TARGET=pandoc-$VERSION cd $ARTIFACTS rm -rf $TARGET mkdir $TARGET mkdir $TARGET/bin $TARGET/share $TARGET/share/man $TARGET/share/man/man1 ./pandoc-citeproc --man > $TARGET/share/man/man1/pandoc-citeproc.1 cp /usr/src/pandoc/man/pandoc.1 $TARGET/share/man/man1 mv pandoc pandoc-citeproc $TARGET/bin strip $TARGET/bin/pandoc strip $TARGET/bin/pandoc-citeproc gzip -9 $TARGET/share/man/man1/pandoc.1 gzip -9 $TARGET/share/man/man1/pandoc-citeproc.1 tar cvzf $TARGET-linux-amd64.tar.gz $TARGET rm -r $TARGET pandoc-2.9.2.1/macos/000077500000000000000000000000001363630463000142355ustar00rootroot00000000000000pandoc-2.9.2.1/macos/Makefile000066400000000000000000000022471363630463000157020ustar00rootroot00000000000000VERSION=$(shell cat version.txt) BASE=pandoc-$(VERSION) DEST=pandoc/usr/local ALL=$(BASE)-macOS.pkg $(BASE)-macOS.zip all: $(ALL) notarize signed.txt: $(DEST) chmod +x $(DEST)/bin/pandoc $(DEST)/bin/pandoc-citeproc codesign --force --options runtime -s "5U2WKE6DES" $(DEST)/bin/pandoc codesign --force --options runtime -s "5U2WKE6DES" $(DEST)/bin/pandoc-citeproc echo "SIGNED" > signed.txt pandoc.pkg: signed.txt pkgbuild --root pandoc --identifier net.johnmacfarlane.pandoc --version $(VERSION) --ownership recommended $@ $(BASE)-macOS.pkg: pandoc.pkg productbuild --distribution distribution.xml --resources Resources --package-path $< --version $(VERSION) --sign 'Developer ID Installer: John Macfarlane' $@ $(BASE)-macOS.zip: signed.txt ln -s $(DEST) $(BASE) zip -r $@ $(BASE) gon.hcl: version.txt echo "notarize {\n path = \"$(BASE)-macOS.pkg\"\n bundle_id = \"org.pandoc.pandoc\"\n staple = true\n}\napple_id {\n username = \"jgm@berkeley.edu\"\n password = \"@env:AC_PASSWORD\"\n}" > $@ notarize: gon.hcl $(BASE)-macOS.pkg gon -log-level=warn ./gon.hcl clean: rm signed.txt $(BASE) pandoc.pkg gon.hcl distclean: clean rm $(ALL) .PHONY: all clean distclean pandoc-2.9.2.1/macos/distribution.xml.in000066400000000000000000000024351363630463000201070ustar00rootroot00000000000000 pandoc net.johnmacfarlane.pandoc pandoc.pkg pandoc-2.9.2.1/macos/uninstall-pandoc.pl000077500000000000000000000042171363630463000200540ustar00rootroot00000000000000#!/usr/bin/perl # Script to remove all files installed by the macOS pandoc installer # and unregister the package. Modified from a script contributed # by Daniel T. Staal. use warnings; use strict; use File::Spec; # The main info: this is the list of files to remove and the pkg_id. my $pkg_id = 'net.johnmacfarlane.pandoc'; # Find which, if any, volume Pandoc is installed on. my $volume; # First check /, then other volumes on the box. my $cur_test = `pkgutil --pkgs=$pkg_id`; if ( $cur_test =~ m/$pkg_id/ ) { $volume = '/'; } else { opendir( my $dh, '/Volumes' ) or die "Can't list Volumes: $!\n"; foreach my $dir ( readdir($dh) ) { next if $dir =~ m/^\./; # Skip dotfiles. my $path = File::Spec->rel2abs( $dir, '/Volumes' ); next if !( -d $path ); # Skip anything that isn't a directory. my $cur_test = `pkgutil --pkgs=$pkg_id --volume '$path'`; if ( $cur_test =~ m/$pkg_id/ ) { $volume = $path; last; } } } die "Pandoc not installed.\n" if !( defined($volume) ); # Get the list of files to remove. my @pkg_files = `pkgutil --volume '$volume' --only-files --files '$pkg_id'`; @pkg_files = map { chomp; File::Spec->rel2abs($_, $volume) } @pkg_files; # Confirm uninistall with the user. print "The following files will be deleted:\n\n"; print join("\n", @pkg_files); print "\n\n"; print "Do you want to proceed and uninstall pandoc (Y/N)?"; my $input = ; if ($input =~ m/^[Yy]/) { # Actually remove the files. foreach my $file (@pkg_files) { if ( -e $file ) { if ( system( 'sudo', 'rm', $file ) == 0 ) { warn "Deleted $file\n"; } else { warn "Unable to delete $file: $?\n"; die "Aborting Uninstall.\n"; } } else { warn "File $file does not exist. Skipping.\n"; } } # Clean up the install. if (system('sudo', 'pkgutil', '--forget', $pkg_id, '--volume', $volume) != 0) { die "Unable to clean up install: $?\n"; } } else { print "OK, aborting uninstall.\n"; exit; } print "Pandoc has been successfully uninstalled.\n"; exit; pandoc-2.9.2.1/man/000077500000000000000000000000001363630463000137065ustar00rootroot00000000000000pandoc-2.9.2.1/man/manfilter.lua000066400000000000000000000006711363630463000163760ustar00rootroot00000000000000-- we use preloaded text to get a UTF-8 aware 'upper' function local text = require('text') -- capitalize level 1 headers function Header(el) if el.level == 1 then return pandoc.walk_block(el, { Str = function(el) return pandoc.Str(text.upper(el.text)) end }) end end -- replace links with link text function Link(el) return el.content end -- remove notes function Note(el) return {} end pandoc-2.9.2.1/man/pandoc.1000066400000000000000000006405561363630463000152540ustar00rootroot00000000000000.\"t .\" Automatically generated by Pandoc 2.9.2 .\" .TH "Pandoc User\[aq]s Guide" "" "March 23, 2020" "pandoc 2.9.2.1" "" .hy .SH NAME pandoc - general markup converter .SH SYNOPSIS .PP \f[C]pandoc\f[R] [\f[I]options\f[R]] [\f[I]input-file\f[R]]... .SH DESCRIPTION .PP Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. .PP Pandoc can convert between numerous markup and word processing formats, including, but not limited to, various flavors of Markdown, HTML, LaTeX and Word docx. For the full lists of input and output formats, see the \f[C]--from\f[R] and \f[C]--to\f[R] options below. Pandoc can also produce PDF output: see creating a PDF, below. .PP Pandoc\[aq]s enhanced version of Markdown includes syntax for tables, definition lists, metadata blocks, footnotes, citations, math, and much more. See below under Pandoc\[aq]s Markdown. .PP Pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document (an \f[I]abstract syntax tree\f[R] or AST), and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer. Users can also run custom pandoc filters to modify the intermediate AST. .PP Because pandoc\[aq]s intermediate representation of a document is less expressive than many of the formats it converts between, one should not expect perfect conversions between every format and every other. Pandoc attempts to preserve the structural elements of a document, but not formatting details such as margin size. And some document elements, such as complex tables, may not fit into pandoc\[aq]s simple document model. While conversions from pandoc\[aq]s Markdown to all formats aspire to be perfect, conversions from formats more expressive than pandoc\[aq]s Markdown can be expected to be lossy. .SS Using pandoc .PP If no \f[I]input-files\f[R] are specified, input is read from \f[I]stdin\f[R]. Output goes to \f[I]stdout\f[R] by default. For output to a file, use the \f[C]-o\f[R] option: .IP .nf \f[C] pandoc -o output.html input.txt \f[R] .fi .PP By default, pandoc produces a document fragment. To produce a standalone document (e.g. a valid HTML file including \f[C]\f[R] and \f[C]\f[R]), use the \f[C]-s\f[R] or \f[C]--standalone\f[R] flag: .IP .nf \f[C] pandoc -s -o output.html input.txt \f[R] .fi .PP For more information on how standalone documents are produced, see Templates below. .PP If multiple input files are given, \f[C]pandoc\f[R] will concatenate them all (with blank lines between them) before parsing. (Use \f[C]--file-scope\f[R] to parse files individually.) .SS Specifying formats .PP The format of the input and output can be specified explicitly using command-line options. The input format can be specified using the \f[C]-f/--from\f[R] option, the output format using the \f[C]-t/--to\f[R] option. Thus, to convert \f[C]hello.txt\f[R] from Markdown to LaTeX, you could type: .IP .nf \f[C] pandoc -f markdown -t latex hello.txt \f[R] .fi .PP To convert \f[C]hello.html\f[R] from HTML to Markdown: .IP .nf \f[C] pandoc -f html -t markdown hello.html \f[R] .fi .PP Supported input and output formats are listed below under Options (see \f[C]-f\f[R] for input formats and \f[C]-t\f[R] for output formats). You can also use \f[C]pandoc --list-input-formats\f[R] and \f[C]pandoc --list-output-formats\f[R] to print lists of supported formats. .PP If the input or output format is not specified explicitly, \f[C]pandoc\f[R] will attempt to guess it from the extensions of the filenames. Thus, for example, .IP .nf \f[C] pandoc -o hello.tex hello.txt \f[R] .fi .PP will convert \f[C]hello.txt\f[R] from Markdown to LaTeX. If no output file is specified (so that output goes to \f[I]stdout\f[R]), or if the output file\[aq]s extension is unknown, the output format will default to HTML. If no input file is specified (so that input comes from \f[I]stdin\f[R]), or if the input files\[aq] extensions are unknown, the input format will be assumed to be Markdown. .SS Character encoding .PP Pandoc uses the UTF-8 character encoding for both input and output. If your local character encoding is not UTF-8, you should pipe input and output through \f[C]iconv\f[R]: .IP .nf \f[C] iconv -t utf-8 input.txt | pandoc | iconv -f utf-8 \f[R] .fi .PP Note that in some output formats (such as HTML, LaTeX, ConTeXt, RTF, OPML, DocBook, and Texinfo), information about the character encoding is included in the document header, which will only be included if you use the \f[C]-s/--standalone\f[R] option. .SS Creating a PDF .PP To produce a PDF, specify an output file with a \f[C].pdf\f[R] extension: .IP .nf \f[C] pandoc test.txt -o test.pdf \f[R] .fi .PP By default, pandoc will use LaTeX to create the PDF, which requires that a LaTeX engine be installed (see \f[C]--pdf-engine\f[R] below). Alternatively, pandoc can use ConTeXt, roff ms, or HTML as an intermediate format. To do this, specify an output file with a \f[C].pdf\f[R] extension, as before, but add the \f[C]--pdf-engine\f[R] option or \f[C]-t context\f[R], \f[C]-t html\f[R], or \f[C]-t ms\f[R] to the command line. The tool used to generate the PDF from the intermediate format may be specified using \f[C]--pdf-engine\f[R]. .PP You can control the PDF style using variables, depending on the intermediate format used: see variables for LaTeX, variables for ConTeXt, variables for \f[C]wkhtmltopdf\f[R], variables for ms. When HTML is used as an intermediate format, the output can be styled using \f[C]--css\f[R]. .PP To debug the PDF creation, it can be useful to look at the intermediate representation: instead of \f[C]-o test.pdf\f[R], use for example \f[C]-s -o test.tex\f[R] to output the generated LaTeX. You can then test it with \f[C]pdflatex test.tex\f[R]. .PP When using LaTeX, the following packages need to be available (they are included with all recent versions of TeX Live): \f[C]amsfonts\f[R], \f[C]amsmath\f[R], \f[C]lm\f[R], \f[C]unicode-math\f[R], \f[C]ifxetex\f[R], \f[C]ifluatex\f[R], \f[C]listings\f[R] (if the \f[C]--listings\f[R] option is used), \f[C]fancyvrb\f[R], \f[C]longtable\f[R], \f[C]booktabs\f[R], \f[C]graphicx\f[R] (if the document contains images), \f[C]hyperref\f[R], \f[C]xcolor\f[R], \f[C]ulem\f[R], \f[C]geometry\f[R] (with the \f[C]geometry\f[R] variable set), \f[C]setspace\f[R] (with \f[C]linestretch\f[R]), and \f[C]babel\f[R] (with \f[C]lang\f[R]). The use of \f[C]xelatex\f[R] or \f[C]lualatex\f[R] as the PDF engine requires \f[C]fontspec\f[R]. \f[C]xelatex\f[R] uses \f[C]polyglossia\f[R] (with \f[C]lang\f[R]), \f[C]xecjk\f[R], and \f[C]bidi\f[R] (with the \f[C]dir\f[R] variable set). If the \f[C]mathspec\f[R] variable is set, \f[C]xelatex\f[R] will use \f[C]mathspec\f[R] instead of \f[C]unicode-math\f[R]. The \f[C]upquote\f[R] and \f[C]microtype\f[R] packages are used if available, and \f[C]csquotes\f[R] will be used for typography if the \f[C]csquotes\f[R] variable or metadata field is set to a true value. The \f[C]natbib\f[R], \f[C]biblatex\f[R], \f[C]bibtex\f[R], and \f[C]biber\f[R] packages can optionally be used for citation rendering. The following packages will be used to improve output quality if present, but pandoc does not require them to be present: \f[C]upquote\f[R] (for straight quotes in verbatim environments), \f[C]microtype\f[R] (for better spacing adjustments), \f[C]parskip\f[R] (for better inter-paragraph spaces), \f[C]xurl\f[R] (for better line breaks in URLs), \f[C]bookmark\f[R] (for better PDF bookmarks), and \f[C]footnotehyper\f[R] or \f[C]footnote\f[R] (to allow footnotes in tables). .SS Reading from the Web .PP Instead of an input file, an absolute URI may be given. In this case pandoc will fetch the content using HTTP: .IP .nf \f[C] pandoc -f html -t markdown https://www.fsf.org \f[R] .fi .PP It is possible to supply a custom User-Agent string or other header when requesting a document from a URL: .IP .nf \f[C] pandoc -f html -t markdown --request-header User-Agent:\[dq]Mozilla/5.0\[dq] \[rs] https://www.fsf.org \f[R] .fi .SH OPTIONS .SS General options .TP \f[B]\f[CB]-f\f[B]\f[R] \f[I]FORMAT\f[R], \f[B]\f[CB]-r\f[B]\f[R] \f[I]FORMAT\f[R], \f[B]\f[CB]--from=\f[B]\f[R]\f[I]FORMAT\f[R], \f[B]\f[CB]--read=\f[B]\f[R]\f[I]FORMAT\f[R] Specify input format. \f[I]FORMAT\f[R] can be: .RS .IP \[bu] 2 \f[C]commonmark\f[R] (CommonMark Markdown) .IP \[bu] 2 \f[C]creole\f[R] (Creole 1.0) .IP \[bu] 2 \f[C]csv\f[R] (CSV table) .IP \[bu] 2 \f[C]docbook\f[R] (DocBook) .IP \[bu] 2 \f[C]docx\f[R] (Word docx) .IP \[bu] 2 \f[C]dokuwiki\f[R] (DokuWiki markup) .IP \[bu] 2 \f[C]epub\f[R] (EPUB) .IP \[bu] 2 \f[C]fb2\f[R] (FictionBook2 e-book) .IP \[bu] 2 \f[C]gfm\f[R] (GitHub-Flavored Markdown), or the deprecated and less accurate \f[C]markdown_github\f[R]; use \f[C]markdown_github\f[R] only if you need extensions not supported in \f[C]gfm\f[R]. .IP \[bu] 2 \f[C]haddock\f[R] (Haddock markup) .IP \[bu] 2 \f[C]html\f[R] (HTML) .IP \[bu] 2 \f[C]ipynb\f[R] (Jupyter notebook) .IP \[bu] 2 \f[C]jats\f[R] (JATS XML) .IP \[bu] 2 \f[C]jira\f[R] (Jira wiki markup) .IP \[bu] 2 \f[C]json\f[R] (JSON version of native AST) .IP \[bu] 2 \f[C]latex\f[R] (LaTeX) .IP \[bu] 2 \f[C]markdown\f[R] (Pandoc\[aq]s Markdown) .IP \[bu] 2 \f[C]markdown_mmd\f[R] (MultiMarkdown) .IP \[bu] 2 \f[C]markdown_phpextra\f[R] (PHP Markdown Extra) .IP \[bu] 2 \f[C]markdown_strict\f[R] (original unextended Markdown) .IP \[bu] 2 \f[C]mediawiki\f[R] (MediaWiki markup) .IP \[bu] 2 \f[C]man\f[R] (roff man) .IP \[bu] 2 \f[C]muse\f[R] (Muse) .IP \[bu] 2 \f[C]native\f[R] (native Haskell) .IP \[bu] 2 \f[C]odt\f[R] (ODT) .IP \[bu] 2 \f[C]opml\f[R] (OPML) .IP \[bu] 2 \f[C]org\f[R] (Emacs Org mode) .IP \[bu] 2 \f[C]rst\f[R] (reStructuredText) .IP \[bu] 2 \f[C]t2t\f[R] (txt2tags) .IP \[bu] 2 \f[C]textile\f[R] (Textile) .IP \[bu] 2 \f[C]tikiwiki\f[R] (TikiWiki markup) .IP \[bu] 2 \f[C]twiki\f[R] (TWiki markup) .IP \[bu] 2 \f[C]vimwiki\f[R] (Vimwiki) .PP Extensions can be individually enabled or disabled by appending \f[C]+EXTENSION\f[R] or \f[C]-EXTENSION\f[R] to the format name. See Extensions below, for a list of extensions and their names. See \f[C]--list-input-formats\f[R] and \f[C]--list-extensions\f[R], below. .RE .TP \f[B]\f[CB]-t\f[B]\f[R] \f[I]FORMAT\f[R], \f[B]\f[CB]-w\f[B]\f[R] \f[I]FORMAT\f[R], \f[B]\f[CB]--to=\f[B]\f[R]\f[I]FORMAT\f[R], \f[B]\f[CB]--write=\f[B]\f[R]\f[I]FORMAT\f[R] Specify output format. \f[I]FORMAT\f[R] can be: .RS .IP \[bu] 2 \f[C]asciidoc\f[R] (AsciiDoc) or \f[C]asciidoctor\f[R] (AsciiDoctor) .IP \[bu] 2 \f[C]beamer\f[R] (LaTeX beamer slide show) .IP \[bu] 2 \f[C]commonmark\f[R] (CommonMark Markdown) .IP \[bu] 2 \f[C]context\f[R] (ConTeXt) .IP \[bu] 2 \f[C]docbook\f[R] or \f[C]docbook4\f[R] (DocBook 4) .IP \[bu] 2 \f[C]docbook5\f[R] (DocBook 5) .IP \[bu] 2 \f[C]docx\f[R] (Word docx) .IP \[bu] 2 \f[C]dokuwiki\f[R] (DokuWiki markup) .IP \[bu] 2 \f[C]epub\f[R] or \f[C]epub3\f[R] (EPUB v3 book) .IP \[bu] 2 \f[C]epub2\f[R] (EPUB v2) .IP \[bu] 2 \f[C]fb2\f[R] (FictionBook2 e-book) .IP \[bu] 2 \f[C]gfm\f[R] (GitHub-Flavored Markdown), or the deprecated and less accurate \f[C]markdown_github\f[R]; use \f[C]markdown_github\f[R] only if you need extensions not supported in \f[C]gfm\f[R]. .IP \[bu] 2 \f[C]haddock\f[R] (Haddock markup) .IP \[bu] 2 \f[C]html\f[R] or \f[C]html5\f[R] (HTML, i.e. HTML5/XHTML polyglot markup) .IP \[bu] 2 \f[C]html4\f[R] (XHTML 1.0 Transitional) .IP \[bu] 2 \f[C]icml\f[R] (InDesign ICML) .IP \[bu] 2 \f[C]ipynb\f[R] (Jupyter notebook) .IP \[bu] 2 \f[C]jats_archiving\f[R] (JATS XML, Archiving and Interchange Tag Set) .IP \[bu] 2 \f[C]jats_articleauthoring\f[R] (JATS XML, Article Authoring Tag Set) .IP \[bu] 2 \f[C]jats_publishing\f[R] (JATS XML, Journal Publishing Tag Set) .IP \[bu] 2 \f[C]jats\f[R] (alias for \f[C]jats_archiving\f[R]) .IP \[bu] 2 \f[C]jira\f[R] (Jira wiki markup) .IP \[bu] 2 \f[C]json\f[R] (JSON version of native AST) .IP \[bu] 2 \f[C]latex\f[R] (LaTeX) .IP \[bu] 2 \f[C]man\f[R] (roff man) .IP \[bu] 2 \f[C]markdown\f[R] (Pandoc\[aq]s Markdown) .IP \[bu] 2 \f[C]markdown_mmd\f[R] (MultiMarkdown) .IP \[bu] 2 \f[C]markdown_phpextra\f[R] (PHP Markdown Extra) .IP \[bu] 2 \f[C]markdown_strict\f[R] (original unextended Markdown) .IP \[bu] 2 \f[C]mediawiki\f[R] (MediaWiki markup) .IP \[bu] 2 \f[C]ms\f[R] (roff ms) .IP \[bu] 2 \f[C]muse\f[R] (Muse), .IP \[bu] 2 \f[C]native\f[R] (native Haskell), .IP \[bu] 2 \f[C]odt\f[R] (OpenOffice text document) .IP \[bu] 2 \f[C]opml\f[R] (OPML) .IP \[bu] 2 \f[C]opendocument\f[R] (OpenDocument) .IP \[bu] 2 \f[C]org\f[R] (Emacs Org mode) .IP \[bu] 2 \f[C]pdf\f[R] (PDF) .IP \[bu] 2 \f[C]plain\f[R] (plain text), .IP \[bu] 2 \f[C]pptx\f[R] (PowerPoint slide show) .IP \[bu] 2 \f[C]rst\f[R] (reStructuredText) .IP \[bu] 2 \f[C]rtf\f[R] (Rich Text Format) .IP \[bu] 2 \f[C]texinfo\f[R] (GNU Texinfo) .IP \[bu] 2 \f[C]textile\f[R] (Textile) .IP \[bu] 2 \f[C]slideous\f[R] (Slideous HTML and JavaScript slide show) .IP \[bu] 2 \f[C]slidy\f[R] (Slidy HTML and JavaScript slide show) .IP \[bu] 2 \f[C]dzslides\f[R] (DZSlides HTML5 + JavaScript slide show), .IP \[bu] 2 \f[C]revealjs\f[R] (reveal.js HTML5 + JavaScript slide show) .IP \[bu] 2 \f[C]s5\f[R] (S5 HTML and JavaScript slide show) .IP \[bu] 2 \f[C]tei\f[R] (TEI Simple) .IP \[bu] 2 \f[C]xwiki\f[R] (XWiki markup) .IP \[bu] 2 \f[C]zimwiki\f[R] (ZimWiki markup) .IP \[bu] 2 the path of a custom Lua writer, see Custom writers below .PP Note that \f[C]odt\f[R], \f[C]docx\f[R], \f[C]epub\f[R], and \f[C]pdf\f[R] output will not be directed to \f[I]stdout\f[R] unless forced with \f[C]-o -\f[R]. .PP Extensions can be individually enabled or disabled by appending \f[C]+EXTENSION\f[R] or \f[C]-EXTENSION\f[R] to the format name. See Extensions below, for a list of extensions and their names. See \f[C]--list-output-formats\f[R] and \f[C]--list-extensions\f[R], below. .RE .TP \f[B]\f[CB]-o\f[B]\f[R] \f[I]FILE\f[R], \f[B]\f[CB]--output=\f[B]\f[R]\f[I]FILE\f[R] Write output to \f[I]FILE\f[R] instead of \f[I]stdout\f[R]. If \f[I]FILE\f[R] is \f[C]-\f[R], output will go to \f[I]stdout\f[R], even if a non-textual format (\f[C]docx\f[R], \f[C]odt\f[R], \f[C]epub2\f[R], \f[C]epub3\f[R]) is specified. .TP \f[B]\f[CB]--data-dir=\f[B]\f[R]\f[I]DIRECTORY\f[R] Specify the user data directory to search for pandoc data files. If this option is not specified, the default user data directory will be used. On *nix and macOS systems this will be the \f[C]pandoc\f[R] subdirectory of the XDG data directory (by default, \f[C]$HOME/.local/share\f[R], overridable by setting the \f[C]XDG_DATA_HOME\f[R] environment variable). If that directory does not exist, \f[C]$HOME/.pandoc\f[R] will be used (for backwards compatibility). In Windows the default user data directory is \f[C]C:\[rs]Users\[rs]USERNAME\[rs]AppData\[rs]Roaming\[rs]pandoc\f[R]. You can find the default user data directory on your system by looking at the output of \f[C]pandoc --version\f[R]. A \f[C]reference.odt\f[R], \f[C]reference.docx\f[R], \f[C]epub.css\f[R], \f[C]templates\f[R], \f[C]slidy\f[R], \f[C]slideous\f[R], or \f[C]s5\f[R] directory placed in this directory will override pandoc\[aq]s normal defaults. .TP \f[B]\f[CB]-d\f[B]\f[R] \f[I]FILE\f[R], \f[B]\f[CB]--defaults=\f[B]\f[R]\f[I]FILE\f[R] Specify a set of default option settings. \f[I]FILE\f[R] is a YAML file whose fields correspond to command-line option settings. All options for document conversion, including input and output files, can be set using a defaults file. The file will be searched for first in the working directory, and then in the \f[C]defaults\f[R] subdirectory of the user data directory (see \f[C]--data-dir\f[R]). The \f[C].yaml\f[R] extension may be omitted. See the section Default files for more information on the file format. Settings from the defaults file may be overridden or extended by subsequent options on the command line. .TP \f[B]\f[CB]--bash-completion\f[B]\f[R] Generate a bash completion script. To enable bash completion with pandoc, add this to your \f[C].bashrc\f[R]: .RS .IP .nf \f[C] eval \[dq]$(pandoc --bash-completion)\[dq] \f[R] .fi .RE .TP \f[B]\f[CB]--verbose\f[B]\f[R] Give verbose debugging output. Currently this only has an effect with PDF output. .TP \f[B]\f[CB]--quiet\f[B]\f[R] Suppress warning messages. .TP \f[B]\f[CB]--fail-if-warnings\f[B]\f[R] Exit with error status if there are any warnings. .TP \f[B]\f[CB]--log=\f[B]\f[R]\f[I]FILE\f[R] Write log messages in machine-readable JSON format to \f[I]FILE\f[R]. All messages above DEBUG level will be written, regardless of verbosity settings (\f[C]--verbose\f[R], \f[C]--quiet\f[R]). .TP \f[B]\f[CB]--list-input-formats\f[B]\f[R] List supported input formats, one per line. .TP \f[B]\f[CB]--list-output-formats\f[B]\f[R] List supported output formats, one per line. .TP \f[B]\f[CB]--list-extensions\f[B]\f[R][\f[B]\f[CB]=\f[B]\f[R]\f[I]FORMAT\f[R]] List supported extensions for \f[I]FORMAT\f[R], one per line, preceded by a \f[C]+\f[R] or \f[C]-\f[R] indicating whether it is enabled by default in \f[I]FORMAT\f[R]. If \f[I]FORMAT\f[R] is not specified, defaults for pandoc\[aq]s Markdown are given. .TP \f[B]\f[CB]--list-highlight-languages\f[B]\f[R] List supported languages for syntax highlighting, one per line. .TP \f[B]\f[CB]--list-highlight-styles\f[B]\f[R] List supported styles for syntax highlighting, one per line. See \f[C]--highlight-style\f[R]. .TP \f[B]\f[CB]-v\f[B]\f[R], \f[B]\f[CB]--version\f[B]\f[R] Print version. .TP \f[B]\f[CB]-h\f[B]\f[R], \f[B]\f[CB]--help\f[B]\f[R] Show usage message. .SS Reader options .TP \f[B]\f[CB]--shift-heading-level-by=\f[B]\f[R]\f[I]NUMBER\f[R] Shift heading levels by a positive or negative integer. For example, with \f[C]--shift-heading-level-by=-1\f[R], level 2 headings become level 1 headings, and level 3 headings become level 2 headings. Headings cannot have a level less than 1, so a heading that would be shifted below level 1 becomes a regular paragraph. Exception: with a shift of -N, a level-N heading at the beginning of the document replaces the metadata title. \f[C]--shift-heading-level-by=-1\f[R] is a good choice when converting HTML or Markdown documents that use an initial level-1 heading for the document title and level-2+ headings for sections. \f[C]--shift-heading-level-by=1\f[R] may be a good choice for converting Markdown documents that use level-1 headings for sections to HTML, since pandoc uses a level-1 heading to render the document title. .TP \f[B]\f[CB]--base-header-level=\f[B]\f[R]\f[I]NUMBER\f[R] \f[I]Deprecated. Use \f[CI]--shift-heading-level-by\f[I]=X instead, where X = NUMBER - 1.\f[R] Specify the base level for headings (defaults to 1). .TP \f[B]\f[CB]--strip-empty-paragraphs\f[B]\f[R] \f[I]Deprecated. Use the \f[CI]+empty_paragraphs\f[I] extension instead.\f[R] Ignore paragraphs with no content. This option is useful for converting word processing documents where users have used empty paragraphs to create inter-paragraph space. .TP \f[B]\f[CB]--indented-code-classes=\f[B]\f[R]\f[I]CLASSES\f[R] Specify classes to use for indented code blocks--for example, \f[C]perl,numberLines\f[R] or \f[C]haskell\f[R]. Multiple classes may be separated by spaces or commas. .TP \f[B]\f[CB]--default-image-extension=\f[B]\f[R]\f[I]EXTENSION\f[R] Specify a default extension to use when image paths/URLs have no extension. This allows you to use the same source for formats that require different kinds of images. Currently this option only affects the Markdown and LaTeX readers. .TP \f[B]\f[CB]--file-scope\f[B]\f[R] Parse each file individually before combining for multifile documents. This will allow footnotes in different files with the same identifiers to work as expected. If this option is set, footnotes and links will not work across files. Reading binary files (docx, odt, epub) implies \f[C]--file-scope\f[R]. .TP \f[B]\f[CB]-F\f[B]\f[R] \f[I]PROGRAM\f[R], \f[B]\f[CB]--filter=\f[B]\f[R]\f[I]PROGRAM\f[R] Specify an executable to be used as a filter transforming the pandoc AST after the input is parsed and before the output is written. The executable should read JSON from stdin and write JSON to stdout. The JSON must be formatted like pandoc\[aq]s own JSON input and output. The name of the output format will be passed to the filter as the first argument. Hence, .RS .IP .nf \f[C] pandoc --filter ./caps.py -t latex \f[R] .fi .PP is equivalent to .IP .nf \f[C] pandoc -t json | ./caps.py latex | pandoc -f json -t latex \f[R] .fi .PP The latter form may be useful for debugging filters. .PP Filters may be written in any language. \f[C]Text.Pandoc.JSON\f[R] exports \f[C]toJSONFilter\f[R] to facilitate writing filters in Haskell. Those who would prefer to write filters in python can use the module \f[C]pandocfilters\f[R], installable from PyPI. There are also pandoc filter libraries in PHP, perl, and JavaScript/node.js. .PP In order of preference, pandoc will look for filters in .IP "1." 3 a specified full or relative path (executable or non-executable) .IP "2." 3 \f[C]$DATADIR/filters\f[R] (executable or non-executable) where \f[C]$DATADIR\f[R] is the user data directory (see \f[C]--data-dir\f[R], above). .IP "3." 3 \f[C]$PATH\f[R] (executable only) .PP Filters and Lua-filters are applied in the order specified on the command line. .RE .TP \f[B]\f[CB]-L\f[B]\f[R] \f[I]SCRIPT\f[R], \f[B]\f[CB]--lua-filter=\f[B]\f[R]\f[I]SCRIPT\f[R] Transform the document in a similar fashion as JSON filters (see \f[C]--filter\f[R]), but use pandoc\[aq]s build-in Lua filtering system. The given Lua script is expected to return a list of Lua filters which will be applied in order. Each Lua filter must contain element-transforming functions indexed by the name of the AST element on which the filter function should be applied. .RS .PP The \f[C]pandoc\f[R] Lua module provides helper functions for element creation. It is always loaded into the script\[aq]s Lua environment. .PP The following is an example Lua script for macro-expansion: .IP .nf \f[C] function expand_hello_world(inline) if inline.c == \[aq]{{helloworld}}\[aq] then return pandoc.Emph{ pandoc.Str \[dq]Hello, World\[dq] } else return inline end end return {{Str = expand_hello_world}} \f[R] .fi .PP In order of preference, pandoc will look for Lua filters in .IP "1." 3 a specified full or relative path (executable or non-executable) .IP "2." 3 \f[C]$DATADIR/filters\f[R] (executable or non-executable) where \f[C]$DATADIR\f[R] is the user data directory (see \f[C]--data-dir\f[R], above). .RE .TP \f[B]\f[CB]-M\f[B]\f[R] \f[I]KEY\f[R][\f[B]\f[CB]=\f[B]\f[R]\f[I]VAL\f[R]], \f[B]\f[CB]--metadata=\f[B]\f[R]\f[I]KEY\f[R][\f[B]\f[CB]:\f[B]\f[R]\f[I]VAL\f[R]] Set the metadata field \f[I]KEY\f[R] to the value \f[I]VAL\f[R]. A value specified on the command line overrides a value specified in the document using YAML metadata blocks. Values will be parsed as YAML boolean or string values. If no value is specified, the value will be treated as Boolean true. Like \f[C]--variable\f[R], \f[C]--metadata\f[R] causes template variables to be set. But unlike \f[C]--variable\f[R], \f[C]--metadata\f[R] affects the metadata of the underlying document (which is accessible from filters and may be printed in some output formats) and metadata values will be escaped when inserted into the template. .TP \f[B]\f[CB]--metadata-file=\f[B]\f[R]\f[I]FILE\f[R] Read metadata from the supplied YAML (or JSON) file. This option can be used with every input format, but string scalars in the YAML file will always be parsed as Markdown. Generally, the input will be handled the same as in YAML metadata blocks. This option can be used repeatedly to include multiple metadata files; values in files specified later on the command line will be preferred over those specified in earlier files. Metadata values specified inside the document, or by using \f[C]-M\f[R], overwrite values specified with this option. .TP \f[B]\f[CB]-p\f[B]\f[R], \f[B]\f[CB]--preserve-tabs\f[B]\f[R] Preserve tabs instead of converting them to spaces. (By default, pandoc converts tabs to spaces before parsing its input.) Note that this will only affect tabs in literal code spans and code blocks. Tabs in regular text are always treated as spaces. .TP \f[B]\f[CB]--tab-stop=\f[B]\f[R]\f[I]NUMBER\f[R] Specify the number of spaces per tab (default is 4). .TP \f[B]\f[CB]--track-changes=accept\f[B]\f[R]|\f[B]\f[CB]reject\f[B]\f[R]|\f[B]\f[CB]all\f[B]\f[R] Specifies what to do with insertions, deletions, and comments produced by the MS Word \[dq]Track Changes\[dq] feature. \f[C]accept\f[R] (the default), inserts all insertions, and ignores all deletions. \f[C]reject\f[R] inserts all deletions and ignores insertions. Both \f[C]accept\f[R] and \f[C]reject\f[R] ignore comments. \f[C]all\f[R] puts in insertions, deletions, and comments, wrapped in spans with \f[C]insertion\f[R], \f[C]deletion\f[R], \f[C]comment-start\f[R], and \f[C]comment-end\f[R] classes, respectively. The author and time of change is included. \f[C]all\f[R] is useful for scripting: only accepting changes from a certain reviewer, say, or before a certain date. If a paragraph is inserted or deleted, \f[C]track-changes=all\f[R] produces a span with the class \f[C]paragraph-insertion\f[R]/\f[C]paragraph-deletion\f[R] before the affected paragraph break. This option only affects the docx reader. .TP \f[B]\f[CB]--extract-media=\f[B]\f[R]\f[I]DIR\f[R] Extract images and other media contained in or linked from the source document to the path \f[I]DIR\f[R], creating it if necessary, and adjust the images references in the document so they point to the extracted files. If the source format is a binary container (docx, epub, or odt), the media is extracted from the container and the original filenames are used. Otherwise the media is read from the file system or downloaded, and new filenames are constructed based on SHA1 hashes of the contents. .TP \f[B]\f[CB]--abbreviations=\f[B]\f[R]\f[I]FILE\f[R] Specifies a custom abbreviations file, with abbreviations one to a line. If this option is not specified, pandoc will read the data file \f[C]abbreviations\f[R] from the user data directory or fall back on a system default. To see the system default, use \f[C]pandoc --print-default-data-file=abbreviations\f[R]. The only use pandoc makes of this list is in the Markdown reader. Strings ending in a period that are found in this list will be followed by a nonbreaking space, so that the period will not produce sentence-ending space in formats like LaTeX. .SS General writer options .TP \f[B]\f[CB]-s\f[B]\f[R], \f[B]\f[CB]--standalone\f[B]\f[R] Produce output with an appropriate header and footer (e.g. a standalone HTML, LaTeX, TEI, or RTF file, not a fragment). This option is set automatically for \f[C]pdf\f[R], \f[C]epub\f[R], \f[C]epub3\f[R], \f[C]fb2\f[R], \f[C]docx\f[R], and \f[C]odt\f[R] output. For \f[C]native\f[R] output, this option causes metadata to be included; otherwise, metadata is suppressed. .TP \f[B]\f[CB]--template=\f[B]\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] Use the specified file as a custom template for the generated document. Implies \f[C]--standalone\f[R]. See Templates, below, for a description of template syntax. If no extension is specified, an extension corresponding to the writer will be added, so that \f[C]--template=special\f[R] looks for \f[C]special.html\f[R] for HTML output. If the template is not found, pandoc will search for it in the \f[C]templates\f[R] subdirectory of the user data directory (see \f[C]--data-dir\f[R]). If this option is not used, a default template appropriate for the output format will be used (see \f[C]-D/--print-default-template\f[R]). .TP \f[B]\f[CB]-V\f[B]\f[R] \f[I]KEY\f[R][\f[B]\f[CB]=\f[B]\f[R]\f[I]VAL\f[R]], \f[B]\f[CB]--variable=\f[B]\f[R]\f[I]KEY\f[R][\f[B]\f[CB]:\f[B]\f[R]\f[I]VAL\f[R]] Set the template variable \f[I]KEY\f[R] to the value \f[I]VAL\f[R] when rendering the document in standalone mode. If no \f[I]VAL\f[R] is specified, the key will be given the value \f[C]true\f[R]. .TP \f[B]\f[CB]-D\f[B]\f[R] \f[I]FORMAT\f[R], \f[B]\f[CB]--print-default-template=\f[B]\f[R]\f[I]FORMAT\f[R] Print the system default template for an output \f[I]FORMAT\f[R]. (See \f[C]-t\f[R] for a list of possible \f[I]FORMAT\f[R]s.) Templates in the user data directory are ignored. This option may be used with \f[C]-o\f[R]/\f[C]--output\f[R] to redirect output to a file, but \f[C]-o\f[R]/\f[C]--output\f[R] must come before \f[C]--print-default-template\f[R] on the command line. .RS .PP Note that some of the default templates use partials, for example \f[C]styles.html\f[R]. To print the partials, use \f[C]--print-default-data-file\f[R]: for example, \f[C]--print-default-data-file=templates/styles.html\f[R]. .RE .TP \f[B]\f[CB]--print-default-data-file=\f[B]\f[R]\f[I]FILE\f[R] Print a system default data file. Files in the user data directory are ignored. This option may be used with \f[C]-o\f[R]/\f[C]--output\f[R] to redirect output to a file, but \f[C]-o\f[R]/\f[C]--output\f[R] must come before \f[C]--print-default-data-file\f[R] on the command line. .TP \f[B]\f[CB]--eol=crlf\f[B]\f[R]|\f[B]\f[CB]lf\f[B]\f[R]|\f[B]\f[CB]native\f[B]\f[R] Manually specify line endings: \f[C]crlf\f[R] (Windows), \f[C]lf\f[R] (macOS/Linux/UNIX), or \f[C]native\f[R] (line endings appropriate to the OS on which pandoc is being run). The default is \f[C]native\f[R]. .TP \f[B]\f[CB]--dpi\f[B]\f[R]=\f[I]NUMBER\f[R] Specify the default dpi (dots per inch) value for conversion from pixels to inch/centimeters and vice versa. (Technically, the correct term would be ppi: pixels per inch.) The default is 96dpi. When images contain information about dpi internally, the encoded value is used instead of the default specified by this option. .TP \f[B]\f[CB]--wrap=auto\f[B]\f[R]|\f[B]\f[CB]none\f[B]\f[R]|\f[B]\f[CB]preserve\f[B]\f[R] Determine how text is wrapped in the output (the source code, not the rendered version). With \f[C]auto\f[R] (the default), pandoc will attempt to wrap lines to the column width specified by \f[C]--columns\f[R] (default 72). With \f[C]none\f[R], pandoc will not wrap lines at all. With \f[C]preserve\f[R], pandoc will attempt to preserve the wrapping from the source document (that is, where there are nonsemantic newlines in the source, there will be nonsemantic newlines in the output as well). Automatic wrapping does not currently work in HTML output. In \f[C]ipynb\f[R] output, this option affects wrapping of the contents of markdown cells. .TP \f[B]\f[CB]--columns=\f[B]\f[R]\f[I]NUMBER\f[R] Specify length of lines in characters. This affects text wrapping in the generated source code (see \f[C]--wrap\f[R]). It also affects calculation of column widths for plain text tables (see Tables below). .TP \f[B]\f[CB]--toc\f[B]\f[R], \f[B]\f[CB]--table-of-contents\f[B]\f[R] Include an automatically generated table of contents (or, in the case of \f[C]latex\f[R], \f[C]context\f[R], \f[C]docx\f[R], \f[C]odt\f[R], \f[C]opendocument\f[R], \f[C]rst\f[R], or \f[C]ms\f[R], an instruction to create one) in the output document. This option has no effect unless \f[C]-s/--standalone\f[R] is used, and it has no effect on \f[C]man\f[R], \f[C]docbook4\f[R], \f[C]docbook5\f[R], or \f[C]jats\f[R] output. .RS .PP Note that if you are producing a PDF via \f[C]ms\f[R], 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 \f[C]--pdf-engine-opt=--no-toc-relocation\f[R]. .RE .TP \f[B]\f[CB]--toc-depth=\f[B]\f[R]\f[I]NUMBER\f[R] Specify the number of section levels to include in the table of contents. The default is 3 (which means that level-1, 2, and 3 headings will be listed in the contents). .TP \f[B]\f[CB]--strip-comments\f[B]\f[R] Strip out HTML comments in the Markdown or Textile source, rather than passing them on to Markdown, Textile or HTML output as raw HTML. This does not apply to HTML comments inside raw HTML blocks when the \f[C]markdown_in_html_blocks\f[R] extension is not set. .TP \f[B]\f[CB]--no-highlight\f[B]\f[R] Disables syntax highlighting for code blocks and inlines, even when a language attribute is given. .TP \f[B]\f[CB]--highlight-style=\f[B]\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R] Specifies the coloring style to be used in highlighted source code. Options are \f[C]pygments\f[R] (the default), \f[C]kate\f[R], \f[C]monochrome\f[R], \f[C]breezeDark\f[R], \f[C]espresso\f[R], \f[C]zenburn\f[R], \f[C]haddock\f[R], and \f[C]tango\f[R]. For more information on syntax highlighting in pandoc, see Syntax highlighting, below. See also \f[C]--list-highlight-styles\f[R]. .RS .PP Instead of a \f[I]STYLE\f[R] name, a JSON file with extension \f[C].theme\f[R] may be supplied. This will be parsed as a KDE syntax highlighting theme and (if valid) used as the highlighting style. .PP To generate the JSON version of an existing style, use \f[C]--print-highlight-style\f[R]. .RE .TP \f[B]\f[CB]--print-highlight-style=\f[B]\f[R]\f[I]STYLE\f[R]|\f[I]FILE\f[R] Prints a JSON version of a highlighting style, which can be modified, saved with a \f[C].theme\f[R] extension, and used with \f[C]--highlight-style\f[R]. This option may be used with \f[C]-o\f[R]/\f[C]--output\f[R] to redirect output to a file, but \f[C]-o\f[R]/\f[C]--output\f[R] must come before \f[C]--print-highlight-style\f[R] on the command line. .TP \f[B]\f[CB]--syntax-definition=\f[B]\f[R]\f[I]FILE\f[R] Instructs pandoc to load a KDE XML syntax definition file, which will be used for syntax highlighting of appropriately marked code blocks. This can be used to add support for new languages or to use altered syntax definitions for existing languages. This option may be repeated to add multiple syntax definitions. .TP \f[B]\f[CB]-H\f[B]\f[R] \f[I]FILE\f[R], \f[B]\f[CB]--include-in-header=\f[B]\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] Include contents of \f[I]FILE\f[R], verbatim, at the end of the header. This can be used, for example, to include special CSS or JavaScript in HTML documents. This option can be used repeatedly to include multiple files in the header. They will be included in the order specified. Implies \f[C]--standalone\f[R]. .TP \f[B]\f[CB]-B\f[B]\f[R] \f[I]FILE\f[R], \f[B]\f[CB]--include-before-body=\f[B]\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] Include contents of \f[I]FILE\f[R], verbatim, at the beginning of the document body (e.g. after the \f[C]\f[R] tag in HTML, or the \f[C]\[rs]begin{document}\f[R] command in LaTeX). This can be used to include navigation bars or banners in HTML documents. This option can be used repeatedly to include multiple files. They will be included in the order specified. Implies \f[C]--standalone\f[R]. .TP \f[B]\f[CB]-A\f[B]\f[R] \f[I]FILE\f[R], \f[B]\f[CB]--include-after-body=\f[B]\f[R]\f[I]FILE\f[R]|\f[I]URL\f[R] Include contents of \f[I]FILE\f[R], verbatim, at the end of the document body (before the \f[C]\f[R] tag in HTML, or the \f[C]\[rs]end{document}\f[R] command in LaTeX). This option can be used repeatedly to include multiple files. They will be included in the order specified. Implies \f[C]--standalone\f[R]. .TP \f[B]\f[CB]--resource-path=\f[B]\f[R]\f[I]SEARCHPATH\f[R] List of paths to search for images and other resources. The paths should be separated by \f[C]:\f[R] on Linux, UNIX, and macOS systems, and by \f[C];\f[R] on Windows. If \f[C]--resource-path\f[R] is not specified, the default resource path is the working directory. Note that, if \f[C]--resource-path\f[R] is specified, the working directory must be explicitly listed or it will not be searched. For example: \f[C]--resource-path=.:test\f[R] will search the working directory and the \f[C]test\f[R] subdirectory, in that order. .RS .PP \f[C]--resource-path\f[R] only has an effect if (a) the output format embeds images (for example, \f[C]docx\f[R], \f[C]pdf\f[R], or \f[C]html\f[R] with \f[C]--self-contained\f[R]) or (b) it is used together with \f[C]--extract-media\f[R]. .RE .TP \f[B]\f[CB]--request-header=\f[B]\f[R]\f[I]NAME\f[R]\f[B]\f[CB]:\f[B]\f[R]\f[I]VAL\f[R] Set the request header \f[I]NAME\f[R] to the value \f[I]VAL\f[R] when making HTTP requests (for example, when a URL is given on the command line, or when resources used in a document must be downloaded). If you\[aq]re behind a proxy, you also need to set the environment variable \f[C]http_proxy\f[R] to \f[C]http://...\f[R]. .SS Options affecting specific writers .TP \f[B]\f[CB]--self-contained\f[B]\f[R] Produce a standalone HTML file with no external dependencies, using \f[C]data:\f[R] URIs to incorporate the contents of linked scripts, stylesheets, images, and videos. Implies \f[C]--standalone\f[R]. The resulting file should be \[dq]self-contained,\[dq] in the sense that it needs no external files and no net access to be displayed properly by a browser. This option works only with HTML output formats, including \f[C]html4\f[R], \f[C]html5\f[R], \f[C]html+lhs\f[R], \f[C]html5+lhs\f[R], \f[C]s5\f[R], \f[C]slidy\f[R], \f[C]slideous\f[R], \f[C]dzslides\f[R], and \f[C]revealjs\f[R]. Scripts, images, and stylesheets at absolute URLs will be downloaded; those at relative URLs will be sought relative to the working directory (if the first source file is local) or relative to the base URL (if the first source file is remote). Elements with the attribute \f[C]data-external=\[dq]1\[dq]\f[R] will be left alone; the documents they link to will not be incorporated in the document. Limitation: resources that are loaded dynamically through JavaScript cannot be incorporated; as a result, \f[C]--self-contained\f[R] does not work with \f[C]--mathjax\f[R], and some advanced features (e.g. zoom or speaker notes) may not work in an offline \[dq]self-contained\[dq] \f[C]reveal.js\f[R] slide show. .TP \f[B]\f[CB]--html-q-tags\f[B]\f[R] Use \f[C]\f[R] tags for quotes in HTML. .TP \f[B]\f[CB]--ascii\f[B]\f[R] Use only ASCII characters in output. Currently supported for XML and HTML formats (which use entities instead of UTF-8 when this option is selected), CommonMark, gfm, and Markdown (which use entities), roff ms (which use hexadecimal escapes), and to a limited degree LaTeX (which uses standard commands for accented characters when possible). roff man output uses ASCII by default. .TP \f[B]\f[CB]--reference-links\f[B]\f[R] Use reference-style links, rather than inline links, in writing Markdown or reStructuredText. By default inline links are used. The placement of link references is affected by the \f[C]--reference-location\f[R] option. .TP \f[B]\f[CB]--reference-location = block\f[B]\f[R]|\f[B]\f[CB]section\f[B]\f[R]|\f[B]\f[CB]document\f[B]\f[R] Specify whether footnotes (and references, if \f[C]reference-links\f[R] is set) are placed at the end of the current (top-level) block, the current section, or the document. The default is \f[C]document\f[R]. Currently only affects the markdown writer. .TP \f[B]\f[CB]--atx-headers\f[B]\f[R] Use ATX-style headings in Markdown output. The default is to use setext-style headings for levels 1 to 2, and then ATX headings. (Note: for \f[C]gfm\f[R] output, ATX headings are always used.) This option also affects markdown cells in \f[C]ipynb\f[R] output. .TP \f[B]\f[CB]--top-level-division=[default|section|chapter|part]\f[B]\f[R] Treat top-level headings as the given division type in LaTeX, ConTeXt, DocBook, and TEI output. The hierarchy order is part, chapter, then section; all headings are shifted such that the top-level heading becomes the specified type. The default behavior is to determine the best division type via heuristics: unless other conditions apply, \f[C]section\f[R] is chosen. When the \f[C]documentclass\f[R] variable is set to \f[C]report\f[R], \f[C]book\f[R], or \f[C]memoir\f[R] (unless the \f[C]article\f[R] option is specified), \f[C]chapter\f[R] is implied as the setting for this option. If \f[C]beamer\f[R] is the output format, specifying either \f[C]chapter\f[R] or \f[C]part\f[R] will cause top-level headings to become \f[C]\[rs]part{..}\f[R], while second-level headings remain as their default type. .TP \f[B]\f[CB]-N\f[B]\f[R], \f[B]\f[CB]--number-sections\f[B]\f[R] Number section headings in LaTeX, ConTeXt, HTML, or EPUB output. By default, sections are not numbered. Sections with class \f[C]unnumbered\f[R] will never be numbered, even if \f[C]--number-sections\f[R] is specified. .TP \f[B]\f[CB]--number-offset=\f[B]\f[R]\f[I]NUMBER\f[R][\f[B]\f[CB],\f[B]\f[R]\f[I]NUMBER\f[R]\f[B]\f[CB],\f[B]\f[R]\f[I]...\f[R]] Offset for section headings in HTML output (ignored in other output formats). The first number is added to the section number for top-level headings, the second for second-level headings, and so on. So, for example, if you want the first top-level heading in your document to be numbered \[dq]6\[dq], specify \f[C]--number-offset=5\f[R]. If your document starts with a level-2 heading which you want to be numbered \[dq]1.5\[dq], specify \f[C]--number-offset=1,4\f[R]. Offsets are 0 by default. Implies \f[C]--number-sections\f[R]. .TP \f[B]\f[CB]--listings\f[B]\f[R] Use the \f[C]listings\f[R] package for LaTeX code blocks. The package does not support multi-byte encoding for source code. To handle UTF-8 you would need to use a custom template. This issue is fully documented here: Encoding issue with the listings package. .TP \f[B]\f[CB]-i\f[B]\f[R], \f[B]\f[CB]--incremental\f[B]\f[R] Make list items in slide shows display incrementally (one by one). The default is for lists to be displayed all at once. .TP \f[B]\f[CB]--slide-level=\f[B]\f[R]\f[I]NUMBER\f[R] Specifies that headings with the specified level create slides (for \f[C]beamer\f[R], \f[C]s5\f[R], \f[C]slidy\f[R], \f[C]slideous\f[R], \f[C]dzslides\f[R]). Headings above this level in the hierarchy are used to divide the slide show into sections; headings below this level create subheads within a slide. Note that content that is not contained under slide-level headings will not appear in the slide show. The default is to set the slide level based on the contents of the document; see Structuring the slide show. .TP \f[B]\f[CB]--section-divs\f[B]\f[R] Wrap sections in \f[C]
    \f[R] tags (or \f[C]
    \f[R] tags for \f[C]html4\f[R]), and attach identifiers to the enclosing \f[C]
    \f[R] (or \f[C]
    \f[R]) rather than the heading itself. See Heading identifiers, below. .TP \f[B]\f[CB]--email-obfuscation=none\f[B]\f[R]|\f[B]\f[CB]javascript\f[B]\f[R]|\f[B]\f[CB]references\f[B]\f[R] Specify a method for obfuscating \f[C]mailto:\f[R] links in HTML documents. \f[C]none\f[R] leaves \f[C]mailto:\f[R] links as they are. \f[C]javascript\f[R] obfuscates them using JavaScript. \f[C]references\f[R] obfuscates them by printing their letters as decimal or hexadecimal character references. The default is \f[C]none\f[R]. .TP \f[B]\f[CB]--id-prefix=\f[B]\f[R]\f[I]STRING\f[R] Specify a prefix to be added to all identifiers and internal links in HTML and DocBook output, and to footnote numbers in Markdown and Haddock output. This is useful for preventing duplicate identifiers when generating fragments to be included in other pages. .TP \f[B]\f[CB]-T\f[B]\f[R] \f[I]STRING\f[R], \f[B]\f[CB]--title-prefix=\f[B]\f[R]\f[I]STRING\f[R] Specify \f[I]STRING\f[R] as a prefix at the beginning of the title that appears in the HTML header (but not in the title as it appears at the beginning of the HTML body). Implies \f[C]--standalone\f[R]. .TP \f[B]\f[CB]-c\f[B]\f[R] \f[I]URL\f[R], \f[B]\f[CB]--css=\f[B]\f[R]\f[I]URL\f[R] Link to a CSS style sheet. This option can be used repeatedly to include multiple files. They will be included in the order specified. .RS .PP A stylesheet is required for generating EPUB. If none is provided using this option (or the \f[C]css\f[R] or \f[C]stylesheet\f[R] metadata fields), pandoc will look for a file \f[C]epub.css\f[R] in the user data directory (see \f[C]--data-dir\f[R]). If it is not found there, sensible defaults will be used. .RE .TP \f[B]\f[CB]--reference-doc=\f[B]\f[R]\f[I]FILE\f[R] Use the specified file as a style reference in producing a docx or ODT file. .RS .TP Docx For best results, the reference docx should be a modified version of a docx file produced using pandoc. The contents of the reference docx are ignored, but its stylesheets and document properties (including margins, page size, header, and footer) are used in the new docx. If no reference docx is specified on the command line, pandoc will look for a file \f[C]reference.docx\f[R] in the user data directory (see \f[C]--data-dir\f[R]). If this is not found either, sensible defaults will be used. .RS .PP To produce a custom \f[C]reference.docx\f[R], first get a copy of the default \f[C]reference.docx\f[R]: \f[C]pandoc -o custom-reference.docx --print-default-data-file reference.docx\f[R]. Then open \f[C]custom-reference.docx\f[R] in Word, 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: .PP Paragraph styles: .IP \[bu] 2 Normal .IP \[bu] 2 Body Text .IP \[bu] 2 First Paragraph .IP \[bu] 2 Compact .IP \[bu] 2 Title .IP \[bu] 2 Subtitle .IP \[bu] 2 Author .IP \[bu] 2 Date .IP \[bu] 2 Abstract .IP \[bu] 2 Bibliography .IP \[bu] 2 Heading 1 .IP \[bu] 2 Heading 2 .IP \[bu] 2 Heading 3 .IP \[bu] 2 Heading 4 .IP \[bu] 2 Heading 5 .IP \[bu] 2 Heading 6 .IP \[bu] 2 Heading 7 .IP \[bu] 2 Heading 8 .IP \[bu] 2 Heading 9 .IP \[bu] 2 Block Text .IP \[bu] 2 Footnote Text .IP \[bu] 2 Definition Term .IP \[bu] 2 Definition .IP \[bu] 2 Caption .IP \[bu] 2 Table Caption .IP \[bu] 2 Image Caption .IP \[bu] 2 Figure .IP \[bu] 2 Captioned Figure .IP \[bu] 2 TOC Heading .PP Character styles: .IP \[bu] 2 Default Paragraph Font .IP \[bu] 2 Body Text Char .IP \[bu] 2 Verbatim Char .IP \[bu] 2 Footnote Reference .IP \[bu] 2 Hyperlink .PP Table style: .IP \[bu] 2 Table .RE .TP ODT For best results, the reference ODT should be a modified version of an ODT produced using pandoc. The contents of the reference ODT are ignored, but its stylesheets are used in the new ODT. If no reference ODT is specified on the command line, pandoc will look for a file \f[C]reference.odt\f[R] in the user data directory (see \f[C]--data-dir\f[R]). If this is not found either, sensible defaults will be used. .RS .PP To produce a custom \f[C]reference.odt\f[R], first get a copy of the default \f[C]reference.odt\f[R]: \f[C]pandoc -o custom-reference.odt --print-default-data-file reference.odt\f[R]. Then open \f[C]custom-reference.odt\f[R] in LibreOffice, modify the styles as you wish, and save the file. .RE .TP PowerPoint Templates included with Microsoft PowerPoint 2013 (either with \f[C].pptx\f[R] or \f[C].potx\f[R] extension) are known to work, as are most templates derived from these. .RS .PP The specific requirement is that the template should begin with the following first four layouts: .IP "1." 3 Title Slide .IP "2." 3 Title and Content .IP "3." 3 Section Header .IP "4." 3 Two Content .PP All templates included with a recent version of MS PowerPoint will fit these criteria. (You can click on \f[C]Layout\f[R] under the \f[C]Home\f[R] menu to check.) .PP You can also modify the default \f[C]reference.pptx\f[R]: first run \f[C]pandoc -o custom-reference.pptx --print-default-data-file reference.pptx\f[R], and then modify \f[C]custom-reference.pptx\f[R] in MS PowerPoint (pandoc will use the first four layout slides, as mentioned above). .RE .RE .TP \f[B]\f[CB]--epub-cover-image=\f[B]\f[R]\f[I]FILE\f[R] Use the specified image as the EPUB cover. It is recommended that the image be less than 1000px in width and height. Note that in a Markdown source document you can also specify \f[C]cover-image\f[R] in a YAML metadata block (see EPUB Metadata, below). .TP \f[B]\f[CB]--epub-metadata=\f[B]\f[R]\f[I]FILE\f[R] Look in the specified XML file for metadata for the EPUB. The file should contain a series of Dublin Core elements. For example: .RS .IP .nf \f[C] Creative Commons es-AR \f[R] .fi .PP By default, pandoc will include the following metadata elements: \f[C]\f[R] (from the document title), \f[C]\f[R] (from the document authors), \f[C]\f[R] (from the document date, which should be in ISO 8601 format), \f[C]\f[R] (from the \f[C]lang\f[R] variable, or, if is not set, the locale), and \f[C]\f[R] (a randomly generated UUID). Any of these may be overridden by elements in the metadata file. .PP Note: if the source document is Markdown, a YAML metadata block in the document can be used instead. See below under EPUB Metadata. .RE .TP \f[B]\f[CB]--epub-embed-font=\f[B]\f[R]\f[I]FILE\f[R] Embed the specified font in the EPUB. This option can be repeated to embed multiple fonts. Wildcards can also be used: for example, \f[C]DejaVuSans-*.ttf\f[R]. However, if you use wildcards on the command line, be sure to escape them or put the whole filename in single quotes, to prevent them from being interpreted by the shell. To use the embedded fonts, you will need to add declarations like the following to your CSS (see \f[C]--css\f[R]): .RS .IP .nf \f[C] \[at]font-face { font-family: DejaVuSans; font-style: normal; font-weight: normal; src:url(\[dq]DejaVuSans-Regular.ttf\[dq]); } \[at]font-face { font-family: DejaVuSans; font-style: normal; font-weight: bold; src:url(\[dq]DejaVuSans-Bold.ttf\[dq]); } \[at]font-face { font-family: DejaVuSans; font-style: italic; font-weight: normal; src:url(\[dq]DejaVuSans-Oblique.ttf\[dq]); } \[at]font-face { font-family: DejaVuSans; font-style: italic; font-weight: bold; src:url(\[dq]DejaVuSans-BoldOblique.ttf\[dq]); } body { font-family: \[dq]DejaVuSans\[dq]; } \f[R] .fi .RE .TP \f[B]\f[CB]--epub-chapter-level=\f[B]\f[R]\f[I]NUMBER\f[R] Specify the heading level at which to split the EPUB into separate \[dq]chapter\[dq] files. The default is to split into chapters at level-1 headings. This option only affects the internal composition of the EPUB, not the way chapters and sections are displayed to users. Some readers may be slow if the chapter files are too large, so for large documents with few level-1 headings, one might want to use a chapter level of 2 or 3. .TP \f[B]\f[CB]--epub-subdirectory=\f[B]\f[R]\f[I]DIRNAME\f[R] Specify the subdirectory in the OCF container that is to hold the EPUB-specific contents. The default is \f[C]EPUB\f[R]. To put the EPUB contents in the top level, use an empty string. .TP \f[B]\f[CB]--ipynb-output=all|none|best\f[B]\f[R] Determines how ipynb output cells are treated. \f[C]all\f[R] means that all of the data formats included in the original are preserved. \f[C]none\f[R] means that the contents of data cells are omitted. \f[C]best\f[R] causes pandoc to try to pick the richest data block in each output cell that is compatible with the output format. The default is \f[C]best\f[R]. .TP \f[B]\f[CB]--pdf-engine=\f[B]\f[R]\f[I]PROGRAM\f[R] Use the specified engine when producing PDF output. Valid values are \f[C]pdflatex\f[R], \f[C]lualatex\f[R], \f[C]xelatex\f[R], \f[C]latexmk\f[R], \f[C]tectonic\f[R], \f[C]wkhtmltopdf\f[R], \f[C]weasyprint\f[R], \f[C]prince\f[R], \f[C]context\f[R], and \f[C]pdfroff\f[R]. If the engine is not in your PATH, the full path of the engine may be specified here. If this option is not specified, pandoc uses the following defaults depending on the output format specified using \f[C]-t/--to\f[R]: .RS .IP \[bu] 2 \f[C]-t latex\f[R] or none: \f[C]pdflatex\f[R] (other options: \f[C]xelatex\f[R], \f[C]lualatex\f[R], \f[C]tectonic\f[R], \f[C]latexmk\f[R]) .IP \[bu] 2 \f[C]-t context\f[R]: \f[C]context\f[R] .IP \[bu] 2 \f[C]-t html\f[R]: \f[C]wkhtmltopdf\f[R] (other options: \f[C]prince\f[R], \f[C]weasyprint\f[R]) .IP \[bu] 2 \f[C]-t ms\f[R]: \f[C]pdfroff\f[R] .RE .TP \f[B]\f[CB]--pdf-engine-opt=\f[B]\f[R]\f[I]STRING\f[R] Use the given string as a command-line argument to the \f[C]pdf-engine\f[R]. For example, to use a persistent directory \f[C]foo\f[R] for \f[C]latexmk\f[R]\[aq]s auxiliary files, use \f[C]--pdf-engine-opt=-outdir=foo\f[R]. Note that no check for duplicate options is done. .SS Citation rendering .TP \f[B]\f[CB]--bibliography=\f[B]\f[R]\f[I]FILE\f[R] Set the \f[C]bibliography\f[R] field in the document\[aq]s metadata to \f[I]FILE\f[R], overriding any value set in the metadata, and process citations using \f[C]pandoc-citeproc\f[R]. (This is equivalent to \f[C]--metadata bibliography=FILE --filter pandoc-citeproc\f[R].) If \f[C]--natbib\f[R] or \f[C]--biblatex\f[R] is also supplied, \f[C]pandoc-citeproc\f[R] is not used, making this equivalent to \f[C]--metadata bibliography=FILE\f[R]. If you supply this argument multiple times, each \f[I]FILE\f[R] will be added to bibliography. .TP \f[B]\f[CB]--csl=\f[B]\f[R]\f[I]FILE\f[R] Set the \f[C]csl\f[R] field in the document\[aq]s metadata to \f[I]FILE\f[R], overriding any value set in the metadata. (This is equivalent to \f[C]--metadata csl=FILE\f[R].) This option is only relevant with \f[C]pandoc-citeproc\f[R]. .TP \f[B]\f[CB]--citation-abbreviations=\f[B]\f[R]\f[I]FILE\f[R] Set the \f[C]citation-abbreviations\f[R] field in the document\[aq]s metadata to \f[I]FILE\f[R], overriding any value set in the metadata. (This is equivalent to \f[C]--metadata citation-abbreviations=FILE\f[R].) This option is only relevant with \f[C]pandoc-citeproc\f[R]. .TP \f[B]\f[CB]--natbib\f[B]\f[R] Use \f[C]natbib\f[R] for citations in LaTeX output. This option is not for use with the \f[C]pandoc-citeproc\f[R] filter or with PDF output. It is intended for use in producing a LaTeX file that can be processed with \f[C]bibtex\f[R]. .TP \f[B]\f[CB]--biblatex\f[B]\f[R] Use \f[C]biblatex\f[R] for citations in LaTeX output. This option is not for use with the \f[C]pandoc-citeproc\f[R] filter or with PDF output. It is intended for use in producing a LaTeX file that can be processed with \f[C]bibtex\f[R] or \f[C]biber\f[R]. .SS Math rendering in HTML .PP The default is to render TeX math as far as possible using Unicode characters. Formulas are put inside a \f[C]span\f[R] with \f[C]class=\[dq]math\[dq]\f[R], so that they may be styled differently from the surrounding text if needed. However, this gives acceptable results only for basic math, usually you will want to use \f[C]--mathjax\f[R] or another of the following options. .TP \f[B]\f[CB]--mathjax\f[B]\f[R][\f[B]\f[CB]=\f[B]\f[R]\f[I]URL\f[R]] Use MathJax to display embedded TeX math in HTML output. TeX math will be put between \f[C]\[rs](...\[rs])\f[R] (for inline math) or \f[C]\[rs][...\[rs]]\f[R] (for display math) and wrapped in \f[C]\f[R] tags with class \f[C]math\f[R]. Then the MathJax JavaScript will render it. The \f[I]URL\f[R] should point to the \f[C]MathJax.js\f[R] load script. If a \f[I]URL\f[R] is not provided, a link to the Cloudflare CDN will be inserted. .TP \f[B]\f[CB]--mathml\f[B]\f[R] Convert TeX math to MathML (in \f[C]epub3\f[R], \f[C]docbook4\f[R], \f[C]docbook5\f[R], \f[C]jats\f[R], \f[C]html4\f[R] and \f[C]html5\f[R]). This is the default in \f[C]odt\f[R] output. Note that currently only Firefox and Safari (and select e-book readers) natively support MathML. .TP \f[B]\f[CB]--webtex\f[B]\f[R][\f[B]\f[CB]=\f[B]\f[R]\f[I]URL\f[R]] Convert TeX formulas to \f[C]\f[R] tags that link to an external script that converts formulas to images. The formula will be URL-encoded and concatenated with the URL provided. For SVG images you can for example use \f[C]--webtex https://latex.codecogs.com/svg.latex?\f[R]. If no URL is specified, the CodeCogs URL generating PNGs will be used (\f[C]https://latex.codecogs.com/png.latex?\f[R]). Note: the \f[C]--webtex\f[R] option will affect Markdown output as well as HTML, which is useful if you\[aq]re targeting a version of Markdown without native math support. .TP \f[B]\f[CB]--katex\f[B]\f[R][\f[B]\f[CB]=\f[B]\f[R]\f[I]URL\f[R]] Use KaTeX to display embedded TeX math in HTML output. The \f[I]URL\f[R] is the base URL for the KaTeX library. That directory should contain a \f[C]katex.min.js\f[R] and a \f[C]katex.min.css\f[R] file. If a \f[I]URL\f[R] is not provided, a link to the KaTeX CDN will be inserted. .TP \f[B]\f[CB]--gladtex\f[B]\f[R] Enclose TeX math in \f[C]\f[R] tags in HTML output. The resulting HTML can then be processed by GladTeX to produce images of the typeset formulas and an HTML file with links to these images. So, the procedure is: .RS .IP .nf \f[C] pandoc -s --gladtex input.md -o myfile.htex gladtex -d myfile-images myfile.htex # produces myfile.html and images in myfile-images \f[R] .fi .RE .SS Options for wrapper scripts .TP \f[B]\f[CB]--dump-args\f[B]\f[R] Print information about command-line arguments to \f[I]stdout\f[R], then exit. This option is intended primarily for use in wrapper scripts. The first line of output contains the name of the output file specified with the \f[C]-o\f[R] option, or \f[C]-\f[R] (for \f[I]stdout\f[R]) if no output file was specified. The remaining lines contain the command-line arguments, one per line, in the order they appear. These do not include regular pandoc options and their arguments, but do include any options appearing after a \f[C]--\f[R] separator at the end of the line. .TP \f[B]\f[CB]--ignore-args\f[B]\f[R] Ignore command-line arguments (for use in wrapper scripts). Regular pandoc options are not ignored. Thus, for example, .RS .IP .nf \f[C] pandoc --ignore-args -o foo.html -s foo.txt -- -e latin1 \f[R] .fi .PP is equivalent to .IP .nf \f[C] pandoc -o foo.html -s \f[R] .fi .RE .SH EXIT CODES .PP If pandoc completes successfully, it will return exit code 0. Nonzero exit codes have the following meanings: .PP .TS tab(@); r l. T{ Code T}@T{ Error T} _ T{ 3 T}@T{ PandocFailOnWarningError T} T{ 4 T}@T{ PandocAppError T} T{ 5 T}@T{ PandocTemplateError T} T{ 6 T}@T{ PandocOptionError T} T{ 21 T}@T{ PandocUnknownReaderError T} T{ 22 T}@T{ PandocUnknownWriterError T} T{ 23 T}@T{ PandocUnsupportedExtensionError T} T{ 31 T}@T{ PandocEpubSubdirectoryError T} T{ 43 T}@T{ PandocPDFError T} T{ 47 T}@T{ PandocPDFProgramNotFoundError T} T{ 61 T}@T{ PandocHttpError T} T{ 62 T}@T{ PandocShouldNeverHappenError T} T{ 63 T}@T{ PandocSomeError T} T{ 64 T}@T{ PandocParseError T} T{ 65 T}@T{ PandocParsecError T} T{ 66 T}@T{ PandocMakePDFError T} T{ 67 T}@T{ PandocSyntaxMapError T} T{ 83 T}@T{ PandocFilterError T} T{ 91 T}@T{ PandocMacroLoop T} T{ 92 T}@T{ PandocUTF8DecodingError T} T{ 93 T}@T{ PandocIpynbDecodingError T} T{ 97 T}@T{ PandocCouldNotFindDataFileError T} T{ 99 T}@T{ PandocResourceNotFound T} .TE .SH DEFAULT FILES .PP The \f[C]--defaults\f[R] option may be used to specify a package of options. Here is a sample defaults file demonstrating all of the fields that may be used: .IP .nf \f[C] from: markdown+emoji # reader: may be used instead of from: to: html5 # writer: may be used instead of to: # leave blank for output to stdout: output-file: # leave blank for input from stdin, use [] for no input: input-files: - preface.md - content.md # or you may use input-file: with a single value template: letter standalone: true self-contained: false # note that structured variables may be specified: variables: documentclass: book classoption: - twosides - draft # metadata values specified here are parsed as literal # string text, not markdown: metadata: author: - Sam Smith - Julie Liu metadata-files: - boilerplate.yaml # or you may use metadata-file: with a single value # Note that these take files, not their contents: include-before-body: [] include-after-body: [] include-in-header: [] resource-path: [\[dq].\[dq]] # filters will be assumed to be Lua filters if they have # the .lua extension, and json filters otherwise. But # the filter type can also be specified explicitly, as shown: filters: - pandoc-citeproc - wordcount.lua - type: json path: foo.lua file-scope: false data-dir: # ERROR, WARNING, or INFO verbosity: INFO log-file: log.json # citeproc, natbib, or biblatex cite-method: citeproc # part, chapter, section, or default: top-level-division: chapter abbreviations: pdf-engine: pdflatex pdf-engine-opts: - \[dq]-shell-escape\[dq] # you may also use pdf-engine-opt: with a single option # pdf-engine-opt: \[dq]-shell-escape\[dq] # auto, preserve, or none wrap: auto columns: 78 dpi: 72 extract-media: mediadir table-of-contents: true toc-depth: 2 number-sections: false # a list of offsets at each heading level number-offset: [0,0,0,0,0,0] # toc: may also be used instead of table-of-contents: shift-heading-level-by: 1 section-divs: true identifier-prefix: foo title-prefix: \[dq]\[dq] strip-empty-paragraphs: true # lf, crlf, or native eol: lf strip-comments: false indented-code-classes: [] ascii: true default-image-extension: \[dq].jpg\[dq] # either a style name of a style definition file: highlight-style: pygments syntax-definitions: - c.xml # or you may use syntax-definition: with a single value listings: false reference-doc: myref.docx # method is plain, webtex, gladtex, mathml, mathjax, katex # you may specify a url with webtex, mathjax, katex html-math-method: method: mathjax url: \[dq]https://cdn.jsdelivr.net/npm/mathjax\[at]3/es5/tex-mml-chtml.js\[dq] # none, references, or javascript email-obfuscation: javascript tab-stop: 8 preserve-tabs: true incremental: false slide-level: 2 epub-subdirectory: EPUB epub-metadata: meta.xml epub-fonts: - foobar.otf epub-chapter-level: 1 epub-cover-image: cover.jpg reference-links: true # block, section, or document reference-location: block atx-headers: false # accept, reject, or all track-changes: accept html-q-tags: false css: - site.css # none, all, or best ipynb-output: best # A list of two-element lists request-headers: - [\[dq]User-Agent\[dq], \[dq]Mozilla/5.0\[dq]] fail-if-warnings: false dump-args: false ignore-args: false trace: false \f[R] .fi .PP Fields that are omitted will just have their regular default values. So a defaults file can be as simple as one line: .IP .nf \f[C] verbosity: INFO \f[R] .fi .PP Default files can be placed in the \f[C]defaults\f[R] subdirectory of the user data directory and used from any directory. For example, one could create a file specifying defaults for writing letters, save it as \f[C]letter.yaml\f[R] in the \f[C]defaults\f[R] subdirectory of the user data directory, and then invoke these defaults from any directory using \f[C]pandoc --defaults letter\f[R] or \f[C]pandoc -dletter\f[R]. .PP When multiple defaults are used, their contents will be combined. .PP Note that, where command-line arguments may be repeated (\f[C]--metadata-file\f[R], \f[C]--css\f[R], \f[C]--include-in-header\f[R], \f[C]--include-before-body\f[R], \f[C]--include-after-body\f[R], \f[C]--variable\f[R], \f[C]--metadata\f[R], \f[C]--syntax-definition\f[R]), the values specified on the command line will combine with values specified in the defaults file, rather than replacing them. .SH TEMPLATES .PP When the \f[C]-s/--standalone\f[R] option is used, pandoc uses a template to add header and footer material that is needed for a self-standing document. To see the default template that is used, just type .IP .nf \f[C] pandoc -D *FORMAT* \f[R] .fi .PP where \f[I]FORMAT\f[R] is the name of the output format. A custom template can be specified using the \f[C]--template\f[R] option. You can also override the system default templates for a given output format \f[I]FORMAT\f[R] by putting a file \f[C]templates/default.*FORMAT*\f[R] in the user data directory (see \f[C]--data-dir\f[R], above). \f[I]Exceptions:\f[R] .IP \[bu] 2 For \f[C]odt\f[R] output, customize the \f[C]default.opendocument\f[R] template. .IP \[bu] 2 For \f[C]pdf\f[R] output, customize the \f[C]default.latex\f[R] template (or the \f[C]default.context\f[R] template, if you use \f[C]-t context\f[R], or the \f[C]default.ms\f[R] template, if you use \f[C]-t ms\f[R], or the \f[C]default.html\f[R] template, if you use \f[C]-t html\f[R]). .IP \[bu] 2 \f[C]docx\f[R] and \f[C]pptx\f[R] have no template (however, you can use \f[C]--reference-doc\f[R] to customize the output). .PP Templates contain \f[I]variables\f[R], which allow for the inclusion of arbitrary information at any point in the file. They may be set at the command line using the \f[C]-V/--variable\f[R] option. If a variable is not set, pandoc will look for the key in the document\[aq]s metadata, which can be set using either YAML metadata blocks or with the \f[C]-M/--metadata\f[R] option. In addition, some variables are given default values by pandoc. See Variables below for a list of variables used in pandoc\[aq]s default templates. .PP If you use custom templates, you may need to revise them as pandoc changes. We recommend tracking the changes in the default templates, and modifying your custom templates accordingly. An easy way to do this is to fork the pandoc-templates repository and merge in changes after each pandoc release. .SS Template syntax .SS Comments .PP Anything between the sequence \f[C]$--\f[R] and the end of the line will be treated as a comment and omitted from the output. .SS Delimiters .PP To mark variables and control structures in the template, either \f[C]$\f[R]...\f[C]$\f[R] or \f[C]${\f[R]...\f[C]}\f[R] may be used as delimiters. The styles may also be mixed in the same template, but the opening and closing delimiter must match in each case. The opening delimiter may be followed by one or more spaces or tabs, which will be ignored. The closing delimiter may be followed by one or more spaces or tabs, which will be ignored. .PP To include a literal \f[C]$\f[R] in the document, use \f[C]$$\f[R]. .SS Interpolated variables .PP A slot for an interpolated variable is a variable name surrounded by matched delimiters. Variable names must begin with a letter and can contain letters, numbers, \f[C]_\f[R], \f[C]-\f[R], and \f[C].\f[R]. The keywords \f[C]it\f[R], \f[C]if\f[R], \f[C]else\f[R], \f[C]endif\f[R], \f[C]for\f[R], \f[C]sep\f[R], and \f[C]endfor\f[R] may not be used as variable names. Examples: .IP .nf \f[C] $foo$ $foo.bar.baz$ $foo_bar.baz-bim$ $ foo $ ${foo} ${foo.bar.baz} ${foo_bar.baz-bim} ${ foo } \f[R] .fi .PP Variable names with periods are used to get at structured variable values. So, for example, \f[C]employee.salary\f[R] will return the value of the \f[C]salary\f[R] field of the object that is the value of the \f[C]employee\f[R] field. .IP \[bu] 2 If the value of the variable is simple value, it will be rendered verbatim. (Note that no escaping is done; the assumption is that the calling program will escape the strings appropriately for the output format.) .IP \[bu] 2 If the value is a list, the values will be concatenated. .IP \[bu] 2 If the value is a map, the string \f[C]true\f[R] will be rendered. .IP \[bu] 2 Every other value will be rendered as the empty string. .SS Conditionals .PP A conditional begins with \f[C]if(variable)\f[R] (enclosed in matched delimiters) and ends with \f[C]endif\f[R] (enclosed in matched delimiters). It may optionally contain an \f[C]else\f[R] (enclosed in matched delimiters). The \f[C]if\f[R] section is used if \f[C]variable\f[R] has a non-empty value, otherwise the \f[C]else\f[R] section is used (if present). Examples: .IP .nf \f[C] $if(foo)$bar$endif$ $if(foo)$ $foo$ $endif$ $if(foo)$ part one $else$ part two $endif$ ${if(foo)}bar${endif} ${if(foo)} ${foo} ${endif} ${if(foo)} ${ foo.bar } ${else} no foo! ${endif} \f[R] .fi .PP The keyword \f[C]elseif\f[R] may be used to simplify complex nested conditionals: .IP .nf \f[C] $if(foo)$ XXX $elseif(bar)$ YYY $else$ ZZZ $endif$ \f[R] .fi .SS For loops .PP A for loop begins with \f[C]for(variable)\f[R] (enclosed in matched delimiters) and ends with \f[C]endfor\f[R] (enclosed in matched delimiters. .IP \[bu] 2 If \f[C]variable\f[R] is an array, the material inside the loop will be evaluated repeatedly, with \f[C]variable\f[R] being set to each value of the array in turn, and concatenated. .IP \[bu] 2 If \f[C]variable\f[R] is a map, the material inside will be set to the map. .IP \[bu] 2 If the value of the associated variable is not an array or a map, a single iteration will be performed on its value. .PP Examples: .IP .nf \f[C] $for(foo)$$foo$$sep$, $endfor$ $for(foo)$ - $foo.last$, $foo.first$ $endfor$ ${ for(foo.bar) } - ${ foo.bar.last }, ${ foo.bar.first } ${ endfor } $for(mymap)$ $it.name$: $it.office$ $endfor$ \f[R] .fi .PP You may optionally specify a separator between consecutive values using \f[C]sep\f[R] (enclosed in matched delimiters). The material between \f[C]sep\f[R] and the \f[C]endfor\f[R] is the separator. .IP .nf \f[C] ${ for(foo) }${ foo }${ sep }, ${ endfor } \f[R] .fi .PP Instead of using \f[C]variable\f[R] inside the loop, the special anaphoric keyword \f[C]it\f[R] may be used. .IP .nf \f[C] ${ for(foo.bar) } - ${ it.last }, ${ it.first } ${ endfor } \f[R] .fi .SS Partials .PP Partials (subtemplates stored in different files) may be included using the syntax .IP .nf \f[C] ${ boilerplate() } \f[R] .fi .PP Partials will be sought in the directory containing the main template, and will be assumed to have the same extension as the main template if they lack an explicit extension. (If the partials are not found here, they will also be sought in the \f[C]templates\f[R] subdirectory of the user data directory.) .PP Partials may optionally be applied to variables using a colon: .IP .nf \f[C] ${ date:fancy() } ${ articles:bibentry() } \f[R] .fi .PP If \f[C]articles\f[R] is an array, this will iterate over its values, applying the partial \f[C]bibentry()\f[R] to each one. So the second example above is equivalent to .IP .nf \f[C] ${ for(articles) } ${ it:bibentry() } ${ endfor } \f[R] .fi .PP Note that the anaphoric keyword \f[C]it\f[R] must be used when iterating over partials. In the above examples, the \f[C]bibentry\f[R] partial should contain \f[C]it.title\f[R] (and so on) instead of \f[C]articles.title\f[R]. .PP Final newlines are omitted from included partials. .PP Partials may include other partials. .PP A separator between values of an array may be specified in square brackets, immediately after the variable name or partial: .IP .nf \f[C] ${months[, ]}$ ${articles:bibentry()[; ]$ \f[R] .fi .PP The separator in this case is literal and (unlike with \f[C]sep\f[R] in an explicit \f[C]for\f[R] loop) cannot contain interpolated variables or other template directives. .SS Nesting .PP To ensure that content is \[dq]nested,\[dq] that is, subsequent lines indented, use the \f[C]\[ha]\f[R] directive: .IP .nf \f[C] $item.number$ $\[ha]$$item.description$ ($item.price$) \f[R] .fi .PP In this example, if \f[C]item.description\f[R] has multiple lines, they will all be indented to line up with the first line: .IP .nf \f[C] 00123 A fine bottle of 18-year old Oban whiskey. ($148) \f[R] .fi .PP To nest multiple lines to the same level, align them with the \f[C]\[ha]\f[R] directive in the template. For example: .IP .nf \f[C] $item.number$ $\[ha]$$item.description$ ($item.price$) (Available til $item.sellby$.) \f[R] .fi .PP will produce .IP .nf \f[C] 00123 A fine bottle of 18-year old Oban whiskey. ($148) (Available til March 30, 2020.) \f[R] .fi .PP If a variable occurs by itself on a line, preceded by whitespace and not followed by further text or directives on the same line, and the variable\[aq]s value contains multiple lines, it will be nested automatically. .SS Breakable spaces .PP Normally, spaces in the template itself (as opposed to values of the interpolated variables) are not breakable, but they can be made breakable in part of the template by using the \f[C]\[ti]\f[R] keyword (ended with another \f[C]\[ti]\f[R]). .IP .nf \f[C] $\[ti]$This long line may break if the document is rendered with a short line length.$\[ti]$ \f[R] .fi .SS Pipes .PP A pipe transforms the value of a variable or partial. Pipes are specified using a slash (\f[C]/\f[R]) between the variable name (or partial) and the pipe name. Example: .IP .nf \f[C] $for(name)$ $name/uppercase$ $endfor$ $for(metadata/pairs)$ - $it.key$: $it.value$ $endfor$ $employee:name()/uppercase$ \f[R] .fi .PP Pipes may be chained: .IP .nf \f[C] $for(employees/pairs)$ $it.key/alpha/uppercase$. $it.name$ $endfor$ \f[R] .fi .PP Some pipes take parameters: .IP .nf \f[C] |----------------------|------------| $for(employee)$ $it.name.first/uppercase/left 20 \[dq]| \[dq]$$it.name.salary/right 10 \[dq] | \[dq] \[dq] |\[dq]$ $endfor$ |----------------------|------------| \f[R] .fi .PP Currently the following pipes are predefined: .IP \[bu] 2 \f[C]pairs\f[R]: Converts a map or array to an array of maps, each with \f[C]key\f[R] and \f[C]value\f[R] fields. If the original value was an array, the \f[C]key\f[R] will be the array index, starting with 1. .IP \[bu] 2 \f[C]uppercase\f[R]: Converts text to uppercase. .IP \[bu] 2 \f[C]lowercase\f[R]: Converts text to lowercase. .IP \[bu] 2 \f[C]length\f[R]: Returns the length of the value: number of characters for a textual value, number of elements for a map or array. .IP \[bu] 2 \f[C]reverse\f[R]: Reverses a textual value or array, and has no effect on other values. .IP \[bu] 2 \f[C]chomp\f[R]: Removes trailing newlines (and breakable space). .IP \[bu] 2 \f[C]nowrap\f[R]: Disables line wrapping on breakable spaces. .IP \[bu] 2 \f[C]alpha\f[R]: Converts textual values that can be read as an integer into lowercase alphabetic characters \f[C]a..z\f[R] (mod 26). This can be used to get lettered enumeration from array indices. To get uppercase letters, chain with \f[C]uppercase\f[R]. .IP \[bu] 2 \f[C]roman\f[R]: Converts textual values that can be read as an integer into lowercase roman numerials. This can be used to get lettered enumeration from array indices. To get uppercase roman, chain with \f[C]uppercase\f[R]. .IP \[bu] 2 \f[C]left n \[dq]leftborder\[dq] \[dq]rightborder\[dq]\f[R]: Renders a textual value in a block of width \f[C]n\f[R], aligned to the left, with an optional left and right border. Has no effect on other values. This can be used to align material in tables. Widths are positive integers indicating the number of characters. Borders are strings inside double quotes; literal \f[C]\[dq]\f[R] and \f[C]\[rs]\f[R] characters must be backslash-escaped. .IP \[bu] 2 \f[C]right n \[dq]leftborder\[dq] \[dq]rightborder\[dq]\f[R]: Renders a textual value in a block of width \f[C]n\f[R], aligned to the right, and has no effect on other values. .IP \[bu] 2 \f[C]center n \[dq]leftborder\[dq] \[dq]rightborder\[dq]\f[R]: Renders a textual value in a block of width \f[C]n\f[R], aligned to the center, and has no effect on other values. .SS Variables .SS Metadata variables .TP \f[B]\f[CB]title\f[B]\f[R], \f[B]\f[CB]author\f[B]\f[R], \f[B]\f[CB]date\f[B]\f[R] allow identification of basic aspects of the document. Included in PDF metadata through LaTeX and ConTeXt. These can be set through a pandoc title block, which allows for multiple authors, or through a YAML metadata block: .RS .IP .nf \f[C] --- author: - Aristotle - Peter Abelard \&... \f[R] .fi .PP Note that if you just want to set PDF or HTML metadata, without including a title block in the document itself, you can set the \f[C]title-meta\f[R], \f[C]author-meta\f[R], and \f[C]date-meta\f[R] variables. (By default these are set automatically, based on \f[C]title\f[R], \f[C]author\f[R], and \f[C]date\f[R].) .RE .TP \f[B]\f[CB]subtitle\f[B]\f[R] document subtitle, included in HTML, EPUB, LaTeX, ConTeXt, and docx documents .TP \f[B]\f[CB]abstract\f[B]\f[R] document summary, included in LaTeX, ConTeXt, AsciiDoc, and docx documents .TP \f[B]\f[CB]keywords\f[B]\f[R] list of keywords to be included in HTML, PDF, ODT, pptx, docx and AsciiDoc metadata; repeat as for \f[C]author\f[R], above .TP \f[B]\f[CB]subject\f[B]\f[R] document subject, included in ODT, PDF, docx and pptx metadata .TP \f[B]\f[CB]description\f[B]\f[R] document description, included in ODT, docx and pptx metadata. Some applications show this as \f[C]Comments\f[R] metadata. .TP \f[B]\f[CB]category\f[B]\f[R] document category, included in docx and pptx metadata .PP Additionally, any root-level string metadata, not included in ODT, docx or pptx metadata is added as a \f[I]custom property\f[R]. The following YAML metadata block for instance: .IP .nf \f[C] --- title: \[aq]This is the title\[aq] subtitle: \[dq]This is the subtitle\[dq] author: - Author One - Author Two description: | This is a long description. It consists of two paragraphs \&... \f[R] .fi .PP will include \f[C]title\f[R], \f[C]author\f[R] and \f[C]description\f[R] as standard document properties and \f[C]subtitle\f[R] as a custom property when converting to docx, ODT or pptx. .SS Language variables .TP \f[B]\f[CB]lang\f[B]\f[R] identifies the main language of the document using IETF language tags (following the BCP 47 standard), such as \f[C]en\f[R] or \f[C]en-GB\f[R]. The Language subtag lookup tool can look up or verify these tags. This affects most formats, and controls hyphenation in PDF output when using LaTeX (through \f[C]babel\f[R] and \f[C]polyglossia\f[R]) or ConTeXt. .RS .PP Use native pandoc Divs and Spans with the \f[C]lang\f[R] attribute to switch the language: .IP .nf \f[C] --- lang: en-GB \&... Text in the main document language (British English). ::: {lang=fr-CA} > Cette citation est \['e]crite en fran\[,c]ais canadien. ::: More text in English. [\[aq]Zitat auf Deutsch.\[aq]]{lang=de} \f[R] .fi .RE .TP \f[B]\f[CB]dir\f[B]\f[R] the base script direction, either \f[C]rtl\f[R] (right-to-left) or \f[C]ltr\f[R] (left-to-right). .RS .PP For bidirectional documents, native pandoc \f[C]span\f[R]s and \f[C]div\f[R]s with the \f[C]dir\f[R] attribute (value \f[C]rtl\f[R] or \f[C]ltr\f[R]) can be used to override the base direction in some output formats. This may not always be necessary if the final renderer (e.g. the browser, when generating HTML) supports the Unicode Bidirectional Algorithm. .PP When using LaTeX for bidirectional documents, only the \f[C]xelatex\f[R] engine is fully supported (use \f[C]--pdf-engine=xelatex\f[R]). .RE .SS Variables for HTML math .TP \f[B]\f[CB]classoption\f[B]\f[R] when using KaTeX, you can render display math equations flush left using YAML metadata or with \f[C]-M classoption=fleqn\f[R]. .SS Variables for HTML slides .PP These affect HTML output when producing slide shows with pandoc. .PP All reveal.js configuration options are available as variables. To turn off boolean flags that default to true in reveal.js, use \f[C]0\f[R]. .TP \f[B]\f[CB]revealjs-url\f[B]\f[R] base URL for reveal.js documents (defaults to \f[C]reveal.js\f[R]) .TP \f[B]\f[CB]s5-url\f[B]\f[R] base URL for S5 documents (defaults to \f[C]s5/default\f[R]) .TP \f[B]\f[CB]slidy-url\f[B]\f[R] base URL for Slidy documents (defaults to \f[C]https://www.w3.org/Talks/Tools/Slidy2\f[R]) .TP \f[B]\f[CB]slideous-url\f[B]\f[R] base URL for Slideous documents (defaults to \f[C]slideous\f[R]) .TP \f[B]\f[CB]title-slide-attributes\f[B]\f[R] additional attributes for the title slide of reveal.js slide shows. See background in reveal.js and beamer for an example. .SS Variables for Beamer slides .PP These variables change the appearance of PDF slides using \f[C]beamer\f[R]. .TP \f[B]\f[CB]aspectratio\f[B]\f[R] slide aspect ratio (\f[C]43\f[R] for 4:3 [default], \f[C]169\f[R] for 16:9, \f[C]1610\f[R] for 16:10, \f[C]149\f[R] for 14:9, \f[C]141\f[R] for 1.41:1, \f[C]54\f[R] for 5:4, \f[C]32\f[R] for 3:2) .TP \f[B]\f[CB]beamerarticle\f[B]\f[R] produce an article from Beamer slides .TP \f[B]\f[CB]beameroption\f[B]\f[R] add extra beamer option with \f[C]\[rs]setbeameroption{}\f[R] .TP \f[B]\f[CB]institute\f[B]\f[R] author affiliations: can be a list when there are multiple authors .TP \f[B]\f[CB]logo\f[B]\f[R] logo image for slides .TP \f[B]\f[CB]navigation\f[B]\f[R] controls navigation symbols (default is \f[C]empty\f[R] for no navigation symbols; other valid values are \f[C]frame\f[R], \f[C]vertical\f[R], and \f[C]horizontal\f[R]) .TP \f[B]\f[CB]section-titles\f[B]\f[R] enables \[dq]title pages\[dq] for new sections (default is true) .TP \f[B]\f[CB]theme\f[B]\f[R], \f[B]\f[CB]colortheme\f[B]\f[R], \f[B]\f[CB]fonttheme\f[B]\f[R], \f[B]\f[CB]innertheme\f[B]\f[R], \f[B]\f[CB]outertheme\f[B]\f[R] beamer themes .TP \f[B]\f[CB]themeoptions\f[B]\f[R] options for LaTeX beamer themes (a list). .TP \f[B]\f[CB]titlegraphic\f[B]\f[R] image for title slide .SS Variables for PowerPoint .PP These variables control the visual aspects of a slide show that are not easily controlled via templates. .TP \f[B]\f[CB]monofont\f[B]\f[R] font to use for code. .SS Variables for LaTeX .PP Pandoc uses these variables when creating a PDF with a LaTeX engine. .SS Layout .TP \f[B]\f[CB]block-headings\f[B]\f[R] make \f[C]\[rs]paragraph\f[R] and \f[C]\[rs]subparagraph\f[R] (fourth- and fifth-level headings, or fifth- and sixth-level with book classes) free-standing rather than run-in; requires further formatting to distinguish from \f[C]\[rs]subsubsection\f[R] (third- or fourth-level headings). Instead of using this option, KOMA-Script can adjust headings more extensively: .RS .IP .nf \f[C] --- documentclass: scrartcl header-includes: | \[rs]RedeclareSectionCommand[ beforeskip=-10pt plus -2pt minus -1pt, afterskip=1sp plus -1sp minus 1sp, font=\[rs]normalfont\[rs]itshape]{paragraph} \[rs]RedeclareSectionCommand[ beforeskip=-10pt plus -2pt minus -1pt, afterskip=1sp plus -1sp minus 1sp, font=\[rs]normalfont\[rs]scshape, indent=0pt]{subparagraph} \&... \f[R] .fi .RE .TP \f[B]\f[CB]classoption\f[B]\f[R] option for document class, e.g. \f[C]oneside\f[R]; repeat for multiple options: .RS .IP .nf \f[C] --- classoption: - twocolumn - landscape \&... \f[R] .fi .RE .TP \f[B]\f[CB]documentclass\f[B]\f[R] document class: usually one of the standard classes, \f[C]article\f[R], \f[C]book\f[R], and \f[C]report\f[R]; the KOMA-Script equivalents, \f[C]scrartcl\f[R], \f[C]scrbook\f[R], and \f[C]scrreprt\f[R], which default to smaller margins; or \f[C]memoir\f[R] .TP \f[B]\f[CB]geometry\f[B]\f[R] option for \f[C]geometry\f[R] package, e.g. \f[C]margin=1in\f[R]; repeat for multiple options: .RS .IP .nf \f[C] --- geometry: - top=30mm - left=20mm - heightrounded \&... \f[R] .fi .RE .TP \f[B]\f[CB]hyperrefoptions\f[B]\f[R] option for \f[C]hyperref\f[R] package, e.g. \f[C]linktoc=all\f[R]; repeat for multiple options: .RS .IP .nf \f[C] --- hyperrefoptions: - linktoc=all - pdfwindowui - pdfpagemode=FullScreen \&... \f[R] .fi .RE .TP \f[B]\f[CB]indent\f[B]\f[R] uses document class settings for indentation (the default LaTeX template otherwise removes indentation and adds space between paragraphs) .TP \f[B]\f[CB]linestretch\f[B]\f[R] adjusts line spacing using the \f[C]setspace\f[R] package, e.g. \f[C]1.25\f[R], \f[C]1.5\f[R] .TP \f[B]\f[CB]margin-left\f[B]\f[R], \f[B]\f[CB]margin-right\f[B]\f[R], \f[B]\f[CB]margin-top\f[B]\f[R], \f[B]\f[CB]margin-bottom\f[B]\f[R] sets margins if \f[C]geometry\f[R] is not used (otherwise \f[C]geometry\f[R] overrides these) .TP \f[B]\f[CB]pagestyle\f[B]\f[R] control \f[C]\[rs]pagestyle{}\f[R]: the default article class supports \f[C]plain\f[R] (default), \f[C]empty\f[R] (no running heads or page numbers), and \f[C]headings\f[R] (section titles in running heads) .TP \f[B]\f[CB]papersize\f[B]\f[R] paper size, e.g. \f[C]letter\f[R], \f[C]a4\f[R] .TP \f[B]\f[CB]secnumdepth\f[B]\f[R] numbering depth for sections (with \f[C]--number-sections\f[R] option or \f[C]numbersections\f[R] variable) .SS Fonts .TP \f[B]\f[CB]fontenc\f[B]\f[R] allows font encoding to be specified through \f[C]fontenc\f[R] package (with \f[C]pdflatex\f[R]); default is \f[C]T1\f[R] (see LaTeX font encodings guide) .TP \f[B]\f[CB]fontfamily\f[B]\f[R] font package for use with \f[C]pdflatex\f[R]: TeX Live includes many options, documented in the LaTeX Font Catalogue. The default is Latin Modern. .TP \f[B]\f[CB]fontfamilyoptions\f[B]\f[R] options for package used as \f[C]fontfamily\f[R]; repeat for multiple options. For example, to use the Libertine font with proportional lowercase (old-style) figures through the \f[C]libertinus\f[R] package: .RS .IP .nf \f[C] --- fontfamily: libertinus fontfamilyoptions: - osf - p \&... \f[R] .fi .RE .TP \f[B]\f[CB]fontsize\f[B]\f[R] font size for body text. The standard classes allow 10pt, 11pt, and 12pt. To use another size, set \f[C]documentclass\f[R] to one of the KOMA-Script classes, such as \f[C]scrartcl\f[R] or \f[C]scrbook\f[R]. .TP \f[B]\f[CB]mainfont\f[B]\f[R], \f[B]\f[CB]sansfont\f[B]\f[R], \f[B]\f[CB]monofont\f[B]\f[R], \f[B]\f[CB]mathfont\f[B]\f[R], \f[B]\f[CB]CJKmainfont\f[B]\f[R] font families for use with \f[C]xelatex\f[R] or \f[C]lualatex\f[R]: take the name of any system font, using the \f[C]fontspec\f[R] package. \f[C]CJKmainfont\f[R] uses the \f[C]xecjk\f[R] package. .TP \f[B]\f[CB]mainfontoptions\f[B]\f[R], \f[B]\f[CB]sansfontoptions\f[B]\f[R], \f[B]\f[CB]monofontoptions\f[B]\f[R], \f[B]\f[CB]mathfontoptions\f[B]\f[R], \f[B]\f[CB]CJKoptions\f[B]\f[R] options to use with \f[C]mainfont\f[R], \f[C]sansfont\f[R], \f[C]monofont\f[R], \f[C]mathfont\f[R], \f[C]CJKmainfont\f[R] in \f[C]xelatex\f[R] and \f[C]lualatex\f[R]. Allow for any choices available through \f[C]fontspec\f[R]; repeat for multiple options. For example, to use the TeX Gyre version of Palatino with lowercase figures: .RS .IP .nf \f[C] --- mainfont: TeX Gyre Pagella mainfontoptions: - Numbers=Lowercase - Numbers=Proportional \&... \f[R] .fi .RE .TP \f[B]\f[CB]microtypeoptions\f[B]\f[R] options to pass to the microtype package .SS Links .TP \f[B]\f[CB]colorlinks\f[B]\f[R] add color to link text; automatically enabled if any of \f[C]linkcolor\f[R], \f[C]filecolor\f[R], \f[C]citecolor\f[R], \f[C]urlcolor\f[R], or \f[C]toccolor\f[R] are set .TP \f[B]\f[CB]linkcolor\f[B]\f[R], \f[B]\f[CB]filecolor\f[B]\f[R], \f[B]\f[CB]citecolor\f[B]\f[R], \f[B]\f[CB]urlcolor\f[B]\f[R], \f[B]\f[CB]toccolor\f[B]\f[R] color for internal links, external links, citation links, linked URLs, and links in table of contents, respectively: uses options allowed by \f[C]xcolor\f[R], including the \f[C]dvipsnames\f[R], \f[C]svgnames\f[R], and \f[C]x11names\f[R] lists .TP \f[B]\f[CB]links-as-notes\f[B]\f[R] causes links to be printed as footnotes .SS Front matter .TP \f[B]\f[CB]lof\f[B]\f[R], \f[B]\f[CB]lot\f[B]\f[R] include list of figures, list of tables .TP \f[B]\f[CB]thanks\f[B]\f[R] contents of acknowledgments footnote after document title .TP \f[B]\f[CB]toc\f[B]\f[R] include table of contents (can also be set using \f[C]--toc/--table-of-contents\f[R]) .TP \f[B]\f[CB]toc-depth\f[B]\f[R] level of section to include in table of contents .SS BibLaTeX Bibliographies .PP These variables function when using BibLaTeX for citation rendering. .TP \f[B]\f[CB]biblatexoptions\f[B]\f[R] list of options for biblatex .TP \f[B]\f[CB]biblio-style\f[B]\f[R] bibliography style, when used with \f[C]--natbib\f[R] and \f[C]--biblatex\f[R]. .TP \f[B]\f[CB]biblio-title\f[B]\f[R] bibliography title, when used with \f[C]--natbib\f[R] and \f[C]--biblatex\f[R]. .TP \f[B]\f[CB]bibliography\f[B]\f[R] bibliography to use for resolving references .TP \f[B]\f[CB]natbiboptions\f[B]\f[R] list of options for natbib .SS Variables for ConTeXt .PP Pandoc uses these variables when creating a PDF with ConTeXt. .TP \f[B]\f[CB]fontsize\f[B]\f[R] font size for body text (e.g. \f[C]10pt\f[R], \f[C]12pt\f[R]) .TP \f[B]\f[CB]headertext\f[B]\f[R], \f[B]\f[CB]footertext\f[B]\f[R] text to be placed in running header or footer (see ConTeXt Headers and Footers); repeat up to four times for different placement .TP \f[B]\f[CB]indenting\f[B]\f[R] controls indentation of paragraphs, e.g. \f[C]yes,small,next\f[R] (see ConTeXt Indentation); repeat for multiple options .TP \f[B]\f[CB]interlinespace\f[B]\f[R] adjusts line spacing, e.g. \f[C]4ex\f[R] (using \f[C]setupinterlinespace\f[R]); repeat for multiple options .TP \f[B]\f[CB]layout\f[B]\f[R] options for page margins and text arrangement (see ConTeXt Layout); repeat for multiple options .TP \f[B]\f[CB]linkcolor\f[B]\f[R], \f[B]\f[CB]contrastcolor\f[B]\f[R] color for links outside and inside a page, e.g. \f[C]red\f[R], \f[C]blue\f[R] (see ConTeXt Color) .TP \f[B]\f[CB]linkstyle\f[B]\f[R] typeface style for links, e.g. \f[C]normal\f[R], \f[C]bold\f[R], \f[C]slanted\f[R], \f[C]boldslanted\f[R], \f[C]type\f[R], \f[C]cap\f[R], \f[C]small\f[R] .TP \f[B]\f[CB]lof\f[B]\f[R], \f[B]\f[CB]lot\f[B]\f[R] include list of figures, list of tables .TP \f[B]\f[CB]mainfont\f[B]\f[R], \f[B]\f[CB]sansfont\f[B]\f[R], \f[B]\f[CB]monofont\f[B]\f[R], \f[B]\f[CB]mathfont\f[B]\f[R] font families: take the name of any system font (see ConTeXt Font Switching) .TP \f[B]\f[CB]margin-left\f[B]\f[R], \f[B]\f[CB]margin-right\f[B]\f[R], \f[B]\f[CB]margin-top\f[B]\f[R], \f[B]\f[CB]margin-bottom\f[B]\f[R] sets margins, if \f[C]layout\f[R] is not used (otherwise \f[C]layout\f[R] overrides these) .TP \f[B]\f[CB]pagenumbering\f[B]\f[R] page number style and location (using \f[C]setuppagenumbering\f[R]); repeat for multiple options .TP \f[B]\f[CB]papersize\f[B]\f[R] paper size, e.g. \f[C]letter\f[R], \f[C]A4\f[R], \f[C]landscape\f[R] (see ConTeXt Paper Setup); repeat for multiple options .TP \f[B]\f[CB]pdfa\f[B]\f[R] adds to the preamble the setup necessary to generate PDF/A of the type specified, e.g. \f[C]1a:2005\f[R], \f[C]2a\f[R]. If no type is specified (i.e. the value is set to True, by e.g. \f[C]--metadata=pdfa\f[R] or \f[C]pdfa: true\f[R] in a YAML metadata block), \f[C]1b:2005\f[R] will be used as default, for reasons of backwards compatibility. Using \f[C]--variable=pdfa\f[R] without specified value is not supported. To successfully generate PDF/A the required ICC color profiles have to be available and the content and all included files (such as images) have to be standard conforming. The ICC profiles and output intent may be specified using the variables \f[C]pdfaiccprofile\f[R] and \f[C]pdfaintent\f[R]. See also ConTeXt PDFA for more details. .TP \f[B]\f[CB]pdfaiccprofile\f[B]\f[R] when used in conjunction with \f[C]pdfa\f[R], specifies the ICC profile to use in the PDF, e.g. \f[C]default.cmyk\f[R]. If left unspecified, \f[C]sRGB.icc\f[R] is used as default. May be repeated to include multiple profiles. Note that the profiles have to be available on the system. They can be obtained from ConTeXt ICC Profiles. .TP \f[B]\f[CB]pdfaintent\f[B]\f[R] when used in conjunction with \f[C]pdfa\f[R], specifies the output intent for the colors, e.g. \f[C]ISO coated v2 300\[rs]letterpercent\[rs]space (ECI)\f[R] If left unspecified, \f[C]sRGB IEC61966-2.1\f[R] is used as default. .TP \f[B]\f[CB]toc\f[B]\f[R] include table of contents (can also be set using \f[C]--toc/--table-of-contents\f[R]) .TP \f[B]\f[CB]whitespace\f[B]\f[R] spacing between paragraphs, e.g. \f[C]none\f[R], \f[C]small\f[R] (using \f[C]setupwhitespace\f[R]) .TP \f[B]\f[CB]includesource\f[B]\f[R] include all source documents as file attachments in the PDF file .SS Variables for \f[C]wkhtmltopdf\f[R] .PP Pandoc uses these variables when creating a PDF with \f[C]wkhtmltopdf\f[R]. The \f[C]--css\f[R] option also affects the output. .TP \f[B]\f[CB]footer-html\f[B]\f[R], \f[B]\f[CB]header-html\f[B]\f[R] add information to the header and footer .TP \f[B]\f[CB]margin-left\f[B]\f[R], \f[B]\f[CB]margin-right\f[B]\f[R], \f[B]\f[CB]margin-top\f[B]\f[R], \f[B]\f[CB]margin-bottom\f[B]\f[R] set the page margins .TP \f[B]\f[CB]papersize\f[B]\f[R] sets the PDF paper size .SS Variables for man pages .TP \f[B]\f[CB]adjusting\f[B]\f[R] adjusts text to left (\f[C]l\f[R]), right (\f[C]r\f[R]), center (\f[C]c\f[R]), or both (\f[C]b\f[R]) margins .TP \f[B]\f[CB]footer\f[B]\f[R] footer in man pages .TP \f[B]\f[CB]header\f[B]\f[R] header in man pages .TP \f[B]\f[CB]hyphenate\f[B]\f[R] if \f[C]true\f[R] (the default), hyphenation will be used .TP \f[B]\f[CB]section\f[B]\f[R] section number in man pages .SS Variables for ms .TP \f[B]\f[CB]fontfamily\f[B]\f[R] font family (e.g. \f[C]T\f[R] or \f[C]P\f[R]) .TP \f[B]\f[CB]indent\f[B]\f[R] paragraph indent (e.g. \f[C]2m\f[R]) .TP \f[B]\f[CB]lineheight\f[B]\f[R] line height (e.g. \f[C]12p\f[R]) .TP \f[B]\f[CB]pointsize\f[B]\f[R] point size (e.g. \f[C]10p\f[R]) .SS Variables set automatically .PP Pandoc sets these variables automatically in response to options or document contents; users can also modify them. These vary depending on the output format, and include the following: .TP \f[B]\f[CB]body\f[B]\f[R] body of document .TP \f[B]\f[CB]date-meta\f[B]\f[R] the \f[C]date\f[R] variable converted to ISO 8601 YYYY-MM-DD, included in all HTML based formats (dzslides, epub, html, html4, html5, revealjs, s5, slideous, slidy). The recognized formats for \f[C]date\f[R] are: \f[C]mm/dd/yyyy\f[R], \f[C]mm/dd/yy\f[R], \f[C]yyyy-mm-dd\f[R] (ISO 8601), \f[C]dd MM yyyy\f[R] (e.g. either \f[C]02 Apr 2018\f[R] or \f[C]02 April 2018\f[R]), \f[C]MM dd, yyyy\f[R] (e.g. \f[C]Apr. 02, 2018\f[R] or \f[C]April 02, 2018),\f[R]yyyy[mm[dd]]]\f[C](e.g.\f[R]20180402, \f[C]201804\f[R] or \f[C]2018\f[R]). .TP \f[B]\f[CB]header-includes\f[B]\f[R] contents specified by \f[C]-H/--include-in-header\f[R] (may have multiple values) .TP \f[B]\f[CB]include-before\f[B]\f[R] contents specified by \f[C]-B/--include-before-body\f[R] (may have multiple values) .TP \f[B]\f[CB]include-after\f[B]\f[R] contents specified by \f[C]-A/--include-after-body\f[R] (may have multiple values) .TP \f[B]\f[CB]meta-json\f[B]\f[R] JSON representation of all of the document\[aq]s metadata. Field values are transformed to the selected output format. .TP \f[B]\f[CB]numbersections\f[B]\f[R] non-null value if \f[C]-N/--number-sections\f[R] was specified .TP \f[B]\f[CB]sourcefile\f[B]\f[R], \f[B]\f[CB]outputfile\f[B]\f[R] source and destination filenames, as given on the command line. \f[C]sourcefile\f[R] can also be a list if input comes from multiple files, or empty if input is from stdin. You can use the following snippet in your template to distinguish them: .RS .IP .nf \f[C] $if(sourcefile)$ $for(sourcefile)$ $sourcefile$ $endfor$ $else$ (stdin) $endif$ \f[R] .fi .PP Similarly, \f[C]outputfile\f[R] can be \f[C]-\f[R] if output goes to the terminal. .PP If you need absolute paths, use e.g. \f[C]$curdir$/$sourcefile$\f[R]. .RE .TP \f[B]\f[CB]curdir\f[B]\f[R] working directory from which pandoc is run. .TP \f[B]\f[CB]toc\f[B]\f[R] non-null value if \f[C]--toc/--table-of-contents\f[R] was specified .TP \f[B]\f[CB]toc-title\f[B]\f[R] title of table of contents (works only with EPUB, HTML, opendocument, odt, docx, pptx, beamer, LaTeX) .SH EXTENSIONS .PP The behavior of some of the readers and writers can be adjusted by enabling or disabling various extensions. .PP An extension can be enabled by adding \f[C]+EXTENSION\f[R] to the format name and disabled by adding \f[C]-EXTENSION\f[R]. For example, \f[C]--from markdown_strict+footnotes\f[R] is strict Markdown with footnotes enabled, while \f[C]--from markdown-footnotes-pipe_tables\f[R] is pandoc\[aq]s Markdown without footnotes or pipe tables. .PP The markdown reader and writer make by far the most use of extensions. Extensions only used by them are therefore covered in the section Pandoc\[aq]s Markdown below (See Markdown variants for \f[C]commonmark\f[R] and \f[C]gfm\f[R].) In the following, extensions that also work for other formats are covered. .PP Note that markdown extensions added to the \f[C]ipynb\f[R] format affect Markdown cells in Jupyter notebooks (as do command-line options like \f[C]--atx-headers\f[R]). .SS Typography .SS Extension: \f[C]smart\f[R] .PP Interpret straight quotes as curly quotes, \f[C]---\f[R] as em-dashes, \f[C]--\f[R] as en-dashes, and \f[C]...\f[R] as ellipses. Nonbreaking spaces are inserted after certain abbreviations, such as \[dq]Mr.\[dq] .PP This extension can be enabled/disabled for the following formats: .TP input formats \f[C]markdown\f[R], \f[C]commonmark\f[R], \f[C]latex\f[R], \f[C]mediawiki\f[R], \f[C]org\f[R], \f[C]rst\f[R], \f[C]twiki\f[R] .TP output formats \f[C]markdown\f[R], \f[C]latex\f[R], \f[C]context\f[R], \f[C]rst\f[R] .TP enabled by default in \f[C]markdown\f[R], \f[C]latex\f[R], \f[C]context\f[R] (both input and output) .PP Note: If you are \f[I]writing\f[R] Markdown, then the \f[C]smart\f[R] extension has the reverse effect: what would have been curly quotes comes out straight. .PP In LaTeX, \f[C]smart\f[R] means to use the standard TeX ligatures for quotation marks (\f[C]\[ga]\[ga]\f[R] and \f[C]\[aq]\[aq]\f[R] for double quotes, \f[C]\[ga]\f[R] and \f[C]\[aq]\f[R] for single quotes) and dashes (\f[C]--\f[R] for en-dash and \f[C]---\f[R] for em-dash). If \f[C]smart\f[R] is disabled, then in reading LaTeX pandoc will parse these characters literally. In writing LaTeX, enabling \f[C]smart\f[R] tells pandoc to use the ligatures when possible; if \f[C]smart\f[R] is disabled pandoc will use unicode quotation mark and dash characters. .SS Headings and sections .SS Extension: \f[C]auto_identifiers\f[R] .PP A heading without an explicitly specified identifier will be automatically assigned a unique identifier based on the heading text. .PP This extension can be enabled/disabled for the following formats: .TP input formats \f[C]markdown\f[R], \f[C]latex\f[R], \f[C]rst\f[R], \f[C]mediawiki\f[R], \f[C]textile\f[R] .TP output formats \f[C]markdown\f[R], \f[C]muse\f[R] .TP enabled by default in \f[C]markdown\f[R], \f[C]muse\f[R] .PP The default algorithm used to derive the identifier from the heading text is: .IP \[bu] 2 Remove all formatting, links, etc. .IP \[bu] 2 Remove all footnotes. .IP \[bu] 2 Remove all non-alphanumeric characters, except underscores, hyphens, and periods. .IP \[bu] 2 Replace all spaces and newlines with hyphens. .IP \[bu] 2 Convert all alphabetic characters to lowercase. .IP \[bu] 2 Remove everything up to the first letter (identifiers may not begin with a number or punctuation mark). .IP \[bu] 2 If nothing is left after this, use the identifier \f[C]section\f[R]. .PP Thus, for example, .PP .TS tab(@); l l. T{ Heading T}@T{ Identifier T} _ T{ \f[C]Heading identifiers in HTML\f[R] T}@T{ \f[C]heading-identifiers-in-html\f[R] T} T{ \f[C]Ma\[^i]tre d\[aq]h\[^o]tel\f[R] T}@T{ \f[C]ma\[^i]tre-dh\[^o]tel\f[R] T} T{ \f[C]*Dogs*?--in *my* house?\f[R] T}@T{ \f[C]dogs--in-my-house\f[R] T} T{ \f[C][HTML], [S5], or [RTF]?\f[R] T}@T{ \f[C]html-s5-or-rtf\f[R] T} T{ \f[C]3. Applications\f[R] T}@T{ \f[C]applications\f[R] T} T{ \f[C]33\f[R] T}@T{ \f[C]section\f[R] T} .TE .PP These rules should, in most cases, allow one to determine the identifier from the heading text. The exception is when several headings have the same text; in this case, the first will get an identifier as described above; the second will get the same identifier with \f[C]-1\f[R] appended; the third with \f[C]-2\f[R]; and so on. .PP (However, a different algorithm is used if \f[C]gfm_auto_identifiers\f[R] is enabled; see below.) .PP These identifiers are used to provide link targets in the table of contents generated by the \f[C]--toc|--table-of-contents\f[R] option. They also make it easy to provide links from one section of a document to another. A link to this section, for example, might look like this: .IP .nf \f[C] See the section on [heading identifiers](#heading-identifiers-in-html-latex-and-context). \f[R] .fi .PP Note, however, that this method of providing links to sections works only in HTML, LaTeX, and ConTeXt formats. .PP If the \f[C]--section-divs\f[R] option is specified, then each section will be wrapped in a \f[C]section\f[R] (or a \f[C]div\f[R], if \f[C]html4\f[R] was specified), and the identifier will be attached to the enclosing \f[C]
    \f[R] (or \f[C]
    \f[R]) tag rather than the heading itself. This allows entire sections to be manipulated using JavaScript or treated differently in CSS. .SS Extension: \f[C]ascii_identifiers\f[R] .PP Causes the identifiers produced by \f[C]auto_identifiers\f[R] to be pure ASCII. Accents are stripped off of accented Latin letters, and non-Latin letters are omitted. .SS Extension: \f[C]gfm_auto_identifiers\f[R] .PP Changes the algorithm used by \f[C]auto_identifiers\f[R] to conform to GitHub\[aq]s method. Spaces are converted to dashes (\f[C]-\f[R]), uppercase characters to lowercase characters, and punctuation characters other than \f[C]-\f[R] and \f[C]_\f[R] are removed. Emojis are replaced by their names. .SS Math Input .PP The extensions \f[C]tex_math_dollars\f[R], \f[C]tex_math_single_backslash\f[R], and \f[C]tex_math_double_backslash\f[R] are described in the section about Pandoc\[aq]s Markdown. .PP However, they can also be used with HTML input. This is handy for reading web pages formatted using MathJax, for example. .SS Raw HTML/TeX .PP The following extensions (especially how they affect Markdown input/output) are also described in more detail in their respective sections of Pandoc\[aq]s Markdown. .SS Extension: \f[C]raw_html\f[R] .PP When converting from HTML, parse elements to raw HTML which are not representable in pandoc\[aq]s AST. By default, this is disabled for HTML input. .SS Extension: \f[C]raw_tex\f[R] .PP Allows raw LaTeX, TeX, and ConTeXt to be included in a document. .PP This extension can be enabled/disabled for the following formats (in addition to \f[C]markdown\f[R]): .TP input formats \f[C]latex\f[R], \f[C]org\f[R], \f[C]textile\f[R], \f[C]html\f[R] (environments, \f[C]\[rs]ref\f[R], and \f[C]\[rs]eqref\f[R] only), \f[C]ipynb\f[R] .TP output formats \f[C]textile\f[R], \f[C]commonmark\f[R] .PP Note: as applied to \f[C]ipynb\f[R], \f[C]raw_html\f[R] and \f[C]raw_tex\f[R] affect not only raw TeX in markdown cells, but data with mime type \f[C]text/html\f[R] in output cells. Since the \f[C]ipynb\f[R] reader attempts to preserve the richest possible outputs when several options are given, you will get best results if you disable \f[C]raw_html\f[R] and \f[C]raw_tex\f[R] when converting to formats like \f[C]docx\f[R] which don\[aq]t allow raw \f[C]html\f[R] or \f[C]tex\f[R]. .SS Extension: \f[C]native_divs\f[R] .PP This extension is enabled by default for HTML input. This means that \f[C]div\f[R]s are parsed to pandoc native elements. (Alternatively, you can parse them to raw HTML using \f[C]-f html-native_divs+raw_html\f[R].) .PP When converting HTML to Markdown, for example, you may want to drop all \f[C]div\f[R]s and \f[C]span\f[R]s: .IP .nf \f[C] pandoc -f html-native_divs-native_spans -t markdown \f[R] .fi .SS Extension: \f[C]native_spans\f[R] .PP Analogous to \f[C]native_divs\f[R] above. .SS Literate Haskell support .SS Extension: \f[C]literate_haskell\f[R] .PP Treat the document as literate Haskell source. .PP This extension can be enabled/disabled for the following formats: .TP input formats \f[C]markdown\f[R], \f[C]rst\f[R], \f[C]latex\f[R] .TP output formats \f[C]markdown\f[R], \f[C]rst\f[R], \f[C]latex\f[R], \f[C]html\f[R] .PP If you append \f[C]+lhs\f[R] (or \f[C]+literate_haskell\f[R]) to one of the formats above, pandoc will treat the document as literate Haskell source. This means that .IP \[bu] 2 In Markdown input, \[dq]bird track\[dq] sections will be parsed as Haskell code rather than block quotations. Text between \f[C]\[rs]begin{code}\f[R] and \f[C]\[rs]end{code}\f[R] will also be treated as Haskell code. For ATX-style headings the character \[aq]=\[aq] will be used instead of \[aq]#\[aq]. .IP \[bu] 2 In Markdown output, code blocks with classes \f[C]haskell\f[R] and \f[C]literate\f[R] will be rendered using bird tracks, and block quotations will be indented one space, so they will not be treated as Haskell code. In addition, headings will be rendered setext-style (with underlines) rather than ATX-style (with \[aq]#\[aq] characters). (This is because ghc treats \[aq]#\[aq] characters in column 1 as introducing line numbers.) .IP \[bu] 2 In restructured text input, \[dq]bird track\[dq] sections will be parsed as Haskell code. .IP \[bu] 2 In restructured text output, code blocks with class \f[C]haskell\f[R] will be rendered using bird tracks. .IP \[bu] 2 In LaTeX input, text in \f[C]code\f[R] environments will be parsed as Haskell code. .IP \[bu] 2 In LaTeX output, code blocks with class \f[C]haskell\f[R] will be rendered inside \f[C]code\f[R] environments. .IP \[bu] 2 In HTML output, code blocks with class \f[C]haskell\f[R] will be rendered with class \f[C]literatehaskell\f[R] and bird tracks. .PP Examples: .IP .nf \f[C] pandoc -f markdown+lhs -t html \f[R] .fi .PP reads literate Haskell source formatted with Markdown conventions and writes ordinary HTML (without bird tracks). .IP .nf \f[C] pandoc -f markdown+lhs -t html+lhs \f[R] .fi .PP writes HTML with the Haskell code in bird tracks, so it can be copied and pasted as literate Haskell source. .PP Note that GHC expects the bird tracks in the first column, so indented literate code blocks (e.g. inside an itemized environment) will not be picked up by the Haskell compiler. .SS Other extensions .SS Extension: \f[C]empty_paragraphs\f[R] .PP Allows empty paragraphs. By default empty paragraphs are omitted. .PP This extension can be enabled/disabled for the following formats: .TP input formats \f[C]docx\f[R], \f[C]html\f[R] .TP output formats \f[C]docx\f[R], \f[C]odt\f[R], \f[C]opendocument\f[R], \f[C]html\f[R] .SS Extension: \f[C]native_numbering\f[R] .PP Enables native numbering of figures and tables. Enumeration starts at 1. .PP This extension can be enabled/disabled for the following formats: .TP output formats \f[C]odt\f[R], \f[C]opendocument\f[R] .SS Extension: \f[C]styles\f[R] .PP When converting from docx, read all docx styles as divs (for paragraph styles) and spans (for character styles) regardless of whether pandoc understands the meaning of these styles. This can be used with docx custom styles. Disabled by default. .TP input formats \f[C]docx\f[R] .SS Extension: \f[C]amuse\f[R] .PP In the \f[C]muse\f[R] input format, this enables Text::Amuse extensions to Emacs Muse markup. .SS Extension: \f[C]citations\f[R] .PP Some aspects of Pandoc\[aq]s Markdown citation syntax are also accepted in \f[C]org\f[R] input. .SS Extension: \f[C]ntb\f[R] .PP In the \f[C]context\f[R] output format this enables the use of Natural Tables (TABLE) instead of the default Extreme Tables (xtables). Natural tables allow more fine-grained global customization but come at a performance penalty compared to extreme tables. .SH PANDOC\[aq]S MARKDOWN .PP Pandoc understands an extended and slightly revised version of John Gruber\[aq]s Markdown syntax. This document explains the syntax, noting differences from standard Markdown. Except where noted, these differences can be suppressed by using the \f[C]markdown_strict\f[R] format instead of \f[C]markdown\f[R]. Extensions can be enabled or disabled to specify the behavior more granularly. They are described in the following. See also Extensions above, for extensions that work also on other formats. .SS Philosophy .PP Markdown is designed to be easy to write, and, even more importantly, easy to read: .RS .PP A Markdown-formatted document should be publishable as-is, as plain text, without looking like it\[aq]s been marked up with tags or formatting instructions. -- John Gruber .RE .PP This principle has guided pandoc\[aq]s decisions in finding syntax for tables, footnotes, and other extensions. .PP There is, however, one respect in which pandoc\[aq]s aims are different from the original aims of Markdown. Whereas Markdown was originally designed with HTML generation in mind, pandoc is designed for multiple output formats. Thus, while pandoc allows the embedding of raw HTML, it discourages it, and provides other, non-HTMLish ways of representing important document elements like definition lists, tables, mathematics, and footnotes. .SS Paragraphs .PP A paragraph is one or more lines of text followed by one or more blank lines. Newlines are treated as spaces, so you can reflow your paragraphs as you like. If you need a hard line break, put two or more spaces at the end of a line. .SS Extension: \f[C]escaped_line_breaks\f[R] .PP A backslash followed by a newline is also a hard line break. Note: in multiline and grid table cells, this is the only way to create a hard line break, since trailing spaces in the cells are ignored. .SS Headings .PP There are two kinds of headings: Setext and ATX. .SS Setext-style headings .PP A setext-style heading is a line of text \[dq]underlined\[dq] with a row of \f[C]=\f[R] signs (for a level-one heading) or \f[C]-\f[R] signs (for a level-two heading): .IP .nf \f[C] A level-one heading =================== A level-two heading ------------------- \f[R] .fi .PP The heading text can contain inline formatting, such as emphasis (see Inline formatting, below). .SS ATX-style headings .PP An ATX-style heading consists of one to six \f[C]#\f[R] signs and a line of text, optionally followed by any number of \f[C]#\f[R] signs. The number of \f[C]#\f[R] signs at the beginning of the line is the heading level: .IP .nf \f[C] ## A level-two heading ### A level-three heading ### \f[R] .fi .PP As with setext-style headings, the heading text can contain formatting: .IP .nf \f[C] # A level-one heading with a [link](/url) and *emphasis* \f[R] .fi .SS Extension: \f[C]blank_before_header\f[R] .PP Standard Markdown syntax does not require a blank line before a heading. Pandoc does require this (except, of course, at the beginning of the document). The reason for the requirement is that it is all too easy for a \f[C]#\f[R] to end up at the beginning of a line by accident (perhaps through line wrapping). Consider, for example: .IP .nf \f[C] I like several of their flavors of ice cream: #22, for example, and #5. \f[R] .fi .SS Extension: \f[C]space_in_atx_header\f[R] .PP Many Markdown implementations do not require a space between the opening \f[C]#\f[R]s of an ATX heading and the heading text, so that \f[C]#5 bolt\f[R] and \f[C]#hashtag\f[R] count as headings. With this extension, pandoc does require the space. .SS Heading identifiers .PP See also the \f[C]auto_identifiers\f[R] extension above. .SS Extension: \f[C]header_attributes\f[R] .PP Headings can be assigned attributes using this syntax at the end of the line containing the heading text: .IP .nf \f[C] {#identifier .class .class key=value key=value} \f[R] .fi .PP Thus, for example, the following headings will all be assigned the identifier \f[C]foo\f[R]: .IP .nf \f[C] # My heading {#foo} ## My heading ## {#foo} My other heading {#foo} --------------- \f[R] .fi .PP (This syntax is compatible with PHP Markdown Extra.) .PP Note that although this syntax allows assignment of classes and key/value attributes, writers generally don\[aq]t use all of this information. Identifiers, classes, and key/value attributes are used in HTML and HTML-based formats such as EPUB and slidy. Identifiers are used for labels and link anchors in the LaTeX, ConTeXt, Textile, Jira markup, and AsciiDoc writers. .PP Headings with the class \f[C]unnumbered\f[R] will not be numbered, even if \f[C]--number-sections\f[R] is specified. A single hyphen (\f[C]-\f[R]) in an attribute context is equivalent to \f[C].unnumbered\f[R], and preferable in non-English documents. So, .IP .nf \f[C] # My heading {-} \f[R] .fi .PP is just the same as .IP .nf \f[C] # My heading {.unnumbered} \f[R] .fi .PP If the \f[C]unlisted\f[R] class is present in addition to \f[C]unnumbered\f[R], the heading will not be included in a table of contents. (Currently this feature is only implemented for certain formats: those based on LaTeX and HTML, PowerPoint, and RTF.) .SS Extension: \f[C]implicit_header_references\f[R] .PP Pandoc behaves as if reference links have been defined for each heading. So, to link to a heading .IP .nf \f[C] # Heading identifiers in HTML \f[R] .fi .PP you can simply write .IP .nf \f[C] [Heading identifiers in HTML] \f[R] .fi .PP or .IP .nf \f[C] [Heading identifiers in HTML][] \f[R] .fi .PP or .IP .nf \f[C] [the section on heading identifiers][heading identifiers in HTML] \f[R] .fi .PP instead of giving the identifier explicitly: .IP .nf \f[C] [Heading identifiers in HTML](#heading-identifiers-in-html) \f[R] .fi .PP If there are multiple headings with identical text, the corresponding reference will link to the first one only, and you will need to use explicit links to link to the others, as described above. .PP Like regular reference links, these references are case-insensitive. .PP Explicit link reference definitions always take priority over implicit heading references. So, in the following example, the link will point to \f[C]bar\f[R], not to \f[C]#foo\f[R]: .IP .nf \f[C] # Foo [foo]: bar See [foo] \f[R] .fi .SS Block quotations .PP Markdown uses email conventions for quoting blocks of text. A block quotation is one or more paragraphs or other block elements (such as lists or headings), with each line preceded by a \f[C]>\f[R] character and an optional space. (The \f[C]>\f[R] need not start at the left margin, but it should not be indented more than three spaces.) .IP .nf \f[C] > This is a block quote. This > paragraph has two lines. > > 1. This is a list inside a block quote. > 2. Second item. \f[R] .fi .PP A \[dq]lazy\[dq] form, which requires the \f[C]>\f[R] character only on the first line of each block, is also allowed: .IP .nf \f[C] > This is a block quote. This paragraph has two lines. > 1. This is a list inside a block quote. 2. Second item. \f[R] .fi .PP Among the block elements that can be contained in a block quote are other block quotes. That is, block quotes can be nested: .IP .nf \f[C] > This is a block quote. > > > A block quote within a block quote. \f[R] .fi .PP If the \f[C]>\f[R] character is followed by an optional space, that space will be considered part of the block quote marker and not part of the indentation of the contents. Thus, to put an indented code block in a block quote, you need five spaces after the \f[C]>\f[R]: .IP .nf \f[C] > code \f[R] .fi .SS Extension: \f[C]blank_before_blockquote\f[R] .PP Standard Markdown syntax does not require a blank line before a block quote. Pandoc does require this (except, of course, at the beginning of the document). The reason for the requirement is that it is all too easy for a \f[C]>\f[R] to end up at the beginning of a line by accident (perhaps through line wrapping). So, unless the \f[C]markdown_strict\f[R] format is used, the following does not produce a nested block quote in pandoc: .IP .nf \f[C] > This is a block quote. >> Nested. \f[R] .fi .SS Verbatim (code) blocks .SS Indented code blocks .PP A block of text indented four spaces (or one tab) is treated as verbatim text: that is, special characters do not trigger special formatting, and all spaces and line breaks are preserved. For example, .IP .nf \f[C] if (a > 3) { moveShip(5 * gravity, DOWN); } \f[R] .fi .PP The initial (four space or one tab) indentation is not considered part of the verbatim text, and is removed in the output. .PP Note: blank lines in the verbatim text need not begin with four spaces. .SS Fenced code blocks .SS Extension: \f[C]fenced_code_blocks\f[R] .PP In addition to standard indented code blocks, pandoc supports \f[I]fenced\f[R] code blocks. These begin with a row of three or more tildes (\f[C]\[ti]\f[R]) and end with a row of tildes that must be at least as long as the starting row. Everything between these lines is treated as code. No indentation is necessary: .IP .nf \f[C] \[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti] if (a > 3) { moveShip(5 * gravity, DOWN); } \[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti] \f[R] .fi .PP Like regular code blocks, fenced code blocks must be separated from surrounding text by blank lines. .PP If the code itself contains a row of tildes or backticks, just use a longer row of tildes or backticks at the start and end: .IP .nf \f[C] \[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti] \[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti] code including tildes \[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti] \[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti] \f[R] .fi .SS Extension: \f[C]backtick_code_blocks\f[R] .PP Same as \f[C]fenced_code_blocks\f[R], but uses backticks (\f[C]\[ga]\f[R]) instead of tildes (\f[C]\[ti]\f[R]). .SS Extension: \f[C]fenced_code_attributes\f[R] .PP Optionally, you may attach attributes to fenced or backtick code block using this syntax: .IP .nf \f[C] \[ti]\[ti]\[ti]\[ti] {#mycode .haskell .numberLines startFrom=\[dq]100\[dq]} qsort [] = [] qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs) \[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti]\[ti] \f[R] .fi .PP Here \f[C]mycode\f[R] is an identifier, \f[C]haskell\f[R] and \f[C]numberLines\f[R] are classes, and \f[C]startFrom\f[R] is an attribute with value \f[C]100\f[R]. Some output formats can use this information to do syntax highlighting. Currently, the only output formats that uses this information are HTML, LaTeX, Docx, Ms, and PowerPoint. If highlighting is supported for your output format and language, then the code block above will appear highlighted, with numbered lines. (To see which languages are supported, type \f[C]pandoc --list-highlight-languages\f[R].) Otherwise, the code block above will appear as follows: .IP .nf \f[C]
      
      ...
      
    
    \f[R] .fi .PP The \f[C]numberLines\f[R] (or \f[C]number-lines\f[R]) class will cause the lines of the code block to be numbered, starting with \f[C]1\f[R] or the value of the \f[C]startFrom\f[R] attribute. The \f[C]lineAnchors\f[R] (or \f[C]line-anchors\f[R]) class will cause the lines to be clickable anchors in HTML output. .PP A shortcut form can also be used for specifying the language of the code block: .IP .nf \f[C] \[ga]\[ga]\[ga]haskell qsort [] = [] \[ga]\[ga]\[ga] \f[R] .fi .PP This is equivalent to: .IP .nf \f[C] \[ga]\[ga]\[ga] {.haskell} qsort [] = [] \[ga]\[ga]\[ga] \f[R] .fi .PP If the \f[C]fenced_code_attributes\f[R] extension is disabled, but input contains class attribute(s) for the code block, the first class attribute will be printed after the opening fence as a bare word. .PP To prevent all highlighting, use the \f[C]--no-highlight\f[R] flag. To set the highlighting style, use \f[C]--highlight-style\f[R]. For more information on highlighting, see Syntax highlighting, below. .SS Line blocks .SS Extension: \f[C]line_blocks\f[R] .PP A line block is a sequence of lines beginning with a vertical bar (\f[C]|\f[R]) followed by a space. The division into lines will be preserved in the output, as will any leading spaces; otherwise, the lines will be formatted as Markdown. This is useful for verse and addresses: .IP .nf \f[C] | The limerick packs laughs anatomical | In space that is quite economical. | But the good ones I\[aq]ve seen | So seldom are clean | And the clean ones so seldom are comical | 200 Main St. | Berkeley, CA 94718 \f[R] .fi .PP The lines can be hard-wrapped if needed, but the continuation line must begin with a space. .IP .nf \f[C] | The Right Honorable Most Venerable and Righteous Samuel L. Constable, Jr. | 200 Main St. | Berkeley, CA 94718 \f[R] .fi .PP This syntax is borrowed from reStructuredText. .SS Lists .SS Bullet lists .PP A bullet list is a list of bulleted list items. A bulleted list item begins with a bullet (\f[C]*\f[R], \f[C]+\f[R], or \f[C]-\f[R]). Here is a simple example: .IP .nf \f[C] * one * two * three \f[R] .fi .PP This will produce a \[dq]compact\[dq] list. If you want a \[dq]loose\[dq] list, in which each item is formatted as a paragraph, put spaces between the items: .IP .nf \f[C] * one * two * three \f[R] .fi .PP The bullets need not be flush with the left margin; they may be indented one, two, or three spaces. The bullet must be followed by whitespace. .PP List items look best if subsequent lines are flush with the first line (after the bullet): .IP .nf \f[C] * here is my first list item. * and my second. \f[R] .fi .PP But Markdown also allows a \[dq]lazy\[dq] format: .IP .nf \f[C] * here is my first list item. * and my second. \f[R] .fi .SS Block content in list items .PP A list item may contain multiple paragraphs and other block-level content. However, subsequent paragraphs must be preceded by a blank line and indented to line up with the first non-space content after the list marker. .IP .nf \f[C] * First paragraph. Continued. * Second paragraph. With a code block, which must be indented eight spaces: { code } \f[R] .fi .PP Exception: if the list marker is followed by an indented code block, which must begin 5 spaces after the list marker, then subsequent paragraphs must begin two columns after the last character of the list marker: .IP .nf \f[C] * code continuation paragraph \f[R] .fi .PP List items may include other lists. In this case the preceding blank line is optional. The nested list must be indented to line up with the first non-space character after the list marker of the containing list item. .IP .nf \f[C] * fruits + apples - macintosh - red delicious + pears + peaches * vegetables + broccoli + chard \f[R] .fi .PP As noted above, Markdown allows you to write list items \[dq]lazily,\[dq] instead of indenting continuation lines. However, if there are multiple paragraphs or other blocks in a list item, the first line of each must be indented. .IP .nf \f[C] + A lazy, lazy, list item. + Another one; this looks bad but is legal. Second paragraph of second list item. \f[R] .fi .SS Ordered lists .PP Ordered lists work just like bulleted lists, except that the items begin with enumerators rather than bullets. .PP In standard Markdown, enumerators are decimal numbers followed by a period and a space. The numbers themselves are ignored, so there is no difference between this list: .IP .nf \f[C] 1. one 2. two 3. three \f[R] .fi .PP and this one: .IP .nf \f[C] 5. one 7. two 1. three \f[R] .fi .SS Extension: \f[C]fancy_lists\f[R] .PP Unlike standard Markdown, pandoc allows ordered list items to be marked with uppercase and lowercase letters and roman numerals, in addition to Arabic numerals. List markers may be enclosed in parentheses or followed by a single right-parentheses or period. They must be separated from the text that follows by at least one space, and, if the list marker is a capital letter with a period, by at least two spaces. .PP The \f[C]fancy_lists\f[R] extension also allows \[aq]\f[C]#\f[R]\[aq] to be used as an ordered list marker in place of a numeral: .IP .nf \f[C] #. one #. two \f[R] .fi .SS Extension: \f[C]startnum\f[R] .PP Pandoc also pays attention to the type of list marker used, and to the starting number, and both of these are preserved where possible in the output format. Thus, the following yields a list with numbers followed by a single parenthesis, starting with 9, and a sublist with lowercase roman numerals: .IP .nf \f[C] 9) Ninth 10) Tenth 11) Eleventh i. subone ii. subtwo iii. subthree \f[R] .fi .PP Pandoc will start a new list each time a different type of list marker is used. So, the following will create three lists: .IP .nf \f[C] (2) Two (5) Three 1. Four * Five \f[R] .fi .PP If default list markers are desired, use \f[C]#.\f[R]: .IP .nf \f[C] #. one #. two #. three \f[R] .fi .SS Extension: \f[C]task_lists\f[R] .PP Pandoc supports task lists, using the syntax of GitHub-Flavored Markdown. .IP .nf \f[C] - [ ] an unchecked task list item - [x] checked item \f[R] .fi .SS Definition lists .SS Extension: \f[C]definition_lists\f[R] .PP Pandoc supports definition lists, using the syntax of PHP Markdown Extra with some extensions. .IP .nf \f[C] Term 1 : Definition 1 Term 2 with *inline markup* : Definition 2 { some code, part of Definition 2 } Third paragraph of definition 2. \f[R] .fi .PP Each term must fit on one line, which may optionally be followed by a blank line, and must be followed by one or more definitions. A definition begins with a colon or tilde, which may be indented one or two spaces. .PP 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 (including the first line, aside from the colon or tilde) should be indented four spaces. However, as with other Markdown lists, you can \[dq]lazily\[dq] omit indentation except at the beginning of a paragraph or other block element: .IP .nf \f[C] Term 1 : Definition with lazy continuation. Second paragraph of the definition. \f[R] .fi .PP 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 output formats, this will mean greater spacing between term/definition pairs. For a more compact definition list, omit the space before the definition: .IP .nf \f[C] Term 1 \[ti] Definition 1 Term 2 \[ti] Definition 2a \[ti] Definition 2b \f[R] .fi .PP Note that space between items in a definition list is required. (A variant that loosens this requirement, but disallows \[dq]lazy\[dq] hard wrapping, can be activated with \f[C]compact_definition_lists\f[R]: see Non-pandoc extensions, below.) .SS Numbered example lists .SS Extension: \f[C]example_lists\f[R] .PP The special list marker \f[C]\[at]\f[R] can be used for sequentially numbered examples. The first list item with a \f[C]\[at]\f[R] marker will be numbered \[aq]1\[aq], the next \[aq]2\[aq], and so on, throughout the document. The numbered examples need not occur in a single list; each new list using \f[C]\[at]\f[R] will take up where the last stopped. So, for example: .IP .nf \f[C] (\[at]) My first example will be numbered (1). (\[at]) My second example will be numbered (2). Explanation of examples. (\[at]) My third example will be numbered (3). \f[R] .fi .PP Numbered examples can be labeled and referred to elsewhere in the document: .IP .nf \f[C] (\[at]good) This is a good example. As (\[at]good) illustrates, ... \f[R] .fi .PP The label can be any string of alphanumeric characters, underscores, or hyphens. .PP Note: continuation paragraphs in example lists must always be indented four spaces, regardless of the length of the list marker. That is, example lists always behave as if the \f[C]four_space_rule\f[R] extension is set. This is because example labels tend to be long, and indenting content to the first non-space character after the label would be awkward. .SS Compact and loose lists .PP Pandoc behaves differently from \f[C]Markdown.pl\f[R] on some \[dq]edge cases\[dq] involving lists. Consider this source: .IP .nf \f[C] + First + Second: - Fee - Fie - Foe + Third \f[R] .fi .PP Pandoc transforms this into a \[dq]compact list\[dq] (with no \f[C]

    \f[R] tags around \[dq]First\[dq], \[dq]Second\[dq], or \[dq]Third\[dq]), while Markdown puts \f[C]

    \f[R] tags around \[dq]Second\[dq] and \[dq]Third\[dq] (but not \[dq]First\[dq]), because of the blank space around \[dq]Third\[dq]. Pandoc follows a simple rule: if the text is followed by a blank line, it is treated as a paragraph. Since \[dq]Second\[dq] is followed by a list, and not a blank line, it isn\[aq]t treated as a paragraph. The fact that the list is followed by a blank line is irrelevant. (Note: Pandoc works this way even when the \f[C]markdown_strict\f[R] format is specified. This behavior is consistent with the official Markdown syntax description, even though it is different from that of \f[C]Markdown.pl\f[R].) .SS Ending a list .PP What if you want to put an indented code block after a list? .IP .nf \f[C] - item one - item two { my code block } \f[R] .fi .PP Trouble! Here pandoc (like other Markdown implementations) will treat \f[C]{ my code block }\f[R] as the second paragraph of item two, and not as a code block. .PP To \[dq]cut off\[dq] the list after item two, you can insert some non-indented content, like an HTML comment, which won\[aq]t produce visible output in any format: .IP .nf \f[C] - item one - item two { my code block } \f[R] .fi .PP You can use the same trick if you want two consecutive lists instead of one big list: .IP .nf \f[C] 1. one 2. two 3. three 1. uno 2. dos 3. tres \f[R] .fi .SS Horizontal rules .PP A line containing a row of three or more \f[C]*\f[R], \f[C]-\f[R], or \f[C]_\f[R] characters (optionally separated by spaces) produces a horizontal rule: .IP .nf \f[C] * * * * --------------- \f[R] .fi .SS Tables .PP Four kinds of tables may be used. The first three kinds presuppose the use of a fixed-width font, such as Courier. The fourth kind can be used with proportionally spaced fonts, as it does not require lining up columns. .SS Extension: \f[C]table_captions\f[R] .PP A caption may optionally be provided with all 4 kinds of tables (as illustrated in the examples below). A caption is a paragraph beginning with the string \f[C]Table:\f[R] (or just \f[C]:\f[R]), which will be stripped off. It may appear either before or after the table. .SS Extension: \f[C]simple_tables\f[R] .PP Simple tables look like this: .IP .nf \f[C] Right Left Center Default ------- ------ ---------- ------- 12 12 12 12 123 123 123 123 1 1 1 1 Table: Demonstration of simple table syntax. \f[R] .fi .PP The header and table rows must each fit on one line. Column alignments are determined by the position of the header text relative to the dashed line below it: .IP \[bu] 2 If the dashed line is flush with the header text on the right side but extends beyond it on the left, the column is right-aligned. .IP \[bu] 2 If the dashed line is flush with the header text on the left side but extends beyond it on the right, the column is left-aligned. .IP \[bu] 2 If the dashed line extends beyond the header text on both sides, the column is centered. .IP \[bu] 2 If the dashed line is flush with the header text on both sides, the default alignment is used (in most cases, this will be left). .PP The table must end with a blank line, or a line of dashes followed by a blank line. .PP The column header row may be omitted, provided a dashed line is used to end the table. For example: .IP .nf \f[C] ------- ------ ---------- ------- 12 12 12 12 123 123 123 123 1 1 1 1 ------- ------ ---------- ------- \f[R] .fi .PP When the header row is omitted, column alignments are determined on the basis of the first line of the table body. So, in the tables above, the columns would be right, left, center, and right aligned, respectively. .SS Extension: \f[C]multiline_tables\f[R] .PP Multiline tables allow header and table rows to span multiple lines of text (but cells that span multiple columns or rows of the table are not supported). Here is an example: .IP .nf \f[C] ------------------------------------------------------------- Centered Default Right Left Header Aligned Aligned Aligned ----------- ------- --------------- ------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here\[aq]s another one. Note the blank line between rows. ------------------------------------------------------------- Table: Here\[aq]s the caption. It, too, may span multiple lines. \f[R] .fi .PP These work like simple tables, but with the following differences: .IP \[bu] 2 They must begin with a row of dashes, before the header text (unless the header row is omitted). .IP \[bu] 2 They must end with a row of dashes, then a blank line. .IP \[bu] 2 The rows must be separated by blank lines. .PP In multiline tables, the table parser pays attention to the widths of the columns, and the writers try to reproduce these relative widths in the output. So, if you find that one of the columns is too narrow in the output, try widening it in the Markdown source. .PP The header may be omitted in multiline tables as well as simple tables: .IP .nf \f[C] ----------- ------- --------------- ------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here\[aq]s another one. Note the blank line between rows. ----------- ------- --------------- ------------------------- : Here\[aq]s a multiline table without a header. \f[R] .fi .PP It is possible for a multiline table to have just one row, but the row should be followed by a blank line (and then the row of dashes that ends the table), or the table may be interpreted as a simple table. .SS Extension: \f[C]grid_tables\f[R] .PP Grid tables look like this: .IP .nf \f[C] : Sample grid table. +---------------+---------------+--------------------+ | Fruit | Price | Advantages | +===============+===============+====================+ | Bananas | $1.34 | - built-in wrapper | | | | - bright color | +---------------+---------------+--------------------+ | Oranges | $2.10 | - cures scurvy | | | | - tasty | +---------------+---------------+--------------------+ \f[R] .fi .PP The row of \f[C]=\f[R]s separates the header from the table body, and can be omitted for a headerless table. The cells of grid tables may contain arbitrary block elements (multiple paragraphs, code blocks, lists, etc.). Cells that span multiple columns or rows are not supported. Grid tables can be created easily using Emacs\[aq] table-mode (\f[C]M-x table-insert\f[R]). .PP Alignments can be specified as with pipe tables, by putting colons at the boundaries of the separator line after the header: .IP .nf \f[C] +---------------+---------------+--------------------+ | Right | Left | Centered | +==============:+:==============+:==================:+ | Bananas | $1.34 | built-in wrapper | +---------------+---------------+--------------------+ \f[R] .fi .PP For headerless tables, the colons go on the top line instead: .IP .nf \f[C] +--------------:+:--------------+:------------------:+ | Right | Left | Centered | +---------------+---------------+--------------------+ \f[R] .fi .SS Grid Table Limitations .PP Pandoc does not support grid tables with row spans or column spans. This means that neither variable numbers of columns across rows nor variable numbers of rows across columns are supported by Pandoc. All grid tables must have the same number of columns in each row, and the same number of rows in each column. For example, the Docutils sample grid tables will not render as expected with Pandoc. .SS Extension: \f[C]pipe_tables\f[R] .PP Pipe tables look like this: .IP .nf \f[C] | Right | Left | Default | Center | |------:|:-----|---------|:------:| | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | : Demonstration of pipe table syntax. \f[R] .fi .PP The syntax is identical to PHP Markdown Extra tables. The beginning and ending pipe characters are optional, but pipes are required between all columns. The colons indicate column alignment as shown. The header cannot be omitted. To simulate a headerless table, include a header with blank cells. .PP Since the pipes indicate column boundaries, columns need not be vertically aligned, as they are in the above example. So, this is a perfectly legal (though ugly) pipe table: .IP .nf \f[C] fruit| price -----|-----: apple|2.05 pear|1.37 orange|3.09 \f[R] .fi .PP The cells of pipe tables cannot contain block elements like paragraphs and lists, and cannot span multiple lines. If a pipe table contains a row whose printable content is wider than the column width (see \f[C]--columns\f[R]), then the table will take up the full text width and the cell contents will wrap, with the relative cell widths determined by the number of dashes in the line separating the table header from the table body. (For example \f[C]---|-\f[R] would make the first column 3/4 and the second column 1/4 of the full text width.) On the other hand, if no lines are wider than column width, then cell contents will not be wrapped, and the cells will be sized to their contents. .PP Note: pandoc also recognizes pipe tables of the following form, as can be produced by Emacs\[aq] orgtbl-mode: .IP .nf \f[C] | One | Two | |-----+-------| | my | table | | is | nice | \f[R] .fi .PP The difference is that \f[C]+\f[R] is used instead of \f[C]|\f[R]. Other orgtbl features are not supported. In particular, to get non-default column alignment, you\[aq]ll need to add colons as above. .SS Metadata blocks .SS Extension: \f[C]pandoc_title_block\f[R] .PP If the file begins with a title block .IP .nf \f[C] % title % author(s) (separated by semicolons) % date \f[R] .fi .PP it will be parsed as bibliographic information, not regular text. (It will be used, for example, in the title of standalone LaTeX or HTML output.) The block may contain just a title, a title and an author, or all three elements. If you want to include an author but no title, or a title and a date but no author, you need a blank line: .IP .nf \f[C] % % Author % My title % % June 15, 2006 \f[R] .fi .PP The title may occupy multiple lines, but continuation lines must begin with leading space, thus: .IP .nf \f[C] % My title on multiple lines \f[R] .fi .PP If a document has multiple authors, the authors may be put on separate lines with leading space, or separated by semicolons, or both. So, all of the following are equivalent: .IP .nf \f[C] % Author One Author Two % Author One; Author Two % Author One; Author Two \f[R] .fi .PP The date must fit on one line. .PP All three metadata fields may contain standard inline formatting (italics, links, footnotes, etc.). .PP Title blocks will always be parsed, but they will affect the output only when the \f[C]--standalone\f[R] (\f[C]-s\f[R]) option is chosen. In HTML output, titles will appear twice: once in the document head -- this is the title that will appear at the top of the window in a browser -- and once at the beginning of the document body. The title in the document head can have an optional prefix attached (\f[C]--title-prefix\f[R] or \f[C]-T\f[R] option). The title in the body appears as an H1 element with class \[dq]title\[dq], so it can be suppressed or reformatted with CSS. If a title prefix is specified with \f[C]-T\f[R] and no title block appears in the document, the title prefix will be used by itself as the HTML title. .PP The man page writer extracts a title, man page section number, and other header and footer information from the title line. The title is assumed to be the first word on the title line, which may optionally end with a (single-digit) section number in parentheses. (There should be no space between the title and the parentheses.) Anything after this is assumed to be additional footer and header text. A single pipe character (\f[C]|\f[R]) should be used to separate the footer text from the header text. Thus, .IP .nf \f[C] % PANDOC(1) \f[R] .fi .PP will yield a man page with the title \f[C]PANDOC\f[R] and section 1. .IP .nf \f[C] % PANDOC(1) Pandoc User Manuals \f[R] .fi .PP will also have \[dq]Pandoc User Manuals\[dq] in the footer. .IP .nf \f[C] % PANDOC(1) Pandoc User Manuals | Version 4.0 \f[R] .fi .PP will also have \[dq]Version 4.0\[dq] in the header. .SS Extension: \f[C]yaml_metadata_block\f[R] .PP A YAML metadata block is a valid YAML object, delimited by a line of three hyphens (\f[C]---\f[R]) at the top and a line of three hyphens (\f[C]---\f[R]) or three dots (\f[C]...\f[R]) at the bottom. A YAML metadata block may occur anywhere in the document, but if it is not at the beginning, it must be preceded by a blank line. (Note that, because of the way pandoc concatenates input files when several are provided, you may also keep the metadata in a separate YAML file and pass it to pandoc as an argument, along with your Markdown files: .IP .nf \f[C] pandoc chap1.md chap2.md chap3.md metadata.yaml -s -o book.html \f[R] .fi .PP Just be sure that the YAML file begins with \f[C]---\f[R] and ends with \f[C]---\f[R] or \f[C]...\f[R].) Alternatively, you can use the \f[C]--metadata-file\f[R] option. Using that approach however, you cannot reference content (like footnotes) from the main markdown input document. .PP Metadata will be taken from the fields of the YAML object and added to any existing document metadata. Metadata can contain lists and objects (nested arbitrarily), but all string scalars will be interpreted as Markdown. Fields with names ending in an underscore will be ignored by pandoc. (They may be given a role by external processors.) Field names must not be interpretable as YAML numbers or boolean values (so, for example, \f[C]yes\f[R], \f[C]True\f[R], and \f[C]15\f[R] cannot be used as field names). .PP A document may contain multiple metadata blocks. If two metadata blocks attempt to set the same field, the value from the second block will be taken. .PP When pandoc is used with \f[C]-t markdown\f[R] to create a Markdown document, a YAML metadata block will be produced only if the \f[C]-s/--standalone\f[R] option is used. All of the metadata will appear in a single block at the beginning of the document. .PP Note that YAML escaping rules must be followed. Thus, for example, if a title contains a colon, it must be quoted. The pipe character (\f[C]|\f[R]) can be used to begin an indented block that will be interpreted literally, without need for escaping. This form is necessary when the field contains blank lines or block-level formatting: .IP .nf \f[C] --- title: \[aq]This is the title: it contains a colon\[aq] author: - Author One - Author Two keywords: [nothing, nothingness] abstract: | This is the abstract. It consists of two paragraphs. \&... \f[R] .fi .PP Template variables will be set automatically from the metadata. Thus, for example, in writing HTML, the variable \f[C]abstract\f[R] will be set to the HTML equivalent of the Markdown in the \f[C]abstract\f[R] field: .IP .nf \f[C]

    This is the abstract.

    It consists of two paragraphs.

    \f[R] .fi .PP Variables can contain arbitrary YAML structures, but the template must match this structure. The \f[C]author\f[R] variable in the default templates expects a simple list or string, but can be changed to support more complicated structures. The following combination, for example, would add an affiliation to the author if one is given: .IP .nf \f[C] --- title: The document title author: - name: Author One affiliation: University of Somewhere - name: Author Two affiliation: University of Nowhere \&... \f[R] .fi .PP To use the structured authors in the example above, you would need a custom template: .IP .nf \f[C] $for(author)$ $if(author.name)$ $author.name$$if(author.affiliation)$ ($author.affiliation$)$endif$ $else$ $author$ $endif$ $endfor$ \f[R] .fi .PP Raw content to include in the document\[aq]s header may be specified using \f[C]header-includes\f[R]; however, it is important to mark up this content as raw code for a particular output format, using the \f[C]raw_attribute\f[R] extension), or it will be interpreted as markdown. For example: .IP .nf \f[C] header-includes: - | \[ga]\[ga]\[ga]{=latex} \[rs]let\[rs]oldsection\[rs]section \[rs]renewcommand{\[rs]section}[1]{\[rs]clearpage\[rs]oldsection{#1}} \[ga]\[ga]\[ga] \f[R] .fi .SS Backslash escapes .SS Extension: \f[C]all_symbols_escapable\f[R] .PP Except inside a code block or inline code, any punctuation or space character preceded by a backslash will be treated literally, even if it would normally indicate formatting. Thus, for example, if one writes .IP .nf \f[C] *\[rs]*hello\[rs]** \f[R] .fi .PP one will get .IP .nf \f[C] *hello* \f[R] .fi .PP instead of .IP .nf \f[C] hello \f[R] .fi .PP This rule is easier to remember than standard Markdown\[aq]s rule, which allows only the following characters to be backslash-escaped: .IP .nf \f[C] \[rs]\[ga]*_{}[]()>#+-.! \f[R] .fi .PP (However, if the \f[C]markdown_strict\f[R] format is used, the standard Markdown rule will be used.) .PP A backslash-escaped space is parsed as a nonbreaking space. In TeX output, it will appear as \f[C]\[ti]\f[R]. In HTML and XML output, it will appear as a literal unicode nonbreaking space character (note that it will thus actually look \[dq]invisible\[dq] in the generated HTML source; you can still use the \f[C]--ascii\f[R] command-line option to make it appear as an explicit entity). .PP A backslash-escaped newline (i.e. a backslash occurring at the end of a line) is parsed as a hard line break. It will appear in TeX output as \f[C]\[rs]\[rs]\f[R] and in HTML as \f[C]
    \f[R]. This is a nice alternative to Markdown\[aq]s \[dq]invisible\[dq] way of indicating hard line breaks using two trailing spaces on a line. .PP Backslash escapes do not work in verbatim contexts. .SS Inline formatting .SS Emphasis .PP To \f[I]emphasize\f[R] some text, surround it with \f[C]*\f[R]s or \f[C]_\f[R], like this: .IP .nf \f[C] This text is _emphasized with underscores_, and this is *emphasized with asterisks*. \f[R] .fi .PP Double \f[C]*\f[R] or \f[C]_\f[R] produces \f[B]strong emphasis\f[R]: .IP .nf \f[C] This is **strong emphasis** and __with underscores__. \f[R] .fi .PP A \f[C]*\f[R] or \f[C]_\f[R] character surrounded by spaces, or backslash-escaped, will not trigger emphasis: .IP .nf \f[C] This is * not emphasized *, and \[rs]*neither is this\[rs]*. \f[R] .fi .SS Extension: \f[C]intraword_underscores\f[R] .PP Because \f[C]_\f[R] is sometimes used inside words and identifiers, pandoc does not interpret a \f[C]_\f[R] surrounded by alphanumeric characters as an emphasis marker. If you want to emphasize just part of a word, use \f[C]*\f[R]: .IP .nf \f[C] feas*ible*, not feas*able*. \f[R] .fi .SS Strikeout .SS Extension: \f[C]strikeout\f[R] .PP To strikeout a section of text with a horizontal line, begin and end it with \f[C]\[ti]\[ti]\f[R]. Thus, for example, .IP .nf \f[C] This \[ti]\[ti]is deleted text.\[ti]\[ti] \f[R] .fi .SS Superscripts and subscripts .SS Extension: \f[C]superscript\f[R], \f[C]subscript\f[R] .PP Superscripts may be written by surrounding the superscripted text by \f[C]\[ha]\f[R] characters; subscripts may be written by surrounding the subscripted text by \f[C]\[ti]\f[R] characters. Thus, for example, .IP .nf \f[C] H\[ti]2\[ti]O is a liquid. 2\[ha]10\[ha] is 1024. \f[R] .fi .PP The text between \f[C]\[ha]...\[ha]\f[R] or \f[C]\[ti]...\[ti]\f[R] may not contain spaces or newlines. If the superscripted or subscripted text contains spaces, these spaces must be escaped with backslashes. (This is to prevent accidental superscripting and subscripting through the ordinary use of \f[C]\[ti]\f[R] and \f[C]\[ha]\f[R], and also bad interactions with footnotes.) Thus, if you want the letter P with \[aq]a cat\[aq] in subscripts, use \f[C]P\[ti]a\[rs] cat\[ti]\f[R], not \f[C]P\[ti]a cat\[ti]\f[R]. .SS Verbatim .PP To make a short span of text verbatim, put it inside backticks: .IP .nf \f[C] What is the difference between \[ga]>>=\[ga] and \[ga]>>\[ga]? \f[R] .fi .PP If the verbatim text includes a backtick, use double backticks: .IP .nf \f[C] Here is a literal backtick \[ga]\[ga] \[ga] \[ga]\[ga]. \f[R] .fi .PP (The spaces after the opening backticks and before the closing backticks will be ignored.) .PP The general rule is that a verbatim span starts with a string of consecutive backticks (optionally followed by a space) and ends with a string of the same number of backticks (optionally preceded by a space). .PP Note that backslash-escapes (and other Markdown constructs) do not work in verbatim contexts: .IP .nf \f[C] This is a backslash followed by an asterisk: \[ga]\[rs]*\[ga]. \f[R] .fi .SS Extension: \f[C]inline_code_attributes\f[R] .PP Attributes can be attached to verbatim text, just as with fenced code blocks: .IP .nf \f[C] \[ga]<$>\[ga]{.haskell} \f[R] .fi .SS Small caps .PP To write small caps, use the \f[C]smallcaps\f[R] class: .IP .nf \f[C] [Small caps]{.smallcaps} \f[R] .fi .PP Or, without the \f[C]bracketed_spans\f[R] extension: .IP .nf \f[C] Small caps \f[R] .fi .PP For compatibility with other Markdown flavors, CSS is also supported: .IP .nf \f[C] Small caps \f[R] .fi .PP This will work in all output formats that support small caps. .SS Math .SS Extension: \f[C]tex_math_dollars\f[R] .PP Anything between two \f[C]$\f[R] characters will be treated as TeX math. The opening \f[C]$\f[R] must have a non-space character immediately to its right, while the closing \f[C]$\f[R] must have a non-space character immediately to its left, and must not be followed immediately by a digit. Thus, \f[C]$20,000 and $30,000\f[R] won\[aq]t parse as math. If for some reason you need to enclose text in literal \f[C]$\f[R] characters, backslash-escape them and they won\[aq]t be treated as math delimiters. .PP For display math, use \f[C]$$\f[R] delimiters. (In this case, the delimiters may be separated from the formula by whitespace.) .PP TeX math will be printed in all output formats. How it is rendered depends on the output format: .TP LaTeX It will appear verbatim surrounded by \f[C]\[rs](...\[rs])\f[R] (for inline math) or \f[C]\[rs][...\[rs]]\f[R] (for display math). .TP Markdown, Emacs Org mode, ConTeXt, ZimWiki It will appear verbatim surrounded by \f[C]$...$\f[R] (for inline math) or \f[C]$$...$$\f[R] (for display math). .TP XWiki It will appear verbatim surrounded by \f[C]{{formula}}..{{/formula}}\f[R]. .TP reStructuredText It will be rendered using an interpreted text role \f[C]:math:\f[R]. .TP AsciiDoc For AsciiDoc output format (\f[C]-t asciidoc\f[R]) it will appear verbatim surrounded by \f[C]latexmath:[$...$]\f[R] (for inline math) or \f[C][latexmath]++++\[rs][...\[rs]]+++\f[R] (for display math). For AsciiDoctor output format (\f[C]-t asciidoctor\f[R]) the LaTex delimiters (\f[C]$..$\f[R] and \f[C]\[rs][..\[rs]]\f[R]) are omitted. .TP Texinfo It will be rendered inside a \f[C]\[at]math\f[R] command. .TP roff man, Jira markup It will be rendered verbatim without \f[C]$\f[R]\[aq]s. .TP MediaWiki, DokuWiki It will be rendered inside \f[C]\f[R] tags. .TP Textile It will be rendered inside \f[C]\f[R] tags. .TP RTF, OpenDocument It will be rendered, if possible, using Unicode characters, and will otherwise appear verbatim. .TP ODT It will be rendered, if possible, using MathML. .TP DocBook If the \f[C]--mathml\f[R] flag is used, it will be rendered using MathML in an \f[C]inlineequation\f[R] or \f[C]informalequation\f[R] tag. Otherwise it will be rendered, if possible, using Unicode characters. .TP Docx It will be rendered using OMML math markup. .TP FictionBook2 If the \f[C]--webtex\f[R] option is used, formulas are rendered as images using CodeCogs or other compatible web service, downloaded and embedded in the e-book. Otherwise, they will appear verbatim. .TP HTML, Slidy, DZSlides, S5, EPUB The way math is rendered in HTML will depend on the command-line options selected. Therefore see Math rendering in HTML above. .SS Raw HTML .SS Extension: \f[C]raw_html\f[R] .PP Markdown allows you to insert raw HTML (or DocBook) anywhere in a document (except verbatim contexts, where \f[C]<\f[R], \f[C]>\f[R], and \f[C]&\f[R] are interpreted literally). (Technically this is not an extension, since standard Markdown allows it, but it has been made an extension so that it can be disabled if desired.) .PP The raw HTML is passed through unchanged in HTML, S5, Slidy, Slideous, DZSlides, EPUB, Markdown, CommonMark, Emacs Org mode, and Textile output, and suppressed in other formats. .PP For a more explicit way of including raw HTML in a Markdown document, see the \f[C]raw_attribute\f[R] extension. .PP In the CommonMark format, if \f[C]raw_html\f[R] is enabled, superscripts, subscripts, strikeouts and small capitals will be represented as HTML. Otherwise, plain-text fallbacks will be used. Note that even if \f[C]raw_html\f[R] is disabled, tables will be rendered with HTML syntax if they cannot use pipe syntax. .SS Extension: \f[C]markdown_in_html_blocks\f[R] .PP Standard Markdown allows you to include HTML \[dq]blocks\[dq]: blocks of HTML between balanced tags that are separated from the surrounding text with blank lines, and start and end at the left margin. Within these blocks, everything is interpreted as HTML, not Markdown; so (for example), \f[C]*\f[R] does not signify emphasis. .PP Pandoc behaves this way when the \f[C]markdown_strict\f[R] format is used; but by default, pandoc interprets material between HTML block tags as Markdown. Thus, for example, pandoc will turn .IP .nf \f[C]
    *one* [a link](https://google.com)
    \f[R] .fi .PP into .IP .nf \f[C]
    one a link
    \f[R] .fi .PP whereas \f[C]Markdown.pl\f[R] will preserve it as is. .PP There is one exception to this rule: text between \f[C] HTML \[dq]\[dq]\[dq]) \[ga]\[ga]\[ga] ## Image This image ![image](myimage.png) will be included as a cell attachment. \f[R] .fi .PP If you want to add cell attributes, group cells differently, or add output to code cells, then you need to include divs to indicate the structure. You can use either fenced divs or native divs for this. Here is an example: .IP .nf \f[C] :::::: {.cell .markdown} # Lorem **Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus bibendum felis dictum sodales. :::::: :::::: {.cell .code execution_count=1} \[ga]\[ga]\[ga] {.python} print(\[dq]hello\[dq]) \[ga]\[ga]\[ga] ::: {.output .stream .stdout} \[ga]\[ga]\[ga] hello \[ga]\[ga]\[ga] ::: :::::: :::::: {.cell .code execution_count=2} \[ga]\[ga]\[ga] {.python} from IPython.display import HTML HTML(\[dq]\[dq]\[dq] HTML \[dq]\[dq]\[dq]) \[ga]\[ga]\[ga] ::: {.output .execute_result execution_count=2} \[ga]\[ga]\[ga]{=html} HTML hello \[ga]\[ga]\[ga] ::: :::::: \f[R] .fi .PP If you include raw HTML or TeX in an output cell, use the [raw attribute][Extension: \f[C]fenced_attribute\f[R]], as shown in the last cell of the example above. Although pandoc can process \[dq]bare\[dq] raw HTML and TeX, the result is often interspersed raw elements and normal textual elements, and in an output cell pandoc expects a single, connected raw block. To avoid using raw HTML or TeX except when marked explicitly using raw attributes, we recommend specifying the extensions \f[C]-raw_html-raw_tex+raw_attribute\f[R] when translating between Markdown and ipynb notebooks. .PP Note that options and extensions that affect reading and writing of Markdown will also affect Markdown cells in ipynb notebooks. For example, \f[C]--wrap=preserve\f[R] will preserve soft line breaks in Markdown cells; \f[C]--atx-headers\f[R] will cause ATX-style headings to be used; and \f[C]--preserve-tabs\f[R] will prevent tabs from being turned to spaces. .SH SYNTAX HIGHLIGHTING .PP Pandoc will automatically highlight syntax in fenced code blocks that are marked with a language name. The Haskell library skylighting is used for highlighting. Currently highlighting is supported only for HTML, EPUB, Docx, Ms, and LaTeX/PDF output. To see a list of language names that pandoc will recognize, type \f[C]pandoc --list-highlight-languages\f[R]. .PP The color scheme can be selected using the \f[C]--highlight-style\f[R] option. The default color scheme is \f[C]pygments\f[R], which imitates the default color scheme used by the Python library pygments (though pygments is not actually used to do the highlighting). To see a list of highlight styles, type \f[C]pandoc --list-highlight-styles\f[R]. .PP If you are not satisfied with the predefined styles, you can use \f[C]--print-highlight-style\f[R] to generate a JSON \f[C].theme\f[R] file which can be modified and used as the argument to \f[C]--highlight-style\f[R]. To get a JSON version of the \f[C]pygments\f[R] style, for example: .IP .nf \f[C] pandoc --print-highlight-style pygments > my.theme \f[R] .fi .PP Then edit \f[C]my.theme\f[R] and use it like this: .IP .nf \f[C] pandoc --highlight-style my.theme \f[R] .fi .PP If you are not satisfied with the built-in highlighting, or you want highlight a language that isn\[aq]t supported, you can use the \f[C]--syntax-definition\f[R] option to load a KDE-style XML syntax definition file. Before writing your own, have a look at KDE\[aq]s repository of syntax definitions. .PP To disable highlighting, use the \f[C]--no-highlight\f[R] option. .SH CUSTOM STYLES .PP Custom styles can be used in the docx and ICML formats. .SS Output .PP By default, pandoc\[aq]s docx and ICML output applies a predefined set of styles for blocks such as paragraphs and block quotes, and uses largely default formatting (italics, bold) for inlines. This will work for most purposes, especially alongside a \f[C]reference.docx\f[R] file. However, if you need to apply your own styles to blocks, or match a preexisting set of styles, pandoc allows you to define custom styles for blocks and text using \f[C]div\f[R]s and \f[C]span\f[R]s, respectively. .PP If you define a \f[C]div\f[R] or \f[C]span\f[R] with the attribute \f[C]custom-style\f[R], pandoc will apply your specified style to the contained elements (with the exception of elements whose function depends on a style, like headings, code blocks, block quotes, or links). So, for example, using the \f[C]bracketed_spans\f[R] syntax, .IP .nf \f[C] [Get out]{custom-style=\[dq]Emphatically\[dq]}, he said. \f[R] .fi .PP would produce a docx file with \[dq]Get out\[dq] styled with character style \f[C]Emphatically\f[R]. Similarly, using the \f[C]fenced_divs\f[R] syntax, .IP .nf \f[C] Dickinson starts the poem simply: ::: {custom-style=\[dq]Poetry\[dq]} | A Bird came down the Walk--- | He did not know I saw--- ::: \f[R] .fi .PP would style the two contained lines with the \f[C]Poetry\f[R] paragraph style. .PP For docx output, styles will be defined in the output file as inheriting from normal text, if the styles are not yet in your reference.docx. If they are already defined, pandoc will not alter the definition. .PP This feature allows for greatest customization in conjunction with pandoc filters. If you want all paragraphs after block quotes to be indented, you can write a filter to apply the styles necessary. If you want all italics to be transformed to the \f[C]Emphasis\f[R] character style (perhaps to change their color), you can write a filter which will transform all italicized inlines to inlines within an \f[C]Emphasis\f[R] custom-style \f[C]span\f[R]. .PP For docx output, you don\[aq]t need to enable any extensions for custom styles to work. .SS Input .PP The docx reader, by default, only reads those styles that it can convert into pandoc elements, either by direct conversion or interpreting the derivation of the input document\[aq]s styles. .PP By enabling the \f[C]styles\f[R] extension in the docx reader (\f[C]-f docx+styles\f[R]), you can produce output that maintains the styles of the input document, using the \f[C]custom-style\f[R] class. Paragraph styles are interpreted as divs, while character styles are interpreted as spans. .PP For example, using the \f[C]custom-style-reference.docx\f[R] file in the test directory, we have the following different outputs: .PP Without the \f[C]+styles\f[R] extension: .IP .nf \f[C] $ pandoc test/docx/custom-style-reference.docx -f docx -t markdown This is some text. This is text with an *emphasized* text style. And this is text with a **strengthened** text style. > Here is a styled paragraph that inherits from Block Text. \f[R] .fi .PP And with the extension: .IP .nf \f[C] $ pandoc test/docx/custom-style-reference.docx -f docx+styles -t markdown ::: {custom-style=\[dq]First Paragraph\[dq]} This is some text. ::: ::: {custom-style=\[dq]Body Text\[dq]} This is text with an [emphasized]{custom-style=\[dq]Emphatic\[dq]} text style. And this is text with a [strengthened]{custom-style=\[dq]Strengthened\[dq]} text style. ::: ::: {custom-style=\[dq]My Block Style\[dq]} > Here is a styled paragraph that inherits from Block Text. ::: \f[R] .fi .PP With these custom styles, you can use your input document as a reference-doc while creating docx output (see below), and maintain the same styles in your input and output files. .SH CUSTOM WRITERS .PP Pandoc can be extended with custom writers written in Lua. (Pandoc includes a Lua interpreter, so Lua need not be installed separately.) .PP To use a custom writer, simply specify the path to the Lua script in place of the output format. For example: .IP .nf \f[C] pandoc -t data/sample.lua \f[R] .fi .PP Creating a custom writer requires writing a Lua function for each possible element in a pandoc document. To get a documented example which you can modify according to your needs, do .IP .nf \f[C] pandoc --print-default-data-file sample.lua \f[R] .fi .PP Note that custom writers have no default template. If you want to use \f[C]--standalone\f[R] with a custom writer, you will need to specify a template manually using \f[C]--template\f[R] or add a new default template with the name \f[C]default.NAME_OF_CUSTOM_WRITER.lua\f[R] to the \f[C]templates\f[R] subdirectory of your user data directory (see Templates). .SH A NOTE ON SECURITY .PP If you use pandoc to convert user-contributed content in a web application, here are some things to keep in mind: .IP "1." 3 Although pandoc itself will not create or modify any files other than those you explicitly ask it create (with the exception of temporary files used in producing PDFs), a filter or custom writer could in principle do anything on your file system. Please audit filters and custom writers very carefully before using them. .IP "2." 3 If your application uses pandoc as a Haskell library (rather than shelling out to the executable), it is possible to use it in a mode that fully isolates pandoc from your file system, by running the pandoc operations in the \f[C]PandocPure\f[R] monad. See the document Using the pandoc API for more details. .IP "3." 3 Pandoc\[aq]s parsers can exhibit pathological performance on some corner cases. It is wise to put any pandoc operations under a timeout, to avoid DOS attacks that exploit these issues. If you are using the pandoc executable, you can add the command line options \f[C]+RTS -M512M -RTS\f[R] (for example) to limit the heap size to 512MB. .IP "4." 3 The HTML generated by pandoc is not guaranteed to be safe. If \f[C]raw_html\f[R] is enabled for the Markdown input, users can inject arbitrary HTML. Even if \f[C]raw_html\f[R] is disabled, users can include dangerous content in attributes for headings, spans, and code blocks. To be safe, you should run all the generated HTML through an HTML sanitizer. .SH AUTHORS .PP Copyright 2006--2020 John MacFarlane (jgm\[at]berkeley.edu). Released under the GPL, version 2 or greater. This software carries no warranty of any kind. (See COPYRIGHT for full copyright and warranty notices.) For a full list of contributors, see the file AUTHORS.md in the pandoc source code. .PP The Pandoc source code and all documentation may be downloaded from . pandoc-2.9.2.1/man/pandoc.1.after000066400000000000000000000001351363630463000163330ustar00rootroot00000000000000.PP The Pandoc source code and all documentation may be downloaded from . pandoc-2.9.2.1/man/pandoc.1.before000066400000000000000000000000531363630463000164730ustar00rootroot00000000000000.SH NAME pandoc - general markup converter pandoc-2.9.2.1/pandoc.cabal000066400000000000000000001064761363630463000154010ustar00rootroot00000000000000name: pandoc version: 2.9.2.1 cabal-version: 2.0 build-type: Simple license: GPL-2 license-file: COPYING.md copyright: (c) 2006-2020 John MacFarlane author: John MacFarlane maintainer: John MacFarlane bug-reports: https://github.com/jgm/pandoc/issues stability: alpha homepage: https://pandoc.org category: Text tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5 synopsis: Conversion between markup formats description: Pandoc is a Haskell library for converting from one markup format to another, and a command-line tool that uses this library. It can read several dialects of Markdown and (subsets of) HTML, reStructuredText, LaTeX, DocBook, JATS, MediaWiki markup, DokuWiki markup, TWiki markup, TikiWiki markup, Jira markup, Creole 1.0, Haddock markup, OPML, Emacs Org-Mode, Emacs Muse, txt2tags, ipynb (Jupyter notebooks), Vimwiki, Word Docx, ODT, EPUB, FictionBook2, roff man, Textile, and CSV, and it can write Markdown, reStructuredText, XHTML, HTML 5, LaTeX, ConTeXt, DocBook, JATS, OPML, TEI, OpenDocument, ODT, Word docx, PowerPoint pptx, RTF, MediaWiki, DokuWiki, XWiki, ZimWiki, Textile, Jira, roff man, roff ms, plain text, Emacs Org-Mode, AsciiDoc, Haddock markup, EPUB (v2 and v3), ipynb, FictionBook2, InDesign ICML, Muse, LaTeX beamer slides, and several kinds of HTML/JavaScript slide shows (S5, Slidy, Slideous, DZSlides, reveal.js). . In contrast to most existing tools for converting Markdown to HTML, pandoc has a modular design: it consists of a set of readers, which parse text in a given format and produce a native representation of the document, and a set of writers, which convert this native representation into a target format. Thus, adding an input or output format requires only adding a reader or writer. data-files: -- templates data/templates/styles.html data/templates/default.html4 data/templates/default.html5 data/templates/default.docbook4 data/templates/default.docbook5 data/templates/default.jats_archiving data/templates/default.jats_articleauthoring data/templates/default.jats_publishing data/templates/default.tei data/templates/default.opendocument data/templates/default.icml data/templates/default.opml data/templates/default.latex data/templates/default.context data/templates/default.texinfo data/templates/default.jira data/templates/default.man data/templates/default.ms data/templates/default.markdown data/templates/default.muse data/templates/default.commonmark data/templates/default.rst data/templates/default.plain data/templates/default.mediawiki data/templates/default.dokuwiki data/templates/default.xwiki data/templates/default.zimwiki data/templates/default.rtf data/templates/default.s5 data/templates/default.slidy data/templates/default.slideous data/templates/default.revealjs data/templates/default.dzslides data/templates/default.asciidoc data/templates/default.asciidoctor data/templates/default.haddock data/templates/default.textile data/templates/default.org data/templates/default.epub2 data/templates/default.epub3 data/templates/article.jats_publishing -- translations data/translations/*.yaml -- source files for reference.docx data/docx/[Content_Types].xml data/docx/_rels/.rels data/docx/docProps/app.xml data/docx/docProps/core.xml data/docx/docProps/custom.xml data/docx/word/document.xml data/docx/word/fontTable.xml data/docx/word/comments.xml data/docx/word/footnotes.xml data/docx/word/numbering.xml data/docx/word/settings.xml data/docx/word/webSettings.xml data/docx/word/styles.xml data/docx/word/_rels/document.xml.rels data/docx/word/_rels/footnotes.xml.rels data/docx/word/theme/theme1.xml -- source files for reference.odt data/odt/mimetype data/odt/manifest.rdf data/odt/styles.xml data/odt/content.xml data/odt/meta.xml data/odt/settings.xml data/odt/Configurations2/accelerator/current.xml data/odt/Thumbnails/thumbnail.png data/odt/META-INF/manifest.xml -- source files for reference.pptx data/pptx/_rels/.rels data/pptx/docProps/app.xml data/pptx/docProps/core.xml data/pptx/ppt/slideLayouts/_rels/slideLayout1.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout2.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout3.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout4.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout5.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout6.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout7.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout8.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout9.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout10.xml.rels data/pptx/ppt/slideLayouts/_rels/slideLayout11.xml.rels data/pptx/ppt/slideLayouts/slideLayout1.xml data/pptx/ppt/slideLayouts/slideLayout2.xml data/pptx/ppt/slideLayouts/slideLayout3.xml data/pptx/ppt/slideLayouts/slideLayout4.xml data/pptx/ppt/slideLayouts/slideLayout5.xml data/pptx/ppt/slideLayouts/slideLayout6.xml data/pptx/ppt/slideLayouts/slideLayout7.xml data/pptx/ppt/slideLayouts/slideLayout8.xml data/pptx/ppt/slideLayouts/slideLayout9.xml data/pptx/ppt/slideLayouts/slideLayout10.xml data/pptx/ppt/slideLayouts/slideLayout11.xml data/pptx/ppt/_rels/presentation.xml.rels data/pptx/ppt/theme/theme1.xml data/pptx/ppt/presProps.xml data/pptx/ppt/slides/_rels/slide1.xml.rels data/pptx/ppt/slides/_rels/slide2.xml.rels data/pptx/ppt/slides/slide2.xml data/pptx/ppt/slides/slide1.xml data/pptx/ppt/slides/_rels/slide3.xml.rels data/pptx/ppt/slides/_rels/slide4.xml.rels data/pptx/ppt/slides/slide3.xml data/pptx/ppt/slides/slide4.xml data/pptx/ppt/viewProps.xml data/pptx/ppt/tableStyles.xml data/pptx/ppt/slideMasters/_rels/slideMaster1.xml.rels data/pptx/ppt/slideMasters/slideMaster1.xml data/pptx/ppt/presentation.xml data/pptx/ppt/notesMasters/_rels/notesMaster1.xml.rels data/pptx/ppt/notesMasters/notesMaster1.xml data/pptx/ppt/notesSlides/_rels/notesSlide1.xml.rels data/pptx/ppt/notesSlides/notesSlide1.xml data/pptx/ppt/notesSlides/_rels/notesSlide2.xml.rels data/pptx/ppt/notesSlides/notesSlide2.xml data/pptx/ppt/theme/theme2.xml data/pptx/[Content_Types].xml -- stylesheet for EPUB writer data/epub.css -- data for dzslides writer data/dzslides/template.html -- default abbreviations file data/abbreviations -- sample lua custom writer data/sample.lua -- lua init script data/init.lua -- pandoc lua module data/pandoc.lua -- lua List module data/pandoc.List.lua -- bash completion template data/bash_completion.tpl -- jats csl data/jats.csl -- documentation MANUAL.txt, COPYRIGHT extra-source-files: -- documentation INSTALL.md, AUTHORS.md, README.md, CONTRIBUTING.md, BUGS, changelog.md, man/pandoc.1 -- cabal and stack build plans cabal.project stack.yaml -- files needed to build man page man/manfilter.lua man/pandoc.1.before man/pandoc.1.after -- trypandoc trypandoc/Makefile trypandoc/index.html -- tests test/bodybg.gif test/*.native test/command/*.md test/command/A.txt test/command/B.txt test/command/C.txt test/command/D.txt test/command/defaults1.yaml test/command/defaults2.yaml test/command/3533-rst-csv-tables.csv test/command/3880.txt test/command/5182.txt test/command/5700-metadata-file-1.yml test/command/5700-metadata-file-2.yml test/command/abbrevs test/command/SVG_logo-without-xml-declaration.svg test/command/SVG_logo.svg test/command/corrupt.svg test/command/inkscape-cube.svg test/command/lua-pandoc-state.lua test/command/sub-file-chapter-1.tex test/command/sub-file-chapter-2.tex test/command/bar.tex test/command/yaml-metadata.yaml test/command/3510-subdoc.org test/command/3510-export.latex test/command/3510-src.hs test/command/3971b.tex test/docbook-chapter.docbook test/docbook-reader.docbook test/docbook-xref.docbook test/html-reader.html test/opml-reader.opml test/org-select-tags.org test/haddock-reader.haddock test/insert test/lalune.jpg test/man-reader.man test/movie.jpg test/media/rId25.jpg test/media/rId26.jpg test/media/rId27.jpg test/latex-reader.latex test/textile-reader.textile test/markdown-reader-more.txt test/markdown-citations.txt test/textile-reader.textile test/mediawiki-reader.wiki test/vimwiki-reader.wiki test/creole-reader.txt test/rst-reader.rst test/jats-reader.xml test/jira-reader.jira test/s5-basic.html test/s5-fancy.html test/s5-fragment.html test/s5-inserts.html test/tables.context test/tables.docbook4 test/tables.docbook5 test/tables.jats_archiving test/tables.jats_articleauthoring test/tables.jats_publishing test/tables.jira test/tables.dokuwiki test/tables.zimwiki test/tables.icml test/tables.html4 test/tables.html5 test/tables.latex test/tables.man test/tables.ms test/tables.plain test/tables.markdown test/tables.mediawiki test/tables.tei test/tables.textile test/tables.opendocument test/tables.org test/tables.asciidoc test/tables.haddock test/tables.texinfo test/tables.rst test/tables.rtf test/tables.txt test/tables.fb2 test/tables.muse test/tables.custom test/tables.xwiki test/testsuite.txt test/writer.latex test/writer.context test/writer.docbook4 test/writer.docbook5 test/writer.jats_archiving test/writer.jats_articleauthoring test/writer.jats_publishing test/writer.jira test/writer.html4 test/writer.html5 test/writer.man test/writer.ms test/writer.markdown test/writer.plain test/writer.mediawiki test/writer.textile test/writer.opendocument test/writer.org test/writer.asciidoc test/writer.haddock test/writer.rst test/writer.icml test/writer.rtf test/writer.tei test/writer.texinfo test/writer.fb2 test/writer.opml test/writer.dokuwiki test/writer.zimwiki test/writer.xwiki test/writer.muse test/writer.custom test/writers-lang-and-dir.latex test/writers-lang-and-dir.context test/dokuwiki_inline_formatting.dokuwiki test/lhs-test.markdown test/lhs-test.markdown+lhs test/lhs-test.rst test/lhs-test.rst+lhs test/lhs-test.latex test/lhs-test.latex+lhs test/lhs-test.html test/lhs-test.html+lhs test/lhs-test.fragment.html+lhs test/pipe-tables.txt test/dokuwiki_external_images.dokuwiki test/dokuwiki_multiblock_table.dokuwiki test/fb2/*.markdown test/fb2/*.fb2 test/fb2/images-embedded.html test/fb2/images-embedded.fb2 test/fb2/test-small.png test/fb2/reader/*.fb2 test/fb2/reader/*.native test/fb2/test.jpg test/docx/*.docx test/docx/golden/*.docx test/docx/*.native test/epub/*.epub test/epub/*.native test/pptx/*.pptx test/pptx/*.native test/ipynb/*.in.native test/ipynb/*.out.native test/ipynb/*.ipynb test/txt2tags.t2t test/twiki-reader.twiki test/tikiwiki-reader.tikiwiki test/odt/odt/*.odt test/odt/markdown/*.md test/odt/native/*.native test/lua/*.lua test/lua/module/*.lua source-repository head type: git location: git://github.com/jgm/pandoc.git flag static Description: Use static linking for pandoc executable. Default: False flag embed_data_files Description: Embed data files in binary for relocatable executable. Default: False flag trypandoc Description: Build trypandoc cgi executable. Default: False library build-depends: base-noprelude >= 4.9 && < 5, base-compat >= 0.9, syb >= 0.1 && < 0.8, containers >= 0.4.2.1 && < 0.7, unordered-containers >= 0.2 && < 0.3, parsec >= 3.1 && < 3.2, mtl >= 2.2 && < 2.3, exceptions >= 0.8 && < 0.11, filepath >= 1.1 && < 1.5, process >= 1.2.3 && < 1.7, directory >= 1.2.3 && < 1.4, bytestring >= 0.9 && < 0.11, text >= 1.1.1.0 && < 1.3, time >= 1.5 && < 1.10, safe >= 0.3 && < 0.4, zip-archive >= 0.2.3.4 && < 0.5, HTTP >= 4000.0.5 && < 4000.4, texmath >= 0.12.0.1 && < 0.13, xml >= 1.3.12 && < 1.4, split >= 0.2 && < 0.3, random >= 1 && < 1.2, pandoc-types >= 1.20 && < 1.21, aeson >= 0.7 && < 1.5, scientific >= 0.3 && < 0.4, aeson-pretty >= 0.8.5 && < 0.9, tagsoup >= 0.14.6 && < 0.15, base64-bytestring >= 0.1 && < 1.1, zlib >= 0.5 && < 0.7, skylighting >= 0.8.3.2 && < 0.9, skylighting-core >= 0.8.3.2 && < 0.9, data-default >= 0.4 && < 0.8, temporary >= 1.1 && < 1.4, blaze-html >= 0.9 && < 0.10, blaze-markup >= 0.8 && < 0.9, vector >= 0.10 && < 0.13, jira-wiki-markup >= 1.1.3 && < 1.2, hslua >= 1.0.1 && < 1.1, hslua-module-system >= 0.2 && < 0.3, hslua-module-text >= 0.2 && < 0.3, binary >= 0.5 && < 0.11, SHA >= 1.6 && < 1.7, haddock-library >= 1.8 && < 1.9, deepseq >= 1.3 && < 1.5, JuicyPixels >= 3.1.6.1 && < 3.4, Glob >= 0.7 && < 0.11, cmark-gfm >= 0.2 && < 0.3, doctemplates >= 0.8 && < 0.9, network-uri >= 2.6 && < 2.7, network >= 2.6, http-client >= 0.4.30 && < 0.7, http-client-tls >= 0.2.4 && < 0.4, http-types >= 0.8 && < 0.13, case-insensitive >= 1.2 && < 1.3, unicode-transforms >= 0.3 && < 0.4, HsYAML >= 0.2 && < 0.3, doclayout >= 0.3 && < 0.4, ipynb >= 0.1 && < 0.2, attoparsec >= 0.12 && < 0.14, text-conversions >= 0.3 && < 0.4, emojis >= 0.1 && < 0.2 if os(windows) && arch(i386) build-depends: basement >= 0.0.10, foundation >= 0.0.23 -- basement 0.0.9 won't build on 32-bit windows. if os(windows) cpp-options: -D_WINDOWS else build-depends: unix >= 2.4 && < 2.8 if flag(embed_data_files) cpp-options: -DEMBED_DATA_FILES build-depends: file-embed >= 0.0 && < 0.1 other-modules: Text.Pandoc.Data if os(windows) cpp-options: -D_WINDOWS ghc-options: -Wall -fno-warn-unused-do-bind -Wincomplete-record-updates -Wnoncanonical-monad-instances -- Later: -- -Wpartial-fields (currently used in Powerpoint writer) -- -Wmissing-export-lists (currently some Odt modules violate this) -- -Wredundant-constraints (problematic if we want to support older base) if impl(ghc >= 8.2) ghc-options: -Wcpp-undef if impl(ghc >= 8.4) ghc-options: -Wincomplete-uni-patterns -Widentities -Werror=missing-home-modules -fhide-source-paths default-language: Haskell2010 other-extensions: NoImplicitPrelude hs-source-dirs: src, prelude exposed-modules: Text.Pandoc, Text.Pandoc.App, Text.Pandoc.Options, Text.Pandoc.Extensions, Text.Pandoc.Shared, Text.Pandoc.MediaBag, Text.Pandoc.Error, Text.Pandoc.Filter, Text.Pandoc.Readers, Text.Pandoc.Readers.HTML, Text.Pandoc.Readers.LaTeX, Text.Pandoc.Readers.LaTeX.Types, Text.Pandoc.Readers.Markdown, Text.Pandoc.Readers.CommonMark, Text.Pandoc.Readers.Creole, Text.Pandoc.Readers.MediaWiki, Text.Pandoc.Readers.Vimwiki, Text.Pandoc.Readers.RST, Text.Pandoc.Readers.Org, Text.Pandoc.Readers.DocBook, Text.Pandoc.Readers.JATS, Text.Pandoc.Readers.Jira, Text.Pandoc.Readers.OPML, Text.Pandoc.Readers.Textile, Text.Pandoc.Readers.Native, Text.Pandoc.Readers.Haddock, Text.Pandoc.Readers.TWiki, Text.Pandoc.Readers.TikiWiki, Text.Pandoc.Readers.Txt2Tags, Text.Pandoc.Readers.Docx, Text.Pandoc.Readers.Odt, Text.Pandoc.Readers.EPUB, Text.Pandoc.Readers.Muse, Text.Pandoc.Readers.Man, Text.Pandoc.Readers.FB2, Text.Pandoc.Readers.DokuWiki, Text.Pandoc.Readers.Ipynb, Text.Pandoc.Readers.CSV, Text.Pandoc.Writers, Text.Pandoc.Writers.Native, Text.Pandoc.Writers.Docbook, Text.Pandoc.Writers.JATS, Text.Pandoc.Writers.OPML, Text.Pandoc.Writers.HTML, Text.Pandoc.Writers.Ipynb, Text.Pandoc.Writers.ICML, Text.Pandoc.Writers.Jira, Text.Pandoc.Writers.LaTeX, Text.Pandoc.Writers.ConTeXt, Text.Pandoc.Writers.OpenDocument, Text.Pandoc.Writers.Texinfo, Text.Pandoc.Writers.Man, Text.Pandoc.Writers.Ms, Text.Pandoc.Writers.Markdown, Text.Pandoc.Writers.CommonMark, Text.Pandoc.Writers.Haddock, Text.Pandoc.Writers.RST, Text.Pandoc.Writers.Org, Text.Pandoc.Writers.AsciiDoc, Text.Pandoc.Writers.Custom, Text.Pandoc.Writers.Textile, Text.Pandoc.Writers.MediaWiki, Text.Pandoc.Writers.DokuWiki, Text.Pandoc.Writers.XWiki, Text.Pandoc.Writers.ZimWiki, Text.Pandoc.Writers.RTF, Text.Pandoc.Writers.ODT, Text.Pandoc.Writers.Docx, Text.Pandoc.Writers.Powerpoint, Text.Pandoc.Writers.EPUB, Text.Pandoc.Writers.FB2, Text.Pandoc.Writers.TEI, Text.Pandoc.Writers.Muse, Text.Pandoc.Writers.Math, Text.Pandoc.Writers.Shared, Text.Pandoc.Writers.OOXML, Text.Pandoc.Lua, Text.Pandoc.PDF, Text.Pandoc.UTF8, Text.Pandoc.Templates, Text.Pandoc.XML, Text.Pandoc.SelfContained, Text.Pandoc.Highlighting, Text.Pandoc.Logging, Text.Pandoc.Process, Text.Pandoc.MIME, Text.Pandoc.Parsing, Text.Pandoc.Asciify, Text.Pandoc.Emoji, Text.Pandoc.ImageSize, Text.Pandoc.BCP47, Text.Pandoc.Class other-modules: Prelude, Text.Pandoc.App.CommandLineOptions, Text.Pandoc.App.FormatHeuristics, Text.Pandoc.App.Opt, Text.Pandoc.App.OutputSettings, Text.Pandoc.Class.CommonState, Text.Pandoc.Class.PandocMonad, Text.Pandoc.Class.PandocIO, Text.Pandoc.Class.PandocPure, Text.Pandoc.Filter.JSON, Text.Pandoc.Filter.Lua, Text.Pandoc.Filter.Path, Text.Pandoc.Readers.Docx.Lists, Text.Pandoc.Readers.Docx.Combine, Text.Pandoc.Readers.Docx.Parse, Text.Pandoc.Readers.Docx.Parse.Styles, Text.Pandoc.Readers.Docx.Util, Text.Pandoc.Readers.Docx.Fields, Text.Pandoc.Readers.LaTeX.Parsing, Text.Pandoc.Readers.LaTeX.Lang, Text.Pandoc.Readers.Odt.Base, Text.Pandoc.Readers.Odt.Namespaces, Text.Pandoc.Readers.Odt.StyleReader, Text.Pandoc.Readers.Odt.ContentReader, Text.Pandoc.Readers.Odt.Generic.Fallible, Text.Pandoc.Readers.Odt.Generic.SetMap, Text.Pandoc.Readers.Odt.Generic.Utils, Text.Pandoc.Readers.Odt.Generic.Namespaces, Text.Pandoc.Readers.Odt.Generic.XMLConverter, Text.Pandoc.Readers.Odt.Arrows.State, Text.Pandoc.Readers.Odt.Arrows.Utils, Text.Pandoc.Readers.Org.BlockStarts, Text.Pandoc.Readers.Org.Blocks, Text.Pandoc.Readers.Org.DocumentTree, Text.Pandoc.Readers.Org.ExportSettings, Text.Pandoc.Readers.Org.Inlines, Text.Pandoc.Readers.Org.Meta, Text.Pandoc.Readers.Org.ParserState, Text.Pandoc.Readers.Org.Parsing, Text.Pandoc.Readers.Org.Shared, Text.Pandoc.Readers.Metadata, Text.Pandoc.Readers.Roff, Text.Pandoc.Writers.Docx.StyleMap, Text.Pandoc.Writers.Roff, Text.Pandoc.Writers.Powerpoint.Presentation, Text.Pandoc.Writers.Powerpoint.Output, Text.Pandoc.Lua.Filter, Text.Pandoc.Lua.Global, Text.Pandoc.Lua.Init, Text.Pandoc.Lua.Marshaling, Text.Pandoc.Lua.Marshaling.AST, Text.Pandoc.Lua.Marshaling.AnyValue, Text.Pandoc.Lua.Marshaling.CommonState, Text.Pandoc.Lua.Marshaling.Context, Text.Pandoc.Lua.Marshaling.List, Text.Pandoc.Lua.Marshaling.MediaBag, Text.Pandoc.Lua.Marshaling.ReaderOptions, Text.Pandoc.Lua.Marshaling.Version, Text.Pandoc.Lua.Module.MediaBag, Text.Pandoc.Lua.Module.Pandoc, Text.Pandoc.Lua.Module.System, Text.Pandoc.Lua.Module.Types, Text.Pandoc.Lua.Module.Utils, Text.Pandoc.Lua.Packages, Text.Pandoc.Lua.Util, Text.Pandoc.Lua.Walk, Text.Pandoc.CSS, Text.Pandoc.CSV, Text.Pandoc.RoffChar, Text.Pandoc.UUID, Text.Pandoc.Translations, Text.Pandoc.Slides, Text.Pandoc.Image, Paths_pandoc autogen-modules: Paths_pandoc buildable: True executable pandoc build-depends: pandoc, base-noprelude >= 4.8 && < 5, base-compat >= 0.9 if flag(static) ld-options: -static default-language: Haskell2010 other-extensions: NoImplicitPrelude hs-source-dirs: . prelude main-is: pandoc.hs buildable: True other-modules: Paths_pandoc, Prelude ghc-options: -rtsopts -with-rtsopts=-K16m -threaded -Wall -fno-warn-unused-do-bind -Wincomplete-record-updates -Wnoncanonical-monad-instances if impl(ghc >= 8.2) ghc-options: -Wcpp-undef if impl(ghc >= 8.4) ghc-options: -Wincomplete-uni-patterns -Widentities -Werror=missing-home-modules -fhide-source-paths executable trypandoc main-is: trypandoc.hs hs-source-dirs: trypandoc, prelude default-language: Haskell2010 other-extensions: NoImplicitPrelude other-modules: Prelude if flag(trypandoc) build-depends: base-noprelude, base-compat >= 0.9, aeson, pandoc, text, wai-extra, wai >= 0.3, http-types buildable: True else buildable: False ghc-options: -rtsopts -with-rtsopts=-K16m -threaded -Wall -fno-warn-unused-do-bind -Wincomplete-record-updates -Wnoncanonical-monad-instances if impl(ghc >= 8.2) ghc-options: -Wcpp-undef if impl(ghc >= 8.4) ghc-options: -Wincomplete-uni-patterns -Widentities -Werror=missing-home-modules -fhide-source-paths benchmark weigh-pandoc type: exitcode-stdio-1.0 main-is: weigh-pandoc.hs hs-source-dirs: benchmark, prelude build-depends: pandoc, base-noprelude >= 4.8 && < 5, base-compat >= 0.9, text, weigh >= 0.0 && < 0.1, mtl >= 2.2 && < 2.3 default-language: Haskell2010 other-modules: Prelude ghc-options: -rtsopts -with-rtsopts=-K16m -threaded -Wall -fno-warn-unused-do-bind -Wincomplete-record-updates -Wnoncanonical-monad-instances if impl(ghc >= 8.2) ghc-options: -Wcpp-undef if impl(ghc >= 8.4) ghc-options: -Wincomplete-uni-patterns -Widentities -Werror=missing-home-modules -fhide-source-paths test-suite test-pandoc type: exitcode-stdio-1.0 main-is: test-pandoc.hs hs-source-dirs: test, prelude build-depends: base-noprelude >= 4.8 && < 5, base-compat >= 0.9, pandoc, pandoc-types >= 1.20 && < 1.21, mtl >= 2.2 && < 2.3, bytestring >= 0.9 && < 0.11, base64-bytestring >= 0.1 && < 1.1, text >= 1.1.1.0 && < 1.3, time >= 1.5 && < 1.10, directory >= 1.2.3 && < 1.4, filepath >= 1.1 && < 1.5, hslua >= 1.0 && < 1.1, process >= 1.2.3 && < 1.7, temporary >= 1.1 && < 1.4, Diff >= 0.2 && < 0.5, tasty >= 0.11 && < 1.3, tasty-hunit >= 0.9 && < 0.11, tasty-lua >= 0.2 && < 0.3, tasty-quickcheck >= 0.8 && < 0.11, tasty-golden >= 2.3 && < 2.4, QuickCheck >= 2.4 && < 2.14, containers >= 0.4.2.1 && < 0.7, executable-path >= 0.0 && < 0.1, zip-archive >= 0.2.3.4 && < 0.5, xml >= 1.3.12 && < 1.4, doctemplates >= 0.8 && < 0.9, Glob >= 0.7 && < 0.11 other-modules: Prelude Tests.Old Tests.Command Tests.Helpers Tests.Lua Tests.Lua.Module Tests.Shared Tests.Readers.LaTeX Tests.Readers.HTML Tests.Readers.JATS Tests.Readers.Jira Tests.Readers.Markdown Tests.Readers.Org Tests.Readers.Org.Block Tests.Readers.Org.Block.CodeBlock Tests.Readers.Org.Block.Figure Tests.Readers.Org.Block.Header Tests.Readers.Org.Block.List Tests.Readers.Org.Block.Table Tests.Readers.Org.Directive Tests.Readers.Org.Inline Tests.Readers.Org.Inline.Citation Tests.Readers.Org.Inline.Note Tests.Readers.Org.Inline.Smart Tests.Readers.Org.Meta Tests.Readers.Org.Shared Tests.Readers.RST Tests.Readers.Docx Tests.Readers.Odt Tests.Readers.Txt2Tags Tests.Readers.EPUB Tests.Readers.Muse Tests.Readers.Creole Tests.Readers.Man Tests.Readers.FB2 Tests.Readers.DokuWiki Tests.Writers.Native Tests.Writers.ConTeXt Tests.Writers.Docbook Tests.Writers.HTML Tests.Writers.JATS Tests.Writers.Markdown Tests.Writers.Org Tests.Writers.Plain Tests.Writers.AsciiDoc Tests.Writers.LaTeX Tests.Writers.Docx Tests.Writers.RST Tests.Writers.TEI Tests.Writers.Muse Tests.Writers.FB2 Tests.Writers.Powerpoint Tests.Writers.OOXML if os(windows) cpp-options: -D_WINDOWS default-language: Haskell2010 ghc-options: -rtsopts -with-rtsopts=-K16m -threaded -Wall -fno-warn-unused-do-bind -Wincomplete-record-updates -Wnoncanonical-monad-instances if impl(ghc >= 8.2) ghc-options: -Wcpp-undef if impl(ghc >= 8.4) ghc-options: -Wincomplete-uni-patterns -Widentities -Werror=missing-home-modules -fhide-source-paths benchmark benchmark-pandoc type: exitcode-stdio-1.0 main-is: benchmark-pandoc.hs hs-source-dirs: benchmark, prelude build-depends: pandoc, time, bytestring, containers, base-noprelude >= 4.8 && < 5, base-compat >= 0.9, text >= 1.1.1.0 && < 1.3, mtl >= 2.2 && < 2.3, criterion >= 1.0 && < 1.6 default-language: Haskell2010 other-modules: Prelude ghc-options: -rtsopts -with-rtsopts=-K16m -threaded -Wall -fno-warn-unused-do-bind -Wincomplete-record-updates -Wnoncanonical-monad-instances if impl(ghc >= 8.2) ghc-options: -Wcpp-undef if impl(ghc >= 8.4) ghc-options: -Wincomplete-uni-patterns -Widentities -Werror=missing-home-modules -fhide-source-paths pandoc-2.9.2.1/pandoc.hs000066400000000000000000000012121363630463000147270ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {- | Module : Main Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Parses command-line options and calls the appropriate readers and writers. -} module Main where import Prelude import qualified Control.Exception as E import Text.Pandoc.App (convertWithOpts, defaultOpts, options, parseOptions) import Text.Pandoc.Error (handleError) main :: IO () main = E.catch (parseOptions options defaultOpts >>= convertWithOpts) (handleError . Left) pandoc-2.9.2.1/prelude/000077500000000000000000000000001363630463000145735ustar00rootroot00000000000000pandoc-2.9.2.1/prelude/Prelude.hs000066400000000000000000000004701363630463000165300ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} -- The intent is that this Prelude provide the API of -- the base 4.11 Prelude in a way that is portable for -- all base versions. module Prelude ( module Prelude.Compat , Semigroup(..) ) where import Prelude.Compat import Data.Semigroup (Semigroup(..)) -- includes (<>) pandoc-2.9.2.1/src/000077500000000000000000000000001363630463000137225ustar00rootroot00000000000000pandoc-2.9.2.1/src/Text/000077500000000000000000000000001363630463000146465ustar00rootroot00000000000000pandoc-2.9.2.1/src/Text/Pandoc.hs000066400000000000000000000042741363630463000164150ustar00rootroot00000000000000{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Text.Pandoc Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable This helper module exports the main writers, readers, and data structure definitions from the Pandoc libraries. A typical application will chain together a reader and a writer to convert strings from one format to another. For example, the following simple program will act as a filter converting markdown fragments to reStructuredText, using reference-style links instead of inline links: > module Main where > import Text.Pandoc > import Data.Text (Text) > import qualified Data.Text.IO as T > > mdToRST :: Text -> IO Text > mdToRST txt = runIOorExplode $ > readMarkdown def txt > >>= writeRST def{ writerReferenceLinks = True } > > main :: IO () > main = do > T.getContents >>= mdToRST >>= T.putStrLn -} module Text.Pandoc ( -- * Definitions module Text.Pandoc.Definition -- * Generics , module Text.Pandoc.Generic -- * Options , module Text.Pandoc.Options -- * Logging , module Text.Pandoc.Logging -- * Typeclass , module Text.Pandoc.Class -- * Error handling , module Text.Pandoc.Error -- * Readers: converting /to/ Pandoc format , module Text.Pandoc.Readers -- * Writers: converting /from/ Pandoc format , module Text.Pandoc.Writers -- * Rendering templates and default templates , module Text.Pandoc.Templates -- * Miscellaneous , pandocVersion ) where import Text.Pandoc.Class import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.Generic import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Readers import Text.Pandoc.Shared (pandocVersion) import Text.Pandoc.Templates import Text.Pandoc.Writers pandoc-2.9.2.1/src/Text/Pandoc/000077500000000000000000000000001363630463000160525ustar00rootroot00000000000000pandoc-2.9.2.1/src/Text/Pandoc/App.hs000066400000000000000000000353771363630463000171450ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE CPP #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Text.Pandoc.App Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Does a pandoc conversion based on command-line options. -} module Text.Pandoc.App ( convertWithOpts , Opt(..) , LineEnding(..) , Filter(..) , defaultOpts , parseOptions , options , applyFilters ) where import qualified Control.Exception as E import Control.Monad import Control.Monad.Trans import Control.Monad.Except (throwError) import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as BL import Data.Char (toLower) import Data.Maybe (fromMaybe, isJust, isNothing) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import qualified Data.Text.Lazy as TL import qualified Data.Text.Lazy.Encoding as TE import qualified Data.Text.Encoding.Error as TE import qualified Data.Text.Encoding.Error as TSE import Network.URI (URI (..), parseURI) import System.Directory (doesDirectoryExist) import System.Exit (exitSuccess) import System.FilePath import System.IO (nativeNewline, stdout) import qualified System.IO as IO (Newline (..)) import Text.Pandoc import Text.Pandoc.App.FormatHeuristics (formatFromFilePaths) import Text.Pandoc.App.Opt (Opt (..), LineEnding (..), defaultOpts, IpynbOutput (..) ) import Text.Pandoc.App.CommandLineOptions (parseOptions, options) import Text.Pandoc.App.OutputSettings (OutputSettings (..), optToOutputSettings) import Text.Pandoc.BCP47 (Lang (..), parseBCP47) import Text.Pandoc.Builder (setMeta) import Text.Pandoc.Filter (Filter (JSONFilter, LuaFilter), applyFilters) import Text.Pandoc.PDF (makePDF) import Text.Pandoc.SelfContained (makeDataURI, makeSelfContained) import Text.Pandoc.Shared (eastAsianLineBreakFilter, stripEmptyParagraphs, headerShift, isURI, tabFilter, uriPathToPath, filterIpynbOutput, defaultUserDataDirs, tshow, findM) import Text.Pandoc.Writers.Shared (lookupMetaString) import Text.Pandoc.Readers.Markdown (yamlToMeta) import qualified Text.Pandoc.UTF8 as UTF8 #ifndef _WINDOWS import System.Posix.IO (stdOutput) import System.Posix.Terminal (queryTerminal) #endif convertWithOpts :: Opt -> IO () convertWithOpts opts = do let outputFile = fromMaybe "-" (optOutputFile opts) let filters = optFilters opts let verbosity = optVerbosity opts when (optDumpArgs opts) $ do UTF8.hPutStrLn stdout outputFile mapM_ (UTF8.hPutStrLn stdout) (fromMaybe ["-"] $ optInputFiles opts) exitSuccess let isPandocCiteproc (JSONFilter f) = takeBaseName f == "pandoc-citeproc" isPandocCiteproc _ = False -- --bibliography implies -F pandoc-citeproc for backwards compatibility: let needsCiteproc = isJust (lookupMeta "bibliography" (optMetadata opts)) && optCiteMethod opts `notElem` [Natbib, Biblatex] && not (any isPandocCiteproc filters) let filters' = filters ++ [ JSONFilter "pandoc-citeproc" | needsCiteproc ] let sources = case optInputFiles opts of Just xs | not (optIgnoreArgs opts) -> xs _ -> ["-"] datadir <- case optDataDir opts of Nothing -> do ds <- defaultUserDataDirs findM doesDirectoryExist ds Just _ -> return $ optDataDir opts let runIO' :: PandocIO a -> IO a runIO' f = do (res, reports) <- runIOorExplode $ do setTrace (optTrace opts) setVerbosity verbosity x <- f rs <- getLog return (x, rs) case optLogFile opts of Nothing -> return () Just logfile -> BL.writeFile logfile (encodeLogMessages reports) let isWarning msg = messageVerbosity msg == WARNING when (optFailIfWarnings opts && any isWarning reports) $ E.throwIO PandocFailOnWarningError return res let eol = case optEol opts of CRLF -> IO.CRLF LF -> IO.LF Native -> nativeNewline #ifdef _WINDOWS let istty = True #else istty <- liftIO $ queryTerminal stdOutput #endif runIO' $ do setUserDataDir datadir setResourcePath (optResourcePath opts) setInputFiles (fromMaybe ["-"] (optInputFiles opts)) setOutputFile (optOutputFile opts) -- assign reader and writer based on options and filenames readerName <- case optFrom opts of Just f -> return f Nothing -> case formatFromFilePaths sources of Just f' -> return f' Nothing | sources == ["-"] -> return "markdown" | any (isURI . T.pack) sources -> return "html" | otherwise -> do report $ CouldNotDeduceFormat (map (T.pack . takeExtension) sources) "markdown" return "markdown" let pdfOutput = map toLower (takeExtension outputFile) == ".pdf" when (pdfOutput && readerName == "latex") $ case optInputFiles opts of Just (inputFile:_) -> report $ UnusualConversion $ T.pack $ "to convert a .tex file to PDF, you get better results by using pdflatex " <> "(or lualatex or xelatex) directly, try `pdflatex " <> inputFile <> "` instead of `pandoc " <> inputFile <> " -o " <> outputFile <> "`." _ -> return () (reader :: Reader PandocIO, readerExts) <- getReader readerName let convertTabs = tabFilter (if optPreserveTabs opts || readerName == "t2t" || readerName == "man" then 0 else optTabStop opts) let readSources :: [FilePath] -> PandocIO Text readSources srcs = convertTabs . T.intercalate (T.pack "\n") <$> mapM readSource srcs outputSettings <- optToOutputSettings opts let format = outputFormat outputSettings let writer = outputWriter outputSettings let writerName = outputWriterName outputSettings let writerOptions = outputWriterOptions outputSettings let standalone = optStandalone opts || not (isTextFormat format) || pdfOutput -- We don't want to send output to the terminal if the user -- does 'pandoc -t docx input.txt'; though we allow them to -- force this with '-o -'. On posix systems, we detect -- when stdout is being piped and allow output to stdout -- in that case, but on Windows we can't. when ((pdfOutput || not (isTextFormat format)) && istty && isNothing ( optOutputFile opts)) $ throwError $ PandocAppError $ "Cannot write " <> format <> " output to terminal.\n" <> "Specify an output file using the -o option, or " <> "use '-o -' to force output to stdout." abbrevs <- Set.fromList . filter (not . T.null) . T.lines . UTF8.toText <$> case optAbbreviations opts of Nothing -> readDataFile "abbreviations" Just f -> readFileStrict f metadata <- if format == "jats" && isNothing (lookupMeta "csl" (optMetadata opts)) && isNothing (lookupMeta "citation-style" (optMetadata opts)) then do jatsCSL <- readDataFile "jats.csl" let jatsEncoded = makeDataURI ("application/xml", jatsCSL) return $ setMeta "csl" jatsEncoded $ optMetadata opts else return $ optMetadata opts case lookupMetaString "lang" (optMetadata opts) of "" -> setTranslations $ Lang "en" "" "US" [] l -> case parseBCP47 l of Left _ -> report $ InvalidLang l Right l' -> setTranslations l' let readerOpts = def{ readerStandalone = standalone , readerColumns = optColumns opts , readerTabStop = optTabStop opts , readerIndentedCodeClasses = optIndentedCodeClasses opts , readerDefaultImageExtension = optDefaultImageExtension opts , readerTrackChanges = optTrackChanges opts , readerAbbreviations = abbrevs , readerExtensions = readerExts , readerStripComments = optStripComments opts } metadataFromFile <- case optMetadataFiles opts of [] -> return mempty paths -> mapM readFileLazy paths >>= fmap mconcat . mapM (yamlToMeta readerOpts) let transforms = (case optShiftHeadingLevelBy opts of 0 -> id x -> (headerShift x :)) . (if optStripEmptyParagraphs opts then (stripEmptyParagraphs :) else id) . (if extensionEnabled Ext_east_asian_line_breaks readerExts && not (extensionEnabled Ext_east_asian_line_breaks (writerExtensions writerOptions) && writerWrapText writerOptions == WrapPreserve) then (eastAsianLineBreakFilter :) else id) . (case optIpynbOutput opts of IpynbOutputAll -> id IpynbOutputNone -> (filterIpynbOutput Nothing :) IpynbOutputBest -> (filterIpynbOutput (Just $ if htmlFormat format then Format "html" else case format of "latex" -> Format "latex" "beamer" -> Format "latex" _ -> Format format) :)) $ [] let sourceToDoc :: [FilePath] -> PandocIO Pandoc sourceToDoc sources' = case reader of TextReader r | optFileScope opts || readerName == "json" -> mconcat <$> mapM (readSource >=> r readerOpts) sources' | otherwise -> readSources sources' >>= r readerOpts ByteStringReader r -> mconcat <$> mapM (readFile' >=> r readerOpts) sources' when (readerName == "markdown_github" || writerName == "markdown_github") $ report $ Deprecated "markdown_github" "Use gfm instead." mapM_ (uncurry setRequestHeader) (optRequestHeaders opts) doc <- sourceToDoc sources >>= ( (if isJust (optExtractMedia opts) then fillMediaBag else return) >=> return . adjustMetadata (metadataFromFile <>) >=> return . adjustMetadata (<> metadata) >=> applyTransforms transforms >=> applyFilters readerOpts filters' [T.unpack format] >=> maybe return extractMedia (optExtractMedia opts) ) case writer of ByteStringWriter f -> f writerOptions doc >>= writeFnBinary outputFile TextWriter f -> case outputPdfProgram outputSettings of Just pdfProg -> do res <- makePDF pdfProg (optPdfEngineOpts opts) f writerOptions doc case res of Right pdf -> writeFnBinary outputFile pdf Left err' -> throwError $ PandocPDFError $ TL.toStrict (TE.decodeUtf8With TE.lenientDecode err') Nothing -> do let ensureNl t | standalone = t | T.null t || T.last t /= '\n' = t <> T.singleton '\n' | otherwise = t output <- ensureNl <$> f writerOptions doc writerFn eol outputFile =<< if optSelfContained opts && htmlFormat format then makeSelfContained output else return output type Transform = Pandoc -> Pandoc htmlFormat :: Text -> Bool htmlFormat = (`elem` ["html","html4","html5","s5","slidy", "slideous","dzslides","revealjs"]) isTextFormat :: Text -> Bool isTextFormat s = s `notElem` ["odt","docx","epub2","epub3","epub","pptx"] adjustMetadata :: (Meta -> Meta) -> Pandoc -> Pandoc adjustMetadata f (Pandoc meta bs) = Pandoc (f meta) bs -- Transformations of a Pandoc document post-parsing: applyTransforms :: Monad m => [Transform] -> Pandoc -> m Pandoc applyTransforms transforms d = return $ foldr ($) d transforms readSource :: FilePath -> PandocIO Text readSource src = case parseURI src of Just u | uriScheme u `elem` ["http:","https:"] -> readURI src | uriScheme u == "file:" -> liftIO $ readTextFile (uriPathToPath $ T.pack $ uriPath u) _ -> liftIO $ readTextFile src where readTextFile :: FilePath -> IO Text readTextFile fp = do bs <- if src == "-" then BS.getContents else BS.readFile fp E.catch (return $! UTF8.toText bs) (\e -> E.throwIO $ case e of TSE.DecodeError _ (Just w) -> case BS.elemIndex w bs of Just offset -> PandocUTF8DecodingError (T.pack fp) offset w _ -> PandocUTF8DecodingError (T.pack fp) 0 w _ -> PandocAppError (tshow e)) readURI :: FilePath -> PandocIO Text readURI src = UTF8.toText . fst <$> openURL (T.pack src) readFile' :: MonadIO m => FilePath -> m BL.ByteString readFile' "-" = liftIO BL.getContents readFile' f = liftIO $ BL.readFile f writeFnBinary :: MonadIO m => FilePath -> BL.ByteString -> m () writeFnBinary "-" = liftIO . BL.putStr writeFnBinary f = liftIO . BL.writeFile (UTF8.encodePath f) writerFn :: MonadIO m => IO.Newline -> FilePath -> Text -> m () -- TODO this implementation isn't maximally efficient: writerFn eol "-" = liftIO . UTF8.putStrWith eol . T.unpack writerFn eol f = liftIO . UTF8.writeFileWith eol f . T.unpack pandoc-2.9.2.1/src/Text/Pandoc/App/000077500000000000000000000000001363630463000165725ustar00rootroot00000000000000pandoc-2.9.2.1/src/Text/Pandoc/App/CommandLineOptions.hs000066400000000000000000001221471363630463000226770ustar00rootroot00000000000000{-# LANGUAGE CPP #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE FlexibleContexts #-} {- | Module : Text.Pandoc.App.CommandLineOptions Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Does a pandoc conversion based on command-line options. -} module Text.Pandoc.App.CommandLineOptions ( parseOptions , options , engines , lookupHighlightStyle , setVariable ) where import Control.Monad import Control.Monad.Trans import Control.Monad.Except (throwError) import Data.Aeson.Encode.Pretty (encodePretty', Config(..), keyOrder, defConfig, Indent(..), NumberFormat(..)) import Data.Bifunctor (second) import Data.Char (toLower) import Data.List (intercalate, sort) #ifdef _WINDOWS #if MIN_VERSION_base_noprelude(4,12,0) import Data.List (isPrefixOf) #endif #endif import Data.Maybe (fromMaybe, isJust) import Data.Text (Text) import Safe (tailDef) import Skylighting (Style, Syntax (..), defaultSyntaxMap, parseTheme) import System.Console.GetOpt import System.Environment (getArgs, getProgName) import System.Exit (exitSuccess) import System.FilePath import System.IO (stdout) import Text.DocTemplates (Context (..), ToContext (toVal), Val (..)) import Text.Pandoc import Text.Pandoc.App.Opt (Opt (..), LineEnding (..), IpynbOutput (..), addMeta) import Text.Pandoc.Filter (Filter (..)) import Text.Pandoc.Highlighting (highlightingStyles) import Text.Pandoc.Shared (ordNub, elemText, safeStrRead, defaultUserDataDirs, findM) import Text.Printf #ifdef EMBED_DATA_FILES import Text.Pandoc.Data (dataFiles) #else import Paths_pandoc (getDataDir) import System.Directory (getDirectoryContents) #endif import qualified Control.Exception as E import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as B import qualified Data.Map as M import qualified Data.Text as T import qualified Data.YAML as Y import qualified Text.Pandoc.UTF8 as UTF8 parseOptions :: [OptDescr (Opt -> IO Opt)] -> Opt -> IO Opt parseOptions options' defaults = do rawArgs <- map UTF8.decodeArg <$> getArgs prg <- getProgName let (actions, args, unrecognizedOpts, errors) = getOpt' Permute options' rawArgs let unknownOptionErrors = foldr (handleUnrecognizedOption . takeWhile (/= '=')) [] unrecognizedOpts unless (null errors && null unknownOptionErrors) $ E.throwIO $ PandocOptionError $ T.pack $ concat errors ++ unlines unknownOptionErrors ++ ("Try " ++ prg ++ " --help for more information.") -- thread option data structure through all supplied option actions opts <- foldl (>>=) (return defaults) actions let mbArgs = case args of [] -> Nothing xs -> Just xs return $ opts{ optInputFiles = map normalizePath <$> (optInputFiles opts <> mbArgs) , optStandalone = -- certain other options imply standalone optStandalone opts || isJust (optTemplate opts) || optSelfContained opts || not (null (optIncludeInHeader opts)) || not (null (optIncludeBeforeBody opts)) || not (null (optIncludeAfterBody opts)) } latexEngines :: [String] latexEngines = ["pdflatex", "lualatex", "xelatex", "latexmk", "tectonic"] htmlEngines :: [String] htmlEngines = ["wkhtmltopdf", "weasyprint", "prince"] engines :: [(Text, String)] engines = map ("html",) htmlEngines ++ map ("html5",) htmlEngines ++ map ("latex",) latexEngines ++ map ("beamer",) latexEngines ++ [ ("ms", "pdfroff") , ("context", "context") ] pdfEngines :: [String] pdfEngines = ordNub $ map snd engines -- | A list of functions, each transforming the options data structure -- in response to a command-line option. options :: [OptDescr (Opt -> IO Opt)] options = [ Option "fr" ["from","read"] (ReqArg (\arg opt -> return opt { optFrom = Just (T.toLower $ T.pack arg) }) "FORMAT") "" , Option "tw" ["to","write"] (ReqArg (\arg opt -> return opt { optTo = Just $ T.pack arg }) "FORMAT") "" , Option "o" ["output"] (ReqArg (\arg opt -> return opt { optOutputFile = Just (normalizePath arg) }) "FILE") "" -- "Name of output file" , Option "" ["data-dir"] (ReqArg (\arg opt -> return opt { optDataDir = Just (normalizePath arg) }) "DIRECTORY") -- "Directory containing pandoc data files." "" , Option "M" ["metadata"] (ReqArg (\arg opt -> do let (key, val) = splitField arg return opt{ optMetadata = addMeta key val $ optMetadata opt }) "KEY[:VALUE]") "" , Option "" ["metadata-file"] (ReqArg (\arg opt -> return opt{ optMetadataFiles = optMetadataFiles opt ++ [normalizePath arg] }) "FILE") "" , Option "d" ["defaults"] (ReqArg (\arg opt -> applyDefaults opt arg ) "FILE") "" , Option "" ["file-scope"] (NoArg (\opt -> return opt { optFileScope = True })) "" -- "Parse input files before combining" , Option "s" ["standalone"] (NoArg (\opt -> return opt { optStandalone = True })) "" -- "Include needed header and footer on output" , Option "" ["template"] (ReqArg (\arg opt -> return opt{ optTemplate = Just (normalizePath arg) }) "FILE") "" -- "Use custom template" , Option "V" ["variable"] (ReqArg (\arg opt -> do let (key, val) = splitField arg return opt{ optVariables = setVariable (T.pack key) (T.pack val) $ optVariables opt }) "KEY[:VALUE]") "" , Option "" ["wrap"] (ReqArg (\arg opt -> case arg of "auto" -> return opt{ optWrap = WrapAuto } "none" -> return opt{ optWrap = WrapNone } "preserve" -> return opt{ optWrap = WrapPreserve } _ -> E.throwIO $ PandocOptionError "--wrap must be auto, none, or preserve") "auto|none|preserve") "" -- "Option for wrapping text in output" , Option "" ["ascii"] (NoArg (\opt -> return opt { optAscii = True })) "" -- "Prefer ASCII output" , Option "" ["toc", "table-of-contents"] (NoArg (\opt -> return opt { optTableOfContents = True })) "" -- "Include table of contents" , Option "" ["toc-depth"] (ReqArg (\arg opt -> case safeStrRead arg of Just t | t >= 1 && t <= 6 -> return opt { optTOCDepth = t } _ -> E.throwIO $ PandocOptionError "TOC level must be a number 1-6") "NUMBER") "" -- "Number of levels to include in TOC" , Option "N" ["number-sections"] (NoArg (\opt -> return opt { optNumberSections = True })) "" -- "Number sections" , Option "" ["number-offset"] (ReqArg (\arg opt -> case safeStrRead ("[" <> arg <> "]") of Just ns -> return opt { optNumberOffset = ns, optNumberSections = True } _ -> E.throwIO $ PandocOptionError "could not parse number-offset") "NUMBERS") "" -- "Starting number for sections, subsections, etc." , Option "" ["top-level-division"] (ReqArg (\arg opt -> case arg of "section" -> return opt{ optTopLevelDivision = TopLevelSection } "chapter" -> return opt{ optTopLevelDivision = TopLevelChapter } "part" -> return opt{ optTopLevelDivision = TopLevelPart } "default" -> return opt{ optTopLevelDivision = TopLevelDefault } _ -> E.throwIO $ PandocOptionError $ "Top-level division must be " <> "section, chapter, part, or default" ) "section|chapter|part") "" -- "Use top-level division type in LaTeX, ConTeXt, DocBook" , Option "" ["extract-media"] (ReqArg (\arg opt -> return opt { optExtractMedia = Just (normalizePath arg) }) "PATH") "" -- "Directory to which to extract embedded media" , Option "" ["resource-path"] (ReqArg (\arg opt -> return opt { optResourcePath = splitSearchPath arg }) "SEARCHPATH") "" -- "Paths to search for images and other resources" , Option "H" ["include-in-header"] (ReqArg (\arg opt -> return opt{ optIncludeInHeader = optIncludeInHeader opt ++ [arg] }) "FILE") "" -- "File to include at end of header (implies -s)" , Option "B" ["include-before-body"] (ReqArg (\arg opt -> return opt{ optIncludeBeforeBody = optIncludeBeforeBody opt ++ [arg] }) "FILE") "" -- "File to include before document body" , Option "A" ["include-after-body"] (ReqArg (\arg opt -> return opt{ optIncludeAfterBody = optIncludeAfterBody opt ++ [arg] }) "FILE") "" -- "File to include after document body" , Option "" ["no-highlight"] (NoArg (\opt -> return opt { optHighlightStyle = Nothing })) "" -- "Don't highlight source code" , Option "" ["highlight-style"] (ReqArg (\arg opt -> return opt{ optHighlightStyle = Just $ T.pack arg }) "STYLE|FILE") "" -- "Style for highlighted code" , Option "" ["syntax-definition"] (ReqArg (\arg opt -> do let tr c d = map (\x -> if x == c then d else x) let arg' = case arg of -- see #4836 -- HXT confuses Windows path with URI _:':':'\\':_ -> "file:///" ++ tr '\\' '/' arg _ -> normalizePath arg return opt{ optSyntaxDefinitions = arg' : optSyntaxDefinitions opt }) "FILE") "" -- "Syntax definition (xml) file" , Option "" ["dpi"] (ReqArg (\arg opt -> case safeStrRead arg of Just t | t > 0 -> return opt { optDpi = t } _ -> E.throwIO $ PandocOptionError "dpi must be a number greater than 0") "NUMBER") "" -- "Dpi (default 96)" , Option "" ["eol"] (ReqArg (\arg opt -> case toLower <$> arg of "crlf" -> return opt { optEol = CRLF } "lf" -> return opt { optEol = LF } "native" -> return opt { optEol = Native } -- mac-syntax (cr) is not supported in ghc-base. _ -> E.throwIO $ PandocOptionError "--eol must be crlf, lf, or native") "crlf|lf|native") "" -- "EOL (default OS-dependent)" , Option "" ["columns"] (ReqArg (\arg opt -> case safeStrRead arg of Just t | t > 0 -> return opt { optColumns = t } _ -> E.throwIO $ PandocOptionError "columns must be a number greater than 0") "NUMBER") "" -- "Length of line in characters" , Option "p" ["preserve-tabs"] (NoArg (\opt -> return opt { optPreserveTabs = True })) "" -- "Preserve tabs instead of converting to spaces" , Option "" ["tab-stop"] (ReqArg (\arg opt -> case safeStrRead arg of Just t | t > 0 -> return opt { optTabStop = t } _ -> E.throwIO $ PandocOptionError "tab-stop must be a number greater than 0") "NUMBER") "" -- "Tab stop (default 4)" , Option "" ["pdf-engine"] (ReqArg (\arg opt -> do let b = takeBaseName arg if b `elem` pdfEngines then return opt { optPdfEngine = Just arg } else E.throwIO $ PandocOptionError $ T.pack $ "pdf-engine must be one of " ++ intercalate ", " pdfEngines) "PROGRAM") "" -- "Name of program to use in generating PDF" , Option "" ["pdf-engine-opt"] (ReqArg (\arg opt -> do let oldArgs = optPdfEngineOpts opt return opt { optPdfEngineOpts = oldArgs ++ [arg]}) "STRING") "" -- "Flags to pass to the PDF-engine, all instances of this option are accumulated and used" , Option "" ["reference-doc"] (ReqArg (\arg opt -> return opt { optReferenceDoc = Just arg }) "FILE") "" -- "Path of custom reference doc" , Option "" ["self-contained"] (NoArg (\opt -> return opt { optSelfContained = True })) "" -- "Make slide shows include all the needed js and css" , Option "" ["request-header"] (ReqArg (\arg opt -> do let (key, val) = splitField arg return opt{ optRequestHeaders = (T.pack key, T.pack val) : optRequestHeaders opt }) "NAME:VALUE") "" , Option "" ["abbreviations"] (ReqArg (\arg opt -> return opt { optAbbreviations = Just arg }) "FILE") "" -- "Specify file for custom abbreviations" , Option "" ["indented-code-classes"] (ReqArg (\arg opt -> return opt { optIndentedCodeClasses = T.words $ T.map (\c -> if c == ',' then ' ' else c) $ T.pack arg }) "STRING") "" -- "Classes (whitespace- or comma-separated) to use for indented code-blocks" , Option "" ["default-image-extension"] (ReqArg (\arg opt -> return opt { optDefaultImageExtension = T.pack arg }) "extension") "" -- "Default extension for extensionless images" , Option "F" ["filter"] (ReqArg (\arg opt -> return opt { optFilters = optFilters opt ++ [JSONFilter (normalizePath arg)] }) "PROGRAM") "" -- "External JSON filter" , Option "L" ["lua-filter"] (ReqArg (\arg opt -> return opt { optFilters = optFilters opt ++ [LuaFilter (normalizePath arg)] }) "SCRIPTPATH") "" -- "Lua filter" , Option "" ["shift-heading-level-by"] (ReqArg (\arg opt -> case safeStrRead arg of Just t -> return opt{ optShiftHeadingLevelBy = t } _ -> E.throwIO $ PandocOptionError "shift-heading-level-by takes an integer argument") "NUMBER") "" -- "Shift heading level" , Option "" ["base-header-level"] (ReqArg (\arg opt -> do deprecatedOption "--base-header-level" "Use --shift-heading-level-by instead." case safeStrRead arg of Just t | t > 0 && t < 6 -> return opt{ optShiftHeadingLevelBy = t - 1 } _ -> E.throwIO $ PandocOptionError "base-header-level must be 1-5") "NUMBER") "" -- "Headers base level" , Option "" ["strip-empty-paragraphs"] (NoArg (\opt -> do deprecatedOption "--strip-empty-paragraphs" "Use +empty_paragraphs extension." return opt{ optStripEmptyParagraphs = True })) "" -- "Strip empty paragraphs" , Option "" ["track-changes"] (ReqArg (\arg opt -> do action <- case arg of "accept" -> return AcceptChanges "reject" -> return RejectChanges "all" -> return AllChanges _ -> E.throwIO $ PandocOptionError $ T.pack ("Unknown option for track-changes: " ++ arg) return opt { optTrackChanges = action }) "accept|reject|all") "" -- "Accepting or reject MS Word track-changes."" , Option "" ["strip-comments"] (NoArg (\opt -> return opt { optStripComments = True })) "" -- "Strip HTML comments" , Option "" ["reference-links"] (NoArg (\opt -> return opt { optReferenceLinks = True } )) "" -- "Use reference links in parsing HTML" , Option "" ["reference-location"] (ReqArg (\arg opt -> do action <- case arg of "block" -> return EndOfBlock "section" -> return EndOfSection "document" -> return EndOfDocument _ -> E.throwIO $ PandocOptionError $ T.pack ("Unknown option for reference-location: " ++ arg) return opt { optReferenceLocation = action }) "block|section|document") "" -- "Accepting or reject MS Word track-changes."" , Option "" ["atx-headers"] (NoArg (\opt -> return opt { optSetextHeaders = False } )) "" -- "Use atx-style headers for markdown" , Option "" ["listings"] (NoArg (\opt -> return opt { optListings = True })) "" -- "Use listings package for LaTeX code blocks" , Option "i" ["incremental"] (NoArg (\opt -> return opt { optIncremental = True })) "" -- "Make list items display incrementally in Slidy/Slideous/S5" , Option "" ["slide-level"] (ReqArg (\arg opt -> case safeStrRead arg of Just t | t >= 1 && t <= 6 -> return opt { optSlideLevel = Just t } _ -> E.throwIO $ PandocOptionError "slide level must be a number between 1 and 6") "NUMBER") "" -- "Force header level for slides" , Option "" ["section-divs"] (NoArg (\opt -> return opt { optSectionDivs = True })) "" -- "Put sections in div tags in HTML" , Option "" ["html-q-tags"] (NoArg (\opt -> return opt { optHtmlQTags = True })) "" -- "Use tags for quotes in HTML" , Option "" ["email-obfuscation"] (ReqArg (\arg opt -> do method <- case arg of "references" -> return ReferenceObfuscation "javascript" -> return JavascriptObfuscation "none" -> return NoObfuscation _ -> E.throwIO $ PandocOptionError $ T.pack ("Unknown obfuscation method: " ++ arg) return opt { optEmailObfuscation = method }) "none|javascript|references") "" -- "Method for obfuscating email in HTML" , Option "" ["id-prefix"] (ReqArg (\arg opt -> return opt { optIdentifierPrefix = T.pack arg }) "STRING") "" -- "Prefix to add to automatically generated HTML identifiers" , Option "T" ["title-prefix"] (ReqArg (\arg opt -> return opt { optVariables = setVariable "title-prefix" (T.pack arg) $ optVariables opt, optStandalone = True }) "STRING") "" -- "String to prefix to HTML window title" , Option "c" ["css"] (ReqArg (\arg opt -> return opt{ optCss = optCss opt ++ [arg] }) -- add new link to end, so it is included in proper order "URL") "" -- "Link to CSS style sheet" , Option "" ["epub-subdirectory"] (ReqArg (\arg opt -> return opt { optEpubSubdirectory = arg }) "DIRNAME") "" -- "Name of subdirectory for epub content in OCF container" , Option "" ["epub-cover-image"] (ReqArg (\arg opt -> return opt { optVariables = setVariable "epub-cover-image" (T.pack arg) $ optVariables opt }) "FILE") "" -- "Path of epub cover image" , Option "" ["epub-metadata"] (ReqArg (\arg opt -> return opt { optEpubMetadata = Just arg }) "FILE") "" -- "Path of epub metadata file" , Option "" ["epub-embed-font"] (ReqArg (\arg opt -> return opt{ optEpubFonts = arg : optEpubFonts opt }) "FILE") "" -- "Directory of fonts to embed" , Option "" ["epub-chapter-level"] (ReqArg (\arg opt -> case safeStrRead arg of Just t | t >= 1 && t <= 6 -> return opt { optEpubChapterLevel = t } _ -> E.throwIO $ PandocOptionError "chapter level must be a number between 1 and 6") "NUMBER") "" -- "Header level at which to split chapters in EPUB" , Option "" ["ipynb-output"] (ReqArg (\arg opt -> case arg of "all" -> return opt{ optIpynbOutput = IpynbOutputAll } "best" -> return opt{ optIpynbOutput = IpynbOutputBest } "none" -> return opt{ optIpynbOutput = IpynbOutputNone } _ -> E.throwIO $ PandocOptionError "ipynb-output must be all, none, or best") "all|none|best") "" -- "Starting number for sections, subsections, etc." , Option "" ["bibliography"] (ReqArg (\arg opt -> return opt{ optMetadata = addMeta "bibliography" arg $ optMetadata opt }) "FILE") "" , Option "" ["csl"] (ReqArg (\arg opt -> return opt{ optMetadata = addMeta "csl" arg $ optMetadata opt }) "FILE") "" , Option "" ["citation-abbreviations"] (ReqArg (\arg opt -> return opt{ optMetadata = addMeta "citation-abbreviations" arg $ optMetadata opt }) "FILE") "" , Option "" ["natbib"] (NoArg (\opt -> return opt { optCiteMethod = Natbib })) "" -- "Use natbib cite commands in LaTeX output" , Option "" ["biblatex"] (NoArg (\opt -> return opt { optCiteMethod = Biblatex })) "" -- "Use biblatex cite commands in LaTeX output" , Option "" ["mathml"] (NoArg (\opt -> return opt { optHTMLMathMethod = MathML })) "" -- "Use mathml for HTML math" , Option "" ["webtex"] (OptArg (\arg opt -> do let url' = fromMaybe "https://latex.codecogs.com/png.latex?" arg return opt { optHTMLMathMethod = WebTeX $ T.pack url' }) "URL") "" -- "Use web service for HTML math" , Option "" ["mathjax"] (OptArg (\arg opt -> do let url' = maybe (defaultMathJaxURL <> "tex-mml-chtml.js") T.pack arg return opt { optHTMLMathMethod = MathJax url'}) "URL") "" -- "Use MathJax for HTML math" , Option "" ["katex"] (OptArg (\arg opt -> return opt { optHTMLMathMethod = KaTeX $ maybe defaultKaTeXURL T.pack arg }) "URL") "" -- Use KaTeX for HTML Math , Option "" ["gladtex"] (NoArg (\opt -> return opt { optHTMLMathMethod = GladTeX })) "" -- "Use gladtex for HTML math" , Option "" ["trace"] (NoArg (\opt -> return opt { optTrace = True })) "" -- "Turn on diagnostic tracing in readers." , Option "" ["dump-args"] (NoArg (\opt -> return opt { optDumpArgs = True })) "" -- "Print output filename and arguments to stdout." , Option "" ["ignore-args"] (NoArg (\opt -> return opt { optIgnoreArgs = True })) "" -- "Ignore command-line arguments." , Option "" ["verbose"] (NoArg (\opt -> return opt { optVerbosity = INFO })) "" -- "Verbose diagnostic output." , Option "" ["quiet"] (NoArg (\opt -> return opt { optVerbosity = ERROR })) "" -- "Suppress warnings." , Option "" ["fail-if-warnings"] (NoArg (\opt -> return opt { optFailIfWarnings = True })) "" -- "Exit with error status if there were warnings." , Option "" ["log"] (ReqArg (\arg opt -> return opt{ optLogFile = Just arg }) "FILE") "" -- "Log messages in JSON format to this file." , Option "" ["bash-completion"] (NoArg (\_ -> do datafiles <- getDataFileNames tpl <- runIOorExplode $ UTF8.toString <$> readDefaultDataFile "bash_completion.tpl" let optnames (Option shorts longs _ _) = map (\c -> ['-',c]) shorts ++ map ("--" ++) longs let allopts = unwords (concatMap optnames options) UTF8.hPutStrLn stdout $ printf tpl allopts (unwords readersNames) (unwords writersNames) (unwords $ map (T.unpack . fst) highlightingStyles) (unwords datafiles) exitSuccess )) "" -- "Print bash completion script" , Option "" ["list-input-formats"] (NoArg (\_ -> do mapM_ (UTF8.hPutStrLn stdout) readersNames exitSuccess )) "" , Option "" ["list-output-formats"] (NoArg (\_ -> do mapM_ (UTF8.hPutStrLn stdout) writersNames exitSuccess )) "" , Option "" ["list-extensions"] (OptArg (\arg _ -> do let extList :: [Extension] extList = [minBound..maxBound] let allExts = case arg of Nothing -> extensionsFromList extList Just fmt -> getAllExtensions $ T.pack fmt let defExts = case arg of Nothing -> getDefaultExtensions "markdown" Just fmt -> getDefaultExtensions $ T.pack fmt let showExt x = (if extensionEnabled x defExts then '+' else if extensionEnabled x allExts then '-' else ' ') : drop 4 (show x) mapM_ (UTF8.hPutStrLn stdout . showExt) [ex | ex <- extList, extensionEnabled ex allExts] exitSuccess ) "FORMAT") "" , Option "" ["list-highlight-languages"] (NoArg (\_ -> do let langs = [ T.unpack (T.toLower (sShortname s)) | s <- M.elems defaultSyntaxMap , sShortname s `notElem` [T.pack "Alert", T.pack "Alert_indent"] ] mapM_ (UTF8.hPutStrLn stdout) langs exitSuccess )) "" , Option "" ["list-highlight-styles"] (NoArg (\_ -> do mapM_ (UTF8.hPutStrLn stdout . T.unpack . fst) highlightingStyles exitSuccess )) "" , Option "D" ["print-default-template"] (ReqArg (\arg opt -> do let write = case optOutputFile opt of Just f -> UTF8.writeFile f Nothing -> UTF8.hPutStr stdout templ <- runIO $ do setUserDataDir Nothing getDefaultTemplate (T.pack arg) case templ of Right t | T.null t -> -- e.g. for docx, odt, json: E.throwIO $ PandocCouldNotFindDataFileError $ T.pack ("templates/default." ++ arg) | otherwise -> write . T.unpack $ t Left e -> E.throwIO e exitSuccess) "FORMAT") "" -- "Print default template for FORMAT" , Option "" ["print-default-data-file"] (ReqArg (\arg opt -> do let write = case optOutputFile opt of Just f -> BS.writeFile f Nothing -> BS.hPutStr stdout runIOorExplode $ readDefaultDataFile arg >>= liftIO . write exitSuccess) "FILE") "" -- "Print default data file" , Option "" ["print-highlight-style"] (ReqArg (\arg opt -> do let write = case optOutputFile opt of Just f -> B.writeFile f Nothing -> B.putStr sty <- runIOorExplode $ lookupHighlightStyle arg write $ encodePretty' defConfig{confIndent = Spaces 4 ,confCompare = keyOrder (map T.pack ["text-color" ,"background-color" ,"line-number-color" ,"line-number-background-color" ,"bold" ,"italic" ,"underline" ,"text-styles"]) ,confNumFormat = Generic ,confTrailingNewline = True} sty exitSuccess) "STYLE|FILE") "" -- "Print default template for FORMAT" , Option "v" ["version"] (NoArg (\_ -> do prg <- getProgName defaultDatadirs <- defaultUserDataDirs UTF8.hPutStrLn stdout (prg ++ " " ++ T.unpack pandocVersion ++ compileInfo ++ "\nDefault user data directory: " ++ intercalate " or " defaultDatadirs ++ ('\n':copyrightMessage)) exitSuccess )) "" -- "Print version" , Option "h" ["help"] (NoArg (\_ -> do prg <- getProgName UTF8.hPutStr stdout (usageMessage prg options) exitSuccess )) "" -- "Show help" ] getDataFileNames :: IO [FilePath] getDataFileNames = do #ifdef EMBED_DATA_FILES let allDataFiles = map fst dataFiles #else allDataFiles <- filter (\x -> x /= "." && x /= "..") <$> (getDataDir >>= getDirectoryContents) #endif return $ "reference.docx" : "reference.odt" : "reference.pptx" : allDataFiles -- Returns usage message usageMessage :: String -> [OptDescr (Opt -> IO Opt)] -> String usageMessage programName = usageInfo (programName ++ " [OPTIONS] [FILES]") copyrightMessage :: String copyrightMessage = intercalate "\n" [ "Copyright (C) 2006-2020 John MacFarlane", "Web: https://pandoc.org", "This is free software; see the source for copying conditions.", "There is no warranty, not even for merchantability or fitness", "for a particular purpose." ] compileInfo :: String compileInfo = "\nCompiled with pandoc-types " ++ VERSION_pandoc_types ++ ", texmath " ++ VERSION_texmath ++ ", skylighting " ++ VERSION_skylighting handleUnrecognizedOption :: String -> [String] -> [String] handleUnrecognizedOption "--smart" = (("--smart/-S has been removed. Use +smart or -smart extension instead.\n" ++ "For example: pandoc -f markdown+smart -t markdown-smart.") :) handleUnrecognizedOption "--normalize" = ("--normalize has been removed. Normalization is now automatic." :) handleUnrecognizedOption "-S" = handleUnrecognizedOption "--smart" handleUnrecognizedOption "--old-dashes" = ("--old-dashes has been removed. Use +old_dashes extension instead." :) handleUnrecognizedOption "--no-wrap" = ("--no-wrap has been removed. Use --wrap=none instead." :) handleUnrecognizedOption "--latex-engine" = ("--latex-engine has been removed. Use --pdf-engine instead." :) handleUnrecognizedOption "--latex-engine-opt" = ("--latex-engine-opt has been removed. Use --pdf-engine-opt instead." :) handleUnrecognizedOption "--chapters" = ("--chapters has been removed. Use --top-level-division=chapter instead." :) handleUnrecognizedOption "--reference-docx" = ("--reference-docx has been removed. Use --reference-doc instead." :) handleUnrecognizedOption "--reference-odt" = ("--reference-odt has been removed. Use --reference-doc instead." :) handleUnrecognizedOption "--parse-raw" = ("--parse-raw/-R has been removed. Use +raw_html or +raw_tex extension.\n" :) handleUnrecognizedOption "--epub-stylesheet" = ("--epub-stylesheet has been removed. Use --css instead.\n" :) handleUnrecognizedOption "-R" = handleUnrecognizedOption "--parse-raw" handleUnrecognizedOption x = (("Unknown option " ++ x ++ ".") :) readersNames :: [String] readersNames = sort (map (T.unpack . fst) (readers :: [(Text, Reader PandocIO)])) writersNames :: [String] writersNames = sort ("pdf" : map (T.unpack . fst) (writers :: [(Text, Writer PandocIO)])) splitField :: String -> (String, String) splitField = second (tailDef "true") . break (`elemText` ":=") -- | Apply defaults from --defaults file. applyDefaults :: Opt -> FilePath -> IO Opt applyDefaults opt file = runIOorExplode $ do let fp = if null (takeExtension file) then addExtension file "yaml" else file setVerbosity $ optVerbosity opt dataDirs <- liftIO defaultUserDataDirs let fps = fp : case optDataDir opt of Nothing -> map ( ("defaults" fp)) dataDirs Just dd -> [dd "defaults" fp] fp' <- fromMaybe fp <$> findM fileExists fps inp <- readFileLazy fp' case Y.decode1 inp of Right (f :: Opt -> Opt) -> return $ f opt Left (errpos, errmsg) -> throwError $ PandocParseError $ T.pack $ "Error parsing " ++ fp' ++ " line " ++ show (Y.posLine errpos) ++ " column " ++ show (Y.posColumn errpos) ++ ":\n" ++ errmsg lookupHighlightStyle :: PandocMonad m => String -> m Style lookupHighlightStyle s | takeExtension s == ".theme" = -- attempt to load KDE theme do contents <- readFileLazy s case parseTheme contents of Left _ -> throwError $ PandocOptionError $ T.pack $ "Could not read highlighting theme " ++ s Right sty -> return sty | otherwise = case lookup (T.toLower $ T.pack s) highlightingStyles of Just sty -> return sty Nothing -> throwError $ PandocOptionError $ T.pack $ "Unknown highlight-style " ++ s deprecatedOption :: String -> String -> IO () deprecatedOption o msg = runIO (report $ Deprecated (T.pack o) (T.pack msg)) >>= \r -> case r of Right () -> return () Left e -> E.throwIO e -- | Set text value in text context. setVariable :: Text -> Text -> Context Text -> Context Text setVariable key val (Context ctx) = Context $ M.alter go key ctx where go Nothing = Just $ toVal val go (Just (ListVal xs)) = Just $ ListVal $ xs ++ [toVal val] go (Just x) = Just $ ListVal [x, toVal val] -- On Windows with ghc 8.6+, we need to rewrite paths -- beginning with \\ to \\?\UNC\. -- See #5127. normalizePath :: FilePath -> FilePath #ifdef _WINDOWS #if MIN_VERSION_base_noprelude(4,12,0) normalizePath fp = if "\\\\" `isPrefixOf` fp && not ("\\\\?\\" `isPrefixOf` fp) then "\\\\?\\UNC\\" ++ drop 2 fp else fp #else normalizePath = id #endif #else normalizePath = id #endif pandoc-2.9.2.1/src/Text/Pandoc/App/FormatHeuristics.hs000066400000000000000000000046731363630463000224330ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.App.FormatHeuristics Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Guess the format of a file from its name. -} module Text.Pandoc.App.FormatHeuristics ( formatFromFilePaths ) where import Data.Char (toLower) import Data.Text (Text) import System.FilePath (takeExtension) -- Determine default format based on file extensions. formatFromFilePaths :: [FilePath] -> Maybe Text formatFromFilePaths [] = Nothing formatFromFilePaths (x:xs) = case formatFromFilePath x of Just f -> Just f Nothing -> formatFromFilePaths xs -- Determine format based on file extension formatFromFilePath :: FilePath -> Maybe Text formatFromFilePath x = case takeExtension (map toLower x) of ".adoc" -> Just "asciidoc" ".asciidoc" -> Just "asciidoc" ".context" -> Just "context" ".ctx" -> Just "context" ".db" -> Just "docbook" ".doc" -> Just "doc" -- so we get an "unknown reader" error ".docx" -> Just "docx" ".dokuwiki" -> Just "dokuwiki" ".epub" -> Just "epub" ".fb2" -> Just "fb2" ".htm" -> Just "html" ".html" -> Just "html" ".icml" -> Just "icml" ".json" -> Just "json" ".latex" -> Just "latex" ".lhs" -> Just "markdown+lhs" ".ltx" -> Just "latex" ".markdown" -> Just "markdown" ".md" -> Just "markdown" ".ms" -> Just "ms" ".muse" -> Just "muse" ".native" -> Just "native" ".odt" -> Just "odt" ".opml" -> Just "opml" ".org" -> Just "org" ".pdf" -> Just "pdf" -- so we get an "unknown reader" error ".pptx" -> Just "pptx" ".roff" -> Just "ms" ".rst" -> Just "rst" ".rtf" -> Just "rtf" ".s5" -> Just "s5" ".t2t" -> Just "t2t" ".tei" -> Just "tei" ".tei.xml" -> Just "tei" ".tex" -> Just "latex" ".texi" -> Just "texinfo" ".texinfo" -> Just "texinfo" ".text" -> Just "markdown" ".textile" -> Just "textile" ".txt" -> Just "markdown" ".wiki" -> Just "mediawiki" ".xhtml" -> Just "html" ".ipynb" -> Just "ipynb" ".csv" -> Just "csv" ['.',y] | y `elem` ['1'..'9'] -> Just "man" _ -> Nothing pandoc-2.9.2.1/src/Text/Pandoc/App/Opt.hs000066400000000000000000000554341363630463000177030ustar00rootroot00000000000000{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE FlexibleInstances #-} {- | Module : Text.Pandoc.App.Opt Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Options for pandoc when used as an app. -} module Text.Pandoc.App.Opt ( Opt(..) , LineEnding (..) , IpynbOutput (..) , defaultOpts , addMeta ) where import Data.Char (isLower, toLower) import GHC.Generics hiding (Meta) import Text.Pandoc.Builder (setMeta) import Text.Pandoc.Filter (Filter (..)) import Text.Pandoc.Logging (Verbosity (WARNING)) import Text.Pandoc.Options (TopLevelDivision (TopLevelDefault), TrackChanges (AcceptChanges), WrapOption (WrapAuto), HTMLMathMethod (PlainMath), ReferenceLocation (EndOfDocument), ObfuscationMethod (NoObfuscation), CiteMethod (Citeproc)) import Text.Pandoc.Shared (camelCaseStrToHyphenated) import Text.DocLayout (render) import Text.DocTemplates (Context(..), Val(..)) import Data.Text (Text, unpack) import qualified Data.Text as T import qualified Data.Map as M import Text.Pandoc.Definition (Meta(..), MetaValue(..), lookupMeta) import Data.Aeson (defaultOptions, Options(..)) import Data.Aeson.TH (deriveJSON) import Control.Applicative ((<|>)) import Data.YAML -- | The type of line-endings to be used when writing plain-text. data LineEnding = LF | CRLF | Native deriving (Show, Generic) instance FromYAML LineEnding where parseYAML = withStr "LineEnding" $ \t -> case T.toLower t of "lf" -> return LF "crlf" -> return CRLF "native" -> return Native _ -> fail $ "Unknown line ending type " ++ show t -- | How to handle output blocks in ipynb. data IpynbOutput = IpynbOutputAll | IpynbOutputNone | IpynbOutputBest deriving (Show, Generic) instance FromYAML IpynbOutput where parseYAML = withStr "LineEnding" $ \t -> case t of "none" -> return IpynbOutputNone "all" -> return IpynbOutputAll "best" -> return IpynbOutputBest _ -> fail $ "Unknown ipynb output type " ++ show t -- | Data structure for command line options. data Opt = Opt { optTabStop :: Int -- ^ Number of spaces per tab , optPreserveTabs :: Bool -- ^ Preserve tabs instead of converting to spaces , optStandalone :: Bool -- ^ Include header, footer , optFrom :: Maybe Text -- ^ Reader format , optTo :: Maybe Text -- ^ Writer format , optTableOfContents :: Bool -- ^ Include table of contents , optShiftHeadingLevelBy :: Int -- ^ Shift heading level by , optTemplate :: Maybe FilePath -- ^ Custom template , optVariables :: Context Text -- ^ Template variables to set , optMetadata :: Meta -- ^ Metadata fields to set , optMetadataFiles :: [FilePath] -- ^ Name of YAML metadata files , optOutputFile :: Maybe FilePath -- ^ Name of output file , optInputFiles :: Maybe [FilePath] -- ^ Names of input files , optNumberSections :: Bool -- ^ Number sections in LaTeX , optNumberOffset :: [Int] -- ^ Starting number for sections , optSectionDivs :: Bool -- ^ Put sections in div tags in HTML , optIncremental :: Bool -- ^ Use incremental lists in Slidy/Slideous/S5 , optSelfContained :: Bool -- ^ Make HTML accessible offline , optHtmlQTags :: Bool -- ^ Use tags in HTML , optHighlightStyle :: Maybe Text -- ^ Style to use for highlighted code , optSyntaxDefinitions :: [FilePath] -- ^ xml syntax defs to load , optTopLevelDivision :: TopLevelDivision -- ^ Type of the top-level divisions , optHTMLMathMethod :: HTMLMathMethod -- ^ Method to print HTML math , optAbbreviations :: Maybe FilePath -- ^ Path to abbrevs file , optReferenceDoc :: Maybe FilePath -- ^ Path of reference doc , optEpubSubdirectory :: String -- ^ EPUB subdir in OCF container , optEpubMetadata :: Maybe FilePath -- ^ EPUB metadata , optEpubFonts :: [FilePath] -- ^ EPUB fonts to embed , optEpubChapterLevel :: Int -- ^ Header level at which to split chapters , optEpubCoverImage :: Maybe FilePath -- ^ Cover image for epub , optTOCDepth :: Int -- ^ Number of levels to include in TOC , optDumpArgs :: Bool -- ^ Output command-line arguments , optIgnoreArgs :: Bool -- ^ Ignore command-line arguments , optVerbosity :: Verbosity -- ^ Verbosity of diagnostic output , optTrace :: Bool -- ^ Enable tracing , optLogFile :: Maybe FilePath -- ^ File to write JSON log output , optFailIfWarnings :: Bool -- ^ Fail on warnings , optReferenceLinks :: Bool -- ^ Use reference links in writing markdown, rst , optReferenceLocation :: ReferenceLocation -- ^ location for footnotes and link references in markdown output , optDpi :: Int -- ^ Dpi , optWrap :: WrapOption -- ^ Options for wrapping text , optColumns :: Int -- ^ Line length in characters , optFilters :: [Filter] -- ^ Filters to apply , optEmailObfuscation :: ObfuscationMethod , optIdentifierPrefix :: Text , optStripEmptyParagraphs :: Bool -- ^ Strip empty paragraphs , optIndentedCodeClasses :: [Text] -- ^ Default classes for indented code blocks , optDataDir :: Maybe FilePath , optCiteMethod :: CiteMethod -- ^ Method to output cites , optListings :: Bool -- ^ Use listings package for code blocks , optPdfEngine :: Maybe String -- ^ Program to use for latex/html -> pdf , optPdfEngineOpts :: [String] -- ^ Flags to pass to the engine , optSlideLevel :: Maybe Int -- ^ Header level that creates slides , optSetextHeaders :: Bool -- ^ Use atx headers for markdown level 1-2 , optAscii :: Bool -- ^ Prefer ascii output , optDefaultImageExtension :: Text -- ^ Default image extension , optExtractMedia :: Maybe FilePath -- ^ Path to extract embedded media , optTrackChanges :: TrackChanges -- ^ Accept or reject MS Word track-changes. , optFileScope :: Bool -- ^ Parse input files before combining , optTitlePrefix :: Maybe Text -- ^ Prefix for title , optCss :: [FilePath] -- ^ CSS files to link to , optIpynbOutput :: IpynbOutput -- ^ How to treat ipynb output blocks , optIncludeBeforeBody :: [FilePath] -- ^ Files to include before , optIncludeAfterBody :: [FilePath] -- ^ Files to include after body , optIncludeInHeader :: [FilePath] -- ^ Files to include in header , optResourcePath :: [FilePath] -- ^ Path to search for images etc , optRequestHeaders :: [(Text, Text)] -- ^ Headers for HTTP requests , optEol :: LineEnding -- ^ Style of line-endings to use , optStripComments :: Bool -- ^ Skip HTML comments } deriving (Generic, Show) instance FromYAML (Opt -> Opt) where parseYAML (Mapping _ _ m) = foldr (.) id <$> mapM doOpt (M.toList m) parseYAML n = failAtNode n "Expected a mapping" doOpt :: (Node Pos, Node Pos) -> Parser (Opt -> Opt) doOpt (k',v) = do k <- case k' of Scalar _ (SStr t) -> return t Scalar _ _ -> failAtNode k' "Non-string key" _ -> failAtNode k' "Non-scalar key" case k of "tab-stop" -> parseYAML v >>= \x -> return (\o -> o{ optTabStop = x }) "preserve-tabs" -> parseYAML v >>= \x -> return (\o -> o{ optPreserveTabs = x }) "standalone" -> parseYAML v >>= \x -> return (\o -> o{ optStandalone = x }) "table-of-contents" -> parseYAML v >>= \x -> return (\o -> o{ optTableOfContents = x }) "toc" -> parseYAML v >>= \x -> return (\o -> o{ optTableOfContents = x }) "from" -> parseYAML v >>= \x -> return (\o -> o{ optFrom = x }) "reader" -> parseYAML v >>= \x -> return (\o -> o{ optFrom = x }) "to" -> parseYAML v >>= \x -> return (\o -> o{ optTo = x }) "writer" -> parseYAML v >>= \x -> return (\o -> o{ optTo = x }) "shift-heading-level-by" -> parseYAML v >>= \x -> return (\o -> o{ optShiftHeadingLevelBy = x }) "template" -> parseYAML v >>= \x -> return (\o -> o{ optTemplate = unpack <$> x }) "variables" -> parseYAML v >>= \x -> return (\o -> o{ optVariables = x <> optVariables o }) -- Note: x comes first because <> for Context is left-biased union -- and we want to favor later default files. See #5988. "metadata" -> parseYAML v >>= \x -> return (\o -> o{ optMetadata = optMetadata o <> contextToMeta x }) "metadata-files" -> parseYAML v >>= \x -> return (\o -> o{ optMetadataFiles = optMetadataFiles o <> map unpack x }) "metadata-file" -> -- allow either a list or a single value (parseYAML v >>= \x -> return (\o -> o{ optMetadataFiles = optMetadataFiles o <> map unpack x })) <|> (parseYAML v >>= \x -> return (\o -> o{ optMetadataFiles = optMetadataFiles o <>[unpack x] })) "output-file" -> parseYAML v >>= \x -> return (\o -> o{ optOutputFile = unpack <$> x }) "input-files" -> parseYAML v >>= \x -> return (\o -> o{ optInputFiles = optInputFiles o <> (map unpack <$> x) }) "input-file" -> -- allow either a list or a single value (parseYAML v >>= \x -> return (\o -> o{ optInputFiles = optInputFiles o <> (map unpack <$> x) })) <|> (parseYAML v >>= \x -> return (\o -> o{ optInputFiles = optInputFiles o <> ((\z -> [unpack z]) <$> x) })) "number-sections" -> parseYAML v >>= \x -> return (\o -> o{ optNumberSections = x }) "number-offset" -> parseYAML v >>= \x -> return (\o -> o{ optNumberOffset = x }) "section-divs" -> parseYAML v >>= \x -> return (\o -> o{ optSectionDivs = x }) "incremental" -> parseYAML v >>= \x -> return (\o -> o{ optIncremental = x }) "self-contained" -> parseYAML v >>= \x -> return (\o -> o{ optSelfContained = x }) "html-q-tags" -> parseYAML v >>= \x -> return (\o -> o{ optHtmlQTags = x }) "highlight-style" -> parseYAML v >>= \x -> return (\o -> o{ optHighlightStyle = x }) "syntax-definition" -> (parseYAML v >>= \x -> return (\o -> o{ optSyntaxDefinitions = optSyntaxDefinitions o <> map unpack x })) <|> (parseYAML v >>= \x -> return (\o -> o{ optSyntaxDefinitions = optSyntaxDefinitions o <> [unpack x] })) "syntax-definitions" -> parseYAML v >>= \x -> return (\o -> o{ optSyntaxDefinitions = optSyntaxDefinitions o <> map unpack x }) "top-level-division" -> parseYAML v >>= \x -> return (\o -> o{ optTopLevelDivision = x }) "html-math-method" -> parseYAML v >>= \x -> return (\o -> o{ optHTMLMathMethod = x }) "abbreviations" -> parseYAML v >>= \x -> return (\o -> o{ optAbbreviations = unpack <$> x }) "reference-doc" -> parseYAML v >>= \x -> return (\o -> o{ optReferenceDoc = unpack <$> x }) "epub-subdirectory" -> parseYAML v >>= \x -> return (\o -> o{ optEpubSubdirectory = unpack x }) "epub-metadata" -> parseYAML v >>= \x -> return (\o -> o{ optEpubMetadata = unpack <$> x }) "epub-fonts" -> parseYAML v >>= \x -> return (\o -> o{ optEpubFonts = optEpubFonts o <> map unpack x }) "epub-chapter-level" -> parseYAML v >>= \x -> return (\o -> o{ optEpubChapterLevel = x }) "epub-cover-image" -> parseYAML v >>= \x -> return (\o -> o{ optEpubCoverImage = unpack <$> x }) "toc-depth" -> parseYAML v >>= \x -> return (\o -> o{ optTOCDepth = x }) "dump-args" -> parseYAML v >>= \x -> return (\o -> o{ optDumpArgs = x }) "ignore-args" -> parseYAML v >>= \x -> return (\o -> o{ optIgnoreArgs = x }) "verbosity" -> parseYAML v >>= \x -> return (\o -> o{ optVerbosity = x }) "trace" -> parseYAML v >>= \x -> return (\o -> o{ optTrace = x }) "log-file" -> parseYAML v >>= \x -> return (\o -> o{ optLogFile = unpack <$> x }) "fail-if-warnings" -> parseYAML v >>= \x -> return (\o -> o{ optFailIfWarnings = x }) "reference-links" -> parseYAML v >>= \x -> return (\o -> o{ optReferenceLinks = x }) "reference-location" -> parseYAML v >>= \x -> return (\o -> o{ optReferenceLocation = x }) "dpi" -> parseYAML v >>= \x -> return (\o -> o{ optDpi = x }) "wrap" -> parseYAML v >>= \x -> return (\o -> o{ optWrap = x }) "columns" -> parseYAML v >>= \x -> return (\o -> o{ optColumns = x }) "filters" -> parseYAML v >>= \x -> return (\o -> o{ optFilters = optFilters o <> x }) "email-obfuscation" -> parseYAML v >>= \x -> return (\o -> o{ optEmailObfuscation = x }) "identifier-prefix" -> parseYAML v >>= \x -> return (\o -> o{ optIdentifierPrefix = x }) "strip-empty-paragraphs" -> parseYAML v >>= \x -> return (\o -> o{ optStripEmptyParagraphs = x }) "indented-code-classes" -> parseYAML v >>= \x -> return (\o -> o{ optIndentedCodeClasses = x }) "data-dir" -> parseYAML v >>= \x -> return (\o -> o{ optDataDir = unpack <$> x }) "cite-method" -> parseYAML v >>= \x -> return (\o -> o{ optCiteMethod = x }) "listings" -> parseYAML v >>= \x -> return (\o -> o{ optListings = x }) "pdf-engine" -> parseYAML v >>= \x -> return (\o -> o{ optPdfEngine = unpack <$> x }) "pdf-engine-opts" -> parseYAML v >>= \x -> return (\o -> o{ optPdfEngineOpts = map unpack x }) "pdf-engine-opt" -> (parseYAML v >>= \x -> return (\o -> o{ optPdfEngineOpts = map unpack x })) <|> (parseYAML v >>= \x -> return (\o -> o{ optPdfEngineOpts = [unpack x] })) "slide-level" -> parseYAML v >>= \x -> return (\o -> o{ optSlideLevel = x }) "atx-headers" -> parseYAML v >>= \x -> return (\o -> o{ optSetextHeaders = not x }) "ascii" -> parseYAML v >>= \x -> return (\o -> o{ optAscii = x }) "default-image-extension" -> parseYAML v >>= \x -> return (\o -> o{ optDefaultImageExtension = x }) "extract-media" -> parseYAML v >>= \x -> return (\o -> o{ optExtractMedia = unpack <$> x }) "track-changes" -> parseYAML v >>= \x -> return (\o -> o{ optTrackChanges = x }) "file-scope" -> parseYAML v >>= \x -> return (\o -> o{ optFileScope = x }) "title-prefix" -> parseYAML v >>= \x -> return (\o -> o{ optTitlePrefix = x, optStandalone = True }) "css" -> (parseYAML v >>= \x -> return (\o -> o{ optCss = optCss o <> map unpack x })) <|> (parseYAML v >>= \x -> return (\o -> o{ optCss = optCss o <> [unpack x] })) "bibliography" -> do let addItem x o = o{ optMetadata = addMeta "bibliography" (T.unpack x) (optMetadata o) } (parseYAML v >>= \(xs :: [Text]) -> return $ \o -> foldr addItem o xs) <|> (parseYAML v >>= \(x :: Text) -> return $ \o -> addItem x o) "csl" -> do let addItem x o = o{ optMetadata = addMeta "csl" (T.unpack x) (optMetadata o) } (parseYAML v >>= \(xs :: [Text]) -> return $ \o -> foldr addItem o xs) <|> (parseYAML v >>= \(x :: Text) -> return $ \o -> addItem x o) "ipynb-output" -> parseYAML v >>= \x -> return (\o -> o{ optIpynbOutput = x }) "include-before-body" -> (parseYAML v >>= \x -> return (\o -> o{ optIncludeBeforeBody = optIncludeBeforeBody o <> map unpack x })) <|> (parseYAML v >>= \x -> return (\o -> o{ optIncludeBeforeBody = optIncludeBeforeBody o <> [unpack x] })) "include-after-body" -> (parseYAML v >>= \x -> return (\o -> o{ optIncludeAfterBody = optIncludeAfterBody o <> map unpack x })) <|> (parseYAML v >>= \x -> return (\o -> o{ optIncludeAfterBody = optIncludeAfterBody o <> [unpack x] })) "include-in-header" -> (parseYAML v >>= \x -> return (\o -> o{ optIncludeInHeader = optIncludeInHeader o <> map unpack x })) <|> (parseYAML v >>= \x -> return (\o -> o{ optIncludeInHeader = optIncludeInHeader o <> [unpack x] })) "resource-path" -> parseYAML v >>= \x -> return (\o -> o{ optResourcePath = map unpack x }) "request-headers" -> parseYAML v >>= \x -> return (\o -> o{ optRequestHeaders = x }) "eol" -> parseYAML v >>= \x -> return (\o -> o{ optEol = x }) "strip-comments" -> parseYAML v >>= \x -> return (\o -> o { optStripComments = x }) _ -> failAtNode k' $ "Unknown option " ++ show k -- | Defaults for command-line options. defaultOpts :: Opt defaultOpts = Opt { optTabStop = 4 , optPreserveTabs = False , optStandalone = False , optFrom = Nothing , optTo = Nothing , optTableOfContents = False , optShiftHeadingLevelBy = 0 , optTemplate = Nothing , optVariables = mempty , optMetadata = mempty , optMetadataFiles = [] , optOutputFile = Nothing , optInputFiles = Nothing , optNumberSections = False , optNumberOffset = [0,0,0,0,0,0] , optSectionDivs = False , optIncremental = False , optSelfContained = False , optHtmlQTags = False , optHighlightStyle = Just "pygments" , optSyntaxDefinitions = [] , optTopLevelDivision = TopLevelDefault , optHTMLMathMethod = PlainMath , optAbbreviations = Nothing , optReferenceDoc = Nothing , optEpubSubdirectory = "EPUB" , optEpubMetadata = Nothing , optEpubFonts = [] , optEpubChapterLevel = 1 , optEpubCoverImage = Nothing , optTOCDepth = 3 , optDumpArgs = False , optIgnoreArgs = False , optVerbosity = WARNING , optTrace = False , optLogFile = Nothing , optFailIfWarnings = False , optReferenceLinks = False , optReferenceLocation = EndOfDocument , optDpi = 96 , optWrap = WrapAuto , optColumns = 72 , optFilters = [] , optEmailObfuscation = NoObfuscation , optIdentifierPrefix = "" , optStripEmptyParagraphs = False , optIndentedCodeClasses = [] , optDataDir = Nothing , optCiteMethod = Citeproc , optListings = False , optPdfEngine = Nothing , optPdfEngineOpts = [] , optSlideLevel = Nothing , optSetextHeaders = True , optAscii = False , optDefaultImageExtension = "" , optExtractMedia = Nothing , optTrackChanges = AcceptChanges , optFileScope = False , optTitlePrefix = Nothing , optCss = [] , optIpynbOutput = IpynbOutputBest , optIncludeBeforeBody = [] , optIncludeAfterBody = [] , optIncludeInHeader = [] , optResourcePath = ["."] , optRequestHeaders = [] , optEol = Native , optStripComments = False } contextToMeta :: Context Text -> Meta contextToMeta (Context m) = Meta . M.map valToMetaVal $ m valToMetaVal :: Val Text -> MetaValue valToMetaVal (MapVal (Context m)) = MetaMap . M.map valToMetaVal $ m valToMetaVal (ListVal xs) = MetaList $ map valToMetaVal xs valToMetaVal (SimpleVal d) = MetaString $ render Nothing d valToMetaVal NullVal = MetaString "" addMeta :: String -> String -> Meta -> Meta addMeta k v meta = case lookupMeta k' meta of Nothing -> setMeta k' v' meta Just (MetaList xs) -> setMeta k' (MetaList (xs ++ [v'])) meta Just x -> setMeta k' (MetaList [x, v']) meta where v' = readMetaValue v k' = T.pack k readMetaValue :: String -> MetaValue readMetaValue s | s == "true" = MetaBool True | s == "True" = MetaBool True | s == "TRUE" = MetaBool True | s == "false" = MetaBool False | s == "False" = MetaBool False | s == "FALSE" = MetaBool False | otherwise = MetaString $ T.pack s -- see https://github.com/jgm/pandoc/pull/4083 -- using generic deriving caused long compilation times $(deriveJSON defaultOptions{ fieldLabelModifier = drop 11 . map toLower } ''IpynbOutput) $(deriveJSON defaultOptions{ fieldLabelModifier = map toLower } ''LineEnding) $(deriveJSON defaultOptions{ fieldLabelModifier = camelCaseStrToHyphenated . dropWhile isLower } ''Opt) pandoc-2.9.2.1/src/Text/Pandoc/App/OutputSettings.hs000066400000000000000000000242741363630463000221600ustar00rootroot00000000000000{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TupleSections #-} {- | Module : Text.Pandoc.App Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Does a pandoc conversion based on command-line options. -} module Text.Pandoc.App.OutputSettings ( OutputSettings (..) , optToOutputSettings ) where import qualified Data.Map as M import qualified Data.Text as T import Text.DocTemplates (toVal, Context(..), Val(..)) import qualified Control.Exception as E import Control.Monad import Control.Monad.Except (throwError) import Control.Monad.Trans import Data.Char (toLower) import Data.List (find) import Data.Maybe (fromMaybe) import Skylighting (defaultSyntaxMap) import Skylighting.Parser (addSyntaxDefinition, parseSyntaxDefinition) import System.Directory (getCurrentDirectory) import System.Exit (exitSuccess) import System.FilePath import System.IO (stdout) import Text.Pandoc import Text.Pandoc.App.FormatHeuristics (formatFromFilePaths) import Text.Pandoc.App.Opt (Opt (..)) import Text.Pandoc.App.CommandLineOptions (engines, lookupHighlightStyle, setVariable) import qualified Text.Pandoc.UTF8 as UTF8 readUtf8File :: PandocMonad m => FilePath -> m T.Text readUtf8File = fmap UTF8.toText . readFileStrict -- | Settings specifying how document output should be produced. data OutputSettings = OutputSettings { outputFormat :: T.Text , outputWriter :: Writer PandocIO , outputWriterName :: T.Text , outputWriterOptions :: WriterOptions , outputPdfProgram :: Maybe String } -- | Get output settings from command line options. optToOutputSettings :: Opt -> PandocIO OutputSettings optToOutputSettings opts = do let outputFile = fromMaybe "-" (optOutputFile opts) when (optDumpArgs opts) . liftIO $ do UTF8.hPutStrLn stdout outputFile mapM_ (UTF8.hPutStrLn stdout) (fromMaybe [] $ optInputFiles opts) exitSuccess epubMetadata <- traverse readUtf8File $ optEpubMetadata opts let pdfOutput = map toLower (takeExtension outputFile) == ".pdf" || optTo opts == Just "pdf" (writerName, maybePdfProg) <- if pdfOutput then liftIO $ pdfWriterAndProg (case optTo opts of Just "pdf" -> Nothing x -> x) (optPdfEngine opts) else case optTo opts of Just f -> return (f, Nothing) Nothing | outputFile == "-" -> return ("html", Nothing) | otherwise -> case formatFromFilePaths [outputFile] of Nothing -> do report $ CouldNotDeduceFormat [T.pack $ takeExtension outputFile] "html" return ("html", Nothing) Just f -> return (f, Nothing) let format = if ".lua" `T.isSuffixOf` writerName then writerName else T.toLower $ baseWriterName writerName (writer :: Writer PandocIO, writerExts) <- if ".lua" `T.isSuffixOf` format then return (TextWriter (\o d -> writeCustom (T.unpack writerName) o d) :: Writer PandocIO, mempty) else getWriter (T.toLower writerName) let standalone = optStandalone opts || not (isTextFormat format) || pdfOutput let addSyntaxMap existingmap f = do res <- liftIO (parseSyntaxDefinition f) case res of Left errstr -> throwError $ PandocSyntaxMapError $ T.pack errstr Right syn -> return $ addSyntaxDefinition syn existingmap syntaxMap <- foldM addSyntaxMap defaultSyntaxMap (optSyntaxDefinitions opts) hlStyle <- traverse (lookupHighlightStyle . T.unpack) $ optHighlightStyle opts let setVariableM k v = return . setVariable k v let setListVariableM _ [] ctx = return ctx setListVariableM k vs ctx = do let ctxMap = unContext ctx return $ Context $ case M.lookup k ctxMap of Just (ListVal xs) -> M.insert k (ListVal $ xs ++ map toVal vs) ctxMap Just v -> M.insert k (ListVal $ v : map toVal vs) ctxMap Nothing -> M.insert k (toVal vs) ctxMap let getTextContents fp = UTF8.toText . fst <$> fetchItem (T.pack fp) let setFilesVariableM k fps ctx = do xs <- mapM getTextContents fps setListVariableM k xs ctx curdir <- liftIO getCurrentDirectory variables <- return (optVariables opts) >>= setListVariableM "sourcefile" (maybe ["-"] (fmap T.pack) (optInputFiles opts)) >>= setVariableM "outputfile" (T.pack outputFile) >>= setFilesVariableM "include-before" (optIncludeBeforeBody opts) >>= setFilesVariableM "include-after" (optIncludeAfterBody opts) >>= setFilesVariableM "header-includes" (optIncludeInHeader opts) >>= setListVariableM "css" (map T.pack $ optCss opts) >>= maybe return (setVariableM "title-prefix") (optTitlePrefix opts) >>= maybe return (setVariableM "epub-cover-image") (T.pack <$> optEpubCoverImage opts) >>= setVariableM "curdir" (T.pack curdir) >>= (\vars -> if format == "dzslides" then do dztempl <- UTF8.toText <$> readDataFile ("dzslides" "template.html") let dzline = "" stripComments <- getOption readerStripComments if stripComments then return (next, "") else return (next, "") | otherwise -> Prelude.fail "bogus comment mode, HTML5 parse error" TagOpen tagname attr -> do guard $ isPI tagname || all (isName . fst) attr handleTag tagname TagClose tagname -> handleTag tagname _ -> mzero mkAttr :: [(Text, Text)] -> Attr mkAttr attr = (attribsId, attribsClasses, attribsKV) where attribsId = fromMaybe "" $ lookup "id" attr attribsClasses = T.words (fromMaybe "" $ lookup "class" attr) <> epubTypes attribsKV = filter (\(k,_) -> k /= "class" && k /= "id") attr epubTypes = T.words $ fromMaybe "" $ lookup "epub:type" attr -- Strip namespace prefixes stripPrefixes :: [Tag Text] -> [Tag Text] stripPrefixes = map stripPrefix stripPrefix :: Tag Text -> Tag Text stripPrefix (TagOpen s as) = TagOpen (stripPrefix' s) (map (first stripPrefix') as) stripPrefix (TagClose s) = TagClose (stripPrefix' s) stripPrefix x = x stripPrefix' :: Text -> Text stripPrefix' s = if T.null t then s else T.drop 1 t where (_, t) = T.span (/= ':') s isSpace :: Char -> Bool isSpace ' ' = True isSpace '\t' = True isSpace '\n' = True isSpace '\r' = True isSpace _ = False -- Utilities -- | Adjusts a url according to the document's base URL. canonicalizeUrl :: PandocMonad m => Text -> TagParser m Text canonicalizeUrl url = do mbBaseHref <- baseHref <$> getState return $ case (parseURIReference (T.unpack url), mbBaseHref) of (Just rel, Just bs) -> tshow (rel `nonStrictRelativeTo` bs) _ -> url -- Instances instance HasMacros HTMLState where extractMacros = macros updateMacros f st = st{ macros = f $ macros st } instance HasIdentifierList HTMLState where extractIdentifierList = identifiers updateIdentifierList f s = s{ identifiers = f (identifiers s) } instance HasLogMessages HTMLState where addLogMessage m s = s{ logMessages = m : logMessages s } getLogMessages = reverse . logMessages -- This signature should be more general -- MonadReader HTMLLocal m => HasQuoteContext st m instance PandocMonad m => HasQuoteContext HTMLState (ReaderT HTMLLocal m) where getQuoteContext = asks quoteContext withQuoteContext q = local (\s -> s{quoteContext = q}) instance HasReaderOptions HTMLState where extractReaderOptions = extractReaderOptions . parserState instance HasMeta HTMLState where setMeta s b st = st {parserState = setMeta s b $ parserState st} deleteMeta s st = st {parserState = deleteMeta s $ parserState st} instance Default HTMLLocal where def = HTMLLocal NoQuote False False instance HasLastStrPosition HTMLState where setLastStrPos s st = st {parserState = setLastStrPos s (parserState st)} getLastStrPos = getLastStrPos . parserState -- For now we need a special version here; the one in Shared has String type renderTags' :: [Tag Text] -> Text renderTags' = renderTagsOptions renderOptions{ optMinimize = matchTags ["hr", "br", "img", "meta", "link"] , optRawTag = matchTags ["script", "style"] } where matchTags tags = flip elem tags . T.toLower -- EPUB Specific -- -- sectioningContent :: [Text] sectioningContent = ["article", "aside", "nav", "section"] groupingContent :: [Text] groupingContent = ["p", "hr", "pre", "blockquote", "ol" , "ul", "li", "dl", "dt", "dt", "dd" , "figure", "figcaption", "div", "main"] matchTagClose :: Text -> (Tag Text -> Bool) matchTagClose t = (~== TagClose t) matchTagOpen :: Text -> [(Text, Text)] -> (Tag Text -> Bool) matchTagOpen t as = (~== TagOpen t as) {- types :: [(String, ([String], Int))] types = -- Document divisions map (\s -> (s, (["section", "body"], 0))) ["volume", "part", "chapter", "division"] <> -- Document section and components [ ("abstract", ([], 0))] -} pandoc-2.9.2.1/src/Text/Pandoc/Readers/Haddock.hs000066400000000000000000000160731363630463000213370ustar00rootroot00000000000000{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Haddock Copyright : Copyright (C) 2013 David Lazar License : GNU GPL, version 2 or above Maintainer : David Lazar , John MacFarlane Stability : alpha Conversion of Haddock markup to 'Pandoc' document. -} module Text.Pandoc.Readers.Haddock ( readHaddock ) where import Control.Monad.Except (throwError) import Data.List (intersperse) import Data.Maybe (fromMaybe) import Data.Text (Text, unpack) import qualified Data.Text as T import Documentation.Haddock.Parser import Documentation.Haddock.Types as H import Text.Pandoc.Builder (Blocks, Inlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.Options import Text.Pandoc.Shared (crFilter, splitTextBy, trim) -- | Parse Haddock markup and return a 'Pandoc' document. readHaddock :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readHaddock opts s = case readHaddockEither opts (unpack (crFilter s)) of Right result -> return result Left e -> throwError e readHaddockEither :: ReaderOptions -- ^ Reader options -> String -- ^ String to parse -> Either PandocError Pandoc readHaddockEither _opts = Right . B.doc . docHToBlocks . _doc . parseParas Nothing docHToBlocks :: DocH String Identifier -> Blocks docHToBlocks d' = case d' of DocEmpty -> mempty DocAppend (DocParagraph (DocHeader h)) (DocParagraph (DocAName ident)) -> B.headerWith (T.pack ident,[],[]) (headerLevel h) (docHToInlines False $ headerTitle h) DocAppend d1 d2 -> mappend (docHToBlocks d1) (docHToBlocks d2) DocString _ -> inlineFallback DocParagraph (DocAName h) -> B.plain $ docHToInlines False $ DocAName h DocParagraph x -> B.para $ docHToInlines False x DocIdentifier _ -> inlineFallback DocIdentifierUnchecked _ -> inlineFallback DocModule s -> B.plain $ docHToInlines False $ DocModule s DocWarning _ -> mempty -- TODO DocEmphasis _ -> inlineFallback DocMonospaced _ -> inlineFallback DocBold _ -> inlineFallback DocMathInline _ -> inlineFallback DocMathDisplay _ -> inlineFallback DocHeader h -> B.header (headerLevel h) (docHToInlines False $ headerTitle h) DocUnorderedList items -> B.bulletList (map docHToBlocks items) DocOrderedList items -> B.orderedList (map docHToBlocks items) DocDefList items -> B.definitionList (map (\(d,t) -> (docHToInlines False d, [consolidatePlains $ docHToBlocks t])) items) DocCodeBlock (DocString s) -> B.codeBlockWith ("",[],[]) $ T.pack s DocCodeBlock d -> B.para $ docHToInlines True d DocHyperlink _ -> inlineFallback DocPic _ -> inlineFallback DocAName _ -> inlineFallback DocProperty s -> B.codeBlockWith ("",["property","haskell"],[]) (trim $ T.pack s) DocExamples es -> mconcat $ map (\e -> makeExample ">>>" (exampleExpression e) (exampleResult e)) es DocTable H.Table{ tableHeaderRows = headerRows , tableBodyRows = bodyRows } -> let toCells = map (docHToBlocks . tableCellContents) . tableRowCells (header, body) = if null headerRows then ([], map toCells bodyRows) else (toCells (head headerRows), map toCells (tail headerRows ++ bodyRows)) colspecs = replicate (maximum (map length body)) (AlignDefault, 0.0) in B.table mempty colspecs header body where inlineFallback = B.plain $ docHToInlines False d' consolidatePlains = B.fromList . consolidatePlains' . B.toList consolidatePlains' zs@(Plain _ : _) = let (xs, ys) = span isPlain zs in Para (concatMap extractContents xs) : consolidatePlains' ys consolidatePlains' (x : xs) = x : consolidatePlains' xs consolidatePlains' [] = [] isPlain (Plain _) = True isPlain _ = False extractContents (Plain xs) = xs extractContents _ = [] docHToInlines :: Bool -> DocH String Identifier -> Inlines docHToInlines isCode d' = case d' of DocEmpty -> mempty DocAppend d1 d2 -> mappend (docHToInlines isCode d1) (docHToInlines isCode d2) DocString s | isCode -> mconcat $ intersperse B.linebreak $ map B.code $ splitTextBy (=='\n') $ T.pack s | otherwise -> B.text $ T.pack s DocParagraph _ -> mempty DocIdentifier ident -> case toRegular (DocIdentifier ident) of DocIdentifier s -> B.codeWith ("",["haskell","identifier"],[]) $ T.pack s _ -> mempty DocIdentifierUnchecked s -> B.codeWith ("",["haskell","identifier"],[]) $ T.pack s DocModule s -> B.codeWith ("",["haskell","module"],[]) $ T.pack s DocWarning _ -> mempty -- TODO DocEmphasis d -> B.emph (docHToInlines isCode d) DocMonospaced (DocString s) -> B.code $ T.pack s DocMonospaced d -> docHToInlines True d DocBold d -> B.strong (docHToInlines isCode d) DocMathInline s -> B.math $ T.pack s DocMathDisplay s -> B.displayMath $ T.pack s DocHeader _ -> mempty DocUnorderedList _ -> mempty DocOrderedList _ -> mempty DocDefList _ -> mempty DocCodeBlock _ -> mempty DocHyperlink h -> B.link (T.pack $ hyperlinkUrl h) (T.pack $ hyperlinkUrl h) (maybe (B.text $ T.pack $ hyperlinkUrl h) (docHToInlines isCode) (hyperlinkLabel h)) DocPic p -> B.image (T.pack $ pictureUri p) (T.pack $ fromMaybe (pictureUri p) $ pictureTitle p) (maybe mempty (B.text . T.pack) $ pictureTitle p) DocAName s -> B.spanWith (T.pack s,["anchor"],[]) mempty DocProperty _ -> mempty DocExamples _ -> mempty DocTable _ -> mempty -- | Create an 'Example', stripping superfluous characters as appropriate makeExample :: T.Text -> String -> [String] -> Blocks makeExample prompt expression result = B.para $ B.codeWith ("",["prompt"],[]) prompt <> B.space <> B.codeWith ("", ["haskell","expr"], []) (trim $ T.pack expression) <> B.linebreak <> mconcat (intersperse B.linebreak $ map coder result') where -- 1. drop trailing whitespace from the prompt, remember the prefix prefix = T.takeWhile (`elem` (" \t" :: String)) prompt -- 2. drop, if possible, the exact same sequence of whitespace -- characters from each result line -- -- 3. interpret lines that only contain the string "" as an -- empty line result' = map (substituteBlankLine . tryStripPrefix prefix . T.pack) result where tryStripPrefix xs ys = fromMaybe ys $ T.stripPrefix xs ys substituteBlankLine "" = "" substituteBlankLine line = line coder = B.codeWith ("", ["result"], []) pandoc-2.9.2.1/src/Text/Pandoc/Readers/Ipynb.hs000066400000000000000000000203631363630463000210600ustar00rootroot00000000000000{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Text.Pandoc.Readers.Ipynb Copyright : Copyright (C) 2019-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Ipynb (Jupyter notebook JSON format) reader for pandoc. -} module Text.Pandoc.Readers.Ipynb ( readIpynb ) where import Data.Char (isDigit) import Data.Maybe (fromMaybe) import Data.Digest.Pure.SHA (sha1, showDigest) import Text.Pandoc.Options import qualified Data.Scientific as Scientific import qualified Text.Pandoc.Builder as B import Text.Pandoc.Logging import Text.Pandoc.Definition import Data.Ipynb as Ipynb import Text.Pandoc.Class.PandocMonad import Text.Pandoc.MIME (extensionFromMimeType) import Text.Pandoc.Shared (tshow) import Text.Pandoc.UTF8 import Text.Pandoc.Walk (walk) import Text.Pandoc.Error import Data.Text (Text) import qualified Data.Map as M import qualified Data.Text as T import qualified Data.Text.Encoding as TE import qualified Data.ByteString.Lazy as BL import Data.Aeson as Aeson import Control.Monad.Except (throwError) import Text.Pandoc.Readers.Markdown (readMarkdown) import qualified Text.Pandoc.UTF8 as UTF8 readIpynb :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readIpynb opts t = do let src = BL.fromStrict (TE.encodeUtf8 t) case eitherDecode src of Right (notebook4 :: Notebook NbV4) -> notebookToPandoc opts notebook4 Left _ -> case eitherDecode src of Right (notebook3 :: Notebook NbV3) -> notebookToPandoc opts notebook3 Left err -> throwError $ PandocIpynbDecodingError $ T.pack err notebookToPandoc :: PandocMonad m => ReaderOptions -> Notebook a -> m Pandoc notebookToPandoc opts notebook = do let cells = notebookCells notebook let (fmt,fmtminor) = notebookFormat notebook let m = M.insert "nbformat" (MetaString $ tshow fmt) $ M.insert "nbformat_minor" (MetaString $ tshow fmtminor) $ jsonMetaToMeta (notebookMetadata notebook) let lang = case M.lookup "kernelspec" m of Just (MetaMap ks) -> case M.lookup "language" ks of Just (MetaString l) -> l _ -> "python" _ -> "python" bs <- mconcat <$> mapM (cellToBlocks opts lang) cells let Pandoc _ blocks = B.doc bs return $ Pandoc (Meta $ M.insert "jupyter" (MetaMap m) mempty) blocks cellToBlocks :: PandocMonad m => ReaderOptions -> Text -> Cell a -> m B.Blocks cellToBlocks opts lang c = do let Source ts = cellSource c let source = mconcat ts let kvs = jsonMetaToPairs (cellMetadata c) let attachments = maybe mempty M.toList $ cellAttachments c mapM_ addAttachment attachments case cellType c of Ipynb.Markdown -> do Pandoc _ bs <- walk fixImage <$> readMarkdown opts source return $ B.divWith ("",["cell","markdown"],kvs) $ B.fromList bs Ipynb.Heading lev -> do Pandoc _ bs <- readMarkdown opts (T.replicate lev "#" <> " " <> source) return $ B.divWith ("",["cell","markdown"],kvs) $ B.fromList bs Ipynb.Raw -> do -- we use ipynb to indicate no format given (a wildcard in nbformat) let format = fromMaybe "ipynb" $ lookup "format" kvs let format' = case format of "text/html" -> "html" "text/latex" -> "latex" "application/pdf" -> "latex" "text/markdown" -> "markdown" "text/x-rsrt" -> "rst" _ -> format return $ B.divWith ("",["cell","raw"],kvs) $ B.rawBlock format' source Ipynb.Code{ codeOutputs = outputs, codeExecutionCount = ec } -> do outputBlocks <- mconcat <$> mapM outputToBlock outputs let kvs' = maybe kvs (\x -> ("execution_count", tshow x):kvs) ec return $ B.divWith ("",["cell","code"],kvs') $ B.codeBlockWith ("",[lang],[]) source <> outputBlocks -- Remove attachment: prefix from images... fixImage :: Inline -> Inline fixImage (Image attr lab (src,tit)) | "attachment:" `T.isPrefixOf` src = Image attr lab (T.drop 11 src, tit) fixImage x = x addAttachment :: PandocMonad m => (Text, MimeBundle) -> m () addAttachment (fname, mimeBundle) = do let fp = T.unpack fname case M.toList (unMimeBundle mimeBundle) of (mimeType, BinaryData bs):_ -> insertMedia fp (Just mimeType) (BL.fromStrict bs) (mimeType, TextualData t):_ -> insertMedia fp (Just mimeType) (BL.fromStrict $ TE.encodeUtf8 t) (mimeType, JsonData v):_ -> insertMedia fp (Just mimeType) (encode v) [] -> report $ CouldNotFetchResource fname "no attachment" outputToBlock :: PandocMonad m => Output a -> m B.Blocks outputToBlock Stream{ streamName = sName, streamText = Source text } = return $ B.divWith ("",["output","stream",sName],[]) $ B.codeBlock $ T.concat text outputToBlock DisplayData{ displayData = data', displayMetadata = metadata' } = B.divWith ("",["output", "display_data"],[]) <$> handleData metadata' data' outputToBlock ExecuteResult{ executeCount = ec, executeData = data', executeMetadata = metadata' } = B.divWith ("",["output", "execute_result"],[("execution_count",tshow ec)]) <$> handleData metadata' data' outputToBlock Err{ errName = ename, errValue = evalue, errTraceback = traceback } = return $ B.divWith ("",["output","error"], [("ename",ename), ("evalue",evalue)]) $ B.codeBlock $ T.unlines traceback -- We want to display the richest output possible given -- the output format. handleData :: PandocMonad m => JSONMeta -> MimeBundle -> m B.Blocks handleData metadata (MimeBundle mb) = mconcat <$> mapM dataBlock (M.toList mb) where dataBlock :: PandocMonad m => (MimeType, MimeData) -> m B.Blocks dataBlock (mt, BinaryData bs) | "image/" `T.isPrefixOf` mt = do -- normally metadata maps from mime types to key-value map; -- but not always... let meta = case M.lookup mt metadata of Just v@Object{} -> case fromJSON v of Success m' -> m' Error _ -> mempty _ -> mempty let metaPairs = jsonMetaToPairs meta let bl = BL.fromStrict bs -- SHA1 hash for filename let fname = T.pack (showDigest (sha1 bl)) <> case extensionFromMimeType mt of Nothing -> "" Just ext -> "." <> ext insertMedia (T.unpack fname) (Just mt) bl return $ B.para $ B.imageWith ("",[],metaPairs) fname "" mempty | otherwise = return mempty dataBlock ("text/html", TextualData t) = return $ B.rawBlock "html" t dataBlock ("text/latex", TextualData t) = return $ B.rawBlock "latex" t dataBlock ("text/plain", TextualData t) = return $ B.codeBlock t dataBlock (_, JsonData v) = return $ B.codeBlockWith ("",["json"],[]) $ T.pack $ toStringLazy $ encode v dataBlock _ = return mempty jsonMetaToMeta :: JSONMeta -> M.Map Text MetaValue jsonMetaToMeta = M.map valueToMetaValue where valueToMetaValue :: Value -> MetaValue valueToMetaValue x@Object{} = case fromJSON x of Error s -> MetaString $ T.pack s Success jm' -> MetaMap $ jsonMetaToMeta jm' valueToMetaValue x@Array{} = case fromJSON x of Error s -> MetaString $ T.pack s Success xs -> MetaList $ map valueToMetaValue xs valueToMetaValue (Bool b) = MetaBool b valueToMetaValue (String t) = MetaString t valueToMetaValue (Number n) | Scientific.isInteger n = MetaString (tshow (floor n :: Integer)) | otherwise = MetaString (tshow n) valueToMetaValue Aeson.Null = MetaString "" jsonMetaToPairs :: JSONMeta -> [(Text, Text)] jsonMetaToPairs = M.toList . M.map (\case String t | not (T.all isDigit t) , t /= "true" , t /= "false" -> t x -> T.pack $ UTF8.toStringLazy $ Aeson.encode x) pandoc-2.9.2.1/src/Text/Pandoc/Readers/JATS.hs000066400000000000000000000607671363630463000205540ustar00rootroot00000000000000{-# LANGUAGE TupleSections #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.JATS Copyright : Copyright (C) 2017-2020 Hamish Mackenzie License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of JATS XML to 'Pandoc' document. -} module Text.Pandoc.Readers.JATS ( readJATS ) where import Control.Monad.State.Strict import Data.Char (isDigit, isSpace, toUpper) import Data.Default import Data.Generics import Data.List (foldl', intersperse) import qualified Data.Map as Map import Data.Maybe (maybeToList, fromMaybe) import Data.Text (Text) import qualified Data.Text as T import Text.HTML.TagSoup.Entity (lookupEntity) import Text.Pandoc.Builder import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Options import Text.Pandoc.Shared (underlineSpan, crFilter, safeRead) import Text.TeXMath (readMathML, writeTeX) import Text.XML.Light import qualified Data.Set as S (fromList, member) import Data.Set ((\\)) type JATS m = StateT JATSState m data JATSState = JATSState{ jatsSectionLevel :: Int , jatsQuoteType :: QuoteType , jatsMeta :: Meta , jatsBook :: Bool , jatsContent :: [Content] } deriving Show instance Default JATSState where def = JATSState{ jatsSectionLevel = 0 , jatsQuoteType = DoubleQuote , jatsMeta = mempty , jatsBook = False , jatsContent = [] } readJATS :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readJATS _ inp = do let tree = normalizeTree . parseXML $ T.unpack $ crFilter inp (bs, st') <- flip runStateT (def{ jatsContent = tree }) $ mapM parseBlock tree return $ Pandoc (jatsMeta st') (toList . mconcat $ bs) -- normalize input, consolidating adjacent Text and CRef elements normalizeTree :: [Content] -> [Content] normalizeTree = everywhere (mkT go) where go :: [Content] -> [Content] go (Text (CData CDataRaw _ _):xs) = xs go (Text (CData CDataText s1 z):Text (CData CDataText s2 _):xs) = Text (CData CDataText (s1 ++ s2) z):xs go (Text (CData CDataText s1 z):CRef r:xs) = Text (CData CDataText (s1 ++ convertEntity r) z):xs go (CRef r:Text (CData CDataText s1 z):xs) = Text (CData CDataText (convertEntity r ++ s1) z):xs go (CRef r1:CRef r2:xs) = Text (CData CDataText (convertEntity r1 ++ convertEntity r2) Nothing):xs go xs = xs convertEntity :: String -> String convertEntity e = Data.Maybe.fromMaybe (map toUpper e) (lookupEntity e) -- convenience function to get an attribute value, defaulting to "" attrValue :: String -> Element -> Text attrValue attr = fromMaybe "" . maybeAttrValue attr maybeAttrValue :: String -> Element -> Maybe Text maybeAttrValue attr elt = T.pack <$> lookupAttrBy (\x -> qName x == attr) (elAttribs elt) -- convenience function named :: String -> Element -> Bool named s e = qName (elName e) == s -- addMeta :: PandocMonad m => ToMetaValue a => Text -> a -> JATS m () addMeta field val = modify (setMeta field val) instance HasMeta JATSState where setMeta field v s = s {jatsMeta = setMeta field v (jatsMeta s)} deleteMeta field s = s {jatsMeta = deleteMeta field (jatsMeta s)} isBlockElement :: Content -> Bool isBlockElement (Elem e) = qName (elName e) `S.member` blocktags where blocktags = S.fromList (paragraphLevel ++ lists ++ mathML ++ other) \\ S.fromList inlinetags paragraphLevel = ["address", "array", "boxed-text", "chem-struct-wrap", "code", "fig", "fig-group", "graphic", "media", "preformat", "supplementary-material", "table-wrap", "table-wrap-group", "alternatives", "disp-formula", "disp-formula-group"] lists = ["def-list", "list"] mathML = ["tex-math", "mml:math"] other = ["p", "related-article", "related-object", "ack", "disp-quote", "speech", "statement", "verse-group", "x"] inlinetags = ["email", "ext-link", "uri", "inline-supplementary-material", "related-article", "related-object", "hr", "bold", "fixed-case", "italic", "monospace", "overline", "overline-start", "overline-end", "roman", "sans-serif", "sc", "strike", "underline", "underline-start", "underline-end", "ruby", "alternatives", "inline-graphic", "private-char", "chem-struct", "inline-formula", "tex-math", "mml:math", "abbrev", "milestone-end", "milestone-start", "named-content", "styled-content", "fn", "target", "xref", "sub", "sup", "x", "address", "array", "boxed-text", "chem-struct-wrap", "code", "fig", "fig-group", "graphic", "media", "preformat", "supplementary-material", "table-wrap", "table-wrap-group", "disp-formula", "disp-formula-group", "citation-alternatives", "element-citation", "mixed-citation", "nlm-citation", "award-id", "funding-source", "open-access", "def-list", "list", "ack", "disp-quote", "speech", "statement", "verse-group"] isBlockElement _ = False -- Trim leading and trailing newline characters trimNl :: Text -> Text trimNl = T.dropAround (== '\n') -- function that is used by both graphic (in parseBlock) -- and inline-graphic (in parseInline) getGraphic :: PandocMonad m => Maybe (Inlines, Text) -> Element -> JATS m Inlines getGraphic mbfigdata e = do let atVal a = attrValue a e (ident, title, caption) = case mbfigdata of Just (capt, i) -> (i, "fig:" <> atVal "title", capt) Nothing -> (atVal "id", atVal "title", text (atVal "alt-text")) attr = (ident, T.words $ atVal "role", []) imageUrl = atVal "href" return $ imageWith attr imageUrl title caption getBlocks :: PandocMonad m => Element -> JATS m Blocks getBlocks e = mconcat <$> mapM parseBlock (elContent e) parseBlock :: PandocMonad m => Content -> JATS m Blocks parseBlock (Text (CData CDataRaw _ _)) = return mempty -- DOCTYPE parseBlock (Text (CData _ s _)) = if all isSpace s then return mempty else return $ plain $ trimInlines $ text $ T.pack s parseBlock (CRef x) = return $ plain $ str $ T.toUpper $ T.pack x parseBlock (Elem e) = case qName (elName e) of "p" -> parseMixed para (elContent e) "code" -> codeBlockWithLang "preformat" -> codeBlockWithLang "disp-quote" -> parseBlockquote "list" -> case attrValue "list-type" e of "bullet" -> bulletList <$> listitems listType -> do let start = fromMaybe 1 $ (textContent <$> (filterElement (named "list-item") e >>= filterElement (named "label"))) >>= safeRead orderedListWith (start, parseListStyleType listType, DefaultDelim) <$> listitems "def-list" -> definitionList <$> deflistitems "sec" -> gets jatsSectionLevel >>= sect . (+1) "graphic" -> para <$> getGraphic Nothing e "journal-meta" -> parseMetadata e "article-meta" -> parseMetadata e "custom-meta" -> parseMetadata e "title" -> return mempty -- processed by header "table" -> parseTable "fig" -> parseFigure "fig-group" -> divWith (attrValue "id" e, ["fig-group"], []) <$> getBlocks e "table-wrap" -> divWith (attrValue "id" e, ["table-wrap"], []) <$> getBlocks e "caption" -> divWith (attrValue "id" e, ["caption"], []) <$> sect 6 "ref-list" -> parseRefList e "?xml" -> return mempty _ -> getBlocks e where parseMixed container conts = do let (ils,rest) = break isBlockElement conts ils' <- (trimInlines . mconcat) <$> mapM parseInline ils let p = if ils' == mempty then mempty else container ils' case rest of [] -> return p (r:rs) -> do b <- parseBlock r x <- parseMixed container rs return $ p <> b <> x codeBlockWithLang = do let classes' = case attrValue "language" e of "" -> [] x -> [x] return $ codeBlockWith (attrValue "id" e, classes', []) $ trimNl $ textContentRecursive e parseBlockquote = do attrib <- case filterChild (named "attribution") e of Nothing -> return mempty Just z -> (para . (str "— " <>) . mconcat) <$> mapM parseInline (elContent z) contents <- getBlocks e return $ blockQuote (contents <> attrib) parseListStyleType "roman-lower" = LowerRoman parseListStyleType "roman-upper" = UpperRoman parseListStyleType "alpha-lower" = LowerAlpha parseListStyleType "alpha-upper" = UpperAlpha parseListStyleType _ = DefaultStyle listitems = mapM getBlocks $ filterChildren (named "list-item") e deflistitems = mapM parseVarListEntry $ filterChildren (named "def-item") e parseVarListEntry e' = do let terms = filterChildren (named "term") e' let items = filterChildren (named "def") e' terms' <- mapM getInlines terms items' <- mapM getBlocks items return (mconcat $ intersperse (str "; ") terms', items') parseFigure = -- if a simple caption and single graphic, we emit a standard -- implicit figure. otherwise, we emit a div with the contents case filterChildren (named "graphic") e of [g] -> do caption <- case filterChild (named "caption") e of Just t -> mconcat . intersperse linebreak <$> mapM getInlines (filterChildren (const True) t) Nothing -> return mempty img <- getGraphic (Just (caption, attrValue "id" e)) g return $ para img _ -> divWith (attrValue "id" e, ["fig"], []) <$> getBlocks e parseTable = do let isCaption x = named "title" x || named "caption" x caption <- case filterChild isCaption e of Just t -> getInlines t Nothing -> return mempty let e' = fromMaybe e $ filterChild (named "tgroup") e let isColspec x = named "colspec" x || named "col" x let colspecs = case filterChild (named "colgroup") e' of Just c -> filterChildren isColspec c _ -> filterChildren isColspec e' let isRow x = named "row" x || named "tr" x headrows <- case filterChild (named "thead") e' of Just h -> case filterChild isRow h of Just x -> parseRow x Nothing -> return [] Nothing -> return [] bodyrows <- case filterChild (named "tbody") e' of Just b -> mapM parseRow $ filterChildren isRow b Nothing -> mapM parseRow $ filterChildren isRow e' let toAlignment c = case findAttr (unqual "align") c of Just "left" -> AlignLeft Just "right" -> AlignRight Just "center" -> AlignCenter _ -> AlignDefault let toWidth c = case findAttrText (unqual "colwidth") c of Just w -> fromMaybe 0 $ safeRead $ "0" <> T.filter (\x -> isDigit x || x == '.') w Nothing -> 0 :: Double let numrows = foldl' max 0 $ map length bodyrows let aligns = case colspecs of [] -> replicate numrows AlignDefault cs -> map toAlignment cs let widths = case colspecs of [] -> replicate numrows 0 cs -> let ws = map toWidth cs tot = sum ws in if all (> 0) ws then map (/ tot) ws else replicate numrows 0 let headrows' = if null headrows then replicate numrows mempty else headrows return $ table caption (zip aligns widths) headrows' bodyrows isEntry x = named "entry" x || named "td" x || named "th" x parseRow = mapM (parseMixed plain . elContent) . filterChildren isEntry sect n = do isbook <- gets jatsBook let n' = if isbook || n == 0 then n + 1 else n headerText <- case filterChild (named "title") e `mplus` (filterChild (named "info") e >>= filterChild (named "title")) of Just t -> getInlines t Nothing -> return mempty oldN <- gets jatsSectionLevel modify $ \st -> st{ jatsSectionLevel = n } b <- getBlocks e let ident = attrValue "id" e modify $ \st -> st{ jatsSectionLevel = oldN } return $ headerWith (ident,[],[]) n' headerText <> b getInlines :: PandocMonad m => Element -> JATS m Inlines getInlines e' = (trimInlines . mconcat) <$> mapM parseInline (elContent e') parseMetadata :: PandocMonad m => Element -> JATS m Blocks parseMetadata e = do getTitle e getAuthors e getAffiliations e return mempty getTitle :: PandocMonad m => Element -> JATS m () getTitle e = do tit <- case filterElement (named "article-title") e of Just s -> getInlines s Nothing -> return mempty subtit <- case filterElement (named "subtitle") e of Just s -> (text ": " <>) <$> getInlines s Nothing -> return mempty when (tit /= mempty) $ addMeta "title" tit when (subtit /= mempty) $ addMeta "subtitle" subtit getAuthors :: PandocMonad m => Element -> JATS m () getAuthors e = do authors <- mapM getContrib $ filterElements (\x -> named "contrib" x && attrValue "contrib-type" x == "author") e authorNotes <- mapM getInlines $ filterElements (named "author-notes") e let authors' = case (reverse authors, authorNotes) of ([], _) -> [] (_, []) -> authors (a:as, ns) -> reverse as ++ [a <> mconcat ns] unless (null authors) $ addMeta "author" authors' getAffiliations :: PandocMonad m => Element -> JATS m () getAffiliations x = do affs <- mapM getInlines $ filterChildren (named "aff") x unless (null affs) $ addMeta "institute" affs getContrib :: PandocMonad m => Element -> JATS m Inlines getContrib x = do given <- maybe (return mempty) getInlines $ filterElement (named "given-names") x family <- maybe (return mempty) getInlines $ filterElement (named "surname") x if given == mempty && family == mempty then return mempty else if given == mempty || family == mempty then return $ given <> family else return $ given <> space <> family parseRefList :: PandocMonad m => Element -> JATS m Blocks parseRefList e = do refs <- mapM parseRef $ filterChildren (named "ref") e addMeta "references" refs return mempty parseRef :: PandocMonad m => Element -> JATS m (Map.Map Text MetaValue) parseRef e = do let refId = text $ attrValue "id" e let getInlineText n = maybe (return mempty) getInlines . filterChild (named n) case filterChild (named "element-citation") e of Just c -> do let refType = text $ case attrValue "publication-type" c of "journal" -> "article-journal" x -> x (refTitle, refContainerTitle) <- do t <- getInlineText "article-title" c ct <- getInlineText "source" c if t == mempty then return (ct, mempty) else return (t, ct) refLabel <- getInlineText "label" c refYear <- getInlineText "year" c refVolume <- getInlineText "volume" c refFirstPage <- getInlineText "fpage" c refLastPage <- getInlineText "lpage" c refPublisher <- getInlineText "publisher-name" c refPublisherPlace <- getInlineText "publisher-loc" c let refPages = refFirstPage <> (if refLastPage == mempty then mempty else text "\x2013" <> refLastPage) let personGroups' = filterChildren (named "person-group") c let getName nm = do given <- maybe (return mempty) getInlines $ filterChild (named "given-names") nm family <- maybe (return mempty) getInlines $ filterChild (named "surname") nm return $ toMetaValue $ Map.fromList [ ("given" :: Text, given) , ("family", family) ] personGroups <- mapM (\pg -> do names <- mapM getName (filterChildren (named "name") pg) return (attrValue "person-group-type" pg, toMetaValue names)) personGroups' return $ Map.fromList $ [ ("id" :: Text, toMetaValue refId) , ("type", toMetaValue refType) , ("title", toMetaValue refTitle) , ("container-title", toMetaValue refContainerTitle) , ("publisher", toMetaValue refPublisher) , ("publisher-place", toMetaValue refPublisherPlace) , ("title", toMetaValue refTitle) , ("issued", toMetaValue $ Map.fromList [ ("year" :: Text, refYear) ]) , ("volume", toMetaValue refVolume) , ("page", toMetaValue refPages) , ("citation-label", toMetaValue refLabel) ] ++ personGroups Nothing -> return $ Map.insert "id" (toMetaValue refId) mempty -- TODO handle mixed-citation findAttrText :: QName -> Element -> Maybe Text findAttrText x = fmap T.pack . findAttr x textContent :: Element -> Text textContent = T.pack . strContent textContentRecursive :: Element -> Text textContentRecursive = T.pack . strContentRecursive strContentRecursive :: Element -> String strContentRecursive = strContent . (\e' -> e'{ elContent = map elementToStr $ elContent e' }) elementToStr :: Content -> Content elementToStr (Elem e') = Text $ CData CDataText (strContentRecursive e') Nothing elementToStr x = x parseInline :: PandocMonad m => Content -> JATS m Inlines parseInline (Text (CData _ s _)) = return $ text $ T.pack s parseInline (CRef ref) = return . text . maybe (T.toUpper $ T.pack ref) T.pack $ lookupEntity ref parseInline (Elem e) = case qName (elName e) of "italic" -> emph <$> innerInlines "bold" -> strong <$> innerInlines "strike" -> strikeout <$> innerInlines "sub" -> subscript <$> innerInlines "sup" -> superscript <$> innerInlines "underline" -> underlineSpan <$> innerInlines "break" -> return linebreak "sc" -> smallcaps <$> innerInlines "code" -> codeWithLang "monospace" -> codeWithLang "inline-graphic" -> getGraphic Nothing e "disp-quote" -> do qt <- gets jatsQuoteType let qt' = if qt == SingleQuote then DoubleQuote else SingleQuote modify $ \st -> st{ jatsQuoteType = qt' } contents <- innerInlines modify $ \st -> st{ jatsQuoteType = qt } return $ if qt == SingleQuote then singleQuoted contents else doubleQuoted contents "xref" -> do ils <- innerInlines let rid = attrValue "rid" e let rids = T.words rid let refType = ("ref-type",) <$> maybeAttrValue "ref-type" e let attr = (attrValue "id" e, [], maybeToList refType) return $ if refType == Just ("ref-type","bibr") then cite (map (\id' -> Citation{ citationId = id' , citationPrefix = [] , citationSuffix = [] , citationMode = NormalCitation , citationNoteNum = 0 , citationHash = 0}) rids) ils else linkWith attr ("#" <> rid) "" ils "ext-link" -> do ils <- innerInlines let title = fromMaybe "" $ findAttrText (QName "title" (Just "http://www.w3.org/1999/xlink") Nothing) e let href = case findAttr (QName "href" (Just "http://www.w3.org/1999/xlink") Nothing) e of Just h -> T.pack h _ -> "#" <> attrValue "rid" e let ils' = if ils == mempty then str href else ils let attr = (attrValue "id" e, [], []) return $ linkWith attr href title ils' "disp-formula" -> formula displayMath "inline-formula" -> formula math "math" | qPrefix (elName e) == Just "mml" -> return . math $ mathML e "tex-math" -> return . math $ textContent e "email" -> return $ link ("mailto:" <> textContent e) "" $ str $ textContent e "uri" -> return $ link (textContent e) "" $ str $ textContent e "fn" -> (note . mconcat) <$> mapM parseBlock (elContent e) _ -> innerInlines where innerInlines = (trimInlines . mconcat) <$> mapM parseInline (elContent e) mathML x = case readMathML . T.pack . showElement $ everywhere (mkT removePrefix) x of Left _ -> mempty Right m -> writeTeX m formula constructor = do let whereToLook = fromMaybe e $ filterElement (named "alternatives") e texMaths = map textContent $ filterChildren (named "tex-math") whereToLook mathMLs = map mathML $ filterChildren isMathML whereToLook return . mconcat . take 1 . map constructor $ texMaths ++ mathMLs isMathML x = qName (elName x) == "math" && qPrefix (elName x) == Just "mml" removePrefix elname = elname { qPrefix = Nothing } codeWithLang = do let classes' = case attrValue "language" e of "" -> [] l -> [l] return $ codeWith (attrValue "id" e,classes',[]) $ textContentRecursive e pandoc-2.9.2.1/src/Text/Pandoc/Readers/Jira.hs000066400000000000000000000144251363630463000206660ustar00rootroot00000000000000{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org Copyright : © 2019-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Conversion of jira wiki formatted plain text to 'Pandoc' document. -} module Text.Pandoc.Readers.Jira ( readJira ) where import Control.Monad.Except (throwError) import Data.Text (Text, append, pack, singleton, unpack) import Text.HTML.TagSoup.Entity (lookupEntity) import Text.Jira.Parser (parse) import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.Builder import Text.Pandoc.Error (PandocError (PandocParseError)) import Text.Pandoc.Options (ReaderOptions) import Text.Pandoc.Shared (stringify) import qualified Text.Jira.Markup as Jira -- | Read Jira wiki markup. readJira :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readJira _opts s = case parse s of Right d -> return $ jiraToPandoc d Left e -> throwError . PandocParseError $ "Jira parse error" `append` pack (show e) jiraToPandoc :: Jira.Doc -> Pandoc jiraToPandoc (Jira.Doc blks) = doc $ foldMap jiraToPandocBlocks blks -- -- Blocks -- -- | Converts a Jira block to a Pandoc block. jiraToPandocBlocks :: Jira.Block -> Blocks jiraToPandocBlocks = \case Jira.BlockQuote blcks -> blockQuote $ foldMap jiraToPandocBlocks blcks Jira.Code lang ps txt -> toPandocCodeBlocks (Just lang) ps txt Jira.Color c blcks -> divWith (mempty, mempty, [("color", colorName c)]) $ foldMap jiraToPandocBlocks blcks Jira.Header lvl inlns -> header lvl $ foldMap jiraToPandocInlines inlns Jira.HorizontalRule -> horizontalRule Jira.List style items -> toPandocList style items Jira.NoFormat ps txt -> toPandocCodeBlocks Nothing ps txt Jira.Panel ps blcks -> toPandocDiv ps blcks Jira.Para inlns -> para $ foldMap jiraToPandocInlines inlns Jira.Table rows -> toPandocTable rows -- | Create a pandoc list – either to a @'BulletList'@ or an @'OrderedList'@. toPandocList :: Jira.ListStyle -> [[Jira.Block]] -> Blocks toPandocList style items = let items' = map (foldMap jiraToPandocBlocks) items in if style == Jira.Enumeration then orderedList items' else bulletList items' -- | Create a pandoc @'CodeBlock'@ toPandocCodeBlocks :: Maybe Jira.Language -> [Jira.Parameter] -> Text -> Blocks toPandocCodeBlocks langMay params txt = let classes = case langMay of Just (Jira.Language lang) -> [lang] Nothing -> [] in codeBlockWith ("", classes, map paramToPair params) txt -- | Create a pandoc @'Div'@ toPandocDiv :: [Jira.Parameter] -> [Jira.Block] -> Blocks toPandocDiv params = divWith ("", [], map paramToPair params) . foldMap jiraToPandocBlocks paramToPair :: Jira.Parameter -> (Text, Text) paramToPair (Jira.Parameter key value) = (key, value) -- | Give textual representation of a color. colorName :: Jira.ColorName -> Text colorName (Jira.ColorName name) = name -- | Create a pandoc @'Table'@. -- This relies on 'simpleTable' to sanitize the table. toPandocTable :: [Jira.Row] -> Blocks toPandocTable rows = let (headerRow, bodyRows) = splitIntoHeaderAndBody rows in simpleTable (rowToBlocksList headerRow) (map rowToBlocksList bodyRows) rowToBlocksList :: Jira.Row -> [Blocks] rowToBlocksList (Jira.Row cells) = map cellContent cells where cellContent cell = let content = case cell of Jira.HeaderCell x -> x Jira.BodyCell x -> x in foldMap jiraToPandocBlocks content splitIntoHeaderAndBody :: [Jira.Row] -> (Jira.Row, [Jira.Row]) splitIntoHeaderAndBody [] = (Jira.Row [], []) splitIntoHeaderAndBody rows@(first@(Jira.Row cells) : rest) = let isHeaderCell Jira.HeaderCell{} = True isHeaderCell Jira.BodyCell{} = False in if all isHeaderCell cells then (first, rest) else (Jira.Row [], rows) -- -- Inlines -- -- | Converts a Jira inline to a Pandoc block. jiraToPandocInlines :: Jira.Inline -> Inlines jiraToPandocInlines = \case Jira.Anchor t -> spanWith (t, [], []) mempty Jira.AutoLink url -> link (Jira.fromURL url) "" (str (Jira.fromURL url)) Jira.ColorInline c ils -> spanWith ("", [], [("color", colorName c)]) $ fromInlines ils Jira.Emoji icon -> str . iconUnicode $ icon Jira.Entity entity -> str . fromEntity $ entity Jira.Image _ url -> image (Jira.fromURL url) "" mempty Jira.Link alias url -> link (Jira.fromURL url) "" (fromInlines alias) Jira.Linebreak -> linebreak Jira.Monospaced inlns -> code . stringify . toList . fromInlines $ inlns Jira.Space -> space Jira.SpecialChar c -> str (Data.Text.singleton c) Jira.Str t -> str t Jira.Styled style inlns -> fromStyle style $ fromInlines inlns where fromInlines = foldMap jiraToPandocInlines fromEntity e = case lookupEntity (unpack e ++ ";") of Nothing -> "&" `append` e `append` ";" Just cs -> pack cs fromStyle = \case Jira.Emphasis -> emph Jira.Insert -> spanWith ("", ["inserted"], []) Jira.Strikeout -> strikeout Jira.Strong -> strong Jira.Subscript -> subscript Jira.Superscript -> superscript -- | Get unicode representation of a Jira icon. iconUnicode :: Jira.Icon -> Text iconUnicode = \case Jira.IconSlightlySmiling -> "🙂" Jira.IconFrowning -> "🙁" Jira.IconTongue -> "😛" Jira.IconSmiling -> "😃" Jira.IconWinking -> "😉" Jira.IconThumbsUp -> "👍" Jira.IconThumbsDown -> "👎" Jira.IconInfo -> "ℹ" Jira.IconCheckmark -> "✓" Jira.IconX -> "🅇" Jira.IconAttention -> "⚠" Jira.IconPlus -> "⊞" Jira.IconMinus -> "⊟" Jira.IconQuestionmark -> "?" Jira.IconOn -> "💡" Jira.IconOff -> "💡" Jira.IconStar -> "★" Jira.IconStarRed -> "★" Jira.IconStarGreen -> "★" Jira.IconStarBlue -> "★" Jira.IconStarYellow -> "★" Jira.IconFlag -> "⚑" Jira.IconFlagOff -> "⚐" pandoc-2.9.2.1/src/Text/Pandoc/Readers/LaTeX.hs000066400000000000000000002536321363630463000207630ustar00rootroot00000000000000{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Readers.LaTeX Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of LaTeX to 'Pandoc' document. -} module Text.Pandoc.Readers.LaTeX ( readLaTeX, applyMacros, rawLaTeXInline, rawLaTeXBlock, inlineCommand, tokenize, untokenize ) where import Control.Applicative (many, optional, (<|>)) import Control.Monad import Control.Monad.Except (throwError) import Data.Char (isDigit, isLetter, toUpper, chr) import Data.Default import Data.List (intercalate) import qualified Data.Map as M import Data.Maybe (fromMaybe, maybeToList) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import System.FilePath (addExtension, replaceExtension, takeExtension) import Text.Pandoc.BCP47 (Lang (..), renderLang) import Text.Pandoc.Builder import Text.Pandoc.Class.PandocPure (PandocPure) import Text.Pandoc.Class.PandocMonad (PandocMonad (..), getResourcePath, readFileFromDirs, report, setResourcePath, setTranslations, translateTerm) import Text.Pandoc.Error (PandocError (PandocParseError, PandocParsecError)) import Text.Pandoc.Highlighting (fromListingsLanguage, languagesByExtension) import Text.Pandoc.ImageSize (numUnit, showFl) import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (blankline, many, mathDisplay, mathInline, optional, space, spaces, withRaw, (<|>)) import Text.Pandoc.Readers.LaTeX.Types (ExpansionPoint (..), Macro (..), ArgSpec (..), Tok (..), TokType (..)) import Text.Pandoc.Readers.LaTeX.Parsing import Text.Pandoc.Readers.LaTeX.Lang (polyglossiaLangToBCP47, babelLangToBCP47) import Text.Pandoc.Shared import qualified Text.Pandoc.Translations as Translations import Text.Pandoc.Walk import qualified Text.Pandoc.Builder as B import qualified Data.Text.Normalize as Normalize import Safe -- for debugging: -- import Text.Pandoc.Extensions (getDefaultExtensions) -- import Text.Pandoc.Class.PandocIO (runIOorExplode, PandocIO) -- import Debug.Trace (traceShowId) -- | Parse LaTeX from string and return 'Pandoc' document. readLaTeX :: PandocMonad m => ReaderOptions -- ^ Reader options -> Text -- ^ String to parse (assumes @'\n'@ line endings) -> m Pandoc readLaTeX opts ltx = do parsed <- runParserT parseLaTeX def{ sOptions = opts } "source" (tokenize "source" (crFilter ltx)) case parsed of Right result -> return result Left e -> throwError $ PandocParsecError ltx e parseLaTeX :: PandocMonad m => LP m Pandoc parseLaTeX = do bs <- blocks eof st <- getState let meta = sMeta st let doc' = doc bs let headerLevel (Header n _ _) = [n] headerLevel _ = [] #if MIN_VERSION_safe(0,3,18) let bottomLevel = minimumBound 1 $ query headerLevel doc' #else let bottomLevel = minimumDef 1 $ query headerLevel doc' #endif let adjustHeaders m (Header n attr ils) = Header (n+m) attr ils adjustHeaders _ x = x let (Pandoc _ bs') = -- handle the case where you have \part or \chapter (if bottomLevel < 1 then walk (adjustHeaders (1 - bottomLevel)) else id) $ walk (resolveRefs (sLabels st)) doc' return $ Pandoc meta bs' resolveRefs :: M.Map Text [Inline] -> Inline -> Inline resolveRefs labels x@(Link (ident,classes,kvs) _ _) = case (lookup "reference-type" kvs, lookup "reference" kvs) of (Just "ref", Just lab) -> case M.lookup lab labels of Just txt -> Link (ident,classes,kvs) txt ("#" <> lab, "") Nothing -> x _ -> x resolveRefs _ x = x -- testParser :: LP PandocIO a -> Text -> IO a -- testParser p t = do -- res <- runIOorExplode (runParserT p defaultLaTeXState{ -- sOptions = def{ readerExtensions = -- enableExtension Ext_raw_tex $ -- getDefaultExtensions "latex" }} "source" (tokenize "source" t)) -- case res of -- Left e -> error (show e) -- Right r -> return r rawLaTeXBlock :: (PandocMonad m, HasMacros s, HasReaderOptions s) => ParserT Text s m Text rawLaTeXBlock = do lookAhead (try (char '\\' >> letter)) inp <- getInput let toks = tokenize "source" inp snd <$> (rawLaTeXParser toks False (macroDef (const mempty)) blocks <|> (rawLaTeXParser toks True (do choice (map controlSeq ["include", "input", "subfile", "usepackage"]) skipMany opt braced return mempty) blocks) <|> rawLaTeXParser toks True (environment <|> blockCommand) (mconcat <$> (many (block <|> beginOrEndCommand)))) -- See #4667 for motivation; sometimes people write macros -- that just evaluate to a begin or end command, which blockCommand -- won't accept. beginOrEndCommand :: PandocMonad m => LP m Blocks beginOrEndCommand = try $ do Tok _ (CtrlSeq name) txt <- anyControlSeq guard $ name == "begin" || name == "end" (envname, rawargs) <- withRaw braced if M.member (untokenize envname) (inlineEnvironments :: M.Map Text (LP PandocPure Inlines)) then mzero else return $ rawBlock "latex" (txt <> untokenize rawargs) rawLaTeXInline :: (PandocMonad m, HasMacros s, HasReaderOptions s) => ParserT Text s m Text rawLaTeXInline = do lookAhead (try (char '\\' >> letter)) inp <- getInput let toks = tokenize "source" inp raw <- snd <$> ( rawLaTeXParser toks True (mempty <$ (controlSeq "input" >> skipMany opt >> braced)) inlines <|> rawLaTeXParser toks True (inlineEnvironment <|> inlineCommand') inlines ) finalbraces <- mconcat <$> many (try (string "{}")) -- see #5439 return $ raw <> T.pack finalbraces inlineCommand :: PandocMonad m => ParserT Text ParserState m Inlines inlineCommand = do lookAhead (try (char '\\' >> letter)) inp <- getInput let toks = tokenize "source" inp fst <$> rawLaTeXParser toks True (inlineEnvironment <|> inlineCommand') inlines -- inline elements: word :: PandocMonad m => LP m Inlines word = (str . untoken) <$> satisfyTok isWordTok regularSymbol :: PandocMonad m => LP m Inlines regularSymbol = (str . untoken) <$> satisfyTok isRegularSymbol where isRegularSymbol (Tok _ Symbol t) = not $ T.any isSpecial t isRegularSymbol _ = False isSpecial c = c `Set.member` specialChars inlineGroup :: PandocMonad m => LP m Inlines inlineGroup = do ils <- grouped inline if isNull ils then return mempty else return $ spanWith nullAttr ils -- we need the span so we can detitlecase bibtex entries; -- we need to know when something is {C}apitalized doLHSverb :: PandocMonad m => LP m Inlines doLHSverb = (codeWith ("",["haskell"],[]) . untokenize) <$> manyTill (satisfyTok (not . isNewlineTok)) (symbol '|') mkImage :: PandocMonad m => [(Text, Text)] -> Text -> LP m Inlines mkImage options (T.unpack -> src) = do let replaceTextwidth (k,v) = case numUnit v of Just (num, "\\textwidth") -> (k, showFl (num * 100) <> "%") _ -> (k, v) let kvs = map replaceTextwidth $ filter (\(k,_) -> k `elem` ["width", "height"]) options let attr = ("",[], kvs) let alt = str "image" defaultExt <- getOption readerDefaultImageExtension let exts' = [".pdf", ".png", ".jpg", ".mps", ".jpeg", ".jbig2", ".jb2"] let exts = exts' ++ map (map toUpper) exts' let findFile s [] = return s findFile s (e:es) = do let s' = addExtension s e exists <- fileExists s' if exists then return s' else findFile s es src' <- case takeExtension src of "" | not (T.null defaultExt) -> return $ addExtension src $ T.unpack defaultExt | otherwise -> findFile src exts _ -> return src return $ imageWith attr (T.pack src') "" alt doxspace :: PandocMonad m => LP m Inlines doxspace = (space <$ lookAhead (satisfyTok startsWithLetter)) <|> return mempty where startsWithLetter (Tok _ Word t) = case T.uncons t of Just (c, _) | isLetter c -> True _ -> False startsWithLetter _ = False -- converts e.g. \SI{1}[\$]{} to "$ 1" or \SI{1}{\euro} to "1 €" dosiunitx :: PandocMonad m => LP m Inlines dosiunitx = do skipopts value <- tok valueprefix <- option "" $ bracketed tok unit <- grouped (mconcat <$> many1 siUnit) <|> siUnit <|> tok let emptyOr160 "" = "" emptyOr160 _ = "\160" return . mconcat $ [valueprefix, emptyOr160 valueprefix, value, emptyOr160 unit, unit] siUnit :: PandocMonad m => LP m Inlines siUnit = do Tok _ (CtrlSeq name) _ <- anyControlSeq if name == "square" then do unit <- grouped (mconcat <$> many1 siUnit) <|> siUnit <|> tok return . mconcat $ [unit, "\178"] else case M.lookup name siUnitMap of Just il -> return il Nothing -> mzero siUnitMap :: M.Map Text Inlines siUnitMap = M.fromList [ ("fg", str "fg") , ("pg", str "pg") , ("ng", str "ng") , ("ug", str "μg") , ("mg", str "mg") , ("g", str "g") , ("kg", str "kg") , ("amu", str "u") , ("pm", str "pm") , ("nm", str "nm") , ("um", str "μm") , ("mm", str "mm") , ("cm", str "cm") , ("dm", str "dm") , ("m", str "m") , ("km", str "km") , ("as", str "as") , ("fs", str "fs") , ("ps", str "ps") , ("ns", str "ns") , ("us", str "μs") , ("ms", str "ms") , ("s", str "s") , ("fmol", str "fmol") , ("pmol", str "pmol") , ("nmol", str "nmol") , ("umol", str "μmol") , ("mmol", str "mmol") , ("mol", str "mol") , ("kmol", str "kmol") , ("pA", str "pA") , ("nA", str "nA") , ("uA", str "μA") , ("mA", str "mA") , ("A", str "A") , ("kA", str "kA") , ("ul", str "μl") , ("ml", str "ml") , ("l", str "l") , ("hl", str "hl") , ("uL", str "μL") , ("mL", str "mL") , ("L", str "L") , ("hL", str "hL") , ("mHz", str "mHz") , ("Hz", str "Hz") , ("kHz", str "kHz") , ("MHz", str "MHz") , ("GHz", str "GHz") , ("THz", str "THz") , ("mN", str "mN") , ("N", str "N") , ("kN", str "kN") , ("MN", str "MN") , ("Pa", str "Pa") , ("kPa", str "kPa") , ("MPa", str "MPa") , ("GPa", str "GPa") , ("mohm", str "mΩ") , ("kohm", str "kΩ") , ("Mohm", str "MΩ") , ("pV", str "pV") , ("nV", str "nV") , ("uV", str "μV") , ("mV", str "mV") , ("V", str "V") , ("kV", str "kV") , ("W", str "W") , ("uW", str "μW") , ("mW", str "mW") , ("kW", str "kW") , ("MW", str "MW") , ("GW", str "GW") , ("J", str "J") , ("uJ", str "μJ") , ("mJ", str "mJ") , ("kJ", str "kJ") , ("eV", str "eV") , ("meV", str "meV") , ("keV", str "keV") , ("MeV", str "MeV") , ("GeV", str "GeV") , ("TeV", str "TeV") , ("kWh", str "kWh") , ("F", str "F") , ("fF", str "fF") , ("pF", str "pF") , ("K", str "K") , ("dB", str "dB") , ("angstrom", str "Å") , ("arcmin", str "′") , ("arcminute", str "′") , ("arcsecond", str "″") , ("astronomicalunit", str "ua") , ("atomicmassunit", str "u") , ("atto", str "a") , ("bar", str "bar") , ("barn", str "b") , ("becquerel", str "Bq") , ("bel", str "B") , ("candela", str "cd") , ("celsius", str "°C") , ("centi", str "c") , ("coulomb", str "C") , ("dalton", str "Da") , ("day", str "d") , ("deca", str "d") , ("deci", str "d") , ("decibel", str "db") , ("degreeCelsius",str "°C") , ("degree", str "°") , ("deka", str "d") , ("electronvolt", str "eV") , ("exa", str "E") , ("farad", str "F") , ("femto", str "f") , ("giga", str "G") , ("gram", str "g") , ("hectare", str "ha") , ("hecto", str "h") , ("henry", str "H") , ("hertz", str "Hz") , ("hour", str "h") , ("joule", str "J") , ("katal", str "kat") , ("kelvin", str "K") , ("kilo", str "k") , ("kilogram", str "kg") , ("knot", str "kn") , ("liter", str "L") , ("litre", str "l") , ("lumen", str "lm") , ("lux", str "lx") , ("mega", str "M") , ("meter", str "m") , ("metre", str "m") , ("micro", str "μ") , ("milli", str "m") , ("minute", str "min") , ("mmHg", str "mmHg") , ("mole", str "mol") , ("nano", str "n") , ("nauticalmile", str "M") , ("neper", str "Np") , ("newton", str "N") , ("ohm", str "Ω") , ("Pa", str "Pa") , ("pascal", str "Pa") , ("percent", str "%") , ("per", str "/") , ("peta", str "P") , ("pico", str "p") , ("radian", str "rad") , ("second", str "s") , ("siemens", str "S") , ("sievert", str "Sv") , ("steradian", str "sr") , ("tera", str "T") , ("tesla", str "T") , ("tonne", str "t") , ("volt", str "V") , ("watt", str "W") , ("weber", str "Wb") , ("yocto", str "y") , ("yotta", str "Y") , ("zepto", str "z") , ("zetta", str "Z") ] lit :: Text -> LP m Inlines lit = pure . str removeDoubleQuotes :: Text -> Text removeDoubleQuotes t = Data.Maybe.fromMaybe t $ T.stripPrefix "\"" t >>= T.stripSuffix "\"" doubleQuote :: PandocMonad m => LP m Inlines doubleQuote = quoted' doubleQuoted (try $ count 2 $ symbol '`') (void $ try $ count 2 $ symbol '\'') <|> quoted' doubleQuoted ((:[]) <$> symbol '“') (void $ symbol '”') -- the following is used by babel for localized quotes: <|> quoted' doubleQuoted (try $ sequence [symbol '"', symbol '`']) (void $ try $ sequence [symbol '"', symbol '\'']) singleQuote :: PandocMonad m => LP m Inlines singleQuote = quoted' singleQuoted ((:[]) <$> symbol '`') (try $ symbol '\'' >> notFollowedBy (satisfyTok startsWithLetter)) <|> quoted' singleQuoted ((:[]) <$> symbol '‘') (try $ symbol '’' >> notFollowedBy (satisfyTok startsWithLetter)) where startsWithLetter (Tok _ Word t) = case T.uncons t of Just (c, _) | isLetter c -> True _ -> False startsWithLetter _ = False quoted' :: PandocMonad m => (Inlines -> Inlines) -> LP m [Tok] -> LP m () -> LP m Inlines quoted' f starter ender = do startchs <- untokenize <$> starter smart <- extensionEnabled Ext_smart <$> getOption readerExtensions if smart then do ils <- many (notFollowedBy ender >> inline) (ender >> return (f (mconcat ils))) <|> (<> mconcat ils) <$> lit (case startchs of "``" -> "“" "`" -> "‘" cs -> cs) else lit startchs enquote :: PandocMonad m => Bool -> Maybe Text -> LP m Inlines enquote starred mblang = do skipopts let lang = mblang >>= babelLangToBCP47 let langspan = case lang of Nothing -> id Just l -> spanWith ("",[],[("lang", renderLang l)]) quoteContext <- sQuoteContext <$> getState if starred || quoteContext == InDoubleQuote then singleQuoted . langspan <$> withQuoteContext InSingleQuote tok else doubleQuoted . langspan <$> withQuoteContext InDoubleQuote tok blockquote :: PandocMonad m => Bool -> Maybe Text -> LP m Blocks blockquote citations mblang = do citePar <- if citations then do cs <- cites NormalCitation False return $ para (cite cs mempty) else return mempty let lang = mblang >>= babelLangToBCP47 let langdiv = case lang of Nothing -> id Just l -> divWith ("",[],[("lang", renderLang l)]) bs <- grouped block return $ blockQuote . langdiv $ (bs <> citePar) doAcronym :: PandocMonad m => Text -> LP m Inlines doAcronym form = do acro <- braced return . mconcat $ [spanWith ("",[],[("acronym-label", untokenize acro), ("acronym-form", "singular+" <> form)]) $ str $ untokenize acro] doAcronymPlural :: PandocMonad m => Text -> LP m Inlines doAcronymPlural form = do acro <- braced plural <- lit "s" return . mconcat $ [spanWith ("",[],[("acronym-label", untokenize acro), ("acronym-form", "plural+" <> form)]) $ mconcat [str $ untokenize acro, plural]] doverb :: PandocMonad m => LP m Inlines doverb = do Tok _ Symbol t <- anySymbol marker <- case T.uncons t of Just (c, ts) | T.null ts -> return c _ -> mzero withVerbatimMode $ (code . untokenize) <$> manyTill (notFollowedBy newlineTok >> verbTok marker) (symbol marker) verbTok :: PandocMonad m => Char -> LP m Tok verbTok stopchar = do t@(Tok pos toktype txt) <- anyTok case T.findIndex (== stopchar) txt of Nothing -> return t Just i -> do let (t1, t2) = T.splitAt i txt inp <- getInput setInput $ Tok (incSourceColumn pos i) Symbol (T.singleton stopchar) : totoks (incSourceColumn pos (i + 1)) (T.drop 1 t2) ++ inp return $ Tok pos toktype t1 listingsLanguage :: [(Text, Text)] -> Maybe Text listingsLanguage opts = case lookup "language" opts of Nothing -> Nothing Just l -> fromListingsLanguage l `mplus` Just l dolstinline :: PandocMonad m => LP m Inlines dolstinline = do options <- option [] keyvals let classes = maybeToList $ listingsLanguage options doinlinecode classes domintinline :: PandocMonad m => LP m Inlines domintinline = do skipopts cls <- untokenize <$> braced doinlinecode [cls] doinlinecode :: PandocMonad m => [Text] -> LP m Inlines doinlinecode classes = do Tok _ Symbol t <- anySymbol marker <- case T.uncons t of Just (c, ts) | T.null ts -> return c _ -> mzero let stopchar = if marker == '{' then '}' else marker withVerbatimMode $ (codeWith ("",classes,[]) . T.map nlToSpace . untokenize) <$> manyTill (verbTok stopchar) (symbol stopchar) nlToSpace :: Char -> Char nlToSpace '\n' = ' ' nlToSpace x = x keyval :: PandocMonad m => LP m (Text, Text) keyval = try $ do Tok _ Word key <- satisfyTok isWordTok sp val <- option mempty $ do symbol '=' sp (untokenize <$> braced) <|> (mconcat <$> many1 ( (untokenize . snd <$> withRaw braced) <|> (untokenize <$> (many1 (satisfyTok (\t -> case t of Tok _ Symbol "]" -> False Tok _ Symbol "," -> False Tok _ Symbol "{" -> False Tok _ Symbol "}" -> False _ -> True)))))) optional (symbol ',') sp return (key, T.strip val) keyvals :: PandocMonad m => LP m [(Text, Text)] keyvals = try $ symbol '[' >> manyTill keyval (symbol ']') <* sp accent :: PandocMonad m => Char -> Maybe Char -> LP m Inlines accent combiningAccent fallBack = try $ do ils <- tok case toList ils of (Str (T.uncons -> Just (x, xs)) : ys) -> return $ fromList $ -- try to normalize to the combined character: Str (Normalize.normalize Normalize.NFC (T.pack [x, combiningAccent]) <> xs) : ys [Space] -> return $ str $ T.singleton $ fromMaybe combiningAccent fallBack [] -> return $ str $ T.singleton $ fromMaybe combiningAccent fallBack _ -> return ils mathDisplay :: Text -> Inlines mathDisplay = displayMath . trimMath mathInline :: Text -> Inlines mathInline = math . trimMath dollarsMath :: PandocMonad m => LP m Inlines dollarsMath = do symbol '$' display <- option False (True <$ symbol '$') (do contents <- try $ untokenize <$> pDollarsMath 0 if display then (mathDisplay contents <$ symbol '$') else return $ mathInline contents) <|> (guard display >> return (mathInline "")) -- Int is number of embedded groupings pDollarsMath :: PandocMonad m => Int -> LP m [Tok] pDollarsMath n = do tk@(Tok _ toktype t) <- anyTok case toktype of Symbol | t == "$" , n == 0 -> return [] | t == "\\" -> do tk' <- anyTok ((tk :) . (tk' :)) <$> pDollarsMath n | t == "{" -> (tk :) <$> pDollarsMath (n+1) | t == "}" -> if n > 0 then (tk :) <$> pDollarsMath (n-1) else mzero _ -> (tk :) <$> pDollarsMath n -- citations addPrefix :: [Inline] -> [Citation] -> [Citation] addPrefix p (k:ks) = k {citationPrefix = p ++ citationPrefix k} : ks addPrefix _ _ = [] addSuffix :: [Inline] -> [Citation] -> [Citation] addSuffix s ks@(_:_) = let k = last ks in init ks ++ [k {citationSuffix = citationSuffix k ++ s}] addSuffix _ _ = [] simpleCiteArgs :: PandocMonad m => LP m [Citation] simpleCiteArgs = try $ do first <- optionMaybe $ toList <$> opt second <- optionMaybe $ toList <$> opt keys <- try $ bgroup *> manyTill citationLabel egroup let (pre, suf) = case (first , second ) of (Just s , Nothing) -> (mempty, s ) (Just s , Just t ) -> (s , t ) _ -> (mempty, mempty) conv k = Citation { citationId = k , citationPrefix = [] , citationSuffix = [] , citationMode = NormalCitation , citationHash = 0 , citationNoteNum = 0 } return $ addPrefix pre $ addSuffix suf $ map conv keys citationLabel :: PandocMonad m => LP m Text citationLabel = do sp untokenize <$> (many1 (satisfyTok isWordTok <|> symbolIn bibtexKeyChar) <* sp <* optional (symbol ',') <* sp) where bibtexKeyChar = ".:;?!`'()/*@_+=-&[]" :: [Char] cites :: PandocMonad m => CitationMode -> Bool -> LP m [Citation] cites mode multi = try $ do cits <- if multi then do multiprenote <- optionMaybe $ toList <$> paropt multipostnote <- optionMaybe $ toList <$> paropt let (pre, suf) = case (multiprenote, multipostnote) of (Just s , Nothing) -> (mempty, s) (Nothing , Just t) -> (mempty, t) (Just s , Just t ) -> (s, t) _ -> (mempty, mempty) tempCits <- many1 simpleCiteArgs case tempCits of (k:ks) -> case ks of (_:_) -> return $ ((addMprenote pre k):init ks) ++ [addMpostnote suf (last ks)] _ -> return [addMprenote pre (addMpostnote suf k)] _ -> return [[]] else count 1 simpleCiteArgs let cs = concat cits return $ case mode of AuthorInText -> case cs of (c:rest) -> c {citationMode = mode} : rest [] -> [] _ -> map (\a -> a {citationMode = mode}) cs where mprenote (k:ks) = (k:ks) ++ [Space] mprenote _ = mempty mpostnote (k:ks) = [Str ",", Space] ++ (k:ks) mpostnote _ = mempty addMprenote mpn (k:ks) = let mpnfinal = case citationPrefix k of (_:_) -> mprenote mpn _ -> mpn in addPrefix mpnfinal (k:ks) addMprenote _ _ = [] addMpostnote = addSuffix . mpostnote citation :: PandocMonad m => Text -> CitationMode -> Bool -> LP m Inlines citation name mode multi = do (c,raw) <- withRaw $ cites mode multi return $ cite c (rawInline "latex" $ "\\" <> name <> untokenize raw) handleCitationPart :: Inlines -> [Citation] handleCitationPart ils = let isCite Cite{} = True isCite _ = False (pref, rest) = break isCite (toList ils) in case rest of (Cite cs _:suff) -> addPrefix pref $ addSuffix suff cs _ -> [] complexNatbibCitation :: PandocMonad m => CitationMode -> LP m Inlines complexNatbibCitation mode = try $ do (cs, raw) <- withRaw $ concat <$> do bgroup items <- mconcat <$> many1 (notFollowedBy (symbol ';') >> inline) `sepBy1` (symbol ';') egroup return $ map handleCitationPart items case cs of [] -> mzero (c:cits) -> return $ cite (c{ citationMode = mode }:cits) (rawInline "latex" $ "\\citetext" <> untokenize raw) inNote :: Inlines -> Inlines inNote ils = note $ para $ ils <> str "." inlineCommand' :: PandocMonad m => LP m Inlines inlineCommand' = try $ do Tok _ (CtrlSeq name) cmd <- anyControlSeq guard $ name /= "begin" && name /= "end" star <- option "" ("*" <$ symbol '*' <* sp) overlay <- option "" overlaySpecification let name' = name <> star <> overlay let names = ordNub [name', name] -- check non-starred as fallback let raw = do guard $ isInlineCommand name || not (isBlockCommand name) rawcommand <- getRawCommand name (cmd <> star) (guardEnabled Ext_raw_tex >> return (rawInline "latex" rawcommand)) <|> ignore rawcommand lookupListDefault raw names inlineCommands tok :: PandocMonad m => LP m Inlines tok = try $ spaces >> grouped inline <|> inlineCommand' <|> singleChar' where singleChar' = do Tok _ _ t <- singleChar return $ str t opt :: PandocMonad m => LP m Inlines opt = bracketed inline <|> (str <$> rawopt) paropt :: PandocMonad m => LP m Inlines paropt = parenWrapped inline rawopt :: PandocMonad m => LP m Text rawopt = try $ do sp inner <- untokenize <$> bracketedToks sp return $ "[" <> inner <> "]" skipopts :: PandocMonad m => LP m () skipopts = skipMany (void overlaySpecification <|> void rawopt) -- opts in angle brackets are used in beamer overlaySpecification :: PandocMonad m => LP m Text overlaySpecification = try $ do symbol '<' t <- untokenize <$> manyTill overlayTok (symbol '>') -- see issue #3368 guard $ not (T.all isLetter t) || t `elem` ["beamer","presentation", "trans", "handout","article", "second"] return $ "<" <> t <> ">" overlayTok :: PandocMonad m => LP m Tok overlayTok = satisfyTok (\t -> case t of Tok _ Word _ -> True Tok _ Spaces _ -> True Tok _ Symbol c -> c `elem` ["-","+","@","|",":",","] _ -> False) inBrackets :: Inlines -> Inlines inBrackets x = str "[" <> x <> str "]" unescapeURL :: Text -> Text unescapeURL = T.concat . go . T.splitOn "\\" where isEscapable c = c `elemText` "#$%&~_^\\{}" go (x:xs) = x : map unescapeInterior xs go [] = [] unescapeInterior t | Just (c, _) <- T.uncons t , isEscapable c = t | otherwise = "\\" <> t mathEnvWith :: PandocMonad m => (Inlines -> a) -> Maybe Text -> Text -> LP m a mathEnvWith f innerEnv name = f . mathDisplay . inner <$> mathEnv name where inner x = case innerEnv of Nothing -> x Just y -> "\\begin{" <> y <> "}\n" <> x <> "\\end{" <> y <> "}" mathEnv :: PandocMonad m => Text -> LP m Text mathEnv name = do skipopts optional blankline res <- manyTill anyTok (end_ name) return $ stripTrailingNewlines $ untokenize res inlineEnvironment :: PandocMonad m => LP m Inlines inlineEnvironment = try $ do controlSeq "begin" name <- untokenize <$> braced M.findWithDefault mzero name inlineEnvironments inlineEnvironments :: PandocMonad m => M.Map Text (LP m Inlines) inlineEnvironments = M.fromList [ ("displaymath", mathEnvWith id Nothing "displaymath") , ("math", math <$> mathEnv "math") , ("equation", mathEnvWith id Nothing "equation") , ("equation*", mathEnvWith id Nothing "equation*") , ("gather", mathEnvWith id (Just "gathered") "gather") , ("gather*", mathEnvWith id (Just "gathered") "gather*") , ("multline", mathEnvWith id (Just "gathered") "multline") , ("multline*", mathEnvWith id (Just "gathered") "multline*") , ("eqnarray", mathEnvWith id (Just "aligned") "eqnarray") , ("eqnarray*", mathEnvWith id (Just "aligned") "eqnarray*") , ("align", mathEnvWith id (Just "aligned") "align") , ("align*", mathEnvWith id (Just "aligned") "align*") , ("alignat", mathEnvWith id (Just "aligned") "alignat") , ("alignat*", mathEnvWith id (Just "aligned") "alignat*") , ("dmath", mathEnvWith id Nothing "dmath") , ("dmath*", mathEnvWith id Nothing "dmath*") , ("dgroup", mathEnvWith id (Just "aligned") "dgroup") , ("dgroup*", mathEnvWith id (Just "aligned") "dgroup*") , ("darray", mathEnvWith id (Just "aligned") "darray") , ("darray*", mathEnvWith id (Just "aligned") "darray*") ] inlineCommands :: PandocMonad m => M.Map Text (LP m Inlines) inlineCommands = M.union inlineLanguageCommands $ M.fromList [ ("emph", extractSpaces emph <$> tok) , ("textit", extractSpaces emph <$> tok) , ("textsl", extractSpaces emph <$> tok) , ("textsc", extractSpaces smallcaps <$> tok) , ("textsf", extractSpaces (spanWith ("",["sans-serif"],[])) <$> tok) , ("textmd", extractSpaces (spanWith ("",["medium"],[])) <$> tok) , ("textrm", extractSpaces (spanWith ("",["roman"],[])) <$> tok) , ("textup", extractSpaces (spanWith ("",["upright"],[])) <$> tok) , ("texttt", ttfamily) , ("sout", extractSpaces strikeout <$> tok) , ("alert", skipopts >> spanWith ("",["alert"],[]) <$> tok) -- beamer , ("lq", return (str "‘")) , ("rq", return (str "’")) , ("textquoteleft", return (str "‘")) , ("textquoteright", return (str "’")) , ("textquotedblleft", return (str "“")) , ("textquotedblright", return (str "”")) , ("textsuperscript", extractSpaces superscript <$> tok) , ("textsubscript", extractSpaces subscript <$> tok) , ("textbackslash", lit "\\") , ("backslash", lit "\\") , ("slash", lit "/") , ("textbf", extractSpaces strong <$> tok) , ("textnormal", extractSpaces (spanWith ("",["nodecor"],[])) <$> tok) , ("underline", underlineSpan <$> tok) , ("ldots", lit "…") , ("vdots", lit "\8942") , ("dots", lit "…") , ("mdots", lit "…") , ("sim", lit "~") , ("sep", lit ",") , ("label", rawInlineOr "label" dolabel) , ("ref", rawInlineOr "ref" $ doref "ref") , ("cref", rawInlineOr "cref" $ doref "ref") -- from cleveref.sty , ("vref", rawInlineOr "vref" $ doref "ref+page") -- from varioref.sty , ("eqref", rawInlineOr "eqref" $ doref "eqref") -- from amsmath.sty , ("mbox", rawInlineOr "mbox" $ processHBox <$> tok) , ("hbox", rawInlineOr "hbox" $ processHBox <$> tok) , ("lettrine", optional opt >> extractSpaces (spanWith ("",["lettrine"],[])) <$> tok) , ("(", mathInline . untokenize <$> manyTill anyTok (controlSeq ")")) , ("[", mathDisplay . untokenize <$> manyTill anyTok (controlSeq "]")) , ("ensuremath", mathInline . untokenize <$> braced) , ("texorpdfstring", const <$> tok <*> tok) , ("P", lit "¶") , ("S", lit "§") , ("$", lit "$") , ("%", lit "%") , ("&", lit "&") , ("#", lit "#") , ("_", lit "_") , ("{", lit "{") , ("}", lit "}") -- old TeX commands , ("em", extractSpaces emph <$> inlines) , ("it", extractSpaces emph <$> inlines) , ("sl", extractSpaces emph <$> inlines) , ("bf", extractSpaces strong <$> inlines) , ("tt", code . stringify . toList <$> inlines) , ("rm", inlines) , ("itshape", extractSpaces emph <$> inlines) , ("slshape", extractSpaces emph <$> inlines) , ("scshape", extractSpaces smallcaps <$> inlines) , ("bfseries", extractSpaces strong <$> inlines) , ("MakeUppercase", makeUppercase <$> tok) , ("MakeTextUppercase", makeUppercase <$> tok) -- textcase , ("uppercase", makeUppercase <$> tok) , ("MakeLowercase", makeLowercase <$> tok) , ("MakeTextLowercase", makeLowercase <$> tok) , ("lowercase", makeLowercase <$> tok) , ("/", pure mempty) -- italic correction , ("aa", lit "å") , ("AA", lit "Å") , ("ss", lit "ß") , ("o", lit "ø") , ("O", lit "Ø") , ("L", lit "Ł") , ("l", lit "ł") , ("ae", lit "æ") , ("AE", lit "Æ") , ("oe", lit "œ") , ("OE", lit "Œ") , ("pounds", lit "£") , ("euro", lit "€") , ("copyright", lit "©") , ("textasciicircum", lit "^") , ("textasciitilde", lit "~") , ("H", accent '\779' Nothing) -- hungarumlaut , ("`", accent '\768' (Just '`')) -- grave , ("'", accent '\769' (Just '\'')) -- acute , ("^", accent '\770' (Just '^')) -- circ , ("~", accent '\771' (Just '~')) -- tilde , ("\"", accent '\776' Nothing) -- umlaut , (".", accent '\775' Nothing) -- dot , ("=", accent '\772' Nothing) -- macron , ("|", accent '\781' Nothing) -- vertical line above , ("b", accent '\817' Nothing) -- macron below , ("c", accent '\807' Nothing) -- cedilla , ("G", accent '\783' Nothing) -- doublegrave , ("h", accent '\777' Nothing) -- hookabove , ("d", accent '\803' Nothing) -- dotbelow , ("f", accent '\785' Nothing) -- inverted breve , ("r", accent '\778' Nothing) -- ringabove , ("t", accent '\865' Nothing) -- double inverted breve , ("U", accent '\782' Nothing) -- double vertical line above , ("v", accent '\780' Nothing) -- hacek , ("u", accent '\774' Nothing) -- breve , ("k", accent '\808' Nothing) -- ogonek , ("textogonekcentered", accent '\808' Nothing) -- ogonek , ("i", lit "ı") -- dotless i , ("j", lit "ȷ") -- dotless j , ("newtie", accent '\785' Nothing) -- inverted breve , ("textcircled", accent '\8413' Nothing) -- combining circle , ("\\", linebreak <$ (do inTableCell <- sInTableCell <$> getState guard $ not inTableCell optional opt spaces)) , (",", lit "\8198") , ("@", pure mempty) , (" ", lit "\160") , ("ps", pure $ str "PS." <> space) , ("TeX", lit "TeX") , ("LaTeX", lit "LaTeX") , ("bar", lit "|") , ("textless", lit "<") , ("textgreater", lit ">") , ("thanks", skipopts >> note <$> grouped block) , ("footnote", skipopts >> note <$> grouped block) , ("passthrough", tok) -- \passthrough macro used by latex writer -- for listings , ("verb", doverb) , ("lstinline", dolstinline) , ("mintinline", domintinline) , ("Verb", doverb) , ("url", ((unescapeURL . untokenize) <$> bracedUrl) >>= \url -> pure (link url "" (str url))) , ("nolinkurl", ((unescapeURL . untokenize) <$> bracedUrl) >>= \url -> pure (code url)) , ("href", (unescapeURL . untokenize <$> bracedUrl <* sp) >>= \url -> tok >>= \lab -> pure (link url "" lab)) , ("includegraphics", do options <- option [] keyvals src <- unescapeURL . removeDoubleQuotes . untokenize <$> braced mkImage options src) , ("enquote*", enquote True Nothing) , ("enquote", enquote False Nothing) -- foreignquote is supposed to use native quote marks , ("foreignquote*", braced >>= enquote True . Just . untokenize) , ("foreignquote", braced >>= enquote False . Just . untokenize) -- hypehnquote uses regular quotes , ("hyphenquote*", braced >>= enquote True . Just . untokenize) , ("hyphenquote", braced >>= enquote False . Just . untokenize) , ("figurename", doTerm Translations.Figure) , ("prefacename", doTerm Translations.Preface) , ("refname", doTerm Translations.References) , ("bibname", doTerm Translations.Bibliography) , ("chaptername", doTerm Translations.Chapter) , ("partname", doTerm Translations.Part) , ("contentsname", doTerm Translations.Contents) , ("listfigurename", doTerm Translations.ListOfFigures) , ("listtablename", doTerm Translations.ListOfTables) , ("indexname", doTerm Translations.Index) , ("abstractname", doTerm Translations.Abstract) , ("tablename", doTerm Translations.Table) , ("enclname", doTerm Translations.Encl) , ("ccname", doTerm Translations.Cc) , ("headtoname", doTerm Translations.To) , ("pagename", doTerm Translations.Page) , ("seename", doTerm Translations.See) , ("seealsoname", doTerm Translations.SeeAlso) , ("proofname", doTerm Translations.Proof) , ("glossaryname", doTerm Translations.Glossary) , ("lstlistingname", doTerm Translations.Listing) , ("cite", citation "cite" NormalCitation False) , ("Cite", citation "Cite" NormalCitation False) , ("citep", citation "citep" NormalCitation False) , ("citep*", citation "citep*" NormalCitation False) , ("citeal", citation "citeal" NormalCitation False) , ("citealp", citation "citealp" NormalCitation False) , ("citealp*", citation "citealp*" NormalCitation False) , ("autocite", citation "autocite" NormalCitation False) , ("smartcite", citation "smartcite" NormalCitation False) , ("footcite", inNote <$> citation "footcite" NormalCitation False) , ("parencite", citation "parencite" NormalCitation False) , ("supercite", citation "supercite" NormalCitation False) , ("footcitetext", inNote <$> citation "footcitetext" NormalCitation False) , ("citeyearpar", citation "citeyearpar" SuppressAuthor False) , ("citeyear", citation "citeyear" SuppressAuthor False) , ("autocite*", citation "autocite*" SuppressAuthor False) , ("cite*", citation "cite*" SuppressAuthor False) , ("parencite*", citation "parencite*" SuppressAuthor False) , ("textcite", citation "textcite" AuthorInText False) , ("citet", citation "citet" AuthorInText False) , ("citet*", citation "citet*" AuthorInText False) , ("citealt", citation "citealt" AuthorInText False) , ("citealt*", citation "citealt*" AuthorInText False) , ("textcites", citation "textcites" AuthorInText True) , ("cites", citation "cites" NormalCitation True) , ("autocites", citation "autocites" NormalCitation True) , ("footcites", inNote <$> citation "footcites" NormalCitation True) , ("parencites", citation "parencites" NormalCitation True) , ("supercites", citation "supercites" NormalCitation True) , ("footcitetexts", inNote <$> citation "footcitetexts" NormalCitation True) , ("Autocite", citation "Autocite" NormalCitation False) , ("Smartcite", citation "Smartcite" NormalCitation False) , ("Footcite", inNote <$> citation "Footcite" NormalCitation False) , ("Parencite", citation "Parencite" NormalCitation False) , ("Supercite", citation "Supercite" NormalCitation False) , ("Footcitetext", inNote <$> citation "Footcitetext" NormalCitation False) , ("Citeyearpar", citation "Citeyearpar" SuppressAuthor False) , ("Citeyear", citation "Citeyear" SuppressAuthor False) , ("Autocite*", citation "Autocite*" SuppressAuthor False) , ("Cite*", citation "Cite*" SuppressAuthor False) , ("Parencite*", citation "Parencite*" SuppressAuthor False) , ("Textcite", citation "Textcite" AuthorInText False) , ("Textcites", citation "Textcites" AuthorInText True) , ("Cites", citation "Cites" NormalCitation True) , ("Autocites", citation "Autocites" NormalCitation True) , ("Footcites", inNote <$> citation "Footcites" NormalCitation True) , ("Parencites", citation "Parencites" NormalCitation True) , ("Supercites", citation "Supercites" NormalCitation True) , ("Footcitetexts", inNote <$> citation "Footcitetexts" NormalCitation True) , ("citetext", complexNatbibCitation NormalCitation) , ("citeauthor", (try (tok *> sp *> controlSeq "citetext") *> complexNatbibCitation AuthorInText) <|> citation "citeauthor" AuthorInText False) , ("nocite", mempty <$ (citation "nocite" NormalCitation False >>= addMeta "nocite")) , ("hyperlink", hyperlink) , ("hypertarget", hypertargetInline) -- glossaries package , ("gls", doAcronym "short") , ("Gls", doAcronym "short") , ("glsdesc", doAcronym "long") , ("Glsdesc", doAcronym "long") , ("GLSdesc", doAcronym "long") , ("acrlong", doAcronym "long") , ("Acrlong", doAcronym "long") , ("acrfull", doAcronym "full") , ("Acrfull", doAcronym "full") , ("acrshort", doAcronym "abbrv") , ("Acrshort", doAcronym "abbrv") , ("glspl", doAcronymPlural "short") , ("Glspl", doAcronymPlural "short") , ("glsdescplural", doAcronymPlural "long") , ("Glsdescplural", doAcronymPlural "long") , ("GLSdescplural", doAcronymPlural "long") -- acronyms package , ("ac", doAcronym "short") , ("acf", doAcronym "full") , ("acs", doAcronym "abbrv") , ("acp", doAcronymPlural "short") , ("acfp", doAcronymPlural "full") , ("acsp", doAcronymPlural "abbrv") -- siuntix , ("SI", dosiunitx) -- hyphenat , ("bshyp", lit "\\\173") , ("fshyp", lit "/\173") , ("dothyp", lit ".\173") , ("colonhyp", lit ":\173") , ("hyp", lit "-") , ("nohyphens", tok) , ("textnhtt", ttfamily) , ("nhttfamily", ttfamily) -- LaTeX colors , ("textcolor", coloredInline "color") , ("colorbox", coloredInline "background-color") -- fontawesome , ("faCheck", lit "\10003") , ("faClose", lit "\10007") -- xspace , ("xspace", doxspace) -- etoolbox , ("ifstrequal", ifstrequal) , ("newtoggle", braced >>= newToggle) , ("toggletrue", braced >>= setToggle True) , ("togglefalse", braced >>= setToggle False) , ("iftoggle", try $ ifToggle >> inline) -- biblatex misc , ("RN", romanNumeralUpper) , ("Rn", romanNumeralLower) -- babel , ("foreignlanguage", foreignlanguage) -- include , ("input", rawInlineOr "input" $ include "input") -- soul package , ("ul", underlineSpan <$> tok) -- ulem package , ("uline", underlineSpan <$> tok) -- plain tex stuff that should just be passed through as raw tex , ("ifdim", ifdim) ] ifdim :: PandocMonad m => LP m Inlines ifdim = do contents <- manyTill anyTok (controlSeq "fi") return $ rawInline "latex" $ "\\ifdim" <> untokenize contents <> "\\fi" makeUppercase :: Inlines -> Inlines makeUppercase = fromList . walk (alterStr T.toUpper) . toList makeLowercase :: Inlines -> Inlines makeLowercase = fromList . walk (alterStr T.toLower) . toList alterStr :: (Text -> Text) -> Inline -> Inline alterStr f (Str xs) = Str (f xs) alterStr _ x = x foreignlanguage :: PandocMonad m => LP m Inlines foreignlanguage = do babelLang <- untokenize <$> braced case babelLangToBCP47 babelLang of Just lang -> spanWith ("", [], [("lang", renderLang lang)]) <$> tok _ -> tok inlineLanguageCommands :: PandocMonad m => M.Map Text (LP m Inlines) inlineLanguageCommands = M.fromList $ mk <$> M.toList polyglossiaLangToBCP47 where mk (polyglossia, bcp47Func) = ("text" <> polyglossia, inlineLanguage bcp47Func) inlineLanguage :: PandocMonad m => (Text -> Lang) -> LP m Inlines inlineLanguage bcp47Func = do o <- option "" $ T.filter (\c -> c /= '[' && c /= ']') <$> rawopt let lang = renderLang $ bcp47Func o extractSpaces (spanWith ("", [], [("lang", lang)])) <$> tok hyperlink :: PandocMonad m => LP m Inlines hyperlink = try $ do src <- untokenize <$> braced lab <- tok return $ link ("#" <> src) "" lab hypertargetBlock :: PandocMonad m => LP m Blocks hypertargetBlock = try $ do ref <- untokenize <$> braced bs <- grouped block case toList bs of [Header 1 (ident,_,_) _] | ident == ref -> return bs _ -> return $ divWith (ref, [], []) bs hypertargetInline :: PandocMonad m => LP m Inlines hypertargetInline = try $ do ref <- untokenize <$> braced ils <- grouped inline return $ spanWith (ref, [], []) ils romanNumeralUpper :: (PandocMonad m) => LP m Inlines romanNumeralUpper = str . toRomanNumeral <$> romanNumeralArg romanNumeralLower :: (PandocMonad m) => LP m Inlines romanNumeralLower = str . T.toLower . toRomanNumeral <$> romanNumeralArg romanNumeralArg :: (PandocMonad m) => LP m Int romanNumeralArg = spaces *> (parser <|> inBraces) where inBraces = do symbol '{' spaces res <- parser spaces symbol '}' return res parser = do Tok _ Word s <- satisfyTok isWordTok let (digits, rest) = T.span isDigit s unless (T.null rest) $ Prelude.fail "Non-digits in argument to \\Rn or \\RN" safeRead digits newToggle :: (Monoid a, PandocMonad m) => [Tok] -> LP m a newToggle name = do updateState $ \st -> st{ sToggles = M.insert (untokenize name) False (sToggles st) } return mempty setToggle :: (Monoid a, PandocMonad m) => Bool -> [Tok] -> LP m a setToggle on name = do updateState $ \st -> st{ sToggles = M.adjust (const on) (untokenize name) (sToggles st) } return mempty ifToggle :: PandocMonad m => LP m () ifToggle = do name <- braced spaces yes <- braced spaces no <- braced toggles <- sToggles <$> getState inp <- getInput let name' = untokenize name case M.lookup name' toggles of Just True -> setInput (yes ++ inp) Just False -> setInput (no ++ inp) Nothing -> do pos <- getPosition report $ UndefinedToggle name' pos return () doTerm :: PandocMonad m => Translations.Term -> LP m Inlines doTerm term = str <$> translateTerm term ifstrequal :: (PandocMonad m, Monoid a) => LP m a ifstrequal = do str1 <- tok str2 <- tok ifequal <- braced ifnotequal <- braced if str1 == str2 then getInput >>= setInput . (ifequal ++) else getInput >>= setInput . (ifnotequal ++) return mempty coloredInline :: PandocMonad m => Text -> LP m Inlines coloredInline stylename = do skipopts color <- braced spanWith ("",[],[("style",stylename <> ": " <> untokenize color)]) <$> tok ttfamily :: PandocMonad m => LP m Inlines ttfamily = (code . stringify . toList) <$> tok rawInlineOr :: PandocMonad m => Text -> LP m Inlines -> LP m Inlines rawInlineOr name' fallback = do parseRaw <- extensionEnabled Ext_raw_tex <$> getOption readerExtensions if parseRaw then rawInline "latex" <$> getRawCommand name' ("\\" <> name') else fallback processHBox :: Inlines -> Inlines processHBox = walk convert where convert Space = Str $ T.singleton $ chr 160 -- non-breakable space convert SoftBreak = Str $ T.singleton $ chr 160 -- non-breakable space convert LineBreak = Str "" convert x = x getRawCommand :: PandocMonad m => Text -> Text -> LP m Text getRawCommand name txt = do (_, rawargs) <- withRaw $ case name of "write" -> do void $ satisfyTok isWordTok -- digits void braced "titleformat" -> do void braced skipopts void $ count 4 braced "def" -> void $ manyTill anyTok braced _ | isFontSizeCommand name -> return () | otherwise -> do skipopts option "" (try dimenarg) void $ many braced return $ txt <> untokenize rawargs isFontSizeCommand :: Text -> Bool isFontSizeCommand "tiny" = True isFontSizeCommand "scriptsize" = True isFontSizeCommand "footnotesize" = True isFontSizeCommand "small" = True isFontSizeCommand "normalsize" = True isFontSizeCommand "large" = True isFontSizeCommand "Large" = True isFontSizeCommand "LARGE" = True isFontSizeCommand "huge" = True isFontSizeCommand "Huge" = True isFontSizeCommand _ = False isBlockCommand :: Text -> Bool isBlockCommand s = s `M.member` (blockCommands :: M.Map Text (LP PandocPure Blocks)) || s `Set.member` treatAsBlock treatAsBlock :: Set.Set Text treatAsBlock = Set.fromList [ "special", "pdfannot", "pdfstringdef" , "bibliographystyle" , "maketitle", "makeindex", "makeglossary" , "addcontentsline", "addtocontents", "addtocounter" -- \ignore{} is used conventionally in literate haskell for definitions -- that are to be processed by the compiler but not printed. , "ignore" , "hyperdef" , "markboth", "markright", "markleft" , "hspace", "vspace" , "newpage" , "clearpage" , "pagebreak" , "titleformat" , "listoffigures" , "listoftables" , "write" ] isInlineCommand :: Text -> Bool isInlineCommand s = s `M.member` (inlineCommands :: M.Map Text (LP PandocPure Inlines)) || s `Set.member` treatAsInline treatAsInline :: Set.Set Text treatAsInline = Set.fromList [ "index" , "hspace" , "vspace" , "noindent" , "newpage" , "clearpage" , "pagebreak" ] label :: PandocMonad m => LP m () label = do controlSeq "label" t <- braced updateState $ \st -> st{ sLastLabel = Just $ untokenize t } dolabel :: PandocMonad m => LP m Inlines dolabel = do v <- braced let refstr = untokenize v updateState $ \st -> st{ sLastLabel = Just refstr } return $ spanWith (refstr,[],[("label", refstr)]) $ inBrackets $ str $ untokenize v doref :: PandocMonad m => Text -> LP m Inlines doref cls = do v <- braced let refstr = untokenize v return $ linkWith ("",[],[ ("reference-type", cls) , ("reference", refstr)]) ("#" <> refstr) "" (inBrackets $ str refstr) lookupListDefault :: (Ord k) => v -> [k] -> M.Map k v -> v lookupListDefault d = (fromMaybe d .) . lookupList where lookupList l m = msum $ map (`M.lookup` m) l inline :: PandocMonad m => LP m Inlines inline = (mempty <$ comment) <|> (space <$ whitespace) <|> (softbreak <$ endline) <|> word <|> macroDef (rawInline "latex") <|> inlineCommand' <|> inlineEnvironment <|> inlineGroup <|> (symbol '-' *> option (str "-") (symbol '-' *> option (str "–") (str "—" <$ symbol '-'))) <|> doubleQuote <|> singleQuote <|> (str "”" <$ try (symbol '\'' >> symbol '\'')) <|> (str "”" <$ symbol '”') <|> (str "’" <$ symbol '\'') <|> (str "’" <$ symbol '’') <|> (str "\160" <$ symbol '~') <|> dollarsMath <|> (guardEnabled Ext_literate_haskell *> symbol '|' *> doLHSverb) <|> (str . T.singleton <$> primEscape) <|> regularSymbol <|> (do res <- symbolIn "#^'`\"[]&" pos <- getPosition let s = untoken res report $ ParsingUnescaped s pos return $ str s) inlines :: PandocMonad m => LP m Inlines inlines = mconcat <$> many inline -- block elements: begin_ :: PandocMonad m => Text -> LP m () begin_ t = try (do controlSeq "begin" spaces txt <- untokenize <$> braced guard (t == txt)) ("\\begin{" ++ T.unpack t ++ "}") end_ :: PandocMonad m => Text -> LP m () end_ t = try (do controlSeq "end" spaces txt <- untokenize <$> braced guard $ t == txt) ("\\end{" ++ T.unpack t ++ "}") preamble :: PandocMonad m => LP m Blocks preamble = mconcat <$> many preambleBlock where preambleBlock = (mempty <$ spaces1) <|> macroDef (rawBlock "latex") <|> (mempty <$ blockCommand) <|> (mempty <$ braced) <|> (do notFollowedBy (begin_ "document") anyTok return mempty) paragraph :: PandocMonad m => LP m Blocks paragraph = do x <- trimInlines . mconcat <$> many1 inline if x == mempty then return mempty else return $ para x rawBlockOr :: PandocMonad m => Text -> LP m Blocks -> LP m Blocks rawBlockOr name fallback = do -- if raw_tex allowed, don't process parseRaw <- extensionEnabled Ext_raw_tex <$> getOption readerExtensions if parseRaw then rawBlock "latex" <$> getRawCommand name ("\\" <> name) else fallback include :: (PandocMonad m, Monoid a) => Text -> LP m a include name = do skipMany opt fs <- (map (T.unpack . removeDoubleQuotes . T.strip) . T.splitOn "," . untokenize) <$> braced let addExt f = case takeExtension f of ".tex" -> f ".sty" -> f -- note, we can have cc_by_4.0 for example... _ | name == "usepackage" -> addExtension f ".sty" | otherwise -> addExtension f ".tex" dirs <- (map T.unpack . splitTextBy (==':') . fromMaybe ".") <$> lookupEnv "TEXINPUTS" mapM_ (insertIncluded dirs . addExt) fs return mempty insertIncluded :: PandocMonad m => [FilePath] -> FilePath -> LP m () insertIncluded dirs f = do pos <- getPosition containers <- getIncludeFiles <$> getState when (T.pack f `elem` containers) $ throwError $ PandocParseError $ T.pack $ "Include file loop at " ++ show pos updateState $ addIncludeFile $ T.pack f mbcontents <- readFileFromDirs dirs f contents <- case mbcontents of Just s -> return s Nothing -> do report $ CouldNotLoadIncludeFile (T.pack f) pos return "" getInput >>= setInput . (tokenize f contents ++) updateState dropLatestIncludeFile addMeta :: PandocMonad m => ToMetaValue a => Text -> a -> LP m () addMeta field val = updateState $ \st -> st{ sMeta = addMetaField field val $ sMeta st } authors :: PandocMonad m => LP m () authors = try $ do bgroup let oneAuthor = mconcat <$> many1 (notFollowedBy' (controlSeq "and") >> (inline <|> mempty <$ blockCommand)) -- skip e.g. \vspace{10pt} auths <- sepBy oneAuthor (controlSeq "and") egroup addMeta "author" (map trimInlines auths) macroDef :: (PandocMonad m, Monoid a) => (Text -> a) -> LP m a macroDef constructor = do (_, s) <- withRaw (commandDef <|> environmentDef) (constructor (untokenize s) <$ guardDisabled Ext_latex_macros) <|> return mempty where commandDef = do (name, macro') <- newcommand <|> letmacro <|> defmacro guardDisabled Ext_latex_macros <|> updateState (\s -> s{ sMacros = M.insert name macro' (sMacros s) }) environmentDef = do mbenv <- newenvironment case mbenv of Nothing -> return () Just (name, macro1, macro2) -> guardDisabled Ext_latex_macros <|> do updateState $ \s -> s{ sMacros = M.insert name macro1 (sMacros s) } updateState $ \s -> s{ sMacros = M.insert ("end" <> name) macro2 (sMacros s) } -- @\newenvironment{envname}[n-args][default]{begin}{end}@ -- is equivalent to -- @\newcommand{\envname}[n-args][default]{begin}@ -- @\newcommand{\endenvname}@ letmacro :: PandocMonad m => LP m (Text, Macro) letmacro = do controlSeq "let" (name, contents) <- withVerbatimMode $ do Tok _ (CtrlSeq name) _ <- anyControlSeq optional $ symbol '=' spaces -- we first parse in verbatim mode, and then expand macros, -- because we don't want \let\foo\bar to turn into -- \let\foo hello if we have previously \def\bar{hello} contents <- bracedOrToken return (name, contents) contents' <- doMacros' 0 contents return (name, Macro ExpandWhenDefined [] Nothing contents') defmacro :: PandocMonad m => LP m (Text, Macro) defmacro = try $ -- we use withVerbatimMode, because macros are to be expanded -- at point of use, not point of definition withVerbatimMode $ do controlSeq "def" Tok _ (CtrlSeq name) _ <- anyControlSeq argspecs <- many (argspecArg <|> argspecPattern) contents <- bracedOrToken return (name, Macro ExpandWhenUsed argspecs Nothing contents) argspecArg :: PandocMonad m => LP m ArgSpec argspecArg = do Tok _ (Arg i) _ <- satisfyTok isArgTok return $ ArgNum i argspecPattern :: PandocMonad m => LP m ArgSpec argspecPattern = Pattern <$> many1 (satisfyTok (\(Tok _ toktype' txt) -> (toktype' == Symbol || toktype' == Word) && (txt /= "{" && txt /= "\\" && txt /= "}"))) newcommand :: PandocMonad m => LP m (Text, Macro) newcommand = do pos <- getPosition Tok _ (CtrlSeq mtype) _ <- controlSeq "newcommand" <|> controlSeq "renewcommand" <|> controlSeq "providecommand" <|> controlSeq "DeclareMathOperator" <|> controlSeq "DeclareRobustCommand" withVerbatimMode $ do Tok _ (CtrlSeq name) txt <- do optional (symbol '*') anyControlSeq <|> (symbol '{' *> spaces *> anyControlSeq <* spaces <* symbol '}') spaces numargs <- option 0 $ try bracketedNum let argspecs = map ArgNum [1..numargs] spaces optarg <- option Nothing $ Just <$> try bracketedToks spaces contents' <- bracedOrToken let contents = case mtype of "DeclareMathOperator" -> Tok pos (CtrlSeq "mathop") "\\mathop" : Tok pos Symbol "{" : Tok pos (CtrlSeq "mathrm") "\\mathrm" : Tok pos Symbol "{" : (contents' ++ [ Tok pos Symbol "}", Tok pos Symbol "}" ]) _ -> contents' macros <- sMacros <$> getState case M.lookup name macros of Just macro | mtype == "newcommand" -> do report $ MacroAlreadyDefined txt pos return (name, macro) | mtype == "providecommand" -> return (name, macro) _ -> return (name, Macro ExpandWhenUsed argspecs optarg contents) newenvironment :: PandocMonad m => LP m (Maybe (Text, Macro, Macro)) newenvironment = do pos <- getPosition Tok _ (CtrlSeq mtype) _ <- controlSeq "newenvironment" <|> controlSeq "renewenvironment" <|> controlSeq "provideenvironment" withVerbatimMode $ do optional $ symbol '*' spaces name <- untokenize <$> braced spaces numargs <- option 0 $ try bracketedNum spaces optarg <- option Nothing $ Just <$> try bracketedToks let argspecs = map (\i -> ArgNum i) [1..numargs] startcontents <- spaces >> bracedOrToken endcontents <- spaces >> bracedOrToken macros <- sMacros <$> getState case M.lookup name macros of Just _ | mtype == "newenvironment" -> do report $ MacroAlreadyDefined name pos return Nothing | mtype == "provideenvironment" -> return Nothing _ -> return $ Just (name, Macro ExpandWhenUsed argspecs optarg startcontents, Macro ExpandWhenUsed [] Nothing endcontents) bracketedNum :: PandocMonad m => LP m Int bracketedNum = do ds <- untokenize <$> bracketedToks case safeRead ds of Just i -> return i _ -> return 0 setCaption :: PandocMonad m => LP m () setCaption = try $ do skipopts ils <- tok optional $ try $ spaces *> label updateState $ \st -> st{ sCaption = Just ils } looseItem :: PandocMonad m => LP m Blocks looseItem = do inListItem <- sInListItem <$> getState guard $ not inListItem skipopts return mempty epigraph :: PandocMonad m => LP m Blocks epigraph = do p1 <- grouped block p2 <- grouped block return $ divWith ("", ["epigraph"], []) (p1 <> p2) resetCaption :: PandocMonad m => LP m () resetCaption = updateState $ \st -> st{ sCaption = Nothing , sLastLabel = Nothing } section :: PandocMonad m => Attr -> Int -> LP m Blocks section (ident, classes, kvs) lvl = do skipopts contents <- grouped inline lab <- option ident $ try (spaces >> controlSeq "label" >> spaces >> untokenize <$> braced) when (lvl == 0) $ updateState $ \st -> st{ sHasChapters = True } unless ("unnumbered" `elem` classes) $ do hn <- sLastHeaderNum <$> getState hasChapters <- sHasChapters <$> getState let lvl' = lvl + if hasChapters then 1 else 0 let num = incrementDottedNum lvl' hn updateState $ \st -> st{ sLastHeaderNum = num , sLabels = M.insert lab [Str (renderDottedNum num)] (sLabels st) } attr' <- registerHeader (lab, classes, kvs) contents return $ headerWith attr' lvl contents blockCommand :: PandocMonad m => LP m Blocks blockCommand = try $ do Tok _ (CtrlSeq name) txt <- anyControlSeq guard $ name /= "begin" && name /= "end" star <- option "" ("*" <$ symbol '*' <* sp) let name' = name <> star let names = ordNub [name', name] let rawDefiniteBlock = do guard $ isBlockCommand name rawcontents <- getRawCommand name (txt <> star) (guardEnabled Ext_raw_tex >> return (rawBlock "latex" rawcontents)) <|> ignore rawcontents -- heuristic: if it could be either block or inline, we -- treat it if block if we have a sequence of block -- commands followed by a newline. But we stop if we -- hit a \startXXX, since this might start a raw ConTeXt -- environment (this is important because this parser is -- used by the Markdown reader). let startCommand = try $ do Tok _ (CtrlSeq n) _ <- anyControlSeq guard $ "start" `T.isPrefixOf` n let rawMaybeBlock = try $ do guard $ not $ isInlineCommand name rawcontents <- getRawCommand name (txt <> star) curr <- (guardEnabled Ext_raw_tex >> return (rawBlock "latex" rawcontents)) <|> ignore rawcontents rest <- many $ notFollowedBy startCommand *> blockCommand lookAhead $ blankline <|> startCommand return $ curr <> mconcat rest let raw = rawDefiniteBlock <|> rawMaybeBlock lookupListDefault raw names blockCommands closing :: PandocMonad m => LP m Blocks closing = do contents <- tok st <- getState let extractInlines (MetaBlocks [Plain ys]) = ys extractInlines (MetaBlocks [Para ys ]) = ys extractInlines _ = [] let sigs = case lookupMeta "author" (sMeta st) of Just (MetaList xs) -> para $ trimInlines $ fromList $ intercalate [LineBreak] $ map extractInlines xs _ -> mempty return $ para (trimInlines contents) <> sigs parbox :: PandocMonad m => LP m Blocks parbox = try $ do skipopts braced -- size oldInTableCell <- sInTableCell <$> getState -- see #5711 updateState $ \st -> st{ sInTableCell = False } res <- grouped block updateState $ \st -> st{ sInTableCell = oldInTableCell } return res blockCommands :: PandocMonad m => M.Map Text (LP m Blocks) blockCommands = M.fromList [ ("par", mempty <$ skipopts) , ("parbox", parbox) , ("title", mempty <$ (skipopts *> (grouped inline >>= addMeta "title") <|> (grouped block >>= addMeta "title"))) , ("subtitle", mempty <$ (skipopts *> tok >>= addMeta "subtitle")) , ("author", mempty <$ (skipopts *> authors)) -- -- in letter class, temp. store address & sig as title, author , ("address", mempty <$ (skipopts *> tok >>= addMeta "address")) , ("signature", mempty <$ (skipopts *> authors)) , ("date", mempty <$ (skipopts *> tok >>= addMeta "date")) -- KOMA-Script metadata commands , ("extratitle", mempty <$ (skipopts *> tok >>= addMeta "extratitle")) , ("frontispiece", mempty <$ (skipopts *> tok >>= addMeta "frontispiece")) , ("titlehead", mempty <$ (skipopts *> tok >>= addMeta "titlehead")) , ("subject", mempty <$ (skipopts *> tok >>= addMeta "subject")) , ("publishers", mempty <$ (skipopts *> tok >>= addMeta "publishers")) , ("uppertitleback", mempty <$ (skipopts *> tok >>= addMeta "uppertitleback")) , ("lowertitleback", mempty <$ (skipopts *> tok >>= addMeta "lowertitleback")) , ("dedication", mempty <$ (skipopts *> tok >>= addMeta "dedication")) -- sectioning , ("part", section nullAttr (-1)) , ("part*", section nullAttr (-1)) , ("chapter", section nullAttr 0) , ("chapter*", section ("",["unnumbered"],[]) 0) , ("section", section nullAttr 1) , ("section*", section ("",["unnumbered"],[]) 1) , ("subsection", section nullAttr 2) , ("subsection*", section ("",["unnumbered"],[]) 2) , ("subsubsection", section nullAttr 3) , ("subsubsection*", section ("",["unnumbered"],[]) 3) , ("paragraph", section nullAttr 4) , ("paragraph*", section ("",["unnumbered"],[]) 4) , ("subparagraph", section nullAttr 5) , ("subparagraph*", section ("",["unnumbered"],[]) 5) -- beamer slides , ("frametitle", section nullAttr 3) , ("framesubtitle", section nullAttr 4) -- letters , ("opening", (para . trimInlines) <$> (skipopts *> tok)) , ("closing", skipopts *> closing) -- memoir , ("plainbreak", braced >> pure horizontalRule) , ("plainbreak*", braced >> pure horizontalRule) , ("fancybreak", braced >> pure horizontalRule) , ("fancybreak*", braced >> pure horizontalRule) , ("plainfancybreak", braced >> braced >> braced >> pure horizontalRule) , ("plainfancybreak*", braced >> braced >> braced >> pure horizontalRule) , ("pfbreak", pure horizontalRule) , ("pfbreak*", pure horizontalRule) -- , ("hrule", pure horizontalRule) , ("strut", pure mempty) , ("rule", skipopts *> tok *> tok *> pure horizontalRule) , ("item", looseItem) , ("documentclass", skipopts *> braced *> preamble) , ("centerline", (para . trimInlines) <$> (skipopts *> tok)) , ("caption", mempty <$ setCaption) , ("bibliography", mempty <$ (skipopts *> braced >>= addMeta "bibliography" . splitBibs . untokenize)) , ("addbibresource", mempty <$ (skipopts *> braced >>= addMeta "bibliography" . splitBibs . untokenize)) , ("endinput", mempty <$ skipMany tok) -- includes , ("lstinputlisting", inputListing) , ("inputminted", inputMinted) , ("graphicspath", graphicsPath) -- polyglossia , ("setdefaultlanguage", setDefaultLanguage) , ("setmainlanguage", setDefaultLanguage) -- hyperlink , ("hypertarget", hypertargetBlock) -- LaTeX colors , ("textcolor", coloredBlock "color") , ("colorbox", coloredBlock "background-color") -- csquotes , ("blockquote", blockquote False Nothing) , ("blockcquote", blockquote True Nothing) , ("foreignblockquote", braced >>= blockquote False . Just . untokenize) , ("foreignblockcquote", braced >>= blockquote True . Just . untokenize) , ("hyphenblockquote", braced >>= blockquote False . Just . untokenize) , ("hyphenblockcquote", braced >>= blockquote True . Just . untokenize) -- include , ("include", rawBlockOr "include" $ include "include") , ("input", rawBlockOr "input" $ include "input") , ("subfile", rawBlockOr "subfile" $ include "subfile") , ("usepackage", rawBlockOr "usepackage" $ include "usepackage") -- preamble , ("PackageError", mempty <$ (braced >> braced >> braced)) -- epigraph package , ("epigraph", epigraph) ] environments :: PandocMonad m => M.Map Text (LP m Blocks) environments = M.fromList [ ("document", env "document" blocks) , ("abstract", mempty <$ (env "abstract" blocks >>= addMeta "abstract")) , ("sloppypar", env "sloppypar" $ blocks) , ("letter", env "letter" letterContents) , ("minipage", env "minipage" $ skipopts *> spaces *> optional braced *> spaces *> blocks) , ("figure", env "figure" $ skipopts *> figure) , ("subfigure", env "subfigure" $ skipopts *> tok *> figure) , ("center", env "center" blocks) , ("longtable", env "longtable" $ resetCaption *> simpTable "longtable" False >>= addTableCaption) , ("table", env "table" $ skipopts *> resetCaption *> blocks >>= addTableCaption) , ("tabular*", env "tabular*" $ simpTable "tabular*" True) , ("tabularx", env "tabularx" $ simpTable "tabularx" True) , ("tabular", env "tabular" $ simpTable "tabular" False) , ("quote", blockQuote <$> env "quote" blocks) , ("quotation", blockQuote <$> env "quotation" blocks) , ("verse", blockQuote <$> env "verse" blocks) , ("itemize", bulletList <$> listenv "itemize" (many item)) , ("description", definitionList <$> listenv "description" (many descItem)) , ("enumerate", orderedList') , ("alltt", alltt <$> env "alltt" blocks) , ("code", guardEnabled Ext_literate_haskell *> (codeBlockWith ("",["haskell","literate"],[]) <$> verbEnv "code")) , ("comment", mempty <$ verbEnv "comment") , ("verbatim", codeBlock <$> verbEnv "verbatim") , ("Verbatim", fancyverbEnv "Verbatim") , ("BVerbatim", fancyverbEnv "BVerbatim") , ("lstlisting", do attr <- parseListingsOptions <$> option [] keyvals codeBlockWith attr <$> verbEnv "lstlisting") , ("minted", minted) , ("obeylines", obeylines) , ("tikzpicture", rawVerbEnv "tikzpicture") , ("tikzcd", rawVerbEnv "tikzcd") , ("lilypond", rawVerbEnv "lilypond") , ("ly", rawVerbEnv "ly") -- etoolbox , ("ifstrequal", ifstrequal) , ("newtoggle", braced >>= newToggle) , ("toggletrue", braced >>= setToggle True) , ("togglefalse", braced >>= setToggle False) , ("iftoggle", try $ ifToggle >> block) ] environment :: PandocMonad m => LP m Blocks environment = try $ do controlSeq "begin" name <- untokenize <$> braced M.findWithDefault mzero name environments <|> if M.member name (inlineEnvironments :: M.Map Text (LP PandocPure Inlines)) then mzero else try (rawEnv name) <|> rawVerbEnv name env :: PandocMonad m => Text -> LP m a -> LP m a env name p = p <* end_ name rawEnv :: PandocMonad m => Text -> LP m Blocks rawEnv name = do exts <- getOption readerExtensions let parseRaw = extensionEnabled Ext_raw_tex exts rawOptions <- mconcat <$> many rawopt let beginCommand = "\\begin{" <> name <> "}" <> rawOptions pos1 <- getPosition (bs, raw) <- withRaw $ env name blocks if parseRaw then return $ rawBlock "latex" $ beginCommand <> untokenize raw else do report $ SkippedContent beginCommand pos1 pos2 <- getPosition report $ SkippedContent ("\\end{" <> name <> "}") pos2 return bs rawVerbEnv :: PandocMonad m => Text -> LP m Blocks rawVerbEnv name = do pos <- getPosition (_, raw) <- withRaw $ verbEnv name let raw' = "\\begin{" <> name <> "}" <> untokenize raw exts <- getOption readerExtensions let parseRaw = extensionEnabled Ext_raw_tex exts if parseRaw then return $ rawBlock "latex" raw' else do report $ SkippedContent raw' pos return mempty verbEnv :: PandocMonad m => Text -> LP m Text verbEnv name = withVerbatimMode $ do optional blankline res <- manyTill anyTok (end_ name) return $ stripTrailingNewline $ untokenize $ res -- Strip single final newline and any spaces following it. -- Input is unchanged if it doesn't end with newline + -- optional spaces. stripTrailingNewline :: Text -> Text stripTrailingNewline t = let (b, e) = T.breakOnEnd "\n" t in if T.all (== ' ') e then T.dropEnd 1 b else t fancyverbEnv :: PandocMonad m => Text -> LP m Blocks fancyverbEnv name = do options <- option [] keyvals let kvs = [ (if k == "firstnumber" then "startFrom" else k, v) | (k,v) <- options ] let classes = [ "numberLines" | lookup "numbers" options == Just "left" ] let attr = ("",classes,kvs) codeBlockWith attr <$> verbEnv name obeylines :: PandocMonad m => LP m Blocks obeylines = para . fromList . removeLeadingTrailingBreaks . walk softBreakToHard . toList <$> env "obeylines" inlines where softBreakToHard SoftBreak = LineBreak softBreakToHard x = x removeLeadingTrailingBreaks = reverse . dropWhile isLineBreak . reverse . dropWhile isLineBreak isLineBreak LineBreak = True isLineBreak _ = False minted :: PandocMonad m => LP m Blocks minted = do attr <- mintedAttr codeBlockWith attr <$> verbEnv "minted" mintedAttr :: PandocMonad m => LP m Attr mintedAttr = do options <- option [] keyvals lang <- untokenize <$> braced let kvs = [ (if k == "firstnumber" then "startFrom" else k, v) | (k,v) <- options ] let classes = [ lang | not (T.null lang) ] ++ [ "numberLines" | lookup "linenos" options == Just "true" ] return ("",classes,kvs) inputMinted :: PandocMonad m => LP m Blocks inputMinted = do pos <- getPosition attr <- mintedAttr f <- T.filter (/='"') . untokenize <$> braced dirs <- (map T.unpack . splitTextBy (==':') . fromMaybe ".") <$> lookupEnv "TEXINPUTS" mbCode <- readFileFromDirs dirs (T.unpack f) rawcode <- case mbCode of Just s -> return s Nothing -> do report $ CouldNotLoadIncludeFile f pos return "" return $ B.codeBlockWith attr rawcode letterContents :: PandocMonad m => LP m Blocks letterContents = do bs <- blocks st <- getState -- add signature (author) and address (title) let addr = case lookupMeta "address" (sMeta st) of Just (MetaBlocks [Plain xs]) -> para $ trimInlines $ fromList xs _ -> mempty return $ addr <> bs -- sig added by \closing figure :: PandocMonad m => LP m Blocks figure = try $ do resetCaption blocks >>= addImageCaption addImageCaption :: PandocMonad m => Blocks -> LP m Blocks addImageCaption = walkM go where go (Image attr@(_, cls, kvs) alt (src,tit)) | not ("fig:" `T.isPrefixOf` tit) = do st <- getState let (alt', tit') = case sCaption st of Just ils -> (toList ils, "fig:" <> tit) Nothing -> (alt, tit) attr' = case sLastLabel st of Just lab -> (lab, cls, kvs) Nothing -> attr case attr' of ("", _, _) -> return () (ident, _, _) -> do num <- getNextNumber sLastFigureNum setState st{ sLastFigureNum = num , sLabels = M.insert ident [Str (renderDottedNum num)] (sLabels st) } return $ Image attr' alt' (src, tit') go x = return x getNextNumber :: Monad m => (LaTeXState -> DottedNum) -> LP m DottedNum getNextNumber getCurrentNum = do st <- getState let chapnum = case sLastHeaderNum st of DottedNum (n:_) | sHasChapters st -> Just n _ -> Nothing return . DottedNum $ case getCurrentNum st of DottedNum [m,n] -> case chapnum of Just m' | m' == m -> [m, n+1] | otherwise -> [m', 1] Nothing -> [1] -- shouldn't happen DottedNum [n] -> case chapnum of Just m -> [m, 1] Nothing -> [n + 1] _ -> case chapnum of Just n -> [n, 1] Nothing -> [1] coloredBlock :: PandocMonad m => Text -> LP m Blocks coloredBlock stylename = try $ do skipopts color <- braced notFollowedBy (grouped inline) let constructor = divWith ("",[],[("style",stylename <> ": " <> untokenize color)]) constructor <$> grouped block graphicsPath :: PandocMonad m => LP m Blocks graphicsPath = do ps <- map (T.unpack . untokenize) <$> (bgroup *> spaces *> manyTill (braced <* spaces) egroup) getResourcePath >>= setResourcePath . (<> ps) return mempty splitBibs :: Text -> [Inlines] splitBibs = map (str . T.pack . flip replaceExtension "bib" . T.unpack . trim) . splitTextBy (==',') alltt :: Blocks -> Blocks alltt = walk strToCode where strToCode (Str s) = Code nullAttr s strToCode Space = RawInline (Format "latex") "\\ " strToCode SoftBreak = LineBreak strToCode x = x parseListingsOptions :: [(Text, Text)] -> Attr parseListingsOptions options = let kvs = [ (if k == "firstnumber" then "startFrom" else k, v) | (k,v) <- options ] classes = [ "numberLines" | lookup "numbers" options == Just "left" ] ++ maybeToList (listingsLanguage options) in (fromMaybe "" (lookup "label" options), classes, kvs) inputListing :: PandocMonad m => LP m Blocks inputListing = do pos <- getPosition options <- option [] keyvals f <- T.filter (/='"') . untokenize <$> braced dirs <- (map T.unpack . splitTextBy (==':') . fromMaybe ".") <$> lookupEnv "TEXINPUTS" mbCode <- readFileFromDirs dirs (T.unpack f) codeLines <- case mbCode of Just s -> return $ T.lines s Nothing -> do report $ CouldNotLoadIncludeFile f pos return [] let (ident,classes,kvs) = parseListingsOptions options let classes' = (case listingsLanguage options of Nothing -> (take 1 (languagesByExtension (T.pack $ takeExtension $ T.unpack f)) <>) Just _ -> id) classes let firstline = fromMaybe 1 $ lookup "firstline" options >>= safeRead let lastline = fromMaybe (length codeLines) $ lookup "lastline" options >>= safeRead let codeContents = T.intercalate "\n" $ take (1 + lastline - firstline) $ drop (firstline - 1) codeLines return $ codeBlockWith (ident,classes',kvs) codeContents -- lists item :: PandocMonad m => LP m Blocks item = void blocks *> controlSeq "item" *> skipopts *> blocks descItem :: PandocMonad m => LP m (Inlines, [Blocks]) descItem = do blocks -- skip blocks before item controlSeq "item" sp ils <- opt bs <- blocks return (ils, [bs]) listenv :: PandocMonad m => Text -> LP m a -> LP m a listenv name p = try $ do oldInListItem <- sInListItem `fmap` getState updateState $ \st -> st{ sInListItem = True } res <- env name p updateState $ \st -> st{ sInListItem = oldInListItem } return res orderedList' :: PandocMonad m => LP m Blocks orderedList' = try $ do spaces let markerSpec = do symbol '[' ts <- untokenize <$> manyTill anyTok (symbol ']') case runParser anyOrderedListMarker def "option" ts of Right r -> return r Left _ -> do pos <- getPosition report $ SkippedContent ("[" <> ts <> "]") pos return (1, DefaultStyle, DefaultDelim) (_, style, delim) <- option (1, DefaultStyle, DefaultDelim) markerSpec spaces optional $ try $ controlSeq "setlength" *> grouped (count 1 $ controlSeq "itemindent") *> braced spaces start <- option 1 $ try $ do pos <- getPosition controlSeq "setcounter" ctr <- untokenize <$> braced guard $ "enum" `T.isPrefixOf` ctr guard $ T.all (`elem` ['i','v']) (T.drop 4 ctr) sp num <- untokenize <$> braced case safeRead num of Just i -> return (i + 1 :: Int) Nothing -> do report $ SkippedContent ("\\setcounter{" <> ctr <> "}{" <> num <> "}") pos return 1 bs <- listenv "enumerate" (many item) return $ orderedListWith (start, style, delim) bs -- tables hline :: PandocMonad m => LP m () hline = try $ do spaces controlSeq "hline" <|> -- booktabs rules: controlSeq "toprule" <|> controlSeq "bottomrule" <|> controlSeq "midrule" <|> controlSeq "endhead" <|> controlSeq "endfirsthead" spaces optional opt return () lbreak :: PandocMonad m => LP m Tok lbreak = (controlSeq "\\" <|> controlSeq "tabularnewline") <* skipopts <* spaces amp :: PandocMonad m => LP m Tok amp = symbol '&' -- Split a Word into individual Symbols (for parseAligns) splitWordTok :: PandocMonad m => LP m () splitWordTok = do inp <- getInput case inp of (Tok spos Word t : rest) -> setInput $ map (Tok spos Symbol . T.singleton) (T.unpack t) <> rest _ -> return () parseAligns :: PandocMonad m => LP m [(Alignment, Double, ([Tok], [Tok]))] parseAligns = try $ do let maybeBar = skipMany (try $ sp *> (() <$ symbol '|' <|> () <$ (symbol '@' >> braced))) let cAlign = AlignCenter <$ symbol 'c' let lAlign = AlignLeft <$ symbol 'l' let rAlign = AlignRight <$ symbol 'r' let parAlign = AlignLeft <$ symbol 'p' -- aligns from tabularx let xAlign = AlignLeft <$ symbol 'X' let mAlign = AlignLeft <$ symbol 'm' let bAlign = AlignLeft <$ symbol 'b' let alignChar = splitWordTok *> ( cAlign <|> lAlign <|> rAlign <|> parAlign <|> xAlign <|> mAlign <|> bAlign ) let alignPrefix = symbol '>' >> braced let alignSuffix = symbol '<' >> braced let colWidth = try $ do symbol '{' ds <- trim . untokenize <$> manyTill anyTok (controlSeq "linewidth") spaces symbol '}' case safeRead ds of Just w -> return w Nothing -> return 0.0 let alignSpec = do pref <- option [] alignPrefix spaces al <- alignChar width <- colWidth <|> option 0.0 (do s <- untokenize <$> braced pos <- getPosition report $ SkippedContent s pos return 0.0) spaces suff <- option [] alignSuffix return (al, width, (pref, suff)) let starAlign = do -- '*{2}{r}' == 'rr', we just expand like a macro symbol '*' spaces ds <- trim . untokenize <$> braced spaces spec <- braced case safeRead ds of Just n -> getInput >>= setInput . (mconcat (replicate n spec) ++) Nothing -> Prelude.fail $ "Could not parse " <> T.unpack ds <> " as number" bgroup spaces maybeBar aligns' <- many $ try $ spaces >> optional starAlign >> (alignSpec <* maybeBar) spaces egroup spaces return aligns' parseTableRow :: PandocMonad m => Text -- ^ table environment name -> [([Tok], [Tok])] -- ^ pref/suffixes -> LP m [Blocks] parseTableRow envname prefsufs = do notFollowedBy (spaces *> end_ envname) let cols = length prefsufs -- add prefixes and suffixes in token stream: let celltoks (pref, suff) = do prefpos <- getPosition contents <- mconcat <$> many ( snd <$> withRaw (controlSeq "parbox" >> parbox) -- #5711 <|> (do notFollowedBy (() <$ amp <|> () <$ lbreak <|> end_ envname) count 1 anyTok) ) suffpos <- getPosition option [] (count 1 amp) return $ map (setpos prefpos) pref ++ contents ++ map (setpos suffpos) suff rawcells <- mapM celltoks prefsufs oldInput <- getInput cells <- mapM (\ts -> setInput ts >> parseTableCell) rawcells setInput oldInput spaces let numcells = length cells guard $ numcells <= cols && numcells >= 1 guard $ cells /= [mempty] -- note: a & b in a three-column table leaves an empty 3rd cell: return $ cells ++ replicate (cols - numcells) mempty parseTableCell :: PandocMonad m => LP m Blocks parseTableCell = do let plainify bs = case toList bs of [Para ils] -> plain (fromList ils) _ -> bs updateState $ \st -> st{ sInTableCell = True } cells <- plainify <$> blocks updateState $ \st -> st{ sInTableCell = False } return cells simpTable :: PandocMonad m => Text -> Bool -> LP m Blocks simpTable envname hasWidthParameter = try $ do when hasWidthParameter $ () <$ (spaces >> tok) skipopts colspecs <- parseAligns let (aligns, widths, prefsufs) = unzip3 colspecs let cols = length colspecs optional $ controlSeq "caption" *> setCaption spaces optional label spaces optional lbreak spaces skipMany hline spaces header' <- option [] $ try (parseTableRow envname prefsufs <* lbreak <* many1 hline) spaces rows <- sepEndBy (parseTableRow envname prefsufs) (lbreak <* optional (skipMany hline)) spaces optional $ controlSeq "caption" *> setCaption spaces optional label spaces optional lbreak spaces let header'' = if null header' then replicate cols mempty else header' lookAhead $ controlSeq "end" -- make sure we're at end return $ table mempty (zip aligns widths) header'' rows addTableCaption :: PandocMonad m => Blocks -> LP m Blocks addTableCaption = walkM go where go (Table c als ws hs rs) = do st <- getState let mblabel = sLastLabel st capt <- case (sCaption st, mblabel) of (Just ils, Nothing) -> return $ toList ils (Just ils, Just lab) -> do num <- getNextNumber sLastTableNum setState st{ sLastTableNum = num , sLabels = M.insert lab [Str (renderDottedNum num)] (sLabels st) } return $ toList ils -- add number?? (Nothing, _) -> return c return $ maybe id (\ident -> Div (ident, [], []) . (:[])) mblabel $ Table capt als ws hs rs go x = return x block :: PandocMonad m => LP m Blocks block = do res <- (mempty <$ spaces1) <|> environment <|> macroDef (rawBlock "latex") <|> blockCommand <|> paragraph <|> grouped block trace (T.take 60 $ tshow $ B.toList res) return res blocks :: PandocMonad m => LP m Blocks blocks = mconcat <$> many block setDefaultLanguage :: PandocMonad m => LP m Blocks setDefaultLanguage = do o <- option "" $ T.filter (\c -> c /= '[' && c /= ']') <$> rawopt polylang <- untokenize <$> braced case M.lookup polylang polyglossiaLangToBCP47 of Nothing -> return mempty -- TODO mzero? warning? Just langFunc -> do let l = langFunc o setTranslations l updateState $ setMeta "lang" $ str (renderLang l) return mempty pandoc-2.9.2.1/src/Text/Pandoc/Readers/LaTeX/000077500000000000000000000000001363630463000204145ustar00rootroot00000000000000pandoc-2.9.2.1/src/Text/Pandoc/Readers/LaTeX/Lang.hs000066400000000000000000000145121363630463000216340ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.LaTeX.Lang Copyright : Copyright (C) 2018-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Functions for parsing polyglossia and babel language specifiers to BCP47 'Lang'. -} module Text.Pandoc.Readers.LaTeX.Lang ( polyglossiaLangToBCP47 , babelLangToBCP47 ) where import qualified Data.Map as M import qualified Data.Text as T import Text.Pandoc.BCP47 (Lang(..)) polyglossiaLangToBCP47 :: M.Map T.Text (T.Text -> Lang) polyglossiaLangToBCP47 = M.fromList [ ("arabic", \o -> case T.filter (/=' ') o of "locale=algeria" -> Lang "ar" "" "DZ" [] "locale=mashriq" -> Lang "ar" "" "SY" [] "locale=libya" -> Lang "ar" "" "LY" [] "locale=morocco" -> Lang "ar" "" "MA" [] "locale=mauritania" -> Lang "ar" "" "MR" [] "locale=tunisia" -> Lang "ar" "" "TN" [] _ -> Lang "ar" "" "" []) , ("german", \o -> case T.filter (/=' ') o of "spelling=old" -> Lang "de" "" "DE" ["1901"] "variant=austrian,spelling=old" -> Lang "de" "" "AT" ["1901"] "variant=austrian" -> Lang "de" "" "AT" [] "variant=swiss,spelling=old" -> Lang "de" "" "CH" ["1901"] "variant=swiss" -> Lang "de" "" "CH" [] _ -> Lang "de" "" "" []) , ("lsorbian", \_ -> Lang "dsb" "" "" []) , ("greek", \o -> case T.filter (/=' ') o of "variant=poly" -> Lang "el" "" "polyton" [] "variant=ancient" -> Lang "grc" "" "" [] _ -> Lang "el" "" "" []) , ("english", \o -> case T.filter (/=' ') o of "variant=australian" -> Lang "en" "" "AU" [] "variant=canadian" -> Lang "en" "" "CA" [] "variant=british" -> Lang "en" "" "GB" [] "variant=newzealand" -> Lang "en" "" "NZ" [] "variant=american" -> Lang "en" "" "US" [] _ -> Lang "en" "" "" []) , ("usorbian", \_ -> Lang "hsb" "" "" []) , ("latin", \o -> case T.filter (/=' ') o of "variant=classic" -> Lang "la" "" "" ["x-classic"] _ -> Lang "la" "" "" []) , ("slovenian", \_ -> Lang "sl" "" "" []) , ("serbianc", \_ -> Lang "sr" "cyrl" "" []) , ("pinyin", \_ -> Lang "zh" "Latn" "" ["pinyin"]) , ("afrikaans", \_ -> Lang "af" "" "" []) , ("amharic", \_ -> Lang "am" "" "" []) , ("assamese", \_ -> Lang "as" "" "" []) , ("asturian", \_ -> Lang "ast" "" "" []) , ("bulgarian", \_ -> Lang "bg" "" "" []) , ("bengali", \_ -> Lang "bn" "" "" []) , ("tibetan", \_ -> Lang "bo" "" "" []) , ("breton", \_ -> Lang "br" "" "" []) , ("catalan", \_ -> Lang "ca" "" "" []) , ("welsh", \_ -> Lang "cy" "" "" []) , ("czech", \_ -> Lang "cs" "" "" []) , ("coptic", \_ -> Lang "cop" "" "" []) , ("danish", \_ -> Lang "da" "" "" []) , ("divehi", \_ -> Lang "dv" "" "" []) , ("esperanto", \_ -> Lang "eo" "" "" []) , ("spanish", \_ -> Lang "es" "" "" []) , ("estonian", \_ -> Lang "et" "" "" []) , ("basque", \_ -> Lang "eu" "" "" []) , ("farsi", \_ -> Lang "fa" "" "" []) , ("finnish", \_ -> Lang "fi" "" "" []) , ("french", \_ -> Lang "fr" "" "" []) , ("friulan", \_ -> Lang "fur" "" "" []) , ("irish", \_ -> Lang "ga" "" "" []) , ("scottish", \_ -> Lang "gd" "" "" []) , ("ethiopic", \_ -> Lang "gez" "" "" []) , ("galician", \_ -> Lang "gl" "" "" []) , ("hebrew", \_ -> Lang "he" "" "" []) , ("hindi", \_ -> Lang "hi" "" "" []) , ("croatian", \_ -> Lang "hr" "" "" []) , ("magyar", \_ -> Lang "hu" "" "" []) , ("armenian", \_ -> Lang "hy" "" "" []) , ("interlingua", \_ -> Lang "ia" "" "" []) , ("indonesian", \_ -> Lang "id" "" "" []) , ("icelandic", \_ -> Lang "is" "" "" []) , ("italian", \_ -> Lang "it" "" "" []) , ("japanese", \_ -> Lang "jp" "" "" []) , ("khmer", \_ -> Lang "km" "" "" []) , ("kurmanji", \_ -> Lang "kmr" "" "" []) , ("kannada", \_ -> Lang "kn" "" "" []) , ("korean", \_ -> Lang "ko" "" "" []) , ("lao", \_ -> Lang "lo" "" "" []) , ("lithuanian", \_ -> Lang "lt" "" "" []) , ("latvian", \_ -> Lang "lv" "" "" []) , ("malayalam", \_ -> Lang "ml" "" "" []) , ("mongolian", \_ -> Lang "mn" "" "" []) , ("marathi", \_ -> Lang "mr" "" "" []) , ("dutch", \_ -> Lang "nl" "" "" []) , ("nynorsk", \_ -> Lang "nn" "" "" []) , ("norsk", \_ -> Lang "no" "" "" []) , ("nko", \_ -> Lang "nqo" "" "" []) , ("occitan", \_ -> Lang "oc" "" "" []) , ("panjabi", \_ -> Lang "pa" "" "" []) , ("polish", \_ -> Lang "pl" "" "" []) , ("piedmontese", \_ -> Lang "pms" "" "" []) , ("portuguese", \_ -> Lang "pt" "" "" []) , ("romansh", \_ -> Lang "rm" "" "" []) , ("romanian", \_ -> Lang "ro" "" "" []) , ("russian", \_ -> Lang "ru" "" "" []) , ("sanskrit", \_ -> Lang "sa" "" "" []) , ("samin", \_ -> Lang "se" "" "" []) , ("slovak", \_ -> Lang "sk" "" "" []) , ("albanian", \_ -> Lang "sq" "" "" []) , ("serbian", \_ -> Lang "sr" "" "" []) , ("swedish", \_ -> Lang "sv" "" "" []) , ("syriac", \_ -> Lang "syr" "" "" []) , ("tamil", \_ -> Lang "ta" "" "" []) , ("telugu", \_ -> Lang "te" "" "" []) , ("thai", \_ -> Lang "th" "" "" []) , ("turkmen", \_ -> Lang "tk" "" "" []) , ("turkish", \_ -> Lang "tr" "" "" []) , ("ukrainian", \_ -> Lang "uk" "" "" []) , ("urdu", \_ -> Lang "ur" "" "" []) , ("vietnamese", \_ -> Lang "vi" "" "" []) ] babelLangToBCP47 :: T.Text -> Maybe Lang babelLangToBCP47 s = case s of "austrian" -> Just $ Lang "de" "" "AT" ["1901"] "naustrian" -> Just $ Lang "de" "" "AT" [] "swissgerman" -> Just $ Lang "de" "" "CH" ["1901"] "nswissgerman" -> Just $ Lang "de" "" "CH" [] "german" -> Just $ Lang "de" "" "DE" ["1901"] "ngerman" -> Just $ Lang "de" "" "DE" [] "lowersorbian" -> Just $ Lang "dsb" "" "" [] "uppersorbian" -> Just $ Lang "hsb" "" "" [] "polutonikogreek" -> Just $ Lang "el" "" "" ["polyton"] "slovene" -> Just $ Lang "sl" "" "" [] "australian" -> Just $ Lang "en" "" "AU" [] "canadian" -> Just $ Lang "en" "" "CA" [] "british" -> Just $ Lang "en" "" "GB" [] "newzealand" -> Just $ Lang "en" "" "NZ" [] "american" -> Just $ Lang "en" "" "US" [] "classiclatin" -> Just $ Lang "la" "" "" ["x-classic"] _ -> fmap ($ "") $ M.lookup s polyglossiaLangToBCP47 pandoc-2.9.2.1/src/Text/Pandoc/Readers/LaTeX/Parsing.hs000066400000000000000000000615311363630463000223610ustar00rootroot00000000000000{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Text.Pandoc.Readers.LaTeX.Parsing Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable General parsing types and functions for LaTeX. -} module Text.Pandoc.Readers.LaTeX.Parsing ( DottedNum(..) , renderDottedNum , incrementDottedNum , LaTeXState(..) , defaultLaTeXState , LP , withVerbatimMode , rawLaTeXParser , applyMacros , tokenize , untokenize , untoken , totoks , toksToString , satisfyTok , doMacros , doMacros' , setpos , anyControlSeq , anySymbol , isNewlineTok , isWordTok , isArgTok , spaces , spaces1 , tokTypeIn , controlSeq , symbol , symbolIn , sp , whitespace , newlineTok , comment , anyTok , singleChar , specialChars , endline , blankline , primEscape , bgroup , egroup , grouped , braced , braced' , bracedUrl , bracedOrToken , bracketed , bracketedToks , parenWrapped , dimenarg , ignore , withRaw ) where import Control.Applicative (many, (<|>)) import Control.Monad import Control.Monad.Except (throwError) import Control.Monad.Trans (lift) import Data.Char (chr, isAlphaNum, isDigit, isLetter, ord) import Data.Default import Data.List (intercalate) import qualified Data.Map as M import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Builder import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Error (PandocError (PandocMacroLoop)) import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (blankline, many, mathDisplay, mathInline, space, spaces, withRaw, (<|>)) import Text.Pandoc.Readers.LaTeX.Types (ExpansionPoint (..), Macro (..), ArgSpec (..), Tok (..), TokType (..)) import Text.Pandoc.Shared import Text.Parsec.Pos -- import Debug.Trace newtype DottedNum = DottedNum [Int] deriving (Show) renderDottedNum :: DottedNum -> T.Text renderDottedNum (DottedNum xs) = T.pack $ intercalate "." (map show xs) incrementDottedNum :: Int -> DottedNum -> DottedNum incrementDottedNum level (DottedNum ns) = DottedNum $ case reverse (take level (ns ++ repeat 0)) of (x:xs) -> reverse (x+1 : xs) [] -> [] -- shouldn't happen data LaTeXState = LaTeXState{ sOptions :: ReaderOptions , sMeta :: Meta , sQuoteContext :: QuoteContext , sMacros :: M.Map Text Macro , sContainers :: [Text] , sLogMessages :: [LogMessage] , sIdentifiers :: Set.Set Text , sVerbatimMode :: Bool , sCaption :: Maybe Inlines , sInListItem :: Bool , sInTableCell :: Bool , sLastHeaderNum :: DottedNum , sLastFigureNum :: DottedNum , sLastTableNum :: DottedNum , sLastLabel :: Maybe Text , sLabels :: M.Map Text [Inline] , sHasChapters :: Bool , sToggles :: M.Map Text Bool , sExpanded :: Bool } deriving Show defaultLaTeXState :: LaTeXState defaultLaTeXState = LaTeXState{ sOptions = def , sMeta = nullMeta , sQuoteContext = NoQuote , sMacros = M.empty , sContainers = [] , sLogMessages = [] , sIdentifiers = Set.empty , sVerbatimMode = False , sCaption = Nothing , sInListItem = False , sInTableCell = False , sLastHeaderNum = DottedNum [] , sLastFigureNum = DottedNum [] , sLastTableNum = DottedNum [] , sLastLabel = Nothing , sLabels = M.empty , sHasChapters = False , sToggles = M.empty , sExpanded = False } instance PandocMonad m => HasQuoteContext LaTeXState m where getQuoteContext = sQuoteContext <$> getState withQuoteContext context parser = do oldState <- getState let oldQuoteContext = sQuoteContext oldState setState oldState { sQuoteContext = context } result <- parser newState <- getState setState newState { sQuoteContext = oldQuoteContext } return result instance HasLogMessages LaTeXState where addLogMessage msg st = st{ sLogMessages = msg : sLogMessages st } getLogMessages st = reverse $ sLogMessages st instance HasIdentifierList LaTeXState where extractIdentifierList = sIdentifiers updateIdentifierList f st = st{ sIdentifiers = f $ sIdentifiers st } instance HasIncludeFiles LaTeXState where getIncludeFiles = sContainers addIncludeFile f s = s{ sContainers = f : sContainers s } dropLatestIncludeFile s = s { sContainers = drop 1 $ sContainers s } instance HasMacros LaTeXState where extractMacros st = sMacros st updateMacros f st = st{ sMacros = f (sMacros st) } instance HasReaderOptions LaTeXState where extractReaderOptions = sOptions instance HasMeta LaTeXState where setMeta field val st = st{ sMeta = setMeta field val $ sMeta st } deleteMeta field st = st{ sMeta = deleteMeta field $ sMeta st } instance Default LaTeXState where def = defaultLaTeXState type LP m = ParserT [Tok] LaTeXState m withVerbatimMode :: PandocMonad m => LP m a -> LP m a withVerbatimMode parser = do alreadyVerbatimMode <- sVerbatimMode <$> getState if alreadyVerbatimMode then parser else do updateState $ \st -> st{ sVerbatimMode = True } result <- parser updateState $ \st -> st{ sVerbatimMode = False } return result rawLaTeXParser :: (PandocMonad m, HasMacros s, HasReaderOptions s) => [Tok] -> Bool -> LP m a -> LP m a -> ParserT Text s m (a, Text) rawLaTeXParser toks retokenize parser valParser = do pstate <- getState let lstate = def{ sOptions = extractReaderOptions pstate } let lstate' = lstate { sMacros = extractMacros pstate } let rawparser = (,) <$> withRaw valParser <*> getState res' <- lift $ runParserT (snd <$> withRaw parser) lstate "chunk" toks case res' of Left _ -> mzero Right toks' -> do res <- lift $ runParserT (do when retokenize $ do -- retokenize, applying macros doMacros ts <- many (satisfyTok (const True)) setInput ts rawparser) lstate' "chunk" toks' case res of Left _ -> mzero Right ((val, raw), st) -> do updateState (updateMacros (sMacros st <>)) _ <- takeP (T.length (untokenize toks')) let result = untokenize raw -- ensure we end with space if input did, see #4442 let result' = case reverse toks' of (Tok _ (CtrlSeq _) t : _) | " " `T.isSuffixOf` t , not (" " `T.isSuffixOf` result) -> result <> " " _ -> result return (val, result') applyMacros :: (PandocMonad m, HasMacros s, HasReaderOptions s) => Text -> ParserT Text s m Text applyMacros s = (guardDisabled Ext_latex_macros >> return s) <|> do let retokenize = untokenize <$> many (satisfyTok (const True)) pstate <- getState let lstate = def{ sOptions = extractReaderOptions pstate , sMacros = extractMacros pstate } res <- runParserT retokenize lstate "math" (tokenize "math" s) case res of Left e -> Prelude.fail (show e) Right s' -> return s' tokenize :: SourceName -> Text -> [Tok] tokenize sourcename = totoks (initialPos sourcename) totoks :: SourcePos -> Text -> [Tok] totoks pos t = case T.uncons t of Nothing -> [] Just (c, rest) | c == '\n' -> Tok pos Newline "\n" : totoks (setSourceColumn (incSourceLine pos 1) 1) rest | isSpaceOrTab c -> let (sps, rest') = T.span isSpaceOrTab t in Tok pos Spaces sps : totoks (incSourceColumn pos (T.length sps)) rest' | isAlphaNum c -> let (ws, rest') = T.span isAlphaNum t in Tok pos Word ws : totoks (incSourceColumn pos (T.length ws)) rest' | c == '%' -> let (cs, rest') = T.break (== '\n') rest in Tok pos Comment ("%" <> cs) : totoks (incSourceColumn pos (1 + T.length cs)) rest' | c == '\\' -> case T.uncons rest of Nothing -> [Tok pos (CtrlSeq " ") "\\"] Just (d, rest') | isLetterOrAt d -> -- \makeatletter is common in macro defs; -- ideally we should make tokenization sensitive -- to \makeatletter and \makeatother, but this is -- probably best for now let (ws, rest'') = T.span isLetterOrAt rest (ss, rest''') = T.span isSpaceOrTab rest'' in Tok pos (CtrlSeq ws) ("\\" <> ws <> ss) : totoks (incSourceColumn pos (1 + T.length ws + T.length ss)) rest''' | isSpaceOrTab d || d == '\n' -> let (w1, r1) = T.span isSpaceOrTab rest (w2, (w3, r3)) = case T.uncons r1 of Just ('\n', r2) -> (T.pack "\n", T.span isSpaceOrTab r2) _ -> (mempty, (mempty, r1)) ws = "\\" <> w1 <> w2 <> w3 in case T.uncons r3 of Just ('\n', _) -> Tok pos (CtrlSeq " ") ("\\" <> w1) : totoks (incSourceColumn pos (T.length ws)) r1 _ -> Tok pos (CtrlSeq " ") ws : totoks (incSourceColumn pos (T.length ws)) r3 | otherwise -> Tok pos (CtrlSeq (T.singleton d)) (T.pack [c,d]) : totoks (incSourceColumn pos 2) rest' | c == '#' -> let (t1, t2) = T.span (\d -> d >= '0' && d <= '9') rest in case safeRead t1 of Just i -> Tok pos (Arg i) ("#" <> t1) : totoks (incSourceColumn pos (1 + T.length t1)) t2 Nothing -> Tok pos Symbol "#" : totoks (incSourceColumn pos 1) t2 | c == '^' -> case T.uncons rest of Just ('^', rest') -> case T.uncons rest' of Just (d, rest'') | isLowerHex d -> case T.uncons rest'' of Just (e, rest''') | isLowerHex e -> Tok pos Esc2 (T.pack ['^','^',d,e]) : totoks (incSourceColumn pos 4) rest''' _ -> Tok pos Esc1 (T.pack ['^','^',d]) : totoks (incSourceColumn pos 3) rest'' | d < '\128' -> Tok pos Esc1 (T.pack ['^','^',d]) : totoks (incSourceColumn pos 3) rest'' _ -> Tok pos Symbol "^" : Tok (incSourceColumn pos 1) Symbol "^" : totoks (incSourceColumn pos 2) rest' _ -> Tok pos Symbol "^" : totoks (incSourceColumn pos 1) rest | otherwise -> Tok pos Symbol (T.singleton c) : totoks (incSourceColumn pos 1) rest isSpaceOrTab :: Char -> Bool isSpaceOrTab ' ' = True isSpaceOrTab '\t' = True isSpaceOrTab _ = False isLetterOrAt :: Char -> Bool isLetterOrAt '@' = True isLetterOrAt c = isLetter c isLowerHex :: Char -> Bool isLowerHex x = x >= '0' && x <= '9' || x >= 'a' && x <= 'f' untokenize :: [Tok] -> Text untokenize = foldr untokenAccum mempty untokenAccum :: Tok -> Text -> Text untokenAccum (Tok _ (CtrlSeq _) t) accum = -- insert space to prevent breaking a control sequence; see #5836 case (T.unsnoc t, T.uncons accum) of (Just (_,c), Just (d,_)) | isLetter c , isLetter d -> t <> " " <> accum _ -> t <> accum untokenAccum (Tok _ _ t) accum = t <> accum untoken :: Tok -> Text untoken t = untokenAccum t mempty toksToString :: [Tok] -> String toksToString = T.unpack . untokenize satisfyTok :: PandocMonad m => (Tok -> Bool) -> LP m Tok satisfyTok f = do doMacros -- apply macros on remaining input stream res <- tokenPrim (T.unpack . untoken) updatePos matcher updateState $ \st -> st{ sExpanded = False } return res where matcher t | f t = Just t | otherwise = Nothing updatePos :: SourcePos -> Tok -> [Tok] -> SourcePos updatePos _spos _ (Tok pos _ _ : _) = pos updatePos spos _ [] = incSourceColumn spos 1 doMacros :: PandocMonad m => LP m () doMacros = do expanded <- sExpanded <$> getState verbatimMode <- sVerbatimMode <$> getState unless (expanded || verbatimMode) $ do getInput >>= doMacros' 1 >>= setInput updateState $ \st -> st{ sExpanded = True } doMacros' :: PandocMonad m => Int -> [Tok] -> LP m [Tok] doMacros' n inp = case inp of Tok spos (CtrlSeq "begin") _ : Tok _ Symbol "{" : Tok _ Word name : Tok _ Symbol "}" : ts -> handleMacros n spos name ts Tok spos (CtrlSeq "end") _ : Tok _ Symbol "{" : Tok _ Word name : Tok _ Symbol "}" : ts -> handleMacros n spos ("end" <> name) ts Tok _ (CtrlSeq "expandafter") _ : t : ts -> combineTok t <$> doMacros' n ts Tok spos (CtrlSeq name) _ : ts -> handleMacros n spos name ts _ -> return inp <|> return inp where combineTok (Tok spos (CtrlSeq name) x) (Tok _ Word w : ts) | T.all isLetterOrAt w = Tok spos (CtrlSeq (name <> w)) (x1 <> w <> x2) : ts where (x1, x2) = T.break isSpaceOrTab x combineTok t ts = t:ts matchTok (Tok _ toktype txt) = satisfyTok (\(Tok _ toktype' txt') -> toktype == toktype' && txt == txt') matchPattern toks = try $ mapM_ matchTok toks getargs argmap [] = return argmap getargs argmap (Pattern toks : rest) = try $ do matchPattern toks getargs argmap rest getargs argmap (ArgNum i : Pattern toks : rest) = try $ do x <- mconcat <$> manyTill (braced <|> ((:[]) <$> anyTok)) (matchPattern toks) getargs (M.insert i x argmap) rest getargs argmap (ArgNum i : rest) = do x <- try $ spaces >> bracedOrToken getargs (M.insert i x argmap) rest addTok False args spos (Tok _ (Arg i) _) acc = case M.lookup i args of Nothing -> mzero Just xs -> foldr (addTok True args spos) acc xs -- see #4007 addTok _ _ spos (Tok _ (CtrlSeq x) txt) acc@(Tok _ Word _ : _) | not (T.null txt) , isLetter (T.last txt) = Tok spos (CtrlSeq x) (txt <> " ") : acc addTok _ _ spos t acc = setpos spos t : acc handleMacros n' spos name ts = do when (n' > 20) -- detect macro expansion loops $ throwError $ PandocMacroLoop name macros <- sMacros <$> getState case M.lookup name macros of Nothing -> mzero Just (Macro expansionPoint argspecs optarg newtoks) -> do let getargs' = do args <- case optarg of Nothing -> getargs M.empty argspecs Just o -> do x <- option o bracketedToks getargs (M.singleton 1 x) $ drop 1 argspecs rest <- getInput return (args, rest) lstate <- getState res <- lift $ runParserT getargs' lstate "args" ts case res of Left _ -> Prelude.fail $ "Could not parse arguments for " ++ T.unpack name Right (args, rest) -> do -- first boolean param is true if we're tokenizing -- an argument (in which case we don't want to -- expand #1 etc.) let result = foldr (addTok False args spos) rest newtoks case expansionPoint of ExpandWhenUsed -> doMacros' (n' + 1) result ExpandWhenDefined -> return result setpos :: SourcePos -> Tok -> Tok setpos spos (Tok _ tt txt) = Tok spos tt txt anyControlSeq :: PandocMonad m => LP m Tok anyControlSeq = satisfyTok isCtrlSeq isCtrlSeq :: Tok -> Bool isCtrlSeq (Tok _ (CtrlSeq _) _) = True isCtrlSeq _ = False anySymbol :: PandocMonad m => LP m Tok anySymbol = satisfyTok isSymbolTok isSymbolTok :: Tok -> Bool isSymbolTok (Tok _ Symbol _) = True isSymbolTok _ = False isWordTok :: Tok -> Bool isWordTok (Tok _ Word _) = True isWordTok _ = False isArgTok :: Tok -> Bool isArgTok (Tok _ (Arg _) _) = True isArgTok _ = False spaces :: PandocMonad m => LP m () spaces = skipMany (satisfyTok (tokTypeIn [Comment, Spaces, Newline])) spaces1 :: PandocMonad m => LP m () spaces1 = skipMany1 (satisfyTok (tokTypeIn [Comment, Spaces, Newline])) tokTypeIn :: [TokType] -> Tok -> Bool tokTypeIn toktypes (Tok _ tt _) = tt `elem` toktypes controlSeq :: PandocMonad m => Text -> LP m Tok controlSeq name = satisfyTok isNamed where isNamed (Tok _ (CtrlSeq n) _) = n == name isNamed _ = False symbol :: PandocMonad m => Char -> LP m Tok symbol c = satisfyTok isc where isc (Tok _ Symbol d) = case T.uncons d of Just (c',_) -> c == c' _ -> False isc _ = False symbolIn :: PandocMonad m => [Char] -> LP m Tok symbolIn cs = satisfyTok isInCs where isInCs (Tok _ Symbol d) = case T.uncons d of Just (c,_) -> c `elem` cs _ -> False isInCs _ = False sp :: PandocMonad m => LP m () sp = do optional $ skipMany (whitespace <|> comment) optional $ endline *> skipMany (whitespace <|> comment) whitespace :: PandocMonad m => LP m () whitespace = () <$ satisfyTok isSpaceTok isSpaceTok :: Tok -> Bool isSpaceTok (Tok _ Spaces _) = True isSpaceTok _ = False newlineTok :: PandocMonad m => LP m () newlineTok = () <$ satisfyTok isNewlineTok isNewlineTok :: Tok -> Bool isNewlineTok (Tok _ Newline _) = True isNewlineTok _ = False comment :: PandocMonad m => LP m () comment = () <$ satisfyTok isCommentTok isCommentTok :: Tok -> Bool isCommentTok (Tok _ Comment _) = True isCommentTok _ = False anyTok :: PandocMonad m => LP m Tok anyTok = satisfyTok (const True) singleChar :: PandocMonad m => LP m Tok singleChar = try $ do Tok pos toktype t <- satisfyTok (tokTypeIn [Word, Symbol]) guard $ not $ toktype == Symbol && T.any (`Set.member` specialChars) t if T.length t > 1 then do let (t1, t2) = (T.take 1 t, T.drop 1 t) inp <- getInput setInput $ Tok (incSourceColumn pos 1) toktype t2 : inp return $ Tok pos toktype t1 else return $ Tok pos toktype t specialChars :: Set.Set Char specialChars = Set.fromList "#$%&~_^\\{}" endline :: PandocMonad m => LP m () endline = try $ do newlineTok lookAhead anyTok notFollowedBy blankline blankline :: PandocMonad m => LP m () blankline = try $ skipMany whitespace *> newlineTok primEscape :: PandocMonad m => LP m Char primEscape = do Tok _ toktype t <- satisfyTok (tokTypeIn [Esc1, Esc2]) case toktype of Esc1 -> case T.uncons (T.drop 2 t) of Just (c, _) | c >= '\64' && c <= '\127' -> return (chr (ord c - 64)) | otherwise -> return (chr (ord c + 64)) Nothing -> Prelude.fail "Empty content of Esc1" Esc2 -> case safeRead ("0x" <> T.drop 2 t) of Just x -> return (chr x) Nothing -> Prelude.fail $ "Could not read: " ++ T.unpack t _ -> Prelude.fail "Expected an Esc1 or Esc2 token" -- should not happen bgroup :: PandocMonad m => LP m Tok bgroup = try $ do optional sp symbol '{' <|> controlSeq "bgroup" <|> controlSeq "begingroup" egroup :: PandocMonad m => LP m Tok egroup = symbol '}' <|> controlSeq "egroup" <|> controlSeq "endgroup" grouped :: (PandocMonad m, Monoid a) => LP m a -> LP m a grouped parser = try $ do bgroup -- first we check for an inner 'grouped', because -- {{a,b}} should be parsed the same as {a,b} try (grouped parser <* egroup) <|> (mconcat <$> manyTill parser egroup) braced' :: PandocMonad m => LP m Tok -> Int -> LP m [Tok] braced' getTok n = handleEgroup <|> handleBgroup <|> handleOther where handleEgroup = do t <- symbol '}' if n == 1 then return [] else (t:) <$> braced' getTok (n - 1) handleBgroup = do t <- symbol '{' (t:) <$> braced' getTok (n + 1) handleOther = do t <- getTok (t:) <$> braced' getTok n braced :: PandocMonad m => LP m [Tok] braced = symbol '{' *> braced' anyTok 1 -- URLs require special handling, because they can contain % -- characters. So we retonenize comments as we go... bracedUrl :: PandocMonad m => LP m [Tok] bracedUrl = bgroup *> braced' (retokenizeComment >> anyTok) 1 -- For handling URLs, which allow literal % characters... retokenizeComment :: PandocMonad m => LP m () retokenizeComment = (do Tok pos Comment txt <- satisfyTok isCommentTok let updPos (Tok pos' toktype' txt') = Tok (incSourceColumn (incSourceLine pos' (sourceLine pos - 1)) (sourceColumn pos)) toktype' txt' let newtoks = map updPos $ tokenize (sourceName pos) $ T.tail txt getInput >>= setInput . ((Tok pos Symbol "%" : newtoks) ++)) <|> return () bracedOrToken :: PandocMonad m => LP m [Tok] bracedOrToken = braced <|> ((:[]) <$> (anyControlSeq <|> singleChar)) bracketed :: PandocMonad m => Monoid a => LP m a -> LP m a bracketed parser = try $ do symbol '[' mconcat <$> manyTill parser (symbol ']') bracketedToks :: PandocMonad m => LP m [Tok] bracketedToks = do symbol '[' concat <$> manyTill ((snd <$> withRaw (try braced)) <|> count 1 anyTok) (symbol ']') parenWrapped :: PandocMonad m => Monoid a => LP m a -> LP m a parenWrapped parser = try $ do symbol '(' mconcat <$> manyTill parser (symbol ')') dimenarg :: PandocMonad m => LP m Text dimenarg = try $ do optional sp ch <- option False $ True <$ symbol '=' minus <- option "" $ "-" <$ symbol '-' Tok _ _ s1 <- satisfyTok isWordTok s2 <- option "" $ try $ do symbol '.' Tok _ _ t <- satisfyTok isWordTok return ("." <> t) let s = s1 <> s2 let (num, rest) = T.span (\c -> isDigit c || c == '.') s guard $ T.length num > 0 guard $ rest `elem` ["", "pt","pc","in","bp","cm","mm","dd","cc","sp"] return $ T.pack ['=' | ch] <> minus <> s ignore :: (Monoid a, PandocMonad m) => Text -> ParserT s u m a ignore raw = do pos <- getPosition report $ SkippedContent raw pos return mempty withRaw :: PandocMonad m => LP m a -> LP m (a, [Tok]) withRaw parser = do inp <- getInput result <- parser nxtpos <- option Nothing ((\(Tok pos' _ _) -> Just pos') <$> lookAhead anyTok) let raw = takeWhile (\(Tok pos _ _) -> maybe True (\p -> sourceName p /= sourceName pos || pos < p) nxtpos) inp return (result, raw) pandoc-2.9.2.1/src/Text/Pandoc/Readers/LaTeX/Types.hs000066400000000000000000000022231363630463000220530ustar00rootroot00000000000000{- | Module : Text.Pandoc.Readers.LaTeX.Types Copyright : Copyright (C) 2017-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Types for LaTeX tokens and macros. -} module Text.Pandoc.Readers.LaTeX.Types ( Tok(..) , TokType(..) , Macro(..) , ArgSpec(..) , ExpansionPoint(..) , SourcePos ) where import Data.Text (Text) import Text.Parsec.Pos (SourcePos) data TokType = CtrlSeq Text | Spaces | Newline | Symbol | Word | Comment | Esc1 | Esc2 | Arg Int deriving (Eq, Ord, Show) data Tok = Tok SourcePos TokType Text deriving (Eq, Ord, Show) data ExpansionPoint = ExpandWhenDefined | ExpandWhenUsed deriving (Eq, Ord, Show) data Macro = Macro ExpansionPoint [ArgSpec] (Maybe [Tok]) [Tok] deriving Show data ArgSpec = ArgNum Int | Pattern [Tok] deriving Show pandoc-2.9.2.1/src/Text/Pandoc/Readers/Man.hs000066400000000000000000000421551363630463000205150ustar00rootroot00000000000000{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Man Copyright : Copyright (C) 2018-2020 Yan Pashkovsky and John MacFarlane License : GNU GPL, version 2 or above Maintainer : Yan Pashkovsky Stability : WIP Portability : portable Conversion of man to 'Pandoc' document. -} module Text.Pandoc.Readers.Man (readMan) where import Data.Char (toLower) import Data.Default (Default) import Control.Monad (liftM, mzero, guard, void) import Control.Monad.Trans (lift) import Control.Monad.Except (throwError) import Data.Maybe (catMaybes, isJust) import Data.List (intersperse, intercalate) import qualified Data.Text as T import Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad(..), report) import Text.Pandoc.Error (PandocError (PandocParsecError)) import Text.Pandoc.Logging (LogMessage(..)) import Text.Pandoc.Options import Text.Pandoc.Parsing import Text.Pandoc.Walk (query) import Text.Pandoc.Shared (crFilter, mapLeft) import Text.Pandoc.Readers.Roff -- TODO explicit imports import Text.Parsec hiding (tokenPrim) import qualified Text.Parsec as Parsec import Text.Parsec.Pos (updatePosString, initialPos) import qualified Data.Foldable as Foldable data ManState = ManState { readerOptions :: ReaderOptions , metadata :: Meta , tableCellsPlain :: Bool } deriving Show instance Default ManState where def = ManState { readerOptions = def , metadata = nullMeta , tableCellsPlain = True } type ManParser m = ParserT [RoffToken] ManState m -- | Read man (troff) from an input string and return a Pandoc document. readMan :: PandocMonad m => ReaderOptions -> T.Text -> m Pandoc readMan opts txt = do tokenz <- lexRoff (initialPos "input") (crFilter txt) let state = def {readerOptions = opts} :: ManState eitherdoc <- readWithMTokens parseMan state (Foldable.toList . unRoffTokens $ tokenz) either throwError return eitherdoc readWithMTokens :: PandocMonad m => ParserT [RoffToken] ManState m a -- ^ parser -> ManState -- ^ initial state -> [RoffToken] -- ^ input -> m (Either PandocError a) readWithMTokens parser state input = let leftF = PandocParsecError . T.pack . intercalate "\n" $ show <$> input in mapLeft leftF `liftM` runParserT parser state "source" input parseMan :: PandocMonad m => ManParser m Pandoc parseMan = do bs <- many parseBlock <* eof meta <- metadata <$> getState let (Pandoc _ blocks) = doc $ mconcat bs return $ Pandoc meta blocks parseBlock :: PandocMonad m => ManParser m Blocks parseBlock = choice [ parseList , parseDefinitionList , parseHeader , parseTable , parseTitle , parseCodeBlock , parseBlockQuote , parseNewParagraph , parsePara , skipUnknownMacro ] parseTable :: PandocMonad m => ManParser m Blocks parseTable = do modifyState $ \st -> st { tableCellsPlain = True } let isTbl Tbl{} = True isTbl _ = False Tbl _opts rows pos <- msatisfy isTbl case rows of ((as,_):_) -> try (do let as' = map (columnTypeToAlignment . columnType) as guard $ all isJust as' let alignments = catMaybes as' let (headerRow', bodyRows') = case rows of (h:x:bs) | isHrule x -> (h, bs) _ -> (([],[]), rows) headerRow <- mapM parseTableCell $ snd headerRow' bodyRows <- mapM (mapM parseTableCell . snd) bodyRows' isPlainTable <- tableCellsPlain <$> getState let widths = if isPlainTable then repeat 0.0 else repeat ((1.0 / fromIntegral (length alignments)) :: Double) return $ B.table mempty (zip alignments widths) headerRow bodyRows) <|> fallback pos [] -> fallback pos where parseTableCell ts = do st <- getState let ts' = Foldable.toList $ unRoffTokens ts let plaintcell = try $ do skipMany memptyLine plain . trimInlines <$> (parseInlines <* eof) let blockstcell = try $ do skipMany memptyLine mconcat <$> many parseBlock <* eof res <- if null ts' then return $ Right mempty else lift $ readWithMTokens plaintcell st ts' case res of Left _ -> do res' <- lift $ readWithMTokens blockstcell st ts' case res' of Left _ -> Prelude.fail "Could not parse table cell" Right x -> do modifyState $ \s -> s{ tableCellsPlain = False } return x Right x -> return x isHrule :: TableRow -> Bool isHrule ([cellfmt], _) = columnType cellfmt `elem` ['_','-','='] isHrule (_, [RoffTokens ss]) = case Foldable.toList ss of [TextLine [RoffStr (T.unpack -> [c])]] -> c `elem` ['_','-','='] _ -> False isHrule _ = False fallback pos = do report $ SkippedContent "TABLE" pos return $ B.para (B.text "TABLE") columnTypeToAlignment :: Char -> Maybe Alignment columnTypeToAlignment c = case toLower c of 'a' -> Just AlignLeft 'c' -> Just AlignCenter 'l' -> Just AlignLeft 'n' -> Just AlignRight 'r' -> Just AlignRight _ -> Nothing parseNewParagraph :: PandocMonad m => ManParser m Blocks parseNewParagraph = do mmacro "P" <|> mmacro "PP" <|> mmacro "LP" <|> memptyLine return mempty -- -- Parser: [RoffToken] -> Pandoc -- msatisfy :: Monad m => (RoffToken -> Bool) -> ParserT [RoffToken] st m RoffToken msatisfy predic = tokenPrim show nextPos testTok where testTok t = if predic t then Just t else Nothing nextPos _pos _x (ControlLine _ _ pos':_) = pos' nextPos pos _x _xs = updatePosString (setSourceColumn (setSourceLine pos $ sourceLine pos + 1) 1) "" mtoken :: PandocMonad m => ManParser m RoffToken mtoken = msatisfy (const True) mline :: PandocMonad m => ManParser m RoffToken mline = msatisfy isTextLine where isTextLine (TextLine _) = True isTextLine _ = False memptyLine :: PandocMonad m => ManParser m RoffToken memptyLine = msatisfy isEmptyLine where isEmptyLine EmptyLine = True isEmptyLine _ = False mmacro :: PandocMonad m => T.Text -> ManParser m RoffToken mmacro mk = msatisfy isControlLine where isControlLine (ControlLine mk' _ _) | mk == mk' = True | otherwise = False isControlLine _ = False mmacroAny :: PandocMonad m => ManParser m RoffToken mmacroAny = msatisfy isControlLine where isControlLine ControlLine{} = True isControlLine _ = False -- -- RoffToken -> Block functions -- parseTitle :: PandocMonad m => ManParser m Blocks parseTitle = do (ControlLine _ args _) <- mmacro "TH" let adjustMeta = case args of (x:y:z:_) -> setMeta "title" (linePartsToInlines x) . setMeta "section" (linePartsToInlines y) . setMeta "date" (linePartsToInlines z) [x,y] -> setMeta "title" (linePartsToInlines x) . setMeta "section" (linePartsToInlines y) [x] -> setMeta "title" (linePartsToInlines x) [] -> id modifyState $ \st -> st{ metadata = adjustMeta $ metadata st } return mempty linePartsToInlines :: [LinePart] -> Inlines linePartsToInlines = go False where go :: Bool -> [LinePart] -> Inlines go _ [] = mempty go mono (MacroArg _:xs) = go mono xs -- shouldn't happen go mono (RoffStr s : RoffStr t : xs) = go mono (RoffStr (s <> t):xs) go mono (RoffStr s : xs) | mono = code s <> go mono xs | otherwise = text s <> go mono xs go mono (Font fs: xs) | litals > 0 && litals >= lbolds && litals >= lmonos = emph (go mono (Font fs{ fontItalic = False } : map (adjustFontSpec (\s -> s{ fontItalic = False })) itals)) <> go mono italsrest | lbolds > 0 && lbolds >= lmonos = strong (go mono (Font fs{ fontBold = False } : map (adjustFontSpec (\s -> s{ fontBold = False })) bolds)) <> go mono boldsrest | lmonos > 0 = go True (Font fs{ fontMonospace = False } : map (adjustFontSpec (\s -> s { fontMonospace = False })) monos) <> go mono monosrest | otherwise = go mono xs where adjustFontSpec f (Font fspec) = Font (f fspec) adjustFontSpec _ x = x withFont f (Font fspec) = f fspec withFont _ _ = False litals = length itals lbolds = length bolds lmonos = length monos (itals, italsrest) = if fontItalic fs then break (withFont (not . fontItalic)) xs else ([], xs) (bolds, boldsrest) = if fontBold fs then break (withFont (not . fontBold)) xs else ([], xs) (monos, monosrest) = if fontMonospace fs then break (withFont (not . fontMonospace)) xs else ([], xs) parsePara :: PandocMonad m => ManParser m Blocks parsePara = para . trimInlines <$> parseInlines parseInlines :: PandocMonad m => ManParser m Inlines parseInlines = mconcat . intersperse B.space <$> many1 parseInline parseInline :: PandocMonad m => ManParser m Inlines parseInline = try $ do tok <- mtoken case tok of TextLine lparts -> return $ linePartsToInlines lparts ControlLine mname args pos -> handleInlineMacro mname args pos _ -> mzero handleInlineMacro :: PandocMonad m => T.Text -> [Arg] -> SourcePos -> ManParser m Inlines handleInlineMacro mname args _pos = case mname of "UR" -> parseLink args "MT" -> parseEmailLink args "B" -> parseBold args "I" -> parseItalic args "br" -> return linebreak "BI" -> parseAlternatingFonts [strong, emph] args "IB" -> parseAlternatingFonts [emph, strong] args "IR" -> parseAlternatingFonts [emph, id] args "RI" -> parseAlternatingFonts [id, emph] args "BR" -> parseAlternatingFonts [strong, id] args "RB" -> parseAlternatingFonts [id, strong] args "SY" -> return $ strong $ mconcat $ intersperse B.space $ map linePartsToInlines args "YS" -> return mempty "OP" -> case args of (x:ys) -> return $ B.space <> str "[" <> B.space <> mconcat (strong (linePartsToInlines x) : map ((B.space <>) . linePartsToInlines) ys) <> B.space <> str "]" [] -> return mempty _ -> mzero parseBold :: PandocMonad m => [Arg] -> ManParser m Inlines parseBold [] = do TextLine lparts <- mline return $ strong $ linePartsToInlines lparts parseBold args = return $ strong $ mconcat $ intersperse B.space $ map linePartsToInlines args parseItalic :: PandocMonad m => [Arg] -> ManParser m Inlines parseItalic [] = do TextLine lparts <- mline return $ emph $ linePartsToInlines lparts parseItalic args = return $ emph $ mconcat $ intersperse B.space $ map linePartsToInlines args parseAlternatingFonts :: [Inlines -> Inlines] -> [Arg] -> ManParser m Inlines parseAlternatingFonts constructors args = return $ mconcat $ zipWith (\f arg -> f (linePartsToInlines arg)) (cycle constructors) args lineInl :: PandocMonad m => ManParser m Inlines lineInl = do (TextLine fragments) <- mline return $ linePartsToInlines fragments bareIP :: PandocMonad m => ManParser m RoffToken bareIP = msatisfy isBareIP where isBareIP (ControlLine "IP" [] _) = True isBareIP _ = False endmacro :: PandocMonad m => T.Text -> ManParser m () endmacro name = void (mmacro name) <|> lookAhead (void newBlockMacro) <|> lookAhead eof where newBlockMacro = msatisfy isNewBlockMacro isNewBlockMacro (ControlLine "SH" _ _) = True isNewBlockMacro (ControlLine "SS" _ _) = True isNewBlockMacro _ = False parseCodeBlock :: PandocMonad m => ManParser m Blocks parseCodeBlock = try $ do optional bareIP optional (mmacro "in") -- some people indent their code toks <- (mmacro "nf" *> manyTill codeline (endmacro "fi")) <|> (mmacro "EX" *> manyTill codeline (endmacro "EE")) optional (mmacro "in") return $ codeBlock (T.intercalate "\n" $ catMaybes toks) where codeline = do tok <- mtoken case tok of ControlLine "PP" _ _ -> return $ Just "" -- .PP sometimes used for blank line ControlLine mname args pos -> (Just . query getText <$> handleInlineMacro mname args pos) <|> do report $ SkippedContent ("." <> mname) pos return Nothing Tbl _ _ pos -> do report $ SkippedContent "TABLE" pos return $ Just "TABLE" EmptyLine -> return $ Just "" TextLine ss | not (null ss) , all isFontToken ss -> return Nothing | otherwise -> return $ Just $ linePartsToText ss isFontToken Font{} = True isFontToken _ = False getText :: Inline -> T.Text getText (Str s) = s getText Space = " " getText (Code _ s) = s getText SoftBreak = "\n" getText LineBreak = "\n" getText _ = "" parseHeader :: PandocMonad m => ManParser m Blocks parseHeader = do ControlLine name args _ <- mmacro "SH" <|> mmacro "SS" contents <- if null args then option mempty lineInl else return $ mconcat $ intersperse B.space $ map linePartsToInlines args let lvl = if name == "SH" then 1 else 2 return $ header lvl contents parseBlockQuote :: PandocMonad m => ManParser m Blocks parseBlockQuote = blockQuote <$> continuation data ListType = Ordered ListAttributes | Bullet listTypeMatches :: Maybe ListType -> ListType -> Bool listTypeMatches Nothing _ = True listTypeMatches (Just Bullet) Bullet = True listTypeMatches (Just (Ordered (_,x,y))) (Ordered (_,x',y')) = x == x' && y == y' listTypeMatches (Just _) _ = False listItem :: PandocMonad m => Maybe ListType -> ManParser m (ListType, Blocks) listItem mbListType = try $ do (ControlLine _ args _) <- mmacro "IP" case args of (arg1 : _) -> do let cs = linePartsToText arg1 let cs' = if not (T.any (== '.') cs || T.any (== ')') cs) then cs <> "." else cs let lt = case Parsec.runParser anyOrderedListMarker defaultParserState "list marker" cs' of Right (start, listtype, listdelim) | cs == cs' -> Ordered (start, listtype, listdelim) | otherwise -> Ordered (start, listtype, DefaultDelim) Left _ -> Bullet guard $ listTypeMatches mbListType lt inls <- option mempty parseInlines continuations <- mconcat <$> many continuation return (lt, para inls <> continuations) [] -> mzero parseList :: PandocMonad m => ManParser m Blocks parseList = try $ do (lt, x) <- listItem Nothing xs <- map snd <$> many (listItem (Just lt)) return $ case lt of Bullet -> bulletList (x:xs) Ordered lattr -> orderedListWith lattr (x:xs) continuation :: PandocMonad m => ManParser m Blocks continuation = mconcat <$> (mmacro "RS" *> manyTill parseBlock (endmacro "RE")) <|> mconcat <$> many1 ( try (bareIP *> parsePara) <|> try (bareIP *> parseCodeBlock) ) definitionListItem :: PandocMonad m => ManParser m (Inlines, [Blocks]) definitionListItem = try $ do mmacro "TP" -- args specify indent level, can ignore term <- parseInline moreterms <- many $ try $ do mmacro "TQ" parseInline inls <- option mempty parseInlines continuations <- mconcat <$> many continuation return ( mconcat (intersperse B.linebreak (term:moreterms)) , [para inls <> continuations]) parseDefinitionList :: PandocMonad m => ManParser m Blocks parseDefinitionList = definitionList <$> many1 definitionListItem parseLink :: PandocMonad m => [Arg] -> ManParser m Inlines parseLink args = do contents <- mconcat <$> many lineInl ControlLine _ endargs _ <- mmacro "UE" let url = case args of [] -> "" (x:_) -> linePartsToText x return $ link url "" contents <> case endargs of [] -> mempty (x:_) -> linePartsToInlines x parseEmailLink :: PandocMonad m => [Arg] -> ManParser m Inlines parseEmailLink args = do contents <- mconcat <$> many lineInl ControlLine _ endargs _ <- mmacro "ME" let url = case args of [] -> "" (x:_) -> "mailto:" <> linePartsToText x return $ link url "" contents <> case endargs of [] -> mempty (x:_) -> linePartsToInlines x skipUnknownMacro :: PandocMonad m => ManParser m Blocks skipUnknownMacro = do tok <- mmacroAny case tok of ControlLine mkind _ pos -> do report $ SkippedContent ("." <> mkind) pos return mempty _ -> Prelude.fail "the impossible happened" pandoc-2.9.2.1/src/Text/Pandoc/Readers/Markdown.hs000066400000000000000000002316711363630463000215670ustar00rootroot00000000000000{-# LANGUAGE RelaxedPolyRec #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Readers.Markdown Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of markdown-formatted plain text to 'Pandoc' document. -} module Text.Pandoc.Readers.Markdown ( readMarkdown, yamlToMeta ) where import Control.Monad import Control.Monad.Except (throwError) import Data.Char (isAlphaNum, isPunctuation, isSpace) import Data.List (transpose, elemIndex, sortOn) import qualified Data.Map as M import Data.Maybe import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import qualified Data.Text.Lazy as TL import qualified Data.ByteString.Lazy as BL import System.FilePath (addExtension, takeExtension) import Text.HTML.TagSoup import Text.Pandoc.Builder (Blocks, Inlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad (..), report) import Text.Pandoc.Definition import Text.Pandoc.Emoji (emojiToInline) import Text.Pandoc.Error import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (tableWith) import Text.Pandoc.Readers.HTML (htmlInBalanced, htmlTag, isBlockTag, isCommentTag, isInlineTag, isTextTag) import Text.Pandoc.Readers.LaTeX (applyMacros, rawLaTeXBlock, rawLaTeXInline) import Text.Pandoc.Shared import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.XML (fromEntities) import Text.Pandoc.Readers.Metadata (yamlBsToMeta) type MarkdownParser m = ParserT Text ParserState m -- | Read markdown from an input string and return a Pandoc document. readMarkdown :: PandocMonad m => ReaderOptions -- ^ Reader options -> Text -- ^ String to parse (assuming @'\n'@ line endings) -> m Pandoc readMarkdown opts s = do parsed <- readWithM parseMarkdown def{ stateOptions = opts } (crFilter s <> "\n\n") case parsed of Right result -> return result Left e -> throwError e -- | Read a YAML string and convert it to pandoc metadata. -- String scalars in the YAML are parsed as Markdown. yamlToMeta :: PandocMonad m => ReaderOptions -> BL.ByteString -> m Meta yamlToMeta opts bstr = do let parser = do meta <- yamlBsToMeta parseBlocks bstr return $ runF meta defaultParserState parsed <- readWithM parser def{ stateOptions = opts } "" case parsed of Right result -> return result Left e -> throwError e -- -- Constants and data structure definitions -- isBulletListMarker :: Char -> Bool isBulletListMarker '*' = True isBulletListMarker '+' = True isBulletListMarker '-' = True isBulletListMarker _ = False isHruleChar :: Char -> Bool isHruleChar '*' = True isHruleChar '-' = True isHruleChar '_' = True isHruleChar _ = False setextHChars :: [Char] setextHChars = "=-" isBlank :: Char -> Bool isBlank ' ' = True isBlank '\t' = True isBlank '\n' = True isBlank _ = False -- -- auxiliary functions -- -- | Succeeds when we're in list context. inList :: PandocMonad m => MarkdownParser m () inList = do ctx <- stateParserContext <$> getState guard (ctx == ListItemState) spnl :: PandocMonad m => ParserT Text st m () spnl = try $ do skipSpaces optional newline skipSpaces notFollowedBy (char '\n') spnl' :: PandocMonad m => ParserT Text st m Text spnl' = try $ do xs <- many spaceChar ys <- option "" $ try $ (:) <$> newline <*> (many spaceChar <* notFollowedBy (char '\n')) return $ T.pack $ xs ++ ys indentSpaces :: PandocMonad m => MarkdownParser m Text indentSpaces = try $ do tabStop <- getOption readerTabStop countChar tabStop (char ' ') <|> textStr "\t" "indentation" nonindentSpaces :: PandocMonad m => MarkdownParser m Text nonindentSpaces = do n <- skipNonindentSpaces return $ T.replicate n " " -- returns number of spaces parsed skipNonindentSpaces :: PandocMonad m => MarkdownParser m Int skipNonindentSpaces = do tabStop <- getOption readerTabStop gobbleAtMostSpaces (tabStop - 1) <* notFollowedBy spaceChar litChar :: PandocMonad m => MarkdownParser m Char litChar = escapedChar' <|> characterReference <|> noneOf "\n" <|> try (newline >> notFollowedBy blankline >> return ' ') -- | Parse a sequence of inline elements between square brackets, -- including inlines between balanced pairs of square brackets. inlinesInBalancedBrackets :: PandocMonad m => MarkdownParser m (F Inlines) inlinesInBalancedBrackets = try $ char '[' >> withRaw (go 1) >>= parseFromString inlines . stripBracket . snd where stripBracket t = case T.unsnoc t of Just (t', ']') -> t' _ -> t go :: PandocMonad m => Int -> MarkdownParser m () go 0 = return () go openBrackets = (() <$ (escapedChar <|> code <|> rawHtmlInline <|> rawLaTeXInline') >> go openBrackets) <|> (do char ']' Control.Monad.when (openBrackets > 1) $ go (openBrackets - 1)) <|> (char '[' >> go (openBrackets + 1)) <|> (anyChar >> go openBrackets) -- -- document structure -- rawTitleBlockLine :: PandocMonad m => MarkdownParser m Text rawTitleBlockLine = do char '%' skipSpaces first <- anyLine rest <- many $ try $ do spaceChar notFollowedBy blankline skipSpaces anyLine return $ trim $ T.unlines (first:rest) titleLine :: PandocMonad m => MarkdownParser m (F Inlines) titleLine = try $ do raw <- rawTitleBlockLine res <- parseFromString' inlines raw return $ trimInlinesF res authorsLine :: PandocMonad m => MarkdownParser m (F [Inlines]) authorsLine = try $ do raw <- rawTitleBlockLine let sep = (char ';' <* spaces) <|> newline let pAuthors = sepEndBy (trimInlinesF . mconcat <$> many (try $ notFollowedBy sep >> inline)) sep sequence <$> parseFromString' pAuthors raw dateLine :: PandocMonad m => MarkdownParser m (F Inlines) dateLine = try $ do raw <- rawTitleBlockLine res <- parseFromString' inlines raw return $ trimInlinesF res titleBlock :: PandocMonad m => MarkdownParser m () titleBlock = pandocTitleBlock <|> mmdTitleBlock pandocTitleBlock :: PandocMonad m => MarkdownParser m () pandocTitleBlock = try $ do guardEnabled Ext_pandoc_title_block lookAhead (char '%') title <- option mempty titleLine author <- option (return []) authorsLine date <- option mempty dateLine optional blanklines let meta' = do title' <- title author' <- author date' <- date return $ (if B.isNull title' then id else B.setMeta "title" title') . (if null author' then id else B.setMeta "author" author') . (if B.isNull date' then id else B.setMeta "date" date') $ nullMeta updateState $ \st -> st{ stateMeta' = stateMeta' st <> meta' } yamlMetaBlock :: PandocMonad m => MarkdownParser m (F Blocks) yamlMetaBlock = try $ do guardEnabled Ext_yaml_metadata_block string "---" blankline notFollowedBy blankline -- if --- is followed by a blank it's an HRULE rawYamlLines <- manyTill anyLine stopLine -- by including --- and ..., we allow yaml blocks with just comments: let rawYaml = T.unlines ("---" : (rawYamlLines ++ ["..."])) optional blanklines newMetaF <- yamlBsToMeta parseBlocks $ UTF8.fromTextLazy $ TL.fromStrict rawYaml -- Since `<>` is left-biased, existing values are not touched: updateState $ \st -> st{ stateMeta' = stateMeta' st <> newMetaF } return mempty stopLine :: PandocMonad m => MarkdownParser m () stopLine = try $ (string "---" <|> string "...") >> blankline >> return () mmdTitleBlock :: PandocMonad m => MarkdownParser m () mmdTitleBlock = try $ do guardEnabled Ext_mmd_title_block firstPair <- kvPair False restPairs <- many (kvPair True) let kvPairs = firstPair : restPairs blanklines updateState $ \st -> st{ stateMeta' = stateMeta' st <> return (Meta $ M.fromList kvPairs) } kvPair :: PandocMonad m => Bool -> MarkdownParser m (Text, MetaValue) kvPair allowEmpty = try $ do key <- many1TillChar (alphaNum <|> oneOf "_- ") (char ':') val <- trim <$> manyTillChar anyChar (try $ newline >> lookAhead (blankline <|> nonspaceChar)) guard $ allowEmpty || not (T.null val) let key' = T.concat $ T.words $ T.toLower key let val' = MetaBlocks $ B.toList $ B.plain $ B.text val return (key',val') parseMarkdown :: PandocMonad m => MarkdownParser m Pandoc parseMarkdown = do optional titleBlock blocks <- parseBlocks st <- getState -- check for notes with no corresponding note references 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 let doc = runF (do Pandoc _ bs <- B.doc <$> blocks meta <- stateMeta' st return $ Pandoc meta bs) st reportLogMessages return doc referenceKey :: PandocMonad m => MarkdownParser m (F Blocks) referenceKey = try $ do pos <- getPosition skipNonindentSpaces (_,raw) <- reference char ':' skipSpaces >> optional newline >> skipSpaces >> notFollowedBy (char '[') let sourceURL = fmap T.unwords $ many $ try $ do skipMany spaceChar notFollowedBy' referenceTitle notFollowedBy' $ guardEnabled Ext_link_attributes >> attributes notFollowedBy' (() <$ reference) many1Char $ notFollowedBy space >> litChar let betweenAngles = try $ char '<' >> manyTillChar litChar (char '>') src <- try betweenAngles <|> sourceURL tit <- option "" referenceTitle attr <- option nullAttr $ try $ do guardEnabled Ext_link_attributes skipSpaces >> optional newline >> skipSpaces attributes addKvs <- option [] $ guardEnabled Ext_mmd_link_attributes >> many (try $ spnl >> keyValAttr) blanklines let attr' = extractIdClass $ foldl (\x f -> f x) attr addKvs target = (escapeURI $ trimr src, tit) st <- getState let oldkeys = stateKeys st let key = toKey raw case M.lookup key oldkeys of Just (t,a) | not (t == target && a == attr') -> -- We don't warn on two duplicate keys if the targets are also -- the same. This can happen naturally with --reference-location=block -- or section. See #3701. logMessage $ DuplicateLinkReference raw pos _ -> return () updateState $ \s -> s { stateKeys = M.insert key (target, attr') oldkeys } return $ return mempty referenceTitle :: PandocMonad m => MarkdownParser m Text referenceTitle = try $ do skipSpaces >> optional newline >> skipSpaces quotedTitle '"' <|> quotedTitle '\'' <|> charsInBalanced '(' ')' litChar -- A link title in quotes quotedTitle :: PandocMonad m => Char -> MarkdownParser m Text quotedTitle c = try $ do char c notFollowedBy spaces let pEnder = try $ char c >> notFollowedBy (satisfy isAlphaNum) let regChunk = many1Char (noneOf ['\\','\n','&',c]) <|> countChar 1 litChar let nestedChunk = (\x -> T.singleton c <> x <> T.singleton c) <$> quotedTitle c T.unwords . T.words . T.concat <$> manyTill (nestedChunk <|> regChunk) pEnder -- | PHP Markdown Extra style abbreviation key. Currently -- we just skip them, since Pandoc doesn't have an element for -- an abbreviation. abbrevKey :: PandocMonad m => MarkdownParser m (F Blocks) abbrevKey = do guardEnabled Ext_abbreviations try $ do char '*' reference char ':' skipMany (satisfy (/= '\n')) blanklines return $ return mempty noteMarker :: PandocMonad m => MarkdownParser m Text noteMarker = string "[^" >> many1TillChar (satisfy $ not . isBlank) (char ']') rawLine :: PandocMonad m => MarkdownParser m Text rawLine = try $ do notFollowedBy blankline notFollowedBy' $ try $ skipNonindentSpaces >> noteMarker optional indentSpaces anyLine rawLines :: PandocMonad m => MarkdownParser m Text rawLines = do first <- anyLine rest <- many rawLine return $ T.unlines (first:rest) noteBlock :: PandocMonad m => MarkdownParser m (F Blocks) noteBlock = do guardEnabled Ext_footnotes try $ do pos <- getPosition skipNonindentSpaces ref <- noteMarker char ':' optional blankline optional indentSpaces first <- rawLines rest <- many $ try $ blanklines >> indentSpaces >> rawLines let raw = T.unlines (first:rest) <> "\n" optional blanklines parsed <- parseFromString' parseBlocks raw oldnotes <- stateNotes' <$> getState case M.lookup ref oldnotes of Just _ -> logMessage $ DuplicateNoteReference ref pos Nothing -> return () updateState $ \s -> s { stateNotes' = M.insert ref (pos, parsed) oldnotes } return mempty -- -- parsing blocks -- parseBlocks :: PandocMonad m => MarkdownParser m (F Blocks) parseBlocks = mconcat <$> manyTill block eof block :: PandocMonad m => MarkdownParser m (F Blocks) block = do res <- choice [ mempty <$ blanklines , codeBlockFenced , yamlMetaBlock -- note: bulletList needs to be before header because of -- the possibility of empty list items: - , bulletList , divHtml , divFenced , header , lhsCodeBlock , htmlBlock , table , codeBlockIndented , rawTeXBlock , lineBlock , blockQuote , hrule , orderedList , definitionList , noteBlock , referenceKey , abbrevKey , para , plain ] "block" trace (T.take 60 $ tshow $ B.toList $ runF res defaultParserState) return res -- -- header blocks -- header :: PandocMonad m => MarkdownParser m (F Blocks) header = setextHeader <|> atxHeader "header" atxChar :: PandocMonad m => MarkdownParser m Char atxChar = do exts <- getOption readerExtensions return $ if extensionEnabled Ext_literate_haskell exts then '=' else '#' atxHeader :: PandocMonad m => MarkdownParser m (F Blocks) atxHeader = try $ do level <- fmap length (atxChar >>= many1 . char) notFollowedBy $ guardEnabled Ext_fancy_lists >> (char '.' <|> char ')') -- this would be a list guardDisabled Ext_space_in_atx_header <|> notFollowedBy nonspaceChar skipSpaces (text, raw) <- withRaw $ do oldAllowLineBreaks <- stateAllowLineBreaks <$> getState updateState $ \st -> st{ stateAllowLineBreaks = False } res <- trimInlinesF . mconcat <$> many (notFollowedBy atxClosing >> inline) updateState $ \st -> st{ stateAllowLineBreaks = oldAllowLineBreaks } return res attr <- atxClosing attr' <- registerHeader attr (runF text defaultParserState) guardDisabled Ext_implicit_header_references <|> registerImplicitHeader raw attr' return $ B.headerWith attr' level <$> text atxClosing :: PandocMonad m => MarkdownParser m Attr atxClosing = try $ do attr' <- option nullAttr (guardEnabled Ext_mmd_header_identifiers >> mmdHeaderIdentifier) skipMany . char =<< atxChar skipSpaces attr <- option attr' (guardEnabled Ext_header_attributes >> attributes) blanklines return attr setextHeaderEnd :: PandocMonad m => MarkdownParser m Attr setextHeaderEnd = try $ do attr <- option nullAttr $ (guardEnabled Ext_mmd_header_identifiers >> mmdHeaderIdentifier) <|> (guardEnabled Ext_header_attributes >> attributes) blanklines return attr mmdHeaderIdentifier :: PandocMonad m => MarkdownParser m Attr mmdHeaderIdentifier = do (_, raw) <- reference let raw' = trim $ stripFirstAndLast raw let ident = T.concat $ T.words $ T.toLower raw' let attr = (ident, [], []) guardDisabled Ext_implicit_header_references <|> registerImplicitHeader raw' attr skipSpaces return attr setextHeader :: PandocMonad m => MarkdownParser m (F Blocks) setextHeader = try $ do -- This lookahead prevents us from wasting time parsing Inlines -- unless necessary -- it gives a significant performance boost. lookAhead $ anyLine >> many1 (oneOf setextHChars) >> blankline skipSpaces (text, raw) <- withRaw $ do oldAllowLineBreaks <- stateAllowLineBreaks <$> getState updateState $ \st -> st{ stateAllowLineBreaks = False } res <- trimInlinesF . mconcat <$> many (notFollowedBy setextHeaderEnd >> inline) updateState $ \st -> st{ stateAllowLineBreaks = oldAllowLineBreaks } return res attr <- setextHeaderEnd underlineChar <- oneOf setextHChars many (char underlineChar) blanklines let level = fromMaybe 0 (elemIndex underlineChar setextHChars) + 1 attr' <- registerHeader attr (runF text defaultParserState) guardDisabled Ext_implicit_header_references <|> registerImplicitHeader raw attr' return $ B.headerWith attr' level <$> text registerImplicitHeader :: PandocMonad m => Text -> Attr -> MarkdownParser m () registerImplicitHeader raw attr@(ident, _, _) | T.null raw = return () | otherwise = do let key = toKey $ "[" <> raw <> "]" updateState $ \s -> s { stateHeaderKeys = M.insert key (("#" <> ident,""), attr) (stateHeaderKeys s) } -- -- hrule block -- hrule :: PandocMonad m => ParserT Text st m (F Blocks) hrule = try $ do skipSpaces start <- satisfy isHruleChar count 2 (skipSpaces >> char start) skipMany (spaceChar <|> char start) newline optional blanklines return $ return B.horizontalRule -- -- code blocks -- indentedLine :: PandocMonad m => MarkdownParser m Text indentedLine = indentSpaces >> anyLineNewline blockDelimiter :: PandocMonad m => (Char -> Bool) -> Maybe Int -> ParserT Text ParserState m Int blockDelimiter f len = try $ do skipNonindentSpaces c <- lookAhead (satisfy f) case len of Just l -> count l (char c) >> many (char c) >> return l Nothing -> fmap ((+ 3) . length) (count 3 (char c) >> many (char c)) attributes :: PandocMonad m => MarkdownParser m Attr attributes = try $ do char '{' spnl attrs <- many (attribute <* spnl) char '}' return $ foldl (\x f -> f x) nullAttr attrs attribute :: PandocMonad m => MarkdownParser m (Attr -> Attr) attribute = identifierAttr <|> classAttr <|> keyValAttr <|> specialAttr identifier :: PandocMonad m => MarkdownParser m Text identifier = do first <- letter rest <- many $ alphaNum <|> oneOf "-_:." return $ T.pack (first:rest) identifierAttr :: PandocMonad m => MarkdownParser m (Attr -> Attr) identifierAttr = try $ do char '#' result <- identifier return $ \(_,cs,kvs) -> (result,cs,kvs) classAttr :: PandocMonad m => MarkdownParser m (Attr -> Attr) classAttr = try $ do char '.' result <- identifier return $ \(id',cs,kvs) -> (id',cs ++ [result],kvs) keyValAttr :: PandocMonad m => MarkdownParser m (Attr -> Attr) keyValAttr = try $ do key <- identifier char '=' val <- T.pack <$> enclosed (char '"') (char '"') litChar <|> T.pack <$> enclosed (char '\'') (char '\'') litChar <|> ("" <$ try (string "\"\"")) <|> ("" <$ try (string "''")) <|> manyChar (escapedChar' <|> noneOf " \t\n\r}") return $ \(id',cs,kvs) -> case key of "id" -> (val,cs,kvs) "class" -> (id',cs ++ T.words val,kvs) _ -> (id',cs,kvs ++ [(key,val)]) specialAttr :: PandocMonad m => MarkdownParser m (Attr -> Attr) specialAttr = do char '-' return $ \(id',cs,kvs) -> (id',cs ++ ["unnumbered"],kvs) rawAttribute :: PandocMonad m => MarkdownParser m Text rawAttribute = do char '{' skipMany spaceChar char '=' format <- many1Char $ satisfy (\c -> isAlphaNum c || c `elem` ['-', '_']) skipMany spaceChar char '}' return format codeBlockFenced :: PandocMonad m => MarkdownParser m (F Blocks) codeBlockFenced = try $ do indentchars <- nonindentSpaces let indentLevel = T.length indentchars c <- try (guardEnabled Ext_fenced_code_blocks >> lookAhead (char '~')) <|> (guardEnabled Ext_backtick_code_blocks >> lookAhead (char '`')) size <- blockDelimiter (== c) Nothing skipMany spaceChar rawattr <- (Left <$> try (guardEnabled Ext_raw_attribute >> rawAttribute)) <|> (Right <$> option ("",[],[]) (try (guardEnabled Ext_fenced_code_attributes >> attributes) <|> ((\x -> ("",[toLanguageId x],[])) <$> many1Char nonspaceChar))) blankline contents <- T.intercalate "\n" <$> manyTill (gobbleAtMostSpaces indentLevel >> anyLine) (try $ do blockDelimiter (== c) (Just size) blanklines) return $ return $ case rawattr of Left syn -> B.rawBlock syn contents Right attr -> B.codeBlockWith attr contents -- correctly handle github language identifiers toLanguageId :: Text -> Text toLanguageId = T.toLower . go where go "c++" = "cpp" go "objective-c" = "objectivec" go x = x codeBlockIndented :: PandocMonad m => MarkdownParser m (F Blocks) codeBlockIndented = do contents <- many1 (indentedLine <|> try (do b <- blanklines l <- indentedLine return $ b <> l)) optional blanklines classes <- getOption readerIndentedCodeClasses return $ return $ B.codeBlockWith ("", classes, []) $ stripTrailingNewlines $ T.concat contents lhsCodeBlock :: PandocMonad m => MarkdownParser m (F Blocks) lhsCodeBlock = do guardEnabled Ext_literate_haskell (return . B.codeBlockWith ("",["haskell","literate"],[]) <$> (lhsCodeBlockBird <|> lhsCodeBlockLaTeX)) <|> (return . B.codeBlockWith ("",["haskell"],[]) <$> lhsCodeBlockInverseBird) lhsCodeBlockLaTeX :: PandocMonad m => MarkdownParser m Text lhsCodeBlockLaTeX = try $ do string "\\begin{code}" manyTill spaceChar newline contents <- many1TillChar anyChar (try $ string "\\end{code}") blanklines return $ stripTrailingNewlines contents lhsCodeBlockBird :: PandocMonad m => MarkdownParser m Text lhsCodeBlockBird = lhsCodeBlockBirdWith '>' lhsCodeBlockInverseBird :: PandocMonad m => MarkdownParser m Text lhsCodeBlockInverseBird = lhsCodeBlockBirdWith '<' lhsCodeBlockBirdWith :: PandocMonad m => Char -> MarkdownParser m Text lhsCodeBlockBirdWith c = try $ do pos <- getPosition 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 then map (T.drop 1) lns else lns blanklines return $ T.intercalate "\n" lns' birdTrackLine :: PandocMonad m => Char -> ParserT Text st m Text birdTrackLine c = try $ do char c -- allow html tags on left margin: when (c == '<') $ notFollowedBy letter anyLine -- -- block quotes -- emailBlockQuoteStart :: PandocMonad m => MarkdownParser m Char emailBlockQuoteStart = try $ skipNonindentSpaces >> char '>' <* optional (char ' ') emailBlockQuote :: PandocMonad m => MarkdownParser m [Text] emailBlockQuote = try $ do emailBlockQuoteStart let emailLine = manyChar $ nonEndline <|> try (endline >> notFollowedBy emailBlockQuoteStart >> return '\n') let emailSep = try (newline >> emailBlockQuoteStart) first <- emailLine rest <- many $ try $ emailSep >> emailLine let raw = first:rest newline <|> (eof >> return '\n') optional blanklines return raw blockQuote :: PandocMonad m => MarkdownParser m (F Blocks) blockQuote = do raw <- emailBlockQuote -- parse the extracted block, which may contain various block elements: contents <- parseFromString' parseBlocks $ T.intercalate "\n" raw <> "\n\n" return $ B.blockQuote <$> contents -- -- list blocks -- bulletListStart :: PandocMonad m => MarkdownParser m () bulletListStart = try $ do optional newline -- if preceded by a Plain block in a list context skipNonindentSpaces notFollowedBy' (() <$ hrule) -- because hrules start out just like lists satisfy isBulletListMarker gobbleSpaces 1 <|> () <$ lookAhead newline try (gobbleAtMostSpaces 3 >> notFollowedBy spaceChar) <|> return () orderedListStart :: PandocMonad m => Maybe (ListNumberStyle, ListNumberDelim) -> MarkdownParser m (Int, ListNumberStyle, ListNumberDelim) orderedListStart mbstydelim = try $ do optional newline -- if preceded by a Plain block in a list context skipNonindentSpaces notFollowedBy $ string "p." >> spaceChar >> digit -- page number (do guardDisabled Ext_fancy_lists start <- many1Char digit >>= safeRead char '.' gobbleSpaces 1 <|> () <$ lookAhead newline optional $ try (gobbleAtMostSpaces 3 >> notFollowedBy spaceChar) return (start, DefaultStyle, DefaultDelim)) <|> (do (num, style, delim) <- maybe anyOrderedListMarker (\(sty,delim) -> (\start -> (start,sty,delim)) <$> orderedListMarker sty delim) mbstydelim gobbleSpaces 1 <|> () <$ lookAhead newline -- if it could be an abbreviated first name, -- insist on more than one space when (delim == Period && (style == UpperAlpha || (style == UpperRoman && num `elem` [1, 5, 10, 50, 100, 500, 1000]))) $ () <$ lookAhead (newline <|> spaceChar) optional $ try (gobbleAtMostSpaces 3 >> notFollowedBy spaceChar) return (num, style, delim)) listStart :: PandocMonad m => MarkdownParser m () listStart = bulletListStart <|> Control.Monad.void (orderedListStart Nothing) listLine :: PandocMonad m => Int -> MarkdownParser m Text listLine continuationIndent = try $ do notFollowedBy' (do gobbleSpaces continuationIndent skipMany spaceChar listStart) notFollowedByHtmlCloser notFollowedByDivCloser optional (() <$ gobbleSpaces continuationIndent) listLineCommon listLineCommon :: PandocMonad m => MarkdownParser m Text listLineCommon = T.concat <$> manyTill ( many1Char (satisfy $ \c -> c `notElem` ['\n', '<', '`']) <|> fmap snd (withRaw code) <|> fmap snd (htmlTag isCommentTag) <|> countChar 1 anyChar ) newline -- parse raw text for one list item, excluding start marker and continuations rawListItem :: PandocMonad m => Bool -- four space rule -> MarkdownParser m a -> MarkdownParser m (Text, Int) rawListItem fourSpaceRule start = try $ do pos1 <- getPosition start pos2 <- getPosition let continuationIndent = if fourSpaceRule then 4 else sourceColumn pos2 - sourceColumn pos1 first <- listLineCommon rest <- many (do notFollowedBy listStart notFollowedBy (() <$ codeBlockFenced) notFollowedBy blankline listLine continuationIndent) blanks <- manyChar blankline let result = T.unlines (first:rest) <> blanks return (result, continuationIndent) -- continuation of a list item - indented and separated by blankline -- or (in compact lists) endline. -- note: nested lists are parsed as continuations listContinuation :: PandocMonad m => Int -> MarkdownParser m Text listContinuation continuationIndent = try $ do x <- try $ do notFollowedBy blankline notFollowedByHtmlCloser notFollowedByDivCloser gobbleSpaces continuationIndent anyLineNewline xs <- many $ try $ do notFollowedBy blankline notFollowedByHtmlCloser notFollowedByDivCloser gobbleSpaces continuationIndent <|> notFollowedBy' listStart anyLineNewline blanks <- manyChar blankline return $ T.concat (x:xs) <> blanks -- Variant of blanklines that doesn't require blank lines -- before a fence or eof. blanklines' :: PandocMonad m => MarkdownParser m Text blanklines' = blanklines <|> try checkDivCloser where checkDivCloser = do guardEnabled Ext_fenced_divs divLevel <- stateFencedDivLevel <$> getState guard (divLevel >= 1) lookAhead divFenceEnd return "" notFollowedByDivCloser :: PandocMonad m => MarkdownParser m () notFollowedByDivCloser = guardDisabled Ext_fenced_divs <|> do divLevel <- stateFencedDivLevel <$> getState guard (divLevel < 1) <|> notFollowedBy divFenceEnd notFollowedByHtmlCloser :: PandocMonad m => MarkdownParser m () notFollowedByHtmlCloser = do inHtmlBlock <- stateInHtmlBlock <$> getState case inHtmlBlock of Just t -> notFollowedBy' $ htmlTag (~== TagClose t) Nothing -> return () listItem :: PandocMonad m => Bool -- four-space rule -> MarkdownParser m a -> MarkdownParser m (F Blocks) listItem fourSpaceRule start = try $ do -- parsing with ListItemState forces markers at beginning of lines to -- count as list item markers, even if not separated by blank space. -- see definition of "endline" state <- getState let oldContext = stateParserContext state setState $ state {stateParserContext = ListItemState} (first, continuationIndent) <- rawListItem fourSpaceRule start continuations <- many (listContinuation continuationIndent) -- parse the extracted block, which may contain various block elements: let raw = T.concat (first:continuations) contents <- parseFromString' parseBlocks raw updateState (\st -> st {stateParserContext = oldContext}) exts <- getOption readerExtensions return $ B.fromList . taskListItemFromAscii exts . B.toList <$> contents orderedList :: PandocMonad m => MarkdownParser m (F Blocks) orderedList = try $ do (start, style, delim) <- lookAhead (orderedListStart Nothing) unless (style `elem` [DefaultStyle, Decimal, Example] && delim `elem` [DefaultDelim, Period]) $ guardEnabled Ext_fancy_lists when (style == Example) $ guardEnabled Ext_example_lists fourSpaceRule <- (True <$ guardEnabled Ext_four_space_rule) <|> return (style == Example) items <- fmap sequence $ many1 $ listItem fourSpaceRule (orderedListStart (Just (style, delim))) start' <- if style == Example then return start else (start <$ guardEnabled Ext_startnum) <|> return 1 return $ B.orderedListWith (start', style, delim) <$> fmap compactify items bulletList :: PandocMonad m => MarkdownParser m (F Blocks) bulletList = do fourSpaceRule <- (True <$ guardEnabled Ext_four_space_rule) <|> return False items <- fmap sequence $ many1 $ listItem fourSpaceRule bulletListStart return $ B.bulletList <$> fmap compactify items -- definition lists defListMarker :: PandocMonad m => MarkdownParser m () defListMarker = do sps <- nonindentSpaces char ':' <|> char '~' tabStop <- getOption readerTabStop let remaining = tabStop - (T.length sps + 1) if remaining > 0 then try (count remaining (char ' ')) <|> string "\t" <|> many1 spaceChar else mzero return () definitionListItem :: PandocMonad m => Bool -> MarkdownParser m (F (Inlines, [Blocks])) definitionListItem compact = try $ do rawLine' <- anyLine raw <- many1 $ defRawBlock compact term <- parseFromString' (trimInlinesF <$> inlines) rawLine' contents <- mapM (parseFromString' parseBlocks . (<> "\n")) raw optional blanklines return $ liftM2 (,) term (sequence contents) defRawBlock :: PandocMonad m => Bool -> MarkdownParser m Text defRawBlock compact = try $ do hasBlank <- option False $ blankline >> return True defListMarker firstline <- anyLineNewline let dline = try ( do notFollowedBy blankline notFollowedByHtmlCloser notFollowedByDivCloser if compact -- laziness not compatible with compact then () <$ indentSpaces else (() <$ indentSpaces) <|> notFollowedBy defListMarker anyLine ) rawlines <- many dline cont <- fmap T.concat $ many $ try $ do trailing <- option "" blanklines ln <- indentSpaces >> notFollowedBy blankline >> anyLine lns <- many dline return $ trailing <> T.unlines (ln:lns) return $ trimr (firstline <> T.unlines rawlines <> cont) <> if hasBlank || not (T.null cont) then "\n\n" else "" definitionList :: PandocMonad m => MarkdownParser m (F Blocks) definitionList = try $ do lookAhead (anyLine >> optional (blankline >> notFollowedBy (Control.Monad.void table)) >> -- don't capture table caption as def list! defListMarker) compactDefinitionList <|> normalDefinitionList compactDefinitionList :: PandocMonad m => MarkdownParser m (F Blocks) compactDefinitionList = do guardEnabled Ext_compact_definition_lists items <- fmap sequence $ many1 $ definitionListItem True return $ B.definitionList <$> fmap compactifyDL items normalDefinitionList :: PandocMonad m => MarkdownParser m (F Blocks) normalDefinitionList = do guardEnabled Ext_definition_lists items <- fmap sequence $ many1 $ definitionListItem False return $ B.definitionList <$> items -- -- paragraph block -- para :: PandocMonad m => MarkdownParser m (F Blocks) para = try $ do exts <- getOption readerExtensions let implicitFigures x | extensionEnabled Ext_implicit_figures exts = do x' <- x case B.toList x' of [Image attr alt (src,tit)] | not (null alt) -> -- the fig: at beginning of title indicates a figure return $ B.singleton $ Image attr alt (src, "fig:" <> tit) _ -> return x' | otherwise = x result <- implicitFigures . trimInlinesF <$> inlines1 option (B.plain <$> result) $ try $ do newline (blanklines >> return mempty) <|> (guardDisabled Ext_blank_before_blockquote >> () <$ lookAhead blockQuote) <|> (guardEnabled Ext_backtick_code_blocks >> () <$ lookAhead codeBlockFenced) <|> (guardDisabled Ext_blank_before_header >> () <$ lookAhead header) <|> (guardEnabled Ext_lists_without_preceding_blankline >> -- Avoid creating a paragraph in a nested list. notFollowedBy' inList >> () <$ lookAhead listStart) <|> do guardEnabled Ext_native_divs inHtmlBlock <- stateInHtmlBlock <$> getState case inHtmlBlock of Just "div" -> () <$ lookAhead (htmlTag (~== TagClose ("div" :: Text))) _ -> mzero <|> do guardEnabled Ext_fenced_divs divLevel <- stateFencedDivLevel <$> getState if divLevel > 0 then lookAhead divFenceEnd else mzero return $ B.para <$> result plain :: PandocMonad m => MarkdownParser m (F Blocks) plain = fmap B.plain . trimInlinesF <$> inlines1 -- -- raw html -- htmlElement :: PandocMonad m => MarkdownParser m Text htmlElement = rawVerbatimBlock <|> strictHtmlBlock <|> fmap snd (htmlTag isBlockTag) htmlBlock :: PandocMonad m => MarkdownParser m (F Blocks) htmlBlock = do guardEnabled Ext_raw_html try (do (TagOpen _ attrs) <- lookAhead $ fst <$> htmlTag isBlockTag (return . B.rawBlock "html") <$> rawVerbatimBlock <|> (do guardEnabled Ext_markdown_attribute oldMarkdownAttribute <- stateMarkdownAttribute <$> getState markdownAttribute <- case lookup "markdown" attrs of Just "0" -> False <$ updateState (\st -> st{ stateMarkdownAttribute = False }) Just _ -> True <$ updateState (\st -> st{ stateMarkdownAttribute = True }) Nothing -> return oldMarkdownAttribute res <- if markdownAttribute then rawHtmlBlocks else htmlBlock' updateState $ \st -> st{ stateMarkdownAttribute = oldMarkdownAttribute } return res) <|> (guardEnabled Ext_markdown_in_html_blocks >> rawHtmlBlocks)) <|> htmlBlock' htmlBlock' :: PandocMonad m => MarkdownParser m (F Blocks) htmlBlock' = try $ do first <- htmlElement skipMany spaceChar optional blanklines return $ if T.null first then mempty else return $ B.rawBlock "html" first strictHtmlBlock :: PandocMonad m => MarkdownParser m Text strictHtmlBlock = htmlInBalanced (not . isInlineTag) rawVerbatimBlock :: PandocMonad m => MarkdownParser m Text rawVerbatimBlock = htmlInBalanced isVerbTag where isVerbTag (TagOpen "pre" _) = True isVerbTag (TagOpen "style" _) = True isVerbTag (TagOpen "script" _) = True isVerbTag (TagOpen "textarea" _) = True isVerbTag _ = False rawTeXBlock :: PandocMonad m => MarkdownParser m (F Blocks) rawTeXBlock = do guardEnabled Ext_raw_tex result <- (B.rawBlock "tex" . trim . T.concat <$> many1 ((<>) <$> rawConTeXtEnvironment <*> spnl')) <|> (B.rawBlock "tex" . trim . T.concat <$> many1 ((<>) <$> rawLaTeXBlock <*> spnl')) return $ case B.toList result of [RawBlock _ cs] | T.all (`elem` [' ','\t','\n']) cs -> return mempty -- don't create a raw block for suppressed macro defs _ -> return result rawHtmlBlocks :: PandocMonad m => MarkdownParser m (F Blocks) rawHtmlBlocks = do (TagOpen tagtype _, raw) <- htmlTag isBlockTag -- we don't want ' text' to be a code block: skipMany spaceChar indentlevel <- (blankline >> length <$> many (char ' ')) <|> return 0 -- try to find closing tag -- we set stateInHtmlBlock so that closing tags that can be either block or -- inline will not be parsed as inline tags oldInHtmlBlock <- stateInHtmlBlock <$> getState updateState $ \st -> st{ stateInHtmlBlock = Just tagtype } let closer = htmlTag (~== TagClose tagtype) let block' = try $ do gobbleAtMostSpaces indentlevel notFollowedBy' closer block contents <- mconcat <$> many block' result <- try (do gobbleAtMostSpaces indentlevel (_, rawcloser) <- closer return (return (B.rawBlock "html" $ stripMarkdownAttribute raw) <> contents <> return (B.rawBlock "html" rawcloser))) <|> return (return (B.rawBlock "html" raw) <> contents) updateState $ \st -> st{ stateInHtmlBlock = oldInHtmlBlock } return result -- remove markdown="1" attribute stripMarkdownAttribute :: Text -> Text stripMarkdownAttribute s = renderTags' $ map filterAttrib $ parseTags s where filterAttrib (TagOpen t as) = TagOpen t [(k,v) | (k,v) <- as, k /= "markdown"] filterAttrib x = x -- -- line block -- lineBlock :: PandocMonad m => MarkdownParser m (F Blocks) lineBlock = try $ do guardEnabled Ext_line_blocks lines' <- lineBlockLines >>= mapM (parseFromString' (trimInlinesF <$> inlines)) return $ B.lineBlock <$> sequence lines' -- -- Tables -- -- Parse a dashed line with optional trailing spaces; return its length -- and the length including trailing space. dashedLine :: PandocMonad m => Char -> ParserT Text st m (Int, Int) dashedLine ch = do dashes <- many1 (char ch) sp <- many spaceChar let lengthDashes = length dashes lengthSp = length sp return (lengthDashes, lengthDashes + lengthSp) -- Parse a table header with dashed lines of '-' preceded by -- one (or zero) line of text. simpleTableHeader :: PandocMonad m => Bool -- ^ Headerless table -> MarkdownParser m (F [Blocks], [Alignment], [Int]) simpleTableHeader headless = try $ do rawContent <- if headless then return "" else anyLine initSp <- nonindentSpaces dashes <- many1 (dashedLine '-') newline let (lengths, lines') = unzip dashes let indices = scanl (+) (T.length initSp) lines' -- If no header, calculate alignment on basis of first row of text rawHeads <- fmap (tail . splitTextByIndices (init indices)) $ if headless then lookAhead anyLine else return rawContent let aligns = zipWith alignType (map (: []) rawHeads) lengths let rawHeads' = if headless then replicate (length dashes) "" else rawHeads heads <- fmap sequence $ mapM (parseFromString' (mconcat <$> many plain).trim) rawHeads' return (heads, aligns, indices) -- Returns an alignment type for a table, based on a list of strings -- (the rows of the column header) and a number (the length of the -- dashed line under the rows. alignType :: [Text] -> Int -> Alignment alignType [] _ = AlignDefault alignType strLst len = let nonempties = filter (not . T.null) $ map trimr strLst (leftSpace, rightSpace) = case sortOn T.length nonempties of (x:_) -> (T.head x `elem` [' ', '\t'], T.length x < len) [] -> (False, False) in case (leftSpace, rightSpace) of (True, False) -> AlignRight (False, True) -> AlignLeft (True, True) -> AlignCenter (False, False) -> AlignDefault -- Parse a table footer - dashed lines followed by blank line. tableFooter :: PandocMonad m => MarkdownParser m Text tableFooter = try $ skipNonindentSpaces >> many1 (dashedLine '-') >> blanklines' -- Parse a table separator - dashed line. tableSep :: PandocMonad m => MarkdownParser m Char tableSep = try $ skipNonindentSpaces >> many1 (dashedLine '-') >> char '\n' -- Parse a raw line and split it into chunks by indices. rawTableLine :: PandocMonad m => [Int] -> MarkdownParser m [Text] rawTableLine indices = do notFollowedBy' (blanklines' <|> tableFooter) line <- take1WhileP (/='\n') <* newline return $ map trim $ tail $ splitTextByIndices (init indices) line -- Parse a table line and return a list of lists of blocks (columns). tableLine :: PandocMonad m => [Int] -> MarkdownParser m (F [Blocks]) tableLine indices = rawTableLine indices >>= fmap sequence . mapM (parseFromString' (mconcat <$> many plain)) -- Parse a multiline table row and return a list of blocks (columns). multilineRow :: PandocMonad m => [Int] -> MarkdownParser m (F [Blocks]) multilineRow indices = do colLines <- many1 (rawTableLine indices) let cols = map T.unlines $ transpose colLines fmap sequence $ mapM (parseFromString' (mconcat <$> many plain)) cols -- Parses a table caption: inlines beginning with 'Table:' -- and followed by blank lines. tableCaption :: PandocMonad m => MarkdownParser m (F Inlines) tableCaption = try $ do guardEnabled Ext_table_captions skipNonindentSpaces (string ":" <* notFollowedBy (satisfy isPunctuation)) <|> string "Table:" trimInlinesF <$> inlines1 <* blanklines -- Parse a simple table with '---' header and one line per row. simpleTable :: PandocMonad m => Bool -- ^ Headerless table -> MarkdownParser m ([Alignment], [Double], F [Blocks], F [[Blocks]]) simpleTable headless = do (aligns, _widths, heads', lines') <- tableWith (simpleTableHeader headless) tableLine (return ()) (if headless then tableFooter else tableFooter <|> blanklines') -- Simple tables get 0s for relative column widths (i.e., use default) return (aligns, replicate (length aligns) 0, heads', lines') -- Parse a multiline table: starts with row of '-' on top, then header -- (which may be multiline), then the rows, -- which may be multiline, separated by blank lines, and -- ending with a footer (dashed line followed by blank line). multilineTable :: PandocMonad m => Bool -- ^ Headerless table -> MarkdownParser m ([Alignment], [Double], F [Blocks], F [[Blocks]]) multilineTable headless = tableWith (multilineTableHeader headless) multilineRow blanklines tableFooter multilineTableHeader :: PandocMonad m => Bool -- ^ Headerless table -> MarkdownParser m (F [Blocks], [Alignment], [Int]) multilineTableHeader headless = try $ do unless headless $ tableSep >> notFollowedBy blankline rawContent <- if headless then return $ repeat "" else many1 $ notFollowedBy tableSep >> anyLine initSp <- nonindentSpaces dashes <- many1 (dashedLine '-') newline let (lengths, lines') = unzip dashes let indices = scanl (+) (T.length initSp) lines' -- compensate for the fact that intercolumn spaces are -- not included in the last index: let indices' = case reverse indices of [] -> [] (x:xs) -> reverse (x+1:xs) rawHeadsList <- if headless then fmap (map (:[]) . tail . splitTextByIndices (init indices')) $ lookAhead anyLine else return $ transpose $ map (tail . splitTextByIndices (init indices')) rawContent let aligns = zipWith alignType rawHeadsList lengths let rawHeads = if headless then replicate (length dashes) "" else map (T.unlines . map trim) rawHeadsList heads <- fmap sequence $ mapM (parseFromString' (mconcat <$> many plain).trim) rawHeads return (heads, aligns, indices') -- Parse a grid table: starts with row of '-' on top, then header -- (which may be grid), then the rows, -- which may be grid, separated by blank lines, and -- ending with a footer (dashed line followed by blank line). gridTable :: PandocMonad m => Bool -- ^ Headerless table -> MarkdownParser m ([Alignment], [Double], F [Blocks], F [[Blocks]]) gridTable headless = gridTableWith' parseBlocks headless pipeBreak :: PandocMonad m => MarkdownParser m ([Alignment], [Int]) pipeBreak = try $ do nonindentSpaces openPipe <- (True <$ char '|') <|> return False first <- pipeTableHeaderPart rest <- many $ sepPipe *> pipeTableHeaderPart -- surrounding pipes needed for a one-column table: guard $ not (null rest && not openPipe) optional (char '|') blankline return $ unzip (first:rest) pipeTable :: PandocMonad m => MarkdownParser m ([Alignment], [Double], F [Blocks], F [[Blocks]]) pipeTable = try $ do nonindentSpaces lookAhead nonspaceChar (heads,(aligns, seplengths)) <- (,) <$> pipeTableRow <*> pipeBreak let heads' = take (length aligns) <$> heads lines' <- many pipeTableRow let lines'' = map (take (length aligns) <$>) lines' let maxlength = maximum $ map (\x -> T.length . stringify $ runF x def) (heads' : lines'') numColumns <- getOption readerColumns let widths = if maxlength > numColumns then map (\len -> fromIntegral len / fromIntegral (sum seplengths)) seplengths else replicate (length aligns) 0.0 return (aligns, widths, heads', sequence lines'') sepPipe :: PandocMonad m => MarkdownParser m () sepPipe = try $ do char '|' <|> char '+' notFollowedBy blankline -- parse a row, also returning probable alignments for org-table cells pipeTableRow :: PandocMonad m => MarkdownParser m (F [Blocks]) pipeTableRow = try $ do scanForPipe skipMany spaceChar openPipe <- (True <$ char '|') <|> return False -- split into cells let chunk = void (code <|> math <|> rawHtmlInline <|> escapedChar <|> rawLaTeXInline') <|> void (noneOf "|\n\r") let cellContents = ((trim . snd) <$> withRaw (many chunk)) >>= parseFromString' pipeTableCell cells <- cellContents `sepEndBy1` char '|' -- surrounding pipes needed for a one-column table: guard $ not (length cells == 1 && not openPipe) blankline return $ sequence cells pipeTableCell :: PandocMonad m => MarkdownParser m (F Blocks) pipeTableCell = (do result <- inlines1 return $ B.plain <$> result) <|> return mempty pipeTableHeaderPart :: PandocMonad m => ParserT Text st m (Alignment, Int) pipeTableHeaderPart = try $ do skipMany spaceChar left <- optionMaybe (char ':') pipe <- many1 (char '-') right <- optionMaybe (char ':') skipMany spaceChar let len = length pipe + maybe 0 (const 1) left + maybe 0 (const 1) right return (case (left,right) of (Nothing,Nothing) -> AlignDefault (Just _,Nothing) -> AlignLeft (Nothing,Just _) -> AlignRight (Just _,Just _) -> AlignCenter, len) -- Succeed only if current line contains a pipe. scanForPipe :: PandocMonad m => ParserT Text st m () scanForPipe = do inp <- getInput case T.break (\c -> c == '\n' || c == '|') inp of (_, T.uncons -> Just ('|', _)) -> return () _ -> mzero -- | Parse a table using 'headerParser', 'rowParser', -- 'lineParser', and 'footerParser'. Variant of the version in -- Text.Pandoc.Parsing. tableWith :: PandocMonad m => MarkdownParser m (F [Blocks], [Alignment], [Int]) -> ([Int] -> MarkdownParser m (F [Blocks])) -> MarkdownParser m sep -> MarkdownParser m end -> MarkdownParser m ([Alignment], [Double], F [Blocks], F [[Blocks]]) tableWith headerParser rowParser lineParser footerParser = try $ do (heads, aligns, indices) <- headerParser lines' <- fmap sequence $ rowParser indices `sepEndBy1` lineParser footerParser numColumns <- getOption readerColumns let widths = if null indices then replicate (length aligns) 0.0 else widthsFromIndices numColumns indices return (aligns, widths, heads, lines') table :: PandocMonad m => MarkdownParser m (F Blocks) table = try $ do frontCaption <- option Nothing (Just <$> tableCaption) (aligns, widths, heads, lns) <- try (guardEnabled Ext_pipe_tables >> scanForPipe >> pipeTable) <|> try (guardEnabled Ext_multiline_tables >> multilineTable False) <|> try (guardEnabled Ext_simple_tables >> (simpleTable True <|> simpleTable False)) <|> try (guardEnabled Ext_multiline_tables >> multilineTable True) <|> try (guardEnabled Ext_grid_tables >> (gridTable False <|> gridTable True)) "table" optional blanklines caption <- case frontCaption of Nothing -> option (return mempty) tableCaption Just c -> return c -- renormalize widths if greater than 100%: let totalWidth = sum widths let widths' = if totalWidth < 1 then widths else map (/ totalWidth) widths return $ do caption' <- caption heads' <- heads lns' <- lns return $ B.table caption' (zip aligns widths') heads' lns' -- -- inline -- inlines :: PandocMonad m => MarkdownParser m (F Inlines) inlines = mconcat <$> many inline inlines1 :: PandocMonad m => MarkdownParser m (F Inlines) inlines1 = mconcat <$> many1 inline inline :: PandocMonad m => MarkdownParser m (F Inlines) inline = choice [ whitespace , bareURL , str , endline , code , strongOrEmph , note , cite , bracketedSpan , link , image , math , strikeout , subscript , superscript , inlineNote -- after superscript because of ^[link](/foo)^ , autoLink , spanHtml , rawHtmlInline , escapedNewline , escapedChar , rawLaTeXInline' , exampleRef , smart , return . B.singleton <$> charRef , emoji , symbol , ltSign ] "inline" escapedChar' :: PandocMonad m => MarkdownParser m Char escapedChar' = try $ do char '\\' (guardEnabled Ext_all_symbols_escapable >> satisfy (not . isAlphaNum)) <|> (guardEnabled Ext_angle_brackets_escapable >> oneOf "\\`*_{}[]()>#+-.!~\"<>") <|> oneOf "\\`*_{}[]()>#+-.!~\"" escapedNewline :: PandocMonad m => MarkdownParser m (F Inlines) escapedNewline = try $ do guardEnabled Ext_escaped_line_breaks char '\\' lookAhead (char '\n') -- don't consume the newline (see #3730) return $ return B.linebreak escapedChar :: PandocMonad m => MarkdownParser m (F Inlines) escapedChar = do result <- escapedChar' case result of ' ' -> return $ return $ B.str "\160" -- "\ " is a nonbreaking space _ -> return $ return $ B.str $ T.singleton result ltSign :: PandocMonad m => MarkdownParser m (F Inlines) ltSign = do guardDisabled Ext_raw_html <|> (notFollowedByHtmlCloser >> notFollowedBy' (htmlTag isBlockTag)) char '<' return $ return $ B.str "<" exampleRef :: PandocMonad m => MarkdownParser m (F Inlines) exampleRef = try $ do guardEnabled Ext_example_lists char '@' lab <- many1Char (alphaNum <|> oneOf "-_") return $ do st <- askF return $ case M.lookup lab (stateExamples st) of Just n -> B.str $ tshow n Nothing -> B.str $ "@" <> lab symbol :: PandocMonad m => MarkdownParser m (F Inlines) symbol = do result <- noneOf "<\\\n\t " <|> try (do lookAhead $ char '\\' notFollowedBy' (() <$ rawTeXBlock) char '\\') return $ return $ B.str $ T.singleton result -- parses inline code, between n `s and n `s code :: PandocMonad m => MarkdownParser m (F Inlines) code = try $ do starts <- many1 (char '`') skipSpaces result <- (trim . T.concat) <$> manyTill (notFollowedBy (inList >> listStart) >> (many1Char (noneOf "`\n") <|> many1Char (char '`') <|> (char '\n' >> notFollowedBy' blankline >> return " "))) (try (skipSpaces >> count (length starts) (char '`') >> notFollowedBy (char '`'))) rawattr <- (Left <$> try (guardEnabled Ext_raw_attribute >> rawAttribute)) <|> (Right <$> option ("",[],[]) (try (guardEnabled Ext_inline_code_attributes >> attributes))) return $ return $ case rawattr of Left syn -> B.rawInline syn result Right attr -> B.codeWith attr result math :: PandocMonad m => MarkdownParser m (F Inlines) math = (return . B.displayMath <$> (mathDisplay >>= applyMacros)) <|> (return . B.math <$> (mathInline >>= applyMacros)) <+?> (guardEnabled Ext_smart *> (return <$> apostrophe) <* notFollowedBy (space <|> satisfy isPunctuation)) -- Parses material enclosed in *s, **s, _s, or __s. -- Designed to avoid backtracking. enclosure :: PandocMonad m => Char -> MarkdownParser m (F Inlines) enclosure c = do -- we can't start an enclosure with _ if after a string and -- the intraword_underscores extension is enabled: guardDisabled Ext_intraword_underscores <|> guard (c == '*') <|> (guard =<< notAfterString) cs <- many1Char (char c) (return (B.str cs) <>) <$> whitespace <|> case T.length cs of 3 -> three c 2 -> two c mempty 1 -> one c mempty _ -> return (return $ B.str cs) ender :: PandocMonad m => Char -> Int -> MarkdownParser m () ender c n = try $ do count n (char c) guard (c == '*') <|> guardDisabled Ext_intraword_underscores <|> notFollowedBy alphaNum -- Parse inlines til you hit one c or a sequence of two cs. -- If one c, emit emph and then parse two. -- If two cs, emit strong and then parse one. -- Otherwise, emit ccc then the results. three :: PandocMonad m => Char -> MarkdownParser m (F Inlines) three c = do contents <- mconcat <$> many (notFollowedBy (ender c 1) >> inline) (ender c 3 >> updateLastStrPos >> return ((B.strong . B.emph) <$> contents)) <|> (ender c 2 >> updateLastStrPos >> one c (B.strong <$> contents)) <|> (ender c 1 >> updateLastStrPos >> two c (B.emph <$> contents)) <|> return (return (B.str $ T.pack [c,c,c]) <> contents) -- Parse inlines til you hit two c's, and emit strong. -- If you never do hit two cs, emit ** plus inlines parsed. two :: PandocMonad m => Char -> F Inlines -> MarkdownParser m (F Inlines) two c prefix' = do contents <- mconcat <$> many (try $ notFollowedBy (ender c 2) >> inline) (ender c 2 >> updateLastStrPos >> return (B.strong <$> (prefix' <> contents))) <|> return (return (B.str $ T.pack [c,c]) <> (prefix' <> contents)) -- Parse inlines til you hit a c, and emit emph. -- If you never hit a c, emit * plus inlines parsed. one :: PandocMonad m => Char -> F Inlines -> MarkdownParser m (F Inlines) one c prefix' = do contents <- mconcat <$> many ( (notFollowedBy (ender c 1) >> inline) <|> try (string [c,c] >> notFollowedBy (ender c 1) >> two c mempty) ) (ender c 1 >> updateLastStrPos >> return (B.emph <$> (prefix' <> contents))) <|> return (return (B.str $ T.singleton c) <> (prefix' <> contents)) strongOrEmph :: PandocMonad m => MarkdownParser m (F Inlines) strongOrEmph = enclosure '*' <|> enclosure '_' -- | Parses a list of inlines between start and end delimiters. inlinesBetween :: PandocMonad m => (Show b) => MarkdownParser m a -> MarkdownParser m b -> MarkdownParser m (F Inlines) inlinesBetween start end = (trimInlinesF . mconcat) <$> try (start >> many1Till inner end) where inner = innerSpace <|> (notFollowedBy' (() <$ whitespace) >> inline) innerSpace = try $ whitespace <* notFollowedBy' end strikeout :: PandocMonad m => MarkdownParser m (F Inlines) strikeout = fmap B.strikeout <$> (guardEnabled Ext_strikeout >> inlinesBetween strikeStart strikeEnd) where strikeStart = string "~~" >> lookAhead nonspaceChar >> notFollowedBy (char '~') strikeEnd = try $ string "~~" superscript :: PandocMonad m => MarkdownParser m (F Inlines) superscript = fmap B.superscript <$> try (do guardEnabled Ext_superscript char '^' mconcat <$> many1Till (do notFollowedBy spaceChar notFollowedBy newline inline) (char '^')) subscript :: PandocMonad m => MarkdownParser m (F Inlines) subscript = fmap B.subscript <$> try (do guardEnabled Ext_subscript char '~' mconcat <$> many1Till (do notFollowedBy spaceChar notFollowedBy newline inline) (char '~')) whitespace :: PandocMonad m => MarkdownParser m (F Inlines) whitespace = spaceChar >> return <$> (lb <|> regsp) "whitespace" where lb = spaceChar >> skipMany spaceChar >> option B.space (endline >> return B.linebreak) regsp = skipMany spaceChar >> return B.space nonEndline :: PandocMonad m => ParserT Text st m Char nonEndline = satisfy (/='\n') str :: PandocMonad m => MarkdownParser m (F Inlines) str = do result <- mconcat <$> many1 ( take1WhileP isAlphaNum <|> "." <$ try (char '.' <* notFollowedBy (char '.')) ) updateLastStrPos (do guardEnabled Ext_smart abbrevs <- getOption readerAbbreviations if not (T.null result) && T.last result == '.' && result `Set.member` abbrevs then try (do ils <- whitespace -- ?? lookAhead alphaNum -- replace space after with nonbreaking space -- if softbreak, move before abbrev if possible (#4635) return $ do ils' <- ils case B.toList ils' of [Space] -> return (B.str result <> B.str "\160") _ -> return (B.str result <> ils')) <|> return (return (B.str result)) else return (return (B.str result))) <|> return (return (B.str result)) -- an endline character that can be treated as a space, not a structural break endline :: PandocMonad m => MarkdownParser m (F Inlines) endline = try $ do newline notFollowedBy blankline getState >>= guard . stateAllowLineBreaks -- parse potential list-starts differently if in a list: notFollowedBy (inList >> listStart) guardDisabled Ext_lists_without_preceding_blankline <|> notFollowedBy listStart guardEnabled Ext_blank_before_blockquote <|> notFollowedBy emailBlockQuoteStart guardEnabled Ext_blank_before_header <|> (notFollowedBy . char =<< atxChar) -- atx header guardDisabled Ext_backtick_code_blocks <|> notFollowedBy (() <$ (lookAhead (char '`') >> codeBlockFenced)) notFollowedByHtmlCloser notFollowedByDivCloser (eof >> return mempty) <|> (guardEnabled Ext_hard_line_breaks >> return (return B.linebreak)) <|> (guardEnabled Ext_ignore_line_breaks >> return mempty) <|> (skipMany spaceChar >> return (return B.softbreak)) -- -- links -- -- a reference label for a link reference :: PandocMonad m => MarkdownParser m (F Inlines, Text) reference = do guardDisabled Ext_footnotes <|> notFollowedBy' (string "[^") guardDisabled Ext_citations <|> notFollowedBy' (string "[@") withRaw $ trimInlinesF <$> inlinesInBalancedBrackets parenthesizedChars :: PandocMonad m => MarkdownParser m Text parenthesizedChars = do result <- charsInBalanced '(' ')' litChar return $ "(" <> result <> ")" -- source for a link, with optional title source :: PandocMonad m => MarkdownParser m (Text, Text) source = do char '(' skipSpaces let urlChunk = try parenthesizedChars <|> (notFollowedBy (oneOf " )") >> countChar 1 litChar) <|> try (many1Char spaceChar <* notFollowedBy (oneOf "\"')")) let sourceURL = (T.unwords . T.words . T.concat) <$> many urlChunk let betweenAngles = try $ char '<' >> manyTillChar litChar (char '>') src <- try betweenAngles <|> sourceURL tit <- option "" $ try $ spnl >> linkTitle skipSpaces char ')' return (escapeURI $ trimr src, tit) linkTitle :: PandocMonad m => MarkdownParser m Text linkTitle = quotedTitle '"' <|> quotedTitle '\'' link :: PandocMonad m => MarkdownParser m (F Inlines) link = try $ do st <- getState guard $ stateAllowLinks st setState $ st{ stateAllowLinks = False } (lab,raw) <- reference setState $ st{ stateAllowLinks = True } regLink B.linkWith lab <|> referenceLink B.linkWith (lab,raw) bracketedSpan :: PandocMonad m => MarkdownParser m (F Inlines) bracketedSpan = try $ do guardEnabled Ext_bracketed_spans (lab,_) <- reference attr <- attributes return $ if isSmallCaps attr then B.smallcaps <$> lab else B.spanWith attr <$> lab -- | We treat a span as SmallCaps if class is "smallcaps" (and -- no other attributes are set or if style is "font-variant:small-caps" -- (and no other attributes are set). isSmallCaps :: Attr -> Bool isSmallCaps ("",["smallcaps"],[]) = True isSmallCaps ("",[],kvs) = case lookup "style" kvs of Just s -> T.toLower (T.filter (`notElem` [' ', '\t', ';']) s) == "font-variant:small-caps" Nothing -> False isSmallCaps _ = False regLink :: PandocMonad m => (Attr -> Text -> Text -> Inlines -> Inlines) -> F Inlines -> MarkdownParser m (F Inlines) regLink constructor lab = try $ do (src, tit) <- source attr <- option nullAttr $ guardEnabled Ext_link_attributes >> attributes return $ constructor attr src tit <$> lab -- a link like [this][ref] or [this][] or [this] referenceLink :: PandocMonad m => (Attr -> Text -> Text -> Inlines -> Inlines) -> (F Inlines, Text) -> MarkdownParser m (F Inlines) referenceLink constructor (lab, raw) = do sp <- (True <$ lookAhead (char ' ')) <|> return False (_,raw') <- option (mempty, "") $ lookAhead (try (do guardEnabled Ext_citations guardDisabled Ext_spaced_reference_links <|> spnl normalCite return (mempty, ""))) <|> try ((guardDisabled Ext_spaced_reference_links <|> spnl) >> reference) when (raw' == "") $ guardEnabled Ext_shortcut_reference_links let labIsRef = raw' == "" || raw' == "[]" let key = toKey $ if labIsRef then raw else raw' parsedRaw <- parseFromString' inlines raw' fallback <- parseFromString' inlines $ dropBrackets raw implicitHeaderRefs <- option False $ True <$ guardEnabled Ext_implicit_header_references let makeFallback = do parsedRaw' <- parsedRaw fallback' <- fallback return $ B.str "[" <> fallback' <> B.str "]" <> (if sp && not (T.null raw) then B.space else mempty) <> parsedRaw' return $ do keys <- asksF stateKeys case M.lookup key keys of Nothing -> if implicitHeaderRefs then do headerKeys <- asksF stateHeaderKeys case M.lookup key headerKeys of Just ((src, tit), _) -> constructor nullAttr src tit <$> lab Nothing -> makeFallback else makeFallback Just ((src,tit), attr) -> constructor attr src tit <$> lab dropBrackets :: Text -> Text dropBrackets = dropRB . dropLB where dropRB (T.unsnoc -> Just (xs,']')) = xs dropRB xs = xs dropLB (T.uncons -> Just ('[',xs)) = xs dropLB xs = xs bareURL :: PandocMonad m => MarkdownParser m (F Inlines) bareURL = try $ do guardEnabled Ext_autolink_bare_uris getState >>= guard . stateAllowLinks (cls, (orig, src)) <- (("uri",) <$> uri) <|> (("email",) <$> emailAddress) notFollowedBy $ try $ spaces >> htmlTag (~== TagClose ("a" :: Text)) return $ return $ B.linkWith ("",[cls],[]) src "" (B.str orig) autoLink :: PandocMonad m => MarkdownParser m (F Inlines) autoLink = try $ do getState >>= guard . stateAllowLinks char '<' (cls, (orig, src)) <- (("uri",) <$> uri) <|> (("email",) <$> emailAddress) -- in rare cases, something may remain after the uri parser -- is finished, because the uri parser tries to avoid parsing -- final punctuation. for example: in ``, -- the URI parser will stop before the dashes. extra <- fromEntities <$> manyTillChar nonspaceChar (char '>') attr <- option ("", [cls], []) $ try $ guardEnabled Ext_link_attributes >> attributes return $ return $ B.linkWith attr (src <> escapeURI extra) "" (B.str $ orig <> extra) image :: PandocMonad m => MarkdownParser m (F Inlines) image = try $ do char '!' (lab,raw) <- reference defaultExt <- getOption readerDefaultImageExtension let constructor attr' src = case takeExtension (T.unpack src) of "" -> B.imageWith attr' (T.pack $ addExtension (T.unpack src) $ T.unpack defaultExt) _ -> B.imageWith attr' src regLink constructor lab <|> referenceLink constructor (lab,raw) note :: PandocMonad m => MarkdownParser m (F Inlines) note = try $ do guardEnabled Ext_footnotes ref <- noteMarker updateState $ \st -> st{ stateNoteRefs = Set.insert ref (stateNoteRefs st) } return $ do notes <- asksF stateNotes' case M.lookup ref notes of Nothing -> return $ B.str $ "[^" <> ref <> "]" Just (_pos, contents) -> do st <- askF -- process the note in a context that doesn't resolve -- notes, to avoid infinite looping with notes inside -- notes: let contents' = runF contents st{ stateNotes' = M.empty } return $ B.note contents' inlineNote :: PandocMonad m => MarkdownParser m (F Inlines) inlineNote = try $ do guardEnabled Ext_inline_notes char '^' contents <- inlinesInBalancedBrackets return $ B.note . B.para <$> contents rawLaTeXInline' :: PandocMonad m => MarkdownParser m (F Inlines) rawLaTeXInline' = try $ do guardEnabled Ext_raw_tex notFollowedBy' rawConTeXtEnvironment s <- rawLaTeXInline return $ return $ B.rawInline "tex" s -- "tex" because it might be context rawConTeXtEnvironment :: PandocMonad m => ParserT Text st m Text rawConTeXtEnvironment = try $ do string "\\start" completion <- inBrackets (letter <|> digit <|> spaceChar) <|> many1Char letter contents <- manyTill (rawConTeXtEnvironment <|> countChar 1 anyChar) (try $ string "\\stop" >> textStr completion) return $ "\\start" <> completion <> T.concat contents <> "\\stop" <> completion inBrackets :: PandocMonad m => ParserT Text st m Char -> ParserT Text st m Text inBrackets parser = do char '[' contents <- manyChar parser char ']' return $ "[" <> contents <> "]" spanHtml :: PandocMonad m => MarkdownParser m (F Inlines) spanHtml = try $ do guardEnabled Ext_native_spans (TagOpen _ attrs, _) <- htmlTag (~== TagOpen ("span" :: Text) []) contents <- mconcat <$> manyTill inline (htmlTag (~== TagClose ("span" :: Text))) let ident = fromMaybe "" $ lookup "id" attrs let classes = maybe [] T.words $ lookup "class" attrs let keyvals = [(k,v) | (k,v) <- attrs, k /= "id" && k /= "class"] return $ if isSmallCaps (ident, classes, keyvals) then B.smallcaps <$> contents else B.spanWith (ident, classes, keyvals) <$> contents divHtml :: PandocMonad m => MarkdownParser m (F Blocks) divHtml = try $ do guardEnabled Ext_native_divs (TagOpen _ attrs, rawtag) <- htmlTag (~== TagOpen ("div" :: Text) []) -- we set stateInHtmlBlock so that closing tags that can be either block or -- inline will not be parsed as inline tags oldInHtmlBlock <- stateInHtmlBlock <$> getState updateState $ \st -> st{ stateInHtmlBlock = Just "div" } bls <- option "" (blankline >> option "" blanklines) contents <- mconcat <$> many (notFollowedBy' (htmlTag (~== TagClose ("div" :: Text))) >> block) closed <- option False (True <$ htmlTag (~== TagClose ("div" :: Text))) if closed then do updateState $ \st -> st{ stateInHtmlBlock = oldInHtmlBlock } let ident = fromMaybe "" $ lookup "id" attrs let classes = maybe [] T.words $ lookup "class" attrs let keyvals = [(k,v) | (k,v) <- attrs, k /= "id" && k /= "class"] return $ B.divWith (ident, classes, keyvals) <$> contents else -- avoid backtracing return $ return (B.rawBlock "html" (rawtag <> bls)) <> contents divFenced :: PandocMonad m => MarkdownParser m (F Blocks) divFenced = try $ do guardEnabled Ext_fenced_divs string ":::" skipMany (char ':') skipMany spaceChar attribs <- attributes <|> ((\x -> ("",[x],[])) <$> many1Char nonspaceChar) skipMany spaceChar skipMany (char ':') blankline updateState $ \st -> st{ stateFencedDivLevel = stateFencedDivLevel st + 1 } bs <- mconcat <$> manyTill block divFenceEnd updateState $ \st -> st{ stateFencedDivLevel = stateFencedDivLevel st - 1 } return $ B.divWith attribs <$> bs divFenceEnd :: PandocMonad m => MarkdownParser m () divFenceEnd = try $ do string ":::" skipMany (char ':') blanklines return () rawHtmlInline :: PandocMonad m => MarkdownParser m (F Inlines) rawHtmlInline = do guardEnabled Ext_raw_html inHtmlBlock <- stateInHtmlBlock <$> getState let isCloseBlockTag t = case inHtmlBlock of Just t' -> t ~== TagClose t' Nothing -> False mdInHtml <- option False $ ( guardEnabled Ext_markdown_in_html_blocks <|> guardEnabled Ext_markdown_attribute ) >> return True (_,result) <- htmlTag $ if mdInHtml then (\x -> isInlineTag x && not (isCloseBlockTag x)) else not . isTextTag return $ return $ B.rawInline "html" result -- Emoji emojiChars :: [Char] emojiChars = ['a'..'z'] ++ ['0'..'9'] ++ ['_','+','-'] emoji :: PandocMonad m => MarkdownParser m (F Inlines) emoji = try $ do guardEnabled Ext_emoji char ':' emojikey <- many1Char (oneOf emojiChars) char ':' case emojiToInline emojikey of Just i -> return (return $ B.singleton i) Nothing -> mzero -- Citations cite :: PandocMonad m => MarkdownParser m (F Inlines) cite = do guardEnabled Ext_citations textualCite <|> do (cs, raw) <- withRaw normalCite return $ flip B.cite (B.text raw) <$> cs textualCite :: PandocMonad m => MarkdownParser m (F Inlines) textualCite = try $ do (suppressAuthor, key) <- citeKey let first = Citation{ citationId = key , citationPrefix = [] , citationSuffix = [] , citationMode = if suppressAuthor then SuppressAuthor else AuthorInText , citationNoteNum = 0 , citationHash = 0 } mbrest <- option Nothing $ try $ spnl >> Just <$> withRaw normalCite case mbrest of Just (rest, raw) -> return $ (flip B.cite (B.text $ "@" <> key <> " " <> raw) . (first:)) <$> rest Nothing -> (do (cs, raw) <- withRaw $ bareloc first let (spaces',raw') = T.span isSpace raw spc | T.null spaces' = mempty | otherwise = B.space lab <- parseFromString' inlines $ dropBrackets raw' fallback <- referenceLink B.linkWith (lab,raw') return $ do fallback' <- fallback cs' <- cs return $ case B.toList fallback' of Link{}:_ -> B.cite [first] (B.str $ "@" <> key) <> spc <> fallback' _ -> B.cite cs' (B.text $ "@" <> key <> " " <> raw)) <|> return (do st <- askF return $ case M.lookup key (stateExamples st) of Just n -> B.str $ tshow n _ -> B.cite [first] $ B.str $ "@" <> key) bareloc :: PandocMonad m => Citation -> MarkdownParser m (F [Citation]) bareloc c = try $ do spnl char '[' notFollowedBy $ char '^' suff <- suffix rest <- option (return []) $ try $ char ';' >> citeList spnl char ']' notFollowedBy $ oneOf "[(" return $ do suff' <- suff rest' <- rest return $ c{ citationSuffix = B.toList suff' } : rest' normalCite :: PandocMonad m => MarkdownParser m (F [Citation]) normalCite = try $ do char '[' spnl citations <- citeList spnl char ']' return citations suffix :: PandocMonad m => MarkdownParser m (F Inlines) suffix = try $ do hasSpace <- option False (notFollowedBy nonspaceChar >> return True) spnl rest <- trimInlinesF . mconcat <$> many (notFollowedBy (oneOf ";]") >> inline) return $ if hasSpace then (B.space <>) <$> rest else rest prefix :: PandocMonad m => MarkdownParser m (F Inlines) prefix = trimInlinesF . mconcat <$> manyTill inline (char ']' <|> fmap (const ']') (lookAhead citeKey)) citeList :: PandocMonad m => MarkdownParser m (F [Citation]) citeList = fmap sequence $ sepBy1 citation (try $ char ';' >> spnl) citation :: PandocMonad m => MarkdownParser m (F Citation) citation = try $ do pref <- prefix (suppress_author, key) <- citeKey suff <- suffix return $ do x <- pref y <- suff return Citation{ citationId = key , citationPrefix = B.toList x , citationSuffix = B.toList y , citationMode = if suppress_author then SuppressAuthor else NormalCitation , citationNoteNum = 0 , citationHash = 0 } smart :: PandocMonad m => MarkdownParser m (F Inlines) smart = do guardEnabled Ext_smart doubleQuoted <|> singleQuoted <|> choice (map (return <$>) [apostrophe, dash, ellipses]) singleQuoted :: PandocMonad m => MarkdownParser m (F Inlines) singleQuoted = try $ do singleQuoteStart withQuoteContext InSingleQuote $ fmap B.singleQuoted . trimInlinesF . mconcat <$> many1Till inline singleQuoteEnd -- doubleQuoted will handle regular double-quoted sections, as well -- as dialogues with an open double-quote without a close double-quote -- in the same paragraph. doubleQuoted :: PandocMonad m => MarkdownParser m (F Inlines) doubleQuoted = try $ do doubleQuoteStart withQuoteContext InDoubleQuote $ fmap B.doubleQuoted . trimInlinesF . mconcat <$> many1Till inline doubleQuoteEnd pandoc-2.9.2.1/src/Text/Pandoc/Readers/MediaWiki.hs000066400000000000000000000616001363630463000216410ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RelaxedPolyRec #-} -- RelaxedPolyRec needed for inlinesBetween on GHC < 7 {- | Module : Text.Pandoc.Readers.MediaWiki Copyright : Copyright (C) 2012-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of mediawiki text to 'Pandoc' document. -} {- TODO: _ correctly handle tables within tables _ parse templates? -} module Text.Pandoc.Readers.MediaWiki ( readMediaWiki ) where import Control.Monad import Control.Monad.Except (throwError) import Data.Char (isDigit, isSpace) import qualified Data.Foldable as F import Data.List (intersperse) import Data.Maybe (fromMaybe, maybeToList) import Data.Sequence (ViewL (..), viewl, (<|)) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import Text.HTML.TagSoup import Text.Pandoc.Builder (Blocks, Inlines, trimInlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (nested) import Text.Pandoc.Readers.HTML (htmlTag, isBlockTag, isCommentTag) import Text.Pandoc.Shared (crFilter, safeRead, stringify, stripTrailingNewlines, trim, splitTextBy, tshow) import Text.Pandoc.Walk (walk) import Text.Pandoc.XML (fromEntities) -- | Read mediawiki from an input string and return a Pandoc document. readMediaWiki :: PandocMonad m => ReaderOptions -- ^ Reader options -> Text -- ^ String to parse (assuming @'\n'@ line endings) -> m Pandoc readMediaWiki opts s = do parsed <- readWithM parseMediaWiki MWState{ mwOptions = opts , mwMaxNestingLevel = 4 , mwNextLinkNumber = 1 , mwCategoryLinks = [] , mwIdentifierList = Set.empty , mwLogMessages = [] , mwInTT = False } (crFilter s <> "\n") case parsed of Right result -> return result Left e -> throwError e data MWState = MWState { mwOptions :: ReaderOptions , mwMaxNestingLevel :: Int , mwNextLinkNumber :: Int , mwCategoryLinks :: [Inlines] , mwIdentifierList :: Set.Set Text , mwLogMessages :: [LogMessage] , mwInTT :: Bool } type MWParser m = ParserT Text MWState m instance HasReaderOptions MWState where extractReaderOptions = mwOptions instance HasIdentifierList MWState where extractIdentifierList = mwIdentifierList updateIdentifierList f st = st{ mwIdentifierList = f $ mwIdentifierList st } instance HasLogMessages MWState where addLogMessage m s = s{ mwLogMessages = m : mwLogMessages s } getLogMessages = reverse . mwLogMessages -- -- auxiliary functions -- -- This is used to prevent exponential blowups for things like: -- ''a'''a''a'''a''a'''a''a'''a nested :: PandocMonad m => MWParser m a -> MWParser m a nested p = do nestlevel <- mwMaxNestingLevel `fmap` getState guard $ nestlevel > 0 updateState $ \st -> st{ mwMaxNestingLevel = mwMaxNestingLevel st - 1 } res <- p updateState $ \st -> st{ mwMaxNestingLevel = nestlevel } return res specialChars :: [Char] specialChars = "'[]<=&*{}|\":\\" spaceChars :: [Char] spaceChars = " \n\t" sym :: PandocMonad m => Text -> MWParser m () sym s = () <$ try (string $ T.unpack s) newBlockTags :: [Text] newBlockTags = ["haskell","syntaxhighlight","source","gallery","references"] isBlockTag' :: Tag Text -> Bool isBlockTag' tag@(TagOpen t _) = (isBlockTag tag || t `elem` newBlockTags) && t `notElem` eitherBlockOrInline isBlockTag' tag@(TagClose t) = (isBlockTag tag || t `elem` newBlockTags) && t `notElem` eitherBlockOrInline isBlockTag' tag = isBlockTag tag isInlineTag' :: Tag Text -> Bool isInlineTag' (TagComment _) = True isInlineTag' t = not (isBlockTag' t) eitherBlockOrInline :: [Text] eitherBlockOrInline = ["applet", "button", "del", "iframe", "ins", "map", "area", "object"] htmlComment :: PandocMonad m => MWParser m () htmlComment = () <$ htmlTag isCommentTag inlinesInTags :: PandocMonad m => Text -> MWParser m Inlines inlinesInTags tag = try $ do (_,raw) <- htmlTag (~== TagOpen tag []) if T.any (== '/') raw -- self-closing tag then return mempty else trimInlines . mconcat <$> manyTill inline (htmlTag (~== TagClose tag)) blocksInTags :: PandocMonad m => Text -> MWParser m Blocks blocksInTags tag = try $ do (_,raw) <- htmlTag (~== TagOpen tag []) let closer = if tag == "li" then htmlTag (~== TagClose ("li" :: Text)) <|> lookAhead ( htmlTag (~== TagOpen ("li" :: Text) []) <|> htmlTag (~== TagClose ("ol" :: Text)) <|> htmlTag (~== TagClose ("ul" :: Text))) else htmlTag (~== TagClose tag) if T.any (== '/') raw -- self-closing tag then return mempty else mconcat <$> manyTill block closer textInTags :: PandocMonad m => Text -> MWParser m Text textInTags tag = try $ do (_,raw) <- htmlTag (~== TagOpen tag []) if T.any (== '/') raw -- self-closing tag then return "" else T.pack <$> manyTill anyChar (htmlTag (~== TagClose tag)) -- -- main parser -- parseMediaWiki :: PandocMonad m => MWParser m Pandoc parseMediaWiki = do bs <- mconcat <$> many block spaces eof categoryLinks <- reverse . mwCategoryLinks <$> getState let categories = if null categoryLinks then mempty else B.para $ mconcat $ intersperse B.space categoryLinks reportLogMessages return $ B.doc $ bs <> categories -- -- block parsers -- block :: PandocMonad m => MWParser m Blocks block = do res <- mempty <$ skipMany1 blankline <|> table <|> header <|> hrule <|> orderedList <|> bulletList <|> definitionList <|> mempty <$ try (spaces *> htmlComment) <|> preformatted <|> blockTag <|> (B.rawBlock "mediawiki" <$> template) <|> para trace (T.take 60 $ tshow $ B.toList res) return res para :: PandocMonad m => MWParser m Blocks para = do contents <- trimInlines . mconcat <$> many1 inline if F.all (==Space) contents then return mempty else return $ B.para contents table :: PandocMonad m => MWParser m Blocks table = do tableStart styles <- option [] $ parseAttrs <* skipMany spaceChar <* optional (char '|') skipMany spaceChar optional $ template >> skipMany spaceChar optional blanklines let tableWidth = case lookup "width" styles of Just w -> fromMaybe 1.0 $ parseWidth w Nothing -> 1.0 caption <- option mempty tableCaption optional rowsep hasheader <- option False $ True <$ lookAhead (skipSpaces *> char '!') (cellspecs',hdr) <- unzip <$> tableRow let widths = map ((tableWidth *) . snd) cellspecs' let restwidth = tableWidth - sum widths let zerocols = length $ filter (==0.0) widths let defaultwidth = if zerocols == 0 || zerocols == length widths then 0.0 else restwidth / fromIntegral zerocols let widths' = map (\w -> if w == 0 then defaultwidth else w) widths let cellspecs = zip (map fst cellspecs') widths' rows' <- many $ try $ rowsep *> (map snd <$> tableRow) optional blanklines tableEnd let cols = length hdr let (headers,rows) = if hasheader then (hdr, rows') else (replicate cols mempty, hdr:rows') return $ B.table caption cellspecs headers rows parseAttrs :: PandocMonad m => MWParser m [(Text,Text)] parseAttrs = many1 parseAttr parseAttr :: PandocMonad m => MWParser m (Text, Text) parseAttr = try $ do skipMany spaceChar k <- many1Char letter char '=' v <- (char '"' >> many1TillChar (satisfy (/='\n')) (char '"')) <|> many1Char (satisfy $ \c -> not (isSpace c) && c /= '|') return (k,v) tableStart :: PandocMonad m => MWParser m () tableStart = try $ guardColumnOne *> skipSpaces *> sym "{|" tableEnd :: PandocMonad m => MWParser m () tableEnd = try $ guardColumnOne *> skipSpaces *> sym "|}" rowsep :: PandocMonad m => MWParser m () rowsep = try $ guardColumnOne *> skipSpaces *> sym "|-" <* many (char '-') <* optional parseAttrs <* blanklines cellsep :: PandocMonad m => MWParser m () cellsep = try $ do col <- sourceColumn <$> getPosition skipSpaces let pipeSep = do char '|' notFollowedBy (oneOf "-}+") if col == 1 then optional (char '|') else void (char '|') let exclSep = do char '!' if col == 1 then optional (char '!') else void (char '!') pipeSep <|> exclSep tableCaption :: PandocMonad m => MWParser m Inlines tableCaption = try $ do guardColumnOne skipSpaces sym "|+" optional (try $ parseAttrs *> skipSpaces *> char '|' *> blanklines) (trimInlines . mconcat) <$> many (notFollowedBy (cellsep <|> rowsep) *> inline) tableRow :: PandocMonad m => MWParser m [((Alignment, Double), Blocks)] tableRow = try $ skipMany htmlComment *> many tableCell tableCell :: PandocMonad m => MWParser m ((Alignment, Double), Blocks) tableCell = try $ do cellsep skipMany spaceChar attrs <- option [] $ try $ parseAttrs <* skipSpaces <* char '|' <* notFollowedBy (char '|') skipMany spaceChar pos' <- getPosition ls <- T.concat <$> many (notFollowedBy (cellsep <|> rowsep <|> tableEnd) *> ((snd <$> withRaw table) <|> countChar 1 anyChar)) bs <- parseFromString (do setPosition pos' mconcat <$> many block) ls let align = case lookup "align" attrs of Just "left" -> AlignLeft Just "right" -> AlignRight Just "center" -> AlignCenter _ -> AlignDefault let width = case lookup "width" attrs of Just xs -> fromMaybe 0.0 $ parseWidth xs Nothing -> 0.0 return ((align, width), bs) parseWidth :: Text -> Maybe Double parseWidth s = case T.unsnoc s of Just (ds, '%') | T.all isDigit ds -> safeRead $ "0." <> ds _ -> Nothing template :: PandocMonad m => MWParser m Text template = try $ do string "{{" notFollowedBy (char '{') lookAhead $ letter <|> digit <|> char ':' let chunk = template <|> variable <|> many1Char (noneOf "{}") <|> countChar 1 anyChar contents <- manyTill chunk (try $ string "}}") return $ "{{" <> T.concat contents <> "}}" blockTag :: PandocMonad m => MWParser m Blocks blockTag = do (tag, _) <- lookAhead $ htmlTag isBlockTag' case tag of TagOpen "blockquote" _ -> B.blockQuote <$> blocksInTags "blockquote" TagOpen "pre" _ -> B.codeBlock . trimCode <$> textInTags "pre" TagOpen "syntaxhighlight" attrs -> syntaxhighlight "syntaxhighlight" attrs TagOpen "source" attrs -> syntaxhighlight "source" attrs TagOpen "haskell" _ -> B.codeBlockWith ("",["haskell"],[]) . trimCode <$> textInTags "haskell" TagOpen "gallery" _ -> blocksInTags "gallery" TagOpen "p" _ -> mempty <$ htmlTag (~== tag) TagClose "p" -> mempty <$ htmlTag (~== tag) _ -> B.rawBlock "html" . snd <$> htmlTag (~== tag) trimCode :: Text -> Text trimCode t = case T.uncons t of Just ('\n', xs) -> stripTrailingNewlines xs _ -> stripTrailingNewlines t syntaxhighlight :: PandocMonad m => Text -> [Attribute Text] -> MWParser m Blocks syntaxhighlight tag attrs = try $ do let mblang = lookup "lang" attrs let mbstart = lookup "start" attrs let mbline = lookup "line" attrs let classes = maybeToList mblang ++ maybe [] (const ["numberLines"]) mbline let kvs = maybe [] (\x -> [("startFrom",x)]) mbstart contents <- textInTags tag return $ B.codeBlockWith ("",classes,kvs) $ trimCode contents hrule :: PandocMonad m => MWParser m Blocks hrule = B.horizontalRule <$ try (string "----" *> many (char '-') *> newline) guardColumnOne :: PandocMonad m => MWParser m () guardColumnOne = getPosition >>= \pos -> guard (sourceColumn pos == 1) preformatted :: PandocMonad m => MWParser m Blocks preformatted = try $ do guardColumnOne char ' ' let endline' = B.linebreak <$ try (newline <* char ' ') let whitespace' = B.str <$> many1Char ('\160' <$ spaceChar) let spToNbsp ' ' = '\160' spToNbsp x = x let nowiki' = mconcat . intersperse B.linebreak . map B.str . T.lines . fromEntities . T.map spToNbsp <$> try (htmlTag (~== TagOpen ("nowiki" :: Text) []) *> manyTillChar anyChar (htmlTag (~== TagClose ("nowiki" :: Text)))) let inline' = whitespace' <|> endline' <|> nowiki' <|> try (notFollowedBy newline *> inline) contents <- mconcat <$> many1 inline' let spacesStr (Str xs) = T.all isSpace xs spacesStr _ = False if F.all spacesStr contents then return mempty else return $ B.para $ encode contents encode :: Inlines -> Inlines encode = B.fromList . normalizeCode . B.toList . walk strToCode where strToCode (Str s) = Code ("",[],[]) s strToCode Space = Code ("",[],[]) " " strToCode x = x normalizeCode [] = [] normalizeCode (Code a1 x : Code a2 y : zs) | a1 == a2 = normalizeCode $ Code a1 (x <> y) : zs normalizeCode (x:xs) = x : normalizeCode xs header :: PandocMonad m => MWParser m Blocks header = try $ do guardColumnOne lev <- length <$> many1 (char '=') guard $ lev <= 6 contents <- trimInlines . mconcat <$> manyTill inline (count lev $ char '=') attr <- modifyIdentifier <$> registerHeader nullAttr contents return $ B.headerWith attr lev contents -- See #4731: modifyIdentifier :: Attr -> Attr modifyIdentifier (ident,cl,kv) = (ident',cl,kv) where ident' = T.map (\c -> if c == '-' then '_' else c) ident bulletList :: PandocMonad m => MWParser m Blocks bulletList = B.bulletList <$> ( many1 (listItem '*') <|> (htmlTag (~== TagOpen ("ul" :: Text) []) *> spaces *> many (listItem '*' <|> li) <* optional (htmlTag (~== TagClose ("ul" :: Text)))) ) orderedList :: PandocMonad m => MWParser m Blocks orderedList = (B.orderedList <$> many1 (listItem '#')) <|> try (do (tag,_) <- htmlTag (~== TagOpen ("ol" :: Text) []) spaces items <- many (listItem '#' <|> li) optional (htmlTag (~== TagClose ("ol" :: Text))) let start = fromMaybe 1 $ safeRead $ fromAttrib "start" tag return $ B.orderedListWith (start, DefaultStyle, DefaultDelim) items) definitionList :: PandocMonad m => MWParser m Blocks definitionList = B.definitionList <$> many1 defListItem defListItem :: PandocMonad m => MWParser m (Inlines, [Blocks]) defListItem = try $ do terms <- mconcat . intersperse B.linebreak <$> many defListTerm -- we allow dd with no dt, or dt with no dd defs <- if B.isNull terms then notFollowedBy (try $ skipMany1 (char ':') >> string "") *> many1 (listItem ':') else many (listItem ':') return (terms, defs) defListTerm :: PandocMonad m => MWParser m Inlines defListTerm = do guardColumnOne char ';' skipMany spaceChar pos' <- getPosition anyLine >>= parseFromString (do setPosition pos' trimInlines . mconcat <$> many inline) listStart :: PandocMonad m => Char -> MWParser m () listStart c = char c *> notFollowedBy listStartChar listStartChar :: PandocMonad m => MWParser m Char listStartChar = oneOf "*#;:" anyListStart :: PandocMonad m => MWParser m Char anyListStart = guardColumnOne >> oneOf "*#:;" li :: PandocMonad m => MWParser m Blocks li = lookAhead (htmlTag (~== TagOpen ("li" :: Text) [])) *> (firstParaToPlain <$> blocksInTags "li") <* spaces listItem :: PandocMonad m => Char -> MWParser m Blocks listItem c = try $ do guardColumnOne extras <- many (try $ char c <* lookAhead listStartChar) if null extras then listItem' c else do skipMany spaceChar pos' <- getPosition first <- T.concat <$> manyTill listChunk newline rest <- many (try $ string extras *> lookAhead listStartChar *> (T.concat <$> manyTill listChunk newline)) contents <- parseFromString (do setPosition pos' many1 $ listItem' c) (T.unlines (first : rest)) case c of '*' -> return $ B.bulletList contents '#' -> return $ B.orderedList contents ':' -> return $ B.definitionList [(mempty, contents)] _ -> mzero -- The point of this is to handle stuff like -- * {{cite book -- | blah -- | blah -- }} -- * next list item -- which seems to be valid mediawiki. listChunk :: PandocMonad m => MWParser m Text listChunk = template <|> countChar 1 anyChar listItem' :: PandocMonad m => Char -> MWParser m Blocks listItem' c = try $ do listStart c skipMany spaceChar pos' <- getPosition first <- T.concat <$> manyTill listChunk newline rest <- many (try $ char c *> lookAhead listStartChar *> (T.concat <$> manyTill listChunk newline)) parseFromString (do setPosition pos' firstParaToPlain . mconcat <$> many1 block) $ T.unlines $ first : rest firstParaToPlain :: Blocks -> Blocks firstParaToPlain contents = case viewl (B.unMany contents) of Para xs :< ys -> B.Many $ Plain xs <| ys _ -> contents -- -- inline parsers -- inline :: PandocMonad m => MWParser m Inlines inline = whitespace <|> url <|> str <|> doubleQuotes <|> strong <|> emph <|> image <|> internalLink <|> externalLink <|> math <|> inlineTag <|> B.singleton <$> charRef <|> inlineHtml <|> (B.rawInline "mediawiki" <$> variable) <|> (B.rawInline "mediawiki" <$> template) <|> special str :: PandocMonad m => MWParser m Inlines str = B.str <$> many1Char (noneOf $ specialChars ++ spaceChars) math :: PandocMonad m => MWParser m Inlines math = (B.displayMath . trim <$> try (many1 (char ':') >> textInTags "math")) <|> (B.math . trim <$> textInTags "math") <|> (B.displayMath . trim <$> try (dmStart *> manyTillChar anyChar dmEnd)) <|> (B.math . trim <$> try (mStart *> manyTillChar (satisfy (/='\n')) mEnd)) where dmStart = string "\\[" dmEnd = try (string "\\]") mStart = string "\\(" mEnd = try (string "\\)") variable :: PandocMonad m => MWParser m Text variable = try $ do string "{{{" contents <- manyTillChar anyChar (try $ string "}}}") return $ "{{{" <> contents <> "}}}" inlineTag :: PandocMonad m => MWParser m Inlines inlineTag = do (tag, _) <- lookAhead $ htmlTag isInlineTag' case tag of TagOpen "ref" _ -> B.note . B.plain <$> inlinesInTags "ref" TagOpen "nowiki" _ -> try $ do (_,raw) <- htmlTag (~== tag) if T.any (== '/') raw then return mempty else B.text . fromEntities <$> manyTillChar anyChar (htmlTag (~== TagClose ("nowiki" :: Text))) TagOpen "br" _ -> B.linebreak <$ (htmlTag (~== TagOpen ("br" :: Text) []) -- will get /> too *> optional blankline) TagOpen "strike" _ -> B.strikeout <$> inlinesInTags "strike" TagOpen "del" _ -> B.strikeout <$> inlinesInTags "del" TagOpen "sub" _ -> B.subscript <$> inlinesInTags "sub" TagOpen "sup" _ -> B.superscript <$> inlinesInTags "sup" TagOpen "code" _ -> encode <$> inlinesInTags "code" TagOpen "tt" _ -> do inTT <- mwInTT <$> getState updateState $ \st -> st{ mwInTT = True } result <- encode <$> inlinesInTags "tt" updateState $ \st -> st{ mwInTT = inTT } return result TagOpen "hask" _ -> B.codeWith ("",["haskell"],[]) <$> textInTags "hask" _ -> B.rawInline "html" . snd <$> htmlTag (~== tag) special :: PandocMonad m => MWParser m Inlines special = B.str <$> countChar 1 (notFollowedBy' (htmlTag isBlockTag') *> oneOf specialChars) inlineHtml :: PandocMonad m => MWParser m Inlines inlineHtml = B.rawInline "html" . snd <$> htmlTag isInlineTag' whitespace :: PandocMonad m => MWParser m Inlines whitespace = B.space <$ (skipMany1 spaceChar <|> htmlComment) <|> B.softbreak <$ endline endline :: PandocMonad m => MWParser m () endline = () <$ try (newline <* notFollowedBy spaceChar <* notFollowedBy newline <* notFollowedBy' hrule <* notFollowedBy tableStart <* notFollowedBy' header <* notFollowedBy anyListStart) imageIdentifiers :: PandocMonad m => [MWParser m ()] imageIdentifiers = [sym (identifier <> ":") | identifier <- identifiers] where identifiers = ["File", "Image", "Archivo", "Datei", "Fichier", "Bild"] image :: PandocMonad m => MWParser m Inlines image = try $ do sym "[[" choice imageIdentifiers fname <- addUnderscores <$> many1Char (noneOf "|]") _ <- many imageOption dims <- try (char '|' *> sepBy (manyChar digit) (char 'x') <* string "px") <|> return [] _ <- many imageOption let kvs = case dims of [w] -> [("width", w)] [w, h] -> [("width", w), ("height", h)] _ -> [] let attr = ("", [], kvs) caption <- (B.str fname <$ sym "]]") <|> try (char '|' *> (mconcat <$> manyTill inline (sym "]]"))) return $ B.imageWith attr fname ("fig:" <> stringify caption) caption imageOption :: PandocMonad m => MWParser m Text imageOption = try $ char '|' *> opt where opt = try (oneOfStrings [ "border", "thumbnail", "frameless" , "thumb", "upright", "left", "right" , "center", "none", "baseline", "sub" , "super", "top", "text-top", "middle" , "bottom", "text-bottom" ]) <|> try (textStr "frame") <|> try (oneOfStrings ["link=","alt=","page=","class="] <* many (noneOf "|]")) addUnderscores :: Text -> Text addUnderscores = T.intercalate "_" . splitTextBy sep where sep c = isSpace c || c == '_' internalLink :: PandocMonad m => MWParser m Inlines internalLink = try $ do sym "[[" pagename <- T.unwords . T.words <$> manyChar (noneOf "|]") label <- option (B.text pagename) $ char '|' *> ( (mconcat <$> many1 (notFollowedBy (char ']') *> inline)) -- the "pipe trick" -- [[Help:Contents|] -> "Contents" <|> return (B.text $ T.drop 1 $ T.dropWhile (/=':') pagename) ) sym "]]" linktrail <- B.text <$> manyChar letter let link = B.link (addUnderscores pagename) "wikilink" (label <> linktrail) if "Category:" `T.isPrefixOf` pagename then do updateState $ \st -> st{ mwCategoryLinks = link : mwCategoryLinks st } return mempty else return link externalLink :: PandocMonad m => MWParser m Inlines externalLink = try $ do char '[' (_, src) <- uri lab <- try (trimInlines . mconcat <$> (skipMany1 spaceChar *> manyTill inline (char ']'))) <|> do char ']' num <- mwNextLinkNumber <$> getState updateState $ \st -> st{ mwNextLinkNumber = num + 1 } return $ B.str $ tshow num return $ B.link src "" lab url :: PandocMonad m => MWParser m Inlines url = do (orig, src) <- uri return $ B.link src "" (B.str orig) -- | Parses a list of inlines between start and end delimiters. inlinesBetween :: (PandocMonad m, Show b) => MWParser m a -> MWParser m b -> MWParser m Inlines inlinesBetween start end = (trimInlines . mconcat) <$> try (start >> many1Till inner end) where inner = innerSpace <|> (notFollowedBy' (() <$ whitespace) >> inline) innerSpace = try $ whitespace <* notFollowedBy' end emph :: PandocMonad m => MWParser m Inlines emph = B.emph <$> nested (inlinesBetween start end) where start = sym "''" >> lookAhead nonspaceChar end = try $ notFollowedBy' (() <$ strong) >> sym "''" strong :: PandocMonad m => MWParser m Inlines strong = B.strong <$> nested (inlinesBetween start end) where start = sym "'''" >> lookAhead nonspaceChar end = try $ sym "'''" doubleQuotes :: PandocMonad m => MWParser m Inlines doubleQuotes = do guardEnabled Ext_smart inTT <- mwInTT <$> getState guard (not inTT) B.doubleQuoted <$> nested (inlinesBetween openDoubleQuote closeDoubleQuote) where openDoubleQuote = sym "\"" >> lookAhead nonspaceChar closeDoubleQuote = try $ sym "\"" ��������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Metadata.hs��������������������������������������������������0000664�0000000�0000000�00000011353�13636304630�0021516�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE RelaxedPolyRec #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Metadata Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Parse YAML/JSON metadata to 'Pandoc' 'Meta'. -} module Text.Pandoc.Readers.Metadata ( yamlBsToMeta ) where import Control.Monad import Control.Monad.Except (throwError) import qualified Data.ByteString.Lazy as BL import qualified Data.Map as M import Data.Text (Text) import qualified Data.Text as T import qualified Data.YAML as YAML import qualified Data.YAML.Event as YE import qualified Text.Pandoc.Builder as B import Text.Pandoc.Builder (Blocks) import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.Logging import Text.Pandoc.Parsing hiding (tableWith) import Text.Pandoc.Shared yamlBsToMeta :: PandocMonad m => ParserT Text ParserState m (F Blocks) -> BL.ByteString -> ParserT Text ParserState m (F Meta) yamlBsToMeta pBlocks bstr = do pos <- getPosition case YAML.decodeNode' YAML.failsafeSchemaResolver False False bstr of Right (YAML.Doc (YAML.Mapping _ _ o):_) -> fmap Meta <$> yamlMap pBlocks o Right [] -> return . return $ mempty Right [YAML.Doc (YAML.Scalar _ YAML.SNull)] -> return . return $ mempty Right _ -> do logMessage $ CouldNotParseYamlMetadata "not an object" pos return . return $ mempty Left (_pos, err') -> do logMessage $ CouldNotParseYamlMetadata (T.pack err') pos return . return $ mempty nodeToKey :: PandocMonad m => YAML.Node YE.Pos -> m Text nodeToKey (YAML.Scalar _ (YAML.SStr t)) = return t nodeToKey (YAML.Scalar _ (YAML.SUnknown _ t)) = return t nodeToKey _ = throwError $ PandocParseError "Non-string key in YAML mapping" toMetaValue :: PandocMonad m => ParserT Text ParserState m (F Blocks) -> Text -> ParserT Text ParserState m (F MetaValue) toMetaValue pBlocks x = -- Note: a standard quoted or unquoted YAML value will -- not end in a newline, but a "block" set off with -- `|` or `>` will. if "\n" `T.isSuffixOf` x then parseFromString' (asBlocks <$> pBlocks) (x <> "\n") else parseFromString' pInlines x where pInlines = do bs <- pBlocks return $ do bs' <- bs return $ case B.toList bs' of [Plain ils] -> MetaInlines ils [Para ils] -> MetaInlines ils xs -> MetaBlocks xs asBlocks p = MetaBlocks . B.toList <$> p checkBoolean :: Text -> Maybe Bool checkBoolean t | t == T.pack "true" || t == T.pack "True" || t == T.pack "TRUE" = Just True | t == T.pack "false" || t == T.pack "False" || t == T.pack "FALSE" = Just False | otherwise = Nothing yamlToMetaValue :: PandocMonad m => ParserT Text ParserState m (F Blocks) -> YAML.Node YE.Pos -> ParserT Text ParserState m (F MetaValue) yamlToMetaValue pBlocks (YAML.Scalar _ x) = case x of YAML.SStr t -> toMetaValue pBlocks t YAML.SBool b -> return $ return $ MetaBool b YAML.SFloat d -> return $ return $ MetaString $ tshow d YAML.SInt i -> return $ return $ MetaString $ tshow i YAML.SUnknown _ t -> case checkBoolean t of Just b -> return $ return $ MetaBool b Nothing -> toMetaValue pBlocks t YAML.SNull -> return $ return $ MetaString "" yamlToMetaValue pBlocks (YAML.Sequence _ _ xs) = do xs' <- mapM (yamlToMetaValue pBlocks) xs return $ do xs'' <- sequence xs' return $ B.toMetaValue xs'' yamlToMetaValue pBlocks (YAML.Mapping _ _ o) = fmap B.toMetaValue <$> yamlMap pBlocks o yamlToMetaValue _ _ = return $ return $ MetaString "" yamlMap :: PandocMonad m => ParserT Text ParserState m (F Blocks) -> M.Map (YAML.Node YE.Pos) (YAML.Node YE.Pos) -> ParserT Text ParserState m (F (M.Map Text MetaValue)) yamlMap pBlocks o = do kvs <- forM (M.toList o) $ \(key, v) -> do k <- nodeToKey key return (k, v) let kvs' = filter (not . ignorable . fst) kvs (fmap M.fromList . sequence) <$> mapM toMeta kvs' where ignorable t = "_" `T.isSuffixOf` t toMeta (k, v) = do fv <- yamlToMetaValue pBlocks v return $ do v' <- fv return (k, v') �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Muse.hs������������������������������������������������������0000664�0000000�0000000�00000105542�13636304630�0020713�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Muse Copyright : Copyright (C) 2017-2020 Alexander Krotov License : GNU GPL, version 2 or above Maintainer : Alexander Krotov Stability : alpha Portability : portable Conversion of Muse text to 'Pandoc' document. -} {- TODO: - tag -} module Text.Pandoc.Readers.Muse (readMuse) where import Control.Monad import Control.Monad.Reader import Control.Monad.Except (throwError) import Data.Bifunctor import Data.Default import Data.List (transpose, uncons) import qualified Data.Map as M import qualified Data.Set as Set import Data.Maybe (fromMaybe, isNothing, maybeToList) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Builder (Blocks, Inlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.Definition import Text.Pandoc.Error (PandocError (PandocParsecError)) import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (F) import Text.Pandoc.Shared (crFilter, trimr, underlineSpan, tshow) -- | Read Muse from an input string and return a Pandoc document. readMuse :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readMuse opts s = do let input = crFilter s res <- flip runReaderT def $ runParserT parseMuse def{ museOptions = opts } "source" input case res of Left e -> throwError $ PandocParsecError input e Right d -> return d type F = Future MuseState data MuseState = MuseState { museMeta :: F Meta -- ^ Document metadata , museOptions :: ReaderOptions , museIdentifierList :: Set.Set Text , museLastSpacePos :: Maybe SourcePos -- ^ Position after last space or newline parsed , museLastStrPos :: Maybe SourcePos -- ^ Position after last str parsed , museLogMessages :: [LogMessage] , museNotes :: M.Map Text (SourcePos, F Blocks) } instance Default MuseState where def = MuseState { museMeta = return nullMeta , museOptions = def , museIdentifierList = Set.empty , museLastStrPos = Nothing , museLastSpacePos = Nothing , museLogMessages = [] , museNotes = M.empty } data MuseEnv = MuseEnv { museInLink :: Bool -- ^ True when parsing a link description to avoid nested links , museInPara :: Bool -- ^ True when parsing paragraph is not allowed } instance Default MuseEnv where def = MuseEnv { museInLink = False , museInPara = False } type MuseParser m = ParserT Text MuseState (ReaderT MuseEnv m) instance HasReaderOptions MuseState where extractReaderOptions = museOptions instance HasIdentifierList MuseState where extractIdentifierList = museIdentifierList updateIdentifierList f st = st{ museIdentifierList = f $ museIdentifierList st } instance HasLastStrPosition MuseState where setLastStrPos pos st = st{ museLastStrPos = pos } getLastStrPos st = museLastStrPos st instance HasLogMessages MuseState where addLogMessage m s = s{ museLogMessages = m : museLogMessages s } getLogMessages = reverse . museLogMessages updateLastSpacePos :: Monad m => MuseParser m () updateLastSpacePos = getPosition >>= \pos -> updateState $ \s -> s { museLastSpacePos = Just pos } -- | Parse Muse document parseMuse :: PandocMonad m => MuseParser m Pandoc parseMuse = do many directive blocks <- (:) <$> parseBlocks <*> many parseSection eof st <- getState runF (Pandoc <$> museMeta st <*> fmap B.toList (mconcat blocks)) st <$ reportLogMessages -- * Utility functions -- | Trim up to one newline from the beginning of the string. lchop :: Text -> Text lchop s = case T.uncons s of Just ('\n', xs) -> xs _ -> s -- | Trim up to one newline from the end of the string. rchop :: Text -> Text rchop s = case T.unsnoc s of Just (xs, '\n') -> xs _ -> s unindent :: Text -> Text unindent = rchop . T.intercalate "\n" . dropSpacePrefix . T.splitOn "\n" . lchop dropSpacePrefix :: [Text] -> [Text] dropSpacePrefix lns = T.drop maxIndent <$> lns where isSpaceChar c = c == ' ' || c == '\t' maxIndent = length $ takeWhile (isSpaceChar . T.head) $ takeWhile same $ T.transpose lns same t = case T.uncons t of Just (c, cs) -> T.all (== c) cs Nothing -> True atStart :: PandocMonad m => MuseParser m () atStart = do pos <- getPosition st <- getState guard $ museLastStrPos st /= Just pos noSpaceBefore :: PandocMonad m => MuseParser m () noSpaceBefore = do pos <- getPosition st <- getState guard $ museLastSpacePos st /= Just pos firstColumn :: PandocMonad m => MuseParser m () firstColumn = getPosition >>= \pos -> guard (sourceColumn pos == 1) -- * Parsers -- | Parse end-of-line, which can be either a newline or end-of-file. eol :: Stream s m Char => ParserT s st m () eol = void newline <|> eof getIndent :: PandocMonad m => MuseParser m Int getIndent = subtract 1 . sourceColumn <$ many spaceChar <*> getPosition -- ** HTML parsers openTag :: PandocMonad m => Text -> MuseParser m [(Text, Text)] openTag tag = try $ char '<' *> textStr tag *> manyTill attr (char '>') where attr = try $ (,) <$ many1 spaceChar <*> many1Char (noneOf "=\n") <* string "=\"" <*> manyTillChar (noneOf "\"") (char '"') closeTag :: PandocMonad m => Text -> MuseParser m () closeTag tag = try $ string " textStr tag *> void (char '>') -- | Convert HTML attributes to Pandoc 'Attr' htmlAttrToPandoc :: [(Text, Text)] -> Attr htmlAttrToPandoc attrs = (ident, classes, keyvals) where ident = fromMaybe "" $ lookup "id" attrs classes = maybe [] T.words $ lookup "class" attrs keyvals = [(k,v) | (k,v) <- attrs, k /= "id", k /= "class"] parseHtmlContent :: PandocMonad m => Text -- ^ Tag name -> MuseParser m (Attr, F Blocks) parseHtmlContent tag = try $ getIndent >>= \indent -> (,) <$> fmap htmlAttrToPandoc (openTag tag) <* manyTill spaceChar eol <*> allowPara (parseBlocksTill (try $ indentWith indent *> closeTag tag)) <* manyTill spaceChar eol -- closing tag must be followed by optional whitespace and newline -- ** Directive parsers -- While not documented, Emacs Muse allows "-" in directive name parseDirectiveKey :: PandocMonad m => MuseParser m Text parseDirectiveKey = char '#' *> manyChar (letter <|> char '-') parseEmacsDirective :: PandocMonad m => MuseParser m (Text, F Inlines) parseEmacsDirective = (,) <$> parseDirectiveKey <* spaceChar <*> (trimInlinesF . mconcat <$> manyTill inline' eol) parseAmuseDirective :: PandocMonad m => MuseParser m (Text, F Inlines) parseAmuseDirective = (,) <$> parseDirectiveKey <* many1 spaceChar <*> (trimInlinesF . mconcat <$> many1Till inline endOfDirective) <* many blankline where endOfDirective = lookAhead $ eof <|> try (newline *> (void blankline <|> void parseDirectiveKey)) directive :: PandocMonad m => MuseParser m () directive = do ext <- getOption readerExtensions (key, value) <- if extensionEnabled Ext_amuse ext then parseAmuseDirective else parseEmacsDirective updateState $ \st -> st { museMeta = B.setMeta (translateKey key) <$> value <*> museMeta st } where translateKey "cover" = "cover-image" translateKey x = x -- ** Block parsers allowPara :: MonadReader MuseEnv m => m a -> m a allowPara p = local (\s -> s { museInPara = False }) p -- | Parse section contents until EOF or next header parseBlocks :: PandocMonad m => MuseParser m (F Blocks) parseBlocks = try (parseEnd <|> nextSection <|> listStart <|> blockStart <|> paraStart) where nextSection = mempty <$ lookAhead headingStart parseEnd = mempty <$ eof blockStart = (B.<>) <$> (blockElements <|> emacsNoteBlock) <*> allowPara parseBlocks listStart = uncurry (B.<>) <$> allowPara (anyListUntil parseBlocks <|> amuseNoteBlockUntil parseBlocks) paraStart = do indent <- length <$> many spaceChar uncurry (B.<>) . first (p indent) <$> paraUntil parseBlocks where p indent = if indent >= 2 && indent < 6 then fmap B.blockQuote else id -- | Parse section that starts with a header parseSection :: PandocMonad m => MuseParser m (F Blocks) parseSection = ((B.<>) <$> emacsHeading <*> parseBlocks) <|> (uncurry (B.<>) <$> amuseHeadingUntil parseBlocks) parseBlocksTill :: PandocMonad m => MuseParser m a -> MuseParser m (F Blocks) parseBlocksTill end = continuation where parseEnd = mempty <$ end blockStart = (B.<>) <$> blockElements <*> allowPara continuation listStart = uncurry (B.<>) <$> allowPara (anyListUntil (parseEnd <|> continuation)) paraStart = uncurry (B.<>) <$> paraUntil (parseEnd <|> continuation) continuation = try $ parseEnd <|> listStart <|> blockStart <|> paraStart listItemContentsUntil :: PandocMonad m => Int -> MuseParser m a -> MuseParser m a -> MuseParser m (F Blocks, a) listItemContentsUntil col pre end = p where p = try listStart <|> try blockStart <|> try paraStart parsePre = (mempty,) <$> pre parseEnd = (mempty,) <$> end paraStart = do (f, (r, e)) <- paraUntil (parsePre <|> continuation <|> parseEnd) return (f B.<> r, e) blockStart = first <$> ((B.<>) <$> blockElements) <*> allowPara (parsePre <|> continuation <|> parseEnd) listStart = do (f, (r, e)) <- allowPara $ anyListUntil (parsePre <|> continuation <|> parseEnd) return (f B.<> r, e) continuation = try $ do blank <- optionMaybe blankline skipMany blankline indentWith col local (\s -> s { museInPara = museInPara s && isNothing blank }) p parseBlock :: PandocMonad m => MuseParser m (F Blocks) parseBlock = do res <- blockElements <|> para trace (T.take 60 $ tshow $ B.toList $ runF res def) return res where para = fst <$> paraUntil (try (eof <|> void (lookAhead blockElements))) blockElements :: PandocMonad m => MuseParser m (F Blocks) blockElements = (mempty <$ blankline) <|> comment <|> separator <|> pagebreak <|> example <|> exampleTag <|> literalTag <|> centerTag <|> rightTag <|> quoteTag <|> divTag <|> biblioTag <|> playTag <|> verseTag <|> lineBlock <|> museGridTable <|> table <|> commentTag -- | Parse a line comment, starting with @;@ in the first column. comment :: PandocMonad m => MuseParser m (F Blocks) comment = try $ mempty <$ firstColumn <* char ';' <* optional (spaceChar *> many (noneOf "\n")) <* eol -- | Parse a horizontal rule, consisting of 4 or more @\'-\'@ characters. separator :: PandocMonad m => MuseParser m (F Blocks) separator = try $ pure B.horizontalRule <$ string "----" <* many (char '-') <* many spaceChar <* eol -- | Parse a page break pagebreak :: PandocMonad m => MuseParser m (F Blocks) pagebreak = try $ pure (B.divWith ("", [], [("style", "page-break-before: always;")]) mempty) <$ count 6 spaceChar <* many spaceChar <* string "* * * * *" <* manyTill spaceChar eol headingStart :: PandocMonad m => MuseParser m (Text, Int) headingStart = try $ (,) <$> option "" (try (parseAnchor <* manyTill spaceChar eol)) <* firstColumn <*> fmap length (many1 $ char '*') <* spaceChar -- | Parse a single-line heading. emacsHeading :: PandocMonad m => MuseParser m (F Blocks) emacsHeading = try $ do guardDisabled Ext_amuse (anchorId, level) <- headingStart content <- trimInlinesF . mconcat <$> manyTill inline eol attr <- registerHeader (anchorId, [], []) (runF content def) return $ B.headerWith attr level <$> content -- | Parse a multi-line heading. -- It is a Text::Amuse extension, Emacs Muse does not allow heading to span multiple lines. amuseHeadingUntil :: PandocMonad m => MuseParser m a -- ^ Terminator parser -> MuseParser m (F Blocks, a) amuseHeadingUntil end = try $ do guardEnabled Ext_amuse (anchorId, level) <- headingStart (content, e) <- paraContentsUntil end attr <- registerHeader (anchorId, [], []) (runF content def) return (B.headerWith attr level <$> content, e) -- | Parse an example between @{{{@ and @}}}@. -- It is an Amusewiki extension influenced by Creole wiki, as described in @Text::Amuse@ documentation. example :: PandocMonad m => MuseParser m (F Blocks) example = try $ pure . B.codeBlock <$ string "{{{" <* many spaceChar <*> (unindent <$> manyTillChar anyChar (string "}}}")) -- | Parse an @\@ tag. exampleTag :: PandocMonad m => MuseParser m (F Blocks) exampleTag = try $ fmap pure $ B.codeBlockWith <$ many spaceChar <*> (htmlAttrToPandoc <$> openTag "example") <*> (unindent <$> manyTillChar anyChar (closeTag "example")) <* manyTill spaceChar eol -- | Parse a @\@ tag as a raw block. -- For 'RawInline' @\@ parser, see 'inlineLiteralTag'. literalTag :: PandocMonad m => MuseParser m (F Blocks) literalTag = try $ fmap pure $ B.rawBlock <$ many spaceChar <*> (fromMaybe "html" . lookup "style" <$> openTag "literal") -- FIXME: Emacs Muse inserts without style into all output formats, but we assume HTML <* manyTill spaceChar eol <*> (unindent <$> manyTillChar anyChar (closeTag "literal")) <* manyTill spaceChar eol -- | Parse @\
    @ tag. -- Currently it is ignored as Pandoc cannot represent centered blocks. centerTag :: PandocMonad m => MuseParser m (F Blocks) centerTag = snd <$> parseHtmlContent "center" -- | Parse @\@ tag. -- Currently it is ignored as Pandoc cannot represent centered blocks. rightTag :: PandocMonad m => MuseParser m (F Blocks) rightTag = snd <$> parseHtmlContent "right" -- | Parse @\@ tag. quoteTag :: PandocMonad m => MuseParser m (F Blocks) quoteTag = fmap B.blockQuote . snd <$> parseHtmlContent "quote" -- | Parse @\
    @ tag. -- @\
    @ tag is supported by Emacs Muse, but not Amusewiki 2.025. divTag :: PandocMonad m => MuseParser m (F Blocks) divTag = do (attrs, content) <- parseHtmlContent "div" return $ B.divWith attrs <$> content -- | Parse @\@ tag, the result is the same as @\
    @. -- @\@ tag is supported only in Text::Amuse mode. biblioTag :: PandocMonad m => MuseParser m (F Blocks) biblioTag = fmap (B.divWith ("", ["biblio"], [])) . snd <$ guardEnabled Ext_amuse <*> parseHtmlContent "biblio" -- | Parse @\@ tag, the result is the same as @\
    @. -- @\@ tag is supported only in Text::Amuse mode. playTag :: PandocMonad m => MuseParser m (F Blocks) playTag = do guardEnabled Ext_amuse fmap (B.divWith ("", ["play"], [])) . snd <$> parseHtmlContent "play" verseLine :: PandocMonad m => MuseParser m (F Inlines) verseLine = (<>) <$> fmap pure (option mempty (B.str <$> many1Char ('\160' <$ char ' '))) <*> fmap (trimInlinesF . mconcat) (manyTill inline' eol) -- | Parse @\@ tag. verseTag :: PandocMonad m => MuseParser m (F Blocks) verseTag = try $ getIndent >>= \indent -> fmap B.lineBlock . sequence <$ openTag "verse" <* manyTill spaceChar eol <*> manyTill (indentWith indent *> verseLine) (try $ indentWith indent *> closeTag "verse") <* manyTill spaceChar eol -- | Parse @\@ tag. commentTag :: PandocMonad m => MuseParser m (F Blocks) commentTag = try $ mempty <$ many spaceChar <* openTag "comment" <* manyTill anyChar (closeTag "comment") <* manyTill spaceChar eol -- | Parse paragraph contents. paraContentsUntil :: PandocMonad m => MuseParser m a -- ^ Terminator parser -> MuseParser m (F Inlines, a) paraContentsUntil end = first (trimInlinesF . mconcat) <$> manyUntil inline (try (manyTill spaceChar eol *> local (\s -> s { museInPara = True}) end)) -- | Parse a paragraph. paraUntil :: PandocMonad m => MuseParser m a -- ^ Terminator parser -> MuseParser m (F Blocks, a) paraUntil end = do inPara <- asks museInPara guard $ not inPara first (fmap B.para) <$> paraContentsUntil end noteMarker' :: PandocMonad m => Char -> Char -> MuseParser m Text noteMarker' l r = try $ (\x y -> T.pack $ l:x:y ++ [r]) <$ char l <*> oneOf "123456789" <*> manyTill digit (char r) noteMarker :: PandocMonad m => MuseParser m Text noteMarker = noteMarker' '[' ']' <|> noteMarker' '{' '}' addNote :: PandocMonad m => Text -> SourcePos -> F Blocks -> MuseParser m () addNote ref pos content = do oldnotes <- museNotes <$> getState when (M.member ref oldnotes) (logMessage $ DuplicateNoteReference ref pos) updateState $ \s -> s{ museNotes = M.insert ref (pos, content) oldnotes } -- Amusewiki version of note -- Parsing is similar to list item, except that note marker is used instead of list marker amuseNoteBlockUntil :: PandocMonad m => MuseParser m a -> MuseParser m (F Blocks, a) amuseNoteBlockUntil end = try $ do guardEnabled Ext_amuse ref <- noteMarker pos <- getPosition void spaceChar <|> lookAhead eol (content, e) <- allowPara $ listItemContentsUntil (sourceColumn pos) (Prelude.fail "x") end addNote ref pos content return (mempty, e) -- Emacs version of note -- Notes are allowed only at the end of text, no indentation is required. emacsNoteBlock :: PandocMonad m => MuseParser m (F Blocks) emacsNoteBlock = try $ do guardDisabled Ext_amuse ref <- noteMarker pos <- getPosition content <- fmap mconcat blocksTillNote addNote ref pos content return mempty where blocksTillNote = many1Till parseBlock (eof <|> () <$ lookAhead noteMarker) -- -- Verse markup -- -- | Parse a line block indicated by @\'>\'@ characters. lineBlock :: PandocMonad m => MuseParser m (F Blocks) lineBlock = try $ getIndent >>= \indent -> fmap B.lineBlock . sequence <$> (blankVerseLine <|> nonblankVerseLine) `sepBy1'` try (indentWith indent) where blankVerseLine = try $ mempty <$ char '>' <* blankline nonblankVerseLine = try (string "> ") *> verseLine -- *** List parsers bulletListItemsUntil :: PandocMonad m => Int -- ^ Indentation -> MuseParser m a -- ^ Terminator parser -> MuseParser m ([F Blocks], a) bulletListItemsUntil indent end = try $ do char '-' void spaceChar <|> lookAhead eol (x, (xs, e)) <- allowPara $ listItemContentsUntil (indent + 2) (try (optional blankline *> indentWith indent *> bulletListItemsUntil indent end)) (([],) <$> end) return (x:xs, e) -- | Parse a bullet list. bulletListUntil :: PandocMonad m => MuseParser m a -> MuseParser m (F Blocks, a) bulletListUntil end = try $ do indent <- getIndent guard $ indent /= 0 first (fmap B.bulletList . sequence) <$> bulletListItemsUntil indent end museOrderedListMarker :: PandocMonad m => ListNumberStyle -> MuseParser m Int museOrderedListMarker style = snd <$> p <* char '.' where p = case style of Decimal -> decimal UpperRoman -> upperRoman LowerRoman -> lowerRoman UpperAlpha -> upperAlpha LowerAlpha -> lowerAlpha _ -> Prelude.fail "Unhandled case" orderedListItemsUntil :: PandocMonad m => Int -> ListNumberStyle -> MuseParser m a -> MuseParser m ([F Blocks], a) orderedListItemsUntil indent style end = continuation where continuation = try $ do pos <- getPosition void spaceChar <|> lookAhead eol (x, (xs, e)) <- allowPara $ listItemContentsUntil (sourceColumn pos) (try (optional blankline *> indentWith indent *> museOrderedListMarker style *> continuation)) (([],) <$> end) return (x:xs, e) -- | Parse an ordered list. orderedListUntil :: PandocMonad m => MuseParser m a -> MuseParser m (F Blocks, a) orderedListUntil end = try $ do indent <- getIndent guard $ indent /= 0 (style, start) <- decimal <|> lowerRoman <|> upperRoman <|> lowerAlpha <|> upperAlpha char '.' first (fmap (B.orderedListWith (start, style, Period)) . sequence) <$> orderedListItemsUntil indent style end descriptionsUntil :: PandocMonad m => Int -> MuseParser m a -> MuseParser m ([F Blocks], a) descriptionsUntil indent end = do void spaceChar <|> lookAhead eol (x, (xs, e)) <- allowPara $ listItemContentsUntil indent (try (optional blankline *> indentWith indent *> manyTill spaceChar (string "::") *> descriptionsUntil indent end)) (([],) <$> end) return (x:xs, e) definitionListItemsUntil :: PandocMonad m => Int -> MuseParser m a -> MuseParser m ([F (Inlines, [Blocks])], a) definitionListItemsUntil indent end = continuation where continuation = try $ do pos <- getPosition term <- trimInlinesF . mconcat <$> manyTill inline' (try $ string "::") (x, (xs, e)) <- descriptionsUntil (sourceColumn pos) (try (optional blankline *> indentWith indent *> continuation) <|> (([],) <$> end)) let xx = (,) <$> term <*> sequence x return (xx:xs, e) -- | Parse a definition list. definitionListUntil :: PandocMonad m => MuseParser m a -- ^ Terminator parser -> MuseParser m (F Blocks, a) definitionListUntil end = try $ do indent <- getIndent guardDisabled Ext_amuse <|> guard (indent /= 0) -- Initial space is required by Amusewiki, but not Emacs Muse first (fmap B.definitionList . sequence) <$> definitionListItemsUntil indent end anyListUntil :: PandocMonad m => MuseParser m a -- ^ Terminator parser -> MuseParser m (F Blocks, a) anyListUntil end = bulletListUntil end <|> orderedListUntil end <|> definitionListUntil end -- *** Table parsers -- | Internal Muse table representation. data MuseTable = MuseTable { museTableCaption :: Inlines , museTableHeaders :: [[Blocks]] , museTableRows :: [[Blocks]] , museTableFooters :: [[Blocks]] } data MuseTableElement = MuseHeaderRow [Blocks] | MuseBodyRow [Blocks] | MuseFooterRow [Blocks] | MuseCaption Inlines museToPandocTable :: MuseTable -> Blocks museToPandocTable (MuseTable caption headers body footers) = B.table caption attrs headRow (rows ++ body ++ footers) where attrs = (AlignDefault, 0.0) <$ transpose (headers ++ body ++ footers) (headRow, rows) = fromMaybe ([], []) $ uncons headers museAppendElement :: MuseTableElement -> MuseTable -> MuseTable museAppendElement element tbl = case element of MuseHeaderRow row -> tbl{ museTableHeaders = row : museTableHeaders tbl } MuseBodyRow row -> tbl{ museTableRows = row : museTableRows tbl } MuseFooterRow row -> tbl{ museTableFooters = row : museTableFooters tbl } MuseCaption inlines -> tbl{ museTableCaption = inlines } tableElements :: PandocMonad m => MuseParser m (F [MuseTableElement]) tableElements = sequence <$> many1 tableParseElement elementsToTable :: [MuseTableElement] -> MuseTable elementsToTable = foldr museAppendElement emptyTable where emptyTable = MuseTable mempty mempty mempty mempty museGridPart :: PandocMonad m => MuseParser m Int museGridPart = try $ length <$> many1 (char '-') <* char '+' museGridTableHeader :: PandocMonad m => MuseParser m [Int] museGridTableHeader = try $ char '+' *> many1 museGridPart <* manyTill spaceChar eol museGridTableRow :: PandocMonad m => Int -> [Int] -> MuseParser m (F [Blocks]) museGridTableRow indent indices = try $ do lns <- many1 $ try (indentWith indent *> museGridTableRawLine indices) let cols = map (T.unlines . map trimr) $ transpose lns indentWith indent *> museGridTableHeader sequence <$> mapM (parseFromString' parseBlocks) cols museGridTableRawLine :: PandocMonad m => [Int] -> MuseParser m [Text] museGridTableRawLine indices = char '|' *> forM indices (\n -> countChar n anyChar <* char '|') <* manyTill spaceChar eol museGridTable :: PandocMonad m => MuseParser m (F Blocks) museGridTable = try $ do indent <- getIndent indices <- museGridTableHeader fmap rowsToTable . sequence <$> many1 (museGridTableRow indent indices) where rowsToTable rows = B.table mempty attrs [] rows where attrs = (AlignDefault, 0.0) <$ transpose rows -- | Parse a table. table :: PandocMonad m => MuseParser m (F Blocks) table = try $ fmap (museToPandocTable . elementsToTable) <$> tableElements tableParseElement :: PandocMonad m => MuseParser m (F MuseTableElement) tableParseElement = tableParseHeader <|> tableParseBody <|> tableParseFooter <|> tableParseCaption tableParseRow :: PandocMonad m => Int -- ^ Number of separator characters -> MuseParser m (F [Blocks]) tableParseRow n = try $ sequence <$> tableCells where tableCells = (:) <$> tableCell sep <*> (tableCells <|> fmap pure (tableCell eol)) tableCell p = try $ fmap B.plain . trimInlinesF . mconcat <$> manyTill inline' p sep = try $ many1 spaceChar *> count n (char '|') *> lookAhead (void (many1 spaceChar) <|> void eol) -- | Parse a table header row. tableParseHeader :: PandocMonad m => MuseParser m (F MuseTableElement) tableParseHeader = fmap MuseHeaderRow <$> tableParseRow 2 -- | Parse a table body row. tableParseBody :: PandocMonad m => MuseParser m (F MuseTableElement) tableParseBody = fmap MuseBodyRow <$> tableParseRow 1 -- | Parse a table footer row. tableParseFooter :: PandocMonad m => MuseParser m (F MuseTableElement) tableParseFooter = fmap MuseFooterRow <$> tableParseRow 3 -- | Parse table caption. tableParseCaption :: PandocMonad m => MuseParser m (F MuseTableElement) tableParseCaption = try $ fmap MuseCaption . trimInlinesF . mconcat <$ many spaceChar <* string "|+" <*> many1Till inline (try $ string "+|" *> eol) -- ** Inline parsers inline' :: PandocMonad m => MuseParser m (F Inlines) inline' = whitespace <|> br <|> anchor <|> footnote <|> strongEmph <|> strong <|> strongTag <|> emph <|> emphTag <|> underlined <|> superscriptTag <|> subscriptTag <|> strikeoutTag <|> verbatimTag <|> classTag <|> inlineRtl <|> inlineLtr <|> nbsp <|> linkOrImage <|> code <|> codeTag <|> mathTag <|> inlineLiteralTag <|> str <|> asterisks <|> symbol "inline" inline :: PandocMonad m => MuseParser m (F Inlines) inline = endline <|> inline' -- | Parse a soft break. endline :: PandocMonad m => MuseParser m (F Inlines) endline = try $ pure B.softbreak <$ newline <* notFollowedBy blankline <* updateLastSpacePos parseAnchor :: PandocMonad m => MuseParser m Text parseAnchor = try $ T.cons <$ firstColumn <* char '#' <*> letter <*> manyChar (letter <|> digit <|> char '-') anchor :: PandocMonad m => MuseParser m (F Inlines) anchor = try $ do anchorId <- parseAnchor skipMany spaceChar <|> void newline return $ return $ B.spanWith (anchorId, [], []) mempty -- | Parse a footnote reference. footnote :: PandocMonad m => MuseParser m (F Inlines) footnote = try $ do inLink <- asks museInLink guard $ not inLink ref <- noteMarker return $ do notes <- asksF museNotes case M.lookup ref notes of Nothing -> return $ B.str ref Just (_pos, contents) -> do st <- askF let contents' = runF contents st { museNotes = M.delete ref (museNotes st) } return $ B.note contents' whitespace :: PandocMonad m => MuseParser m (F Inlines) whitespace = try $ pure B.space <$ skipMany1 spaceChar <* updateLastSpacePos -- | Parse @\
    @ tag. br :: PandocMonad m => MuseParser m (F Inlines) br = try $ pure B.linebreak <$ string "
    " emphasisBetween :: (PandocMonad m, Show a) => MuseParser m a -> MuseParser m (F Inlines) emphasisBetween p = try $ trimInlinesF . mconcat <$ atStart <* p <* notFollowedBy space <*> many1Till inline (try $ noSpaceBefore *> p <* notFollowedBy alphaNum) -- | Parse an inline tag, such as @\@ and @\@. inlineTag :: PandocMonad m => Text -- ^ Tag name -> MuseParser m (F Inlines) inlineTag tag = try $ mconcat <$ openTag tag <*> manyTill inline (closeTag tag) -- | Parse strong emphasis inline markup, indicated by @***@. strongEmph :: PandocMonad m => MuseParser m (F Inlines) strongEmph = fmap (B.strong . B.emph) <$> emphasisBetween (string "***" <* notFollowedBy (char '*')) -- | Parse strong inline markup, indicated by @**@. strong :: PandocMonad m => MuseParser m (F Inlines) strong = fmap B.strong <$> emphasisBetween (string "**" <* notFollowedBy (char '*')) -- | Parse emphasis inline markup, indicated by @*@. emph :: PandocMonad m => MuseParser m (F Inlines) emph = fmap B.emph <$> emphasisBetween (char '*' <* notFollowedBy (char '*')) -- | Parse underline inline markup, indicated by @_@. -- Supported only in Emacs Muse mode, not Text::Amuse. underlined :: PandocMonad m => MuseParser m (F Inlines) underlined = fmap underlineSpan <$ guardDisabled Ext_amuse -- Supported only by Emacs Muse <*> emphasisBetween (char '_') -- | Parse @\@ tag. strongTag :: PandocMonad m => MuseParser m (F Inlines) strongTag = fmap B.strong <$> inlineTag "strong" -- | Parse @\@ tag. emphTag :: PandocMonad m => MuseParser m (F Inlines) emphTag = fmap B.emph <$> inlineTag "em" -- | Parse @\@ tag. superscriptTag :: PandocMonad m => MuseParser m (F Inlines) superscriptTag = fmap B.superscript <$> inlineTag "sup" -- | Parse @\@ tag. subscriptTag :: PandocMonad m => MuseParser m (F Inlines) subscriptTag = fmap B.subscript <$> inlineTag "sub" -- | Parse @\@ tag. strikeoutTag :: PandocMonad m => MuseParser m (F Inlines) strikeoutTag = fmap B.strikeout <$> inlineTag "del" -- | Parse @\@ tag. verbatimTag :: PandocMonad m => MuseParser m (F Inlines) verbatimTag = return . B.text <$ openTag "verbatim" <*> manyTillChar anyChar (closeTag "verbatim") -- | Parse @\@ tag. classTag :: PandocMonad m => MuseParser m (F Inlines) classTag = do classes <- maybe [] T.words . lookup "name" <$> openTag "class" fmap (B.spanWith ("", classes, [])) . mconcat <$> manyTill inline (closeTag "class") -- | Parse @\<\<\>>@ text. inlineRtl :: PandocMonad m => MuseParser m (F Inlines) inlineRtl = try $ fmap (B.spanWith ("", [], [("dir", "rtl")])) . mconcat <$ string "<<<" <*> manyTill inline (string ">>>") -- | Parse @\<\<\>>@ text. inlineLtr :: PandocMonad m => MuseParser m (F Inlines) inlineLtr = try $ fmap (B.spanWith ("", [], [("dir", "ltr")])) . mconcat <$ string ">>>" <*> manyTill inline (string "<<<") -- | Parse "~~" as nonbreaking space. nbsp :: PandocMonad m => MuseParser m (F Inlines) nbsp = try $ pure (B.str "\160") <$ string "~~" -- | Parse code markup, indicated by @\'=\'@ characters. code :: PandocMonad m => MuseParser m (F Inlines) code = try $ fmap pure $ B.code . uncurry (<>) <$ atStart <* char '=' <* notFollowedBy (spaceChar <|> newline) <*> manyUntilChar (noneOf "\n\r" <|> (newline <* notFollowedBy newline)) (try $ fmap T.singleton $ noneOf " \t\n\r=" <* char '=') <* notFollowedBy alphaNum -- | Parse @\@ tag. codeTag :: PandocMonad m => MuseParser m (F Inlines) codeTag = fmap pure $ B.codeWith <$> (htmlAttrToPandoc <$> openTag "code") <*> manyTillChar anyChar (closeTag "code") -- | Parse @\@ tag. -- @\@ tag is an Emacs Muse extension enabled by @(require 'muse-latex2png)@ mathTag :: PandocMonad m => MuseParser m (F Inlines) mathTag = return . B.math <$ openTag "math" <*> manyTillChar anyChar (closeTag "math") -- | Parse inline @\@ tag as a raw inline. inlineLiteralTag :: PandocMonad m => MuseParser m (F Inlines) inlineLiteralTag = try $ fmap pure $ B.rawInline <$> (fromMaybe "html" . lookup "style" <$> openTag "literal") -- FIXME: Emacs Muse inserts without style into all output formats, but we assume HTML <*> manyTillChar anyChar (closeTag "literal") str :: PandocMonad m => MuseParser m (F Inlines) str = return . B.str <$> many1Char alphaNum <* updateLastStrPos -- | Consume asterisks that were not used as emphasis opening. -- This prevents series of asterisks from being split into -- literal asterisk and emphasis opening. asterisks :: PandocMonad m => MuseParser m (F Inlines) asterisks = pure . B.str <$> many1Char (char '*') symbol :: PandocMonad m => MuseParser m (F Inlines) symbol = pure . B.str . T.singleton <$> nonspaceChar -- | Parse a link or image. linkOrImage :: PandocMonad m => MuseParser m (F Inlines) linkOrImage = try $ link "URL:" <|> image <|> link "" linkContent :: PandocMonad m => MuseParser m (F Inlines) linkContent = trimInlinesF . mconcat <$ char '[' <*> manyTill inline (char ']') -- | Parse a link starting with (possibly null) prefix link :: PandocMonad m => Text -> MuseParser m (F Inlines) link prefix = try $ do inLink <- asks museInLink guard $ not inLink textStr $ "[[" <> prefix url <- manyTillChar anyChar $ char ']' content <- option (pure $ B.str url) (local (\s -> s { museInLink = True }) linkContent) char ']' return $ B.link url "" <$> content image :: PandocMonad m => MuseParser m (F Inlines) image = try $ do string "[[" (url, (ext, width, align)) <- manyUntilChar (noneOf "]") (imageExtensionAndOptions <* char ']') content <- option mempty linkContent char ']' let widthAttr = case align of Just 'f' -> [("width", fromMaybe "100" width <> "%"), ("height", "75%")] _ -> maybeToList (("width",) . (<> "%") <$> width) let alignClass = case align of Just 'r' -> ["align-right"] Just 'l' -> ["align-left"] Just 'f' -> [] _ -> [] return $ B.imageWith ("", alignClass, widthAttr) (url <> ext) mempty <$> content where -- Taken from muse-image-regexp defined in Emacs Muse file lisp/muse-regexps.el imageExtensions = [".eps", ".gif", ".jpg", ".jpeg", ".pbm", ".png", ".tiff", ".xbm", ".xpm"] imageExtension = choice (try . textStr <$> imageExtensions) imageExtensionAndOptions = do ext <- imageExtension (width, align) <- option (Nothing, Nothing) imageAttrs return (ext, width, align) imageAttrs = (,) <$ many1 spaceChar <*> optionMaybe (many1Char digit) <* many spaceChar <*> optionMaybe (oneOf "rlf") ��������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Native.hs����������������������������������������������������0000664�0000000�0000000�00000003463�13636304630�0021227�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Native Copyright : Copyright (C) 2011-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of a string representation of a pandoc type (@Pandoc@, @[Block]@, @Block@, @[Inline]@, or @Inline@) to a @Pandoc@ document. -} module Text.Pandoc.Readers.Native ( readNative ) where import Text.Pandoc.Definition import Text.Pandoc.Options (ReaderOptions) import Text.Pandoc.Shared (safeRead) import Control.Monad.Except (throwError) import Data.Text (Text) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Error -- | Read native formatted text and return a Pandoc document. -- The input may be a full pandoc document, a block list, a block, -- an inline list, or an inline. Thus, for example, -- -- > Str "hi" -- -- will be treated as if it were -- -- > Pandoc nullMeta [Plain [Str "hi"]] -- readNative :: PandocMonad m => ReaderOptions -> Text -- ^ String to parse (assuming @'\n'@ line endings) -> m Pandoc readNative _ s = case maybe (Pandoc nullMeta <$> readBlocks s) Right (safeRead s) of Right doc -> return doc Left _ -> throwError $ PandocParseError "couldn't read native" readBlocks :: Text -> Either PandocError [Block] readBlocks s = maybe ((:[]) <$> readBlock s) Right (safeRead s) readBlock :: Text -> Either PandocError Block readBlock s = maybe (Plain <$> readInlines s) Right (safeRead s) readInlines :: Text -> Either PandocError [Inline] readInlines s = maybe ((:[]) <$> readInline s) Right (safeRead s) readInline :: Text -> Either PandocError Inline readInline s = maybe (Left . PandocParseError $ "Could not read: " <> s) Right (safeRead s) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/OPML.hs������������������������������������������������������0000664�0000000�0000000�00000011431�13636304630�0020542�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.OPML Copyright : Copyright (C) 2013-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of OPML to 'Pandoc' document. -} module Text.Pandoc.Readers.OPML ( readOPML ) where import Control.Monad.State.Strict import Data.Char (toUpper) import Data.Default import Data.Generics import Data.Maybe (fromMaybe) import Data.Text (Text) import qualified Data.Text as T import Text.HTML.TagSoup.Entity (lookupEntity) import Text.Pandoc.Builder import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Options import Text.Pandoc.Readers.HTML (readHtml) import Text.Pandoc.Readers.Markdown (readMarkdown) import Text.Pandoc.Shared (crFilter, blocksToInlines') import Text.XML.Light type OPML m = StateT OPMLState m data OPMLState = OPMLState{ opmlSectionLevel :: Int , opmlDocTitle :: Inlines , opmlDocAuthors :: [Inlines] , opmlDocDate :: Inlines , opmlOptions :: ReaderOptions } deriving Show instance Default OPMLState where def = OPMLState{ opmlSectionLevel = 0 , opmlDocTitle = mempty , opmlDocAuthors = [] , opmlDocDate = mempty , opmlOptions = def } readOPML :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readOPML opts inp = do (bs, st') <- runStateT (mapM parseBlock $ normalizeTree $ parseXML (T.unpack (crFilter inp))) def{ opmlOptions = opts } return $ setTitle (opmlDocTitle st') $ setAuthors (opmlDocAuthors st') $ setDate (opmlDocDate st') $ doc $ mconcat bs -- normalize input, consolidating adjacent Text and CRef elements normalizeTree :: [Content] -> [Content] normalizeTree = everywhere (mkT go) where go :: [Content] -> [Content] go (Text (CData CDataRaw _ _):xs) = xs go (Text (CData CDataText s1 z):Text (CData CDataText s2 _):xs) = Text (CData CDataText (s1 ++ s2) z):xs go (Text (CData CDataText s1 z):CRef r:xs) = Text (CData CDataText (s1 ++ convertEntity r) z):xs go (CRef r:Text (CData CDataText s1 z):xs) = Text (CData CDataText (convertEntity r ++ s1) z):xs go (CRef r1:CRef r2:xs) = Text (CData CDataText (convertEntity r1 ++ convertEntity r2) Nothing):xs go xs = xs convertEntity :: String -> String convertEntity e = Data.Maybe.fromMaybe (map toUpper e) (lookupEntity e) -- convenience function to get an attribute value, defaulting to "" attrValue :: String -> Element -> Text attrValue attr elt = maybe "" T.pack (lookupAttrBy (\x -> qName x == attr) (elAttribs elt)) textContent :: Element -> Text textContent = T.pack . strContent -- exceptT :: PandocMonad m => Either PandocError a -> OPML m a -- exceptT = either throwError return asHtml :: PandocMonad m => Text -> OPML m Inlines asHtml s = do opts <- gets opmlOptions Pandoc _ bs <- readHtml def{ readerExtensions = readerExtensions opts } s return $ blocksToInlines' bs asMarkdown :: PandocMonad m => Text -> OPML m Blocks asMarkdown s = do opts <- gets opmlOptions Pandoc _ bs <- readMarkdown def{ readerExtensions = readerExtensions opts } s return $ fromList bs getBlocks :: PandocMonad m => Element -> OPML m Blocks getBlocks e = mconcat <$> mapM parseBlock (elContent e) parseBlock :: PandocMonad m => Content -> OPML m Blocks parseBlock (Elem e) = case qName (elName e) of "ownerName" -> mempty <$ modify (\st -> st{opmlDocAuthors = [text $ textContent e]}) "dateModified" -> mempty <$ modify (\st -> st{opmlDocDate = text $ textContent e}) "title" -> mempty <$ modify (\st -> st{opmlDocTitle = text $ textContent e}) "outline" -> gets opmlSectionLevel >>= sect . (+1) "?xml" -> return mempty _ -> getBlocks e where sect n = do headerText <- asHtml $ attrValue "text" e noteBlocks <- asMarkdown $ attrValue "_note" e modify $ \st -> st{ opmlSectionLevel = n } bs <- getBlocks e modify $ \st -> st{ opmlSectionLevel = n - 1 } let headerText' = case T.toUpper (attrValue "type" e) of "LINK" -> link (attrValue "url" e) "" headerText _ -> headerText return $ header n headerText' <> noteBlocks <> bs parseBlock _ = return mempty ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt.hs�������������������������������������������������������0000664�0000000�0000000�00000006034�13636304630�0020524�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE PatternGuards #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Reader.Odt Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable Entry point to the odt reader. -} module Text.Pandoc.Readers.Odt ( readOdt ) where import Codec.Archive.Zip import qualified Text.XML.Light as XML import qualified Data.ByteString.Lazy as B import System.FilePath import Control.Monad.Except (throwError) import Text.Pandoc.Class.PandocMonad (PandocMonad) import qualified Text.Pandoc.Class.PandocMonad as P import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.MediaBag import Text.Pandoc.Options import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Readers.Odt.ContentReader import Text.Pandoc.Readers.Odt.StyleReader import Text.Pandoc.Readers.Odt.Generic.Fallible import Text.Pandoc.Readers.Odt.Generic.XMLConverter import Text.Pandoc.Shared (filteredFilesFromArchive) readOdt :: PandocMonad m => ReaderOptions -> B.ByteString -> m Pandoc readOdt opts bytes = case readOdt' opts bytes of Right (doc, mb) -> do P.setMediaBag mb return doc Left e -> throwError e -- readOdt' :: ReaderOptions -> B.ByteString -> Either PandocError (Pandoc, MediaBag) readOdt' _ bytes = bytesToOdt bytes-- of -- Right (pandoc, mediaBag) -> Right (pandoc , mediaBag) -- Left err -> Left err -- bytesToOdt :: B.ByteString -> Either PandocError (Pandoc, MediaBag) bytesToOdt bytes = case toArchiveOrFail bytes of Right archive -> archiveToOdt archive Left _ -> Left $ PandocParseError "Couldn't parse odt file." -- archiveToOdt :: Archive -> Either PandocError (Pandoc, MediaBag) archiveToOdt archive | Just contentEntry <- findEntryByPath "content.xml" archive , Just stylesEntry <- findEntryByPath "styles.xml" archive , Just contentElem <- entryToXmlElem contentEntry , Just stylesElem <- entryToXmlElem stylesEntry , Right styles <- chooseMax (readStylesAt stylesElem ) (readStylesAt contentElem) , media <- filteredFilesFromArchive archive filePathIsOdtMedia , startState <- readerState styles media , Right pandocWithMedia <- runConverter' read_body startState contentElem = Right pandocWithMedia | otherwise -- Not very detailed, but I don't think more information would be helpful = Left $ PandocParseError "Couldn't parse odt file." where filePathIsOdtMedia :: FilePath -> Bool filePathIsOdtMedia fp = let (dir, name) = splitFileName fp in (dir == "Pictures/") || (dir /= "./" && name == "content.xml") -- entryToXmlElem :: Entry -> Maybe XML.Element entryToXmlElem = XML.parseXMLDoc . UTF8.toStringLazy . fromEntry ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/���������������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0020165�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Arrows/��������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0021442�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Arrows/State.hs������������������������������������������0000664�0000000�0000000�00000013227�13636304630�0023063�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TupleSections #-} {- | Module : Text.Pandoc.Readers.Odt.Arrows.State Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable An arrow that transports a state. It is in essence a more powerful version of the standard state monad. As it is such a simple extension, there are other version out there that do exactly the same. The implementation is duplicated, though, to add some useful features. Most of these might be implemented without access to innards, but it's much faster and easier to implement this way. -} module Text.Pandoc.Readers.Odt.Arrows.State where import Control.Arrow import qualified Control.Category as Cat import Control.Monad import Text.Pandoc.Readers.Odt.Arrows.Utils import Text.Pandoc.Readers.Odt.Generic.Fallible newtype ArrowState state a b = ArrowState { runArrowState :: (state, a) -> (state, b) } -- | Constructor withState :: (state -> a -> (state, b)) -> ArrowState state a b withState = ArrowState . uncurry -- | Constructor modifyState :: (state -> state ) -> ArrowState state a a modifyState = ArrowState . first -- | Constructor ignoringState :: ( a -> b ) -> ArrowState state a b ignoringState = ArrowState . second -- | Constructor fromState :: (state -> (state, b)) -> ArrowState state a b fromState = ArrowState . (.fst) -- | Constructor extractFromState :: (state -> b ) -> ArrowState state x b extractFromState f = ArrowState $ \(state,_) -> (state, f state) -- | Constructor tryModifyState :: (state -> Either f state) -> ArrowState state a (Either f a) tryModifyState f = ArrowState $ \(state,a) -> (state,).Left ||| (,Right a) $ f state instance Cat.Category (ArrowState s) where id = ArrowState id arrow2 . arrow1 = ArrowState $ runArrowState arrow2 . runArrowState arrow1 instance Arrow (ArrowState state) where arr = ignoringState first a = ArrowState $ \(s,(aF,aS)) -> second (,aS) $ runArrowState a (s,aF) second a = ArrowState $ \(s,(aF,aS)) -> second (aF,) $ runArrowState a (s,aS) instance ArrowChoice (ArrowState state) where left a = ArrowState $ \(s,e) -> case e of Left l -> second Left $ runArrowState a (s,l) Right r -> (s, Right r) right a = ArrowState $ \(s,e) -> case e of Left l -> (s, Left l) Right r -> second Right $ runArrowState a (s,r) instance ArrowApply (ArrowState state) where app = ArrowState $ \(s, (f,b)) -> runArrowState f (s,b) -- | Switches the type of the state temporarily. -- Drops the intermediate result state, behaving like a fallible -- identity arrow, save for side effects in the state. withSubStateF :: ArrowState s x (Either f s') -> ArrowState s' s (Either f s ) -> ArrowState s x (Either f x ) withSubStateF unlift a = keepingTheValue (withSubStateF' unlift a) >>^ spreadChoice >>^ fmap fst -- | Switches the type of the state temporarily. -- Returns the resulting sub-state. withSubStateF' :: ArrowState s x (Either f s') -> ArrowState s' s (Either f s ) -> ArrowState s x (Either f s') withSubStateF' unlift a = ArrowState go where go p@(s,_) = tryRunning unlift ( tryRunning a (second Right) ) p where tryRunning a' b v = case runArrowState a' v of (_ , Left f) -> (s, Left f) (x , Right y) -> b (y,x) -- | Fold a state arrow through something 'Foldable'. Collect the results -- in a 'Monoid'. -- Intermediate form of a fold between one with "only" a 'Monoid' -- and one with any function. foldS :: (Foldable f, Monoid m) => ArrowState s x m -> ArrowState s (f x) m foldS a = ArrowState $ \(s,f) -> foldr a' (s,mempty) f where a' x (s',m) = second (mappend m) $ runArrowState a (s',x) -- | Fold a state arrow through something 'Foldable'. Collect the results in a -- 'MonadPlus'. iterateS :: (Foldable f, MonadPlus m) => ArrowState s x y -> ArrowState s (f x) (m y) iterateS a = ArrowState $ \(s,f) -> foldr a' (s,mzero) f where a' x (s',m) = second (mplus m.return) $ runArrowState a (s',x) -- | Fold a state arrow through something 'Foldable'. Collect the results in a -- 'MonadPlus'. iterateSL :: (Foldable f, MonadPlus m) => ArrowState s x y -> ArrowState s (f x) (m y) iterateSL a = ArrowState $ \(s,f) -> foldl a' (s,mzero) f where a' (s',m) x = second (mplus m.return) $ runArrowState a (s',x) -- | Fold a fallible state arrow through something 'Foldable'. -- Collect the results in a 'MonadPlus'. -- If the iteration fails, the state will be reset to the initial one. iterateS' :: (Foldable f, MonadPlus m) => ArrowState s x (Either e y ) -> ArrowState s (f x) (Either e (m y)) iterateS' a = ArrowState $ \(s,f) -> foldr (a' s) (s,Right mzero) f where a' s x (s',Right m) = case runArrowState a (s',x) of (s'',Right m') -> (s'',Right $ mplus m $ return m') (_ ,Left e ) -> (s ,Left e ) a' _ _ e = e �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Arrows/Utils.hs������������������������������������������0000664�0000000�0000000�00000015727�13636304630�0023112�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Text.Pandoc.Readers.Odt.Arrows.Utils Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable Utility functions for Arrows (Kleisli monads). Some general notes on notation: * "^" is meant to stand for a pure function that is lifted into an arrow based on its usage for that purpose in "Control.Arrow". * "?" is meant to stand for the usage of a 'FallibleArrow' or a pure function with an equivalent return value. * "_" stands for the dropping of a value. -} -- We export everything module Text.Pandoc.Readers.Odt.Arrows.Utils where import Control.Arrow import Control.Monad (join) import Text.Pandoc.Readers.Odt.Generic.Fallible import Text.Pandoc.Readers.Odt.Generic.Utils and2 :: (Arrow a) => a b c -> a b c' -> a b (c,c') and2 = (&&&) and3 :: (Arrow a) => a b c0->a b c1->a b c2 -> a b (c0,c1,c2 ) and4 :: (Arrow a) => a b c0->a b c1->a b c2->a b c3 -> a b (c0,c1,c2,c3 ) and5 :: (Arrow a) => a b c0->a b c1->a b c2->a b c3->a b c4 -> a b (c0,c1,c2,c3,c4 ) and6 :: (Arrow a) => a b c0->a b c1->a b c2->a b c3->a b c4->a b c5 -> a b (c0,c1,c2,c3,c4,c5 ) and3 a b c = and2 a b &&& c >>^ \((z,y ) , x) -> (z,y,x ) and4 a b c d = and3 a b c &&& d >>^ \((z,y,x ) , w) -> (z,y,x,w ) and5 a b c d e = and4 a b c d &&& e >>^ \((z,y,x,w ) , v) -> (z,y,x,w,v ) and6 a b c d e f = and5 a b c d e &&& f >>^ \((z,y,x,w,v ) , u) -> (z,y,x,w,v,u ) liftA2 :: (Arrow a) => (x -> y -> z) -> a b x -> a b y -> a b z liftA2 f a b = a &&& b >>^ uncurry f liftA3 :: (Arrow a) => (z->y->x -> r) -> a b z->a b y->a b x -> a b r liftA4 :: (Arrow a) => (z->y->x->w -> r) -> a b z->a b y->a b x->a b w -> a b r liftA5 :: (Arrow a) => (z->y->x->w->v -> r) -> a b z->a b y->a b x->a b w->a b v -> a b r liftA6 :: (Arrow a) => (z->y->x->w->v->u -> r) -> a b z->a b y->a b x->a b w->a b v->a b u -> a b r liftA3 fun a b c = and3 a b c >>^ uncurry3 fun liftA4 fun a b c d = and4 a b c d >>^ uncurry4 fun liftA5 fun a b c d e = and5 a b c d e >>^ uncurry5 fun liftA6 fun a b c d e f = and6 a b c d e f >>^ uncurry6 fun liftA :: (Arrow a) => (y -> z) -> a b y -> a b z liftA fun a = a >>^ fun -- | Duplicate a value to subsequently feed it into different arrows. -- Can almost always be replaced with '(&&&)', 'keepingTheValue', -- or even '(|||)'. -- Equivalent to -- > returnA &&& returnA duplicate :: (Arrow a) => a b (b,b) duplicate = arr $ join (,) -- | Applies a function to the uncurried result-pair of an arrow-application. -- (The %-symbol was chosen to evoke an association with pairs.) (>>%) :: (Arrow a) => a x (b,c) -> (b -> c -> d) -> a x d a >>% f = a >>^ uncurry f infixr 2 >>% -- | Duplicate a value and apply an arrow to the second instance. -- Equivalent to -- > \a -> duplicate >>> second a -- or -- > \a -> returnA &&& a keepingTheValue :: (Arrow a) => a b c -> a b (b,c) keepingTheValue a = returnA &&& a ( ^||| ) :: (ArrowChoice a) => (b -> d) -> a c d -> a (Either b c) d ( |||^ ) :: (ArrowChoice a) => a b d -> (c -> d) -> a (Either b c) d ( ^|||^ ) :: (ArrowChoice a) => (b -> d) -> (c -> d) -> a (Either b c) d l ^||| r = arr l ||| r l |||^ r = l ||| arr r l ^|||^ r = arr l ||| arr r infixr 2 ^||| , |||^, ^|||^ ( ^&&& ) :: (Arrow a) => (b -> c) -> a b c' -> a b (c,c') ( &&&^ ) :: (Arrow a) => a b c -> (b -> c') -> a b (c,c') l ^&&& r = arr l &&& r l &&&^ r = l &&& arr r infixr 3 ^&&&, &&&^ -- | Converts @Right a@ into @Just a@ and @Left _@ into @Nothing@. choiceToMaybe :: (ArrowChoice a) => a (Either l r) (Maybe r) choiceToMaybe = arr eitherToMaybe -- | Converts @Nothing@ into @Left ()@ and @Just a@ into @Right a@. maybeToChoice :: (ArrowChoice a) => a (Maybe b) (Fallible b) maybeToChoice = arr maybeToEither -- | Lifts a constant value into an arrow returnV :: (Arrow a) => c -> a x c returnV = arr.const -- | Defines Left as failure, Right as success type FallibleArrow a input failure success = a input (Either failure success) -- liftAsSuccess :: (ArrowChoice a) => a x success -> FallibleArrow a x failure success liftAsSuccess a = a >>^ Right -- | Execute the second arrow if the first succeeds (>>?) :: (ArrowChoice a) => FallibleArrow a x failure success -> FallibleArrow a success failure success' -> FallibleArrow a x failure success' a >>? b = a >>> Left ^||| b -- | Execute the lifted second arrow if the first succeeds (>>?^) :: (ArrowChoice a) => FallibleArrow a x failure success -> (success -> success') -> FallibleArrow a x failure success' a >>?^ f = a >>^ Left ^|||^ Right . f -- | Execute the lifted second arrow if the first succeeds (>>?^?) :: (ArrowChoice a) => FallibleArrow a x failure success -> (success -> Either failure success') -> FallibleArrow a x failure success' a >>?^? b = a >>> Left ^|||^ b -- | Execute the second arrow if the lifted first arrow succeeds (^>>?) :: (ArrowChoice a) => (x -> Either failure success) -> FallibleArrow a success failure success' -> FallibleArrow a x failure success' a ^>>? b = a ^>> Left ^||| b -- | Execute the second, non-fallible arrow if the first arrow succeeds (>>?!) :: (ArrowChoice a) => FallibleArrow a x failure success -> a success success' -> FallibleArrow a x failure success' a >>?! f = a >>> right f --- (>>?%) :: (ArrowChoice a) => FallibleArrow a x f (b,b') -> (b -> b' -> c) -> FallibleArrow a x f c a >>?% f = a >>?^ uncurry f --- (^>>?%) :: (ArrowChoice a) => (x -> Either f (b,b')) -> (b -> b' -> c) -> FallibleArrow a x f c a ^>>?% f = arr a >>?^ uncurry f --- (>>?%?) :: (ArrowChoice a) => FallibleArrow a x f (b,b') -> (b -> b' -> Either f c) -> FallibleArrow a x f c a >>?%? f = a >>?^? uncurry f infixr 1 >>?, >>?^, >>?^? infixr 1 ^>>?, >>?! infixr 1 >>?%, ^>>?%, >>?%? -- | An arrow version of a short-circuit (<|>) ifFailedDo :: (ArrowChoice a) => FallibleArrow a x f y -> FallibleArrow a x f y -> FallibleArrow a x f y ifFailedDo a b = keepingTheValue a >>> repackage ^>> (b |||^ Right) where repackage (x , Left _) = Left x repackage (_ , Right y) = Right y infixr 1 `ifFailedDo` �����������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Base.hs��������������������������������������������������0000664�0000000�0000000�00000001162�13636304630�0021373�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Text.Pandoc.Readers.Odt.Base Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable Core types of the odt reader. -} module Text.Pandoc.Readers.Odt.Base where import Text.Pandoc.Readers.Odt.Generic.XMLConverter import Text.Pandoc.Readers.Odt.Namespaces type OdtConverterState s = XMLConverterState Namespace s type XMLReader s a b = FallibleXMLConverter Namespace s a b type XMLReaderSafe s a b = XMLConverter Namespace s a b ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/ContentReader.hs�����������������������������������������0000664�0000000�0000000�00000104475�13636304630�0023271�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE Arrows #-} {-# LANGUAGE DeriveFoldable #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Odt.ContentReader Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable The core of the odt reader that converts odt features into Pandoc types. -} module Text.Pandoc.Readers.Odt.ContentReader ( readerState , read_body ) where import Control.Applicative hiding (liftA, liftA2, liftA3) import Control.Arrow import qualified Data.ByteString.Lazy as B import Data.Foldable (fold) import Data.List (find, stripPrefix) import qualified Data.Map as M import qualified Data.Text as T import Data.Maybe import Data.Semigroup (First(..), Option(..)) import Text.TeXMath (readMathML, writeTeX) import qualified Text.XML.Light as XML import Text.Pandoc.Builder import Text.Pandoc.MediaBag (MediaBag, insertMedia) import Text.Pandoc.Shared import Text.Pandoc.Extensions (extensionsFromList, Extension(..)) import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Readers.Odt.Base import Text.Pandoc.Readers.Odt.Namespaces import Text.Pandoc.Readers.Odt.StyleReader import Text.Pandoc.Readers.Odt.Arrows.State (foldS) import Text.Pandoc.Readers.Odt.Arrows.Utils import Text.Pandoc.Readers.Odt.Generic.Fallible import Text.Pandoc.Readers.Odt.Generic.Utils import Text.Pandoc.Readers.Odt.Generic.XMLConverter import qualified Data.Set as Set -------------------------------------------------------------------------------- -- State -------------------------------------------------------------------------------- type Anchor = T.Text type Media = [(FilePath, B.ByteString)] data ReaderState = ReaderState { -- | A collection of styles read somewhere else. -- It is only queried here, not modified. styleSet :: Styles -- | A stack of the styles of parent elements. -- Used to look up inherited style properties. , styleTrace :: [Style] -- | Keeps track of the current depth in nested lists , currentListLevel :: ListLevel -- | Lists may provide their own style, but they don't have -- to. If they do not, the style of a parent list may be used -- or even a default list style from the paragraph style. -- This value keeps track of the closest list style there -- currently is. , currentListStyle :: Maybe ListStyle -- | A map from internal anchor names to "pretty" ones. -- The mapping is a purely cosmetic one. , bookmarkAnchors :: M.Map Anchor Anchor -- | A map of files / binary data from the archive , envMedia :: Media -- | Hold binary resources used in the document , odtMediaBag :: MediaBag } deriving ( Show ) readerState :: Styles -> Media -> ReaderState readerState styles media = ReaderState styles [] 0 Nothing M.empty media mempty -- pushStyle' :: Style -> ReaderState -> ReaderState pushStyle' style state = state { styleTrace = style : styleTrace state } -- popStyle' :: ReaderState -> ReaderState popStyle' state = case styleTrace state of _:trace -> state { styleTrace = trace } _ -> state -- modifyListLevel :: (ListLevel -> ListLevel) -> (ReaderState -> ReaderState) modifyListLevel f state = state { currentListLevel = f (currentListLevel state) } -- shiftListLevel :: ListLevel -> (ReaderState -> ReaderState) shiftListLevel diff = modifyListLevel (+ diff) -- swapCurrentListStyle :: Maybe ListStyle -> ReaderState -> (ReaderState, Maybe ListStyle) swapCurrentListStyle mListStyle state = ( state { currentListStyle = mListStyle } , currentListStyle state ) -- lookupPrettyAnchor :: Anchor -> ReaderState -> Maybe Anchor lookupPrettyAnchor anchor ReaderState{..} = M.lookup anchor bookmarkAnchors -- putPrettyAnchor :: Anchor -> Anchor -> ReaderState -> ReaderState putPrettyAnchor ugly pretty state@ReaderState{..} = state { bookmarkAnchors = M.insert ugly pretty bookmarkAnchors } -- usedAnchors :: ReaderState -> [Anchor] usedAnchors ReaderState{..} = M.elems bookmarkAnchors getMediaBag :: ReaderState -> MediaBag getMediaBag ReaderState{..} = odtMediaBag getMediaEnv :: ReaderState -> Media getMediaEnv ReaderState{..} = envMedia insertMedia' :: (FilePath, B.ByteString) -> ReaderState -> ReaderState insertMedia' (fp, bs) state@ReaderState{..} = state { odtMediaBag = insertMedia fp Nothing bs odtMediaBag } -------------------------------------------------------------------------------- -- Reader type and associated tools -------------------------------------------------------------------------------- type OdtReader a b = XMLReader ReaderState a b type OdtReaderSafe a b = XMLReaderSafe ReaderState a b -- | Extract something from the styles fromStyles :: (a -> Styles -> b) -> OdtReaderSafe a b fromStyles f = keepingTheValue (getExtraState >>^ styleSet) >>% f -- getStyleByName :: OdtReader StyleName Style getStyleByName = fromStyles lookupStyle >>^ maybeToChoice -- findStyleFamily :: OdtReader Style StyleFamily findStyleFamily = fromStyles getStyleFamily >>^ maybeToChoice -- lookupListStyle :: OdtReader StyleName ListStyle lookupListStyle = fromStyles lookupListStyleByName >>^ maybeToChoice -- switchCurrentListStyle :: OdtReaderSafe (Maybe ListStyle) (Maybe ListStyle) switchCurrentListStyle = keepingTheValue getExtraState >>% swapCurrentListStyle >>> first setExtraState >>^ snd -- pushStyle :: OdtReaderSafe Style Style pushStyle = keepingTheValue ( ( keepingTheValue getExtraState >>% pushStyle' ) >>> setExtraState ) >>^ fst -- popStyle :: OdtReaderSafe x x popStyle = keepingTheValue ( getExtraState >>> arr popStyle' >>> setExtraState ) >>^ fst -- getCurrentListLevel :: OdtReaderSafe _x ListLevel getCurrentListLevel = getExtraState >>^ currentListLevel -- updateMediaWithResource :: OdtReaderSafe (FilePath, B.ByteString) (FilePath, B.ByteString) updateMediaWithResource = keepingTheValue ( (keepingTheValue getExtraState >>% insertMedia' ) >>> setExtraState ) >>^ fst lookupResource :: OdtReaderSafe FilePath (FilePath, B.ByteString) lookupResource = proc target -> do state <- getExtraState -< () case lookup target (getMediaEnv state) of Just bs -> returnV (target, bs) -<< () Nothing -> returnV ("", B.empty) -< () type AnchorPrefix = T.Text -- | An adaptation of 'uniqueIdent' from "Text.Pandoc.Shared" that generates a -- unique identifier but without assuming that the id should be for a header. -- Second argument is a list of already used identifiers. uniqueIdentFrom :: AnchorPrefix -> [Anchor] -> Anchor uniqueIdentFrom baseIdent usedIdents = let numIdent n = baseIdent <> "-" <> T.pack (show n) in if baseIdent `elem` usedIdents then case find (\x -> numIdent x `notElem` usedIdents) ([1..60000] :: [Int]) of Just x -> numIdent x Nothing -> baseIdent -- if we have more than 60,000, allow repeats else baseIdent -- | First argument: basis for a new "pretty" anchor if none exists yet -- Second argument: a key ("ugly" anchor) -- Returns: saved "pretty" anchor or created new one getPrettyAnchor :: OdtReaderSafe (AnchorPrefix, Anchor) Anchor getPrettyAnchor = proc (baseIdent, uglyAnchor) -> do state <- getExtraState -< () case lookupPrettyAnchor uglyAnchor state of Just prettyAnchor -> returnA -< prettyAnchor Nothing -> do let newPretty = uniqueIdentFrom baseIdent (usedAnchors state) modifyExtraState (putPrettyAnchor uglyAnchor newPretty) -<< newPretty -- | Input: basis for a new header anchor -- Output: saved new anchor getHeaderAnchor :: OdtReaderSafe Inlines Anchor getHeaderAnchor = proc title -> do state <- getExtraState -< () let exts = extensionsFromList [Ext_auto_identifiers] let anchor = uniqueIdent exts (toList title) (Set.fromList $ usedAnchors state) modifyExtraState (putPrettyAnchor anchor anchor) -<< anchor -------------------------------------------------------------------------------- -- Working with styles -------------------------------------------------------------------------------- -- readStyleByName :: OdtReader _x (StyleName, Style) readStyleByName = findAttr NsText "style-name" >>? keepingTheValue getStyleByName >>^ liftE where liftE :: (StyleName, Fallible Style) -> Fallible (StyleName, Style) liftE (name, Right v) = Right (name, v) liftE (_, Left v) = Left v -- isStyleToTrace :: OdtReader Style Bool isStyleToTrace = findStyleFamily >>?^ (==FaText) -- withNewStyle :: OdtReaderSafe x Inlines -> OdtReaderSafe x Inlines withNewStyle a = proc x -> do fStyle <- readStyleByName -< () case fStyle of Right (styleName, _) | isCodeStyle styleName -> do inlines <- a -< x arr inlineCode -<< inlines Right (_, style) -> do mFamily <- arr styleFamily -< style fTextProps <- arr ( maybeToChoice . textProperties . styleProperties ) -< style case fTextProps of Right textProps -> do state <- getExtraState -< () let triple = (state, textProps, mFamily) modifier <- arr modifierFromStyleDiff -< triple fShouldTrace <- isStyleToTrace -< style case fShouldTrace of Right shouldTrace -> if shouldTrace then do pushStyle -< style inlines <- a -< x popStyle -< () arr modifier -<< inlines else -- In case anything goes wrong a -< x Left _ -> a -< x Left _ -> a -< x Left _ -> a -< x where isCodeStyle :: StyleName -> Bool isCodeStyle "Source_Text" = True isCodeStyle _ = False inlineCode :: Inlines -> Inlines inlineCode = code . T.concat . map stringify . toList type PropertyTriple = (ReaderState, TextProperties, Maybe StyleFamily) type InlineModifier = Inlines -> Inlines -- | Given data about the local style changes, calculates how to modify -- an instance of 'Inlines' modifierFromStyleDiff :: PropertyTriple -> InlineModifier modifierFromStyleDiff propertyTriple = composition $ getVPosModifier propertyTriple : map (first ($ propertyTriple) >>> ifThen_else ignore) [ (hasEmphChanged , emph ) , (hasChanged isStrong , strong ) , (hasChanged strikethrough , strikeout ) ] where ifThen_else else' (if',then') = if if' then then' else else' ignore = id :: InlineModifier getVPosModifier :: PropertyTriple -> InlineModifier getVPosModifier triple@(_,textProps,_) = let getVPos = Just . verticalPosition in case lookupPreviousValueM getVPos triple of Nothing -> ignore Just oldVPos -> getVPosModifier' (oldVPos, verticalPosition textProps) getVPosModifier' (oldVPos , newVPos ) | oldVPos == newVPos = ignore getVPosModifier' ( _ , VPosSub ) = subscript getVPosModifier' ( _ , VPosSuper ) = superscript getVPosModifier' ( _ , _ ) = ignore hasEmphChanged :: PropertyTriple -> Bool hasEmphChanged = swing any [ hasChanged isEmphasised , hasChangedM pitch , hasChanged underline ] hasChanged property triple@(_, property -> newProperty, _) = (/= Just newProperty) (lookupPreviousValue property triple) hasChangedM property triple@(_, textProps,_) = fromMaybe False $ (/=) <$> property textProps <*> lookupPreviousValueM property triple lookupPreviousValue f = lookupPreviousStyleValue (fmap f . textProperties) lookupPreviousValueM f = lookupPreviousStyleValue ((f =<<).textProperties) lookupPreviousStyleValue f (ReaderState{..},_,mFamily) = findBy f (extendedStylePropertyChain styleTrace styleSet) <|> ( f =<< fmap (lookupDefaultStyle' styleSet) mFamily ) type ParaModifier = Blocks -> Blocks _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_MM_ :: Int _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_PERCENT_ :: Int _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_MM_ = 5 _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_PERCENT_ = 5 -- | Returns either 'id' or 'blockQuote' depending on the current indentation getParaModifier :: Style -> ParaModifier getParaModifier Style{..} | Just props <- paraProperties styleProperties , isBlockQuote (indentation props) (margin_left props) = blockQuote | otherwise = id where isBlockQuote mIndent mMargin | LengthValueMM indent <- mIndent , indent > _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_MM_ = True | LengthValueMM margin <- mMargin , margin > _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_MM_ = True | LengthValueMM indent <- mIndent , LengthValueMM margin <- mMargin = indent + margin > _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_MM_ | PercentValue indent <- mIndent , indent > _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_PERCENT_ = True | PercentValue margin <- mMargin , margin > _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_PERCENT_ = True | PercentValue indent <- mIndent , PercentValue margin <- mMargin = indent + margin > _MINIMUM_INDENTATION_FOR_BLOCKQUOTES_IN_PERCENT_ | otherwise = False -- constructPara :: OdtReaderSafe Blocks Blocks -> OdtReaderSafe Blocks Blocks constructPara reader = proc blocks -> do fStyle <- readStyleByName -< blocks case fStyle of Left _ -> reader -< blocks Right (styleName, _) | isTableCaptionStyle styleName -> do blocks' <- reader -< blocks arr tableCaptionP -< blocks' Right (_, style) -> do let modifier = getParaModifier style blocks' <- reader -< blocks arr modifier -<< blocks' where isTableCaptionStyle :: StyleName -> Bool isTableCaptionStyle "Table" = True isTableCaptionStyle _ = False tableCaptionP b = divWith ("", ["caption"], []) b type ListConstructor = [Blocks] -> Blocks getListConstructor :: ListLevelStyle -> ListConstructor getListConstructor ListLevelStyle{..} = case listLevelType of LltBullet -> bulletList LltImage -> bulletList LltNumbered -> let listNumberStyle = toListNumberStyle listItemFormat listNumberDelim = toListNumberDelim listItemPrefix listItemSuffix in orderedListWith (listItemStart, listNumberStyle, listNumberDelim) where toListNumberStyle LinfNone = DefaultStyle toListNumberStyle LinfNumber = Decimal toListNumberStyle LinfRomanLC = LowerRoman toListNumberStyle LinfRomanUC = UpperRoman toListNumberStyle LinfAlphaLC = LowerAlpha toListNumberStyle LinfAlphaUC = UpperAlpha toListNumberStyle (LinfString _) = Example toListNumberDelim Nothing (Just ".") = Period toListNumberDelim (Just "" ) (Just ".") = Period toListNumberDelim Nothing (Just ")") = OneParen toListNumberDelim (Just "" ) (Just ")") = OneParen toListNumberDelim (Just "(") (Just ")") = TwoParens toListNumberDelim _ _ = DefaultDelim -- | Determines which style to use for a list, which level to use of that -- style, and which type of list to create as a result of this information. -- Then prepares the state for eventual child lists and constructs the list from -- the results. -- Two main cases are handled: The list may provide its own style or it may -- rely on a parent list's style. I the former case the current style in the -- state must be switched before and after the call to the child converter -- while in the latter the child converter can be called directly. -- If anything goes wrong, a default ordered-list-constructor is used. constructList :: OdtReaderSafe x [Blocks] -> OdtReaderSafe x Blocks constructList reader = proc x -> do modifyExtraState (shiftListLevel 1) -< () listLevel <- getCurrentListLevel -< () fStyleName <- findAttr NsText "style-name" -< () case fStyleName of Right styleName -> do fListStyle <- lookupListStyle -< styleName case fListStyle of Right listStyle -> do fLLS <- arr (uncurry getListLevelStyle) -< (listLevel,listStyle) case fLLS of Just listLevelStyle -> do oldListStyle <- switchCurrentListStyle -< Just listStyle blocks <- constructListWith listLevelStyle -<< x switchCurrentListStyle -< oldListStyle returnA -< blocks Nothing -> constructOrderedList -< x Left _ -> constructOrderedList -< x Left _ -> do state <- getExtraState -< () mListStyle <- arr currentListStyle -< state case mListStyle of Just listStyle -> do fLLS <- arr (uncurry getListLevelStyle) -< (listLevel,listStyle) case fLLS of Just listLevelStyle -> constructListWith listLevelStyle -<< x Nothing -> constructOrderedList -< x Nothing -> constructOrderedList -< x where constructOrderedList = reader >>> modifyExtraState (shiftListLevel (-1)) >>^ orderedList constructListWith listLevelStyle = reader >>> getListConstructor listLevelStyle ^>> modifyExtraState (shiftListLevel (-1)) -------------------------------------------------------------------------------- -- Readers -------------------------------------------------------------------------------- type ElementMatcher result = (Namespace, ElementName, OdtReader result result) type InlineMatcher = ElementMatcher Inlines type BlockMatcher = ElementMatcher Blocks newtype FirstMatch a = FirstMatch (Option (First a)) deriving (Foldable, Monoid, Semigroup) firstMatch :: a -> FirstMatch a firstMatch = FirstMatch . Option . Just . First -- matchingElement :: (Monoid e) => Namespace -> ElementName -> OdtReaderSafe e e -> ElementMatcher e matchingElement ns name reader = (ns, name, asResultAccumulator reader) where asResultAccumulator :: (ArrowChoice a, Monoid m) => a m m -> a m (Fallible m) asResultAccumulator a = liftAsSuccess $ keepingTheValue a >>% mappend -- matchChildContent' :: (Monoid result) => [ElementMatcher result] -> OdtReaderSafe _x result matchChildContent' ls = returnV mempty >>> matchContent' ls -- matchChildContent :: (Monoid result) => [ElementMatcher result] -> OdtReaderSafe (result, XML.Content) result -> OdtReaderSafe _x result matchChildContent ls fallback = returnV mempty >>> matchContent ls fallback -------------------------------------------- -- Matchers -------------------------------------------- ---------------------- -- Basics ---------------------- -- -- | Open Document allows several consecutive spaces if they are marked up read_plain_text :: OdtReaderSafe (Inlines, XML.Content) Inlines read_plain_text = fst ^&&& read_plain_text' >>% recover where -- fallible version read_plain_text' :: OdtReader (Inlines, XML.Content) Inlines read_plain_text' = ( second ( arr extractText ) >>^ spreadChoice >>?! second text ) >>?% mappend -- extractText :: XML.Content -> Fallible T.Text extractText (XML.Text cData) = succeedWith (T.pack $ XML.cdData cData) extractText _ = failEmpty read_text_seq :: InlineMatcher read_text_seq = matchingElement NsText "sequence" $ matchChildContent [] read_plain_text -- specifically. I honor that, although the current implementation of 'mappend' -- for 'Inlines' in "Text.Pandoc.Builder" will collapse them again. -- The rational is to be prepared for future modifications. read_spaces :: InlineMatcher read_spaces = matchingElement NsText "s" ( readAttrWithDefault NsText "c" 1 -- how many spaces? >>^ fromList.(`replicate` Space) ) -- read_line_break :: InlineMatcher read_line_break = matchingElement NsText "line-break" $ returnV linebreak -- read_span :: InlineMatcher read_span = matchingElement NsText "span" $ withNewStyle $ matchChildContent [ read_span , read_spaces , read_line_break , read_link , read_note , read_citation , read_bookmark , read_bookmark_start , read_reference_start , read_bookmark_ref , read_reference_ref ] read_plain_text -- read_paragraph :: BlockMatcher read_paragraph = matchingElement NsText "p" $ constructPara $ liftA para $ withNewStyle $ matchChildContent [ read_span , read_spaces , read_line_break , read_link , read_note , read_citation , read_bookmark , read_bookmark_start , read_reference_start , read_bookmark_ref , read_reference_ref , read_frame , read_text_seq ] read_plain_text ---------------------- -- Headers ---------------------- -- read_header :: BlockMatcher read_header = matchingElement NsText "h" $ proc blocks -> do level <- ( readAttrWithDefault NsText "outline-level" 1 ) -< blocks children <- ( matchChildContent [ read_span , read_spaces , read_line_break , read_link , read_note , read_citation , read_bookmark , read_bookmark_start , read_reference_start , read_bookmark_ref , read_reference_ref , read_frame ] read_plain_text ) -< blocks anchor <- getHeaderAnchor -< children let idAttr = (anchor, [], []) -- no classes, no key-value pairs arr (uncurry3 headerWith) -< (idAttr, level, children) ---------------------- -- Lists ---------------------- -- read_list :: BlockMatcher read_list = matchingElement NsText "list" -- $ withIncreasedListLevel $ constructList -- $ liftA bulletList $ matchChildContent' [ read_list_item ] -- read_list_item :: ElementMatcher [Blocks] read_list_item = matchingElement NsText "list-item" $ liftA (compactify.(:[])) ( matchChildContent' [ read_paragraph , read_header , read_list ] ) ---------------------- -- Links ---------------------- read_link :: InlineMatcher read_link = matchingElement NsText "a" $ liftA3 link ( findAttrTextWithDefault NsXLink "href" "" ) ( findAttrTextWithDefault NsOffice "title" "" ) ( matchChildContent [ read_span , read_note , read_citation , read_bookmark , read_bookmark_start , read_reference_start , read_bookmark_ref , read_reference_ref ] read_plain_text ) ------------------------- -- Footnotes ------------------------- read_note :: InlineMatcher read_note = matchingElement NsText "note" $ liftA note $ matchChildContent' [ read_note_body ] read_note_body :: BlockMatcher read_note_body = matchingElement NsText "note-body" $ matchChildContent' [ read_paragraph ] ------------------------- -- Citations ------------------------- read_citation :: InlineMatcher read_citation = matchingElement NsText "bibliography-mark" $ liftA2 cite ( liftA2 makeCitation ( findAttrTextWithDefault NsText "identifier" "" ) ( readAttrWithDefault NsText "number" 0 ) ) ( matchChildContent [] read_plain_text ) where makeCitation :: T.Text -> Int -> [Citation] makeCitation citeId num = [Citation citeId [] [] NormalCitation num 0] ---------------------- -- Tables ---------------------- -- read_table :: BlockMatcher read_table = matchingElement NsTable "table" $ liftA simpleTable' $ matchChildContent' [ read_table_row ] -- | A simple table without a caption or headers -- | Infers the number of headers from rows simpleTable' :: [[Blocks]] -> Blocks simpleTable' [] = simpleTable [] [] simpleTable' (x : rest) = simpleTable (fmap (const defaults) x) (x : rest) where defaults = fromList [] -- read_table_row :: ElementMatcher [[Blocks]] read_table_row = matchingElement NsTable "table-row" $ liftA (:[]) $ matchChildContent' [ read_table_cell ] -- read_table_cell :: ElementMatcher [Blocks] read_table_cell = matchingElement NsTable "table-cell" $ liftA (compactify.(:[])) $ matchChildContent' [ read_paragraph ] ---------------------- -- Frames ---------------------- -- read_frame :: InlineMatcher read_frame = matchingElement NsDraw "frame" $ filterChildrenName' NsDraw (`elem` ["image", "object", "text-box"]) >>> foldS read_frame_child >>> arr fold read_frame_child :: OdtReaderSafe XML.Element (FirstMatch Inlines) read_frame_child = proc child -> case elName child of "image" -> read_frame_img -< child "object" -> read_frame_mathml -< child "text-box" -> read_frame_text_box -< child _ -> returnV mempty -< () read_frame_img :: OdtReaderSafe XML.Element (FirstMatch Inlines) read_frame_img = proc img -> do src <- executeIn (findAttr' NsXLink "href") -< img case fold src of "" -> returnV mempty -< () src' -> do let exts = extensionsFromList [Ext_auto_identifiers] resource <- lookupResource -< src' _ <- updateMediaWithResource -< resource w <- findAttrText' NsSVG "width" -< () h <- findAttrText' NsSVG "height" -< () titleNodes <- matchChildContent' [ read_frame_title ] -< () alt <- matchChildContent [] read_plain_text -< () arr (firstMatch . uncurry4 imageWith) -< (image_attributes w h, T.pack src', inlineListToIdentifier exts (toList titleNodes), alt) read_frame_title :: InlineMatcher read_frame_title = matchingElement NsSVG "title" (matchChildContent [] read_plain_text) image_attributes :: Maybe T.Text -> Maybe T.Text -> Attr image_attributes x y = ( "", [], dim "width" x ++ dim "height" y) where dim _ (Just "") = [] dim name (Just v) = [(name, v)] dim _ Nothing = [] read_frame_mathml :: OdtReaderSafe XML.Element (FirstMatch Inlines) read_frame_mathml = proc obj -> do src <- executeIn (findAttr' NsXLink "href") -< obj case fold src of "" -> returnV mempty -< () src' -> do let path = fromMaybe src' (stripPrefix "./" src') ++ "/content.xml" (_, mathml) <- lookupResource -< path case readMathML (UTF8.toText $ B.toStrict mathml) of Left _ -> returnV mempty -< () Right exps -> arr (firstMatch . displayMath . writeTeX) -< exps read_frame_text_box :: OdtReaderSafe XML.Element (FirstMatch Inlines) read_frame_text_box = proc box -> do paragraphs <- executeIn (matchChildContent' [ read_paragraph ]) -< box arr read_img_with_caption -< toList paragraphs read_img_with_caption :: [Block] -> FirstMatch Inlines read_img_with_caption (Para [Image attr alt (src,title)] : _) = firstMatch $ singleton (Image attr alt (src, "fig:" <> title)) -- no text, default caption read_img_with_caption (Para (Image attr _ (src,title) : txt) : _) = firstMatch $ singleton (Image attr txt (src, "fig:" <> title) ) -- override caption with the text that follows read_img_with_caption ( Para (_ : xs) : ys) = read_img_with_caption (Para xs : ys) read_img_with_caption _ = mempty ---------------------- -- Internal links ---------------------- _ANCHOR_PREFIX_ :: T.Text _ANCHOR_PREFIX_ = "anchor" -- readAnchorAttr :: OdtReader _x Anchor readAnchorAttr = findAttrText NsText "name" -- | Beware: may fail findAnchorName :: OdtReader AnchorPrefix Anchor findAnchorName = ( keepingTheValue readAnchorAttr >>^ spreadChoice ) >>?! getPrettyAnchor -- maybeAddAnchorFrom :: OdtReader Inlines AnchorPrefix -> OdtReaderSafe Inlines Inlines maybeAddAnchorFrom anchorReader = keepingTheValue (anchorReader >>? findAnchorName >>?^ toAnchorElem) >>> proc (inlines, fAnchorElem) -> do case fAnchorElem of Right anchorElem -> returnA -< anchorElem Left _ -> returnA -< inlines where toAnchorElem :: Anchor -> Inlines toAnchorElem anchorID = spanWith (anchorID, [], []) mempty -- no classes, no key-value pairs -- read_bookmark :: InlineMatcher read_bookmark = matchingElement NsText "bookmark" $ maybeAddAnchorFrom (liftAsSuccess $ returnV _ANCHOR_PREFIX_) -- read_bookmark_start :: InlineMatcher read_bookmark_start = matchingElement NsText "bookmark-start" $ maybeAddAnchorFrom (liftAsSuccess $ returnV _ANCHOR_PREFIX_) -- read_reference_start :: InlineMatcher read_reference_start = matchingElement NsText "reference-mark-start" $ maybeAddAnchorFrom readAnchorAttr -- | Beware: may fail findAnchorRef :: OdtReader _x Anchor findAnchorRef = ( findAttrText NsText "ref-name" >>?^ (_ANCHOR_PREFIX_,) ) >>?! getPrettyAnchor -- maybeInAnchorRef :: OdtReaderSafe Inlines Inlines maybeInAnchorRef = proc inlines -> do fRef <- findAnchorRef -< () case fRef of Right anchor -> arr (toAnchorRef anchor) -<< inlines Left _ -> returnA -< inlines where toAnchorRef :: Anchor -> Inlines -> Inlines toAnchorRef anchor = link ("#" <> anchor) "" -- no title -- read_bookmark_ref :: InlineMatcher read_bookmark_ref = matchingElement NsText "bookmark-ref" $ maybeInAnchorRef <<< matchChildContent [] read_plain_text -- read_reference_ref :: InlineMatcher read_reference_ref = matchingElement NsText "reference-ref" $ maybeInAnchorRef <<< matchChildContent [] read_plain_text ---------------------- -- Entry point ---------------------- read_text :: OdtReaderSafe _x Pandoc read_text = matchChildContent' [ read_header , read_paragraph , read_list , read_table ] >>^ doc post_process :: Pandoc -> Pandoc post_process (Pandoc m blocks) = Pandoc m (post_process' blocks) post_process' :: [Block] -> [Block] post_process' (Table _ a w h r : Div ("", ["caption"], _) [Para inlines] : xs) = Table inlines a w h r : post_process' xs post_process' bs = bs read_body :: OdtReader _x (Pandoc, MediaBag) read_body = executeInSub NsOffice "body" $ executeInSub NsOffice "text" $ liftAsSuccess $ proc inlines -> do txt <- read_text -< inlines state <- getExtraState -< () returnA -< (post_process txt, getMediaBag state) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Generic/�������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0021541�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Generic/Fallible.hs��������������������������������������0000664�0000000�0000000�00000006533�13636304630�0023616�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Text.Pandoc.Readers.Odt.Generic.Fallible Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable Data types and utilities representing failure. Most of it is based on the "Either" type in its usual configuration (left represents failure). In most cases, the failure type is implied or required to be a "Monoid". The choice of "Either" instead of a custom type makes it easier to write compatible instances of "ArrowChoice". -} -- We export everything module Text.Pandoc.Readers.Odt.Generic.Fallible where -- | Default for now. Will probably become a class at some point. type Failure = () type Fallible a = Either Failure a -- maybeToEither :: Maybe a -> Fallible a maybeToEither (Just a) = Right a maybeToEither Nothing = Left () -- eitherToMaybe :: Either _l a -> Maybe a eitherToMaybe (Left _) = Nothing eitherToMaybe (Right a) = Just a -- | > fromLeft f === either f id fromLeft :: (a -> b) -> Either a b -> b fromLeft f (Left a) = f a fromLeft _ (Right b) = b -- | > recover a === fromLeft (const a) === either (const a) id recover :: a -> Either _f a -> a recover a (Left _) = a recover _ (Right a) = a -- | I would love to use 'fail'. Alas, 'Monad.fail'... failWith :: failure -> Either failure _x failWith f = Left f -- failEmpty :: (Monoid failure) => Either failure _x failEmpty = failWith mempty -- succeedWith :: a -> Either _x a succeedWith = Right -- collapseEither :: Either failure (Either failure x) -> Either failure x collapseEither (Left f ) = Left f collapseEither (Right (Left f)) = Left f collapseEither (Right (Right x)) = Right x -- | If either of the values represents a non-error, the result is a -- (possibly combined) non-error. If both values represent an error, an error -- is returned. chooseMax :: (Monoid a, Monoid b) => Either a b -> Either a b -> Either a b chooseMax = chooseMaxWith mappend -- | If either of the values represents a non-error, the result is a -- (possibly combined) non-error. If both values represent an error, an error -- is returned. chooseMaxWith :: (Monoid a) => (b -> b -> b) -> Either a b -> Either a b -> Either a b chooseMaxWith (><) (Right a) (Right b) = Right $ a >< b chooseMaxWith _ (Left a) (Left b) = Left $ a `mappend` b chooseMaxWith _ (Right a) _ = Right a chooseMaxWith _ _ (Right b) = Right b -- | Class of containers that can escalate contained 'Either's. -- The word "Vector" is meant in the sense of a disease transmitter. class ChoiceVector v where spreadChoice :: v (Either f a) -> Either f (v a) instance ChoiceVector ((,) a) where spreadChoice (_, Left f) = Left f spreadChoice (x, Right y) = Right (x,y) -- Wasn't there a newtype somewhere with the elements flipped? -- | Wrapper for a list. While the normal list instance of 'ChoiceVector' -- fails whenever it can, this type will never fail. newtype SuccessList a = SuccessList { collectNonFailing :: [a] } deriving ( Eq, Ord, Show ) instance ChoiceVector SuccessList where spreadChoice = Right . SuccessList . foldr unTagRight [] . collectNonFailing where unTagRight (Right x) = (x:) unTagRight _ = id ���������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Generic/Namespaces.hs������������������������������������0000664�0000000�0000000�00000002756�13636304630�0024166�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Text.Pandoc.Readers.Odt.Generic.Namespaces Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable A class containing a set of namespace identifiers. Used to convert between typesafe Haskell namespace identifiers and unsafe "real world" namespaces. -} module Text.Pandoc.Readers.Odt.Generic.Namespaces where import qualified Data.Map as M -- type NameSpaceIRI = String -- type NameSpaceIRIs nsID = M.Map nsID NameSpaceIRI -- class (Eq nsID, Ord nsID) => NameSpaceID nsID where -- | Given a IRI, possibly update the map and return the id of the namespace. -- May fail if the namespace is unknown and the application does not -- allow unknown namespaces. getNamespaceID :: NameSpaceIRI -> NameSpaceIRIs nsID -> Maybe (NameSpaceIRIs nsID, nsID) -- | Given a namespace id, lookup its IRI. May be overridden for performance. getIRI :: nsID -> NameSpaceIRIs nsID -> Maybe NameSpaceIRI -- | The root element of an XML document has a namespace, too, and the -- "XML.Light-parser" is eager to remove the corresponding namespace -- attribute. -- As a result, at least this root namespace must be provided. getInitialIRImap :: NameSpaceIRIs nsID getIRI = M.lookup getInitialIRImap = M.empty ������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Generic/SetMap.hs����������������������������������������0000664�0000000�0000000�00000001544�13636304630�0023272�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Text.Pandoc.Readers.Odt.Generic.SetMap Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable A map of values to sets of values. -} module Text.Pandoc.Readers.Odt.Generic.SetMap where import qualified Data.Map as M import qualified Data.Set as S type SetMap k v = M.Map k (S.Set v) empty :: SetMap k v empty = M.empty fromList :: (Ord k, Ord v) => [(k,v)] -> SetMap k v fromList = foldr (uncurry insert) empty insert :: (Ord k, Ord v) => k -> v -> SetMap k v -> SetMap k v insert key value setMap = M.insertWith S.union key (S.singleton value) setMap union3 :: (Ord k) => SetMap k v -> SetMap k v -> SetMap k v -> SetMap k v union3 sm1 sm2 sm3 = sm1 `M.union` sm2 `M.union` sm3 ������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Generic/Utils.hs�����������������������������������������0000664�0000000�0000000�00000010616�13636304630�0023201�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE TypeOperators #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Reader.Odt.Generic.Utils Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable General utility functions for the odt reader. -} module Text.Pandoc.Readers.Odt.Generic.Utils ( uncurry3 , uncurry4 , uncurry5 , uncurry6 , swap , reverseComposition , tryToRead , Lookupable(..) , readLookupables , readLookupable , readPercent , findBy , swing , composition ) where import Control.Category (Category, (<<<), (>>>)) import qualified Control.Category as Cat (id) import Control.Monad (msum) import qualified Data.Foldable as F (Foldable, foldr) import Data.Maybe -- | Equivalent to -- > foldr (.) id -- where '(.)' are 'id' are the ones from "Control.Category" -- and 'foldr' is the one from "Data.Foldable". -- The noun-form was chosen to be consistend with 'sum', 'product' etc -- based on the discussion at -- -- (that I was not part of) composition :: (Category cat, F.Foldable f) => f (cat a a) -> cat a a composition = F.foldr (<<<) Cat.id -- | Equivalent to -- > foldr (flip (.)) id -- where '(.)' are 'id' are the ones from "Control.Category" -- and 'foldr' is the one from "Data.Foldable". -- A reversed version of 'composition'. reverseComposition :: (Category cat, F.Foldable f) => f (cat a a) -> cat a a reverseComposition = F.foldr (>>>) Cat.id -- | This function often makes it possible to switch values with the functions -- that are applied to them. -- -- Examples: -- > swing map :: [a -> b] -> a -> [b] -- > swing any :: [a -> Bool] -> a -> Bool -- > swing foldr :: b -> a -> [a -> b -> b] -> b -- > swing scanr :: c -> a -> [a -> c -> c] -> c -- > swing zipWith :: [a -> b -> c] -> a -> [b] -> [c] -- > swing find :: [a -> Bool] -> a -> Maybe (a -> Bool) -- -- Stolen from swing :: (((a -> b) -> b) -> c -> d) -> c -> a -> d swing = flip.(.flip id) -- swing f c a = f ($ a) c -- | Alternative to 'read'/'reads'. The former of these throws errors -- (nobody wants that) while the latter returns "to much" for simple purposes. -- This function instead applies 'reads' and returns the first match (if any) -- in a 'Maybe'. tryToRead :: (Read r) => String -> Maybe r tryToRead = reads >>> listToMaybe >>> fmap fst -- | A version of 'reads' that requires a '%' sign after the number readPercent :: ReadS Int readPercent s = [ (i,s') | (i , r ) <- reads s , ("%" , s') <- lex r ] -- | Data that can be looked up. -- This is mostly a utility to read data with kind *. class Lookupable a where lookupTable :: [(String, a)] -- | The idea is to use this function as if there was a declaration like -- -- > instance (Lookupable a) => (Read a) where -- > readsPrec _ = readLookupables -- . -- But including this code in this form would need UndecideableInstances. -- That is a bad idea. Luckily 'readLookupable' (without the s at the end) -- can be used directly in almost any case. readLookupables :: (Lookupable a) => String -> [(a,String)] readLookupables s = [ (a,rest) | (word,rest) <- lex s, a <- maybeToList (lookup word lookupTable) ] -- | Very similar to a simple 'lookup' in the 'lookupTable', but with a lexer. readLookupable :: (Lookupable a) => String -> Maybe a readLookupable s = msum $ map ((`lookup` lookupTable).fst) $ lex s uncurry3 :: (a->b->c -> z) -> (a,b,c ) -> z uncurry4 :: (a->b->c->d -> z) -> (a,b,c,d ) -> z uncurry5 :: (a->b->c->d->e -> z) -> (a,b,c,d,e ) -> z uncurry6 :: (a->b->c->d->e->f -> z) -> (a,b,c,d,e,f ) -> z uncurry3 fun (a,b,c ) = fun a b c uncurry4 fun (a,b,c,d ) = fun a b c d uncurry5 fun (a,b,c,d,e ) = fun a b c d e uncurry6 fun (a,b,c,d,e,f ) = fun a b c d e f swap :: (a,b) -> (b,a) swap (a,b) = (b,a) -- | A version of "Data.List.find" that uses a converter to a Maybe instance. -- The returned value is the first which the converter returns in a 'Just' -- wrapper. findBy :: (a -> Maybe b) -> [a] -> Maybe b findBy _ [] = Nothing findBy f ((f -> Just x):_ ) = Just x findBy f ( _:xs) = findBy f xs ������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Generic/XMLConverter.hs����������������������������������0000664�0000000�0000000�00000101520�13636304630�0024424�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE TupleSections #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE PatternGuards #-} {- | Module : Text.Pandoc.Readers.Odt.Generic.XMLConverter Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable A generalized XML parser based on stateful arrows. It might be sufficient to define this reader as a comonad, but there is not a lot of use in trying. -} module Text.Pandoc.Readers.Odt.Generic.XMLConverter ( ElementName , XMLConverterState , XMLConverter , FallibleXMLConverter , runConverter' , getExtraState , setExtraState , modifyExtraState , producingExtraState , findChild' , filterChildrenName' , isSet' , isSetWithDefault , elName , searchAttr , lookupAttr , lookupAttr' , lookupDefaultingAttr , findAttr' , findAttrText' , findAttr , findAttrText , findAttrWithDefault , findAttrTextWithDefault , readAttr , readAttr' , readAttrWithDefault , getAttr , executeIn , executeInSub , withEveryL , tryAll , matchContent' , matchContent ) where import Control.Applicative hiding ( liftA, liftA2 ) import Control.Monad ( MonadPlus ) import Control.Arrow import Data.Bool ( bool ) import Data.Either ( rights ) import qualified Data.Map as M import qualified Data.Text as T import Data.Default import Data.Maybe import qualified Text.XML.Light as XML import Text.Pandoc.Readers.Odt.Arrows.State import Text.Pandoc.Readers.Odt.Arrows.Utils import Text.Pandoc.Readers.Odt.Generic.Namespaces import Text.Pandoc.Readers.Odt.Generic.Utils import Text.Pandoc.Readers.Odt.Generic.Fallible -------------------------------------------------------------------------------- -- Basis types for readability -------------------------------------------------------------------------------- -- type ElementName = String type AttributeName = String type AttributeValue = String type TextAttributeValue = T.Text -- type NameSpacePrefix = String -- type NameSpacePrefixes nsID = M.Map nsID NameSpacePrefix -------------------------------------------------------------------------------- -- Main converter state -------------------------------------------------------------------------------- -- GADT so some of the NameSpaceID restrictions can be deduced data XMLConverterState nsID extraState where XMLConverterState :: NameSpaceID nsID => { -- | A stack of parent elements. The top element is the current one. -- Arguably, a real Zipper would be better. But that is an -- optimization that can be made at a later time, e.g. when -- replacing Text.XML.Light. parentElements :: [XML.Element] -- | A map from internal namespace IDs to the namespace prefixes -- used in XML elements , namespacePrefixes :: NameSpacePrefixes nsID -- | A map from internal namespace IDs to namespace IRIs -- (Only necessary for matching namespace IDs and prefixes) , namespaceIRIs :: NameSpaceIRIs nsID -- | A place to put "something else". This feature is used heavily -- to keep the main code cleaner. More specifically, the main reader -- is divided into different stages. Each stage lifts something up -- here, which the next stage can then use. This could of course be -- generalized to a state-tree or used for the namespace IRIs. The -- border between states and values is an imaginary one, after all. -- But the separation as it is seems to be enough for now. , moreState :: extraState } -> XMLConverterState nsID extraState -- createStartState :: (NameSpaceID nsID) => XML.Element -> extraState -> XMLConverterState nsID extraState createStartState element extraState = XMLConverterState { parentElements = [element] , namespacePrefixes = M.empty , namespaceIRIs = getInitialIRImap , moreState = extraState } -- | Functor over extra state instance Functor (XMLConverterState nsID) where fmap f ( XMLConverterState parents prefixes iRIs extraState ) = XMLConverterState parents prefixes iRIs (f extraState) -- replaceExtraState :: extraState -> XMLConverterState nsID _x -> XMLConverterState nsID extraState replaceExtraState x s = fmap (const x) s -- currentElement :: XMLConverterState nsID extraState -> XML.Element currentElement state = head (parentElements state) -- | Replace the current position by another, modifying the extra state -- in the process swapStack' :: XMLConverterState nsID extraState -> [XML.Element] -> ( XMLConverterState nsID extraState , [XML.Element] ) swapStack' state stack = ( state { parentElements = stack } , parentElements state ) -- pushElement :: XML.Element -> XMLConverterState nsID extraState -> XMLConverterState nsID extraState pushElement e state = state { parentElements = e:parentElements state } -- | Pop the top element from the call stack, unless it is the last one. popElement :: XMLConverterState nsID extraState -> Maybe (XMLConverterState nsID extraState) popElement state | _:es@(_:_) <- parentElements state = Just $ state { parentElements = es } | otherwise = Nothing -------------------------------------------------------------------------------- -- Main type -------------------------------------------------------------------------------- -- It might be a good idea to pack the converters in a GADT -- Downside: data instead of type -- Upside: 'Failure' could be made a parameter as well. -- type XMLConverter nsID extraState input output = ArrowState (XMLConverterState nsID extraState ) input output type FallibleXMLConverter nsID extraState input output = XMLConverter nsID extraState input (Fallible output) -- runConverter :: XMLConverter nsID extraState input output -> XMLConverterState nsID extraState -> input -> output runConverter converter state input = snd $ runArrowState converter (state,input) runConverter' :: (NameSpaceID nsID) => FallibleXMLConverter nsID extraState () success -> extraState -> XML.Element -> Fallible success runConverter' converter extraState element = runConverter (readNSattributes >>? converter) (createStartState element extraState) () -- getCurrentElement :: XMLConverter nsID extraState x XML.Element getCurrentElement = extractFromState currentElement -- getExtraState :: XMLConverter nsID extraState x extraState getExtraState = extractFromState moreState -- setExtraState :: XMLConverter nsID extraState extraState extraState setExtraState = withState $ \state extra -> (replaceExtraState extra state , extra) -- | Lifts a function to the extra state. modifyExtraState :: (extraState -> extraState) -> XMLConverter nsID extraState x x modifyExtraState = modifyState.fmap -- | First sets the extra state to the new value. Then modifies the original -- extra state with a converter that uses the new state. Finally, the -- intermediate state is dropped and the extra state is lifted into the -- state as it was at the beginning of the function. -- As a result, exactly the extra state and nothing else is changed. -- The resulting converter even behaves like an identity converter on the -- value level. -- -- (The -ing form is meant to be mnemonic in a sequence of arrows as in -- convertingExtraState () converter >>> doOtherStuff) -- convertingExtraState :: extraState' -> FallibleXMLConverter nsID extraState' extraState extraState -> FallibleXMLConverter nsID extraState x x convertingExtraState v a = withSubStateF setVAsExtraState modifyWithA where setVAsExtraState = liftAsSuccess $ extractFromState id >>^ replaceExtraState v modifyWithA = keepingTheValue (moreState ^>> a) >>^ spreadChoice >>?% flip replaceExtraState -- | First sets the extra state to the new value. Then produces a new -- extra state with a converter that uses the new state. Finally, the -- intermediate state is dropped and the extra state is lifted into the -- state as it was at the beginning of the function. -- As a result, exactly the extra state and nothing else is changed. -- The resulting converter even behaves like an identity converter on the -- value level. -- -- Equivalent to -- -- > \v x a -> convertingExtraState v (returnV x >>> a) -- -- (The -ing form is meant to be mnemonic in a sequence of arrows as in -- producingExtraState () () producer >>> doOtherStuff) -- producingExtraState :: extraState' -> a -> FallibleXMLConverter nsID extraState' a extraState -> FallibleXMLConverter nsID extraState x x producingExtraState v x a = convertingExtraState v (returnV x >>> a) -------------------------------------------------------------------------------- -- Work in namespaces -------------------------------------------------------------------------------- -- | Arrow version of 'getIRI' lookupNSiri :: (NameSpaceID nsID) => nsID -> XMLConverter nsID extraState x (Maybe NameSpaceIRI) lookupNSiri nsID = extractFromState $ \state -> getIRI nsID $ namespaceIRIs state -- lookupNSprefix :: (NameSpaceID nsID) => nsID -> XMLConverter nsID extraState x (Maybe NameSpacePrefix) lookupNSprefix nsID = extractFromState $ \state -> M.lookup nsID $ namespacePrefixes state -- | Extracts namespace attributes from the current element and tries to -- update the current mapping accordingly readNSattributes :: (NameSpaceID nsID) => FallibleXMLConverter nsID extraState x () readNSattributes = fromState $ \state -> maybe (state, failEmpty ) ( , succeedWith ()) (extractNSAttrs state ) where extractNSAttrs :: (NameSpaceID nsID) => XMLConverterState nsID extraState -> Maybe (XMLConverterState nsID extraState) extractNSAttrs startState = foldl (\state d -> state >>= addNS d) (Just startState) nsAttribs where nsAttribs = mapMaybe readNSattr (XML.elAttribs element) element = currentElement startState readNSattr (XML.Attr (XML.QName name _ (Just "xmlns")) iri) = Just (name, iri) readNSattr _ = Nothing addNS (prefix, iri) state = fmap updateState $ getNamespaceID iri $ namespaceIRIs state where updateState (iris,nsID) = state { namespaceIRIs = iris , namespacePrefixes = M.insert nsID prefix $ namespacePrefixes state } -------------------------------------------------------------------------------- -- Common namespace accessors -------------------------------------------------------------------------------- -- | Given a namespace id and an element name, creates a 'XML.QName' for -- internal use qualifyName :: (NameSpaceID nsID) => nsID -> ElementName -> XMLConverter nsID extraState x XML.QName qualifyName nsID name = lookupNSiri nsID &&& lookupNSprefix nsID >>% XML.QName name -- | Checks if a given element matches both a specified namespace id -- and a predicate elemNameMatches :: (NameSpaceID nsID) => nsID -> (ElementName -> Bool) -> XMLConverter nsID extraState XML.Element Bool elemNameMatches nsID f = keepingTheValue (lookupNSiri nsID) >>% hasMatchingName where hasMatchingName e iri = let name = XML.elName e in f (XML.qName name) && XML.qURI name == iri -- | Checks if a given element matches both a specified namespace id -- and a specified element name elemNameIs :: (NameSpaceID nsID) => nsID -> ElementName -> XMLConverter nsID extraState XML.Element Bool elemNameIs nsID name = elemNameMatches nsID (== name) -------------------------------------------------------------------------------- -- General content -------------------------------------------------------------------------------- elName :: XML.Element -> ElementName elName = XML.qName . XML.elName -- elContent :: XMLConverter nsID extraState x [XML.Content] elContent = getCurrentElement >>^ XML.elContent -------------------------------------------------------------------------------- -- Children -------------------------------------------------------------------------------- -- -- findChildren :: (NameSpaceID nsID) => nsID -> ElementName -> XMLConverter nsID extraState x [XML.Element] findChildren nsID name = qualifyName nsID name &&& getCurrentElement >>% XML.findChildren -- findChild' :: (NameSpaceID nsID) => nsID -> ElementName -> XMLConverter nsID extraState x (Maybe XML.Element) findChild' nsID name = qualifyName nsID name &&& getCurrentElement >>% XML.findChild -- findChild :: (NameSpaceID nsID) => nsID -> ElementName -> FallibleXMLConverter nsID extraState x XML.Element findChild nsID name = findChild' nsID name >>> maybeToChoice filterChildrenName' :: (NameSpaceID nsID) => nsID -> (ElementName -> Bool) -> XMLConverter nsID extraState x [XML.Element] filterChildrenName' nsID f = getCurrentElement >>> arr XML.elChildren >>> iterateS (keepingTheValue (elemNameMatches nsID f)) >>> arr (map fst . filter snd) -------------------------------------------------------------------------------- -- Attributes -------------------------------------------------------------------------------- -- isSet' :: (NameSpaceID nsID) => nsID -> AttributeName -> XMLConverter nsID extraState x (Maybe Bool) isSet' nsID attrName = findAttr' nsID attrName >>^ (>>= stringToBool') isSetWithDefault :: (NameSpaceID nsID) => nsID -> AttributeName -> Bool -> XMLConverter nsID extraState x Bool isSetWithDefault nsID attrName def' = isSet' nsID attrName >>^ fromMaybe def' -- | Lookup value in a dictionary, fail if no attribute found or value -- not in dictionary searchAttrIn :: (NameSpaceID nsID) => nsID -> AttributeName -> [(AttributeValue,a)] -> FallibleXMLConverter nsID extraState x a searchAttrIn nsID attrName dict = findAttr nsID attrName >>?^? maybeToChoice.(`lookup` dict ) -- | Lookup value in a dictionary. If attribute or value not found, -- return default value searchAttr :: (NameSpaceID nsID) => nsID -> AttributeName -> a -> [(AttributeValue,a)] -> XMLConverter nsID extraState x a searchAttr nsID attrName defV dict = searchAttrIn nsID attrName dict >>> const defV ^|||^ id -- | Read a 'Lookupable' attribute. Fail if no match. lookupAttr :: (NameSpaceID nsID, Lookupable a) => nsID -> AttributeName -> FallibleXMLConverter nsID extraState x a lookupAttr nsID attrName = lookupAttr' nsID attrName >>^ maybeToChoice -- | Read a 'Lookupable' attribute. Return the result as a 'Maybe'. lookupAttr' :: (NameSpaceID nsID, Lookupable a) => nsID -> AttributeName -> XMLConverter nsID extraState x (Maybe a) lookupAttr' nsID attrName = findAttr' nsID attrName >>^ (>>= readLookupable) -- | Read a 'Lookupable' attribute with explicit default lookupAttrWithDefault :: (NameSpaceID nsID, Lookupable a) => nsID -> AttributeName -> a -> XMLConverter nsID extraState x a lookupAttrWithDefault nsID attrName deflt = lookupAttr' nsID attrName >>^ fromMaybe deflt -- | Read a 'Lookupable' attribute with implicit default lookupDefaultingAttr :: (NameSpaceID nsID, Lookupable a, Default a) => nsID -> AttributeName -> XMLConverter nsID extraState x a lookupDefaultingAttr nsID attrName = lookupAttrWithDefault nsID attrName def -- | Return value as a (Maybe String) findAttr' :: (NameSpaceID nsID) => nsID -> AttributeName -> XMLConverter nsID extraState x (Maybe AttributeValue) findAttr' nsID attrName = qualifyName nsID attrName &&& getCurrentElement >>% XML.findAttr -- | Return value as a (Maybe Text) findAttrText' :: (NameSpaceID nsID) => nsID -> AttributeName -> XMLConverter nsID extraState x (Maybe TextAttributeValue) findAttrText' nsID attrName = qualifyName nsID attrName &&& getCurrentElement >>% XML.findAttr >>^ fmap T.pack -- | Return value as string or fail findAttr :: (NameSpaceID nsID) => nsID -> AttributeName -> FallibleXMLConverter nsID extraState x AttributeValue findAttr nsID attrName = findAttr' nsID attrName >>> maybeToChoice -- | Return value as text or fail findAttrText :: (NameSpaceID nsID) => nsID -> AttributeName -> FallibleXMLConverter nsID extraState x TextAttributeValue findAttrText nsID attrName = findAttr' nsID attrName >>^ fmap T.pack >>> maybeToChoice -- | Return value as string or return provided default value findAttrWithDefault :: (NameSpaceID nsID) => nsID -> AttributeName -> AttributeValue -> XMLConverter nsID extraState x AttributeValue findAttrWithDefault nsID attrName deflt = findAttr' nsID attrName >>^ fromMaybe deflt -- | Return value as string or return provided default value findAttrTextWithDefault :: (NameSpaceID nsID) => nsID -> AttributeName -> TextAttributeValue -> XMLConverter nsID extraState x TextAttributeValue findAttrTextWithDefault nsID attrName deflt = findAttr' nsID attrName >>^ maybe deflt T.pack -- | Read and return value or fail readAttr :: (NameSpaceID nsID, Read attrValue) => nsID -> AttributeName -> FallibleXMLConverter nsID extraState x attrValue readAttr nsID attrName = readAttr' nsID attrName >>> maybeToChoice -- | Read and return value or return Nothing readAttr' :: (NameSpaceID nsID, Read attrValue) => nsID -> AttributeName -> XMLConverter nsID extraState x (Maybe attrValue) readAttr' nsID attrName = findAttr' nsID attrName >>^ (>>= tryToRead) -- | Read and return value or return provided default value readAttrWithDefault :: (NameSpaceID nsID, Read attrValue) => nsID -> AttributeName -> attrValue -> XMLConverter nsID extraState x attrValue readAttrWithDefault nsID attrName deflt = findAttr' nsID attrName >>^ (>>= tryToRead) >>^ fromMaybe deflt -- | Read and return value or return default value from 'Default' instance getAttr :: (NameSpaceID nsID, Read attrValue, Default attrValue) => nsID -> AttributeName -> XMLConverter nsID extraState x attrValue getAttr nsID attrName = readAttrWithDefault nsID attrName def -------------------------------------------------------------------------------- -- Movements -------------------------------------------------------------------------------- -- jumpThere :: XMLConverter nsID extraState XML.Element XML.Element jumpThere = withState (\state element -> ( pushElement element state , element ) ) -- swapStack :: XMLConverter nsID extraState [XML.Element] [XML.Element] swapStack = withState swapStack' -- jumpBack :: FallibleXMLConverter nsID extraState _x _x jumpBack = tryModifyState (popElement >>> maybeToChoice) -- | Support function for "procedural" converters: jump to an element, execute -- a converter, jump back. -- This version is safer than 'executeThere', because it does not rely on the -- internal stack. As a result, the converter can not move around in arbitrary -- ways. The downside is of course that some of the environment is not -- accessible to the converter. switchingTheStack :: XMLConverter nsID moreState a b -> XMLConverter nsID moreState (a, XML.Element) b switchingTheStack a = second ( (:[]) ^>> swapStack ) >>> first a >>> second swapStack >>^ fst -- | Support function for "procedural" converters: jumps to an element, executes -- a converter, jumps back. -- Make sure that the converter is well-behaved; that is it should -- return to the exact position it started from in /every possible path/ of -- execution, even if it "fails". If it does not, you may encounter -- strange bugs. If you are not sure about the behaviour or want to use -- shortcuts, you can often use 'switchingTheStack' instead. executeThere :: FallibleXMLConverter nsID moreState a b -> FallibleXMLConverter nsID moreState (a, XML.Element) b executeThere a = second jumpThere >>> fst ^>> a >>> jumpBack -- >>? jumpBack would not ensure the jump. >>^ collapseEither -- | Do something in a specific element, then come back executeIn :: XMLConverter nsID extraState XML.Element s -> XMLConverter nsID extraState XML.Element s executeIn a = duplicate >>> switchingTheStack a -- | Do something in a sub-element, then come back executeInSub :: (NameSpaceID nsID) => nsID -> ElementName -> FallibleXMLConverter nsID extraState f s -> FallibleXMLConverter nsID extraState f s executeInSub nsID name a = keepingTheValue (findChild nsID name) >>> ignoringState liftFailure >>? switchingTheStack a where liftFailure (_, Left f) = Left f liftFailure (x, Right e) = Right (x, e) -------------------------------------------------------------------------------- -- Iterating over children -------------------------------------------------------------------------------- -- Helper converter to prepare different types of iterations. -- It lifts the children (of a certain type) of the current element -- into the value level and pairs each one with the current input value. prepareIteration :: (NameSpaceID nsID) => nsID -> ElementName -> XMLConverter nsID extraState b [(b, XML.Element)] prepareIteration nsID name = keepingTheValue (findChildren nsID name) >>% distributeValue -- withEveryL :: (NameSpaceID nsID) => nsID -> ElementName -> FallibleXMLConverter nsID extraState a b -> FallibleXMLConverter nsID extraState a [b] withEveryL = withEvery -- | Applies a converter to every child element of a specific type. -- Collects results in a 'MonadPlus'. -- Fails completely if any conversion fails. withEvery :: (NameSpaceID nsID, MonadPlus m) => nsID -> ElementName -> FallibleXMLConverter nsID extraState a b -> FallibleXMLConverter nsID extraState a (m b) withEvery nsID name a = prepareIteration nsID name >>> iterateS' (switchingTheStack a) -- | Applies a converter to every child element of a specific type. -- Collects all successful results in a list. tryAll :: (NameSpaceID nsID) => nsID -> ElementName -> FallibleXMLConverter nsID extraState b a -> XMLConverter nsID extraState b [a] tryAll nsID name a = prepareIteration nsID name >>> iterateS (switchingTheStack a) >>^ rights -------------------------------------------------------------------------------- -- Matching children -------------------------------------------------------------------------------- type IdXMLConverter nsID moreState x = XMLConverter nsID moreState x x type MaybeCConverter nsID moreState x = Maybe (IdXMLConverter nsID moreState (x, XML.Content)) -- Chainable converter that helps deciding which converter to actually use. type ContentMatchConverter nsID extraState x = IdXMLConverter nsID extraState (MaybeCConverter nsID extraState x, XML.Content) -- Helper function: The @c@ is actually a converter that is to be selected by -- matching XML content to the first two parameters. -- The fold used to match elements however is very simple, so to use it, -- this function wraps the converter in another converter that unifies -- the accumulator. Think of a lot of converters with the resulting type -- chained together. The accumulator not only transports the element -- unchanged to the next matcher, it also does the actual selecting by -- combining the intermediate results with '(<|>)'. makeMatcherC :: (NameSpaceID nsID) => nsID -> ElementName -> FallibleXMLConverter nsID extraState a a -> ContentMatchConverter nsID extraState a makeMatcherC nsID name c = ( second ( contentToElem >>> returnV Nothing ||| ( elemNameIs nsID name >>^ bool Nothing (Just cWithJump) ) ) >>% (<|>) ) &&&^ snd where cWithJump = ( fst ^&&& ( second contentToElem >>> spreadChoice ^>>? executeThere c ) >>% recover) &&&^ snd contentToElem :: FallibleXMLConverter nsID extraState XML.Content XML.Element contentToElem = arr $ \e -> case e of XML.Elem e' -> succeedWith e' _ -> failEmpty -- Creates and chains a bunch of matchers prepareMatchersC :: (NameSpaceID nsID) => [(nsID, ElementName, FallibleXMLConverter nsID extraState x x)] -> ContentMatchConverter nsID extraState x --prepareMatchersC = foldSs . (map $ uncurry3 makeMatcherC) prepareMatchersC = reverseComposition . map (uncurry3 makeMatcherC) -- | Takes a list of element-data - converter groups and -- * Finds all content of the current element -- * Matches each group to each piece of content in order -- (at most one group per piece of content) -- * Filters non-matched content -- * Chains all found converters in content-order -- * Applies the chain to the input element matchContent' :: (NameSpaceID nsID) => [(nsID, ElementName, FallibleXMLConverter nsID extraState a a)] -> XMLConverter nsID extraState a a matchContent' lookups = matchContent lookups (arr fst) -- | Takes a list of element-data - converter groups and -- * Finds all content of the current element -- * Matches each group to each piece of content in order -- (at most one group per piece of content) -- * Adds a default converter for all non-matched content -- * Chains all found converters in content-order -- * Applies the chain to the input element matchContent :: (NameSpaceID nsID) => [(nsID, ElementName, FallibleXMLConverter nsID extraState a a)] -> XMLConverter nsID extraState (a,XML.Content) a -> XMLConverter nsID extraState a a matchContent lookups fallback = let matcher = prepareMatchersC lookups in keepingTheValue ( elContent >>> map (Nothing,) ^>> iterateSL matcher >>^ map swallowOrFallback -- >>> foldSs >>> reverseComposition ) >>> swap ^>> app where -- let the converter swallow the content and drop the content -- in the return value swallowOrFallback (Just converter,content) = (,content) ^>> converter >>^ fst swallowOrFallback (Nothing ,content) = (,content) ^>> fallback -------------------------------------------------------------------------------- -- Internals -------------------------------------------------------------------------------- stringToBool' :: String -> Maybe Bool stringToBool' val | val `elem` trueValues = Just True | val `elem` falseValues = Just False | otherwise = Nothing where trueValues = ["true" ,"on" ,"1"] falseValues = ["false","off","0"] distributeValue :: a -> [b] -> [(a,b)] distributeValue = map.(,) -------------------------------------------------------------------------------- {- NOTES It might be a good idea to refactor the namespace stuff. E.g.: if a namespace constructor took a string as a parameter, things like > a ?>/< (NsText,"body") would be nicer. Together with a rename and some trickery, something like > |< NsText "body" >< NsText "p" ?> a | might even be possible. Some day, XML.Light should be replaced by something better. While doing that, it might be useful to replace String as the type of element names with something else, too. (Of course with OverloadedStrings). While doing that, maybe the types can be created in a way that something like > NsText:"body" could be used. Overloading (:) does not sounds like the best idea, but if the element name type was a list, this might be possible. Of course that would be a bit hackish, so the "right" way would probably be something like > InNS NsText "body" but isn't that a bit boring? ;) -} ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/Namespaces.hs��������������������������������������������0000664�0000000�0000000�00000010320�13636304630�0022574�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Text.Pandoc.Reader.Odt.Namespaces Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable Namespaces used in odt files. -} module Text.Pandoc.Readers.Odt.Namespaces ( Namespace (..) ) where import Data.List (isPrefixOf) import qualified Data.Map as M (empty, insert) import Data.Maybe (fromMaybe, listToMaybe) import Text.Pandoc.Readers.Odt.Generic.Namespaces instance NameSpaceID Namespace where getInitialIRImap = nsIDmap getNamespaceID "" m = Just(m, NsXML) getNamespaceID iri m = asPair $ fromMaybe (NsOther iri) (findID iri) where asPair nsID = Just (M.insert nsID iri m, nsID) findID :: NameSpaceIRI -> Maybe Namespace findID iri = listToMaybe [nsID | (iri',nsID) <- nsIDs, iri' `isPrefixOf` iri] nsIDmap :: NameSpaceIRIs Namespace nsIDmap = foldr (uncurry $ flip M.insert) M.empty nsIDs data Namespace = -- Open Document core NsOffice | NsStyle | NsText | NsTable | NsForm | NsDraw | Ns3D | NsAnim | NsChart | NsConfig | NsDB | NsMeta | NsNumber | NsScript | NsManifest | NsPresentation -- Metadata | NsODF -- Compatible elements | NsXSL_FO | NsSVG | NsSmil -- External standards | NsMathML | NsXForms | NsXLink | NsXHtml | NsGRDDL | NsDublinCore -- Metadata manifest | NsPKG -- Others | NsOpenFormula -- Core XML (basically only for the 'id'-attribute) | NsXML -- Fallback | NsOther String deriving ( Eq, Ord, Show ) -- | Not the actual iri's, but large prefixes of them - this way there are -- less versioning problems and the like. nsIDs :: [(String,Namespace)] nsIDs = [ ("urn:oasis:names:tc:opendocument:xmlns:animation" , NsAnim ), ("urn:oasis:names:tc:opendocument:xmlns:chart" , NsChart ), ("urn:oasis:names:tc:opendocument:xmlns:config" , NsConfig ), ("urn:oasis:names:tc:opendocument:xmlns:database" , NsDB ), ("urn:oasis:names:tc:opendocument:xmlns:dr3d" , Ns3D ), ("urn:oasis:names:tc:opendocument:xmlns:drawing" , NsDraw ), ("urn:oasis:names:tc:opendocument:xmlns:form" , NsForm ), ("urn:oasis:names:tc:opendocument:xmlns:manifest" , NsManifest ), ("urn:oasis:names:tc:opendocument:xmlns:meta" , NsMeta ), ("urn:oasis:names:tc:opendocument:xmlns:datastyle" , NsNumber ), ("urn:oasis:names:tc:opendocument:xmlns:of" , NsOpenFormula ), ("urn:oasis:names:tc:opendocument:xmlns:office:1.0" , NsOffice ), ("urn:oasis:names:tc:opendocument:xmlns:presentation" , NsPresentation ), ("urn:oasis:names:tc:opendocument:xmlns:script" , NsScript ), ("urn:oasis:names:tc:opendocument:xmlns:style" , NsStyle ), ("urn:oasis:names:tc:opendocument:xmlns:table" , NsTable ), ("urn:oasis:names:tc:opendocument:xmlns:text" , NsText ), ("urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible", NsXSL_FO ), ("urn:oasis:names:tc:opendocument:xmlns:smil-compatible" , NsSmil ), ("urn:oasis:names:tc:opendocument:xmlns:svg-compatible" , NsSVG ), ("http://docs.oasis-open.org/ns/office/1.2/meta/odf" , NsODF ), ("http://docs.oasis-open.org/ns/office/1.2/meta/pkg" , NsPKG ), ("http://purl.org/dc/elements" , NsDublinCore ), ("http://www.w3.org/2003/g/data-view" , NsGRDDL ), ("http://www.w3.org/1998/Math/MathML" , NsMathML ), ("http://www.w3.org/1999/xhtml" , NsXHtml ), ("http://www.w3.org/2002/xforms" , NsXForms ), ("http://www.w3.org/1999/xlink" , NsXLink ) ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Odt/StyleReader.hs�������������������������������������������0000664�0000000�0000000�00000061344�13636304630�0022754�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE CPP #-} {-# LANGUAGE Arrows #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TupleSections #-} {- | Module : Text.Pandoc.Readers.Odt.StyleReader Copyright : Copyright (C) 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : Martin Linnemann Stability : alpha Portability : portable Reader for the style information in an odt document. -} module Text.Pandoc.Readers.Odt.StyleReader ( Style (..) , StyleName , StyleFamily (..) , Styles (..) , StyleProperties (..) , TextProperties (..) , ParaProperties (..) , VerticalTextPosition (..) , ListItemNumberFormat (..) , ListLevel , ListStyle (..) , ListLevelStyle (..) , ListLevelType (..) , LengthOrPercent (..) , lookupStyle , getListLevelStyle , getStyleFamily , lookupDefaultStyle' , lookupListStyleByName , extendedStylePropertyChain , readStylesAt ) where import Control.Applicative hiding (liftA, liftA2, liftA3) import Control.Arrow import Data.Default import qualified Data.Foldable as F import Data.List (unfoldr) import qualified Data.Map as M import Data.Maybe import qualified Data.Set as S import qualified Text.XML.Light as XML import Text.Pandoc.Shared (safeRead) import Text.Pandoc.Readers.Odt.Arrows.Utils import Text.Pandoc.Readers.Odt.Generic.Fallible import qualified Text.Pandoc.Readers.Odt.Generic.SetMap as SM import Text.Pandoc.Readers.Odt.Generic.Utils import Text.Pandoc.Readers.Odt.Generic.XMLConverter import Text.Pandoc.Readers.Odt.Base import Text.Pandoc.Readers.Odt.Namespaces readStylesAt :: XML.Element -> Fallible Styles readStylesAt e = runConverter' readAllStyles mempty e -------------------------------------------------------------------------------- -- Reader for font declarations and font pitches -------------------------------------------------------------------------------- -- Pandoc has no support for different font pitches. Yet knowing them can be -- very helpful in cases where Pandoc has more semantics than OpenDocument. -- In these cases, the pitch can help deciding as what to define a block of -- text. So let's start with a type for font pitches: data FontPitch = PitchVariable | PitchFixed deriving ( Eq, Show ) instance Lookupable FontPitch where lookupTable = [ ("variable" , PitchVariable) , ("fixed" , PitchFixed ) ] instance Default FontPitch where def = PitchVariable -- The font pitch can be specified in a style directly. Normally, however, -- it is defined in the font. That is also the specs' recommendation. -- -- Thus, we want type FontFaceName = String type FontPitches = M.Map FontFaceName FontPitch -- To get there, the fonts have to be read and the pitches extracted. -- But the resulting map are only needed at one later place, so it should not be -- transported on the value level, especially as we already use a state arrow. -- So instead, the resulting map is lifted into the state of the reader. -- (An alternative might be ImplicitParams, but again, we already have a state.) -- -- So the main style readers will have the types type StyleReader a b = XMLReader FontPitches a b -- and type StyleReaderSafe a b = XMLReaderSafe FontPitches a b -- respectively. -- -- But before we can work with these, we need to define the reader that reads -- the fonts: -- | A reader for font pitches fontPitchReader :: XMLReader _s _x FontPitches fontPitchReader = executeInSub NsOffice "font-face-decls" ( withEveryL NsStyle "font-face" (liftAsSuccess ( findAttr' NsStyle "name" &&& lookupDefaultingAttr NsStyle "font-pitch" )) >>?^ ( M.fromList . foldl accumLegalPitches [] ) ) `ifFailedDo` returnV (Right M.empty) where accumLegalPitches ls (Nothing,_) = ls accumLegalPitches ls (Just n,p) = (n,p):ls -- | A wrapper around the font pitch reader that lifts the result into the -- state. readFontPitches :: StyleReader x x readFontPitches = producingExtraState () () fontPitchReader -- | Looking up a pitch in the state of the arrow. -- -- The function does the following: -- * Look for the font pitch in an attribute. -- * If that fails, look for the font name, look up the font in the state -- and use the pitch from there. -- * Return the result in a Maybe -- findPitch :: XMLReaderSafe FontPitches _x (Maybe FontPitch) findPitch = ( lookupAttr NsStyle "font-pitch" `ifFailedDo` findAttr NsStyle "font-name" >>? ( keepingTheValue getExtraState >>% M.lookup >>^ maybeToChoice ) ) >>> choiceToMaybe -------------------------------------------------------------------------------- -- Definitions of main data -------------------------------------------------------------------------------- type StyleName = String -- | There are two types of styles: named styles with a style family and an -- optional style parent, and default styles for each style family, -- defining default style properties data Styles = Styles { stylesByName :: M.Map StyleName Style , listStylesByName :: M.Map StyleName ListStyle , defaultStyleMap :: M.Map StyleFamily StyleProperties } deriving ( Show ) -- Styles from a monoid under union instance Semigroup Styles where (Styles sBn1 dSm1 lsBn1) <> (Styles sBn2 dSm2 lsBn2) = Styles (M.union sBn1 sBn2) (M.union dSm1 dSm2) (M.union lsBn1 lsBn2) instance Monoid Styles where mempty = Styles M.empty M.empty M.empty mappend = (<>) -- Not all families from the specifications are implemented, only those we need. -- But there are none that are not mentioned here. data StyleFamily = FaText | FaParagraph -- | FaTable | FaTableCell | FaTableColumn | FaTableRow -- | FaGraphic | FaDrawing | FaChart -- | FaPresentation -- | FaRuby deriving ( Eq, Ord, Show ) instance Lookupable StyleFamily where lookupTable = [ ( "text" , FaText ) , ( "paragraph" , FaParagraph ) -- , ( "table" , FaTable ) -- , ( "table-cell" , FaTableCell ) -- , ( "table-column" , FaTableColumn ) -- , ( "table-row" , FaTableRow ) -- , ( "graphic" , FaGraphic ) -- , ( "drawing-page" , FaDrawing ) -- , ( "chart" , FaChart ) -- , ( "presentation" , FaPresentation ) -- , ( "ruby" , FaRuby ) ] -- | A named style data Style = Style { styleFamily :: Maybe StyleFamily , styleParentName :: Maybe StyleName , listStyle :: Maybe StyleName , styleProperties :: StyleProperties } deriving ( Eq, Show ) data StyleProperties = SProps { textProperties :: Maybe TextProperties , paraProperties :: Maybe ParaProperties -- , tableColProperties :: Maybe TColProperties -- , tableRowProperties :: Maybe TRowProperties -- , tableCellProperties :: Maybe TCellProperties -- , tableProperties :: Maybe TableProperties -- , graphicProperties :: Maybe GraphProperties } deriving ( Eq, Show ) instance Default StyleProperties where def = SProps { textProperties = Just def , paraProperties = Just def } data TextProperties = PropT { isEmphasised :: Bool , isStrong :: Bool , pitch :: Maybe FontPitch , verticalPosition :: VerticalTextPosition , underline :: Maybe UnderlineMode , strikethrough :: Maybe UnderlineMode } deriving ( Eq, Show ) instance Default TextProperties where def = PropT { isEmphasised = False , isStrong = False , pitch = Just def , verticalPosition = def , underline = Nothing , strikethrough = Nothing } data ParaProperties = PropP { paraNumbering :: ParaNumbering , indentation :: LengthOrPercent , margin_left :: LengthOrPercent } deriving ( Eq, Show ) instance Default ParaProperties where def = PropP { paraNumbering = NumberingNone , indentation = def , margin_left = def } ---- -- All the little data types that make up the properties ---- data VerticalTextPosition = VPosNormal | VPosSuper | VPosSub deriving ( Eq, Show ) instance Default VerticalTextPosition where def = VPosNormal instance Read VerticalTextPosition where readsPrec _ s = [ (VPosSub , s') | ("sub" , s') <- lexS ] ++ [ (VPosSuper , s') | ("super" , s') <- lexS ] ++ [ (signumToVPos n , s') | ( n , s') <- readPercent s ] where lexS = lex s signumToVPos n | n < 0 = VPosSub | n > 0 = VPosSuper | otherwise = VPosNormal data UnderlineMode = UnderlineModeNormal | UnderlineModeSkipWhitespace deriving ( Eq, Show ) instance Lookupable UnderlineMode where lookupTable = [ ( "continuous" , UnderlineModeNormal ) , ( "skip-white-space" , UnderlineModeSkipWhitespace ) ] data ParaNumbering = NumberingNone | NumberingKeep | NumberingRestart Int deriving ( Eq, Show ) data LengthOrPercent = LengthValueMM Int | PercentValue Int deriving ( Eq, Show ) instance Default LengthOrPercent where def = LengthValueMM 0 instance Read LengthOrPercent where readsPrec _ s = [ (PercentValue percent , s' ) | (percent , s' ) <- readPercent s] ++ [ (LengthValueMM lengthMM , s'') | (length' , s' ) <- reads s , (unit , s'') <- reads s' , let lengthMM = estimateInMillimeter length' unit ] data XslUnit = XslUnitMM | XslUnitCM | XslUnitInch | XslUnitPoints | XslUnitPica | XslUnitPixel | XslUnitEM instance Show XslUnit where show XslUnitMM = "mm" show XslUnitCM = "cm" show XslUnitInch = "in" show XslUnitPoints = "pt" show XslUnitPica = "pc" show XslUnitPixel = "px" show XslUnitEM = "em" instance Read XslUnit where readsPrec _ "mm" = [(XslUnitMM , "")] readsPrec _ "cm" = [(XslUnitCM , "")] readsPrec _ "in" = [(XslUnitInch , "")] readsPrec _ "pt" = [(XslUnitPoints , "")] readsPrec _ "pc" = [(XslUnitPica , "")] readsPrec _ "px" = [(XslUnitPixel , "")] readsPrec _ "em" = [(XslUnitEM , "")] readsPrec _ _ = [] -- | Rough conversion of measures into millimetres. -- Pixels and em's are actually implementation dependent/relative measures, -- so I could not really easily calculate anything exact here even if I wanted. -- But I do not care about exactness right now, as I only use measures -- to determine if a paragraph is "indented" or not. estimateInMillimeter :: Int -> XslUnit -> Int estimateInMillimeter n XslUnitMM = n estimateInMillimeter n XslUnitCM = n * 10 estimateInMillimeter n XslUnitInch = n * 25 -- \* 25.4 estimateInMillimeter n XslUnitPoints = n `div` 3 -- \* 1/72 * 25.4 estimateInMillimeter n XslUnitPica = n * 4 -- \* 12 * 1/72 * 25.4 estimateInMillimeter n XslUnitPixel = n `div`3 -- \* 1/72 * 25.4 estimateInMillimeter n XslUnitEM = n * 7 -- \* 16 * 1/72 * 25.4 ---- -- List styles ---- type ListLevel = Int newtype ListStyle = ListStyle { levelStyles :: M.Map ListLevel ListLevelStyle } deriving ( Eq, Show ) -- getListLevelStyle :: ListLevel -> ListStyle -> Maybe ListLevelStyle getListLevelStyle level ListStyle{..} = let (lower , exactHit , _) = M.splitLookup level levelStyles in exactHit <|> fmap fst (M.maxView lower) -- findBy (`M.lookup` levelStyles) [level, (level-1) .. 1] -- \^ simpler, but in general less efficient data ListLevelStyle = ListLevelStyle { listLevelType :: ListLevelType , listItemPrefix :: Maybe String , listItemSuffix :: Maybe String , listItemFormat :: ListItemNumberFormat , listItemStart :: Int } deriving ( Eq, Ord ) instance Show ListLevelStyle where show ListLevelStyle{..} = "" where maybeToString = fromMaybe "" data ListLevelType = LltBullet | LltImage | LltNumbered deriving ( Eq, Ord, Show ) data ListItemNumberFormat = LinfNone | LinfNumber | LinfRomanLC | LinfRomanUC | LinfAlphaLC | LinfAlphaUC | LinfString String deriving ( Eq, Ord ) instance Show ListItemNumberFormat where show LinfNone = "" show LinfNumber = "1" show LinfRomanLC = "i" show LinfRomanUC = "I" show LinfAlphaLC = "a" show LinfAlphaUC = "A" show (LinfString s) = s instance Default ListItemNumberFormat where def = LinfNone instance Read ListItemNumberFormat where readsPrec _ "" = [(LinfNone , "")] readsPrec _ "1" = [(LinfNumber , "")] readsPrec _ "i" = [(LinfRomanLC , "")] readsPrec _ "I" = [(LinfRomanUC , "")] readsPrec _ "a" = [(LinfAlphaLC , "")] readsPrec _ "A" = [(LinfAlphaUC , "")] readsPrec _ s = [(LinfString s , "")] -------------------------------------------------------------------------------- -- Readers -- -- ...it seems like a whole lot of this should be automatically derivable -- or at least moveable into a class. Most of this is data concealed in -- code. -------------------------------------------------------------------------------- -- readAllStyles :: StyleReader _x Styles readAllStyles = ( readFontPitches >>?! ( readAutomaticStyles &&& readStyles )) >>?%? chooseMax -- all top elements are always on the same hierarchy level -- readStyles :: StyleReader _x Styles readStyles = executeInSub NsOffice "styles" $ liftAsSuccess $ liftA3 Styles ( tryAll NsStyle "style" readStyle >>^ M.fromList ) ( tryAll NsText "list-style" readListStyle >>^ M.fromList ) ( tryAll NsStyle "default-style" readDefaultStyle >>^ M.fromList ) -- readAutomaticStyles :: StyleReader _x Styles readAutomaticStyles = executeInSub NsOffice "automatic-styles" $ liftAsSuccess $ liftA3 Styles ( tryAll NsStyle "style" readStyle >>^ M.fromList ) ( tryAll NsText "list-style" readListStyle >>^ M.fromList ) ( returnV M.empty ) -- readDefaultStyle :: StyleReader _x (StyleFamily, StyleProperties) readDefaultStyle = lookupAttr NsStyle "family" >>?! keepingTheValue readStyleProperties -- readStyle :: StyleReader _x (StyleName,Style) readStyle = findAttr NsStyle "name" >>?! keepingTheValue ( liftA4 Style ( lookupAttr' NsStyle "family" ) ( findAttr' NsStyle "parent-style-name" ) ( findAttr' NsStyle "list-style-name" ) readStyleProperties ) -- readStyleProperties :: StyleReaderSafe _x StyleProperties readStyleProperties = liftA2 SProps ( readTextProperties >>> choiceToMaybe ) ( readParaProperties >>> choiceToMaybe ) -- readTextProperties :: StyleReader _x TextProperties readTextProperties = executeInSub NsStyle "text-properties" $ liftAsSuccess ( liftA6 PropT ( searchAttr NsXSL_FO "font-style" False isFontEmphasised ) ( searchAttr NsXSL_FO "font-weight" False isFontBold ) findPitch ( getAttr NsStyle "text-position" ) readUnderlineMode readStrikeThroughMode ) where isFontEmphasised = [("normal",False),("italic",True),("oblique",True)] isFontBold = ("normal",False):("bold",True) :map ((,True).show) ([100,200..900]::[Int]) readUnderlineMode :: StyleReaderSafe _x (Maybe UnderlineMode) readUnderlineMode = readLineMode "text-underline-mode" "text-underline-style" readStrikeThroughMode :: StyleReaderSafe _x (Maybe UnderlineMode) readStrikeThroughMode = readLineMode "text-line-through-mode" "text-line-through-style" readLineMode :: String -> String -> StyleReaderSafe _x (Maybe UnderlineMode) readLineMode modeAttr styleAttr = proc x -> do isUL <- searchAttr NsStyle styleAttr False isLinePresent -< x mode <- lookupAttr' NsStyle modeAttr -< x if isUL then case mode of Just m -> returnA -< Just m Nothing -> returnA -< Just UnderlineModeNormal else returnA -< Nothing where isLinePresent = ("none",False) : map (,True) [ "dash" , "dot-dash" , "dot-dot-dash" , "dotted" , "long-dash" , "solid" , "wave" ] -- readParaProperties :: StyleReader _x ParaProperties readParaProperties = executeInSub NsStyle "paragraph-properties" $ liftAsSuccess ( liftA3 PropP ( liftA2 readNumbering ( isSet' NsText "number-lines" ) ( readAttr' NsText "line-number" ) ) ( liftA2 readIndentation ( isSetWithDefault NsStyle "auto-text-indent" False ) ( getAttr NsXSL_FO "text-indent" ) ) ( getAttr NsXSL_FO "margin-left" ) ) where readNumbering (Just True) (Just n) = NumberingRestart n readNumbering (Just True) _ = NumberingKeep readNumbering _ _ = NumberingNone readIndentation False indent = indent readIndentation True _ = def ---- -- List styles ---- -- readListStyle :: StyleReader _x (StyleName, ListStyle) readListStyle = findAttr NsStyle "name" >>?! keepingTheValue ( liftA ListStyle $ liftA3 SM.union3 ( readListLevelStyles NsText "list-level-style-number" LltNumbered ) ( readListLevelStyles NsText "list-level-style-bullet" LltBullet ) ( readListLevelStyles NsText "list-level-style-image" LltImage ) >>^ M.mapMaybe chooseMostSpecificListLevelStyle ) -- readListLevelStyles :: Namespace -> ElementName -> ListLevelType -> StyleReaderSafe _x (SM.SetMap Int ListLevelStyle) readListLevelStyles namespace elementName levelType = tryAll namespace elementName (readListLevelStyle levelType) >>^ SM.fromList -- readListLevelStyle :: ListLevelType -> StyleReader _x (Int, ListLevelStyle) readListLevelStyle levelType = readAttr NsText "level" >>?! keepingTheValue ( liftA5 toListLevelStyle ( returnV levelType ) ( findAttr' NsStyle "num-prefix" ) ( findAttr' NsStyle "num-suffix" ) ( getAttr NsStyle "num-format" ) ( findAttrText' NsText "start-value" ) ) where toListLevelStyle _ p s LinfNone b = ListLevelStyle LltBullet p s LinfNone (startValue b) toListLevelStyle _ p s f@(LinfString _) b = ListLevelStyle LltBullet p s f (startValue b) toListLevelStyle t p s f b = ListLevelStyle t p s f (startValue b) startValue mbx = fromMaybe 1 (mbx >>= safeRead) -- chooseMostSpecificListLevelStyle :: S.Set ListLevelStyle -> Maybe ListLevelStyle chooseMostSpecificListLevelStyle ls | ls == mempty = Nothing | otherwise = Just ( F.foldr1 select ls ) where select ( ListLevelStyle t1 p1 s1 f1 b1 ) ( ListLevelStyle t2 p2 s2 f2 _ ) = ListLevelStyle (select' t1 t2) (p1 <|> p2) (s1 <|> s2) (selectLinf f1 f2) b1 select' LltNumbered _ = LltNumbered select' _ LltNumbered = LltNumbered select' _ _ = LltBullet selectLinf LinfNone f2 = f2 selectLinf f1 LinfNone = f1 selectLinf (LinfString _) f2 = f2 selectLinf f1 (LinfString _) = f1 selectLinf f1 _ = f1 -------------------------------------------------------------------------------- -- Tools to access style data -------------------------------------------------------------------------------- -- lookupStyle :: StyleName -> Styles -> Maybe Style lookupStyle name Styles{..} = M.lookup name stylesByName -- lookupDefaultStyle' :: Styles -> StyleFamily -> StyleProperties lookupDefaultStyle' Styles{..} family = fromMaybe def (M.lookup family defaultStyleMap) -- lookupListStyleByName :: StyleName -> Styles -> Maybe ListStyle lookupListStyleByName name Styles{..} = M.lookup name listStylesByName -- | Returns a chain of parent of the current style. The direct parent will -- be the first element of the list, followed by its parent and so on. -- The current style is not in the list. parents :: Style -> Styles -> [Style] parents style styles = unfoldr findNextParent style -- Ha! where findNextParent Style{..} = fmap duplicate $ (`lookupStyle` styles) =<< styleParentName -- | Looks up the style family of the current style. Normally, every style -- should have one. But if not, all parents are searched. getStyleFamily :: Style -> Styles -> Maybe StyleFamily getStyleFamily style@Style{..} styles = styleFamily <|> F.asum (map (`getStyleFamily` styles) $ parents style styles) -- | Each 'Style' has certain 'StyleProperties'. But sometimes not all property -- values are specified. Instead, a value might be inherited from a -- parent style. This function makes this chain of inheritance -- concrete and easily accessible by encapsulating the necessary lookups. -- The resulting list contains the direct properties of the style as the first -- element, the ones of the direct parent element as the next one, and so on. -- -- Note: There should also be default properties for each style family. These -- are @not@ contained in this list because properties inherited from -- parent elements take precedence over default styles. -- -- This function is primarily meant to be used through convenience wrappers. -- stylePropertyChain :: Style -> Styles -> [StyleProperties] stylePropertyChain style styles = map styleProperties (style : parents style styles) -- extendedStylePropertyChain :: [Style] -> Styles -> [StyleProperties] extendedStylePropertyChain [] _ = [] extendedStylePropertyChain [style] styles = stylePropertyChain style styles ++ maybeToList (fmap (lookupDefaultStyle' styles) (getStyleFamily style styles)) extendedStylePropertyChain (style:trace) styles = stylePropertyChain style styles ++ extendedStylePropertyChain trace styles ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org.hs�������������������������������������������������������0000664�0000000�0000000�00000002714�13636304630�0020526�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Conversion of org-mode formatted plain text to 'Pandoc' document. -} module Text.Pandoc.Readers.Org ( readOrg ) where import Text.Pandoc.Readers.Org.Blocks (blockList, meta) import Text.Pandoc.Readers.Org.ParserState (optionsToParserState) import Text.Pandoc.Readers.Org.Parsing (OrgParser, readWithM) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Parsing (reportLogMessages) import Text.Pandoc.Shared (crFilter) import Control.Monad.Except (throwError) import Control.Monad.Reader (runReaderT) import Data.Text (Text) -- | Parse org-mode string and return a Pandoc document. readOrg :: PandocMonad m => ReaderOptions -- ^ Reader options -> Text -- ^ String to parse (assuming @'\n'@ line endings) -> m Pandoc readOrg opts s = do parsed <- flip runReaderT def $ readWithM parseOrg (optionsToParserState opts) (crFilter s <> "\n\n") case parsed of Right result -> return result Left e -> throwError e -- -- Parser -- parseOrg :: PandocMonad m => OrgParser m Pandoc parseOrg = do blocks' <- blockList meta' <- meta reportLogMessages return $ Pandoc meta' blocks' ����������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/���������������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0020166�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/BlockStarts.hs�������������������������������������������0000664�0000000�0000000�00000007257�13636304630�0022770�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org.BlockStarts Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Parsers for Org-mode inline elements. -} module Text.Pandoc.Readers.Org.BlockStarts ( exampleLineStart , hline , noteMarker , tableStart , drawerStart , headerStart , metaLineStart , latexEnvStart , commentLineStart , bulletListStart , orderedListStart , endOfBlock ) where import Control.Monad (void) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Readers.Org.Parsing -- | Horizontal Line (five -- dashes or more) hline :: Monad m => OrgParser m () hline = try $ do skipSpaces string "-----" many (char '-') skipSpaces newline return () -- | Read the start of a header line, return the header level headerStart :: Monad m => OrgParser m Int headerStart = try $ (length <$> many1 (char '*')) <* many1 (char ' ') <* updateLastPreCharPos tableStart :: Monad m => OrgParser m Char tableStart = try $ skipSpaces *> char '|' gridTableStart :: Monad m => OrgParser m () gridTableStart = try $ skipSpaces <* char '+' <* char '-' latexEnvStart :: Monad m => OrgParser m Text latexEnvStart = try $ skipSpaces *> string "\\begin{" *> latexEnvName <* string "}" <* blankline where latexEnvName :: Monad m => OrgParser m Text latexEnvName = try $ mappend <$> many1Char alphaNum <*> option "" (textStr "*") bulletListStart :: Monad m => OrgParser m Int bulletListStart = try $ do ind <- length <$> many spaceChar -- Unindented lists cannot use '*' bullets. oneOf (if ind == 0 then "+-" else "*+-") skipSpaces1 <|> lookAhead eol return (ind + 1) genericListStart :: Monad m => OrgParser m Text -> OrgParser m Int genericListStart listMarker = try $ do ind <- length <$> many spaceChar void listMarker skipSpaces1 <|> lookAhead eol return (ind + 1) eol :: Monad m => OrgParser m () eol = void (char '\n') orderedListStart :: Monad m => OrgParser m Int orderedListStart = genericListStart orderedListMarker -- Ordered list markers allowed in org-mode where orderedListMarker = T.snoc <$> many1Char digit <*> oneOf ".)" drawerStart :: Monad m => OrgParser m Text drawerStart = try $ skipSpaces *> drawerName <* skipSpaces <* newline where drawerName = char ':' *> manyTillChar nonspaceChar (char ':') metaLineStart :: Monad m => OrgParser m () metaLineStart = try $ skipSpaces <* string "#+" commentLineStart :: Monad m => OrgParser m () commentLineStart = try $ -- the first char after '#' must be a plain space character or a newline skipSpaces <* string "#" <* lookAhead (oneOf " \n") exampleLineStart :: Monad m => OrgParser m () exampleLineStart = () <$ try (skipSpaces *> string ": ") noteMarker :: Monad m => OrgParser m Text noteMarker = try $ do char '[' choice [ many1TillChar digit (char ']') , (<>) <$> textStr "fn:" <*> many1TillChar (noneOf "\n\r\t ") (char ']') ] -- | Succeeds if the parser is at the end of a block. endOfBlock :: Monad m => OrgParser m () endOfBlock = lookAhead . try $ void blankline <|> anyBlockStart where -- Succeeds if there is a new block starting at this position. anyBlockStart :: Monad m => OrgParser m () anyBlockStart = try . choice $ [ exampleLineStart , hline , metaLineStart , commentLineStart , gridTableStart , void noteMarker , void tableStart , void drawerStart , void headerStart , void latexEnvStart , void bulletListStart , void orderedListStart ] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/Blocks.hs������������������������������������������������0000664�0000000�0000000�00000074617�13636304630�0021756�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org.Blocks Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Parsers for Org-mode block elements. -} module Text.Pandoc.Readers.Org.Blocks ( blockList , meta ) where import Text.Pandoc.Readers.Org.BlockStarts import Text.Pandoc.Readers.Org.DocumentTree (documentTree, unprunedHeadlineToBlocks) import Text.Pandoc.Readers.Org.Inlines import Text.Pandoc.Readers.Org.Meta (metaExport, metaKey, metaLine) import Text.Pandoc.Readers.Org.ParserState import Text.Pandoc.Readers.Org.Parsing import Text.Pandoc.Readers.Org.Shared (cleanLinkText, isImageFilename, originalLang, translateLang, exportsCode) import Text.Pandoc.Builder (Blocks, Inlines) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Shared (compactify, compactifyDL, safeRead) import Control.Monad (foldM, guard, mplus, mzero, void) import Data.Char (isSpace) import Data.Default (Default) import Data.List (foldl') import Data.Maybe (fromMaybe, isJust, isNothing) import Data.Text (Text) import qualified Data.Text as T import qualified Text.Pandoc.Builder as B import qualified Text.Pandoc.Walk as Walk -- -- parsing blocks -- -- | Get a list of blocks. blockList :: PandocMonad m => OrgParser m [Block] blockList = do fHeadlineTree <- documentTree blocks inline st <- getState let headlineTree = runF fHeadlineTree st unprunedHeadlineToBlocks headlineTree st -- | Get the meta information saved in the state. meta :: Monad m => OrgParser m Meta meta = do meta' <- metaExport runF meta' <$> getState blocks :: PandocMonad m => OrgParser m (F Blocks) blocks = mconcat <$> manyTill block (void (lookAhead headerStart) <|> eof) block :: PandocMonad m => OrgParser m (F Blocks) block = choice [ mempty <$ blanklines , table , orgBlock , figure , example , genericDrawer , include , specialLine , horizontalRule , list , latexFragment , noteBlock , paraOrPlain ] "block" -- | Parse a horizontal rule into a block element horizontalRule :: Monad m => OrgParser m (F Blocks) horizontalRule = return B.horizontalRule <$ try hline -- -- Block Attributes -- -- | Attributes that may be added to figures (like a name or caption). data BlockAttributes = BlockAttributes { blockAttrName :: Maybe Text , blockAttrLabel :: Maybe Text , blockAttrCaption :: Maybe (F Inlines) , blockAttrKeyValues :: [(Text, Text)] } -- | Convert BlockAttributes into pandoc Attr attrFromBlockAttributes :: BlockAttributes -> Attr attrFromBlockAttributes BlockAttributes{..} = let ident = fromMaybe mempty $ lookup "id" blockAttrKeyValues classes = case lookup "class" blockAttrKeyValues of Nothing -> [] Just clsStr -> T.words clsStr kv = filter ((`notElem` ["id", "class"]) . fst) blockAttrKeyValues in (ident, classes, kv) stringyMetaAttribute :: Monad m => OrgParser m (Text, Text) stringyMetaAttribute = try $ do metaLineStart attrName <- T.toUpper <$> many1TillChar nonspaceChar (char ':') skipSpaces attrValue <- anyLine <|> ("" <$ newline) return (attrName, attrValue) -- | Parse a set of block attributes. Block attributes are given through -- lines like @#+CAPTION: block caption@ or @#+ATTR_HTML: :width 20@. -- Parsing will fail if any line contains an attribute different from -- those attributes known to work on blocks. blockAttributes :: PandocMonad m => OrgParser m BlockAttributes blockAttributes = try $ do kv <- many stringyMetaAttribute guard $ all (isBlockAttr . fst) kv let caption = foldl' (appendValues "CAPTION") Nothing kv let kvAttrs = foldl' (appendValues "ATTR_HTML") Nothing kv let name = lookup "NAME" kv let label = lookup "LABEL" kv caption' <- traverse (parseFromString inlines . (<> "\n")) caption kvAttrs' <- parseFromString keyValues . (<> "\n") $ fromMaybe mempty kvAttrs return BlockAttributes { blockAttrName = name , blockAttrLabel = label , blockAttrCaption = caption' , blockAttrKeyValues = kvAttrs' } where isBlockAttr :: Text -> Bool isBlockAttr = flip elem [ "NAME", "LABEL", "CAPTION" , "ATTR_HTML", "ATTR_LATEX" , "RESULTS" ] appendValues :: Text -> Maybe Text -> (Text, Text) -> Maybe Text appendValues attrName accValue (key, value) = if key /= attrName then accValue else case accValue of Just acc -> Just $ acc <> " " <> value Nothing -> Just value -- | Parse key-value pairs for HTML attributes keyValues :: Monad m => OrgParser m [(Text, Text)] keyValues = try $ manyTill ((,) <$> key <*> value) newline where key :: Monad m => OrgParser m Text key = try $ skipSpaces *> char ':' *> many1Char nonspaceChar value :: Monad m => OrgParser m Text value = skipSpaces *> manyTillChar anyChar endOfValue endOfValue :: Monad m => OrgParser m () endOfValue = lookAhead $ (() <$ try (many1 spaceChar <* key)) <|> () <$ newline -- -- Org Blocks (#+BEGIN_... / #+END_...) -- -- | Read an org-mode block delimited by #+BEGIN_TYPE and #+END_TYPE. orgBlock :: PandocMonad m => OrgParser m (F Blocks) orgBlock = try $ do blockAttrs <- blockAttributes blkType <- blockHeaderStart ($ blkType) $ case T.toLower blkType of "export" -> exportBlock "comment" -> rawBlockLines (const mempty) "html" -> rawBlockLines (return . B.rawBlock (lowercase blkType)) "latex" -> rawBlockLines (return . B.rawBlock (lowercase blkType)) "ascii" -> rawBlockLines (return . B.rawBlock (lowercase blkType)) "example" -> exampleBlock blockAttrs "quote" -> parseBlockLines (fmap B.blockQuote) "verse" -> verseBlock "src" -> codeBlock blockAttrs _ -> parseBlockLines $ let (ident, classes, kv) = attrFromBlockAttributes blockAttrs in fmap $ B.divWith (ident, classes ++ [blkType], kv) where blockHeaderStart :: Monad m => OrgParser m Text blockHeaderStart = try $ skipSpaces *> stringAnyCase "#+begin_" *> orgArgWord lowercase :: Text -> Text lowercase = T.toLower exampleBlock :: PandocMonad m => BlockAttributes -> Text -> OrgParser m (F Blocks) exampleBlock blockAttrs _label = do skipSpaces (classes, kv) <- switchesAsAttributes newline content <- rawBlockContent "example" let id' = fromMaybe mempty $ blockAttrName blockAttrs let codeBlck = B.codeBlockWith (id', "example":classes, kv) content return . return $ codeBlck rawBlockLines :: Monad m => (Text -> F Blocks) -> Text -> OrgParser m (F Blocks) rawBlockLines f blockType = ignHeaders *> (f <$> rawBlockContent blockType) parseBlockLines :: PandocMonad m => (F Blocks -> F Blocks) -> Text -> OrgParser m (F Blocks) parseBlockLines f blockType = ignHeaders *> (f <$> parsedBlockContent) where parsedBlockContent :: PandocMonad m => OrgParser m (F Blocks) parsedBlockContent = try $ do raw <- rawBlockContent blockType parseFromString blocks (raw <> "\n") -- | Read the raw string content of a block rawBlockContent :: Monad m => Text -> OrgParser m Text rawBlockContent blockType = try $ do blkLines <- manyTill rawLine blockEnder tabLen <- getOption readerTabStop trimP <- orgStateTrimLeadBlkIndent <$> getState let stripIndent strs = if trimP then map (T.drop (shortestIndent strs)) strs else strs (T.unlines . stripIndent . map (tabsToSpaces tabLen . commaEscaped) $ blkLines) <$ updateState (\s -> s { orgStateTrimLeadBlkIndent = True }) where rawLine :: Monad m => OrgParser m Text rawLine = try $ ("" <$ blankline) <|> anyLine blockEnder :: Monad m => OrgParser m () blockEnder = try $ skipSpaces <* stringAnyCase ("#+end_" <> blockType) shortestIndent :: [Text] -> Int shortestIndent = foldr (min . T.length . T.takeWhile isSpace) maxBound . filter (not . T.null) tabsToSpaces :: Int -> Text -> Text tabsToSpaces tabStop t = let (ind, suff) = T.span (\c -> c == ' ' || c == '\t') t tabNum = T.length $ T.filter (== '\n') ind spaceNum = T.length ind - tabNum in T.replicate (spaceNum + tabStop * tabNum) " " <> suff commaEscaped t = let (ind, suff) = T.span (\c -> c == ' ' || c == '\t') t in case T.uncons suff of Just (',', cs) | "*" <- T.take 1 cs -> ind <> cs | "#+" <- T.take 2 cs -> ind <> cs _ -> t -- | Read but ignore all remaining block headers. ignHeaders :: Monad m => OrgParser m () ignHeaders = (() <$ newline) <|> (() <$ anyLine) -- | Read a block containing code intended for export in specific backends -- only. exportBlock :: Monad m => Text -> OrgParser m (F Blocks) exportBlock blockType = try $ do exportType <- skipSpaces *> orgArgWord <* ignHeaders contents <- rawBlockContent blockType returnF (B.rawBlock (T.toLower exportType) contents) verseBlock :: PandocMonad m => Text -> OrgParser m (F Blocks) verseBlock blockType = try $ do ignHeaders content <- rawBlockContent blockType fmap B.lineBlock . sequence <$> mapM parseVerseLine (T.lines content) where -- replace initial spaces with nonbreaking spaces to preserve -- indentation, parse the rest as normal inline parseVerseLine :: PandocMonad m => Text -> OrgParser m (F Inlines) parseVerseLine cs = do let (initialSpaces, indentedLine) = T.span isSpace cs let nbspIndent = if T.null initialSpaces then mempty else B.str $ T.map (const '\160') initialSpaces line <- parseFromString inlines (indentedLine <> "\n") return (trimInlinesF $ pure nbspIndent <> line) -- | Read a code block and the associated results block if present. Which of -- boths blocks is included in the output is determined using the "exports" -- argument in the block header. codeBlock :: PandocMonad m => BlockAttributes -> Text -> OrgParser m (F Blocks) codeBlock blockAttrs blockType = do skipSpaces (classes, kv) <- codeHeaderArgs <|> (mempty <$ ignHeaders) content <- rawBlockContent blockType resultsContent <- option mempty babelResultsBlock let id' = fromMaybe mempty $ blockAttrName blockAttrs let codeBlck = B.codeBlockWith ( id', classes, kv ) content let labelledBlck = maybe (pure codeBlck) (labelDiv codeBlck) (blockAttrCaption blockAttrs) return $ (if exportsCode kv then labelledBlck else mempty) <> (if exportsResults kv then resultsContent else mempty) where labelDiv :: Blocks -> F Inlines -> F Blocks labelDiv blk value = B.divWith nullAttr <$> (mappend <$> labelledBlock value <*> pure blk) labelledBlock :: F Inlines -> F Blocks labelledBlock = fmap (B.plain . B.spanWith ("", ["label"], [])) exportsResults :: [(Text, Text)] -> Bool exportsResults = maybe False (`elem` ["results", "both"]) . lookup "exports" -- | Parse the result of an evaluated babel code block. babelResultsBlock :: PandocMonad m => OrgParser m (F Blocks) babelResultsBlock = try $ do blanklines resultsMarker <|> (lookAhead . void . try $ manyTill (metaLineStart *> anyLineNewline) resultsMarker) block where resultsMarker = try . void $ stringAnyCase "#+RESULTS:" *> blankline -- | Parse code block arguments codeHeaderArgs :: Monad m => OrgParser m ([Text], [(Text, Text)]) codeHeaderArgs = try $ do language <- skipSpaces *> orgArgWord (switchClasses, switchKv) <- switchesAsAttributes parameters <- manyTill blockOption newline return ( translateLang language : switchClasses , originalLang language <> switchKv <> parameters ) switchesAsAttributes :: Monad m => OrgParser m ([Text], [(Text, Text)]) switchesAsAttributes = try $ do switches <- skipSpaces *> try (switch `sepBy` many1 spaceChar) return $ foldr addToAttr ([], []) switches where addToAttr :: (Char, Maybe Text, SwitchPolarity) -> ([Text], [(Text, Text)]) -> ([Text], [(Text, Text)]) addToAttr ('n', lineNum, pol) (cls, kv) = let kv' = case lineNum of Just num -> ("startFrom", num):kv Nothing -> kv cls' = case pol of SwitchPlus -> "continuedSourceBlock":cls SwitchMinus -> cls in ("numberLines":cls', kv') addToAttr _ x = x -- | Whether a switch flag is specified with @+@ or @-@. data SwitchPolarity = SwitchPlus | SwitchMinus deriving (Show, Eq) -- | Parses a switch's polarity. switchPolarity :: Monad m => OrgParser m SwitchPolarity switchPolarity = (SwitchMinus <$ char '-') <|> (SwitchPlus <$ char '+') -- | Parses a source block switch option. switch :: Monad m => OrgParser m (Char, Maybe Text, SwitchPolarity) switch = try $ lineNumberSwitch <|> labelSwitch <|> whitespaceSwitch <|> simpleSwitch where simpleSwitch = (\pol c -> (c, Nothing, pol)) <$> switchPolarity <*> letter labelSwitch = genericSwitch 'l' $ char '"' *> many1TillChar nonspaceChar (char '"') whitespaceSwitch :: Monad m => OrgParser m (Char, Maybe Text, SwitchPolarity) whitespaceSwitch = do string "-i" updateState $ \s -> s { orgStateTrimLeadBlkIndent = False } return ('i', Nothing, SwitchMinus) -- | Generic source block switch-option parser. genericSwitch :: Monad m => Char -> OrgParser m Text -> OrgParser m (Char, Maybe Text, SwitchPolarity) genericSwitch c p = try $ do polarity <- switchPolarity <* char c <* skipSpaces arg <- optionMaybe p return (c, arg, polarity) -- | Reads a line number switch option. The line number switch can be used with -- example and source blocks. lineNumberSwitch :: Monad m => OrgParser m (Char, Maybe Text, SwitchPolarity) lineNumberSwitch = genericSwitch 'n' (manyChar digit) blockOption :: Monad m => OrgParser m (Text, Text) blockOption = try $ do argKey <- orgArgKey paramValue <- option "yes" orgParamValue return (argKey, paramValue) orgParamValue :: Monad m => OrgParser m Text orgParamValue = try $ fmap T.pack $ skipSpaces *> notFollowedBy orgArgKey *> noneOf "\n\r" `many1Till` endOfValue <* skipSpaces where endOfValue = lookAhead $ try (skipSpaces <* oneOf "\n\r") <|> try (skipSpaces1 <* orgArgKey) -- -- Drawers -- -- | A generic drawer which has no special meaning for org-mode. -- Whether or not this drawer is included in the output depends on the drawers -- export setting. genericDrawer :: PandocMonad m => OrgParser m (F Blocks) genericDrawer = try $ do name <- T.toUpper <$> drawerStart content <- manyTill drawerLine (try drawerEnd) state <- getState -- Include drawer if it is explicitly included in or not explicitly excluded -- from the list of drawers that should be exported. PROPERTIES drawers are -- never exported. case exportDrawers . orgStateExportSettings $ state of _ | name == "PROPERTIES" -> return mempty Left names | name `elem` names -> return mempty Right names | name `notElem` names -> return mempty _ -> drawerDiv name <$> parseLines content where parseLines :: PandocMonad m => [Text] -> OrgParser m (F Blocks) parseLines = parseFromString blocks . (<> "\n") . T.unlines drawerDiv :: Text -> F Blocks -> F Blocks drawerDiv drawerName = fmap $ B.divWith (mempty, [drawerName, "drawer"], mempty) drawerLine :: Monad m => OrgParser m Text drawerLine = anyLine drawerEnd :: Monad m => OrgParser m Text drawerEnd = try $ skipSpaces *> stringAnyCase ":END:" <* skipSpaces <* newline -- -- Figures -- -- | Figures or an image paragraph (i.e. an image on a line by itself). Only -- images with a caption attribute are interpreted as figures. figure :: PandocMonad m => OrgParser m (F Blocks) figure = try $ do figAttrs <- blockAttributes src <- skipSpaces *> selfTarget <* skipSpaces <* endOfParagraph case cleanLinkText src of Nothing -> mzero Just imgSrc -> do guard (isImageFilename imgSrc) let isFigure = isJust $ blockAttrCaption figAttrs return $ imageBlock isFigure figAttrs imgSrc where selfTarget :: PandocMonad m => OrgParser m Text selfTarget = try $ char '[' *> linkTarget <* char ']' imageBlock :: Bool -> BlockAttributes -> Text -> F Blocks imageBlock isFigure figAttrs imgSrc = let figName = fromMaybe mempty $ blockAttrName figAttrs figLabel = fromMaybe mempty $ blockAttrLabel figAttrs figCaption = fromMaybe mempty $ blockAttrCaption figAttrs figKeyVals = blockAttrKeyValues figAttrs attr = (figLabel, mempty, figKeyVals) figTitle = (if isFigure then withFigPrefix else id) figName in B.para . B.imageWith attr imgSrc figTitle <$> figCaption withFigPrefix :: Text -> Text withFigPrefix cs = if "fig:" `T.isPrefixOf` cs then cs else "fig:" <> cs -- | Succeeds if looking at the end of the current paragraph endOfParagraph :: Monad m => OrgParser m () endOfParagraph = try $ skipSpaces *> newline *> endOfBlock -- -- Examples -- -- | Example code marked up by a leading colon. example :: Monad m => OrgParser m (F Blocks) example = try $ returnF . exampleCode =<< T.unlines <$> many1 exampleLine where exampleLine :: Monad m => OrgParser m Text exampleLine = try $ exampleLineStart *> anyLine exampleCode :: Text -> Blocks exampleCode = B.codeBlockWith ("", ["example"], []) -- -- Comments, Options and Metadata -- specialLine :: PandocMonad m => OrgParser m (F Blocks) specialLine = fmap return . try $ rawExportLine <|> metaLine <|> commentLine -- | Include the content of a file. include :: PandocMonad m => OrgParser m (F Blocks) include = try $ do metaLineStart <* stringAnyCase "include:" <* skipSpaces filename <- includeTarget includeArgs <- many (try $ skipSpaces *> many1Char alphaNum) params <- keyValues blocksParser <- case includeArgs of ("example" : _) -> return $ pure . B.codeBlock <$> parseRaw ["export"] -> return . returnF $ B.fromList [] ["export", format] -> return $ pure . B.rawBlock format <$> parseRaw ("src" : rest) -> do let attr = case rest of [lang] -> (mempty, [lang], mempty) _ -> nullAttr return $ pure . B.codeBlockWith attr <$> parseRaw _ -> return $ return . B.fromList . blockFilter params <$> blockList insertIncludedFileF blocksParser ["."] filename where includeTarget :: PandocMonad m => OrgParser m FilePath includeTarget = do char '"' manyTill (noneOf "\n\r\t") (char '"') parseRaw :: PandocMonad m => OrgParser m Text parseRaw = manyChar anyChar blockFilter :: [(Text, Text)] -> [Block] -> [Block] blockFilter params blks = let minlvl = lookup "minlevel" params in case (minlvl >>= safeRead :: Maybe Int) of Nothing -> blks Just lvl -> let levels = Walk.query headerLevel blks -- CAVE: partial function in else curMin = if null levels then 0 else minimum levels in Walk.walk (shiftHeader (curMin - lvl)) blks headerLevel :: Block -> [Int] headerLevel (Header lvl _attr _content) = [lvl] headerLevel _ = [] shiftHeader :: Int -> Block -> Block shiftHeader shift blk = case blk of (Header lvl attr content) | lvl - shift > 0 -> Header (lvl - shift) attr content | otherwise -> Para content _ -> blk rawExportLine :: PandocMonad m => OrgParser m Blocks rawExportLine = try $ do metaLineStart key <- metaKey if key `elem` ["latex", "html", "texinfo", "beamer"] then B.rawBlock key <$> anyLine else mzero commentLine :: Monad m => OrgParser m Blocks commentLine = commentLineStart *> anyLine *> pure mempty -- -- Tables -- data ColumnProperty = ColumnProperty { columnAlignment :: Maybe Alignment , columnRelWidth :: Maybe Int } deriving (Show, Eq) instance Default ColumnProperty where def = ColumnProperty Nothing Nothing data OrgTableRow = OrgContentRow (F [Blocks]) | OrgAlignRow [ColumnProperty] | OrgHlineRow -- OrgTable is strongly related to the pandoc table ADT. Using the same -- (i.e. pandoc-global) ADT would mean that the reader would break if the -- global structure was to be changed, which would be bad. The final table -- should be generated using a builder function. data OrgTable = OrgTable { orgTableColumnProperties :: [ColumnProperty] , orgTableHeader :: [Blocks] , orgTableRows :: [[Blocks]] } table :: PandocMonad m => OrgParser m (F Blocks) table = gridTableWith blocks True <|> orgTable -- | A normal org table orgTable :: PandocMonad m => OrgParser m (F Blocks) orgTable = try $ do -- don't allow a table on the first line of a list item; org requires that -- tables start at first non-space character on the line let isFirstInListItem st = orgStateParserContext st == ListItemState && isNothing (orgStateLastPreCharPos st) guard =<< not . isFirstInListItem <$> getState blockAttrs <- blockAttributes lookAhead tableStart rows <- tableRows let caption = fromMaybe mempty (blockAttrCaption blockAttrs) let orgTbl = normalizeTable <$> rowsToTable rows -- wrap table in div if a name or label is given let identMb = blockAttrName blockAttrs `mplus` blockAttrLabel blockAttrs let wrap = case identMb of Just ident -> B.divWith (ident, mempty, mempty) Nothing -> id return . fmap wrap $ (orgToPandocTable <$> orgTbl <*> caption) orgToPandocTable :: OrgTable -> Inlines -> Blocks orgToPandocTable (OrgTable colProps heads lns) caption = let totalWidth = if any (isJust . columnRelWidth) colProps then Just . sum $ map (fromMaybe 1 . columnRelWidth) colProps else Nothing in B.table caption (map (convertColProp totalWidth) colProps) heads lns where convertColProp :: Maybe Int -> ColumnProperty -> (Alignment, Double) convertColProp totalWidth colProp = let align' = fromMaybe AlignDefault $ columnAlignment colProp width' = fromMaybe 0 $ (\w t -> (fromIntegral w / fromIntegral t)) <$> columnRelWidth colProp <*> totalWidth in (align', width') tableRows :: PandocMonad m => OrgParser m [OrgTableRow] tableRows = try $ many (tableAlignRow <|> tableHline <|> tableContentRow) tableContentRow :: PandocMonad m => OrgParser m OrgTableRow tableContentRow = try $ OrgContentRow . sequence <$> (tableStart *> many1Till tableContentCell newline) tableContentCell :: PandocMonad m => OrgParser m (F Blocks) tableContentCell = try $ fmap B.plain . trimInlinesF . mconcat <$> manyTill inline endOfCell tableAlignRow :: Monad m => OrgParser m OrgTableRow tableAlignRow = try $ do tableStart colProps <- many1Till columnPropertyCell newline -- Empty rows are regular (i.e. content) rows, not alignment rows. guard $ any (/= def) colProps return $ OrgAlignRow colProps columnPropertyCell :: Monad m => OrgParser m ColumnProperty columnPropertyCell = emptyCell <|> propCell "alignment info" where emptyCell = ColumnProperty Nothing Nothing <$ try (skipSpaces *> endOfCell) propCell = try $ ColumnProperty <$> (skipSpaces *> char '<' *> optionMaybe tableAlignFromChar) <*> (optionMaybe (many1Char digit >>= safeRead) <* char '>' <* emptyCell) tableAlignFromChar :: Monad m => OrgParser m Alignment tableAlignFromChar = try $ choice [ char 'l' *> return AlignLeft , char 'c' *> return AlignCenter , char 'r' *> return AlignRight ] tableHline :: Monad m => OrgParser m OrgTableRow tableHline = try $ OrgHlineRow <$ (tableStart *> char '-' *> anyLine) endOfCell :: Monad m => OrgParser m Char endOfCell = try $ char '|' <|> lookAhead newline rowsToTable :: [OrgTableRow] -> F OrgTable rowsToTable = foldM rowToContent emptyTable where emptyTable = OrgTable mempty mempty mempty normalizeTable :: OrgTable -> OrgTable normalizeTable (OrgTable colProps heads rows) = OrgTable colProps' heads rows where refRow = if heads /= mempty then heads else case rows of (r:_) -> r _ -> mempty cols = length refRow fillColumns base padding = take cols $ base ++ repeat padding colProps' = fillColumns colProps def -- One or more horizontal rules after the first content line mark the previous -- line as a header. All other horizontal lines are discarded. rowToContent :: OrgTable -> OrgTableRow -> F OrgTable rowToContent tbl row = case row of OrgHlineRow -> return singleRowPromotedToHeader OrgAlignRow props -> return . setProperties $ props OrgContentRow cs -> appendToBody cs where singleRowPromotedToHeader :: OrgTable singleRowPromotedToHeader = case tbl of OrgTable{ orgTableHeader = [], orgTableRows = [b] } -> tbl{ orgTableHeader = b , orgTableRows = [] } _ -> tbl setProperties :: [ColumnProperty] -> OrgTable setProperties ps = tbl{ orgTableColumnProperties = ps } appendToBody :: F [Blocks] -> F OrgTable appendToBody frow = do newRow <- frow let oldRows = orgTableRows tbl -- NOTE: This is an inefficient O(n) operation. This should be changed -- if performance ever becomes a problem. return tbl{ orgTableRows = oldRows ++ [newRow] } -- -- LaTeX fragments -- latexFragment :: Monad m => OrgParser m (F Blocks) latexFragment = try $ do envName <- latexEnvStart content <- mconcat <$> manyTill anyLineNewline (latexEnd envName) returnF $ B.rawBlock "latex" (content `inLatexEnv` envName) where c `inLatexEnv` e = mconcat [ "\\begin{", e, "}\n" , c , "\\end{", e, "}\n" ] latexEnd :: Monad m => Text -> OrgParser m () latexEnd envName = try $ () <$ skipSpaces <* textStr ("\\end{" <> envName <> "}") <* blankline -- -- Footnote definitions -- noteBlock :: PandocMonad m => OrgParser m (F Blocks) noteBlock = try $ do ref <- noteMarker <* skipSpaces <* updateLastPreCharPos content <- mconcat <$> many1Till block endOfFootnote addToNotesTable (ref, content) return mempty where endOfFootnote = eof <|> () <$ lookAhead noteMarker <|> () <$ lookAhead headerStart <|> () <$ lookAhead (try $ blankline *> blankline) -- Paragraphs or Plain text paraOrPlain :: PandocMonad m => OrgParser m (F Blocks) paraOrPlain = try $ do -- Make sure we are not looking at a headline notFollowedBy' headerStart ils <- inlines nl <- option False (newline *> return True) -- Read block as paragraph, except if we are in a list context and the block -- is directly followed by a list item, in which case the block is read as -- plain text. try (guard nl *> notFollowedBy (inList *> (orderedListStart <|> bulletListStart)) *> return (B.para <$> ils)) <|> return (B.plain <$> ils) -- -- list blocks -- list :: PandocMonad m => OrgParser m (F Blocks) list = choice [ definitionList, bulletList, orderedList ] "list" definitionList :: PandocMonad m => OrgParser m (F Blocks) definitionList = try $ do indent <- lookAhead bulletListStart fmap (B.definitionList . compactifyDL) . sequence <$> many1 (definitionListItem (bulletListStart `indented` indent)) bulletList :: PandocMonad m => OrgParser m (F Blocks) bulletList = try $ do indent <- lookAhead bulletListStart fmap (B.bulletList . compactify) . sequence <$> many1 (listItem (bulletListStart `indented` indent)) indented :: OrgParser m Int -> Int -> OrgParser m Int indented indentedMarker minIndent = try $ do n <- indentedMarker guard (minIndent <= n) return n orderedList :: PandocMonad m => OrgParser m (F Blocks) orderedList = try $ do indent <- lookAhead orderedListStart fmap (B.orderedList . compactify) . sequence <$> many1 (listItem (orderedListStart `indented` indent)) definitionListItem :: PandocMonad m => OrgParser m Int -> OrgParser m (F (Inlines, [Blocks])) definitionListItem parseIndentedMarker = try $ do markerLength <- parseIndentedMarker term <- manyTillChar (noneOf "\n\r") (try definitionMarker) line1 <- anyLineNewline blank <- option "" ("\n" <$ blankline) cont <- T.concat <$> many (listContinuation markerLength) term' <- parseFromString inlines term contents' <- parseFromString blocks $ line1 <> blank <> cont return $ (,) <$> term' <*> fmap (:[]) contents' where definitionMarker = spaceChar *> string "::" <* (spaceChar <|> lookAhead newline) -- | parse raw text for one list item listItem :: PandocMonad m => OrgParser m Int -> OrgParser m (F Blocks) listItem parseIndentedMarker = try . withContext ListItemState $ do markerLength <- try parseIndentedMarker firstLine <- anyLineNewline blank <- option "" ("\n" <$ blankline) rest <- T.concat <$> many (listContinuation markerLength) parseFromString blocks $ firstLine <> blank <> rest -- continuation of a list item - indented and separated by blankline or endline. -- Note: nested lists are parsed as continuations. listContinuation :: PandocMonad m => Int -> OrgParser m Text listContinuation markerLength = try $ do notFollowedBy' blankline mappend <$> (T.concat <$> many1 (listContinuation' markerLength)) <*> manyChar blankline where listContinuation' indentation = blockLines indentation <|> listLine indentation listLine indentation = try $ indentWith indentation *> anyLineNewline -- The block attributes and start must be appropriately indented, -- but the contents, and end do not. blockLines indentation = try $ lookAhead (indentWith indentation >> blockAttributes >>= (\blockAttrs -> case attrFromBlockAttributes blockAttrs of ("", [], []) -> countChar 1 anyChar _ -> indentWith indentation)) >> (snd <$> withRaw orgBlock) �����������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/DocumentTree.hs������������������������������������������0000664�0000000�0000000�00000035320�13636304630�0023123�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TupleSections #-} {- | Module : Text.Pandoc.Readers.Org.DocumentTree Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Parsers for org-mode headlines and document subtrees -} module Text.Pandoc.Readers.Org.DocumentTree ( documentTree , unprunedHeadlineToBlocks ) where import Control.Arrow ((***), first) import Control.Monad (guard) import Data.List (intersperse) import Data.Maybe (mapMaybe) import Data.Text (Text) import Text.Pandoc.Builder (Blocks, Inlines) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Readers.Org.BlockStarts import Text.Pandoc.Readers.Org.ParserState import Text.Pandoc.Readers.Org.Parsing import qualified Data.Set as Set import qualified Data.Text as T import qualified Text.Pandoc.Builder as B -- -- Org headers -- -- | Parse input as org document tree. documentTree :: PandocMonad m => OrgParser m (F Blocks) -> OrgParser m (F Inlines) -> OrgParser m (F Headline) documentTree blocks inline = do initialBlocks <- blocks headlines <- sequence <$> manyTill (headline blocks inline 1) eof title <- fmap docTitle . orgStateMeta <$> getState return $ do headlines' <- headlines initialBlocks' <- initialBlocks title' <- title return Headline { headlineLevel = 0 , headlineTodoMarker = Nothing , headlineText = B.fromList title' , headlineTags = mempty , headlinePlanning = emptyPlanning , headlineProperties = mempty , headlineContents = initialBlocks' , headlineChildren = headlines' } -- | Create a tag containing the given string. toTag :: Text -> Tag toTag = Tag -- | The key (also called name or type) of a property. newtype PropertyKey = PropertyKey { fromKey :: Text } deriving (Show, Eq, Ord) -- | Create a property key containing the given string. Org mode keys are -- case insensitive and are hence converted to lower case. toPropertyKey :: Text -> PropertyKey toPropertyKey = PropertyKey . T.toLower -- | The value assigned to a property. newtype PropertyValue = PropertyValue { fromValue :: Text } -- | Create a property value containing the given string. toPropertyValue :: Text -> PropertyValue toPropertyValue = PropertyValue -- | Check whether the property value is non-nil (i.e. truish). isNonNil :: PropertyValue -> Bool isNonNil p = T.toLower (fromValue p) `notElem` ["()", "{}", "nil"] -- | Key/value pairs from a PROPERTIES drawer type Properties = [(PropertyKey, PropertyValue)] -- | Org mode headline (i.e. a document subtree). data Headline = Headline { headlineLevel :: Int , headlineTodoMarker :: Maybe TodoMarker , headlineText :: Inlines , headlineTags :: [Tag] , headlinePlanning :: PlanningInfo -- ^ subtree planning information , headlineProperties :: Properties , headlineContents :: Blocks , headlineChildren :: [Headline] } -- | Read an Org mode headline and its contents (i.e. a document subtree). -- @lvl@ gives the minimum acceptable level of the tree. headline :: PandocMonad m => OrgParser m (F Blocks) -> OrgParser m (F Inlines) -> Int -> OrgParser m (F Headline) headline blocks inline lvl = try $ do level <- headerStart guard (lvl <= level) todoKw <- optionMaybe todoKeyword (title, tags) <- manyThen inline endOfTitle planning <- option emptyPlanning planningInfo properties <- option mempty propertiesDrawer contents <- blocks children <- many (headline blocks inline (level + 1)) return $ do title' <- trimInlinesF (mconcat title) contents' <- contents children' <- sequence children return Headline { headlineLevel = level , headlineTodoMarker = todoKw , headlineText = title' , headlineTags = tags , headlinePlanning = planning , headlineProperties = properties , headlineContents = contents' , headlineChildren = children' } where endOfTitle :: Monad m => OrgParser m [Tag] endOfTitle = try $ do skipSpaces tags <- option [] (headerTags <* skipSpaces) newline return tags headerTags :: Monad m => OrgParser m [Tag] headerTags = try $ do char ':' endBy1 (toTag <$> orgTagWord) (char ':') manyThen :: Monad m => OrgParser m a -> OrgParser m b -> OrgParser m ([a], b) manyThen p end = (([],) <$> try end) <|> do x <- p first (x:) <$> manyThen p end -- titleFollowedByTags :: Monad m => OrgParser m (Inlines, [Tag]) -- titleFollowedByTags = do unprunedHeadlineToBlocks :: Monad m => Headline -> OrgParserState -> OrgParser m [Block] unprunedHeadlineToBlocks hdln st = let usingSelectedTags = docContainsSelectTags hdln st rootNode = if not usingSelectedTags then hdln else includeRootAndSelected hdln st rootNode' = removeExplicitlyExcludedNodes rootNode st in if not usingSelectedTags || any (`Set.member` orgStateSelectTags st) (headlineTags rootNode') then do headlineBlocks <- headlineToBlocks rootNode' -- ignore first headline, it's the document's title return . drop 1 . B.toList $ headlineBlocks else do headlineBlocks <- mconcat <$> mapM headlineToBlocks (headlineChildren rootNode') return . B.toList $ headlineBlocks -- | Convert an Org mode headline (i.e. a document tree) into pandoc's Blocks headlineToBlocks :: Monad m => Headline -> OrgParser m Blocks headlineToBlocks hdln = do maxLevel <- getExportSetting exportHeadlineLevels let tags = headlineTags hdln let text = headlineText hdln let level = headlineLevel hdln case () of _ | any isArchiveTag tags -> archivedHeadlineToBlocks hdln _ | isCommentTitle text -> return mempty _ | maxLevel <= level -> headlineToHeaderWithList hdln _ | otherwise -> headlineToHeaderWithContents hdln removeExplicitlyExcludedNodes :: Headline -> OrgParserState -> Headline removeExplicitlyExcludedNodes hdln st = hdln { headlineChildren = [removeExplicitlyExcludedNodes childHdln st | childHdln <- headlineChildren hdln, not $ headlineContainsExcludeTags childHdln st] } includeRootAndSelected :: Headline -> OrgParserState -> Headline includeRootAndSelected hdln st = hdln { headlineChildren = mapMaybe (`includeAncestorsAndSelected` st) (headlineChildren hdln)} docContainsSelectTags :: Headline -> OrgParserState -> Bool docContainsSelectTags hdln st = headlineContainsSelectTags hdln st || any (`docContainsSelectTags` st) (headlineChildren hdln) includeAncestorsAndSelected :: Headline -> OrgParserState -> Maybe Headline includeAncestorsAndSelected hdln st = if headlineContainsSelectTags hdln st then Just hdln else let children = mapMaybe (`includeAncestorsAndSelected` st) (headlineChildren hdln) in case children of [] -> Nothing _ -> Just $ hdln { headlineChildren = children } headlineContainsSelectTags :: Headline -> OrgParserState -> Bool headlineContainsSelectTags hdln st = any (`Set.member` orgStateSelectTags st) (headlineTags hdln) headlineContainsExcludeTags :: Headline -> OrgParserState -> Bool headlineContainsExcludeTags hdln st = any (`Set.member` orgStateExcludeTags st) (headlineTags hdln) isArchiveTag :: Tag -> Bool isArchiveTag = (== toTag "ARCHIVE") -- | Check if the title starts with COMMENT. -- FIXME: This accesses builder internals not intended for use in situations -- like these. Replace once keyword parsing is supported. isCommentTitle :: Inlines -> Bool isCommentTitle inlns = case B.toList inlns of (Str "COMMENT":_) -> True _ -> False archivedHeadlineToBlocks :: Monad m => Headline -> OrgParser m Blocks archivedHeadlineToBlocks hdln = do archivedTreesOption <- getExportSetting exportArchivedTrees case archivedTreesOption of ArchivedTreesNoExport -> return mempty ArchivedTreesExport -> headlineToHeaderWithContents hdln ArchivedTreesHeadlineOnly -> headlineToHeader hdln headlineToHeaderWithList :: Monad m => Headline -> OrgParser m Blocks headlineToHeaderWithList hdln = do maxHeadlineLevels <- getExportSetting exportHeadlineLevels header <- headlineToHeader hdln listElements <- mapM headlineToBlocks (headlineChildren hdln) planningBlock <- planningToBlock (headlinePlanning hdln) let listBlock = if null listElements then mempty else B.orderedList listElements let headerText = if maxHeadlineLevels == headlineLevel hdln then header else flattenHeader header return . mconcat $ [ headerText , planningBlock , headlineContents hdln , listBlock ] where flattenHeader :: Blocks -> Blocks flattenHeader blks = case B.toList blks of (Header _ _ inlns:_) -> B.para (B.fromList inlns) _ -> mempty headlineToHeaderWithContents :: Monad m => Headline -> OrgParser m Blocks headlineToHeaderWithContents hdln = do header <- headlineToHeader hdln planningBlock <- planningToBlock (headlinePlanning hdln) childrenBlocks <- mconcat <$> mapM headlineToBlocks (headlineChildren hdln) return $ header <> planningBlock <> headlineContents hdln <> childrenBlocks headlineToHeader :: Monad m => Headline -> OrgParser m Blocks headlineToHeader hdln = do exportTodoKeyword <- getExportSetting exportWithTodoKeywords exportTags <- getExportSetting exportWithTags let todoText = if exportTodoKeyword then case headlineTodoMarker hdln of Just kw -> todoKeywordToInlines kw <> B.space Nothing -> mempty else mempty let text = todoText <> headlineText hdln <> if exportTags then tagsToInlines (headlineTags hdln) else mempty let propAttr = propertiesToAttr (headlineProperties hdln) attr <- registerHeader propAttr (headlineText hdln) return $ B.headerWith attr (headlineLevel hdln) text todoKeyword :: Monad m => OrgParser m TodoMarker todoKeyword = try $ do taskStates <- activeTodoMarkers <$> getState let kwParser tdm = try (tdm <$ textStr (todoMarkerName tdm) <* spaceChar <* updateLastPreCharPos) choice (map kwParser taskStates) todoKeywordToInlines :: TodoMarker -> Inlines todoKeywordToInlines tdm = let todoText = todoMarkerName tdm todoState = T.toLower . T.pack . show $ todoMarkerState tdm classes = [todoState, todoText] in B.spanWith (mempty, classes, mempty) (B.str todoText) propertiesToAttr :: Properties -> Attr propertiesToAttr properties = let toTextPair = fromKey *** fromValue customIdKey = toPropertyKey "custom_id" classKey = toPropertyKey "class" unnumberedKey = toPropertyKey "unnumbered" specialProperties = [customIdKey, classKey, unnumberedKey] id' = maybe mempty fromValue . lookup customIdKey $ properties cls = maybe mempty fromValue . lookup classKey $ properties kvs' = map toTextPair . filter ((`notElem` specialProperties) . fst) $ properties isUnnumbered = maybe False isNonNil . lookup unnumberedKey $ properties in (id', T.words cls ++ ["unnumbered" | isUnnumbered], kvs') tagsToInlines :: [Tag] -> Inlines tagsToInlines [] = mempty tagsToInlines tags = (B.space <>) . mconcat . intersperse (B.str "\160") . map tagToInline $ tags where tagToInline :: Tag -> Inlines tagToInline t = tagSpan t . B.smallcaps . B.str $ fromTag t -- | Wrap the given inline in a span, marking it as a tag. tagSpan :: Tag -> Inlines -> Inlines tagSpan t = B.spanWith ("", ["tag"], [("tag-name", fromTag t)]) -- | Render planning info as a block iff the respective export setting is -- enabled. planningToBlock :: Monad m => PlanningInfo -> OrgParser m Blocks planningToBlock planning = do includePlanning <- getExportSetting exportWithPlanning return $ if includePlanning then B.plain . mconcat . intersperse B.space . filter (/= mempty) $ [ datumInlines planningClosed "CLOSED" , datumInlines planningDeadline "DEADLINE" , datumInlines planningScheduled "SCHEDULED" ] else mempty where datumInlines field name = case field planning of Nothing -> mempty Just time -> B.strong (B.str name <> B.str ":") <> B.space <> B.emph (B.str time) -- | An Org timestamp, including repetition marks. TODO: improve type Timestamp = Text timestamp :: Monad m => OrgParser m Timestamp timestamp = try $ do openChar <- oneOf "<[" let isActive = openChar == '<' let closeChar = if isActive then '>' else ']' content <- many1TillChar anyChar (char closeChar) return $ T.cons openChar $ content `T.snoc` closeChar -- | Planning information for a subtree/headline. data PlanningInfo = PlanningInfo { planningClosed :: Maybe Timestamp , planningDeadline :: Maybe Timestamp , planningScheduled :: Maybe Timestamp } emptyPlanning :: PlanningInfo emptyPlanning = PlanningInfo Nothing Nothing Nothing -- | Read a single planning-related and timestamped line. planningInfo :: Monad m => OrgParser m PlanningInfo planningInfo = try $ do updaters <- many1 planningDatum <* skipSpaces <* newline return $ foldr ($) emptyPlanning updaters where planningDatum = skipSpaces *> choice [ updateWith (\s p -> p { planningScheduled = Just s}) "SCHEDULED" , updateWith (\d p -> p { planningDeadline = Just d}) "DEADLINE" , updateWith (\c p -> p { planningClosed = Just c}) "CLOSED" ] updateWith fn cs = fn <$> (string cs *> char ':' *> skipSpaces *> timestamp) -- | Read a :PROPERTIES: drawer and return the key/value pairs contained -- within. propertiesDrawer :: Monad m => OrgParser m Properties propertiesDrawer = try $ do drawerType <- drawerStart guard $ T.toUpper drawerType == "PROPERTIES" manyTill property (try endOfDrawer) where property :: Monad m => OrgParser m (PropertyKey, PropertyValue) property = try $ (,) <$> key <*> value key :: Monad m => OrgParser m PropertyKey key = fmap toPropertyKey . try $ skipSpaces *> char ':' *> many1TillChar nonspaceChar (char ':') value :: Monad m => OrgParser m PropertyValue value = fmap toPropertyValue . try $ skipSpaces *> manyTillChar anyChar (try $ skipSpaces *> newline) endOfDrawer :: Monad m => OrgParser m Text endOfDrawer = try $ skipSpaces *> stringAnyCase ":END:" <* skipSpaces <* newline ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/ExportSettings.hs����������������������������������������0000664�0000000�0000000�00000013623�13636304630�0023531�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org.ExportSettings Copyright : © 2016–2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Parsers for Org-mode export options. -} module Text.Pandoc.Readers.Org.ExportSettings ( exportSettings ) where import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Logging (LogMessage (UnknownOrgExportOption)) import Text.Pandoc.Readers.Org.ParserState import Text.Pandoc.Readers.Org.Parsing import Control.Monad (mzero, void) import Data.Char (toLower) import Data.Maybe (listToMaybe) import Data.Text (Text) -- | Read and handle space separated org-mode export settings. exportSettings :: PandocMonad m => OrgParser m () exportSettings = void $ sepBy skipSpaces exportSetting -- | Setter function for export settings. type ExportSettingSetter a = a -> ExportSettings -> ExportSettings -- | Read and process a single org-mode export option. exportSetting :: PandocMonad m => OrgParser m () exportSetting = choice [ booleanSetting "^" (\val es -> es { exportSubSuperscripts = val }) , booleanSetting "'" (\val es -> es { exportSmartQuotes = val }) , booleanSetting "*" (\val es -> es { exportEmphasizedText = val }) , booleanSetting "-" (\val es -> es { exportSpecialStrings = val }) , ignoredSetting ":" , ignoredSetting "<" , booleanSetting "\\n" (\val es -> es { exportPreserveBreaks = val }) , archivedTreeSetting "arch" (\val es -> es { exportArchivedTrees = val }) , booleanSetting "author" (\val es -> es { exportWithAuthor = val }) , ignoredSetting "c" -- org-mode allows the special value `comment` for creator, which we'll -- interpret as true as it doesn't make sense in the context of Pandoc. , booleanSetting "creator" (\val es -> es { exportWithCreator = val }) , complementableListSetting "d" (\val es -> es { exportDrawers = val }) , ignoredSetting "date" , ignoredSetting "e" , booleanSetting "email" (\val es -> es { exportWithEmail = val }) , ignoredSetting "f" , integerSetting "H" (\val es -> es { exportHeadlineLevels = val }) , ignoredSetting "inline" , ignoredSetting "num" , booleanSetting "p" (\val es -> es { exportWithPlanning = val }) , ignoredSetting "pri" , ignoredSetting "prop" , ignoredSetting "stat" , booleanSetting "tags" (\val es -> es { exportWithTags = val }) , ignoredSetting "tasks" , ignoredSetting "tex" , ignoredSetting "timestamp" , ignoredSetting "title" , ignoredSetting "toc" , booleanSetting "todo" (\val es -> es { exportWithTodoKeywords = val }) , ignoredSetting "|" , ignoreAndWarn ] "export setting" genericExportSetting :: Monad m => OrgParser m a -> Text -> ExportSettingSetter a -> OrgParser m () genericExportSetting optionParser settingIdentifier setter = try $ do _ <- textStr settingIdentifier *> char ':' value <- optionParser updateState $ modifyExportSettings value where modifyExportSettings val st = st { orgStateExportSettings = setter val . orgStateExportSettings $ st } -- | A boolean option, either nil (False) or non-nil (True). booleanSetting :: Monad m => Text -> ExportSettingSetter Bool -> OrgParser m () booleanSetting = genericExportSetting elispBoolean -- | An integer-valued option. integerSetting :: Monad m => Text -> ExportSettingSetter Int -> OrgParser m () integerSetting = genericExportSetting parseInt where parseInt = try $ many1 digit >>= maybe mzero (return . fst) . listToMaybe . reads -- | Either the string "headline" or an elisp boolean and treated as an -- @ArchivedTreesOption@. archivedTreeSetting :: Monad m => Text -> ExportSettingSetter ArchivedTreesOption -> OrgParser m () archivedTreeSetting = genericExportSetting $ archivedTreesHeadlineSetting <|> archivedTreesBoolean where archivedTreesHeadlineSetting = try $ do _ <- string "headline" lookAhead (newline <|> spaceChar) return ArchivedTreesHeadlineOnly archivedTreesBoolean = try $ do exportBool <- elispBoolean return $ if exportBool then ArchivedTreesExport else ArchivedTreesNoExport -- | A list or a complement list (i.e. a list starting with `not`). complementableListSetting :: Monad m => Text -> ExportSettingSetter (Either [Text] [Text]) -> OrgParser m () complementableListSetting = genericExportSetting $ choice [ Left <$> complementTextList , Right <$> stringList , (\b -> if b then Left [] else Right []) <$> elispBoolean ] where -- Read a plain list of strings. stringList :: Monad m => OrgParser m [Text] stringList = try $ char '(' *> sepBy elispText spaces <* char ')' -- Read an emacs lisp list specifying a complement set. complementTextList :: Monad m => OrgParser m [Text] complementTextList = try $ string "(not " *> sepBy elispText spaces <* char ')' elispText :: Monad m => OrgParser m Text elispText = try $ char '"' *> manyTillChar alphaNum (char '"') -- | Read but ignore the export setting. ignoredSetting :: Monad m => Text -> OrgParser m () ignoredSetting s = try (() <$ textStr s <* char ':' <* many1 nonspaceChar) -- | Read any setting string, but ignore it and emit a warning. ignoreAndWarn :: PandocMonad m => OrgParser m () ignoreAndWarn = try $ do opt <- many1Char nonspaceChar report (UnknownOrgExportOption opt) return () -- | Read an elisp boolean. Only NIL is treated as false, non-NIL values are -- interpreted as true. elispBoolean :: Monad m => OrgParser m Bool elispBoolean = try $ do value <- many1 nonspaceChar return $ case map toLower value of "nil" -> False "{}" -> False "()" -> False _ -> True �������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/Inlines.hs�����������������������������������������������0000664�0000000�0000000�00000077512�13636304630�0022137�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org.Inlines Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Parsers for Org-mode inline elements. -} module Text.Pandoc.Readers.Org.Inlines ( inline , inlines , addToNotesTable , linkTarget ) where import Text.Pandoc.Readers.Org.BlockStarts (endOfBlock, noteMarker) import Text.Pandoc.Readers.Org.ParserState import Text.Pandoc.Readers.Org.Parsing import Text.Pandoc.Readers.Org.Shared (cleanLinkText, isImageFilename, originalLang, translateLang, exportsCode) import Text.Pandoc.Builder (Inlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Readers.LaTeX (inlineCommand, rawLaTeXInline) import Text.Pandoc.Shared (underlineSpan) import Text.TeXMath (DisplayType (..), readTeX, writePandoc) import qualified Text.TeXMath.Readers.MathML.EntityMap as MathMLEntityMap import Control.Monad (guard, mplus, mzero, unless, void, when) import Control.Monad.Trans (lift) import Data.Char (isAlphaNum, isSpace) import Data.List (intersperse) import qualified Data.Map as M import Data.Text (Text) import qualified Data.Text as T -- -- Functions acting on the parser state -- recordAnchorId :: PandocMonad m => Text -> OrgParser m () recordAnchorId i = updateState $ \s -> s{ orgStateAnchorIds = i : orgStateAnchorIds s } pushToInlineCharStack :: PandocMonad m => Char -> OrgParser m () pushToInlineCharStack c = updateState $ \s -> s{ orgStateEmphasisCharStack = c:orgStateEmphasisCharStack s } popInlineCharStack :: PandocMonad m => OrgParser m () popInlineCharStack = updateState $ \s -> s{ orgStateEmphasisCharStack = drop 1 . orgStateEmphasisCharStack $ s } surroundingEmphasisChar :: PandocMonad m => OrgParser m [Char] surroundingEmphasisChar = take 1 . drop 1 . orgStateEmphasisCharStack <$> getState startEmphasisNewlinesCounting :: PandocMonad m => Int -> OrgParser m () startEmphasisNewlinesCounting maxNewlines = updateState $ \s -> s{ orgStateEmphasisNewlines = Just maxNewlines } decEmphasisNewlinesCount :: PandocMonad m => OrgParser m () decEmphasisNewlinesCount = updateState $ \s -> s{ orgStateEmphasisNewlines = (\n -> n - 1) <$> orgStateEmphasisNewlines s } newlinesCountWithinLimits :: PandocMonad m => OrgParser m Bool newlinesCountWithinLimits = do st <- getState return $ ((< 0) <$> orgStateEmphasisNewlines st) /= Just True resetEmphasisNewlines :: PandocMonad m => OrgParser m () resetEmphasisNewlines = updateState $ \s -> s{ orgStateEmphasisNewlines = Nothing } addToNotesTable :: PandocMonad m => OrgNoteRecord -> OrgParser m () addToNotesTable note = do oldnotes <- orgStateNotes' <$> getState updateState $ \s -> s{ orgStateNotes' = note:oldnotes } -- | Parse a single Org-mode inline element inline :: PandocMonad m => OrgParser m (F Inlines) inline = choice [ whitespace , linebreak , cite , footnote , linkOrImage , anchor , inlineCodeBlock , str , endline , emphasizedText , code , math , displayMath , verbatim , subscript , superscript , inlineLaTeX , exportSnippet , macro , smart , symbol ] <* (guard =<< newlinesCountWithinLimits) "inline" -- | Read the rest of the input as inlines. inlines :: PandocMonad m => OrgParser m (F Inlines) inlines = trimInlinesF . mconcat <$> many1 inline -- treat these as potentially non-text when parsing inline: specialChars :: [Char] specialChars = "\"$'()*+-,./:;<=>@[\\]^_{|}~" whitespace :: PandocMonad m => OrgParser m (F Inlines) whitespace = pure B.space <$ skipMany1 spaceChar <* updateLastPreCharPos <* updateLastForbiddenCharPos "whitespace" linebreak :: PandocMonad m => OrgParser m (F Inlines) linebreak = try $ pure B.linebreak <$ string "\\\\" <* skipSpaces <* newline str :: PandocMonad m => OrgParser m (F Inlines) str = return . B.str <$> many1Char (noneOf $ specialChars ++ "\n\r ") <* updateLastStrPos -- | An endline character that can be treated as a space, not a structural -- break. This should reflect the values of the Emacs variable -- @org-element-pagaraph-separate@. endline :: PandocMonad m => OrgParser m (F Inlines) endline = try $ do newline notFollowedBy' endOfBlock decEmphasisNewlinesCount guard =<< newlinesCountWithinLimits updateLastPreCharPos useHardBreaks <- exportPreserveBreaks . orgStateExportSettings <$> getState returnF (if useHardBreaks then B.linebreak else B.softbreak) -- -- Citations -- -- The state of citations is a bit confusing due to the lack of an official -- syntax and multiple syntaxes coexisting. The pandocOrgCite syntax was the -- first to be implemented here and is almost identical to Markdown's citation -- syntax. The org-ref package is in wide use to handle citations, but the -- syntax is a bit limiting and not quite as simple to write. The -- semi-official Org-mode citation syntax is based on John MacFarlane's Pandoc -- sytax and Org-oriented enhancements contributed by Richard Lawrence and -- others. It's dubbed Berkeley syntax due the place of activity of its main -- contributors. All this should be consolidated once an official Org-mode -- citation syntax has emerged. cite :: PandocMonad m => OrgParser m (F Inlines) cite = try $ berkeleyCite <|> do guardEnabled Ext_citations (cs, raw) <- withRaw $ choice [ pandocOrgCite , orgRefCite , berkeleyTextualCite ] return $ flip B.cite (B.text raw) <$> cs -- | A citation in Pandoc Org-mode style (@[prefix \@citekey suffix]@). pandocOrgCite :: PandocMonad m => OrgParser m (F [Citation]) pandocOrgCite = try $ char '[' *> skipSpaces *> citeList <* skipSpaces <* char ']' orgRefCite :: PandocMonad m => OrgParser m (F [Citation]) orgRefCite = try $ choice [ normalOrgRefCite , fmap (:[]) <$> linkLikeOrgRefCite ] normalOrgRefCite :: PandocMonad m => OrgParser m (F [Citation]) normalOrgRefCite = try $ do mode <- orgRefCiteMode firstCitation <- orgRefCiteList mode moreCitations <- many (try $ char ',' *> orgRefCiteList mode) return . sequence $ firstCitation : moreCitations where -- | A list of org-ref style citation keys, parsed as citation of the given -- citation mode. orgRefCiteList :: PandocMonad m => CitationMode -> OrgParser m (F Citation) orgRefCiteList citeMode = try $ do key <- orgRefCiteKey returnF Citation { citationId = key , citationPrefix = mempty , citationSuffix = mempty , citationMode = citeMode , citationNoteNum = 0 , citationHash = 0 } -- | Read an Berkeley-style Org-mode citation. Berkeley citation style was -- develop and adjusted to Org-mode style by John MacFarlane and Richard -- Lawrence, respectively, both philosophers at UC Berkeley. berkeleyCite :: PandocMonad m => OrgParser m (F Inlines) berkeleyCite = try $ do bcl <- berkeleyCitationList return $ do parens <- berkeleyCiteParens <$> bcl prefix <- berkeleyCiteCommonPrefix <$> bcl suffix <- berkeleyCiteCommonSuffix <$> bcl citationList <- berkeleyCiteCitations <$> bcl return $ if parens then toCite . maybe id (alterFirst . prependPrefix) prefix . maybe id (alterLast . appendSuffix) suffix $ citationList else maybe mempty (<> " ") prefix <> toListOfCites (map toInTextMode citationList) <> maybe mempty (", " <>) suffix where toCite :: [Citation] -> Inlines toCite cs = B.cite cs mempty toListOfCites :: [Citation] -> Inlines toListOfCites = mconcat . intersperse ", " . map (\c -> B.cite [c] mempty) toInTextMode :: Citation -> Citation toInTextMode c = c { citationMode = AuthorInText } alterFirst, alterLast :: (a -> a) -> [a] -> [a] alterFirst _ [] = [] alterFirst f (c:cs) = f c : cs alterLast f = reverse . alterFirst f . reverse prependPrefix, appendSuffix :: Inlines -> Citation -> Citation prependPrefix pre c = c { citationPrefix = B.toList pre <> citationPrefix c } appendSuffix suf c = c { citationSuffix = citationSuffix c <> B.toList suf } data BerkeleyCitationList = BerkeleyCitationList { berkeleyCiteParens :: Bool , berkeleyCiteCommonPrefix :: Maybe Inlines , berkeleyCiteCommonSuffix :: Maybe Inlines , berkeleyCiteCitations :: [Citation] } berkeleyCitationList :: PandocMonad m => OrgParser m (F BerkeleyCitationList) berkeleyCitationList = try $ do char '[' parens <- choice [ False <$ berkeleyBareTag, True <$ berkeleyParensTag ] char ':' skipSpaces commonPrefix <- optionMaybe (try $ citationListPart <* char ';') citations <- citeList commonSuffix <- optionMaybe (try citationListPart) char ']' return (BerkeleyCitationList parens <$> sequence commonPrefix <*> sequence commonSuffix <*> citations) where citationListPart :: PandocMonad m => OrgParser m (F Inlines) citationListPart = fmap (trimInlinesF . mconcat) . try . many1 $ do notFollowedBy' citeKey notFollowedBy (oneOf ";]") inline berkeleyBareTag :: PandocMonad m => OrgParser m () berkeleyBareTag = try $ void berkeleyBareTag' berkeleyParensTag :: PandocMonad m => OrgParser m () berkeleyParensTag = try . void $ enclosedByPair1 '(' ')' berkeleyBareTag' berkeleyBareTag' :: PandocMonad m => OrgParser m () berkeleyBareTag' = try $ void (string "cite") berkeleyTextualCite :: PandocMonad m => OrgParser m (F [Citation]) berkeleyTextualCite = try $ do (suppressAuthor, key) <- citeKey returnF . return $ Citation { citationId = key , citationPrefix = mempty , citationSuffix = mempty , citationMode = if suppressAuthor then SuppressAuthor else AuthorInText , citationNoteNum = 0 , citationHash = 0 } -- The following is what a Berkeley-style bracketed textual citation parser -- would look like. However, as these citations are a subset of Pandoc's Org -- citation style, this isn't used. -- berkeleyBracketedTextualCite :: PandocMonad m => OrgParser m (F [Citation]) -- berkeleyBracketedTextualCite = try . (fmap head) $ -- enclosedByPair1 '[' ']' berkeleyTextualCite -- | Read a link-like org-ref style citation. The citation includes pre and -- post text. However, multiple citations are not possible due to limitations -- in the syntax. linkLikeOrgRefCite :: PandocMonad m => OrgParser m (F Citation) linkLikeOrgRefCite = try $ do _ <- string "[[" mode <- orgRefCiteMode key <- orgRefCiteKey _ <- string "][" pre <- trimInlinesF . mconcat <$> manyTill inline (try $ string "::") spc <- option False (True <$ spaceChar) suf <- trimInlinesF . mconcat <$> manyTill inline (try $ string "]]") return $ do pre' <- pre suf' <- suf return Citation { citationId = key , citationPrefix = B.toList pre' , citationSuffix = B.toList (if spc then B.space <> suf' else suf') , citationMode = mode , citationNoteNum = 0 , citationHash = 0 } -- | Read a citation key. The characters allowed in citation keys are taken -- from the `org-ref-cite-re` variable in `org-ref.el`. orgRefCiteKey :: PandocMonad m => OrgParser m Text orgRefCiteKey = let citeKeySpecialChars = "-_:\\./," :: String isCiteKeySpecialChar c = c `elem` citeKeySpecialChars isCiteKeyChar c = isAlphaNum c || isCiteKeySpecialChar c endOfCitation = try $ do many $ satisfy isCiteKeySpecialChar satisfy $ not . isCiteKeyChar in try $ satisfy isCiteKeyChar `many1TillChar` lookAhead endOfCitation -- | Supported citation types. Only a small subset of org-ref types is -- supported for now. TODO: rewrite this, use LaTeX reader as template. orgRefCiteMode :: PandocMonad m => OrgParser m CitationMode orgRefCiteMode = choice $ map (\(s, mode) -> mode <$ try (string s <* char ':')) [ ("cite", AuthorInText) , ("citep", NormalCitation) , ("citep*", NormalCitation) , ("citet", AuthorInText) , ("citet*", AuthorInText) , ("citeyear", SuppressAuthor) ] citeList :: PandocMonad m => OrgParser m (F [Citation]) citeList = sequence <$> sepEndBy1 citation (try $ char ';' *> skipSpaces) citation :: PandocMonad m => OrgParser m (F Citation) citation = try $ do pref <- prefix (suppress_author, key) <- citeKey suff <- suffix return $ do x <- pref y <- suff return Citation { citationId = key , citationPrefix = B.toList x , citationSuffix = B.toList y , citationMode = if suppress_author then SuppressAuthor else NormalCitation , citationNoteNum = 0 , citationHash = 0 } where prefix = trimInlinesF . mconcat <$> manyTill inline (char ']' <|> (']' <$ lookAhead citeKey)) suffix = try $ do hasSpace <- option False (notFollowedBy nonspaceChar >> return True) skipSpaces rest <- trimInlinesF . mconcat <$> many (notFollowedBy (oneOf ";]") *> inline) return $ if hasSpace then (B.space <>) <$> rest else rest footnote :: PandocMonad m => OrgParser m (F Inlines) footnote = try $ inlineNote <|> referencedNote inlineNote :: PandocMonad m => OrgParser m (F Inlines) inlineNote = try $ do string "[fn:" ref <- manyChar alphaNum char ':' note <- fmap B.para . trimInlinesF . mconcat <$> many1Till inline (char ']') unless (T.null ref) $ addToNotesTable ("fn:" <> ref, note) return $ B.note <$> note referencedNote :: PandocMonad m => OrgParser m (F Inlines) referencedNote = try $ do ref <- noteMarker return $ do notes <- asksF orgStateNotes' case lookup ref notes of Nothing -> return . B.str $ "[" <> ref <> "]" Just contents -> do st <- askF let contents' = runF contents st{ orgStateNotes' = [] } return $ B.note contents' linkOrImage :: PandocMonad m => OrgParser m (F Inlines) linkOrImage = explicitOrImageLink <|> selflinkOrImage <|> angleLink <|> plainLink "link or image" explicitOrImageLink :: PandocMonad m => OrgParser m (F Inlines) explicitOrImageLink = try $ do char '[' srcF <- applyCustomLinkFormat =<< possiblyEmptyLinkTarget descr <- enclosedRaw (char '[') (char ']') titleF <- parseFromString (mconcat <$> many inline) descr char ']' return $ do src <- srcF title <- titleF case cleanLinkText descr of Just imgSrc | isImageFilename imgSrc -> return . B.link src "" $ B.image imgSrc mempty mempty _ -> linkToInlinesF src title selflinkOrImage :: PandocMonad m => OrgParser m (F Inlines) selflinkOrImage = try $ do target <- char '[' *> linkTarget <* char ']' case cleanLinkText target of Nothing -> case T.uncons target of Just ('#', _) -> returnF $ B.link target "" (B.str target) _ -> return $ internalLink target (B.str target) Just nonDocTgt -> if isImageFilename nonDocTgt then returnF $ B.image nonDocTgt "" "" else returnF $ B.link nonDocTgt "" (B.str target) plainLink :: PandocMonad m => OrgParser m (F Inlines) plainLink = try $ do (orig, src) <- uri returnF $ B.link src "" (B.str orig) angleLink :: PandocMonad m => OrgParser m (F Inlines) angleLink = try $ do char '<' link <- plainLink char '>' return link linkTarget :: PandocMonad m => OrgParser m Text linkTarget = T.pack <$> enclosedByPair1 '[' ']' (noneOf "\n\r[]") possiblyEmptyLinkTarget :: PandocMonad m => OrgParser m Text possiblyEmptyLinkTarget = try linkTarget <|> ("" <$ string "[]") applyCustomLinkFormat :: Text -> OrgParser m (F Text) applyCustomLinkFormat link = do let (linkType, rest) = T.break (== ':') link return $ do formatter <- M.lookup linkType <$> asksF orgStateLinkFormatters return $ maybe link ($ T.drop 1 rest) formatter -- | Take a link and return a function which produces new inlines when given -- description inlines. linkToInlinesF :: Text -> Inlines -> F Inlines linkToInlinesF linkStr = case T.uncons linkStr of Nothing -> pure . B.link mempty "" -- wiki link (empty by convention) Just ('#', _) -> pure . B.link linkStr "" -- document-local fraction _ -> case cleanLinkText linkStr of Just extTgt -> return . B.link extTgt "" Nothing -> internalLink linkStr -- other internal link internalLink :: Text -> Inlines -> F Inlines internalLink link title = do anchorB <- (link `elem`) <$> asksF orgStateAnchorIds if anchorB then return $ B.link ("#" <> link) "" title else return $ B.emph title -- | Parse an anchor like @<>@ and return an empty span with -- @anchor-id@ set as id. Legal anchors in org-mode are defined through -- @org-target-regexp@, which is fairly liberal. Since no link is created if -- @anchor-id@ contains spaces, we are more restrictive in what is accepted as -- an anchor. anchor :: PandocMonad m => OrgParser m (F Inlines) anchor = try $ do anchorId <- parseAnchor recordAnchorId anchorId returnF $ B.spanWith (solidify anchorId, [], []) mempty where parseAnchor = string "<<" *> many1Char (noneOf "\t\n\r<>\"' ") <* string ">>" <* skipSpaces -- | Replace every char but [a-zA-Z0-9_.-:] with a hyphen '-'. This mirrors -- the org function @org-export-solidify-link-text@. solidify :: Text -> Text solidify = T.map replaceSpecialChar where replaceSpecialChar c | isAlphaNum c = c | c `elem` ("_.-:" :: String) = c | otherwise = '-' -- | Parses an inline code block and marks it as an babel block. inlineCodeBlock :: PandocMonad m => OrgParser m (F Inlines) inlineCodeBlock = try $ do string "src_" lang <- many1Char orgArgWordChar opts <- option [] $ enclosedByPair '[' ']' inlineBlockOption inlineCode <- T.pack <$> enclosedByPair1 '{' '}' (noneOf "\n\r") let attrClasses = [translateLang lang] let attrKeyVal = originalLang lang <> opts let codeInlineBlck = B.codeWith ("", attrClasses, attrKeyVal) inlineCode returnF $ if exportsCode opts then codeInlineBlck else mempty where inlineBlockOption :: PandocMonad m => OrgParser m (Text, Text) inlineBlockOption = try $ do argKey <- orgArgKey paramValue <- option "yes" orgInlineParamValue return (argKey, paramValue) orgInlineParamValue :: PandocMonad m => OrgParser m Text orgInlineParamValue = try $ skipSpaces *> notFollowedBy (char ':') *> many1Char (noneOf "\t\n\r ]") <* skipSpaces emphasizedText :: PandocMonad m => OrgParser m (F Inlines) emphasizedText = do state <- getState guard . exportEmphasizedText . orgStateExportSettings $ state try $ choice [ emph , strong , strikeout , underline ] enclosedByPair :: PandocMonad m => Char -- ^ opening char -> Char -- ^ closing char -> OrgParser m a -- ^ parser -> OrgParser m [a] enclosedByPair s e p = char s *> manyTill p (char e) enclosedByPair1 :: PandocMonad m => Char -- ^ opening char -> Char -- ^ closing char -> OrgParser m a -- ^ parser -> OrgParser m [a] enclosedByPair1 s e p = char s *> many1Till p (char e) emph :: PandocMonad m => OrgParser m (F Inlines) emph = fmap B.emph <$> emphasisBetween '/' strong :: PandocMonad m => OrgParser m (F Inlines) strong = fmap B.strong <$> emphasisBetween '*' strikeout :: PandocMonad m => OrgParser m (F Inlines) strikeout = fmap B.strikeout <$> emphasisBetween '+' underline :: PandocMonad m => OrgParser m (F Inlines) underline = fmap underlineSpan <$> emphasisBetween '_' verbatim :: PandocMonad m => OrgParser m (F Inlines) verbatim = return . B.code <$> verbatimBetween '=' code :: PandocMonad m => OrgParser m (F Inlines) code = return . B.code <$> verbatimBetween '~' subscript :: PandocMonad m => OrgParser m (F Inlines) subscript = fmap B.subscript <$> try (char '_' *> subOrSuperExpr) superscript :: PandocMonad m => OrgParser m (F Inlines) superscript = fmap B.superscript <$> try (char '^' *> subOrSuperExpr) math :: PandocMonad m => OrgParser m (F Inlines) math = return . B.math <$> choice [ math1CharBetween '$' , mathTextBetween '$' , rawMathBetween "\\(" "\\)" ] displayMath :: PandocMonad m => OrgParser m (F Inlines) displayMath = return . B.displayMath <$> choice [ rawMathBetween "\\[" "\\]" , rawMathBetween "$$" "$$" ] updatePositions :: PandocMonad m => Char -> OrgParser m Char updatePositions c = do st <- getState let emphasisPreChars = orgStateEmphasisPreChars st when (c `elem` emphasisPreChars) updateLastPreCharPos when (c `elem` emphasisForbiddenBorderChars) updateLastForbiddenCharPos return c symbol :: PandocMonad m => OrgParser m (F Inlines) symbol = return . B.str . T.singleton <$> (oneOf specialChars >>= updatePositions) emphasisBetween :: PandocMonad m => Char -> OrgParser m (F Inlines) emphasisBetween c = try $ do startEmphasisNewlinesCounting emphasisAllowedNewlines res <- enclosedInlines (emphasisStart c) (emphasisEnd c) isTopLevelEmphasis <- null . orgStateEmphasisCharStack <$> getState when isTopLevelEmphasis resetEmphasisNewlines return res verbatimBetween :: PandocMonad m => Char -> OrgParser m Text verbatimBetween c = try $ emphasisStart c *> many1TillNOrLessNewlines 1 verbatimChar (emphasisEnd c) where verbatimChar = noneOf "\n\r" >>= updatePositions -- | Parses a raw string delimited by @c@ using Org's math rules mathTextBetween :: PandocMonad m => Char -> OrgParser m Text mathTextBetween c = try $ do mathStart c body <- many1TillNOrLessNewlines mathAllowedNewlines (noneOf (c:"\n\r")) (lookAhead $ mathEnd c) final <- mathEnd c return $ T.snoc body final -- | Parse a single character between @c@ using math rules math1CharBetween :: PandocMonad m => Char -> OrgParser m Text math1CharBetween c = try $ do char c res <- noneOf $ c:mathForbiddenBorderChars char c eof <|> () <$ lookAhead (oneOf mathPostChars) return $ T.singleton res rawMathBetween :: PandocMonad m => Text -> Text -> OrgParser m Text rawMathBetween s e = try $ textStr s *> manyTillChar anyChar (try $ textStr e) -- | Parses the start (opening character) of emphasis emphasisStart :: PandocMonad m => Char -> OrgParser m Char emphasisStart c = try $ do guard =<< afterEmphasisPreChar guard =<< notAfterString char c lookAhead (noneOf emphasisForbiddenBorderChars) pushToInlineCharStack c -- nested inlines are allowed, so mark this position as one which might be -- followed by another inline. updateLastPreCharPos return c -- | Parses the closing character of emphasis emphasisEnd :: PandocMonad m => Char -> OrgParser m Char emphasisEnd c = try $ do guard =<< notAfterForbiddenBorderChar char c eof <|> () <$ lookAhead acceptablePostChars updateLastStrPos popInlineCharStack return c where acceptablePostChars = do emphasisPostChars <- orgStateEmphasisPostChars <$> getState surroundingEmphasisChar >>= \x -> oneOf (x ++ emphasisPostChars) mathStart :: PandocMonad m => Char -> OrgParser m Char mathStart c = try $ char c <* notFollowedBy' (oneOf (c:mathForbiddenBorderChars)) mathEnd :: PandocMonad m => Char -> OrgParser m Char mathEnd c = try $ do res <- noneOf (c:mathForbiddenBorderChars) char c eof <|> () <$ lookAhead (oneOf mathPostChars) return res enclosedInlines :: (PandocMonad m, Show b) => OrgParser m a -> OrgParser m b -> OrgParser m (F Inlines) enclosedInlines start end = try $ trimInlinesF . mconcat <$> enclosed start end inline enclosedRaw :: (PandocMonad m, Show b) => OrgParser m a -> OrgParser m b -> OrgParser m Text enclosedRaw start end = try $ start *> (onSingleLine <|> spanningTwoLines) where onSingleLine = try $ many1TillChar (noneOf "\n\r") end spanningTwoLines = try $ anyLine >>= \f -> mappend (f <> " ") <$> onSingleLine -- | Like many1Till, but parses at most @n+1@ lines. @p@ must not consume -- newlines. many1TillNOrLessNewlines :: PandocMonad m => Int -> OrgParser m Char -> OrgParser m a -> OrgParser m Text many1TillNOrLessNewlines n p end = try $ nMoreLines (Just n) mempty >>= oneOrMore where nMoreLines Nothing cs = return cs nMoreLines (Just 0) cs = try $ (cs ++) <$> finalLine nMoreLines k cs = try $ (final k cs <|> rest k cs) >>= uncurry nMoreLines final _ cs = (\x -> (Nothing, cs ++ x)) <$> try finalLine rest m cs = (\x -> (minus1 <$> m, cs ++ x ++ "\n")) <$> try (manyTill p newline) finalLine = try $ manyTill p end minus1 k = k - 1 oneOrMore cs = T.pack cs <$ guard (not $ null cs) -- Org allows customization of the way it reads emphasis. We use the defaults -- here (see, e.g., the Emacs Lisp variable `org-emphasis-regexp-components` -- for details). -- | Chars not allowed at the (inner) border of emphasis emphasisForbiddenBorderChars :: [Char] emphasisForbiddenBorderChars = "\t\n\r " -- | The maximum number of newlines within emphasisAllowedNewlines :: Int emphasisAllowedNewlines = 1 -- LaTeX-style math: see `org-latex-regexps` for details -- | Chars allowed after an inline ($...$) math statement mathPostChars :: [Char] mathPostChars = "\t\n \"'),-.:;?" -- | Chars not allowed at the (inner) border of math mathForbiddenBorderChars :: [Char] mathForbiddenBorderChars = "\t\n\r ,;.$" -- | Maximum number of newlines in an inline math statement mathAllowedNewlines :: Int mathAllowedNewlines = 2 -- | Whether we are right behind a char allowed before emphasis afterEmphasisPreChar :: PandocMonad m => OrgParser m Bool afterEmphasisPreChar = do pos <- getPosition lastPrePos <- orgStateLastPreCharPos <$> getState return $ maybe True (== pos) lastPrePos -- | Whether the parser is right after a forbidden border char notAfterForbiddenBorderChar :: PandocMonad m => OrgParser m Bool notAfterForbiddenBorderChar = do pos <- getPosition lastFBCPos <- orgStateLastForbiddenCharPos <$> getState return $ lastFBCPos /= Just pos -- | Read a sub- or superscript expression subOrSuperExpr :: PandocMonad m => OrgParser m (F Inlines) subOrSuperExpr = try $ simpleSubOrSuperText <|> (choice [ charsInBalanced '{' '}' (noneOf "\n\r") , enclosing ('(', ')') <$> charsInBalanced '(' ')' (noneOf "\n\r") ] >>= parseFromString (mconcat <$> many inline)) where enclosing (left, right) s = T.cons left $ T.snoc s right simpleSubOrSuperText :: PandocMonad m => OrgParser m (F Inlines) simpleSubOrSuperText = try $ do state <- getState guard . exportSubSuperscripts . orgStateExportSettings $ state return . B.str <$> choice [ textStr "*" , mappend <$> option "" (T.singleton <$> oneOf "+-") <*> many1Char alphaNum ] inlineLaTeX :: PandocMonad m => OrgParser m (F Inlines) inlineLaTeX = try $ do cmd <- inlineLaTeXCommand ils <- (lift . lift) $ parseAsInlineLaTeX cmd maybe mzero returnF $ parseAsMathMLSym cmd `mplus` parseAsMath cmd `mplus` ils where parseAsMath :: Text -> Maybe Inlines parseAsMath cs = B.fromList <$> texMathToPandoc cs parseAsInlineLaTeX :: PandocMonad m => Text -> m (Maybe Inlines) parseAsInlineLaTeX cs = maybeRight <$> runParserT inlineCommand state "" cs parseAsMathMLSym :: Text -> Maybe Inlines parseAsMathMLSym cs = B.str <$> MathMLEntityMap.getUnicode (clean cs) -- drop initial backslash and any trailing "{}" where clean = T.dropWhileEnd (`elem` ("{}" :: String)) . T.drop 1 state :: ParserState state = def{ stateOptions = def{ readerExtensions = enableExtension Ext_raw_tex (readerExtensions def) } } texMathToPandoc :: Text -> Maybe [Inline] texMathToPandoc cs = maybeRight (readTeX cs) >>= writePandoc DisplayInline maybeRight :: Either a b -> Maybe b maybeRight = either (const Nothing) Just inlineLaTeXCommand :: PandocMonad m => OrgParser m Text inlineLaTeXCommand = try $ do rest <- getInput st <- getState parsed <- (lift . lift) $ runParserT rawLaTeXInline st "source" rest case parsed of Right cs -> do -- drop any trailing whitespace, those are not be part of the command as -- far as org mode is concerned. let cmdNoSpc = T.dropWhileEnd isSpace cs let len = T.length cmdNoSpc count len anyChar return cmdNoSpc _ -> mzero exportSnippet :: PandocMonad m => OrgParser m (F Inlines) exportSnippet = try $ do string "@@" format <- many1TillChar (alphaNum <|> char '-') (char ':') snippet <- manyTillChar anyChar (try $ string "@@") returnF $ B.rawInline format snippet macro :: PandocMonad m => OrgParser m (F Inlines) macro = try $ do recursionDepth <- orgStateMacroDepth <$> getState guard $ recursionDepth < 15 string "{{{" name <- manyChar alphaNum args <- ([] <$ string "}}}") <|> char '(' *> argument `sepBy` char ',' <* eoa expander <- lookupMacro name <$> getState case expander of Nothing -> mzero Just fn -> do updateState $ \s -> s { orgStateMacroDepth = recursionDepth + 1 } res <- parseFromString (mconcat <$> many inline) $ fn args updateState $ \s -> s { orgStateMacroDepth = recursionDepth } return res where argument = manyChar $ notFollowedBy eoa *> noneOf "," eoa = string ")}}}" smart :: PandocMonad m => OrgParser m (F Inlines) smart = choice [doubleQuoted, singleQuoted, orgApostrophe, orgDash, orgEllipses] where orgDash = do guardOrSmartEnabled =<< getExportSetting exportSpecialStrings pure <$> dash <* updatePositions '-' orgEllipses = do guardOrSmartEnabled =<< getExportSetting exportSpecialStrings pure <$> ellipses <* updatePositions '.' orgApostrophe = do guardEnabled Ext_smart (char '\'' <|> char '\8217') <* updateLastPreCharPos <* updateLastForbiddenCharPos returnF (B.str "\x2019") guardOrSmartEnabled :: PandocMonad m => Bool -> OrgParser m () guardOrSmartEnabled b = do smartExtension <- extensionEnabled Ext_smart <$> getOption readerExtensions guard (b || smartExtension) singleQuoted :: PandocMonad m => OrgParser m (F Inlines) singleQuoted = try $ do guardOrSmartEnabled =<< getExportSetting exportSmartQuotes singleQuoteStart updatePositions '\'' withQuoteContext InSingleQuote $ fmap B.singleQuoted . trimInlinesF . mconcat <$> many1Till inline (singleQuoteEnd <* updatePositions '\'') -- doubleQuoted will handle regular double-quoted sections, as well -- as dialogues with an open double-quote without a close double-quote -- in the same paragraph. doubleQuoted :: PandocMonad m => OrgParser m (F Inlines) doubleQuoted = try $ do guardOrSmartEnabled =<< getExportSetting exportSmartQuotes doubleQuoteStart updatePositions '"' contents <- mconcat <$> many (try $ notFollowedBy doubleQuoteEnd >> inline) let doubleQuotedContent = withQuoteContext InDoubleQuote $ do doubleQuoteEnd updateLastForbiddenCharPos return . fmap B.doubleQuoted . trimInlinesF $ contents let leftQuoteAndContent = return $ pure (B.str "\8220") <> contents doubleQuotedContent <|> leftQuoteAndContent ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/Meta.hs��������������������������������������������������0000664�0000000�0000000�00000024523�13636304630�0021416�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org.Meta Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Parsers for Org-mode meta declarations. -} module Text.Pandoc.Readers.Org.Meta ( metaExport , metaKey , metaLine ) where import Text.Pandoc.Readers.Org.BlockStarts import Text.Pandoc.Readers.Org.ExportSettings (exportSettings) import Text.Pandoc.Readers.Org.Inlines import Text.Pandoc.Readers.Org.ParserState import Text.Pandoc.Readers.Org.Parsing import Text.Pandoc.Builder (Blocks, Inlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Shared (safeRead) import Control.Monad (mzero, void, when) import Data.List (intersperse) import Data.Maybe (fromMaybe) import qualified Data.Map as M import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import Network.HTTP (urlEncode) -- | Returns the current meta, respecting export options. metaExport :: Monad m => OrgParser m (F Meta) metaExport = do st <- getState let settings = orgStateExportSettings st return $ (if exportWithAuthor settings then id else removeMeta "author") . (if exportWithCreator settings then id else removeMeta "creator") . (if exportWithEmail settings then id else removeMeta "email") <$> orgStateMeta st removeMeta :: Text -> Meta -> Meta removeMeta key meta' = let metaMap = unMeta meta' in Meta $ M.delete key metaMap -- | Parse and handle a single line containing meta information -- The order, in which blocks are tried, makes sure that we're not looking at -- the beginning of a block, so we don't need to check for it metaLine :: PandocMonad m => OrgParser m Blocks metaLine = mempty <$ metaLineStart <* (optionLine <|> declarationLine) declarationLine :: PandocMonad m => OrgParser m () declarationLine = try $ do key <- T.toLower <$> metaKey (key', value) <- metaValue key let addMetaValue st = st { orgStateMeta = B.setMeta key' <$> value <*> orgStateMeta st } when (key' /= "results") $ updateState addMetaValue metaKey :: Monad m => OrgParser m Text metaKey = T.toLower <$> many1Char (noneOf ": \n\r") <* char ':' <* skipSpaces metaValue :: PandocMonad m => Text -> OrgParser m (Text, F MetaValue) metaValue key = let inclKey = "header-includes" in case key of "author" -> (key,) <$> metaInlinesCommaSeparated "keywords" -> (key,) <$> metaInlinesCommaSeparated "title" -> (key,) <$> metaInlines "subtitle" -> (key,) <$> metaInlines "date" -> (key,) <$> metaInlines "nocite" -> (key,) <$> accumulatingList key metaInlines "header-includes" -> (key,) <$> accumulatingList key metaInlines "latex_header" -> (inclKey,) <$> accumulatingList inclKey (metaExportSnippet "latex") "latex_class" -> ("documentclass",) <$> metaString -- Org-mode expects class options to contain the surrounding brackets, -- pandoc does not. "latex_class_options" -> ("classoption",) <$> metaModifiedString (T.filter (`notElem` ("[]" :: String))) "html_head" -> (inclKey,) <$> accumulatingList inclKey (metaExportSnippet "html") _ -> (key,) <$> metaString metaInlines :: PandocMonad m => OrgParser m (F MetaValue) metaInlines = fmap (MetaInlines . B.toList) <$> inlinesTillNewline metaInlinesCommaSeparated :: PandocMonad m => OrgParser m (F MetaValue) metaInlinesCommaSeparated = do itemStrs <- many1Char (noneOf ",\n") `sepBy1` char ',' newline items <- mapM (parseFromString inlinesTillNewline . (<> "\n")) itemStrs let toMetaInlines = MetaInlines . B.toList return $ MetaList . map toMetaInlines <$> sequence items metaString :: Monad m => OrgParser m (F MetaValue) metaString = metaModifiedString id metaModifiedString :: Monad m => (Text -> Text) -> OrgParser m (F MetaValue) metaModifiedString f = return . MetaString . f <$> anyLine -- | Read an format specific meta definition metaExportSnippet :: Monad m => Text -> OrgParser m (F MetaValue) metaExportSnippet format = return . MetaInlines . B.toList . B.rawInline format <$> anyLine -- | Accumulate the result of the @parser@ in a list under @key@. accumulatingList :: Monad m => Text -> OrgParser m (F MetaValue) -> OrgParser m (F MetaValue) accumulatingList key p = do value <- p meta' <- orgStateMeta <$> getState return $ (\m v -> MetaList (curList m ++ [v])) <$> meta' <*> value where curList m = case lookupMeta key m of Just (MetaList ms) -> ms Just x -> [x] _ -> [] -- -- export options -- optionLine :: PandocMonad m => OrgParser m () optionLine = try $ do key <- metaKey case key of "link" -> parseLinkFormat >>= uncurry addLinkFormat "options" -> exportSettings "todo" -> todoSequence >>= updateState . registerTodoSequence "seq_todo" -> todoSequence >>= updateState . registerTodoSequence "typ_todo" -> todoSequence >>= updateState . registerTodoSequence "macro" -> macroDefinition >>= updateState . registerMacro "exclude_tags" -> tagList >>= updateState . setExcludedTags "select_tags" -> tagList >>= updateState . setSelectedTags "pandoc-emphasis-pre" -> emphChars >>= updateState . setEmphasisPreChar "pandoc-emphasis-post" -> emphChars >>= updateState . setEmphasisPostChar _ -> mzero addLinkFormat :: Monad m => Text -> (Text -> Text) -> OrgParser m () addLinkFormat key formatter = updateState $ \s -> let fs = orgStateLinkFormatters s in s{ orgStateLinkFormatters = M.insert key formatter fs } parseLinkFormat :: Monad m => OrgParser m (Text, Text -> Text) parseLinkFormat = try $ do linkType <- T.cons <$> letter <*> manyChar (alphaNum <|> oneOf "-_") <* skipSpaces linkSubst <- parseFormat return (linkType, linkSubst) -- | An ad-hoc, single-argument-only implementation of a printf-style format -- parser. parseFormat :: Monad m => OrgParser m (Text -> Text) parseFormat = try $ replacePlain <|> replaceUrl <|> justAppend where -- inefficient, but who cares replacePlain = try $ (\x -> T.concat . flip intersperse x) <$> sequence [tillSpecifier 's', rest] replaceUrl = try $ (\x -> T.concat . flip intersperse x . T.pack . urlEncode . T.unpack) <$> sequence [tillSpecifier 'h', rest] justAppend = try $ (<>) <$> rest rest = manyTillChar anyChar (eof <|> () <$ oneOf "\n\r") tillSpecifier c = manyTillChar (noneOf "\n\r") (try $ string ('%':c:"")) tagList :: Monad m => OrgParser m [Tag] tagList = do skipSpaces map Tag <$> many (orgTagWord <* skipSpaces) <* newline setExcludedTags :: [Tag] -> OrgParserState -> OrgParserState setExcludedTags tags st = let finalSet = if orgStateExcludeTagsChanged st then foldr Set.insert (orgStateExcludeTags st) tags else Set.fromList tags in st { orgStateExcludeTags = finalSet, orgStateExcludeTagsChanged = True } setSelectedTags :: [Tag] -> OrgParserState -> OrgParserState setSelectedTags tags st = let finalSet = if orgStateSelectTagsChanged st then foldr Set.insert (orgStateSelectTags st) tags else Set.fromList tags in st { orgStateSelectTags = finalSet, orgStateSelectTagsChanged = True } setEmphasisPreChar :: Maybe [Char] -> OrgParserState -> OrgParserState setEmphasisPreChar csMb st = let preChars = fromMaybe (orgStateEmphasisPostChars defaultOrgParserState) csMb in st { orgStateEmphasisPreChars = preChars } setEmphasisPostChar :: Maybe [Char] -> OrgParserState -> OrgParserState setEmphasisPostChar csMb st = let postChars = fromMaybe (orgStateEmphasisPostChars defaultOrgParserState) csMb in st { orgStateEmphasisPostChars = postChars } emphChars :: Monad m => OrgParser m (Maybe [Char]) emphChars = do skipSpaces safeRead <$> anyLine inlinesTillNewline :: PandocMonad m => OrgParser m (F Inlines) inlinesTillNewline = do updateLastPreCharPos trimInlinesF . mconcat <$> manyTill inline newline -- -- ToDo Sequences and Keywords -- todoSequence :: Monad m => OrgParser m TodoSequence todoSequence = try $ do todoKws <- todoKeywords doneKws <- optionMaybe $ todoDoneSep *> todoKeywords newline -- There must be at least one DONE keyword. The last TODO keyword is taken if -- necessary. case doneKws of Just done -> return $ keywordsToSequence todoKws done Nothing -> case reverse todoKws of [] -> mzero -- no keywords present (x:xs) -> return $ keywordsToSequence (reverse xs) [x] where todoKeywords :: Monad m => OrgParser m [Text] todoKeywords = try $ let keyword = many1Char nonspaceChar <* skipSpaces endOfKeywords = todoDoneSep <|> void newline in manyTill keyword (lookAhead endOfKeywords) todoDoneSep :: Monad m => OrgParser m () todoDoneSep = void . try $ skipSpaces *> char '|' <* skipSpaces1 keywordsToSequence :: [Text] -> [Text] -> TodoSequence keywordsToSequence todo done = let todoMarkers = map (TodoMarker Todo) todo doneMarkers = map (TodoMarker Done) done in todoMarkers ++ doneMarkers macroDefinition :: Monad m => OrgParser m (Text, [Text] -> Text) macroDefinition = try $ do macroName <- many1Char nonspaceChar <* skipSpaces firstPart <- expansionPart (elemOrder, parts) <- unzip <$> many ((,) <$> placeholder <*> expansionPart) let expander = mconcat . alternate (firstPart:parts) . reorder elemOrder return (macroName, expander) where placeholder :: Monad m => OrgParser m Int placeholder = try . fmap (fromMaybe 1 . safeRead) $ char '$' *> many1Char digit expansionPart :: Monad m => OrgParser m Text expansionPart = try $ manyChar (notFollowedBy placeholder *> noneOf "\n\r") alternate :: [a] -> [a] -> [a] alternate [] ys = ys alternate xs [] = xs alternate (x:xs) (y:ys) = x : y : alternate xs ys reorder :: [Int] -> [Text] -> [Text] reorder perm xs = let element n = take 1 $ drop (n - 1) xs in concatMap element perm �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/ParserState.hs�������������������������������������������0000664�0000000�0000000�00000023754�13636304630�0022772�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org.ParserState Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Define the Org-mode parser state. -} module Text.Pandoc.Readers.Org.ParserState ( OrgParserState (..) , defaultOrgParserState , OrgParserLocal (..) , OrgNoteRecord , Tag(..) , HasReaderOptions (..) , HasQuoteContext (..) , HasMacros (..) , TodoMarker (..) , TodoSequence , TodoState (..) , activeTodoMarkers , registerTodoSequence , MacroExpander , lookupMacro , registerMacro , F , askF , asksF , trimInlinesF , runF , returnF , ExportSettings (..) , ArchivedTreesOption (..) , optionsToParserState ) where import Control.Monad.Reader (ReaderT, asks, local) import Data.Default (Default (..)) import qualified Data.Map as M import qualified Data.Set as Set import Data.Text (Text) import Text.Pandoc.Builder (Blocks) import Text.Pandoc.Definition (Meta (..), nullMeta) import Text.Pandoc.Logging import Text.Pandoc.Options (ReaderOptions (..)) import Text.Pandoc.Parsing (Future, HasIdentifierList (..), HasIncludeFiles (..), HasLastStrPosition (..), HasLogMessages (..), HasMacros (..), HasQuoteContext (..), HasReaderOptions (..), ParserContext (..), QuoteContext (..), SourcePos, askF, asksF, returnF, runF, trimInlinesF) import Text.Pandoc.Readers.LaTeX.Types (Macro) -- | This is used to delay evaluation until all relevant information has been -- parsed and made available in the parser state. type F = Future OrgParserState -- | An inline note / footnote containing the note key and its (inline) value. type OrgNoteRecord = (Text, F Blocks) -- | Table of footnotes type OrgNoteTable = [OrgNoteRecord] -- | Map of functions for link transformations. The map key is refers to the -- link-type, the corresponding function transforms the given link string. type OrgLinkFormatters = M.Map Text (Text -> Text) -- | Macro expander function type MacroExpander = [Text] -> Text -- | Tag newtype Tag = Tag { fromTag :: Text } deriving (Show, Eq, Ord) -- | The states in which a todo item can be data TodoState = Todo | Done deriving (Eq, Ord, Show) -- | A ToDo keyword like @TODO@ or @DONE@. data TodoMarker = TodoMarker { todoMarkerState :: TodoState , todoMarkerName :: Text } deriving (Show, Eq) -- | Collection of todo markers in the order in which items should progress type TodoSequence = [TodoMarker] -- | Org-mode parser state data OrgParserState = OrgParserState { orgStateAnchorIds :: [Text] , orgStateEmphasisCharStack :: [Char] , orgStateEmphasisPreChars :: [Char] -- ^ Chars allowed to occur before -- emphasis; spaces and newlines are -- always ok in addition to what is -- specified here. , orgStateEmphasisPostChars :: [Char] -- ^ Chars allowed at after emphasis , orgStateEmphasisNewlines :: Maybe Int , orgStateExcludeTags :: Set.Set Tag , orgStateExcludeTagsChanged :: Bool , orgStateExportSettings :: ExportSettings , orgStateIdentifiers :: Set.Set Text , orgStateIncludeFiles :: [Text] , orgStateLastForbiddenCharPos :: Maybe SourcePos , orgStateLastPreCharPos :: Maybe SourcePos , orgStateLastStrPos :: Maybe SourcePos , orgStateLinkFormatters :: OrgLinkFormatters , orgStateMacros :: M.Map Text MacroExpander , orgStateMacroDepth :: Int , orgStateMeta :: F Meta , orgStateNotes' :: OrgNoteTable , orgStateOptions :: ReaderOptions , orgStateParserContext :: ParserContext , orgStateSelectTags :: Set.Set Tag , orgStateSelectTagsChanged :: Bool , orgStateTodoSequences :: [TodoSequence] , orgStateTrimLeadBlkIndent :: Bool , orgLogMessages :: [LogMessage] , orgMacros :: M.Map Text Macro } data OrgParserLocal = OrgParserLocal { orgLocalQuoteContext :: QuoteContext } instance Default OrgParserLocal where def = OrgParserLocal NoQuote instance HasReaderOptions OrgParserState where extractReaderOptions = orgStateOptions instance HasLastStrPosition OrgParserState where getLastStrPos = orgStateLastStrPos setLastStrPos pos st = st{ orgStateLastStrPos = pos } instance Monad m => HasQuoteContext st (ReaderT OrgParserLocal m) where getQuoteContext = asks orgLocalQuoteContext withQuoteContext q = local (\s -> s{orgLocalQuoteContext = q}) instance HasIdentifierList OrgParserState where extractIdentifierList = orgStateIdentifiers updateIdentifierList f s = s{ orgStateIdentifiers = f (orgStateIdentifiers s) } instance HasLogMessages OrgParserState where addLogMessage msg st = st{ orgLogMessages = msg : orgLogMessages st } getLogMessages st = reverse $ orgLogMessages st instance HasMacros OrgParserState where extractMacros st = orgMacros st updateMacros f st = st{ orgMacros = f (orgMacros st) } instance HasIncludeFiles OrgParserState where getIncludeFiles = orgStateIncludeFiles addIncludeFile f st = st { orgStateIncludeFiles = f : orgStateIncludeFiles st } dropLatestIncludeFile st = st { orgStateIncludeFiles = drop 1 $ orgStateIncludeFiles st } instance Default OrgParserState where def = defaultOrgParserState defaultOrgParserState :: OrgParserState defaultOrgParserState = OrgParserState { orgStateAnchorIds = [] , orgStateEmphasisPreChars = "-\t ('\"{" , orgStateEmphasisPostChars = "-\t\n .,:!?;'\")}[" , orgStateEmphasisCharStack = [] , orgStateEmphasisNewlines = Nothing , orgStateExportSettings = def , orgStateExcludeTags = Set.singleton $ Tag "noexport" , orgStateExcludeTagsChanged = False , orgStateIdentifiers = Set.empty , orgStateIncludeFiles = [] , orgStateLastForbiddenCharPos = Nothing , orgStateLastPreCharPos = Nothing , orgStateLastStrPos = Nothing , orgStateLinkFormatters = M.empty , orgStateMacros = M.empty , orgStateMacroDepth = 0 , orgStateMeta = return nullMeta , orgStateNotes' = [] , orgStateOptions = def , orgStateParserContext = NullState , orgStateSelectTags = Set.singleton $ Tag "export" , orgStateSelectTagsChanged = False , orgStateTrimLeadBlkIndent = True , orgStateTodoSequences = [] , orgLogMessages = [] , orgMacros = M.empty } optionsToParserState :: ReaderOptions -> OrgParserState optionsToParserState opts = def { orgStateOptions = opts } registerTodoSequence :: TodoSequence -> OrgParserState -> OrgParserState registerTodoSequence todoSeq st = let curSeqs = orgStateTodoSequences st in st{ orgStateTodoSequences = todoSeq : curSeqs } -- | Get the current todo/done sequences. If no custom todo sequences have been -- defined, return a list containing just the default todo/done sequence. activeTodoSequences :: OrgParserState -> [TodoSequence] activeTodoSequences st = let curSeqs = orgStateTodoSequences st in if null curSeqs then [[ TodoMarker Todo "TODO" , TodoMarker Done "DONE" ]] else curSeqs activeTodoMarkers :: OrgParserState -> TodoSequence activeTodoMarkers = concat . activeTodoSequences lookupMacro :: Text -> OrgParserState -> Maybe MacroExpander lookupMacro macroName = M.lookup macroName . orgStateMacros registerMacro :: (Text, MacroExpander) -> OrgParserState -> OrgParserState registerMacro (name, expander) st = let curMacros = orgStateMacros st in st{ orgStateMacros = M.insert name expander curMacros } -- -- Export Settings -- -- | Options for the way archived trees are handled. data ArchivedTreesOption = ArchivedTreesExport -- ^ Export the complete tree | ArchivedTreesNoExport -- ^ Exclude archived trees from exporting | ArchivedTreesHeadlineOnly -- ^ Export only the headline, discard the contents -- | Export settings -- These settings can be changed via OPTIONS statements. data ExportSettings = ExportSettings { exportArchivedTrees :: ArchivedTreesOption -- ^ How to treat archived trees , exportDrawers :: Either [Text] [Text] -- ^ Specify drawer names which should be exported. @Left@ names are -- explicitly excluded from the resulting output while @Right@ means that -- only the listed drawer names should be included. , exportEmphasizedText :: Bool -- ^ Parse emphasized text , exportHeadlineLevels :: Int -- ^ Maximum depth of headlines, deeper headlines are convert to list , exportPreserveBreaks :: Bool -- ^ Whether to preserve linebreaks , exportSmartQuotes :: Bool -- ^ Parse quotes smartly , exportSpecialStrings :: Bool -- ^ Parse ellipses and dashes smartly , exportSubSuperscripts :: Bool -- ^ TeX-like syntax for sub- and superscripts , exportWithAuthor :: Bool -- ^ Include author in final meta-data , exportWithCreator :: Bool -- ^ Include creator in final meta-data , exportWithEmail :: Bool -- ^ Include email in final meta-data , exportWithPlanning :: Bool -- ^ Keep planning info after headlines , exportWithTags :: Bool -- ^ Keep tags as part of headlines , exportWithTodoKeywords :: Bool -- ^ Keep TODO keywords in headers } instance Default ExportSettings where def = defaultExportSettings defaultExportSettings :: ExportSettings defaultExportSettings = ExportSettings { exportArchivedTrees = ArchivedTreesHeadlineOnly , exportDrawers = Left ["LOGBOOK"] , exportEmphasizedText = True , exportHeadlineLevels = 3 , exportPreserveBreaks = False , exportSmartQuotes = False , exportSpecialStrings = True , exportSubSuperscripts = True , exportWithAuthor = True , exportWithCreator = True , exportWithEmail = True , exportWithPlanning = False , exportWithTags = True , exportWithTodoKeywords = True } ��������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/Parsing.hs�����������������������������������������������0000664�0000000�0000000�00000012514�13636304630�0022130�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Text.Pandoc.Readers.Org.Parsing Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Org-mode parsing utilities. Most functions are simply re-exports from @Text.Pandoc.Parsing@, some functions are adapted to Org-mode specific functionality. -} module Text.Pandoc.Readers.Org.Parsing ( OrgParser , anyLine , anyLineNewline , indentWith , blanklines , newline , parseFromString , skipSpaces1 , inList , withContext , getExportSetting , updateLastForbiddenCharPos , updateLastPreCharPos , orgArgKey , orgArgWord , orgArgWordChar , orgTagWord , orgTagWordChar -- * Re-exports from Text.Pandoc.Parser , ParserContext (..) , textStr , countChar , manyChar , many1Char , manyTillChar , many1Till , many1TillChar , notFollowedBy' , spaceChar , nonspaceChar , skipSpaces , blankline , enclosed , stringAnyCase , charsInBalanced , uri , withRaw , readWithM , guardEnabled , updateLastStrPos , notAfterString , ParserState (..) , registerHeader , QuoteContext (..) , singleQuoteStart , singleQuoteEnd , doubleQuoteStart , doubleQuoteEnd , dash , ellipses , citeKey , gridTableWith , insertIncludedFileF -- * Re-exports from Text.Pandoc.Parsec , runParser , runParserT , getInput , char , letter , digit , alphaNum , skipMany1 , spaces , anyChar , satisfy , string , count , eof , noneOf , oneOf , lookAhead , notFollowedBy , many , many1 , manyTill , (<|>) , () , choice , try , sepBy , sepBy1 , sepEndBy1 , endBy1 , option , optional , optionMaybe , getState , updateState , SourcePos , getPosition ) where import Data.Text (Text) import Text.Pandoc.Readers.Org.ParserState import Text.Pandoc.Parsing hiding (F, anyLine, blanklines, newline, parseFromString) import qualified Text.Pandoc.Parsing as P import Control.Monad (guard) import Control.Monad.Reader (ReaderT) -- | The parser used to read org files. type OrgParser m = ParserT Text OrgParserState (ReaderT OrgParserLocal m) -- -- Adaptions and specializations of parsing utilities -- -- | Parse any line of text anyLine :: Monad m => OrgParser m Text anyLine = P.anyLine <* updateLastPreCharPos <* updateLastForbiddenCharPos -- | Like @'Text.Pandoc.Parsing'@, but resets the position of the last character -- allowed before emphasised text. parseFromString :: Monad m => OrgParser m a -> Text -> OrgParser m a parseFromString parser str' = do updateState $ \s -> s{ orgStateLastPreCharPos = Nothing } result <- P.parseFromString parser str' updateState $ \s -> s { orgStateLastPreCharPos = Nothing } return result -- | Skip one or more tab or space characters. skipSpaces1 :: Monad m => OrgParser m () skipSpaces1 = skipMany1 spaceChar -- | Like @Text.Parsec.Char.newline@, but causes additional state changes. newline :: Monad m => OrgParser m Char newline = P.newline <* updateLastPreCharPos <* updateLastForbiddenCharPos -- | Like @Text.Parsec.Char.blanklines@, but causes additional state changes. blanklines :: Monad m => OrgParser m Text blanklines = P.blanklines <* updateLastPreCharPos <* updateLastForbiddenCharPos -- | Succeeds when we're in list context. inList :: Monad m => OrgParser m () inList = do ctx <- orgStateParserContext <$> getState guard (ctx == ListItemState) -- | Parse in different context withContext :: Monad m => ParserContext -- ^ New parser context -> OrgParser m a -- ^ Parser to run in that context -> OrgParser m a withContext context parser = do oldContext <- orgStateParserContext <$> getState updateState $ \s -> s{ orgStateParserContext = context } result <- parser updateState $ \s -> s{ orgStateParserContext = oldContext } return result -- -- Parser state functions -- -- | Get an export setting. getExportSetting :: Monad m => (ExportSettings -> a) -> OrgParser m a getExportSetting s = s . orgStateExportSettings <$> getState -- | Set the current position as the last position at which a forbidden char -- was found (i.e. a character which is not allowed at the inner border of -- markup). updateLastForbiddenCharPos :: Monad m => OrgParser m () updateLastForbiddenCharPos = getPosition >>= \p -> updateState $ \s -> s{ orgStateLastForbiddenCharPos = Just p} -- | Set the current parser position as the position at which a character was -- seen which allows inline markup to follow. updateLastPreCharPos :: Monad m => OrgParser m () updateLastPreCharPos = getPosition >>= \p -> updateState $ \s -> s{ orgStateLastPreCharPos = Just p} -- -- Org key-value parsing -- -- | Read the key of a plist style key-value list. orgArgKey :: Monad m => OrgParser m Text orgArgKey = try $ skipSpaces *> char ':' *> many1Char orgArgWordChar -- | Read the value of a plist style key-value list. orgArgWord :: Monad m => OrgParser m Text orgArgWord = many1Char orgArgWordChar -- | Chars treated as part of a word in plists. orgArgWordChar :: Monad m => OrgParser m Char orgArgWordChar = alphaNum <|> oneOf "-_" orgTagWord :: Monad m => OrgParser m Text orgTagWord = many1Char orgTagWordChar orgTagWordChar :: Monad m => OrgParser m Char orgTagWordChar = alphaNum <|> oneOf "@%#_" ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Org/Shared.hs������������������������������������������������0000664�0000000�0000000�00000005542�13636304630�0021736�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Org.Shared Copyright : Copyright (C) 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Utility functions used in other Pandoc Org modules. -} module Text.Pandoc.Readers.Org.Shared ( cleanLinkText , isImageFilename , originalLang , translateLang , exportsCode ) where import Data.Char (isAlphaNum) import Data.Text (Text) import qualified Data.Text as T import System.FilePath (isValid, takeExtension) import Text.Pandoc.Shared (elemText) -- | Check whether the given string looks like the path to of URL of an image. isImageFilename :: Text -> Bool isImageFilename fp = hasImageExtension && (isValid (T.unpack fp) || isKnownProtocolUri) where hasImageExtension = takeExtension (T.unpack fp) `elem` imageExtensions isKnownProtocolUri = any (\x -> (x <> "://") `T.isPrefixOf` fp) protocols imageExtensions = [ ".jpeg", ".jpg", ".png", ".gif", ".svg" ] protocols = [ "file", "http", "https" ] -- | Cleanup and canonicalize a string describing a link. Return @Nothing@ if -- the string does not appear to be a link. cleanLinkText :: Text -> Maybe Text cleanLinkText s | Just _ <- T.stripPrefix "/" s = Just $ "file://" <> s -- absolute path | Just _ <- T.stripPrefix "./" s = Just s -- relative path | Just _ <- T.stripPrefix "../" s = Just s -- relative path -- Relative path or URL (file schema) | Just s' <- T.stripPrefix "file:" s = Just $ if "//" `T.isPrefixOf` s' then s else s' | otherwise = if isUrl s then Just s else Nothing where isUrl :: Text -> Bool isUrl cs = let (scheme, path) = T.break (== ':') cs in T.all (\c -> isAlphaNum c || c `elemText` ".-") scheme && not (T.null path) -- | Creates an key-value pair marking the original language name specified for -- a piece of source code. -- | Creates an key-value attributes marking the original language name -- specified for a piece of source code. originalLang :: Text -> [(Text, Text)] originalLang lang = let transLang = translateLang lang in if transLang == lang then [] else [("org-language", lang)] -- | Translate from Org-mode's programming language identifiers to those used -- by Pandoc. This is useful to allow for proper syntax highlighting in -- Pandoc output. translateLang :: Text -> Text translateLang cs = case cs of "C" -> "c" "C++" -> "cpp" "emacs-lisp" -> "commonlisp" -- emacs lisp is not supported "js" -> "javascript" "lisp" -> "commonlisp" "R" -> "r" "sh" -> "bash" "sqlite" -> "sql" _ -> cs exportsCode :: [(Text, Text)] -> Bool exportsCode = maybe True (`elem` ["code", "both"]) . lookup "exports" ��������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/RST.hs�������������������������������������������������������0000664�0000000�0000000�00000174157�13636304630�0020462�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Readers.RST Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion from reStructuredText to 'Pandoc' document. -} module Text.Pandoc.Readers.RST ( readRST ) where import Control.Arrow (second) import Control.Monad (forM_, guard, liftM, mplus, mzero, when) import Control.Monad.Except (throwError) import Control.Monad.Identity (Identity (..)) import Data.Char (isHexDigit, isSpace, toUpper, isAlphaNum) import Data.List (deleteFirstsBy, elemIndex, nub, sort, transpose) import qualified Data.Map as M import Data.Maybe (fromMaybe, maybeToList) import Data.Sequence (ViewR (..), viewr) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Builder (Blocks, Inlines, fromList, setMeta, trimInlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad, fetchItem, readFileFromDirs) import Text.Pandoc.CSV (CSVOptions (..), defaultCSVOptions, parseCSV) import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.ImageSize (lengthToDim, scaleDimension) import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Parsing import Text.Pandoc.Shared import qualified Text.Pandoc.UTF8 as UTF8 import Text.Printf (printf) -- TODO: -- [ ] .. parsed-literal -- | Parse reStructuredText string and return Pandoc document. readRST :: PandocMonad m => ReaderOptions -- ^ Reader options -> Text -- ^ Text to parse (assuming @'\n'@ line endings) -> m Pandoc readRST opts s = do parsed <- readWithM parseRST def{ stateOptions = opts } (crFilter s <> "\n\n") case parsed of Right result -> return result Left e -> throwError e type RSTParser m = ParserT Text ParserState m -- -- Constants and data structure definitions --- bulletListMarkers :: [Char] bulletListMarkers = "*+-•‣⁃" underlineChars :: [Char] underlineChars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" -- treat these as potentially non-text when parsing inline: specialChars :: [Char] specialChars = "\\`|*_<>$:/[]{}()-.\"'\8216\8217\8220\8221" -- -- parsing documents -- isHeader :: Int -> Block -> Bool isHeader n (Header x _ _) = x == n isHeader _ _ = False -- | Promote all headers in a list of blocks. (Part of -- title transformation for RST.) promoteHeaders :: Int -> [Block] -> [Block] promoteHeaders num (Header level attr text:rest) = Header (level - num) attr text:promoteHeaders num rest promoteHeaders num (other:rest) = other:promoteHeaders num rest promoteHeaders _ [] = [] -- | If list of blocks starts with a header (or a header and subheader) -- of level that are not found elsewhere, return it as a title and -- promote all the other headers. Also process a definition list right -- after the title block as metadata. titleTransform :: ([Block], Meta) -- ^ list of blocks, metadata -> ([Block], Meta) -- ^ modified list of blocks, metadata titleTransform (bs, meta) = let (bs', meta') = case bs of (Header 1 _ head1:Header 2 _ head2:rest) | not (any (isHeader 1) rest || any (isHeader 2) rest) -> -- tit/sub (promoteHeaders 2 rest, setMeta "title" (fromList head1) $ setMeta "subtitle" (fromList head2) meta) (Header 1 _ head1:rest) | not (any (isHeader 1) rest) -> -- title only (promoteHeaders 1 rest, setMeta "title" (fromList head1) meta) _ -> (bs, meta) in case bs' of (DefinitionList ds : rest) -> (rest, metaFromDefList ds meta') _ -> (bs', meta') metaFromDefList :: [([Inline], [[Block]])] -> Meta -> Meta metaFromDefList ds meta = adjustAuthors $ foldr f meta ds where f (k,v) = setMeta (T.toLower $ stringify k) (mconcat $ map fromList v) adjustAuthors (Meta metamap) = Meta $ M.adjust splitAuthors "author" $ M.adjust toPlain "date" $ M.adjust toPlain "title" $ M.mapKeys (\k -> if k == "authors" then "author" else k) metamap toPlain (MetaBlocks [Para xs]) = MetaInlines xs toPlain x = x splitAuthors (MetaBlocks [Para xs]) = MetaList $ map MetaInlines $ splitAuthors' xs splitAuthors x = x splitAuthors' = map normalizeSpaces . splitOnSemi . concatMap factorSemi normalizeSpaces = reverse . dropWhile isSp . reverse . dropWhile isSp isSp Space = True isSp SoftBreak = True isSp LineBreak = True isSp _ = False splitOnSemi = splitBy (==Str ";") factorSemi (Str "") = [] factorSemi (Str s) = case T.break (==';') s of (xs,"") -> [Str xs] (xs,T.uncons -> Just (';',ys)) -> Str xs : Str ";" : factorSemi (Str ys) (xs,ys) -> Str xs : factorSemi (Str ys) factorSemi x = [x] parseRST :: PandocMonad m => RSTParser m Pandoc parseRST = do optional blanklines -- skip blank lines at beginning of file startPos <- getPosition -- go through once just to get list of reference keys and notes -- docMinusKeys is the raw document with blanks where the keys were... docMinusKeys <- T.concat <$> manyTill (referenceKey <|> anchorDef <|> noteBlock <|> citationBlock <|> (snd <$> withRaw comment) <|> headerBlock <|> lineClump) eof setInput docMinusKeys setPosition startPos st' <- getState let reversedNotes = stateNotes st' updateState $ \s -> s { stateNotes = reverse reversedNotes , stateIdentifiers = mempty } -- now parse it for real... blocks <- B.toList <$> parseBlocks citations <- (sort . M.toList . stateCitations) <$> getState citationItems <- mapM parseCitation citations let refBlock = [Div ("citations",[],[]) $ B.toList $ B.definitionList citationItems | not (null citationItems)] standalone <- getOption readerStandalone state <- getState let meta = stateMeta state let (blocks', meta') = if standalone then titleTransform (blocks, meta) else (blocks, meta) reportLogMessages return $ Pandoc meta' (blocks' ++ refBlock) parseCitation :: PandocMonad m => (Text, Text) -> RSTParser m (Inlines, [Blocks]) parseCitation (ref, raw) = do contents <- parseFromString' parseBlocks raw return (B.spanWith (ref, ["citation-label"], []) (B.str ref), [contents]) -- -- parsing blocks -- parseBlocks :: PandocMonad m => RSTParser m Blocks parseBlocks = mconcat <$> manyTill block eof block :: PandocMonad m => RSTParser m Blocks block = choice [ codeBlock , blockQuote , fieldList , directive , anchor , comment , header , hrule , lineBlock -- must go before definitionList , table , list , lhsCodeBlock , para , mempty <$ blanklines ] "block" -- -- field list -- rawFieldListItem :: Monad m => Int -> RSTParser m (Text, Text) rawFieldListItem minIndent = try $ do indent <- length <$> many (char ' ') guard $ indent >= minIndent char ':' name <- many1TillChar (noneOf "\n") (char ':') (() <$ lookAhead newline) <|> skipMany1 spaceChar first <- anyLine rest <- option "" $ try $ do lookAhead (count indent (char ' ') >> spaceChar) indentedBlock let raw = (if T.null first then "" else first <> "\n") <> rest <> "\n" return (name, raw) fieldListItem :: PandocMonad m => Int -> RSTParser m (Inlines, [Blocks]) fieldListItem minIndent = try $ do (name, raw) <- rawFieldListItem minIndent term <- parseInlineFromText name contents <- parseFromString' parseBlocks raw optional blanklines return (term, [contents]) fieldList :: PandocMonad m => RSTParser m Blocks fieldList = try $ do indent <- length <$> lookAhead (many spaceChar) items <- many1 $ fieldListItem indent case items of [] -> return mempty items' -> return $ B.definitionList items' -- -- line block -- lineBlock :: PandocMonad m => RSTParser m Blocks lineBlock = try $ do lines' <- lineBlockLines lines'' <- mapM parseInlineFromText lines' return $ B.lineBlock lines'' lineBlockDirective :: PandocMonad m => Text -> RSTParser m Blocks lineBlockDirective body = do lines' <- mapM parseInlineFromText $ T.lines $ stripTrailingNewlines body return $ B.lineBlock lines' -- -- paragraph block -- -- note: paragraph can end in a :: starting a code block para :: PandocMonad m => RSTParser m Blocks para = try $ do result <- trimInlines . mconcat <$> many1 inline option (B.plain result) $ try $ do newline blanklines case viewr (B.unMany result) of ys :> Str xs | "::" `T.isSuffixOf` xs -> do raw <- option mempty codeBlockBody return $ B.para (B.Many ys <> B.str (T.take (T.length xs - 1) xs)) <> raw _ -> return (B.para result) plain :: PandocMonad m => RSTParser m Blocks plain = B.plain . trimInlines . mconcat <$> many1 inline -- -- header blocks -- header :: PandocMonad m => RSTParser m Blocks header = doubleHeader <|> singleHeader "header" -- a header with lines on top and bottom doubleHeader :: PandocMonad m => RSTParser m Blocks doubleHeader = do (txt, c) <- doubleHeader' -- check to see if we've had this kind of header before. -- if so, get appropriate level. if not, add to list. state <- getState let headerTable = stateHeaderTable state let (headerTable',level) = case elemIndex (DoubleHeader c) headerTable of Just ind -> (headerTable, ind + 1) Nothing -> (headerTable ++ [DoubleHeader c], length headerTable + 1) setState (state { stateHeaderTable = headerTable' }) attr <- registerHeader nullAttr txt return $ B.headerWith attr level txt doubleHeader' :: PandocMonad m => RSTParser m (Inlines, Char) doubleHeader' = try $ do c <- oneOf underlineChars rest <- many (char c) -- the top line let lenTop = length (c:rest) skipSpaces newline txt <- trimInlines . mconcat <$> many1 (notFollowedBy blankline >> inline) pos <- getPosition let len = sourceColumn pos - 1 when (len > lenTop) $ Prelude.fail "title longer than border" blankline -- spaces and newline count lenTop (char c) -- the bottom line blanklines return (txt, c) -- a header with line on the bottom only singleHeader :: PandocMonad m => RSTParser m Blocks singleHeader = do (txt, c) <- singleHeader' state <- getState let headerTable = stateHeaderTable state let (headerTable',level) = case elemIndex (SingleHeader c) headerTable of Just ind -> (headerTable, ind + 1) Nothing -> (headerTable ++ [SingleHeader c], length headerTable + 1) setState (state { stateHeaderTable = headerTable' }) attr <- registerHeader nullAttr txt return $ B.headerWith attr level txt singleHeader' :: PandocMonad m => RSTParser m (Inlines, Char) singleHeader' = try $ do notFollowedBy' whitespace lookAhead $ anyLine >> oneOf underlineChars txt <- trimInlines . mconcat <$> many1 (notFollowedBy blankline >> inline) pos <- getPosition let len = sourceColumn pos - 1 blankline c <- oneOf underlineChars count (len - 1) (char c) many (char c) blanklines return (txt, c) -- -- hrule block -- hrule :: Monad m => ParserT Text st m Blocks hrule = try $ do chr <- oneOf underlineChars count 3 (char chr) skipMany (char chr) blankline blanklines return B.horizontalRule -- -- code blocks -- -- read a line indented by a given string indentedLine :: (HasReaderOptions st, Monad m) => Int -> ParserT Text st m Text indentedLine indents = try $ do lookAhead spaceChar gobbleAtMostSpaces indents anyLine -- one or more indented lines, possibly separated by blank lines. -- any amount of indentation will work. indentedBlock :: (HasReaderOptions st, Monad m) => ParserT Text st m Text indentedBlock = try $ do indents <- length <$> lookAhead (many1 spaceChar) lns <- many1 $ try $ do b <- option "" blanklines l <- indentedLine indents return (b <> l) optional blanklines return $ T.unlines lns quotedBlock :: Monad m => ParserT Text st m Text quotedBlock = try $ do quote <- lookAhead $ oneOf "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" lns <- many1 $ lookAhead (char quote) >> anyLine optional blanklines return $ T.unlines lns codeBlockStart :: Monad m => ParserT Text st m Char codeBlockStart = string "::" >> blankline >> blankline codeBlock :: Monad m => ParserT Text ParserState m Blocks codeBlock = try $ codeBlockStart >> codeBlockBody codeBlockBody :: Monad m => ParserT Text ParserState m Blocks codeBlockBody = do lang <- stateRstHighlight <$> getState try $ B.codeBlockWith ("", maybeToList lang, []) . stripTrailingNewlines <$> (indentedBlock <|> quotedBlock) lhsCodeBlock :: Monad m => RSTParser m Blocks lhsCodeBlock = try $ do getPosition >>= guard . (==1) . sourceColumn guardEnabled Ext_literate_haskell optional codeBlockStart lns <- latexCodeBlock <|> birdCodeBlock blanklines return $ B.codeBlockWith ("", ["haskell","literate"], []) $ T.intercalate "\n" lns latexCodeBlock :: Monad m => ParserT Text st m [Text] latexCodeBlock = try $ do try (latexBlockLine "\\begin{code}") many1Till anyLine (try $ latexBlockLine "\\end{code}") where latexBlockLine s = skipMany spaceChar >> string s >> blankline birdCodeBlock :: Monad m => ParserT Text st m [Text] birdCodeBlock = filterSpace <$> many1 birdTrackLine where filterSpace lns = -- if (as is normal) there is always a space after >, drop it if all (\ln -> T.null ln || T.take 1 ln == " ") lns then map (T.drop 1) lns else lns birdTrackLine :: Monad m => ParserT Text st m Text birdTrackLine = char '>' >> anyLine -- -- block quotes -- blockQuote :: PandocMonad m => RSTParser m Blocks blockQuote = do raw <- indentedBlock -- parse the extracted block, which may contain various block elements: contents <- parseFromString' parseBlocks $ raw <> "\n\n" return $ B.blockQuote contents {- Unsupported options for include: tab-width encoding -} includeDirective :: PandocMonad m => Text -> [(Text, Text)] -> Text -> RSTParser m Blocks includeDirective top fields body = do let f = trim top guard $ not (T.null f) guard $ T.null (trim body) -- options let (startLine :: Maybe Int) = lookup "start-line" fields >>= safeRead let (endLine :: Maybe Int) = lookup "end-line" fields >>= safeRead oldPos <- getPosition oldInput <- getInput containers <- stateContainers <$> getState when (f `elem` containers) $ throwError $ PandocParseError $ "Include file loop at " <> tshow oldPos updateState $ \s -> s{ stateContainers = f : stateContainers s } mbContents <- readFileFromDirs ["."] $ T.unpack f contentLines <- case mbContents of Just s -> return $ T.lines s Nothing -> do logMessage $ CouldNotLoadIncludeFile f oldPos return [] let numLines = length contentLines let startLine' = case startLine of Nothing -> 1 Just x | x >= 0 -> x | otherwise -> numLines + x -- negative from end let endLine' = case endLine of Nothing -> numLines + 1 Just x | x >= 0 -> x | otherwise -> numLines + x -- negative from end let contentLines' = drop (startLine' - 1) $ take (endLine' - 1) contentLines let contentLines'' = (case trim <$> lookup "end-before" fields of Just patt -> takeWhile (not . (patt `T.isInfixOf`)) Nothing -> id) . (case trim <$> lookup "start-after" fields of Just patt -> drop 1 . dropWhile (not . (patt `T.isInfixOf`)) Nothing -> id) $ contentLines' let contents' = T.unlines contentLines'' <> "\n" case lookup "code" fields of Just lang -> do let numberLines = lookup "number-lines" fields let classes = maybe [] T.words (lookup "class" fields) let ident = maybe "" trimr $ lookup "name" fields codeblock ident classes numberLines (trimr lang) contents' False Nothing -> case lookup "literal" fields of Just _ -> return $ B.rawBlock "rst" contents' Nothing -> do setPosition $ newPos (T.unpack f) 1 1 setInput contents' bs <- optional blanklines >> (mconcat <$> many block) setInput oldInput setPosition oldPos updateState $ \s -> s{ stateContainers = tail $ stateContainers s } return bs -- -- list blocks -- list :: PandocMonad m => RSTParser m Blocks list = choice [ bulletList, orderedList, definitionList ] "list" definitionListItem :: PandocMonad m => RSTParser m (Inlines, [Blocks]) definitionListItem = try $ do -- avoid capturing a directive or comment notFollowedBy (try $ char '.' >> char '.') term <- trimInlines . mconcat <$> many1Till inline endline raw <- indentedBlock -- parse the extracted block, which may contain various block elements: contents <- parseFromString' parseBlocks $ raw <> "\n" return (term, [contents]) definitionList :: PandocMonad m => RSTParser m Blocks definitionList = B.definitionList <$> many1 definitionListItem -- parses bullet list start and returns its length (inc. following whitespace) bulletListStart :: Monad m => ParserT Text st m Int bulletListStart = try $ do notFollowedBy' hrule -- because hrules start out just like lists marker <- oneOf bulletListMarkers white <- many1 spaceChar <|> "" <$ lookAhead (char '\n') return $ length (marker:white) -- parses ordered list start and returns its length (inc following whitespace) orderedListStart :: Monad m => ListNumberStyle -> ListNumberDelim -> RSTParser m Int orderedListStart style delim = try $ do (_, markerLen) <- withHorizDisplacement (orderedListMarker style delim) white <- many1 spaceChar <|> "" <$ lookAhead (char '\n') return $ markerLen + length white -- parse a line of a list item listLine :: Monad m => Int -> RSTParser m Text listLine markerLength = try $ do notFollowedBy blankline indentWith markerLength anyLineNewline -- parse raw text for one list item, excluding start marker and continuations rawListItem :: Monad m => RSTParser m Int -> RSTParser m (Int, Text) rawListItem start = try $ do markerLength <- start firstLine <- anyLineNewline restLines <- many (listLine markerLength) return (markerLength, firstLine <> T.concat restLines) -- continuation of a list item - indented and separated by blankline or -- (in compact lists) endline. -- Note: nested lists are parsed as continuations. listContinuation :: Monad m => Int -> RSTParser m Text listContinuation markerLength = try $ do blanks <- many1Char blankline result <- many1 (listLine markerLength) return $ blanks <> T.concat result listItem :: PandocMonad m => RSTParser m Int -> RSTParser m Blocks listItem start = try $ do (markerLength, first) <- rawListItem start rest <- many (listContinuation markerLength) skipMany1 blankline <|> () <$ lookAhead start -- parsing with ListItemState forces markers at beginning of lines to -- count as list item markers, even if not separated by blank space. -- see definition of "endline" state <- getState let oldContext = stateParserContext state setState $ state {stateParserContext = ListItemState} -- parse the extracted block, which may itself contain block elements parsed <- parseFromString' parseBlocks $ T.concat (first:rest) <> "\n" updateState (\st -> st {stateParserContext = oldContext}) return $ case B.toList parsed of [Para xs] -> B.singleton $ Plain xs [Para xs, BulletList ys] -> B.fromList [Plain xs, BulletList ys] [Para xs, OrderedList s ys] -> B.fromList [Plain xs, OrderedList s ys] [Para xs, DefinitionList ys] -> B.fromList [Plain xs, DefinitionList ys] _ -> parsed orderedList :: PandocMonad m => RSTParser m Blocks orderedList = try $ do (start, style, delim) <- lookAhead (anyOrderedListMarker <* spaceChar) items <- many1 (listItem (orderedListStart style delim)) let items' = compactify items return $ B.orderedListWith (start, style, delim) items' bulletList :: PandocMonad m => RSTParser m Blocks bulletList = B.bulletList . compactify <$> many1 (listItem bulletListStart) -- -- directive (e.g. comment, container, compound-paragraph) -- comment :: Monad m => RSTParser m Blocks comment = try $ do string ".." skipMany1 spaceChar <|> (() <$ lookAhead newline) -- notFollowedBy' directiveLabel -- comment comes after directive so unnec. manyTill anyChar blanklines optional indentedBlock return mempty directiveLabel :: Monad m => RSTParser m Text directiveLabel = T.toLower <$> many1TillChar (letter <|> char '-') (try $ string "::") directive :: PandocMonad m => RSTParser m Blocks directive = try $ do string ".." directive' directive' :: PandocMonad m => RSTParser m Blocks directive' = do skipMany1 spaceChar label <- directiveLabel skipMany spaceChar top <- manyChar $ satisfy (/='\n') <|> try (char '\n' <* notFollowedBy' (rawFieldListItem 1) <* many1 (char ' ') <* notFollowedBy blankline) newline fields <- do fieldIndent <- length <$> lookAhead (many (char ' ')) if fieldIndent == 0 then return [] else many $ rawFieldListItem fieldIndent body <- option "" $ try $ blanklines >> indentedBlock optional blanklines let body' = body <> "\n\n" name = trim $ fromMaybe "" (lookup "name" fields) classes = T.words $ maybe "" trim (lookup "class" fields) keyvals = [(k, trim v) | (k, v) <- fields, k /= "name", k /= "class"] imgAttr cl = (name, classes ++ alignClasses, widthAttr ++ heightAttr) where alignClasses = T.words $ maybe "" trim (lookup cl fields) <> maybe "" (\x -> "align-" <> trim x) (lookup "align" fields) scale = case trim <$> lookup "scale" fields of Just v -> case T.unsnoc v of Just (vv, '%') -> case safeRead vv of Just (percent :: Double) -> percent / 100.0 Nothing -> 1.0 _ -> case safeRead v of Just (s :: Double) -> s Nothing -> 1.0 Nothing -> 1.0 widthAttr = maybe [] (\x -> [("width", tshow $ scaleDimension scale x)]) $ lookup "width" fields >>= (lengthToDim . T.filter (not . isSpace)) heightAttr = maybe [] (\x -> [("height", tshow $ scaleDimension scale x)]) $ lookup "height" fields >>= (lengthToDim . T.filter (not . isSpace)) case label of "include" -> includeDirective top fields body' "table" -> tableDirective top fields body' "list-table" -> listTableDirective top fields body' "csv-table" -> csvTableDirective top fields body' "line-block" -> lineBlockDirective body' "raw" -> return $ B.rawBlock (trim top) (stripTrailingNewlines body) "role" -> addNewRole top $ map (second trim) fields "container" -> B.divWith (name, "container" : T.words top ++ classes, []) <$> parseFromString' parseBlocks body' "replace" -> B.para <$> -- consumed by substKey parseInlineFromText (trim top) "unicode" -> B.para <$> -- consumed by substKey parseInlineFromText (trim $ unicodeTransform top) "compound" -> parseFromString' parseBlocks body' "pull-quote" -> B.blockQuote <$> parseFromString' parseBlocks body' "epigraph" -> B.blockQuote <$> parseFromString' parseBlocks body' "highlights" -> B.blockQuote <$> parseFromString' parseBlocks body' "rubric" -> B.para . B.strong <$> parseInlineFromText top _ | label `elem` ["attention","caution","danger","error","hint", "important","note","tip","warning","admonition"] -> do bod <- parseFromString' parseBlocks $ top <> "\n\n" <> body' let lab = case label of "admonition" -> mempty (T.uncons -> Just (l, ls)) -> B.divWith ("",["title"],[]) (B.para (B.str $ T.cons (toUpper l) ls)) _ -> mempty return $ B.divWith (name,label:classes,keyvals) (lab <> bod) "sidebar" -> do let subtit = maybe "" trim $ lookup "subtitle" fields tit <- B.para . B.strong <$> parseInlineFromText (trim top <> if T.null subtit then "" else ": " <> subtit) bod <- parseFromString' parseBlocks body' return $ B.divWith (name,"sidebar":classes,keyvals) $ tit <> bod "topic" -> do tit <- B.para . B.strong <$> parseInlineFromText top bod <- parseFromString' parseBlocks body' return $ B.divWith (name,"topic":classes,keyvals) $ tit <> bod "default-role" -> mempty <$ updateState (\s -> s { stateRstDefaultRole = case trim top of "" -> stateRstDefaultRole def role -> role }) "highlight" -> mempty <$ updateState (\s -> s { stateRstHighlight = case trim top of "" -> stateRstHighlight def lang -> Just lang }) x | x == "code" || x == "code-block" || x == "sourcecode" -> codeblock name classes (lookup "number-lines" fields) (trim top) body True "aafig" -> do let attribs = (name, ["aafig"], map (second trimr) fields) return $ B.codeBlockWith attribs $ stripTrailingNewlines body "math" -> return $ B.para $ mconcat $ map B.displayMath $ toChunks $ top <> "\n\n" <> body "figure" -> do (caption, legend) <- parseFromString' extractCaption body' let src = escapeURI $ trim top return $ B.para (B.imageWith (imgAttr "figclass") src "fig:" caption) <> legend "image" -> do let src = escapeURI $ trim top let alt = B.str $ maybe "image" trim $ lookup "alt" fields let attr = imgAttr "class" return $ B.para $ case lookup "target" fields of Just t -> B.link (escapeURI $ trim t) "" $ B.imageWith attr src "" alt Nothing -> B.imageWith attr src "" alt "class" -> do let attrs = (name, T.words (trim top), map (second trimr) fields) -- directive content or the first immediately following element children <- case body of "" -> block _ -> parseFromString' parseBlocks body' return $ B.divWith attrs children other -> do pos <- getPosition logMessage $ SkippedContent (".. " <> other) pos bod <- parseFromString' parseBlocks $ top <> "\n\n" <> body' return $ B.divWith (name, other:classes, keyvals) bod tableDirective :: PandocMonad m => Text -> [(Text, Text)] -> Text -> RSTParser m Blocks tableDirective top fields body = do bs <- parseFromString' parseBlocks body case B.toList bs of [Table _ aligns' widths' header' rows'] -> do title <- parseFromString' (trimInlines . mconcat <$> many inline) top columns <- getOption readerColumns let numOfCols = length header' let normWidths ws = map (/ max 1.0 (fromIntegral (columns - numOfCols))) ws let widths = case trim <$> lookup "widths" fields of Just "auto" -> replicate numOfCols 0.0 Just "grid" -> widths' Just specs -> normWidths $ map (fromMaybe (0 :: Double) . safeRead) $ splitTextBy (`elem` (" ," :: String)) specs Nothing -> widths' -- align is not applicable since we can't represent whole table align return $ B.singleton $ Table (B.toList title) aligns' widths header' rows' _ -> return mempty -- TODO: :stub-columns:. -- Only the first row becomes the header even if header-rows: > 1, -- since Pandoc doesn't support a table with multiple header rows. -- We don't need to parse :align: as it represents the whole table align. listTableDirective :: PandocMonad m => Text -> [(Text, Text)] -> Text -> RSTParser m Blocks listTableDirective top fields body = do bs <- parseFromString' parseBlocks body title <- parseFromString' (trimInlines . mconcat <$> many inline) top let rows = takeRows $ B.toList bs headerRowsNum = fromMaybe (0 :: Int) $ lookup "header-rows" fields >>= safeRead (headerRow,bodyRows,numOfCols) = case rows of x:xs -> if headerRowsNum > 0 then (x, xs, length x) else ([], rows, length x) _ -> ([],[],0) widths = case trim <$> lookup "widths" fields of Just "auto" -> replicate numOfCols 0 Just specs -> normWidths $ map (fromMaybe (0 :: Double) . safeRead) $ splitTextBy (`elem` (" ," :: String)) specs _ -> replicate numOfCols 0 return $ B.table title (zip (replicate numOfCols AlignDefault) widths) headerRow bodyRows where takeRows [BulletList rows] = map takeCells rows takeRows _ = [] takeCells [BulletList cells] = map B.fromList cells takeCells _ = [] normWidths ws = map (/ max 1 (sum ws)) ws csvTableDirective :: PandocMonad m => Text -> [(Text, Text)] -> Text -> RSTParser m Blocks csvTableDirective top fields rawcsv = do let explicitHeader = trim <$> lookup "header" fields let opts = defaultCSVOptions{ csvDelim = case trim <$> lookup "delim" fields of Just "tab" -> '\t' Just "space" -> ' ' Just (T.unpack -> [c]) -> c _ -> ',' , csvQuote = case trim <$> lookup "quote" fields of Just (T.unpack -> [c]) -> c _ -> '"' , csvEscape = case trim <$> lookup "escape" fields of Just (T.unpack -> [c]) -> Just c _ -> Nothing , csvKeepSpace = case trim <$> lookup "keepspace" fields of Just "true" -> True _ -> False } let headerRowsNum = fromMaybe (case explicitHeader of Just _ -> 1 :: Int Nothing -> 0 :: Int) $ lookup "header-rows" fields >>= safeRead rawcsv' <- case trim <$> lookup "file" fields `mplus` lookup "url" fields of Just u -> do (bs, _) <- fetchItem u return $ UTF8.toText bs Nothing -> return rawcsv let res = parseCSV opts (case explicitHeader of Just h -> h <> "\n" <> rawcsv' Nothing -> rawcsv') case res of Left e -> throwError $ PandocParsecError "csv table" e Right rawrows -> do let parseCell = parseFromString' (plain <|> return mempty) let parseRow = mapM parseCell rows <- mapM parseRow rawrows let (headerRow,bodyRows,numOfCols) = case rows of x:xs -> if headerRowsNum > 0 then (x, xs, length x) else ([], rows, length x) _ -> ([],[],0) title <- parseFromString' (trimInlines . mconcat <$> many inline) top let normWidths ws = map (/ max 1 (sum ws)) ws let widths = case trim <$> lookup "widths" fields of Just "auto" -> replicate numOfCols 0 Just specs -> normWidths $ map (fromMaybe (0 :: Double) . safeRead) $ splitTextBy (`elem` (" ," :: String)) specs _ -> replicate numOfCols 0 return $ B.table title (zip (replicate numOfCols AlignDefault) widths) headerRow bodyRows -- TODO: -- - Only supports :format: fields with a single format for :raw: roles, -- change Text.Pandoc.Definition.Format to fix addNewRole :: PandocMonad m => Text -> [(Text, Text)] -> RSTParser m Blocks addNewRole roleText fields = do pos <- getPosition (role, parentRole) <- parseFromString' inheritedRole roleText customRoles <- stateRstCustomRoles <$> getState let getBaseRole (r, f, a) roles = case M.lookup r roles of Just (r', f', a') -> getBaseRole (r', f', a') roles Nothing -> (r, f, a) (baseRole, baseFmt, baseAttr) = getBaseRole (parentRole, Nothing, nullAttr) customRoles fmt = if parentRole == "raw" then lookup "format" fields else baseFmt annotate :: [Text] -> [Text] annotate = maybe id (:) $ if baseRole == "code" then lookup "language" fields else Nothing attr = let (ident, classes, keyValues) = baseAttr -- nub in case role name & language class are the same in (ident, nub . (role :) . annotate $ classes, keyValues) -- warn about syntax we ignore forM_ fields $ \(key, _) -> case key of "language" -> when (baseRole /= "code") $ logMessage $ SkippedContent ":language: [because parent of role is not :code:]" pos "format" -> when (baseRole /= "raw") $ logMessage $ SkippedContent ":format: [because parent of role is not :raw:]" pos _ -> logMessage $ SkippedContent (":" <> key <> ":") pos when (parentRole == "raw" && countKeys "format" > 1) $ logMessage $ SkippedContent ":format: [after first in definition of role]" pos when (parentRole == "code" && countKeys "language" > 1) $ logMessage $ SkippedContent ":language: [after first in definition of role]" pos updateState $ \s -> s { stateRstCustomRoles = M.insert role (baseRole, fmt, attr) customRoles } return mempty where countKeys k = length . filter (== k) . map fst $ fields inheritedRole = (,) <$> roleName <*> ((char '(' *> roleName <* char ')') <|> pure "span") -- Can contain character codes as decimal numbers or -- hexadecimal numbers, prefixed by 0x, x, \x, U+, u, or \u -- or as XML-style hexadecimal character entities, e.g. ᨫ -- or text, which is used as-is. Comments start with .. unicodeTransform :: Text -> Text unicodeTransform t | Just xs <- T.stripPrefix ".." t = unicodeTransform $ T.dropWhile (/= '\n') xs -- comment | Just xs <- T.stripPrefix "0x" t = go "0x" xs | Just xs <- T.stripPrefix "x" t = go "x" xs | Just xs <- T.stripPrefix "\\x" t = go "\\x" xs | Just xs <- T.stripPrefix "U+" t = go "U+" xs | Just xs <- T.stripPrefix "u" t = go "u" xs | Just xs <- T.stripPrefix "\\u" t = go "\\u" xs | Just xs <- T.stripPrefix "&#x" t = maybe ("&#x" <> unicodeTransform xs) -- drop semicolon (\(c,s) -> T.cons c $ unicodeTransform $ T.drop 1 s) $ extractUnicodeChar xs | Just (x, xs) <- T.uncons t = T.cons x $ unicodeTransform xs | otherwise = "" where go pref zs = maybe (pref <> unicodeTransform zs) (\(c,s) -> T.cons c $ unicodeTransform s) $ extractUnicodeChar zs extractUnicodeChar :: Text -> Maybe (Char, Text) extractUnicodeChar s = fmap (\c -> (c,rest)) mbc where (ds,rest) = T.span isHexDigit s mbc = safeRead ("'\\x" <> ds <> "'") extractCaption :: PandocMonad m => RSTParser m (Inlines, Blocks) extractCaption = do capt <- trimInlines . mconcat <$> many inline legend <- optional blanklines >> (mconcat <$> many block) return (capt,legend) -- divide string by blanklines, and surround with -- \begin{aligned}...\end{aligned} if needed. toChunks :: Text -> [Text] toChunks = dropWhile T.null . map (addAligned . trim . T.unlines) . splitBy (T.all (`elem` (" \t" :: String))) . T.lines -- we put this in an aligned environment if it contains \\, see #4254 where addAligned s = if "\\\\" `T.isInfixOf` s then "\\begin{aligned}\n" <> s <> "\n\\end{aligned}" else s codeblock :: Text -> [Text] -> Maybe Text -> Text -> Text -> Bool -> RSTParser m Blocks codeblock ident classes numberLines lang body rmTrailingNewlines = return $ B.codeBlockWith attribs $ stripTrailingNewlines' body where stripTrailingNewlines' = if rmTrailingNewlines then stripTrailingNewlines else id attribs = (ident, classes', kvs) classes' = lang : maybe [] (const ["numberLines"]) numberLines ++ classes kvs = maybe [] (\n -> case trimr n of "" -> [] xs -> [("startFrom", xs)]) numberLines --- --- note block --- noteBlock :: Monad m => RSTParser m Text noteBlock = try $ do (ref, raw, replacement) <- noteBlock' noteMarker updateState $ \s -> s { stateNotes = (ref, raw) : stateNotes s } -- return blanks so line count isn't affected return replacement citationBlock :: Monad m => RSTParser m Text citationBlock = try $ do (ref, raw, replacement) <- noteBlock' citationMarker updateState $ \s -> s { stateCitations = M.insert ref raw (stateCitations s), stateKeys = M.insert (toKey ref) (("#" <> ref,""), ("",["citation"],[])) (stateKeys s) } -- return blanks so line count isn't affected return replacement noteBlock' :: Monad m => RSTParser m Text -> RSTParser m (Text, Text, Text) noteBlock' marker = try $ do startPos <- getPosition string ".." spaceChar >> skipMany spaceChar ref <- marker first <- (spaceChar >> skipMany spaceChar >> anyLine) <|> (newline >> return "") blanks <- option "" blanklines rest <- option "" indentedBlock endPos <- getPosition let raw = first <> "\n" <> blanks <> rest <> "\n" let replacement = T.replicate (sourceLine endPos - sourceLine startPos) "\n" return (ref, raw, replacement) citationMarker :: Monad m => RSTParser m Text citationMarker = do char '[' res <- simpleReferenceName char ']' return res noteMarker :: Monad m => RSTParser m Text noteMarker = do char '[' res <- many1Char digit <|> try (char '#' >> liftM ("#" <>) simpleReferenceName) <|> countChar 1 (oneOf "#*") char ']' return res -- -- reference key -- quotedReferenceName :: PandocMonad m => RSTParser m Text quotedReferenceName = try $ do char '`' >> notFollowedBy (char '`') -- `` means inline code! manyTillChar anyChar (char '`') -- Simple reference names are single words consisting of alphanumerics -- plus isolated (no two adjacent) internal hyphens, underscores, -- periods, colons and plus signs; no whitespace or other characters -- are allowed. simpleReferenceName :: Monad m => ParserT Text st m Text simpleReferenceName = do x <- alphaNum xs <- many $ alphaNum <|> try (oneOf "-_:+." <* lookAhead alphaNum) return $ T.pack (x:xs) referenceName :: PandocMonad m => RSTParser m Text referenceName = quotedReferenceName <|> simpleReferenceName referenceKey :: PandocMonad m => RSTParser m Text referenceKey = do startPos <- getPosition choice [substKey, anonymousKey, regularKey] optional blanklines endPos <- getPosition -- return enough blanks to replace key return $ T.replicate (sourceLine endPos - sourceLine startPos) "\n" targetURI :: Monad m => ParserT Text st m Text targetURI = do skipSpaces optional $ try $ newline >> notFollowedBy blankline contents <- trim <$> many1Char (satisfy (/='\n') <|> try (newline >> many1 spaceChar >> noneOf " \t\n")) blanklines return $ stripBackticks contents where stripBackticks t | Just xs <- T.stripSuffix "`_" t = T.dropWhile (=='`') xs <> "_" | Just _ <- T.stripSuffix "_" t = t | otherwise = escapeURI t substKey :: PandocMonad m => RSTParser m () substKey = try $ do string ".." skipMany1 spaceChar (alt,ref) <- withRaw $ trimInlines . mconcat <$> enclosed (char '|') (char '|') inline res <- B.toList <$> directive' il <- case res of -- use alt unless :alt: attribute on image: [Para [Image attr [Str "image"] (src,tit)]] -> return $ B.imageWith attr src tit alt [Para [Link _ [Image attr [Str "image"] (src,tit)] (src',tit')]] -> return $ B.link src' tit' (B.imageWith attr src tit alt) [Para ils] -> return $ B.fromList ils _ -> mzero let key = toKey $ stripFirstAndLast ref updateState $ \s -> s{ stateSubstitutions = M.insert key il $ stateSubstitutions s } anonymousKey :: Monad m => RSTParser m () anonymousKey = try $ do oneOfStrings [".. __:", "__"] src <- targetURI pos <- getPosition let key = toKey $ "_" <> T.pack (printf "%09d" (sourceLine pos)) updateState $ \s -> s { stateKeys = M.insert key ((src,""), nullAttr) $ stateKeys s } referenceNames :: PandocMonad m => RSTParser m [Text] referenceNames = do let rn = try $ do string ".. _" ref <- quotedReferenceName <|> manyChar ( noneOf ":\n" <|> try (char '\n' <* string " " <* notFollowedBy blankline) <|> try (char ':' <* lookAhead alphaNum) ) char ':' return ref first <- rn rest <- many (try (blanklines *> rn)) return (first:rest) regularKey :: PandocMonad m => RSTParser m () regularKey = try $ do -- we allow several references to the same URL, e.g. -- .. _hello: -- .. _goodbye: url.com refs <- referenceNames src <- targetURI guard $ not (T.null src) let keys = map toKey refs forM_ keys $ \key -> updateState $ \s -> s { stateKeys = M.insert key ((src,""), nullAttr) $ stateKeys s } anchorDef :: PandocMonad m => RSTParser m Text anchorDef = try $ do (refs, raw) <- withRaw $ try (referenceNames <* blanklines) forM_ refs $ \rawkey -> updateState $ \s -> s { stateKeys = M.insert (toKey rawkey) (("#" <> rawkey,""), nullAttr) $ stateKeys s } -- keep this for 2nd round of parsing, where we'll add the divs (anchor) return raw anchor :: PandocMonad m => RSTParser m Blocks anchor = try $ do refs <- referenceNames blanklines b <- block let addDiv ref = B.divWith (ref, [], []) let emptySpanWithId id' = Span (id',[],[]) [] -- put identifier on next block: case B.toList b of [Header lev (_,classes,kvs) txt] -> case reverse refs of [] -> return b (r:rs) -> return $ B.singleton $ Header lev (r,classes,kvs) (txt ++ map emptySpanWithId rs) -- we avoid generating divs for headers, -- because it hides them from promoteHeader, see #4240 _ -> return $ foldr addDiv b refs headerBlock :: PandocMonad m => RSTParser m Text headerBlock = do ((txt, _), raw) <- withRaw (doubleHeader' <|> singleHeader') (ident,_,_) <- registerHeader nullAttr txt let key = toKey (stringify txt) updateState $ \s -> s { stateKeys = M.insert key (("#" <> ident,""), nullAttr) $ stateKeys s } return raw -- -- tables -- -- General tables TODO: -- - figure out if leading spaces are acceptable and if so, add -- support for them -- -- Simple tables TODO: -- - column spans -- - multiline support -- - ensure that rightmost column span does not need to reach end -- - require at least 2 columns -- -- Grid tables TODO: -- - column spans dashedLine :: Monad m => Char -> ParserT Text st m (Int, Int) dashedLine ch = do dashes <- many1 (char ch) sp <- many (char ' ') return (length dashes, length $ dashes ++ sp) simpleDashedLines :: Monad m => Char -> ParserT Text st m [(Int,Int)] simpleDashedLines ch = try $ many1 (dashedLine ch) -- Parse a table row separator simpleTableSep :: Monad m => Char -> RSTParser m Char simpleTableSep ch = try $ simpleDashedLines ch >> newline -- Parse a table footer simpleTableFooter :: Monad m => RSTParser m Text simpleTableFooter = try $ simpleTableSep '=' >> blanklines -- Parse a raw line and split it into chunks by indices. simpleTableRawLine :: Monad m => [Int] -> RSTParser m [Text] simpleTableRawLine indices = simpleTableSplitLine indices <$> anyLine simpleTableRawLineWithEmptyCell :: Monad m => [Int] -> RSTParser m [Text] simpleTableRawLineWithEmptyCell indices = try $ do cs <- simpleTableRawLine indices let isEmptyCell = T.all (\c -> c == ' ' || c == '\t') guard $ any isEmptyCell cs return cs -- Parse a table row and return a list of blocks (columns). simpleTableRow :: PandocMonad m => [Int] -> RSTParser m [Blocks] simpleTableRow indices = do notFollowedBy' simpleTableFooter firstLine <- simpleTableRawLine indices conLines <- many $ simpleTableRawLineWithEmptyCell indices let cols = map T.unlines . transpose $ firstLine : conLines ++ [replicate (length indices) "" | not (null conLines)] mapM (parseFromString' parseBlocks) cols simpleTableSplitLine :: [Int] -> Text -> [Text] simpleTableSplitLine indices line = map trimr $ tail $ splitTextByIndices (init indices) line simpleTableHeader :: PandocMonad m => Bool -- ^ Headerless table -> RSTParser m ([Blocks], [Alignment], [Int]) simpleTableHeader headless = try $ do optional blanklines rawContent <- if headless then return "" else simpleTableSep '=' >> anyLine dashes <- if headless then simpleDashedLines '=' else simpleDashedLines '=' <|> simpleDashedLines '-' newline let lines' = map snd dashes let indices = scanl (+) 0 lines' let aligns = replicate (length lines') AlignDefault let rawHeads = if headless then replicate (length dashes) "" else simpleTableSplitLine indices rawContent heads <- mapM ( parseFromString' (mconcat <$> many plain) . trim) rawHeads return (heads, aligns, indices) -- Parse a simple table. simpleTable :: PandocMonad m => Bool -- ^ Headerless table -> RSTParser m Blocks simpleTable headless = do let wrapIdFst (a, b, c) = (Identity a, b, c) wrapId = fmap Identity tbl <- runIdentity <$> tableWith (wrapIdFst <$> simpleTableHeader headless) (wrapId <$> simpleTableRow) sep simpleTableFooter -- Simple tables get 0s for relative column widths (i.e., use default) case B.toList tbl of [Table c a _w h l] -> return $ B.singleton $ Table c a (replicate (length a) 0) h l _ -> throwError $ PandocShouldNeverHappenError "tableWith returned something unexpected" where sep = return () -- optional (simpleTableSep '-') gridTable :: PandocMonad m => Bool -- ^ Headerless table -> RSTParser m Blocks gridTable headerless = runIdentity <$> gridTableWith (Identity <$> parseBlocks) headerless table :: PandocMonad m => RSTParser m Blocks table = gridTable False <|> simpleTable False <|> gridTable True <|> simpleTable True "table" -- -- inline -- inline :: PandocMonad m => RSTParser m Inlines inline = choice [ note -- can start with whitespace, so try before ws , link , strong , emph , code , subst , interpretedRole , inlineContent ] "inline" -- strings, spaces and other characters that can appear either by -- themselves or within inline markup inlineContent :: PandocMonad m => RSTParser m Inlines inlineContent = choice [ whitespace , str , endline , smart , hyphens , escapedChar , symbol ] "inline content" parseInlineFromText :: PandocMonad m => Text -> RSTParser m Inlines parseInlineFromText = parseFromString' (trimInlines . mconcat <$> many inline) hyphens :: Monad m => RSTParser m Inlines hyphens = do result <- many1Char (char '-') optional endline -- don't want to treat endline after hyphen or dash as a space return $ B.str result escapedChar :: Monad m => ParserT Text st m Inlines escapedChar = do c <- escaped anyChar return $ if c == ' ' || c == '\n' || c == '\r' -- '\ ' is null in RST then mempty else B.str $ T.singleton c symbol :: Monad m => RSTParser m Inlines symbol = do result <- oneOf specialChars return $ B.str $ T.singleton result -- parses inline code, between codeStart and codeEnd code :: Monad m => RSTParser m Inlines code = try $ do string "``" result <- manyTillChar anyChar (try (string "``")) return $ B.code $ trim $ T.unwords $ T.lines result -- succeeds only if we're not right after a str (ie. in middle of word) atStart :: Monad m => RSTParser m a -> RSTParser m a atStart p = do pos <- getPosition st <- getState -- single quote start can't be right after str guard $ stateLastStrPos st /= Just pos p emph :: PandocMonad m => RSTParser m Inlines emph = B.emph . trimInlines . mconcat <$> enclosed (atStart $ char '*') (char '*') inlineContent strong :: PandocMonad m => RSTParser m Inlines strong = B.strong . trimInlines . mconcat <$> enclosed (atStart $ string "**") (try $ string "**") inlineContent -- Note, this doesn't precisely implement the complex rule in -- http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#inline-markup-recognition-rules -- but it should be good enough for most purposes -- -- TODO: -- - Classes are silently discarded in addNewRole -- - Allows direct use of the :raw: role, rST only allows inherited use. interpretedRole :: PandocMonad m => RSTParser m Inlines interpretedRole = try $ do (role, contents) <- roleBefore <|> roleAfter renderRole contents Nothing role nullAttr renderRole :: PandocMonad m => Text -> Maybe Text -> Text -> Attr -> RSTParser m Inlines renderRole contents fmt role attr = case role of "sup" -> return $ B.superscript $ treatAsText contents "superscript" -> return $ B.superscript $ treatAsText contents "sub" -> return $ B.subscript $ treatAsText contents "subscript" -> return $ B.subscript $ treatAsText contents "emphasis" -> return $ B.emph $ treatAsText contents "strong" -> return $ B.strong $ treatAsText contents "rfc-reference" -> return $ rfcLink contents "RFC" -> return $ rfcLink contents "pep-reference" -> return $ pepLink contents "PEP" -> return $ pepLink contents "literal" -> return $ B.codeWith attr contents "math" -> return $ B.math contents "title-reference" -> titleRef contents "title" -> titleRef contents "t" -> titleRef contents "code" -> return $ B.codeWith attr contents "span" -> return $ B.spanWith attr $ treatAsText contents "raw" -> return $ B.rawInline (fromMaybe "" fmt) contents custom -> do customRoles <- stateRstCustomRoles <$> getState case M.lookup custom customRoles of Just (newRole, newFmt, newAttr) -> renderRole contents newFmt newRole newAttr Nothing -> -- undefined role return $ B.codeWith ("",["interpreted-text"],[("role",role)]) contents where titleRef ref = return $ B.spanWith ("",["title-ref"],[]) $ treatAsText ref rfcLink rfcNo = B.link rfcUrl ("RFC " <> rfcNo) $ B.str ("RFC " <> rfcNo) where rfcUrl = "http://www.faqs.org/rfcs/rfc" <> rfcNo <> ".html" pepLink pepNo = B.link pepUrl ("PEP " <> pepNo) $ B.str ("PEP " <> pepNo) where padNo = T.replicate (4 - T.length pepNo) "0" <> pepNo pepUrl = "http://www.python.org/dev/peps/pep-" <> padNo <> "/" treatAsText = B.text . handleEscapes handleEscapes = T.concat . removeSpace . T.splitOn "\\" where headSpace t = fromMaybe t $ T.stripPrefix " " t removeSpace (x:xs) = x : map headSpace xs removeSpace [] = [] roleName :: PandocMonad m => RSTParser m Text roleName = many1Char (letter <|> char '-') roleMarker :: PandocMonad m => RSTParser m Text roleMarker = char ':' *> roleName <* char ':' roleBefore :: PandocMonad m => RSTParser m (Text,Text) roleBefore = try $ do role <- roleMarker contents <- unmarkedInterpretedText return (role,contents) roleAfter :: PandocMonad m => RSTParser m (Text,Text) roleAfter = try $ do contents <- unmarkedInterpretedText role <- roleMarker <|> (stateRstDefaultRole <$> getState) return (role,contents) unmarkedInterpretedText :: PandocMonad m => RSTParser m Text unmarkedInterpretedText = try $ do atStart (char '`') contents <- mconcat <$> many1 ( many1 (noneOf "`\\\n") <|> (char '\\' >> ((\c -> ['\\',c]) <$> noneOf "\n")) <|> (string "\n" <* notFollowedBy blankline) <|> try (string "`" <* notFollowedBy (() <$ roleMarker) <* lookAhead (satisfy isAlphaNum)) ) char '`' return $ T.pack contents whitespace :: PandocMonad m => RSTParser m Inlines whitespace = B.space <$ skipMany1 spaceChar "whitespace" str :: Monad m => RSTParser m Inlines str = do let strChar = noneOf ("\t\n " ++ specialChars) result <- many1Char strChar updateLastStrPos return $ B.str result -- an endline character that can be treated as a space, not a structural break endline :: Monad m => RSTParser m Inlines endline = try $ do newline notFollowedBy blankline -- parse potential list-starts at beginning of line differently in a list: st <- getState when (stateParserContext st == ListItemState) $ notFollowedBy (anyOrderedListMarker >> spaceChar) >> notFollowedBy' bulletListStart return B.softbreak -- -- links -- link :: PandocMonad m => RSTParser m Inlines link = choice [explicitLink, referenceLink, autoLink] "link" explicitLink :: PandocMonad m => RSTParser m Inlines explicitLink = try $ do char '`' notFollowedBy (char '`') -- `` marks start of inline code label' <- trimInlines . mconcat <$> manyTill (notFollowedBy (char '`') >> inlineContent) (char '<') src <- trim <$> manyTillChar (noneOf ">\n") (char '>') skipSpaces string "`_" optional $ char '_' -- anonymous form let label'' = if label' == mempty then B.str src else label' -- `link ` is a reference link to _google! ((src',tit),attr) <- if isURI src then return ((src, ""), nullAttr) else case T.unsnoc src of Just (xs, '_') -> lookupKey [] (toKey xs) _ -> return ((src, ""), nullAttr) return $ B.linkWith attr (escapeURI src') tit label'' citationName :: PandocMonad m => RSTParser m Text citationName = do raw <- citationMarker return $ "[" <> raw <> "]" referenceLink :: PandocMonad m => RSTParser m Inlines referenceLink = try $ do ref <- (referenceName <|> citationName) <* char '_' let label' = B.text ref let isAnonKey (Key (T.uncons -> Just ('_',_))) = True isAnonKey _ = False state <- getState let keyTable = stateKeys state key <- option (toKey ref) $ do char '_' let anonKeys = sort $ filter isAnonKey $ M.keys keyTable case anonKeys of [] -> mzero (k:_) -> return k ((src,tit), attr) <- lookupKey [] key -- if anonymous link, remove key so it won't be used again when (isAnonKey key) $ updateState $ \s -> s{ stateKeys = M.delete key keyTable } return $ B.linkWith attr src tit label' -- We keep a list of oldkeys so we can detect lookup loops. lookupKey :: PandocMonad m => [Key] -> Key -> RSTParser m ((Text, Text), Attr) lookupKey oldkeys key = do pos <- getPosition state <- getState let keyTable = stateKeys state case M.lookup key keyTable of Nothing -> do let Key key' = key logMessage $ ReferenceNotFound key' pos return (("",""),nullAttr) -- check for keys of the form link_, which need to be resolved: Just ((u, ""),_) | T.length u > 1, T.last u == '_', T.head u /= '#' -> do let rawkey = T.init u let newkey = toKey rawkey if newkey `elem` oldkeys then do logMessage $ CircularReference rawkey pos return (("",""),nullAttr) else lookupKey (key:oldkeys) newkey Just val -> return val autoURI :: Monad m => RSTParser m Inlines autoURI = do (orig, src) <- uri return $ B.link src "" $ B.str orig autoEmail :: Monad m => RSTParser m Inlines autoEmail = do (orig, src) <- emailAddress return $ B.link src "" $ B.str orig autoLink :: PandocMonad m => RSTParser m Inlines autoLink = autoURI <|> autoEmail subst :: PandocMonad m => RSTParser m Inlines subst = try $ do (_,ref) <- withRaw $ enclosed (char '|') (char '|') inline state <- getState let substTable = stateSubstitutions state let key = toKey $ stripFirstAndLast ref case M.lookup key substTable of Nothing -> do pos <- getPosition logMessage $ ReferenceNotFound (tshow key) pos return mempty Just target -> return target note :: PandocMonad m => RSTParser m Inlines note = try $ do optional whitespace ref <- noteMarker char '_' state <- getState let notes = stateNotes state case lookup ref notes of Nothing -> do pos <- getPosition logMessage $ ReferenceNotFound ref pos return mempty Just raw -> do -- We temporarily empty the note list while parsing the note, -- so that we don't get infinite loops with notes inside notes... -- Note references inside other notes are allowed in reST, but -- not yet in this implementation. updateState $ \st -> st{ stateNotes = [] } contents <- parseFromString' parseBlocks raw let newnotes = if ref == "*" || ref == "#" -- auto-numbered -- delete the note so the next auto-numbered note -- doesn't get the same contents: then deleteFirstsBy (==) notes [(ref,raw)] else notes updateState $ \st -> st{ stateNotes = newnotes } return $ B.note contents smart :: PandocMonad m => RSTParser m Inlines smart = do guardEnabled Ext_smart doubleQuoted <|> singleQuoted <|> choice [apostrophe, dash, ellipses] singleQuoted :: PandocMonad m => RSTParser m Inlines singleQuoted = try $ do singleQuoteStart withQuoteContext InSingleQuote $ B.singleQuoted . trimInlines . mconcat <$> many1Till inline singleQuoteEnd doubleQuoted :: PandocMonad m => RSTParser m Inlines doubleQuoted = try $ do doubleQuoteStart withQuoteContext InDoubleQuote $ B.doubleQuoted . trimInlines . mconcat <$> many1Till inline doubleQuoteEnd �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Roff.hs������������������������������������������������������0000664�0000000�0000000�00000057450�13636304630�0020702�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Readers.Roff Copyright : Copyright (C) 2018-2020 Yan Pashkovsky and John MacFarlane License : GNU GPL, version 2 or above Maintainer : Yan Pashkovsky Stability : WIP Portability : portable Tokenizer for roff formats (man, ms). -} module Text.Pandoc.Readers.Roff ( FontSpec(..) , defaultFontSpec , LinePart(..) , Arg , TableOption , CellFormat(..) , TableRow , RoffToken(..) , RoffTokens(..) , linePartsToText , lexRoff ) where import Safe (lastDef) import Control.Monad (void, mzero, mplus, guard) import Control.Monad.Except (throwError) import Text.Pandoc.Class.PandocMonad (getResourcePath, readFileFromDirs, PandocMonad(..), report) import Data.Char (isLower, toLower, toUpper, chr, isAscii, isAlphaNum) import Data.Default (Default) import qualified Data.Map as M import Data.List (intercalate) import qualified Data.Text as T import Text.Pandoc.Logging (LogMessage(..)) import Text.Pandoc.Options import Text.Pandoc.Parsing import Text.Pandoc.Shared (safeRead) import Text.Parsec hiding (tokenPrim) import Text.Pandoc.RoffChar (characterCodes, combiningAccents) import qualified Data.Sequence as Seq import qualified Data.Foldable as Foldable import qualified Data.Text.Normalize as Normalize -- import Debug.Trace (traceShowId) -- -- Data Types -- data FontSpec = FontSpec{ fontBold :: Bool , fontItalic :: Bool , fontMonospace :: Bool } deriving (Show, Eq, Ord) defaultFontSpec :: FontSpec defaultFontSpec = FontSpec False False False data LinePart = RoffStr T.Text | Font FontSpec | MacroArg Int deriving Show type Arg = [LinePart] type TableOption = (T.Text, T.Text) data CellFormat = CellFormat { columnType :: Char , pipePrefix :: Bool , pipeSuffix :: Bool , columnSuffixes :: [T.Text] } deriving (Show, Eq, Ord) type TableRow = ([CellFormat], [RoffTokens]) data RoffToken = TextLine [LinePart] | EmptyLine | ControlLine T.Text [Arg] SourcePos | Tbl [TableOption] [TableRow] SourcePos deriving Show newtype RoffTokens = RoffTokens { unRoffTokens :: Seq.Seq RoffToken } deriving (Show, Semigroup, Monoid) singleTok :: RoffToken -> RoffTokens singleTok t = RoffTokens (Seq.singleton t) data RoffMode = NormalMode | CopyMode deriving Show data RoffState = RoffState { customMacros :: M.Map T.Text RoffTokens , prevFont :: FontSpec , currentFont :: FontSpec , tableTabChar :: Char , roffMode :: RoffMode , lastExpression :: Maybe Bool , afterConditional :: Bool } deriving Show instance Default RoffState where def = RoffState { customMacros = M.fromList $ map (\(n, s) -> (n, singleTok (TextLine [RoffStr s]))) [ ("Tm", "\x2122") , ("lq", "\x201C") , ("rq", "\x201D") , ("R", "\x00AE") ] , prevFont = defaultFontSpec , currentFont = defaultFontSpec , tableTabChar = '\t' , roffMode = NormalMode , lastExpression = Nothing , afterConditional = False } type RoffLexer m = ParserT T.Text RoffState m -- -- Lexer: T.Text -> RoffToken -- eofline :: Stream s m Char => ParsecT s u m () eofline = void newline <|> eof <|> () <$ lookAhead (string "\\}") spacetab :: Stream s m Char => ParsecT s u m Char spacetab = char ' ' <|> char '\t' characterCodeMap :: M.Map T.Text Char characterCodeMap = M.fromList $ map (\(x,y) -> (y,x)) characterCodes combiningAccentsMap :: M.Map T.Text Char combiningAccentsMap = M.fromList $ map (\(x,y) -> (y,x)) combiningAccents escape :: PandocMonad m => RoffLexer m [LinePart] escape = try $ do backslash escapeGlyph <|> escapeNormal escapeGlyph :: PandocMonad m => RoffLexer m [LinePart] escapeGlyph = do c <- lookAhead (oneOf ['[','(']) escapeArg >>= resolveGlyph c resolveGlyph :: PandocMonad m => Char -> T.Text -> RoffLexer m [LinePart] resolveGlyph delimChar glyph = do let cs = T.replace "_u" " u" glyph -- unicode glyphs separated by _ (case T.words cs of [] -> mzero [s] -> case M.lookup s characterCodeMap `mplus` readUnicodeChar s of Nothing -> mzero Just c -> return [RoffStr $ T.singleton c] (s:ss) -> do basechar <- case M.lookup s characterCodeMap `mplus` readUnicodeChar s of Nothing -> case T.unpack s of [ch] | isAscii ch && isAlphaNum ch -> return ch _ -> mzero Just c -> return c let addAccents [] xs = return $ Normalize.normalize Normalize.NFC $ T.reverse xs addAccents (a:as) xs = case M.lookup a combiningAccentsMap `mplus` readUnicodeChar a of Just x -> addAccents as $ T.cons x xs Nothing -> mzero addAccents ss (T.singleton basechar) >>= \xs -> return [RoffStr xs]) <|> case delimChar of '[' -> escUnknown ("\\[" <> glyph <> "]") '(' -> escUnknown ("\\(" <> glyph) '\'' -> escUnknown ("\\C'" <> glyph <> "'") _ -> Prelude.fail "resolveGlyph: unknown glyph delimiter" readUnicodeChar :: T.Text -> Maybe Char readUnicodeChar t = case T.uncons t of Just ('u', cs) | T.length cs > 3 -> chr <$> safeRead ("0x" <> cs) _ -> Nothing escapeNormal :: PandocMonad m => RoffLexer m [LinePart] escapeNormal = do c <- noneOf "{}" optional expandString case c of ' ' -> return [RoffStr " "] '"' -> mempty <$ skipMany (satisfy (/='\n')) -- line comment '#' -> mempty <$ manyTill anyChar newline '%' -> return mempty -- optional hyphenation '&' -> return mempty -- nonprintable zero-width ')' -> return mempty -- nonprintable zero-width '*' -> escString ',' -> return mempty -- to fix spacing after roman '-' -> return [RoffStr "-"] '.' -> return [RoffStr "."] '/' -> return mempty -- to fix spacing before roman '0' -> return [RoffStr "\x2007"] -- digit-width space ':' -> return mempty -- zero-width break 'A' -> quoteArg >>= checkDefined 'B' -> escIgnore 'B' [quoteArg] 'C' -> quoteArg >>= resolveGlyph '\'' 'D' -> escIgnore 'D' [quoteArg] 'E' -> do mode <- roffMode <$> getState case mode of CopyMode -> return mempty NormalMode -> return [RoffStr "\\"] 'H' -> escIgnore 'H' [quoteArg] 'L' -> escIgnore 'L' [quoteArg] 'M' -> escIgnore 'M' [escapeArg, countChar 1 (satisfy (/='\n'))] 'N' -> escIgnore 'N' [quoteArg] 'O' -> escIgnore 'O' [countChar 1 (oneOf ['0','1'])] 'R' -> escIgnore 'R' [quoteArg] 'S' -> escIgnore 'S' [quoteArg] 'V' -> escIgnore 'V' [escapeArg, countChar 1 alphaNum] 'X' -> escIgnore 'X' [quoteArg] 'Y' -> escIgnore 'Y' [escapeArg, countChar 1 (satisfy (/='\n'))] 'Z' -> escIgnore 'Z' [quoteArg] '\'' -> return [RoffStr "'"] '\n' -> return mempty -- line continuation '^' -> return [RoffStr "\x200A"] -- 1/12 em space '_' -> return [RoffStr "_"] '`' -> return [RoffStr "`"] 'a' -> return mempty -- "non-interpreted leader character" 'b' -> escIgnore 'b' [quoteArg] 'c' -> return mempty -- interrupt text processing 'd' -> escIgnore 'd' [] -- forward down 1/2em 'e' -> return [RoffStr "\\"] 'f' -> escFont 'g' -> escIgnore 'g' [escapeArg, countChar 1 (satisfy (/='\n'))] 'h' -> escIgnore 'h' [quoteArg] 'k' -> escIgnore 'k' [escapeArg, countChar 1 (satisfy (/='\n'))] 'l' -> escIgnore 'l' [quoteArg] 'm' -> escIgnore 'm' [escapeArg, countChar 1 (satisfy (/='\n'))] 'n' -> escIgnore 'm' [escapeArg, countChar 1 (satisfy (/='\n'))] 'o' -> escIgnore 'o' [quoteArg] 'p' -> escIgnore 'p' [] 'r' -> escIgnore 'r' [] 's' -> escIgnore 's' [escapeArg, signedNumber] 't' -> return [RoffStr "\t"] 'u' -> escIgnore 'u' [] 'v' -> escIgnore 'v' [quoteArg] 'w' -> escIgnore 'w' [quoteArg] 'x' -> escIgnore 'x' [quoteArg] 'z' -> escIgnore 'z' [countChar 1 anyChar] '|' -> return [RoffStr "\x2006"] --1/6 em space '~' -> return [RoffStr "\160"] -- nonbreaking space '\\' -> do mode <- roffMode <$> getState case mode of CopyMode -> char '\\' NormalMode -> return '\\' return [RoffStr "\\"] _ -> return [RoffStr $ T.singleton c] -- man 7 groff: "If a backslash is followed by a character that -- does not constitute a defined escape sequence, the backslash -- is silently ignored and the character maps to itself." escIgnore :: PandocMonad m => Char -> [RoffLexer m T.Text] -> RoffLexer m [LinePart] escIgnore c argparsers = do pos <- getPosition arg <- snd <$> withRaw (choice argparsers) <|> return "" report $ SkippedContent ("\\" <> T.cons c arg) pos return mempty escUnknown :: PandocMonad m => T.Text -> RoffLexer m [LinePart] escUnknown s = do pos <- getPosition report $ SkippedContent s pos return [RoffStr "\xFFFD"] signedNumber :: PandocMonad m => RoffLexer m T.Text signedNumber = try $ do sign <- option "" ("-" <$ char '-' <|> "" <$ char '+') ds <- many1Char digit return (sign <> ds) -- Parses: [..] or (.. escapeArg :: PandocMonad m => RoffLexer m T.Text escapeArg = choice [ char '[' *> optional expandString *> manyTillChar (noneOf ['\n',']']) (char ']') , char '(' *> optional expandString *> countChar 2 (satisfy (/='\n')) ] expandString :: PandocMonad m => RoffLexer m () expandString = try $ do pos <- getPosition char '\\' char '*' cs <- escapeArg <|> countChar 1 anyChar s <- linePartsToText <$> resolveText cs pos getInput >>= setInput . (s <>) return () -- Parses: '..' quoteArg :: PandocMonad m => RoffLexer m T.Text quoteArg = char '\'' *> manyTillChar (noneOf ['\n','\'']) (char '\'') escFont :: PandocMonad m => RoffLexer m [LinePart] escFont = do font <- escapeArg <|> countChar 1 alphaNum font' <- if T.null font || font == "P" then prevFont <$> getState else return $ foldr processFontLetter defaultFontSpec $ T.unpack font modifyState $ \st -> st{ prevFont = currentFont st , currentFont = font' } return [Font font'] where processFontLetter c fs | isLower c = processFontLetter (toUpper c) fs processFontLetter 'B' fs = fs{ fontBold = True } processFontLetter 'I' fs = fs{ fontItalic = True } processFontLetter 'C' fs = fs{ fontMonospace = True } processFontLetter _ fs = fs -- do nothing -- separate function from lexMacro since real man files sometimes do not -- follow the rules lexComment :: PandocMonad m => RoffLexer m RoffTokens lexComment = do try $ string ".\\\"" skipMany $ noneOf "\n" eofline return mempty lexMacro :: PandocMonad m => RoffLexer m RoffTokens lexMacro = do pos <- getPosition st <- getState guard $ sourceColumn pos == 1 || afterConditional st char '.' <|> char '\'' skipMany spacetab macroName <- manyChar (satisfy isAlphaNum) case macroName of "nop" -> return mempty "ie" -> lexConditional "ie" "if" -> lexConditional "if" "el" -> lexConditional "el" "while" -> lexConditional "while" -- this doesn't get the semantics right but -- avoids parse errors _ -> do args <- lexArgs case macroName of "" -> return mempty "TS" -> lexTable pos "de" -> lexMacroDef args "de1" -> lexMacroDef args "ds" -> lexStringDef args "ds1" -> lexStringDef args "sp" -> return $ singleTok EmptyLine "so" -> lexIncludeFile args _ -> resolveMacro macroName args pos lexTable :: PandocMonad m => SourcePos -> RoffLexer m RoffTokens lexTable pos = do skipMany lexComment spaces opts <- try tableOptions <|> [] <$ optional (char ';') case lookup "tab" opts of Just (T.uncons -> Just (c, _)) -> modifyState $ \st -> st{ tableTabChar = c } _ -> modifyState $ \st -> st{ tableTabChar = '\t' } spaces skipMany lexComment spaces rows <- lexTableRows morerows <- many $ try $ do string ".T&" skipMany spacetab newline lexTableRows string ".TE" skipMany spacetab eofline return $ singleTok $ Tbl opts (rows <> concat morerows) pos lexTableRows :: PandocMonad m => RoffLexer m [TableRow] lexTableRows = do aligns <- tableFormatSpec spaces skipMany $ lexComment <|> try (mempty <$ (string ".sp" >> skipMany spaceChar >> newline)) spaces rows <- many (notFollowedBy (try (string ".TE") <|> try (string ".T&")) >> tableRow) return $ zip aligns rows tableCell :: PandocMonad m => RoffLexer m RoffTokens tableCell = do pos <- getPosition (enclosedCell <|> simpleCell) >>= lexRoff pos . T.pack where enclosedCell = do try (string "T{") manyTill anyChar (try (string "T}")) simpleCell = do tabChar <- tableTabChar <$> getState many (notFollowedBy (char tabChar <|> newline) >> anyChar) tableRow :: PandocMonad m => RoffLexer m [RoffTokens] tableRow = do tabChar <- tableTabChar <$> getState c <- tableCell cs <- many $ try (char tabChar >> tableCell) skipMany spacetab eofline skipMany lexComment return (c:cs) tableOptions :: PandocMonad m => RoffLexer m [TableOption] tableOptions = many1 tableOption <* spaces <* char ';' tableOption :: PandocMonad m => RoffLexer m TableOption tableOption = do k <- many1Char letter v <- option "" $ try $ do skipMany spacetab char '(' manyTillChar anyChar (char ')') skipMany spacetab optional (char ',' >> skipMany spacetab) return (k,v) tableFormatSpec :: PandocMonad m => RoffLexer m [[CellFormat]] tableFormatSpec = do first <- tableFormatSpecLine rest <- many $ try $ (newline <|> char ',') *> tableFormatSpecLine let speclines = first:rest spaces char '.' return $ speclines <> repeat (lastDef [] speclines) -- last line is default tableFormatSpecLine :: PandocMonad m => RoffLexer m [CellFormat] tableFormatSpecLine = many1 $ skipMany spacetab *> tableColFormat <* skipMany spacetab tableColFormat :: PandocMonad m => RoffLexer m CellFormat tableColFormat = do pipePrefix' <- option False $ True <$ try (string "|" <* notFollowedBy spacetab) c <- oneOf ['a','A','c','C','l','L','n','N','r','R','s','S','^','_','-', '=','|'] suffixes <- many $ try (skipMany spacetab *> countChar 1 digit) <|> (do x <- oneOf ['b','B','d','D','e','E','f','F','i','I','m','M', 'p','P','t','T','u','U','v','V','w','W','x','X', 'z','Z'] num <- case toLower x of 'w' -> many1 digit <|> (do char '(' xs <- manyTill anyChar (char ')') return ("(" <> xs <> ")")) <|> return "" 'f' -> count 1 alphaNum <* skipMany spacetab 'm' -> count 1 alphaNum <* skipMany spacetab _ -> return "" return $ T.pack $ x : num) pipeSuffix' <- option False $ True <$ string "|" return $ CellFormat { columnType = c , pipePrefix = pipePrefix' , pipeSuffix = pipeSuffix' , columnSuffixes = suffixes } -- We don't fully handle the conditional. But we do -- include everything under '.ie n', which occurs commonly -- in man pages. lexConditional :: PandocMonad m => T.Text -> RoffLexer m RoffTokens lexConditional mname = do pos <- getPosition skipMany spacetab mbtest <- if mname == "el" then fmap not . lastExpression <$> getState else expression skipMany spacetab st <- getState -- save state, so we can reset it ifPart <- do optional $ try $ char '\\' >> newline lexGroup <|> do modifyState $ \s -> s{ afterConditional = True } t <- manToken modifyState $ \s -> s{ afterConditional = False } return t case mbtest of Nothing -> do putState st -- reset state, so we don't record macros in skipped section report $ SkippedContent (T.cons '.' mname) pos return mempty Just True -> return ifPart Just False -> do putState st return mempty expression :: PandocMonad m => RoffLexer m (Maybe Bool) expression = do raw <- charsInBalanced '(' ')' (satisfy (/= '\n')) <|> many1Char nonspaceChar returnValue $ case raw of "1" -> Just True "n" -> Just True -- nroff mode "t" -> Just False -- troff mode _ -> Nothing where returnValue v = do modifyState $ \st -> st{ lastExpression = v } return v lexGroup :: PandocMonad m => RoffLexer m RoffTokens lexGroup = do groupstart mconcat <$> manyTill manToken groupend where groupstart = try $ string "\\{" <* optional (try (string "\\\n")) groupend = try $ string "\\}" lexIncludeFile :: PandocMonad m => [Arg] -> RoffLexer m RoffTokens lexIncludeFile args = do pos <- getPosition case args of (f:_) -> do let fp = linePartsToText f dirs <- getResourcePath result <- readFileFromDirs dirs $ T.unpack fp case result of Nothing -> report $ CouldNotLoadIncludeFile fp pos Just s -> getInput >>= setInput . (s <>) return mempty [] -> return mempty resolveMacro :: PandocMonad m => T.Text -> [Arg] -> SourcePos -> RoffLexer m RoffTokens resolveMacro macroName args pos = do macros <- customMacros <$> getState case M.lookup macroName macros of Nothing -> return $ singleTok $ ControlLine macroName args pos Just ts -> do let fillLP (MacroArg i) zs = case drop (i - 1) args of [] -> zs (ys:_) -> ys <> zs fillLP z zs = z : zs let fillMacroArg (TextLine lineparts) = TextLine (foldr fillLP [] lineparts) fillMacroArg x = x return $ RoffTokens . fmap fillMacroArg . unRoffTokens $ ts lexStringDef :: PandocMonad m => [Arg] -> RoffLexer m RoffTokens lexStringDef args = do -- string definition case args of [] -> Prelude.fail "No argument to .ds" (x:ys) -> do let ts = singleTok $ TextLine (intercalate [RoffStr " " ] ys) let stringName = linePartsToText x modifyState $ \st -> st{ customMacros = M.insert stringName ts (customMacros st) } return mempty lexMacroDef :: PandocMonad m => [Arg] -> RoffLexer m RoffTokens lexMacroDef args = do -- macro definition modifyState $ \st -> st{ roffMode = CopyMode } (macroName, stopMacro) <- case args of (x : y : _) -> return (linePartsToText x, linePartsToText y) -- optional second arg (x:_) -> return (linePartsToText x, ".") [] -> Prelude.fail "No argument to .de" let stop = try $ do char '.' <|> char '\'' skipMany spacetab textStr stopMacro _ <- lexArgs return () ts <- mconcat <$> manyTill manToken stop modifyState $ \st -> st{ customMacros = M.insert macroName ts (customMacros st) , roffMode = NormalMode } return mempty lexArgs :: PandocMonad m => RoffLexer m [Arg] lexArgs = do args <- many $ try oneArg skipMany spacetab eofline return args where oneArg :: PandocMonad m => RoffLexer m [LinePart] oneArg = do skipMany $ try $ string "\\\n" -- continuation line try quotedArg <|> plainArg -- try, because there are some erroneous files, e.g. linux/bpf.2 plainArg :: PandocMonad m => RoffLexer m [LinePart] plainArg = do skipMany spacetab mconcat <$> many1 (macroArg <|> escape <|> regularText <|> unescapedQuote) where unescapedQuote = char '"' >> return [RoffStr "\""] quotedArg :: PandocMonad m => RoffLexer m [LinePart] quotedArg = do skipMany spacetab char '"' xs <- mconcat <$> many (macroArg <|> escape <|> regularText <|> spaceTabChar <|> escapedQuote) char '"' return xs where escapedQuote = try $ do char '"' char '"' return [RoffStr "\""] checkDefined :: PandocMonad m => T.Text -> RoffLexer m [LinePart] checkDefined name = do macros <- customMacros <$> getState case M.lookup name macros of Just _ -> return [RoffStr "1"] Nothing -> return [RoffStr "0"] escString :: PandocMonad m => RoffLexer m [LinePart] escString = try $ do pos <- getPosition (do cs <- escapeArg <|> countChar 1 anyChar resolveText cs pos) <|> mempty <$ char 'S' -- strings and macros share namespace resolveText :: PandocMonad m => T.Text -> SourcePos -> RoffLexer m [LinePart] resolveText stringname pos = do RoffTokens ts <- resolveMacro stringname [] pos case Foldable.toList ts of [TextLine xs] -> return xs _ -> do report $ SkippedContent ("unknown string " <> stringname) pos return mempty lexLine :: PandocMonad m => RoffLexer m RoffTokens lexLine = do mode <- roffMode <$> getState case mode of CopyMode -> optional $ try $ string "\\&" NormalMode -> return () lnparts <- mconcat <$> many1 linePart eofline go lnparts where -- return empty line if we only have empty strings; -- this can happen if the line just contains \f[C], for example. go [] = return mempty go (RoffStr "" : xs) = go xs go xs = return $ singleTok $ TextLine xs linePart :: PandocMonad m => RoffLexer m [LinePart] linePart = macroArg <|> escape <|> regularText <|> quoteChar <|> spaceTabChar backslash :: PandocMonad m => RoffLexer m () backslash = do char '\\' mode <- roffMode <$> getState case mode of -- experimentally, it seems you don't always need to double -- the backslash in macro defs. It's essential with \\$1, -- but not with \\f[I]. So we make the second one optional. CopyMode -> optional $ char '\\' NormalMode -> return () macroArg :: PandocMonad m => RoffLexer m [LinePart] macroArg = try $ do pos <- getPosition backslash char '$' x <- escapeArg <|> countChar 1 digit case safeRead x of Just i -> return [MacroArg i] Nothing -> do report $ SkippedContent ("illegal macro argument " <> x) pos return [] regularText :: PandocMonad m => RoffLexer m [LinePart] regularText = do s <- many1Char $ noneOf "\n\r\t \\\"" return [RoffStr s] quoteChar :: PandocMonad m => RoffLexer m [LinePart] quoteChar = do char '"' return [RoffStr "\""] spaceTabChar :: PandocMonad m => RoffLexer m [LinePart] spaceTabChar = do c <- spacetab return [RoffStr $ T.singleton c] lexEmptyLine :: PandocMonad m => RoffLexer m RoffTokens lexEmptyLine = newline >> return (singleTok EmptyLine) manToken :: PandocMonad m => RoffLexer m RoffTokens manToken = lexComment <|> lexMacro <|> lexLine <|> lexEmptyLine linePartsToText :: [LinePart] -> T.Text linePartsToText = mconcat . map go where go (RoffStr s) = s go _ = mempty -- | Tokenize a string as a sequence of roff tokens. lexRoff :: PandocMonad m => SourcePos -> T.Text -> m RoffTokens lexRoff pos txt = do eithertokens <- readWithM (do setPosition pos mconcat <$> many manToken) def txt case eithertokens of Left e -> throwError e Right tokenz -> return tokenz ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/TWiki.hs�����������������������������������������������������0000664�0000000�0000000�00000044141�13636304630�0021026�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RelaxedPolyRec #-} -- RelaxedPolyRec needed for inlinesBetween on GHC < 7 {- | Module : Text.Pandoc.Readers.TWiki Copyright : Copyright (C) 2014 Alexander Sulfrian License : GNU GPL, version 2 or above Maintainer : Alexander Sulfrian Stability : alpha Portability : portable Conversion of twiki text to 'Pandoc' document. -} module Text.Pandoc.Readers.TWiki ( readTWiki ) where import Control.Monad import Control.Monad.Except (throwError) import Data.Char (isAlphaNum) import qualified Data.Foldable as F import Data.Maybe (fromMaybe) import Data.Text (Text) import qualified Data.Text as T import Text.HTML.TagSoup import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (enclosed, nested) import Text.Pandoc.Readers.HTML (htmlTag, isCommentTag) import Text.Pandoc.Shared (crFilter, tshow) import Text.Pandoc.XML (fromEntities) -- | Read twiki from an input string and return a Pandoc document. readTWiki :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readTWiki opts s = do res <- readWithM parseTWiki def{ stateOptions = opts } (crFilter s <> "\n\n") case res of Left e -> throwError e Right d -> return d type TWParser = ParserT Text ParserState -- -- utility functions -- tryMsg :: Text -> TWParser m a -> TWParser m a tryMsg msg p = try p T.unpack msg nested :: PandocMonad m => TWParser m a -> TWParser m a nested p = do nestlevel <- stateMaxNestingLevel <$> getState guard $ nestlevel > 0 updateState $ \st -> st{ stateMaxNestingLevel = stateMaxNestingLevel st - 1 } res <- p updateState $ \st -> st{ stateMaxNestingLevel = nestlevel } return res htmlElement :: PandocMonad m => Text -> TWParser m (Attr, Text) htmlElement tag = tryMsg tag $ do (TagOpen _ attr, _) <- htmlTag (~== TagOpen tag []) content <- T.pack <$> manyTill anyChar (endtag <|> endofinput) return (htmlAttrToPandoc attr, trim content) where endtag = void $ htmlTag (~== TagClose tag) endofinput = lookAhead $ try $ skipMany blankline >> skipSpaces >> eof trim = T.dropAround (=='\n') htmlAttrToPandoc :: [Attribute Text] -> Attr htmlAttrToPandoc attrs = (ident, classes, keyvals) where ident = fromMaybe "" $ lookup "id" attrs classes = maybe [] T.words $ lookup "class" attrs keyvals = [(k,v) | (k,v) <- attrs, k /= "id" && k /= "class"] parseHtmlContentWithAttrs :: PandocMonad m => Text -> TWParser m a -> TWParser m (Attr, [a]) parseHtmlContentWithAttrs tag parser = do (attr, content) <- htmlElement tag parsedContent <- try $ parseContent content return (attr, parsedContent) where parseContent = parseFromString' $ nested $ manyTill parser endOfContent endOfContent = try $ skipMany blankline >> skipSpaces >> eof parseCharHtmlContentWithAttrs :: PandocMonad m => Text -> TWParser m Char -> TWParser m (Attr, Text) parseCharHtmlContentWithAttrs tag = fmap go . parseHtmlContentWithAttrs tag where go (x, y) = (x, T.pack y) parseHtmlContent :: PandocMonad m => Text -> TWParser m a -> TWParser m [a] parseHtmlContent tag p = snd <$> parseHtmlContentWithAttrs tag p -- -- main parser -- parseTWiki :: PandocMonad m => TWParser m Pandoc parseTWiki = B.doc . mconcat <$> many block <* spaces <* eof -- -- block parsers -- block :: PandocMonad m => TWParser m B.Blocks block = do res <- mempty <$ skipMany1 blankline <|> blockElements <|> para skipMany blankline trace (T.take 60 $ tshow $ B.toList res) return res blockElements :: PandocMonad m => TWParser m B.Blocks blockElements = choice [ separator , header , verbatim , literal , list "" , table , blockQuote , noautolink ] separator :: PandocMonad m => TWParser m B.Blocks separator = tryMsg "separator" $ string "---" >> newline >> return B.horizontalRule header :: PandocMonad m => TWParser m B.Blocks header = tryMsg "header" $ do string "---" level <- length <$> many1 (char '+') guard $ level <= 6 classes <- option [] $ string "!!" >> return ["unnumbered"] skipSpaces content <- B.trimInlines . mconcat <$> manyTill inline newline attr <- registerHeader ("", classes, []) content return $ B.headerWith attr level content verbatim :: PandocMonad m => TWParser m B.Blocks verbatim = uncurry B.codeBlockWith <$> (htmlElement "verbatim" <|> htmlElement "pre") literal :: PandocMonad m => TWParser m B.Blocks literal = rawBlock <$> htmlElement "literal" where format (_, _, kvs) = fromMaybe "html" $ lookup "format" kvs rawBlock (attrs, content) = B.rawBlock (format attrs) content list :: PandocMonad m => Text -> TWParser m B.Blocks list prefix = choice [ bulletList prefix , orderedList prefix , definitionList prefix] definitionList :: PandocMonad m => Text -> TWParser m B.Blocks definitionList prefix = tryMsg "definitionList" $ do indent <- lookAhead $ textStr prefix *> many1 (textStr " ") <* textStr "$ " elements <- many $ parseDefinitionListItem (prefix <> T.concat indent) return $ B.definitionList elements where parseDefinitionListItem :: PandocMonad m => Text -> TWParser m (B.Inlines, [B.Blocks]) parseDefinitionListItem indent = do textStr (indent <> "$ ") >> skipSpaces term <- many1Till inline $ string ": " line <- listItemLine indent $ string "$ " return (mconcat term, [line]) bulletList :: PandocMonad m => Text -> TWParser m B.Blocks bulletList prefix = tryMsg "bulletList" $ parseList prefix (char '*') (char ' ') orderedList :: PandocMonad m => Text -> TWParser m B.Blocks orderedList prefix = tryMsg "orderedList" $ parseList prefix (oneOf "1iIaA") (string ". ") parseList :: PandocMonad m => Text -> TWParser m Char -> TWParser m a -> TWParser m B.Blocks parseList prefix marker delim = do (indent, style) <- lookAhead $ textStr prefix *> listStyle <* delim blocks <- many $ parseListItem (prefix <> indent) (char style <* delim) return $ case style of '1' -> B.orderedListWith (1, DefaultStyle, DefaultDelim) blocks 'i' -> B.orderedListWith (1, LowerRoman, DefaultDelim) blocks 'I' -> B.orderedListWith (1, UpperRoman, DefaultDelim) blocks 'a' -> B.orderedListWith (1, LowerAlpha, DefaultDelim) blocks 'A' -> B.orderedListWith (1, UpperAlpha, DefaultDelim) blocks _ -> B.bulletList blocks where listStyle = do indent <- many1 $ textStr " " style <- marker return (T.concat indent, style) parseListItem :: (PandocMonad m, Show a) => Text -> TWParser m a -> TWParser m B.Blocks parseListItem prefix marker = textStr prefix >> marker >> listItemLine prefix marker listItemLine :: (PandocMonad m, Show a) => Text -> TWParser m a -> TWParser m B.Blocks listItemLine prefix marker = mconcat <$> (lineContent >>= parseContent) where lineContent = do content <- anyLine continuation <- optionMaybe listContinuation return $ filterSpaces content <> "\n" <> maybe "" (" " <>) continuation filterSpaces = T.dropWhileEnd (== ' ') listContinuation = notFollowedBy (textStr prefix >> marker) >> string " " >> lineContent parseContent = parseFromString' $ many1 $ nestedList <|> parseInline parseInline = (B.plain . mconcat) <$> many1Till inline (lastNewline <|> newlineBeforeNestedList) nestedList = list prefix lastNewline = try $ char '\n' <* eof newlineBeforeNestedList = try $ char '\n' <* lookAhead nestedList table :: PandocMonad m => TWParser m B.Blocks table = try $ do tableHead <- optionMaybe (unzip <$> many1Till tableParseHeader newline) rows <- many1 tableParseRow return $ buildTable mempty rows $ fromMaybe (align rows, columns rows) tableHead where buildTable caption rows (aligns, heads) = B.table caption aligns heads rows align rows = replicate (columCount rows) (AlignDefault, 0) columns rows = replicate (columCount rows) mempty columCount rows = length $ head rows tableParseHeader :: PandocMonad m => TWParser m ((Alignment, Double), B.Blocks) tableParseHeader = try $ do char '|' leftSpaces <- length <$> many spaceChar char '*' content <- tableColumnContent (char '*' >> skipSpaces >> char '|') char '*' rightSpaces <- length <$> many spaceChar optional tableEndOfRow return (tableAlign leftSpaces rightSpaces, content) where tableAlign left right | left >= 2 && left == right = (AlignCenter, 0) | left > right = (AlignRight, 0) | otherwise = (AlignLeft, 0) tableParseRow :: PandocMonad m => TWParser m [B.Blocks] tableParseRow = many1Till tableParseColumn newline tableParseColumn :: PandocMonad m => TWParser m B.Blocks tableParseColumn = char '|' *> skipSpaces *> tableColumnContent (skipSpaces >> char '|') <* skipSpaces <* optional tableEndOfRow tableEndOfRow :: PandocMonad m => TWParser m Char tableEndOfRow = lookAhead (try $ char '|' >> char '\n') >> char '|' tableColumnContent :: PandocMonad m => TWParser m a -> TWParser m B.Blocks tableColumnContent end = (B.plain . mconcat) <$> manyTill content (lookAhead $ try end) where content = continuation <|> inline continuation = try $ char '\\' >> newline >> return mempty blockQuote :: PandocMonad m => TWParser m B.Blocks blockQuote = (B.blockQuote . mconcat) <$> parseHtmlContent "blockquote" block noautolink :: PandocMonad m => TWParser m B.Blocks noautolink = do (_, content) <- htmlElement "noautolink" st <- getState setState $ st{ stateAllowLinks = False } blocks <- try $ parseContent content setState $ st{ stateAllowLinks = True } return $ mconcat blocks where parseContent = parseFromString' $ many block para :: PandocMonad m => TWParser m B.Blocks para = (result . mconcat) <$> many1Till inline endOfParaElement where endOfParaElement = lookAhead $ endOfInput <|> endOfPara <|> newBlockElement endOfInput = try $ skipMany blankline >> skipSpaces >> eof endOfPara = try $ blankline >> skipMany1 blankline newBlockElement = try $ blankline >> void blockElements result content = if F.all (==Space) content then mempty else B.para $ B.trimInlines content -- -- inline parsers -- inline :: PandocMonad m => TWParser m B.Inlines inline = choice [ whitespace , br , macro , strong , strongHtml , strongAndEmph , emph , emphHtml , boldCode , smart , link , htmlComment , code , codeHtml , nop , autoLink , str , symbol ] "inline" whitespace :: PandocMonad m => TWParser m B.Inlines whitespace = lb <|> regsp where lb = try $ skipMany spaceChar >> linebreak >> return B.space regsp = try $ skipMany1 spaceChar >> return B.space br :: PandocMonad m => TWParser m B.Inlines br = try $ string "%BR%" >> return B.linebreak linebreak :: PandocMonad m => TWParser m B.Inlines linebreak = newline >> notFollowedBy newline >> (lastNewline <|> innerNewline) where lastNewline = eof >> return mempty innerNewline = return B.space between :: (Monoid c, PandocMonad m, Show b) => TWParser m a -> TWParser m b -> (TWParser m b -> TWParser m c) -> TWParser m c between start end p = mconcat <$> try (start >> notFollowedBy whitespace >> many1Till (p end) end) enclosed :: (Monoid b, PandocMonad m, Show a) => TWParser m a -> (TWParser m a -> TWParser m b) -> TWParser m b enclosed sep p = between sep (try $ sep <* endMarker) p where endMarker = lookAhead $ void endSpace <|> void (oneOf ".,!?:)|") <|> eof endSpace = (spaceChar <|> newline) >> return B.space macro :: PandocMonad m => TWParser m B.Inlines macro = macroWithParameters <|> withoutParameters where withoutParameters = emptySpan <$> enclosed (char '%') (const macroName) emptySpan name = buildSpan name [] mempty macroWithParameters :: PandocMonad m => TWParser m B.Inlines macroWithParameters = try $ do char '%' name <- macroName (content, kvs) <- attributes char '%' return $ buildSpan name kvs $ B.str content buildSpan :: Text -> [(Text, Text)] -> B.Inlines -> B.Inlines buildSpan className kvs = B.spanWith attrs where attrs = ("", ["twiki-macro", className] ++ additionalClasses, kvsWithoutClasses) additionalClasses = maybe [] T.words $ lookup "class" kvs kvsWithoutClasses = [(k,v) | (k,v) <- kvs, k /= "class"] macroName :: PandocMonad m => TWParser m Text macroName = do first <- letter rest <- many $ alphaNum <|> char '_' return $ T.pack $ first:rest attributes :: PandocMonad m => TWParser m (Text, [(Text, Text)]) attributes = foldr (either mkContent mkKvs) ("", []) <$> (char '{' *> spnl *> many (attribute <* spnl) <* char '}') where spnl = skipMany (spaceChar <|> newline) mkContent c ("", kvs) = (c, kvs) mkContent c (rest, kvs) = (c <> " " <> rest, kvs) mkKvs kv (cont, rest) = (cont, kv : rest) attribute :: PandocMonad m => TWParser m (Either Text (Text, Text)) attribute = withKey <|> withoutKey where withKey = try $ do key <- macroName char '=' curry Right key <$> parseValue False withoutKey = try $ Left <$> parseValue True parseValue allowSpaces = fromEntities <$> (withQuotes <|> withoutQuotes allowSpaces) withQuotes = between (char '"') (char '"') (\_ -> countChar 1 $ noneOf ['"']) withoutQuotes allowSpaces | allowSpaces = many1Char $ noneOf "}" | otherwise = many1Char $ noneOf " }" nestedInlines :: (Show a, PandocMonad m) => TWParser m a -> TWParser m B.Inlines nestedInlines end = innerSpace <|> nestedInline where innerSpace = try $ whitespace <* notFollowedBy end nestedInline = notFollowedBy whitespace >> nested inline strong :: PandocMonad m => TWParser m B.Inlines strong = try $ B.strong <$> enclosed (char '*') nestedInlines strongHtml :: PandocMonad m => TWParser m B.Inlines strongHtml = B.strong . mconcat <$> (parseHtmlContent "strong" inline <|> parseHtmlContent "b" inline) strongAndEmph :: PandocMonad m => TWParser m B.Inlines strongAndEmph = try $ B.emph . B.strong <$> enclosed (string "__") nestedInlines emph :: PandocMonad m => TWParser m B.Inlines emph = try $ B.emph <$> enclosed (char '_') (\p -> notFollowedBy (char '|') >> nestedInlines p) -- emphasis closers can't cross table cell boundaries, see #3921 emphHtml :: PandocMonad m => TWParser m B.Inlines emphHtml = B.emph . mconcat <$> (parseHtmlContent "em" inline <|> parseHtmlContent "i" inline) nestedString :: (Show a, PandocMonad m) => TWParser m a -> TWParser m Text nestedString end = innerSpace <|> countChar 1 nonspaceChar where innerSpace = try $ many1Char spaceChar <* notFollowedBy end boldCode :: PandocMonad m => TWParser m B.Inlines boldCode = try $ (B.strong . B.code . fromEntities) <$> enclosed (string "==") nestedString htmlComment :: PandocMonad m => TWParser m B.Inlines htmlComment = htmlTag isCommentTag >> return mempty code :: PandocMonad m => TWParser m B.Inlines code = try $ (B.code . fromEntities) <$> enclosed (char '=') nestedString codeHtml :: PandocMonad m => TWParser m B.Inlines codeHtml = do (attrs, content) <- parseCharHtmlContentWithAttrs "code" anyChar return $ B.codeWith attrs $ fromEntities content autoLink :: PandocMonad m => TWParser m B.Inlines autoLink = try $ do state <- getState guard $ stateAllowLinks state (text, url) <- parseLink guard $ checkLink (T.last url) return $ makeLink (text, url) where parseLink = notFollowedBy nop >> (uri <|> emailAddress) makeLink (text, url) = B.link url "" $ B.str text checkLink c | c == '/' = True | otherwise = isAlphaNum c str :: PandocMonad m => TWParser m B.Inlines str = B.str <$> (many1Char alphaNum <|> countChar 1 characterReference) nop :: PandocMonad m => TWParser m B.Inlines nop = try $ (void exclamation <|> void nopTag) >> followContent where exclamation = char '!' nopTag = stringAnyCase "" followContent = B.str . fromEntities <$> many1Char nonspaceChar symbol :: PandocMonad m => TWParser m B.Inlines symbol = B.str <$> countChar 1 nonspaceChar smart :: PandocMonad m => TWParser m B.Inlines smart = do guardEnabled Ext_smart doubleQuoted <|> singleQuoted <|> choice [ apostrophe , dash , ellipses ] singleQuoted :: PandocMonad m => TWParser m B.Inlines singleQuoted = try $ do singleQuoteStart withQuoteContext InSingleQuote (B.singleQuoted . B.trimInlines . mconcat <$> many1Till inline singleQuoteEnd) doubleQuoted :: PandocMonad m => TWParser m B.Inlines doubleQuoted = try $ do doubleQuoteStart contents <- mconcat <$> many (try $ notFollowedBy doubleQuoteEnd >> inline) withQuoteContext InDoubleQuote (doubleQuoteEnd >> return (B.doubleQuoted $ B.trimInlines contents)) <|> return (B.str "\8220" B.<> contents) link :: PandocMonad m => TWParser m B.Inlines link = try $ do st <- getState guard $ stateAllowLinks st setState $ st{ stateAllowLinks = False } (url, title, content) <- linkText setState $ st{ stateAllowLinks = True } return $ B.link url title content linkText :: PandocMonad m => TWParser m (Text, Text, B.Inlines) linkText = do string "[[" url <- T.pack <$> many1Till anyChar (char ']') content <- option (B.str url) (mconcat <$> linkContent) char ']' return (url, "", content) where linkContent = char '[' >> many1Till anyChar (char ']') >>= parseLinkContent . T.pack parseLinkContent = parseFromString' $ many1 inline �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Readers/Textile.hs���������������������������������������������������0000664�0000000�0000000�00000061362�13636304630�0021421�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Readers.Textile Copyright : Copyright (C) 2010-2012 Paul Rivier 2010-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : Paul Rivier Stability : alpha Portability : portable Conversion from Textile to 'Pandoc' document, based on the spec available at http://redcloth.org/textile. Implemented and parsed: - Paragraphs - Code blocks - Lists - blockquote - Inlines : strong, emph, cite, code, deleted, superscript, subscript, links - footnotes - HTML-specific and CSS-specific attributes on headers Left to be implemented: - dimension sign - all caps - continued blocks (ex bq..) TODO : refactor common patterns across readers : - more ... -} module Text.Pandoc.Readers.Textile ( readTextile) where import Control.Monad (guard, liftM) import Control.Monad.Except (throwError) import Data.Char (digitToInt, isUpper) import Data.List (intersperse, transpose) import Data.Text (Text) import qualified Data.Text as T import Text.HTML.TagSoup (Tag (..), fromAttrib) import Text.HTML.TagSoup.Match import Text.Pandoc.Builder (Blocks, Inlines, trimInlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.CSS import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Parsing import Text.Pandoc.Readers.HTML (htmlTag, isBlockTag, isInlineTag) import Text.Pandoc.Readers.LaTeX (rawLaTeXBlock, rawLaTeXInline) import Text.Pandoc.Shared (crFilter, trim, underlineSpan, tshow) -- | Parse a Textile text and return a Pandoc document. readTextile :: PandocMonad m => ReaderOptions -- ^ Reader options -> Text -- ^ String to parse (assuming @'\n'@ line endings) -> m Pandoc readTextile opts s = do parsed <- readWithM parseTextile def{ stateOptions = opts } (crFilter s <> "\n\n") case parsed of Right result -> return result Left e -> throwError e -- | Generate a Pandoc ADT from a textile document parseTextile :: PandocMonad m => ParserT Text ParserState m Pandoc parseTextile = do many blankline startPos <- getPosition -- go through once just to get list of reference keys and notes -- docMinusKeys is the raw document with blanks where the keys/notes were... let firstPassParser = noteBlock <|> lineClump manyTill firstPassParser eof >>= setInput . T.concat setPosition startPos st' <- getState let reversedNotes = stateNotes st' updateState $ \s -> s { stateNotes = reverse reversedNotes } -- now parse it for real... Pandoc nullMeta . B.toList <$> parseBlocks -- FIXME noteMarker :: PandocMonad m => ParserT Text ParserState m Text noteMarker = skipMany spaceChar >> string "fn" >> T.pack <$> manyTill digit (char '.') noteBlock :: PandocMonad m => ParserT Text ParserState m Text noteBlock = try $ do startPos <- getPosition ref <- noteMarker optional blankline contents <- T.unlines <$> many1Till anyLine (blanklines <|> noteBlock) endPos <- getPosition let newnote = (ref, contents <> "\n") st <- getState let oldnotes = stateNotes st updateState $ \s -> s { stateNotes = newnote : oldnotes } -- return blanks so line count isn't affected return $ T.replicate (sourceLine endPos - sourceLine startPos) "\n" -- | Parse document blocks parseBlocks :: PandocMonad m => ParserT Text ParserState m Blocks parseBlocks = mconcat <$> manyTill block eof -- | Block parsers list tried in definition order blockParsers :: PandocMonad m => [ParserT Text ParserState m Blocks] blockParsers = [ codeBlock , header , blockQuote , hrule , commentBlock , anyList , rawHtmlBlock , rawLaTeXBlock' , table , maybeExplicitBlock "p" para , mempty <$ blanklines ] -- | Any block in the order of definition of blockParsers block :: PandocMonad m => ParserT Text ParserState m Blocks block = do res <- choice blockParsers "block" trace (T.take 60 $ tshow $ B.toList res) return res commentBlock :: PandocMonad m => ParserT Text ParserState m Blocks commentBlock = try $ do string "###." manyTill anyLine blanklines return mempty codeBlock :: PandocMonad m => ParserT Text ParserState m Blocks codeBlock = codeBlockBc <|> codeBlockPre codeBlockBc :: PandocMonad m => ParserT Text ParserState m Blocks codeBlockBc = try $ do string "bc." extended <- option False (True <$ char '.') char ' ' let starts = ["p", "table", "bq", "bc", "h1", "h2", "h3", "h4", "h5", "h6", "pre", "###", "notextile"] let ender = choice $ map explicitBlockStart starts contents <- if extended then do f <- anyLine rest <- many (notFollowedBy ender *> anyLine) return (f:rest) else manyTill anyLine blanklines return $ B.codeBlock (trimTrailingNewlines (T.unlines contents)) trimTrailingNewlines :: Text -> Text trimTrailingNewlines = T.dropWhileEnd (=='\n') -- | Code Blocks in Textile are between
     and 
    codeBlockPre :: PandocMonad m => ParserT Text ParserState m Blocks codeBlockPre = try $ do (t@(TagOpen _ attrs),_) <- htmlTag (tagOpen (=="pre") (const True)) result' <- T.pack <$> manyTill anyChar (htmlTag (tagClose (=="pre"))) -- drop leading newline if any let result'' = case T.uncons result' of Just ('\n', xs) -> xs _ -> result' -- drop trailing newline if any let result''' = case T.unsnoc result'' of Just (xs, '\n') -> xs _ -> result'' let classes = T.words $ fromAttrib "class" t let ident = fromAttrib "id" t let kvs = [(k,v) | (k,v) <- attrs, k /= "id" && k /= "class"] return $ B.codeBlockWith (ident,classes,kvs) result''' -- | Header of the form "hN. content" with N in 1..6 header :: PandocMonad m => ParserT Text ParserState m Blocks header = try $ do char 'h' level <- digitToInt <$> oneOf "123456" attr <- attributes char '.' lookAhead whitespace name <- trimInlines . mconcat <$> many inline attr' <- registerHeader attr name return $ B.headerWith attr' level name -- | Blockquote of the form "bq. content" blockQuote :: PandocMonad m => ParserT Text ParserState m Blocks blockQuote = try $ do string "bq" >> attributes >> char '.' >> whitespace B.blockQuote <$> para -- Horizontal rule hrule :: PandocMonad m => ParserT Text st m Blocks hrule = try $ do skipSpaces start <- oneOf "-*" count 2 (skipSpaces >> char start) skipMany (spaceChar <|> char start) newline optional blanklines return B.horizontalRule -- Lists handling -- | Can be a bullet list or an ordered list. This implementation is -- strict in the nesting, sublist must start at exactly "parent depth -- plus one" anyList :: PandocMonad m => ParserT Text ParserState m Blocks anyList = try $ anyListAtDepth 1 <* blanklines -- | This allow one type of list to be nested into an other type, -- provided correct nesting anyListAtDepth :: PandocMonad m => Int -> ParserT Text ParserState m Blocks anyListAtDepth depth = choice [ bulletListAtDepth depth, orderedListAtDepth depth, definitionList ] -- | Bullet List of given depth, depth being the number of leading '*' bulletListAtDepth :: PandocMonad m => Int -> ParserT Text ParserState m Blocks bulletListAtDepth depth = try $ B.bulletList <$> many1 (bulletListItemAtDepth depth) -- | Bullet List Item of given depth, depth being the number of -- leading '*' bulletListItemAtDepth :: PandocMonad m => Int -> ParserT Text ParserState m Blocks bulletListItemAtDepth = genericListItemAtDepth '*' -- | Ordered List of given depth, depth being the number of -- leading '#' orderedListAtDepth :: PandocMonad m => Int -> ParserT Text ParserState m Blocks orderedListAtDepth depth = try $ do items <- many1 (orderedListItemAtDepth depth) return $ B.orderedList items -- | Ordered List Item of given depth, depth being the number of -- leading '#' orderedListItemAtDepth :: PandocMonad m => Int -> ParserT Text ParserState m Blocks orderedListItemAtDepth = genericListItemAtDepth '#' -- | Common implementation of list items genericListItemAtDepth :: PandocMonad m => Char -> Int -> ParserT Text ParserState m Blocks genericListItemAtDepth c depth = try $ do count depth (char c) >> attributes >> whitespace contents <- mconcat <$> many ((B.plain . mconcat <$> many1 inline) <|> try (newline >> codeBlockPre)) newline sublist <- option mempty (anyListAtDepth (depth + 1)) return $ contents <> sublist -- | A definition list is a set of consecutive definition items definitionList :: PandocMonad m => ParserT Text ParserState m Blocks definitionList = try $ B.definitionList <$> many1 definitionListItem -- | List start character. listStart :: PandocMonad m => ParserT Text ParserState m () listStart = genericListStart '*' <|> () <$ genericListStart '#' <|> () <$ definitionListStart genericListStart :: PandocMonad m => Char -> ParserT Text st m () genericListStart c = () <$ try (many1 (char c) >> whitespace) basicDLStart :: PandocMonad m => ParserT Text ParserState m () basicDLStart = do char '-' whitespace notFollowedBy newline definitionListStart :: PandocMonad m => ParserT Text ParserState m Inlines definitionListStart = try $ do basicDLStart trimInlines . mconcat <$> many1Till inline ( try (newline *> lookAhead basicDLStart) <|> try (lookAhead (() <$ string ":=")) ) -- | A definition list item in textile begins with '- ', followed by -- the term defined, then spaces and ":=". The definition follows, on -- the same single line, or spaned on multiple line, after a line -- break. definitionListItem :: PandocMonad m => ParserT Text ParserState m (Inlines, [Blocks]) definitionListItem = try $ do term <- (mconcat . intersperse B.linebreak) <$> many1 definitionListStart def' <- string ":=" *> optional whitespace *> (multilineDef <|> inlineDef) return (term, def') where inlineDef :: PandocMonad m => ParserT Text ParserState m [Blocks] inlineDef = liftM (\d -> [B.plain d]) $ optional whitespace >> (trimInlines . mconcat <$> many inline) <* newline multilineDef :: PandocMonad m => ParserT Text ParserState m [Blocks] multilineDef = try $ do optional whitespace >> newline s <- T.pack <$> many1Till anyChar (try (string "=:" >> newline)) -- this <> "\n\n" does not look very good ds <- parseFromString' parseBlocks (s <> "\n\n") return [ds] -- raw content -- | A raw Html Block, optionally followed by blanklines rawHtmlBlock :: PandocMonad m => ParserT Text ParserState m Blocks rawHtmlBlock = try $ do skipMany spaceChar (_,b) <- htmlTag isBlockTag optional blanklines return $ B.rawBlock "html" b -- | Raw block of LaTeX content rawLaTeXBlock' :: PandocMonad m => ParserT Text ParserState m Blocks rawLaTeXBlock' = do guardEnabled Ext_raw_tex B.rawBlock "latex" <$> (rawLaTeXBlock <* spaces) -- | In textile, paragraphs are separated by blank lines. para :: PandocMonad m => ParserT Text ParserState m Blocks para = B.para . trimInlines . mconcat <$> many1 inline -- Tables toAlignment :: Char -> Alignment toAlignment '<' = AlignLeft toAlignment '>' = AlignRight toAlignment '=' = AlignCenter toAlignment _ = AlignDefault cellAttributes :: PandocMonad m => ParserT Text ParserState m (Bool, Alignment) cellAttributes = try $ do isHeader <- option False (True <$ char '_') -- we just ignore colspan and rowspan markers: optional $ try $ oneOf "/\\" >> many1 digit -- we pay attention to alignments: alignment <- option AlignDefault $ toAlignment <$> oneOf "<>=" -- ignore other attributes for now: _ <- attributes char '.' return (isHeader, alignment) -- | A table cell spans until a pipe | tableCell :: PandocMonad m => ParserT Text ParserState m ((Bool, Alignment), Blocks) tableCell = try $ do char '|' (isHeader, alignment) <- option (False, AlignDefault) cellAttributes notFollowedBy blankline raw <- trim . T.pack <$> many (noneOf "|\n" <|> try (char '\n' <* notFollowedBy blankline)) content <- mconcat <$> parseFromString' (many inline) raw return ((isHeader, alignment), B.plain content) -- | A table row is made of many table cells tableRow :: PandocMonad m => ParserT Text ParserState m [((Bool, Alignment), Blocks)] tableRow = try $ do -- skip optional row attributes optional $ try $ do _ <- attributes char '.' many1 spaceChar many1 tableCell <* char '|' <* blankline -- | A table with an optional header. table :: PandocMonad m => ParserT Text ParserState m Blocks table = try $ do -- ignore table attributes caption <- option mempty $ try $ do string "table" _ <- attributes char '.' rawcapt <- trim <$> anyLine parseFromString' (mconcat <$> many inline) rawcapt rawrows <- many1 $ skipMany ignorableRow >> tableRow skipMany ignorableRow blanklines let (headers, rows) = case rawrows of (toprow:rest) | any (fst . fst) toprow -> (toprow, rest) _ -> (mempty, rawrows) let nbOfCols = maximum $ map length (headers:rows) let aligns = map minimum $ transpose $ map (map (snd . fst)) (headers:rows) return $ B.table caption (zip aligns (replicate nbOfCols 0.0)) (map snd headers) (map (map snd) rows) -- | Ignore markers for cols, thead, tfoot. ignorableRow :: PandocMonad m => ParserT Text ParserState m () ignorableRow = try $ do char '|' oneOf ":^-~" _ <- attributes char '.' _ <- anyLine return () explicitBlockStart :: PandocMonad m => Text -> ParserT Text ParserState m () explicitBlockStart name = try $ do string (T.unpack name) attributes char '.' optional whitespace optional endline -- | Blocks like 'p' and 'table' do not need explicit block tag. -- However, they can be used to set HTML/CSS attributes when needed. maybeExplicitBlock :: PandocMonad m => Text -- ^ block tag name -> ParserT Text ParserState m Blocks -- ^ implicit block -> ParserT Text ParserState m Blocks maybeExplicitBlock name blk = try $ do optional $ explicitBlockStart name blk ---------- -- Inlines ---------- -- | Any inline element inline :: PandocMonad m => ParserT Text ParserState m Inlines inline = choice inlineParsers "inline" -- | Inline parsers tried in order inlineParsers :: PandocMonad m => [ParserT Text ParserState m Inlines] inlineParsers = [ str , whitespace , endline , code , escapedInline , inlineMarkup , groupedInlineMarkup , rawHtmlInline , rawLaTeXInline' , note , link , image , mark , (B.str . T.singleton) <$> characterReference , smartPunctuation inline , symbol ] -- | Inline markups inlineMarkup :: PandocMonad m => ParserT Text ParserState m Inlines inlineMarkup = choice [ simpleInline (string "??") (B.cite []) , simpleInline (string "**") B.strong , simpleInline (string "__") B.emph , simpleInline (char '*') B.strong , simpleInline (char '_') B.emph , simpleInline (char '+') underlineSpan , simpleInline (char '-' <* notFollowedBy (char '-')) B.strikeout , simpleInline (char '^') B.superscript , simpleInline (char '~') B.subscript , simpleInline (char '%') id ] -- | Trademark, registered, copyright mark :: PandocMonad m => ParserT Text st m Inlines mark = try $ char '(' >> (try tm <|> try reg <|> copy) reg :: PandocMonad m => ParserT Text st m Inlines reg = do oneOf "Rr" char ')' return $ B.str "\174" tm :: PandocMonad m => ParserT Text st m Inlines tm = do oneOf "Tt" oneOf "Mm" char ')' return $ B.str "\8482" copy :: PandocMonad m => ParserT Text st m Inlines copy = do oneOf "Cc" char ')' return $ B.str "\169" note :: PandocMonad m => ParserT Text ParserState m Inlines note = try $ do ref <- char '[' *> many1 digit <* char ']' notes <- stateNotes <$> getState case lookup (T.pack ref) notes of Nothing -> Prelude.fail "note not found" Just raw -> B.note <$> parseFromString' parseBlocks raw -- | Special chars markupChars :: [Char] markupChars = "\\*#_@~-+^|%=[]&" -- | Break strings on following chars. Space tab and newline break for -- inlines breaking. Open paren breaks for mark. Quote, dash and dot -- break for smart punctuation. Punctuation breaks for regular -- punctuation. Double quote breaks for named links. > and < break -- for inline html. stringBreakers :: [Char] stringBreakers = " \t\n\r.,\"'?!;:<>«»„“”‚‘’()[]" wordBoundaries :: [Char] wordBoundaries = markupChars <> stringBreakers -- | Parse a hyphened sequence of words hyphenedWords :: PandocMonad m => ParserT Text ParserState m Text hyphenedWords = do x <- wordChunk xs <- many (try $ char '-' >> wordChunk) return $ T.intercalate "-" (x:xs) wordChunk :: PandocMonad m => ParserT Text ParserState m Text wordChunk = try $ do hd <- noneOf wordBoundaries tl <- many ( noneOf wordBoundaries <|> try (notFollowedBy' note *> oneOf markupChars <* lookAhead (noneOf wordBoundaries) ) ) return $ T.pack $ hd:tl -- | Any string str :: PandocMonad m => ParserT Text ParserState m Inlines str = do baseStr <- hyphenedWords -- RedCloth compliance : if parsed word is uppercase and immediately -- followed by parens, parens content is unconditionally word acronym fullStr <- option baseStr $ try $ do guard $ T.all isUpper baseStr acro <- T.pack <$> enclosed (char '(') (char ')') anyChar' return $ T.concat [baseStr, " (", acro, ")"] updateLastStrPos return $ B.str fullStr -- | Some number of space chars whitespace :: PandocMonad m => ParserT Text st m Inlines whitespace = many1 spaceChar >> return B.space "whitespace" -- | In Textile, an isolated endline character is a line break endline :: PandocMonad m => ParserT Text ParserState m Inlines endline = try $ do newline notFollowedBy blankline notFollowedBy listStart notFollowedBy rawHtmlBlock return B.linebreak rawHtmlInline :: PandocMonad m => ParserT Text ParserState m Inlines rawHtmlInline = B.rawInline "html" . snd <$> htmlTag isInlineTag -- | Raw LaTeX Inline rawLaTeXInline' :: PandocMonad m => ParserT Text ParserState m Inlines rawLaTeXInline' = try $ do guardEnabled Ext_raw_tex B.rawInline "latex" <$> rawLaTeXInline -- | Textile standard link syntax is "label":target. But we -- can also have ["label":target]. link :: PandocMonad m => ParserT Text ParserState m Inlines link = try $ do bracketed <- (True <$ char '[') <|> return False char '"' *> notFollowedBy (oneOf " \t\n\r") attr <- attributes name <- trimInlines . mconcat <$> withQuoteContext InDoubleQuote (many1Till inline (char '"')) char ':' let stop = if bracketed then char ']' else lookAhead $ space <|> eof' <|> try (oneOf "!.,;:" *> (space <|> newline <|> eof')) url <- T.pack <$> many1Till nonspaceChar stop let name' = if B.toList name == [Str "$"] then B.str url else name return $ if attr == nullAttr then B.link url "" name' else B.spanWith attr $ B.link url "" name' -- | image embedding image :: PandocMonad m => ParserT Text ParserState m Inlines image = try $ do char '!' >> notFollowedBy space (ident, cls, kvs) <- attributes let attr = case lookup "style" kvs of Just stls -> (ident, cls, pickStylesToKVs ["width", "height"] stls) Nothing -> (ident, cls, kvs) src <- T.pack <$> many1 (noneOf " \t\n\r!(") alt <- fmap T.pack $ option "" $ try $ char '(' *> manyTill anyChar (char ')') char '!' return $ B.imageWith attr src alt (B.str alt) escapedInline :: PandocMonad m => ParserT Text ParserState m Inlines escapedInline = escapedEqs <|> escapedTag escapedEqs :: PandocMonad m => ParserT Text ParserState m Inlines escapedEqs = B.str . T.pack <$> try (string "==" *> manyTill anyChar' (try $ string "==")) -- | literal text escaped btw tags escapedTag :: PandocMonad m => ParserT Text ParserState m Inlines escapedTag = B.str . T.pack <$> try (string "" *> manyTill anyChar' (try $ string "")) -- | Any special symbol defined in wordBoundaries symbol :: PandocMonad m => ParserT Text ParserState m Inlines symbol = B.str . T.singleton <$> (notFollowedBy newline *> notFollowedBy rawHtmlBlock *> oneOf wordBoundaries) -- | Inline code code :: PandocMonad m => ParserT Text ParserState m Inlines code = code1 <|> code2 -- any character except a newline before a blank line anyChar' :: PandocMonad m => ParserT Text ParserState m Char anyChar' = satisfy (/='\n') <|> try (char '\n' <* notFollowedBy blankline) code1 :: PandocMonad m => ParserT Text ParserState m Inlines code1 = B.code . T.pack <$> surrounded (char '@') anyChar' code2 :: PandocMonad m => ParserT Text ParserState m Inlines code2 = do htmlTag (tagOpen (=="tt") null) B.code . T.pack <$> manyTill anyChar' (try $ htmlTag $ tagClose (=="tt")) -- | Html / CSS attributes attributes :: PandocMonad m => ParserT Text ParserState m Attr attributes = foldl (flip ($)) ("",[],[]) <$> try (do special <- option id specialAttribute attrs <- many attribute return (special : attrs)) specialAttribute :: PandocMonad m => ParserT Text ParserState m (Attr -> Attr) specialAttribute = do alignStr <- ("center" <$ char '=') <|> ("justify" <$ try (string "<>")) <|> ("right" <$ char '>') <|> ("left" <$ char '<') notFollowedBy spaceChar return $ addStyle $ T.pack $ "text-align:" ++ alignStr attribute :: PandocMonad m => ParserT Text ParserState m (Attr -> Attr) attribute = try $ (classIdAttr <|> styleAttr <|> langAttr) <* notFollowedBy spaceChar classIdAttr :: PandocMonad m => ParserT Text ParserState m (Attr -> Attr) classIdAttr = try $ do -- (class class #id) char '(' ws <- T.words `fmap` T.pack <$> manyTill anyChar' (char ')') case reverse ws of [] -> return $ \(_,_,keyvals) -> ("",[],keyvals) ((T.uncons -> Just ('#', ident')):classes') -> return $ \(_,_,keyvals) -> (ident',classes',keyvals) classes' -> return $ \(_,_,keyvals) -> ("",classes',keyvals) styleAttr :: PandocMonad m => ParserT Text ParserState m (Attr -> Attr) styleAttr = do style <- try $ enclosed (char '{') (char '}') anyChar' return $ addStyle $ T.pack style addStyle :: Text -> Attr -> Attr addStyle style (id',classes,keyvals) = (id',classes,keyvals') where keyvals' = ("style", style') : [(k,v) | (k,v) <- keyvals, k /= "style"] style' = style <> ";" <> T.concat [v | ("style",v) <- keyvals] langAttr :: PandocMonad m => ParserT Text ParserState m (Attr -> Attr) langAttr = do lang <- try $ enclosed (char '[') (char ']') alphaNum return $ \(id',classes,keyvals) -> (id',classes,("lang",T.pack lang):keyvals) -- | Parses material surrounded by a parser. surrounded :: (PandocMonad m, Show t) => ParserT Text st m t -- ^ surrounding parser -> ParserT Text st m a -- ^ content parser (to be used repeatedly) -> ParserT Text st m [a] surrounded border = enclosed (border *> notFollowedBy (oneOf " \t\n\r")) (try border) simpleInline :: PandocMonad m => ParserT Text ParserState m t -- ^ surrounding parser -> (Inlines -> Inlines) -- ^ Inline constructor -> ParserT Text ParserState m Inlines -- ^ content parser (to be used repeatedly) simpleInline border construct = try $ do notAfterString border *> notFollowedBy (oneOf " \t\n\r") attr <- attributes body <- trimInlines . mconcat <$> withQuoteContext InSingleQuote (manyTill (notFollowedBy newline >> inline) (try border <* notFollowedBy alphaNum)) return $ construct $ if attr == nullAttr then body else B.spanWith attr body groupedInlineMarkup :: PandocMonad m => ParserT Text ParserState m Inlines groupedInlineMarkup = try $ do char '[' sp1 <- option mempty $ B.space <$ whitespace result <- withQuoteContext InSingleQuote inlineMarkup sp2 <- option mempty $ B.space <$ whitespace char ']' return $ sp1 <> result <> sp2 eof' :: Monad m => ParserT Text s m Char eof' = '\n' <$ eof pandoc-2.9.2.1/src/Text/Pandoc/Readers/TikiWiki.hs000066400000000000000000000534411363630463000215260ustar00rootroot00000000000000{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RelaxedPolyRec #-} {- | Module : Text.Pandoc.Readers.TikiWiki Copyright : Copyright (C) 2017 Robin Lee Powell License : GNU GPL, version 2 or above Maintainer : Robin Lee Powell Stability : alpha Portability : portable Conversion of TikiWiki text to 'Pandoc' document. -} module Text.Pandoc.Readers.TikiWiki ( readTikiWiki ) where import Control.Monad import Control.Monad.Except (throwError) import qualified Data.Foldable as F import Data.List (dropWhileEnd) import Data.Maybe (fromMaybe) import Data.Text (Text) import qualified Data.Text as T import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.CommonState (CommonState (..)) import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.Definition import Text.Pandoc.Logging (Verbosity (..)) import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (enclosed, nested) import Text.Pandoc.Shared (crFilter, safeRead) import Text.Pandoc.XML (fromEntities) import Text.Printf (printf) -- | Read TikiWiki from an input string and return a Pandoc document. readTikiWiki :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readTikiWiki opts s = do res <- readWithM parseTikiWiki def{ stateOptions = opts } (crFilter s <> "\n\n") case res of Left e -> throwError e Right d -> return d type TikiWikiParser = ParserT Text ParserState -- -- utility functions -- tryMsg :: Text -> TikiWikiParser m a -> TikiWikiParser m a tryMsg msg p = try p T.unpack msg skip :: TikiWikiParser m a -> TikiWikiParser m () skip parser = Control.Monad.void parser nested :: PandocMonad m => TikiWikiParser m a -> TikiWikiParser m a nested p = do nestlevel <- stateMaxNestingLevel <$> getState guard $ nestlevel > 0 updateState $ \st -> st{ stateMaxNestingLevel = stateMaxNestingLevel st - 1 } res <- p updateState $ \st -> st{ stateMaxNestingLevel = nestlevel } return res -- -- main parser -- parseTikiWiki :: PandocMonad m => TikiWikiParser m Pandoc parseTikiWiki = do bs <- mconcat <$> many block spaces eof return $ B.doc bs block :: PandocMonad m => TikiWikiParser m B.Blocks block = do verbosity <- getsCommonState stVerbosity pos <- getPosition res <- mempty <$ skipMany1 blankline <|> blockElements <|> para skipMany blankline when (verbosity >= INFO) $ trace (T.pack $ printf "line %d: %s" (sourceLine pos) (take 60 $ show $ B.toList res)) return res blockElements :: PandocMonad m => TikiWikiParser m B.Blocks blockElements = choice [ table , hr , header , mixedList , definitionList , codeMacro ] -- top -- ---- -- bottom -- -- ---- -- hr :: PandocMonad m => TikiWikiParser m B.Blocks hr = try $ do string "----" many (char '-') newline return B.horizontalRule -- ! header -- -- !! header level two -- -- !!! header level 3 -- header :: PandocMonad m => TikiWikiParser m B.Blocks header = tryMsg "header" $ do level <- fmap length (many1 (char '!')) guard $ level <= 6 skipSpaces content <- B.trimInlines . mconcat <$> manyTill inline newline attr <- registerHeader nullAttr content return $B.headerWith attr level content tableRow :: PandocMonad m => TikiWikiParser m [B.Blocks] tableRow = try $ do -- row <- sepBy1 (many1Till inline $ oneOf "\n|") (try $ string "|" <* notFollowedBy (oneOf "|\n")) -- return $ map (B.plain . mconcat) row row <- sepBy1 (many1 (noneOf "\n|") >>= parseColumn . T.pack) (try $ string "|" <* notFollowedBy (oneOf "|\n")) return $ map B.plain row where parseColumn x = do parsed <- parseFromString (many1 inline) x return $ mconcat parsed -- Tables: -- -- ||foo|| -- -- ||row1-column1|row1-column2||row2-column1|row2-column2|| -- -- ||row1-column1|row1-column2 -- row2-column1|row2-column2|| -- -- ||row1-column1|row1-column2 -- row2-column1|row2-column2||row3-column1|row3-column2|| -- -- || Orange | Apple | more -- Bread | Pie | more -- Butter | Ice cream | and more || -- table :: PandocMonad m => TikiWikiParser m B.Blocks table = try $ do string "||" rows <- sepBy1 tableRow (try $ string "\n" <|> (string "||" <* notFollowedBy (string "\n"))) string "||" newline -- return $ B.simpleTable (headers rows) $ trace ("rows: " ++ (show rows)) rows return $B.simpleTable (headers rows) rows where -- The headers are as many empty strings as the number of columns -- in the first row headers rows = map (B.plain . B.str) $replicate (length $ head rows) "" para :: PandocMonad m => TikiWikiParser m B.Blocks para = fmap (result . mconcat) ( many1Till inline endOfParaElement) where endOfParaElement = lookAhead $ endOfInput <|> endOfPara <|> newBlockElement endOfInput = try $ skipMany blankline >> skipSpaces >> eof endOfPara = try $ blankline >> skipMany1 blankline newBlockElement = try $ blankline >> skip blockElements result content = if F.all (==Space) content then mempty else B.para $ B.trimInlines content -- ;item 1: definition 1 -- ;item 2: definition 2-1 -- + definition 2-2 -- ;item ''3'': definition ''3'' -- definitionList :: PandocMonad m => TikiWikiParser m B.Blocks definitionList = tryMsg "definitionList" $ do elements <-many1 parseDefinitionListItem return $ B.definitionList elements where parseDefinitionListItem :: PandocMonad m => TikiWikiParser m (B.Inlines, [B.Blocks]) parseDefinitionListItem = do skipSpaces >> char ';' <* skipSpaces term <- many1Till inline $ char ':' <* skipSpaces line <- listItemLine 1 return (mconcat term, [B.plain line]) data ListType = None | Numbered | Bullet deriving (Ord, Eq, Show) data ListNesting = LN { lntype :: ListType, lnnest :: Int } deriving (Ord, Eq, Show) -- The first argument is a stack (most recent == head) of our list -- nesting status; the list type and the nesting level; if we're in -- a number list in a bullet list it'd be -- [LN Numbered 2, LN Bullet 1] -- -- Mixed list example: -- -- # one -- # two -- ** two point one -- ** two point two -- # three -- # four -- mixedList :: PandocMonad m => TikiWikiParser m B.Blocks mixedList = try $ do items <- try $ many1 listItem return $ mconcat $ fixListNesting $ spanFoldUpList (LN None 0) items -- See the "Handling Lists" section of DESIGN-CODE for why this -- function exists. It's to post-process the lists and do some -- mappends. -- -- We need to walk the tree two items at a time, so we can see what -- we're going to join *to* before we get there. -- -- Because of that, it seemed easier to do it by hand than to try to -- figre out a fold or something. fixListNesting :: [B.Blocks] -> [B.Blocks] fixListNesting [] = [] fixListNesting [first] = [recurseOnList first] -- fixListNesting nestall | trace ("\n\nfixListNesting: " ++ (show nestall)) False = undefined -- fixListNesting nestall@(first:second:rest) = fixListNesting (first:second:rest) = let secondBlock = head $ B.toList second in case secondBlock of BulletList _ -> fixListNesting $ mappend (recurseOnList first) (recurseOnList second) : rest OrderedList _ _ -> fixListNesting $ mappend (recurseOnList first) (recurseOnList second) : rest _ -> recurseOnList first : fixListNesting (second:rest) -- This function walks the Block structure for fixListNesting, -- because it's a bit complicated, what with converting to and from -- lists and so on. recurseOnList :: B.Blocks -> B.Blocks -- recurseOnList item | trace ("rOL: " ++ (show $ length $ B.toList item) ++ ", " ++ (show $ B.toList item)) False = undefined recurseOnList items | length (B.toList items) == 1 = let itemBlock = head $ B.toList items in case itemBlock of BulletList listItems -> B.bulletList $ fixListNesting $ map B.fromList listItems OrderedList _ listItems -> B.orderedList $ fixListNesting $ map B.fromList listItems _ -> items -- The otherwise works because we constructed the blocks, and we -- know for a fact that no mappends have been run on them; each -- Blocks consists of exactly one Block. -- -- Anything that's not like that has already been processed by -- fixListNesting; don't bother to process it again. | otherwise = items -- Turn the list if list items into a tree by breaking off the first -- item, splitting the remainder of the list into items that are in -- the tree of the first item and those that aren't, wrapping the -- tree of the first item in its list time, and recursing on both -- sections. spanFoldUpList :: ListNesting -> [(ListNesting, B.Blocks)] -> [B.Blocks] spanFoldUpList _ [] = [] spanFoldUpList ln [first] = listWrap ln (fst first) [snd first] spanFoldUpList ln (first:rest) = let (span1, span2) = span (splitListNesting (fst first)) rest newTree1 = listWrap ln (fst first) $ snd first : spanFoldUpList (fst first) span1 newTree2 = spanFoldUpList ln span2 in newTree1 ++ newTree2 -- Decide if the second item should be in the tree of the first -- item, which is true if the second item is at a deeper nesting -- level and of the same type. splitListNesting :: ListNesting -> (ListNesting, B.Blocks) -> Bool splitListNesting ln1 (ln2, _) | lnnest ln1 < lnnest ln2 = True | ln1 == ln2 = True | otherwise = False -- If we've moved to a deeper nesting level, wrap the new level in -- the appropriate type of list. listWrap :: ListNesting -> ListNesting -> [B.Blocks] -> [B.Blocks] listWrap upperLN curLN retTree = if upperLN == curLN then retTree else case lntype curLN of None -> [] Bullet -> [B.bulletList retTree] Numbered -> [B.orderedList retTree] listItem :: PandocMonad m => TikiWikiParser m (ListNesting, B.Blocks) listItem = choice [ bulletItem , numberedItem ] -- * Start each line -- * with an asterisk (*). -- ** More asterisks gives deeper -- *** and deeper levels. -- bulletItem :: PandocMonad m => TikiWikiParser m (ListNesting, B.Blocks) bulletItem = try $ do prefix <- many1 $ char '*' many $ char ' ' content <- listItemLine (length prefix) return (LN Bullet (length prefix), B.plain content) -- # Start each line -- # with a number (1.). -- ## More number signs gives deeper -- ### and deeper -- numberedItem :: PandocMonad m => TikiWikiParser m (ListNesting, B.Blocks) numberedItem = try $ do prefix <- many1 $ char '#' many $ char ' ' content <- listItemLine (length prefix) return (LN Numbered (length prefix), B.plain content) listItemLine :: PandocMonad m => Int -> TikiWikiParser m B.Inlines listItemLine nest = lineContent >>= parseContent where lineContent = do content <- anyLine continuation <- optionMaybe listContinuation return $ filterSpaces content <> "\n" <> Data.Maybe.fromMaybe "" continuation filterSpaces = T.dropWhileEnd (== ' ') listContinuation = string (replicate nest '+') >> lineContent parseContent x = do parsed <- parseFromString (many1 inline) x return $ mconcat $ dropWhileEnd (== B.space) parsed -- Turn the CODE macro attributes into Pandoc code block attributes. mungeAttrs :: [(Text, Text)] -> (Text, [Text], [(Text, Text)]) mungeAttrs rawAttrs = ("", classes, rawAttrs) where -- "colors" is TikiWiki CODE macro for "name of language to do -- highlighting for"; turn the value into a class color = fromMaybe "" $ lookup "colors" rawAttrs -- ln = 1 means line numbering. It's also the default. So we -- emit numberLines as a class unless ln = 0 lnRaw = fromMaybe "1" $ lookup "ln" rawAttrs ln = if lnRaw == "0" then "" else "numberLines" classes = filter (/= "") [color, ln] codeMacro :: PandocMonad m => TikiWikiParser m B.Blocks codeMacro = try $ do string "{CODE(" rawAttrs <- macroAttrs string ")}" body <- T.pack <$> manyTill anyChar (try (string "{CODE}")) newline if not (null rawAttrs) then return $ B.codeBlockWith (mungeAttrs rawAttrs) body else return $ B.codeBlock body -- -- inline parsers -- inline :: PandocMonad m => TikiWikiParser m B.Inlines inline = choice [ whitespace , noparse , strong , emph , nbsp , image , htmlComment , strikeout , code , wikiLink , notExternalLink , externalLink , superTag , superMacro , subTag , subMacro , escapedChar , colored , centered , underlined , boxed , breakChars , str , symbol ] "inline" whitespace :: PandocMonad m => TikiWikiParser m B.Inlines whitespace = lb <|> regsp where lb = try $ skipMany spaceChar >> linebreak >> return B.space regsp = try $ skipMany1 spaceChar >> return B.space -- UNSUPPORTED, as there doesn't seem to be any facility in calibre -- for this nbsp :: PandocMonad m => TikiWikiParser m B.Inlines nbsp = try $ do string "~hs~" return $ B.str " NOT SUPPORTED BEGIN: ~hs~ (non-breaking space) :END " -- UNSUPPORTED, as the desired behaviour (that the data be -- *retained* and stored as a comment) doesn't exist in calibre, and -- silently throwing data out seemed bad. htmlComment :: PandocMonad m => TikiWikiParser m B.Inlines htmlComment = try $ do string "~hc~" inner <- fmap T.pack $ many1 $ noneOf "~" string "~/hc~" return $ B.str $ " NOT SUPPORTED: ~hc~ (html comment opener) BEGIN: " <> inner <> " ~/hc~ :END " linebreak :: PandocMonad m => TikiWikiParser m B.Inlines linebreak = newline >> notFollowedBy newline >> (lastNewline <|> innerNewline) where lastNewline = eof >> return mempty innerNewline = return B.space between :: (Monoid c, PandocMonad m, Show b) => TikiWikiParser m a -> TikiWikiParser m b -> (TikiWikiParser m b -> TikiWikiParser m c) -> TikiWikiParser m c between start end p = mconcat <$> try (start >> notFollowedBy whitespace >> many1Till (p end) end) enclosed :: (Monoid b, PandocMonad m, Show a) => TikiWikiParser m a -> (TikiWikiParser m a -> TikiWikiParser m b) -> TikiWikiParser m b enclosed sep p = between sep (try $ sep <* endMarker) p where endMarker = lookAhead $ skip endSpace <|> skip (oneOf ".,!?:)|'_") <|> eof endSpace = (spaceChar <|> newline) >> return B.space nestedInlines :: (Show a, PandocMonad m) => TikiWikiParser m a -> TikiWikiParser m B.Inlines nestedInlines end = innerSpace <|> nestedInline where innerSpace = try $ whitespace <* notFollowedBy end nestedInline = notFollowedBy whitespace >> nested inline -- {img attId="39" imalign="right" link="http://info.tikiwiki.org" alt="Panama Hat"} -- -- {img attId="37", thumb="mouseover", styleimage="border", desc="150"} -- -- {img src="img/wiki_up/393px-Pears.jpg" thumb="y" imalign="center" stylebox="border" button="y" desc="Pretty pears" max="200" rel="box"} -- image :: PandocMonad m => TikiWikiParser m B.Inlines image = try $ do string "{img " rawAttrs <- sepEndBy1 imageAttr spaces string "}" let src = fromMaybe "" $ lookup "src" rawAttrs let title = fromMaybe src $ lookup "desc" rawAttrs let alt = fromMaybe title $ lookup "alt" rawAttrs let classes = map fst $ filter (\(_,b) -> b == "" || b == "y") rawAttrs if not (T.null src) then return $ B.imageWith ("", classes, rawAttrs) src title (B.str alt) else return $ B.str $ " NOT SUPPORTED: image without src attribute BEGIN: {img " <> printAttrs rawAttrs <> "} :END " where printAttrs attrs = T.unwords $ map (\(a, b) -> a <> "=\"" <> b <> "\"") attrs imageAttr :: PandocMonad m => TikiWikiParser m (Text, Text) imageAttr = try $ do key <- many1 (noneOf "=} \t\n") char '=' optional $ char '"' value <- many1 (noneOf "}\"\n") optional $ char '"' optional $ char ',' return (T.pack key, T.pack value) -- __strong__ strong :: PandocMonad m => TikiWikiParser m B.Inlines strong = try $ fmap B.strong (enclosed (string "__") nestedInlines) -- ''emph'' emph :: PandocMonad m => TikiWikiParser m B.Inlines emph = try $ fmap B.emph (enclosed (string "''") nestedInlines) -- ~246~ escapedChar :: PandocMonad m => TikiWikiParser m B.Inlines escapedChar = try $ do string "~" mNumber <- safeRead . T.pack <$> many1 digit string "~" return $ B.str $ case mNumber of Just number -> T.singleton $ toEnum (number :: Int) Nothing -> "" -- UNSUPPORTED, as there doesn't seem to be any facility in calibre -- for this centered :: PandocMonad m => TikiWikiParser m B.Inlines centered = try $ do string "::" inner <- fmap T.pack $ many1 $ noneOf ":\n" string "::" return $ B.str $ " NOT SUPPORTED: :: (centered) BEGIN: ::" <> inner <> ":: :END " -- UNSUPPORTED, as there doesn't seem to be any facility in calibre -- for this colored :: PandocMonad m => TikiWikiParser m B.Inlines colored = try $ do string "~~" inner <- fmap T.pack $ many1 $ noneOf "~\n" string "~~" return $ B.str $ " NOT SUPPORTED: ~~ (colored) BEGIN: ~~" <> inner <> "~~ :END " -- UNSUPPORTED, as there doesn't seem to be any facility in calibre -- for this underlined :: PandocMonad m => TikiWikiParser m B.Inlines underlined = try $ do string "===" inner <- fmap T.pack $ many1 $ noneOf "=\n" string "===" return $ B.str $ " NOT SUPPORTED: ==== (underlined) BEGIN: ===" <> inner <> "=== :END " -- UNSUPPORTED, as there doesn't seem to be any facility in calibre -- for this boxed :: PandocMonad m => TikiWikiParser m B.Inlines boxed = try $ do string "^" inner <- fmap T.pack $ many1 $ noneOf "^\n" string "^" return $ B.str $ " NOT SUPPORTED: ^ (boxed) BEGIN: ^" <> inner <> "^ :END " -- --text-- strikeout :: PandocMonad m => TikiWikiParser m B.Inlines strikeout = try $ fmap B.strikeout (enclosed (string "--") nestedInlines) nestedString :: (Show a, PandocMonad m) => TikiWikiParser m a -> TikiWikiParser m Text nestedString end = innerSpace <|> countChar 1 nonspaceChar where innerSpace = try $ T.pack <$> many1 spaceChar <* notFollowedBy end breakChars :: PandocMonad m => TikiWikiParser m B.Inlines breakChars = try $ string "%%%" >> return B.linebreak -- superscript: foo{TAG(tag=>sup)}super{TAG}foo / bar{SUP()}super2{SUP}bar superTag :: PandocMonad m => TikiWikiParser m B.Inlines superTag = try $ fmap (B.superscript . B.text . fromEntities) ( between (string "{TAG(tag=>sup)}") (string "{TAG}") nestedString) superMacro :: PandocMonad m => TikiWikiParser m B.Inlines superMacro = try $ do string "{SUP(" manyTill anyChar (string ")}") body <- manyTill anyChar (string "{SUP}") return $ B.superscript $ B.text $ T.pack body -- subscript: baz{TAG(tag=>sub)}sub{TAG}qux / qux{SUB()}sub2{SUB}qux subTag :: PandocMonad m => TikiWikiParser m B.Inlines subTag = try $ fmap (B.subscript . B.text . fromEntities) ( between (string "{TAG(tag=>sub)}") (string "{TAG}") nestedString) subMacro :: PandocMonad m => TikiWikiParser m B.Inlines subMacro = try $ do string "{SUB(" manyTill anyChar (string ")}") body <- manyTill anyChar (string "{SUB}") return $ B.subscript $ B.text $ T.pack body -- -+text+- code :: PandocMonad m => TikiWikiParser m B.Inlines code = try $ fmap (B.code . fromEntities) ( between (string "-+") (string "+-") nestedString) macroAttr :: PandocMonad m => TikiWikiParser m (Text, Text) macroAttr = try $ do key <- many1 (noneOf "=)") char '=' optional $ char '"' value <- many1 (noneOf " )\"") optional $ char '"' return (T.pack key, T.pack value) macroAttrs :: PandocMonad m => TikiWikiParser m [(Text, Text)] macroAttrs = try $ sepEndBy macroAttr spaces -- ~np~ __not bold__ ~/np~ noparse :: PandocMonad m => TikiWikiParser m B.Inlines noparse = try $ do string "~np~" body <- manyTill anyChar (string "~/np~") return $ B.str $ T.pack body str :: PandocMonad m => TikiWikiParser m B.Inlines str = fmap B.str (T.pack <$> many1 alphaNum <|> countChar 1 characterReference) symbol :: PandocMonad m => TikiWikiParser m B.Inlines symbol = fmap B.str (countChar 1 nonspaceChar) -- [[not a link] notExternalLink :: PandocMonad m => TikiWikiParser m B.Inlines notExternalLink = try $ do start <- string "[[" body <- many (noneOf "\n[]") end <- string "]" return $ B.text $ T.pack $ start ++ body ++ end -- [http://www.somesite.org url|Some Site title] -- ((internal link)) -- -- The ((...)) wiki links and [...] external links are handled -- exactly the same; this abstracts that out makeLink :: PandocMonad m => Text -> Text -> Text -> TikiWikiParser m B.Inlines makeLink start middle end = try $ do st <- getState guard $ stateAllowLinks st setState $ st{ stateAllowLinks = False } (url, title, anchor) <- wikiLinkText start middle end parsedTitle <- parseFromString (many1 inline) title setState $ st{ stateAllowLinks = True } return $ B.link (url <> anchor) "" $ mconcat parsedTitle wikiLinkText :: PandocMonad m => Text -> Text -> Text -> TikiWikiParser m (Text, Text, Text) wikiLinkText start middle end = do string (T.unpack start) url <- T.pack <$> many1 (noneOf $ T.unpack middle ++ "\n") seg1 <- option url linkContent seg2 <- option "" linkContent string (T.unpack end) if seg2 /= "" then return (url, seg2, seg1) else return (url, seg1, "") where linkContent = do char '|' T.pack <$> many (noneOf $ T.unpack middle) externalLink :: PandocMonad m => TikiWikiParser m B.Inlines externalLink = makeLink "[" "]|" "]" -- NB: this wiki linking is unlikely to work for anyone besides me -- (rlpowell); it happens to work for me because my Hakyll code has -- post-processing that treats pandoc .md titles as valid link -- targets, so something like -- [see also this other post](My Other Page) is perfectly valid. wikiLink :: PandocMonad m => TikiWikiParser m B.Inlines wikiLink = makeLink "((" ")|" "))" pandoc-2.9.2.1/src/Text/Pandoc/Readers/Txt2Tags.hs000066400000000000000000000417731363630463000214670ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Readers.Txt2Tags Copyright : Copyright (C) 2014 Matthew Pickering License : GNU GPL, version 2 or above Maintainer : Matthew Pickering Conversion of txt2tags formatted plain text to 'Pandoc' document. -} module Text.Pandoc.Readers.Txt2Tags ( readTxt2Tags , getT2TMeta , T2TMeta (..) ) where import Control.Monad (guard, void, when) import Control.Monad.Except (catchError, throwError) import Control.Monad.Reader (Reader, asks, runReader) import Data.Default import Data.List (intercalate, transpose) import Data.Maybe (fromMaybe) import Data.Text (Text) import qualified Data.Text as T import Data.Time.Format (formatTime) import Text.Pandoc.Builder (Blocks, Inlines, trimInlines) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad) import qualified Text.Pandoc.Class.PandocMonad as P import Data.Time (defaultTimeLocale) import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (space, spaces, uri) import Text.Pandoc.Shared (compactify, compactifyDL, crFilter, escapeURI, underlineSpan) type T2T = ParserT Text ParserState (Reader T2TMeta) -- | An object for the T2T macros meta information -- the contents of each field is simply substituted verbatim into the file data T2TMeta = T2TMeta { date :: Text -- ^ Current date , mtime :: Text -- ^ Last modification time of infile , infile :: FilePath -- ^ Input file , outfile :: FilePath -- ^ Output file } deriving Show instance Default T2TMeta where def = T2TMeta "" "" "" "" -- | Get the meta information required by Txt2Tags macros getT2TMeta :: PandocMonad m => m T2TMeta getT2TMeta = do inps <- P.getInputFiles outp <- fromMaybe "" <$> P.getOutputFile curDate <- formatTime defaultTimeLocale "%F" <$> P.getZonedTime let getModTime = fmap (formatTime defaultTimeLocale "%T") . P.getModificationTime curMtime <- case inps of [] -> formatTime defaultTimeLocale "%T" <$> P.getZonedTime _ -> catchError (maximum <$> mapM getModTime inps) (const (return "")) return $ T2TMeta (T.pack curDate) (T.pack curMtime) (intercalate ", " inps) outp -- | Read Txt2Tags from an input string returning a Pandoc document readTxt2Tags :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readTxt2Tags opts s = do meta <- getT2TMeta let parsed = flip runReader meta $ readWithM parseT2T (def {stateOptions = opts}) $ crFilter s <> "\n\n" case parsed of Right result -> return result Left e -> throwError e -- | Read Txt2Tags (ignoring all macros) from an input string returning -- a Pandoc document -- readTxt2TagsNoMacros :: PandocMonad m => ReaderOptions -> Text -> m Pandoc -- readTxt2TagsNoMacros = readTxt2Tags parseT2T :: T2T Pandoc parseT2T = do -- Parse header if standalone flag is set standalone <- getOption readerStandalone when standalone parseHeader body <- mconcat <$> manyTill block eof meta' <- stateMeta <$> getState return $ Pandoc meta' (B.toList body) parseHeader :: T2T () parseHeader = do () <$ try blankline <|> header meta <- stateMeta <$> getState optional blanklines config <- manyTill setting (notFollowedBy setting) -- TODO: Handle settings better let settings = foldr (\(k,v) -> B.setMeta k (MetaString v)) meta config updateState (\s -> s {stateMeta = settings}) <* optional blanklines header :: T2T () header = titleline >> authorline >> dateline headerline :: B.ToMetaValue a => Text -> T2T a -> T2T () headerline field p = (() <$ try blankline) <|> (p >>= updateState . B.setMeta field) titleline :: T2T () titleline = headerline "title" (trimInlines . mconcat <$> manyTill inline newline) authorline :: T2T () authorline = headerline "author" (sepBy author (char ';') <* newline) where author = trimInlines . mconcat <$> many (notFollowedBy (char ';' <|> newline) >> inline) dateline :: T2T () dateline = headerline "date" (trimInlines . mconcat <$> manyTill inline newline) type Keyword = Text type Value = Text setting :: T2T (Keyword, Value) setting = do string "%!" keyword <- ignoreSpacesCap (many1Char alphaNum) char ':' value <- ignoreSpacesCap (manyTillChar anyChar newline) return (keyword, value) -- Blocks parseBlocks :: T2T Blocks parseBlocks = mconcat <$> manyTill block eof block :: T2T Blocks block = choice [ mempty <$ blanklines , quote , hrule -- hrule must go above title , title , commentBlock , verbatim , rawBlock , taggedBlock , list , table , para ] title :: T2T Blocks title = try $ balancedTitle '+' <|> balancedTitle '=' balancedTitle :: Char -> T2T Blocks balancedTitle c = try $ do spaces level <- length <$> many1 (char c) guard (level <= 5) -- Max header level 5 heading <- manyTillChar (noneOf "\n\r") (count level (char c)) label <- optionMaybe (enclosed (char '[') (char ']') (alphaNum <|> oneOf "_-")) many spaceChar *> newline let attr = maybe nullAttr (\x -> (T.pack x, [], [])) label return $ B.headerWith attr level (trimInlines $ B.text heading) para :: T2T Blocks para = try $ do ils <- parseInlines nl <- option False (True <$ newline) option (B.plain ils) (guard nl >> notFollowedBy listStart >> return (B.para ils)) where listStart = try bulletListStart <|> orderedListStart commentBlock :: T2T Blocks commentBlock = try (blockMarkupArea anyLine (const mempty) "%%%") <|> comment -- Separator and Strong line treated the same hrule :: T2T Blocks hrule = try $ do spaces line <- many1 (oneOf "=-_") guard (length line >= 20) B.horizontalRule <$ blankline quote :: T2T Blocks quote = try $ do lookAhead tab rawQuote <- many1 (tab *> optional spaces *> anyLine) contents <- parseFromString' parseBlocks (T.intercalate "\n" rawQuote <> "\n\n") return $ B.blockQuote contents commentLine :: T2T Inlines commentLine = comment -- List Parsing code from Org Reader list :: T2T Blocks list = choice [bulletList, orderedList, definitionList] bulletList :: T2T Blocks bulletList = B.bulletList . compactify <$> many1 (listItem bulletListStart parseBlocks) orderedList :: T2T Blocks orderedList = B.orderedList . compactify <$> many1 (listItem orderedListStart parseBlocks) definitionList :: T2T Blocks definitionList = try $ B.definitionList . compactifyDL <$> many1 (listItem definitionListStart definitionListEnd) definitionListEnd :: T2T (Inlines, [Blocks]) definitionListEnd = (,) <$> (mconcat <$> manyTill inline newline) <*> ((:[]) <$> parseBlocks) genericListStart :: T2T Char -> T2T Int genericListStart listMarker = try $ (2+) <$> (length <$> many spaceChar <* listMarker <* space <* notFollowedBy space) -- parses bullet list \start and returns its length (excl. following whitespace) bulletListStart :: T2T Int bulletListStart = genericListStart (char '-') orderedListStart :: T2T Int orderedListStart = genericListStart (char '+' ) definitionListStart :: T2T Int definitionListStart = genericListStart (char ':') -- parse raw text for one list item, excluding start marker and continuations listItem :: T2T Int -> T2T a -> T2T a listItem start end = try $ do markerLength <- try start firstLine <- anyLineNewline blank <- option "" ("\n" <$ blankline) rest <- T.concat <$> many (listContinuation markerLength) parseFromString' end $ firstLine <> blank <> rest -- continuation of a list item - indented and separated by blankline or endline. -- Note: nested lists are parsed as continuations. listContinuation :: Int -> T2T Text listContinuation markerLength = try $ notFollowedBy' (blankline >> blankline) *> (mappend <$> (T.concat <$> many1 listLine) <*> manyChar blankline) where listLine = try $ indentWith markerLength *> anyLineNewline -- Table table :: T2T Blocks table = try $ do tableHeader <- fmap snd <$> option mempty (try headerRow) rows <- many1 (many commentLine *> tableRow) let columns = transpose rows let ncolumns = length columns let aligns = map (foldr1 findAlign . map fst) columns let rows' = map (map snd) rows let size = maximum (map length rows') let rowsPadded = map (pad size) rows' let headerPadded = if null tableHeader then mempty else pad size tableHeader return $ B.table mempty (zip aligns (replicate ncolumns 0.0)) headerPadded rowsPadded pad :: (Monoid a) => Int -> [a] -> [a] pad n xs = xs ++ replicate (n - length xs) mempty findAlign :: Alignment -> Alignment -> Alignment findAlign x y | x == y = x | otherwise = AlignDefault headerRow :: T2T [(Alignment, Blocks)] headerRow = genericRow (string "||") tableRow :: T2T [(Alignment, Blocks)] tableRow = genericRow (char '|') genericRow :: T2T a -> T2T [(Alignment, Blocks)] genericRow start = try $ do spaces *> start manyTill tableCell newline "genericRow" tableCell :: T2T (Alignment, Blocks) tableCell = try $ do leftSpaces <- length <$> lookAhead (many1 space) -- Case of empty cell means we must lookAhead content <- manyTill inline (try $ lookAhead cellEnd) rightSpaces <- length <$> many space let align = case compare leftSpaces rightSpaces of LT -> AlignLeft EQ -> AlignCenter GT -> AlignRight endOfCell return (align, B.plain (B.trimInlines $ mconcat content)) where cellEnd = void newline <|> (many1 space *> endOfCell) endOfCell :: T2T () endOfCell = try (skipMany1 $ char '|') <|> ( () <$ lookAhead newline) -- Raw area verbatim :: T2T Blocks verbatim = genericBlock anyLineNewline B.codeBlock "```" rawBlock :: T2T Blocks rawBlock = genericBlock anyLineNewline (B.para . B.str) "\"\"\"" taggedBlock :: T2T Blocks taggedBlock = do target <- getTarget genericBlock anyLineNewline (B.rawBlock target) "'''" -- Generic genericBlock :: Monoid a => T2T a -> (a -> Blocks) -> Text -> T2T Blocks genericBlock p f s = blockMarkupArea p f s <|> blockMarkupLine p f s blockMarkupArea :: Monoid a => T2T a -> (a -> Blocks) -> Text -> T2T Blocks blockMarkupArea p f s = try (do textStr s *> blankline f . mconcat <$> manyTill p (eof <|> void (textStr s *> blankline))) blockMarkupLine :: T2T a -> (a -> Blocks) -> Text -> T2T Blocks blockMarkupLine p f s = try (f <$> (textStr s *> space *> p)) -- Can be in either block or inline position comment :: Monoid a => T2T a comment = try $ do atStart notFollowedBy macro mempty <$ (char '%' *> anyLine) -- Inline parseInlines :: T2T Inlines parseInlines = trimInlines . mconcat <$> many1 inline inline :: T2T Inlines inline = choice [ endline , macro , commentLine , whitespace , url , link , image , bold , underline , code , raw , tagged , strike , italic , code , str , symbol ] bold :: T2T Inlines bold = inlineMarkup inline B.strong '*' B.str underline :: T2T Inlines underline = inlineMarkup inline underlineSpan '_' B.str strike :: T2T Inlines strike = inlineMarkup inline B.strikeout '-' B.str italic :: T2T Inlines italic = inlineMarkup inline B.emph '/' B.str code :: T2T Inlines code = inlineMarkup (T.singleton <$> anyChar) B.code '`' id raw :: T2T Inlines raw = inlineMarkup (T.singleton <$> anyChar) B.text '"' id tagged :: T2T Inlines tagged = do target <- getTarget inlineMarkup (T.singleton <$> anyChar) (B.rawInline target) '\'' id -- Parser for markup indicated by a double character. -- Inline markup is greedy and glued -- Greedy meaning ***a*** = Bold [Str "*a*"] -- Glued meaning that markup must be tight to content -- Markup can't pass newlines inlineMarkup :: Monoid a => T2T a -- Content parser -> (a -> Inlines) -- Constructor -> Char -- Fence -> (Text -> a) -- Special Case to handle ****** -> T2T Inlines inlineMarkup p f c special = try $ do start <- many1Char (char c) let l = T.length start guard (l >= 2) when (l == 2) (void $ notFollowedBy space) -- We must make sure that there is no space before the start of the -- closing tags body <- optionMaybe (try $ manyTillChar (noneOf "\n\r") (try $ lookAhead (noneOf " " >> string [c,c] ))) case body of Just middle -> do lastChar <- anyChar end <- many1Char (char c) let parser inp = parseFromString' (mconcat <$> many p) inp let start' = case T.drop 2 start of "" -> mempty xs -> special xs body' <- parser (middle <> T.singleton lastChar) let end' = case T.drop 2 end of "" -> mempty xs -> special xs return $ f (start' `mappend` body' `mappend` end') Nothing -> do -- Either bad or case such as ***** guard (l >= 5) let body' = T.replicate (l - 4) $ T.singleton c return $ f (special body') link :: T2T Inlines link = try imageLink <|> titleLink -- Link with title titleLink :: T2T Inlines titleLink = try $ do char '[' notFollowedBy space tokens <- sepBy1 (manyChar $ noneOf " ]") space guard (length tokens >= 2) char ']' let link' = last tokens guard $ not $ T.null link' let tit = T.unwords (init tokens) return $ B.link link' "" (B.text tit) -- Link with image imageLink :: T2T Inlines imageLink = try $ do char '[' body <- image many1 space l <- manyTillChar (noneOf "\n\r ") (char ']') return (B.link l "" body) macro :: T2T Inlines macro = try $ do name <- string "%%" *> oneOfStringsCI (map fst commands) optional (try $ enclosed (char '(') (char ')') anyChar) lookAhead (spaceChar <|> oneOf specialChars <|> newline) maybe (return mempty) (\f -> B.str <$> asks f) (lookup name commands) where commands = [ ("date", date), ("mtime", mtime) , ("infile", T.pack . infile), ("outfile", T.pack . outfile)] -- raw URLs in text are automatically linked url :: T2T Inlines url = try $ do (rawUrl, escapedUrl) <- try uri <|> emailAddress return $ B.link rawUrl "" (B.str escapedUrl) uri :: T2T (Text, Text) uri = try $ do address <- t2tURI return (address, escapeURI address) -- The definition of a URI in the T2T source differs from the -- actual definition. This is a transcription of the definition in -- the source of v2.6 --isT2TURI :: String -> Bool --isT2TURI (parse t2tURI "" -> Right _) = True --isT2TURI _ = False t2tURI :: T2T Text t2tURI = do start <- try ((<>) <$> proto <*> urlLogin) <|> guess domain <- many1Char chars sep <- manyChar (char '/') form' <- option mempty (T.cons <$> char '?' <*> many1Char form) anchor' <- option mempty (T.cons <$> char '#' <*> manyChar anchor) return (start <> domain <> sep <> form' <> anchor') where protos = ["http", "https", "ftp", "telnet", "gopher", "wais"] proto = (<>) <$> oneOfStrings protos <*> textStr "://" guess = (<>) <$> (((<>) <$> stringAnyCase "www" <*> option mempty (T.singleton <$> oneOf "23")) <|> stringAnyCase "ftp") <*> (T.singleton <$> char '.') login = alphaNum <|> oneOf "_.-" pass = manyChar (noneOf " @") chars = alphaNum <|> oneOf "%._/~:,=$@&+-" anchor = alphaNum <|> oneOf "%._0" form = chars <|> oneOf ";*" urlLogin = option mempty $ try ((\x y z -> x <> y <> T.singleton z) <$> many1Char login <*> option mempty (T.cons <$> char ':' <*> pass) <*> char '@') image :: T2T Inlines image = try $ do -- List taken from txt2tags source let extensions = [".jpg", ".jpeg", ".gif", ".png", ".eps", ".bmp"] char '[' (path, ext) <- manyUntilChar (noneOf "\n\t\r ") (oneOfStrings extensions) char ']' return $ B.image (path <> ext) "" mempty -- Characters used in markup specialChars :: [Char] specialChars = "%*-_/|:+;" tab :: T2T Char tab = char '\t' space :: T2T Char space = char ' ' spaces :: T2T Text spaces = manyChar space endline :: T2T Inlines endline = try $ do newline notFollowedBy blankline notFollowedBy hrule notFollowedBy title notFollowedBy verbatim notFollowedBy rawBlock notFollowedBy taggedBlock notFollowedBy quote notFollowedBy list notFollowedBy table return B.softbreak str :: T2T Inlines str = try $ B.str <$> many1Char (noneOf $ specialChars ++ "\n\r ") whitespace :: T2T Inlines whitespace = try $ B.space <$ spaceChar symbol :: T2T Inlines symbol = B.str . T.singleton <$> oneOf specialChars -- Utility getTarget :: T2T Text getTarget = do mv <- lookupMeta "target" . stateMeta <$> getState return $ case mv of Just (MetaString target) -> target Just (MetaInlines [Str target]) -> target _ -> "html" atStart :: T2T () atStart = (sourceColumn <$> getPosition) >>= guard . (== 1) ignoreSpacesCap :: T2T Text -> T2T Text ignoreSpacesCap p = T.toLower <$> (spaces *> p <* spaces) pandoc-2.9.2.1/src/Text/Pandoc/Readers/Vimwiki.hs000066400000000000000000000533451363630463000214240ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE CPP #-} {- | Module : Text.Pandoc.Readers.Vimwiki Copyright : Copyright (C) 2017-2020 Yuchen Pei License : GNU GPL, version 2 or above Maintainer : Yuchen Pei Stability : alpha Portability : portable Conversion of vimwiki text to 'Pandoc' document. -} {-- [X]: implemented [O]: not implemented * block parsers: * [X] header * [X] hrule * [X] comment * [X] blockquote * [X] preformatted -- using codeblock * [X] displaymath * [X] bulletlist / orderedlist * [X] todo lists -- using span. * [X] table * [X] centered table -- using div * [O] colspan and rowspan -- see issue #1024 * [X] paragraph * [X] definition list * inline parsers: * [X] bareURL * [X] strong * [X] emph * [X] strikeout * [X] code * [X] link * [X] image * [X] inline math * [X] tag * [X] sub- and super-scripts * misc: * [X] `TODO:` mark * [X] metadata placeholders: %title and %date * [O] control placeholders: %template and %nohtml -- ignored --} module Text.Pandoc.Readers.Vimwiki ( readVimwiki ) where import Control.Monad (guard) import Control.Monad.Except (throwError) import Data.Default import Data.List (isInfixOf) import Data.Maybe import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Builder (Blocks, Inlines, fromList, toList, trimInlines) import qualified Text.Pandoc.Builder as B (blockQuote, bulletList, code, codeBlockWith, definitionList, displayMath, divWith, emph, headerWith, horizontalRule, image, imageWith, link, math, orderedList, para, plain, setMeta, simpleTable, softbreak, space, spanWith, str, strikeout, strong, subscript, superscript) import Text.Pandoc.Class.PandocMonad (PandocMonad (..)) import Text.Pandoc.Definition (Attr, Block (BulletList, OrderedList), Inline (Space), ListNumberDelim (..), ListNumberStyle (..), Pandoc (..), nullMeta) import Text.Pandoc.Options (ReaderOptions) import Text.Pandoc.Parsing (ParserState, ParserT, blanklines, emailAddress, many1Till, orderedListMarker, readWithM, registerHeader, spaceChar, stateMeta, stateOptions, uri, manyTillChar, manyChar, textStr, many1Char, countChar, many1TillChar) import Text.Pandoc.Shared (crFilter, splitTextBy, stringify, stripFirstAndLast, isURI, tshow) import Text.Parsec.Char (alphaNum, anyChar, char, newline, noneOf, oneOf, space, spaces, string) import Text.Parsec.Combinator (between, choice, eof, lookAhead, many1, manyTill, notFollowedBy, option, skipMany1) import Text.Parsec.Prim (getState, many, try, updateState, (<|>)) readVimwiki :: PandocMonad m => ReaderOptions -> Text -> m Pandoc readVimwiki opts s = do res <- readWithM parseVimwiki def{ stateOptions = opts } $ crFilter s case res of Left e -> throwError e Right result -> return result type VwParser = ParserT Text ParserState -- constants specialChars :: [Char] specialChars = "=*-#[]_~{}`$|:%^," spaceChars :: [Char] spaceChars = " \t\n" -- main parser parseVimwiki :: PandocMonad m => VwParser m Pandoc parseVimwiki = do bs <- mconcat <$> many block spaces eof st <- getState let meta = stateMeta st return $ Pandoc meta (toList bs) -- block parser block :: PandocMonad m => VwParser m Blocks block = do res <- choice [ mempty <$ blanklines , header , hrule , mempty <$ comment , mixedList , preformatted , displayMath , table , mempty <$ placeholder , blockQuote , definitionList , para ] trace (T.take 60 $ tshow $ toList res) return res blockML :: PandocMonad m => VwParser m Blocks blockML = choice [preformatted, displayMath, table] header :: PandocMonad m => VwParser m Blocks header = try $ do sp <- many spaceChar eqs <- many1 (char '=') spaceChar let lev = length eqs guard $ lev <= 6 contents <- trimInlines . mconcat <$> manyTill inline (try $ spaceChar >> string eqs >> many spaceChar >> newline) attr <- registerHeader (makeId contents, ["justcenter" | not (null sp)], []) contents return $ B.headerWith attr lev contents para :: PandocMonad m => VwParser m Blocks para = try $ do contents <- trimInlines . mconcat <$> many1 inline if all (==Space) (toList contents) then return mempty else return $ B.para contents hrule :: PandocMonad m => VwParser m Blocks hrule = try $ B.horizontalRule <$ (string "----" >> many (char '-') >> newline) comment :: PandocMonad m => VwParser m () comment = try $ do many spaceChar >> string "%%" >> many (noneOf "\n") return () blockQuote :: PandocMonad m => VwParser m Blocks blockQuote = try $ do string " " contents <- trimInlines . mconcat <$> many1 inlineBQ if all (==Space) (toList contents) then return mempty else return $ B.blockQuote $ B.plain contents definitionList :: PandocMonad m => VwParser m Blocks definitionList = try $ B.definitionList <$> many1 (dlItemWithDT <|> dlItemWithoutDT) dlItemWithDT :: PandocMonad m => VwParser m (Inlines, [Blocks]) dlItemWithDT = do dt <- definitionTerm dds <- many definitionDef return (dt, dds) dlItemWithoutDT :: PandocMonad m => VwParser m (Inlines, [Blocks]) dlItemWithoutDT = do dds <- many1 definitionDef return (mempty, dds) definitionDef :: PandocMonad m => VwParser m Blocks definitionDef = try $ notFollowedBy definitionTerm >> many spaceChar >> (definitionDef1 <|> definitionDef2) definitionDef1 :: PandocMonad m => VwParser m Blocks definitionDef1 = try $ mempty <$ defMarkerE definitionDef2 :: PandocMonad m => VwParser m Blocks definitionDef2 = try $ B.plain <$> (defMarkerM >> (trimInlines . mconcat <$> many inline') <* newline) definitionTerm :: PandocMonad m => VwParser m Inlines definitionTerm = try $ do x <- definitionTerm1 <|> definitionTerm2 guard (stringify x /= "") return x definitionTerm1 :: PandocMonad m => VwParser m Inlines definitionTerm1 = try $ trimInlines . mconcat <$> manyTill inline' (try defMarkerE) definitionTerm2 :: PandocMonad m => VwParser m Inlines definitionTerm2 = try $ trimInlines . mconcat <$> manyTill inline' (try $lookAhead (defMarkerM >> notFollowedBy hasDefMarkerM)) defMarkerM :: PandocMonad m => VwParser m Char defMarkerM = string "::" >> spaceChar defMarkerE :: PandocMonad m => VwParser m Char defMarkerE = string "::" >> newline hasDefMarkerM :: PandocMonad m => VwParser m Text hasDefMarkerM = manyTillChar (noneOf "\n") (try defMarkerM) preformatted :: PandocMonad m => VwParser m Blocks preformatted = try $ do many spaceChar >> string "{{{" attrText <- manyChar (noneOf "\n") lookAhead newline contents <- manyTillChar anyChar (try (char '\n' >> many spaceChar >> string "}}}" >> many spaceChar >> newline)) if (contents /= "") && (T.head contents == '\n') then return $ B.codeBlockWith (makeAttr attrText) (T.tail contents) else return $ B.codeBlockWith (makeAttr attrText) contents makeAttr :: Text -> Attr makeAttr s = let xs = splitTextBy (`elem` (" \t" :: String)) s in ("", [], mapMaybe nameValue xs) nameValue :: Text -> Maybe (Text, Text) nameValue s = let t = splitTextBy (== '=') s in if length t /= 2 then Nothing else let (a, b) = (head t, last t) in if (T.length b < 2) || ((T.head b, T.last b) /= ('"', '"')) then Nothing else Just (a, stripFirstAndLast b) displayMath :: PandocMonad m => VwParser m Blocks displayMath = try $ do many spaceChar >> string "{{$" mathTag <- option "" mathTagParser many space contents <- manyTillChar anyChar (try (char '\n' >> many spaceChar >> string "}}$" >> many spaceChar >> newline)) let contentsWithTags | mathTag == "" = contents | otherwise = "\\begin{" <> mathTag <> "}\n" <> contents <> "\n\\end{" <> mathTag <> "}" return $ B.para $ B.displayMath contentsWithTags mathTagLaTeX :: Text -> Text mathTagLaTeX s = case s of "equation" -> "" "equation*" -> "" "gather" -> "gathered" "gather*" -> "gathered" "multline" -> "gathered" "multline*" -> "gathered" "eqnarray" -> "aligned" "eqnarray*" -> "aligned" "align" -> "aligned" "align*" -> "aligned" "alignat" -> "aligned" "alignat*" -> "aligned" _ -> s mixedList :: PandocMonad m => VwParser m Blocks mixedList = try $ do (bl, _) <- mixedList' (-1) return $ head bl mixedList' :: PandocMonad m => Int -> VwParser m ([Blocks], Int) mixedList' prevInd = do (curInd, builder) <- option (-1, "na") (lookAhead listStart) if curInd < prevInd then return ([], curInd) else do listStart curLine <- listItemContent let listBuilder = if builder == "ul" then B.bulletList else B.orderedList (subList, lowInd) <- mixedList' curInd if lowInd >= curInd then do (sameIndList, endInd) <- mixedList' lowInd let curList = combineList curLine subList ++ sameIndList if curInd > prevInd then return ([listBuilder curList], endInd) else return (curList, endInd) else do let (curList, endInd) = (combineList curLine subList, lowInd) if curInd > prevInd then return ([listBuilder curList], endInd) else return (curList, endInd) plainInlineML' :: PandocMonad m => Inlines -> VwParser m Blocks plainInlineML' w = do xs <- many inlineML newline return $ B.plain $ trimInlines $ mconcat $ w:xs plainInlineML :: PandocMonad m => VwParser m Blocks plainInlineML = notFollowedBy listStart >> spaceChar >> plainInlineML' mempty listItemContent :: PandocMonad m => VwParser m Blocks listItemContent = try $ do w <- option mempty listTodoMarker x <- plainInlineML' w y <- many blocksThenInline z <- many blockML return $ mconcat $ x:y ++ z blocksThenInline :: PandocMonad m => VwParser m Blocks blocksThenInline = try $ do y <- many1 blockML x <- plainInlineML return $ mconcat $ y ++ [x] listTodoMarker :: PandocMonad m => VwParser m Inlines listTodoMarker = try $ do x <- between (many spaceChar >> char '[') (char ']' >> spaceChar) (oneOf " .oOX") return $ makeListMarkerSpan x makeListMarkerSpan :: Char -> Inlines makeListMarkerSpan x = let cl = case x of ' ' -> "done0" '.' -> "done1" 'o' -> "done2" 'O' -> "done3" 'X' -> "done4" _ -> "" in B.spanWith ("", [cl], []) mempty combineList :: Blocks -> [Blocks] -> [Blocks] combineList x [y] = case toList y of [BulletList z] -> [fromList $ toList x ++ [BulletList z]] [OrderedList attr z] -> [fromList $ toList x ++ [OrderedList attr z]] _ -> x:[y] combineList x xs = x:xs listStart :: PandocMonad m => VwParser m (Int, Text) listStart = try $ do s <- many spaceChar listType <- bulletListMarkers <|> orderedListMarkers spaceChar return (length s, listType) bulletListMarkers :: PandocMonad m => VwParser m Text bulletListMarkers = "ul" <$ (char '*' <|> char '-') orderedListMarkers :: PandocMonad m => VwParser m Text orderedListMarkers = ("ol" <$choice (orderedListMarker Decimal Period:(($OneParen) . orderedListMarker <$> [Decimal, LowerRoman, UpperRoman, LowerAlpha, UpperAlpha]))) <|> ("ol" <$ char '#') --many need trimInlines table :: PandocMonad m => VwParser m Blocks table = try $ do indent <- lookAhead (many spaceChar) (th, trs) <- table1 <|> table2 let tab = B.simpleTable th trs if indent == "" then return tab else return $ B.divWith ("", ["center"], []) tab -- table with header table1 :: PandocMonad m => VwParser m ([Blocks], [[Blocks]]) table1 = try $ do th <- tableRow many1 tableHeaderSeparator trs <- many tableRow return (th, trs) -- headerless table table2 :: PandocMonad m => VwParser m ([Blocks], [[Blocks]]) table2 = try $ do trs <- many1 tableRow return (replicate (length $ head trs) mempty, trs) tableHeaderSeparator :: PandocMonad m => VwParser m () tableHeaderSeparator = try $ do many spaceChar >> char '|' >> many1 (many1 (char '-') >> char '|') >> many spaceChar >> newline return () tableRow :: PandocMonad m => VwParser m [Blocks] tableRow = try $ do many spaceChar >> char '|' s <- lookAhead $ manyTill anyChar (try (char '|' >> many spaceChar >> newline)) guard $ not $ "||" `isInfixOf` ("|" ++ s ++ "|") many tableCell <* many spaceChar <* char '\n' tableCell :: PandocMonad m => VwParser m Blocks tableCell = try $ B.plain . trimInlines . mconcat <$> manyTill inline' (char '|') placeholder :: PandocMonad m => VwParser m () placeholder = try $ choice (ph <$> ["title", "date"]) <|> noHtmlPh <|> templatePh ph :: PandocMonad m => Text -> VwParser m () ph s = try $ do many spaceChar >> textStr (T.cons '%' s) >> spaceChar contents <- trimInlines . mconcat <$> manyTill inline (lookAhead newline) --use lookAhead because of placeholder in the whitespace parser let meta' = B.setMeta s contents nullMeta -- this order ensures that later values will be ignored in favor -- of earlier ones: updateState $ \st -> st { stateMeta = meta' <> stateMeta st } noHtmlPh :: PandocMonad m => VwParser m () noHtmlPh = try $ () <$ many spaceChar <* string "%nohtml" <* many spaceChar <* lookAhead newline templatePh :: PandocMonad m => VwParser m () templatePh = try $ () <$ many spaceChar <* string "%template" <* many (noneOf "\n") <* lookAhead newline -- inline parser inline :: PandocMonad m => VwParser m Inlines inline = choice $ whitespace endlineP:inlineList inlineList :: PandocMonad m => [VwParser m Inlines] inlineList = [ bareURL , todoMark , str , strong , emph , strikeout , code , link , image , inlineMath , tag , superscript , subscript , special ] -- inline parser without softbreaks or comment breaks inline' :: PandocMonad m => VwParser m Inlines inline' = choice $ whitespace':inlineList -- inline parser for blockquotes inlineBQ :: PandocMonad m => VwParser m Inlines inlineBQ = choice $ whitespace endlineBQ:inlineList -- inline parser for mixedlists inlineML :: PandocMonad m => VwParser m Inlines inlineML = choice $ whitespace endlineML:inlineList str :: PandocMonad m => VwParser m Inlines str = B.str <$> many1Char (noneOf $ spaceChars ++ specialChars) whitespace :: PandocMonad m => VwParser m () -> VwParser m Inlines whitespace endline = B.space <$ (skipMany1 spaceChar <|> try (newline >> (comment <|> placeholder))) <|> B.softbreak <$ endline whitespace' :: PandocMonad m => VwParser m Inlines whitespace' = B.space <$ skipMany1 spaceChar special :: PandocMonad m => VwParser m Inlines special = B.str <$> countChar 1 (oneOf specialChars) bareURL :: PandocMonad m => VwParser m Inlines bareURL = try $ do (orig, src) <- uri <|> emailAddress return $ B.link src "" (B.str orig) strong :: PandocMonad m => VwParser m Inlines strong = try $ do s <- lookAhead $ between (char '*') (char '*') (many1 $ noneOf "*") guard $ (head s `notElem` spaceChars) && (last s `notElem` spaceChars) char '*' contents <- mconcat <$>manyTill inline' (char '*' >> notFollowedBy alphaNum) return $ B.spanWith (makeId contents, [], []) mempty <> B.strong contents makeId :: Inlines -> Text makeId i = T.concat (stringify <$> toList i) emph :: PandocMonad m => VwParser m Inlines emph = try $ do s <- lookAhead $ between (char '_') (char '_') (many1 $ noneOf "_") guard $ (head s `notElem` spaceChars) && (last s `notElem` spaceChars) char '_' contents <- mconcat <$>manyTill inline' (char '_' >> notFollowedBy alphaNum) return $ B.emph contents strikeout :: PandocMonad m => VwParser m Inlines strikeout = try $ do string "~~" contents <- mconcat <$>many1Till inline' (string "~~") return $ B.strikeout contents code :: PandocMonad m => VwParser m Inlines code = try $ do char '`' contents <- many1TillChar (noneOf "\n") (char '`') return $ B.code contents superscript :: PandocMonad m => VwParser m Inlines superscript = try $ B.superscript . mconcat <$> (char '^' >> many1Till inline' (char '^')) subscript :: PandocMonad m => VwParser m Inlines subscript = try $ B.subscript . mconcat <$> (string ",," >> many1Till inline' (try $ string ",,")) link :: PandocMonad m => VwParser m Inlines link = try $ do string "[[" contents <- lookAhead $ manyTillChar anyChar (string "]]") if T.any (== '|') contents then do url <- manyTillChar anyChar $ char '|' lab <- mconcat <$> manyTill inline (string "]]") let tit = if isURI url then "" else "wikilink" return $ B.link (procLink url) tit lab else do manyTill anyChar (string "]]") -- not using try here because [[hell]o]] is not rendered as a link in vimwiki let tit = if isURI contents then "" else "wikilink" return $ B.link (procLink contents) tit (B.str contents) image :: PandocMonad m => VwParser m Inlines image = try $ do string "{{" contentText <- lookAhead $ manyTill (noneOf "\n") (try $ string "}}") images $ length $ filter (== '|') contentText images :: PandocMonad m => Int -> VwParser m Inlines images k | k == 0 = do imgurl <- manyTillChar anyChar (try $ string "}}") return $ B.image (procImgurl imgurl) "" (B.str "") | k == 1 = do imgurl <- manyTillChar anyChar (char '|') alt <- mconcat <$> manyTill inline (try $ string "}}") return $ B.image (procImgurl imgurl) "" alt | k == 2 = do imgurl <- manyTillChar anyChar (char '|') alt <- mconcat <$> manyTill inline (char '|') attrText <- manyTillChar anyChar (try $ string "}}") return $ B.imageWith (makeAttr attrText) (procImgurl imgurl) "" alt | otherwise = do imgurl <- manyTillChar anyChar (char '|') alt <- mconcat <$> manyTill inline (char '|') attrText <- manyTillChar anyChar (char '|') manyTill anyChar (try $ string "}}") return $ B.imageWith (makeAttr attrText) (procImgurl imgurl) "" alt procLink' :: Text -> Text procLink' s | T.take 6 s == "local:" = "file" <> T.drop 5 s | T.take 6 s == "diary:" = "diary/" <> T.drop 6 s | or ((`T.isPrefixOf` s) <$> [ "http:", "https:", "ftp:", "file:", "mailto:", "news:", "telnet:" ]) = s | s == "" = "" | T.last s == '/' = s | otherwise = s procLink :: Text -> Text procLink s = procLink' x <> y where (x, y) = T.break (=='#') s procImgurl :: Text -> Text procImgurl s = if T.take 6 s == "local:" then "file" <> T.drop 5 s else s inlineMath :: PandocMonad m => VwParser m Inlines inlineMath = try $ B.math <$ char '$' <*> many1TillChar (noneOf "\n") (char '$') tag :: PandocMonad m => VwParser m Inlines tag = try $ do char ':' s <- manyTillChar (noneOf spaceChars) (try (char ':' >> lookAhead space)) guard $ not $ "::" `T.isInfixOf` (":" <> s <> ":") let ss = splitTextBy (==':') s return $ mconcat $ makeTagSpan' (head ss):(makeTagSpan <$> tail ss) todoMark :: PandocMonad m => VwParser m Inlines todoMark = try $ do string "TODO:" return $ B.spanWith ("", ["todo"], []) (B.str "TODO:") -- helper functions and parsers endlineP :: PandocMonad m => VwParser m () endlineP = () <$ try (newline <* nFBTTBSB <* notFollowedBy blockQuote) endlineBQ :: PandocMonad m => VwParser m () endlineBQ = () <$ try (newline <* nFBTTBSB <* string " ") endlineML :: PandocMonad m => VwParser m () endlineML = () <$ try (newline <* nFBTTBSB <* many1 spaceChar) --- nFBTTBSB is short for notFollowedByThingsThatBreakSoftBreaks nFBTTBSB :: PandocMonad m => VwParser m () nFBTTBSB = notFollowedBy newline <* notFollowedBy hrule <* notFollowedBy tableRow <* notFollowedBy header <* notFollowedBy listStart <* notFollowedBy preformatted <* notFollowedBy displayMath <* notFollowedBy hasDefMarker hasDefMarker :: PandocMonad m => VwParser m () hasDefMarker = () <$ manyTill (noneOf "\n") (string "::" >> oneOf spaceChars) makeTagSpan' :: Text -> Inlines makeTagSpan' s = B.spanWith (T.cons '-' s, [], []) (B.str "") <> B.spanWith (s, ["tag"], []) (B.str s) makeTagSpan :: Text -> Inlines makeTagSpan s = B.space <> makeTagSpan' s mathTagParser :: PandocMonad m => VwParser m Text mathTagParser = do s <- try $ lookAhead (char '%' >> manyTillChar (noneOf spaceChars) (try $ char '%' >> many (noneOf $ '%':spaceChars) >> space)) char '%' >> textStr s >> char '%' return $ mathTagLaTeX s pandoc-2.9.2.1/src/Text/Pandoc/RoffChar.hs000066400000000000000000000172761363630463000201150ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.RoffChar Copyright : Copyright (C) 2007-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Roff character escaping/unescaping. -} module Text.Pandoc.RoffChar ( standardEscapes , characterCodes , combiningAccents ) where import qualified Data.Text as T -- | These are the escapes specifically mentioned in groff_man(7), -- plus @ and ellipsis. standardEscapes :: [(Char, T.Text)] standardEscapes = [ ('\160', "\\ ") , ('\'', "\\[aq]") , ('‘', "\\[oq]") , ('’', "\\[cq]") , ('"', "\\[dq]") , ('“', "\\[lq]") , ('”', "\\[rq]") , ('—', "\\[em]") , ('–', "\\[en]") , ('`', "\\[ga]") , ('^', "\\[ha]") , ('~', "\\[ti]") , ('\\', "\\[rs]") , ('@', "\\[at]") -- because we use @ as a table and math delimiter , ('\x2026', "\\&...") -- because u2026 doesn't render on tty ] characterCodes :: [(Char, T.Text)] characterCodes = [ ('Ð', "-D") , ('ð', "Sd") , ('Þ', "TP") , ('þ', "Tp") , ('ß', "ss") , ('ff', "ff") , ('fi', "fi") , ('fl', "fl") , ('ffi', "Fi") , ('ffl', "Fl") , ('Ł', "/L") , ('ł', "/l") , ('Ø', "/O") , ('ø', "/o") , ('Æ', "AE") , ('æ', "ae") , ('Œ', "OE") , ('œ', "oe") , ('IJ', "IJ") , ('ij', "ij") , ('ı', ".i") , ('ȷ', ".j") , ('Á', "'A") , ('Ć', "'C") , ('É', "'E") , ('Í', "'I") , ('Ó', "'O") , ('Ú', "'U") , ('Ý', "'Y") , ('á', "'a") , ('ć', "'c") , ('é', "'e") , ('í', "'i") , ('ó', "'o") , ('ú', "'u") , ('ý', "'y") , ('Ä', ":A") , ('Ë', ":E") , ('Ï', ":I") , ('Ö', ":O") , ('Ü', ":U") , ('Ÿ', ":Y") , ('ä', ":a") , ('ë', ":e") , ('ï', ":i") , ('ö', ":o") , ('ü', ":u") , ('ÿ', ":y") , ('Â', "^A") , ('Ê', "^E") , ('Î', "^I") , ('Ô', "^O") , ('Û', "^U") , ('â', "^a") , ('ê', "^e") , ('î', "^i") , ('ô', "^o") , ('û', "^u") , ('À', "`A") , ('È', "`E") , ('Ì', "`I") , ('Ò', "`O") , ('Ù', "`U") , ('à', "`a") , ('è', "`e") , ('ì', "`i") , ('ò', "`o") , ('ù', "`u") , ('Ã', "~A") , ('Ñ', "~N") , ('Õ', "~O") , ('ã', "~a") , ('ñ', "~n") , ('õ', "~o") , ('Š', "vS") , ('š', "vs") , ('Ž', "vZ") , ('ž', "vz") , ('Ç', ",C") , ('ç', ",c") , ('Å', "oA") , ('å', "oa") , ('˝', "a\"") , ('¯', "a-") , ('˙', "a.") , ('^', "a^") , ('´', "aa") , ('`', "ga") , ('˘', "ab") , ('¸', "ac") , ('¨', "ad") , ('ˇ', "ah") , ('˚', "ao") , ('~', "a~") , ('˛', "ho") , ('^', "ha") , ('~', "ti") , ('„', "Bq") , ('‚', "bq") , ('“', "lq") , ('”', "rq") , ('‘', "oq") , ('’', "cq") , ('\'', "aq") , ('"', "dq") , ('«', "Fo") , ('»', "Fc") , ('‹', "fo") , ('›', "fc") , ('¡', "r!") , ('¿', "r?") , ('—', "em") , ('–', "en") , ('‐', "hy") , ('[', "lB") , (']', "rB") , ('{', "lC") , ('}', "rC") , ('⟨', "la") , ('⟩', "ra") , ('⎪', "bv") , ('⎪', "braceex") , ('⎡', "bracketlefttp") , ('⎣', "bracketleftbt") , ('⎢', "bracketleftex") , ('⎤', "bracketrighttp") , ('⎦', "bracketrightbt") , ('⎥', "bracketrightex") , ('╭', "lt") , ('⎧', "bracelefttp") , ('┥', "lk") , ('⎨', "braceleftmid") , ('╰', "lb") , ('⎩', "braceleftbt") , ('⎪', "braceleftex") , ('╮', "rt") , ('⎫', "bracerighttp") , ('┝', "rk") , ('⎬', "bracerightmid") , ('╯', "rb") , ('⎭', "bracerightbt") , ('⎪', "bracerightex") , ('⎛', "parenlefttp") , ('⎝', "parenleftbt") , ('⎜', "parenleftex") , ('⎞', "parenrighttp") , ('⎠', "parenrightbt") , ('⎟', "parenrightex") , ('←', "<-") , ('→', "->") , ('↔', "<>") , ('↓', "da") , ('↑', "ua") , ('↕', "va") , ('⇐', "lA") , ('⇒', "rA") , ('⇔', "hA") , ('⇓', "dA") , ('⇑', "uA") , ('⇕', "vA") , ('⎯', "an") , ('|', "ba") , ('│', "br") , ('_', "ul") , ('‾', "rn") , ('_', "ru") , ('¦', "bb") , ('/', "sl") , ('\\', "rs") , ('○', "ci") , ('·', "bu") , ('‡', "dd") , ('†', "dg") , ('◊', "lz") , ('□', "sq") , ('¶', "ps") , ('§', "sc") , ('☜', "lh") , ('☞', "rh") , ('@', "at") , ('#', "sh") , ('↵', "CR") , ('✓', "OK") , ('©', "co") , ('®', "rg") , ('™', "tm") , ('$', "Do") , ('¢', "ct") , ('€', "eu") , ('€', "Eu") , ('¥', "Ye") , ('£', "Po") , ('¤', "Cs") , ('ƒ', "Fn") , ('°', "de") , ('‰', "%0") , ('′', "fm") , ('″', "sd") , ('µ', "mc") , ('ª', "Of") , ('º', "Om") , ('∧', "AN") , ('∨', "OR") , ('¬', "no") , ('¬', "tno") , ('∃', "te") , ('∀', "fa") , ('∋', "st") , ('∴', "3d") , ('∴', "tf") , ('|', "or") , ('½', "12") , ('¼', "14") , ('¾', "34") , ('⅛', "18") , ('⅜', "38") , ('⅝', "58") , ('⅞', "78") , ('¹', "S1") , ('²', "S2") , ('³', "S3") , ('+', "pl") , ('−', "mi") , ('∓', "-+") , ('±', "+-") , ('±', "t+-") , ('·', "pc") , ('⋅', "md") , ('×', "mu") , ('×', "tmu") , ('⊗', "c*") , ('⊕', "c+") , ('÷', "di") , ('÷', "tdi") , ('⁄', "f/") , ('∗', "**") , ('≤', "<=") , ('≥', ">=") , ('≪', "<<") , ('≫', ">>") , ('=', "eq") , ('≠', "!=") , ('≡', "==") , ('≢', "ne") , ('≅', "=~") , ('≃', "|=") , ('∼', "ap") , ('≈', "~~") , ('≈', "~=") , ('∝', "pt") , ('∅', "es") , ('∈', "mo") , ('∉', "nm") , ('⊂', "sb") , ('⊄', "nb") , ('⊃', "sp") , ('⊅', "nc") , ('⊆', "ib") , ('⊇', "ip") , ('∩', "ca") , ('∪', "cu") , ('∠', "/_") , ('⊥', "pp") , ('∫', "is") , ('∫', "integral") , ('∑', "sum") , ('∏', "product") , ('∐', "coproduct") , ('∇', "gr") , ('√', "sr") , ('√', "sqrt") -- , "radicalex" -- "sqrtex" , ('⌈', "lc") , ('⌉', "rc") , ('⌊', "lf") , ('⌋', "rf") , ('∞', "if") , ('ℵ', "Ah") , ('ℑ', "Im") , ('ℜ', "Re") , ('℘', "wp") , ('∂', "pd") , ('ℏ', "-h") , ('ℏ', "hbar") , ('Α', "*A") , ('Β', "*B") , ('Γ', "*G") , ('Δ', "*D") , ('Ε', "*E") , ('Ζ', "*Z") , ('Η', "*Y") , ('Θ', "*H") , ('Ι', "*I") , ('Κ', "*K") , ('Λ', "*L") , ('Μ', "*M") , ('Ν', "*N") , ('Ξ', "*C") , ('Ο', "*O") , ('Π', "*P") , ('Ρ', "*R") , ('Σ', "*S") , ('Τ', "*T") , ('Υ', "*U") , ('Φ', "*F") , ('Χ', "*X") , ('Ψ', "*Q") , ('Ω', "*W") , ('α', "*a") , ('β', "*b") , ('γ', "*g") , ('δ', "*d") , ('ε', "*e") , ('ζ', "*z") , ('η', "*y") , ('θ', "*h") , ('ι', "*i") , ('κ', "*k") , ('λ', "*l") , ('μ', "*m") , ('ν', "*n") , ('ξ', "*c") , ('ο', "*o") , ('π', "*p") , ('ρ', "*r") , ('ς', "ts") , ('σ', "*s") , ('τ', "*t") , ('υ', "*u") , ('ϕ', "*f") , ('χ', "*x") , ('ψ', "*q") , ('ω', "*w") , ('ϑ', "+h") , ('φ', "+f") , ('ϖ', "+p") , ('ϵ', "+e") , ('♣', "CL") , ('♠', "SP") , ('♥', "HE") , ('♦', "DI") , ('˝' , "a\"") , ('¯', "a-") , ('˙', "a.") , ('^', "a^") , ('´', "aa") , ('`', "ga") , ('˘', "ab") , ('¸', "ac") , ('¨', "ad") , ('ˇ', "ah") , ('˚', "ao") , ('~', "a~") , ('˛', "ho") , ('^', "ha") , ('~', "ti") ] -- use like: \\[E a^ aa] combiningAccents :: [(Char, T.Text)] combiningAccents = [ ('\779' , "a\"") , ('\772', "a-") , ('\775', "a.") , ('\770', "a^") , ('\769', "aa") , ('\768', "ga") , ('\774', "ab") , ('\807', "ac") , ('\776', "ad") , ('\780', "ah") , ('\778', "ao") , ('\771', "a~") , ('\808', "ho") , ('\770', "ha") , ('\771', "ti") ] pandoc-2.9.2.1/src/Text/Pandoc/SelfContained.hs000066400000000000000000000241171363630463000211310ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TupleSections #-} {- | Module : Text.Pandoc.SelfContained Copyright : Copyright (C) 2011-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Functions for converting an HTML file into one that can be viewed offline, by incorporating linked images, CSS, and scripts into the HTML using data URIs. -} module Text.Pandoc.SelfContained ( makeDataURI, makeSelfContained ) where import Codec.Compression.GZip as Gzip import Control.Applicative ((<|>)) import Control.Monad.Except (throwError) import Control.Monad.Trans (lift) import Data.ByteString (ByteString) import Data.ByteString.Base64 import qualified Data.ByteString.Char8 as B import qualified Data.ByteString.Lazy as L import qualified Data.Text as T import Data.Char (isAlphaNum, isAscii) import Network.URI (escapeURIString) import System.FilePath (takeDirectory, takeExtension, ()) import Text.HTML.TagSoup import Text.Pandoc.Class.PandocMonad (PandocMonad (..), fetchItem, getInputFiles, report, setInputFiles) import Text.Pandoc.Error import Text.Pandoc.Logging import Text.Pandoc.MIME (MimeType) import Text.Pandoc.Shared (isURI, renderTags', trim) import Text.Pandoc.UTF8 (toString, toText, fromText) import Text.Parsec (ParsecT, runParserT) import qualified Text.Parsec as P isOk :: Char -> Bool isOk c = isAscii c && isAlphaNum c makeDataURI :: (MimeType, ByteString) -> T.Text makeDataURI (mime, raw) = if textual then "data:" <> mime' <> "," <> T.pack (escapeURIString isOk (toString raw)) else "data:" <> mime' <> ";base64," <> toText (encode raw) where textual = "text/" `T.isPrefixOf` mime mime' = if textual && T.any (== ';') mime then mime <> ";charset=utf-8" else mime -- mime type already has charset convertTags :: PandocMonad m => [Tag T.Text] -> m [Tag T.Text] convertTags [] = return [] convertTags (t@TagOpen{}:ts) | fromAttrib "data-external" t == "1" = (t:) <$> convertTags ts convertTags (t@(TagOpen tagname as):ts) | tagname `elem` ["img", "embed", "video", "input", "audio", "source", "track", "section"] = do as' <- mapM processAttribute as rest <- convertTags ts return $ TagOpen tagname as' : rest where processAttribute (x,y) = if x `elem` ["src", "data-src", "href", "poster", "data-background-image"] then do enc <- getDataURI (fromAttrib "type" t) y return (x, enc) else return (x,y) convertTags (t@(TagOpen "script" as):TagClose "script":ts) = case fromAttrib "src" t of "" -> (t:) <$> convertTags ts src -> do let typeAttr = fromAttrib "type" t res <- getData typeAttr src rest <- convertTags ts case res of Left dataUri -> return $ TagOpen "script" (("src",dataUri) : [(x,y) | (x,y) <- as, x /= "src"]) : TagClose "script" : rest Right (mime, bs) | ("text/javascript" `T.isPrefixOf` mime || "application/javascript" `T.isPrefixOf` mime || "application/x-javascript" `T.isPrefixOf` mime) && not (" return $ TagOpen "script" [("type", typeAttr)|not (T.null typeAttr)] : TagText (toText bs) : TagClose "script" : rest | otherwise -> return $ TagOpen "script" (("src",makeDataURI (mime, bs)) : [(x,y) | (x,y) <- as, x /= "src"]) : TagClose "script" : rest convertTags (t@(TagOpen "link" as):ts) = case fromAttrib "href" t of "" -> (t:) <$> convertTags ts src -> do res <- getData (fromAttrib "type" t) src case res of Left dataUri -> do rest <- convertTags ts return $ TagOpen "link" (("href",dataUri) : [(x,y) | (x,y) <- as, x /= "href"]) : rest Right (mime, bs) | "text/css" `T.isPrefixOf` mime && T.null (fromAttrib "media" t) && not (" do rest <- convertTags $ dropWhile (==TagClose "link") ts return $ TagOpen "style" [("type", "text/css")] -- see #5725 : TagText (toText bs) : TagClose "style" : rest | otherwise -> do rest <- convertTags ts return $ TagOpen "link" (("href",makeDataURI (mime, bs)) : [(x,y) | (x,y) <- as, x /= "href"]) : rest convertTags (t:ts) = (t:) <$> convertTags ts cssURLs :: PandocMonad m => FilePath -> ByteString -> m ByteString cssURLs d orig = do res <- runParserT (parseCSSUrls d) () "css" orig case res of Left e -> do report $ CouldNotParseCSS $ T.pack $ show e return orig Right bs -> return bs parseCSSUrls :: PandocMonad m => FilePath -> ParsecT ByteString () m ByteString parseCSSUrls d = B.concat <$> P.many (pCSSWhite <|> pCSSComment <|> pCSSImport d <|> pCSSUrl d <|> pCSSOther) pCSSImport :: PandocMonad m => FilePath -> ParsecT ByteString () m ByteString pCSSImport d = P.try $ do P.string "@import" P.spaces res <- (pQuoted <|> pUrl) >>= handleCSSUrl d P.spaces P.char ';' P.spaces case res of Left b -> return $ B.pack "@import " <> b Right (_, b) -> return b -- Note: some whitespace in CSS is significant, so we can't collapse it! pCSSWhite :: PandocMonad m => ParsecT ByteString () m ByteString pCSSWhite = B.singleton <$> P.space <* P.spaces pCSSComment :: PandocMonad m => ParsecT ByteString () m ByteString pCSSComment = P.try $ do P.string "/*" P.manyTill P.anyChar (P.try (P.string "*/")) return B.empty pCSSOther :: PandocMonad m => ParsecT ByteString () m ByteString pCSSOther = (B.pack <$> P.many1 (P.noneOf "u/ \n\r\t")) <|> (B.singleton <$> P.char 'u') <|> (B.singleton <$> P.char '/') pCSSUrl :: PandocMonad m => FilePath -> ParsecT ByteString () m ByteString pCSSUrl d = P.try $ do res <- pUrl >>= handleCSSUrl d case res of Left b -> return b Right (mt,b) -> do let enc = makeDataURI (mt, b) return $ fromText $ "url(" <> enc <> ")" pQuoted :: PandocMonad m => ParsecT ByteString () m (T.Text, ByteString) pQuoted = P.try $ do quote <- P.oneOf "\"'" url <- T.pack <$> P.manyTill P.anyChar (P.char quote) let fallback = fromText $ T.singleton quote <> trim url <> T.singleton quote return (url, fallback) pUrl :: PandocMonad m => ParsecT ByteString () m (T.Text, ByteString) pUrl = P.try $ do P.string "url(" P.spaces quote <- P.option Nothing (Just <$> P.oneOf "\"'") url <- T.pack <$> P.manyTill P.anyChar (maybe (P.lookAhead (P.char ')')) P.char quote) P.spaces P.char ')' let fallback = fromText ("url(" <> maybe "" T.singleton quote <> trim url <> maybe "" T.singleton quote <> ")") return (url, fallback) handleCSSUrl :: PandocMonad m => FilePath -> (T.Text, ByteString) -> ParsecT ByteString () m (Either ByteString (MimeType, ByteString)) handleCSSUrl d (url, fallback) = case escapeURIString (/='|') (T.unpack $ trim url) of '#':_ -> return $ Left fallback 'd':'a':'t':'a':':':_ -> return $ Left fallback u -> do let url' = if isURI (T.pack u) then T.pack u else T.pack (d u) res <- lift $ getData "" url' case res of Left uri -> return $ Left (fromText $ "url(" <> uri <> ")") Right (mt', raw) -> do -- note that the downloaded CSS may -- itself contain url(...). (mt, b) <- if "text/css" `T.isPrefixOf` mt' -- see #5725: in HTML5, content type -- isn't allowed on style type attribute then ("text/css",) <$> cssURLs d raw else return (mt', raw) return $ Right (mt, b) getDataURI :: PandocMonad m => MimeType -> T.Text -> m T.Text getDataURI mimetype src = do res <- getData mimetype src case res of Left uri -> return uri Right x -> return $ makeDataURI x getData :: PandocMonad m => MimeType -> T.Text -> m (Either T.Text (MimeType, ByteString)) getData mimetype src | "data:" `T.isPrefixOf` src = return $ Left src -- already data: uri | otherwise = do let ext = T.toLower $ T.pack $ takeExtension $ T.unpack src (raw, respMime) <- fetchItem src let raw' = if ext `elem` [".gz", ".svgz"] then B.concat $ L.toChunks $ Gzip.decompress $ L.fromChunks [raw] else raw mime <- case (mimetype, respMime) of ("",Nothing) -> throwError $ PandocSomeError $ "Could not determine mime type for `" <> src <> "'" (x, Nothing) -> return x (_, Just x ) -> return x result <- if "text/css" `T.isPrefixOf` mime then do oldInputs <- getInputFiles setInputFiles [T.unpack src] res <- cssURLs (takeDirectory $ T.unpack src) raw' setInputFiles oldInputs return res else return raw' return $ Right (mime, result) -- | Convert HTML into self-contained HTML, incorporating images, -- scripts, and CSS using data: URIs. makeSelfContained :: PandocMonad m => T.Text -> m T.Text makeSelfContained inp = do let tags = parseTags inp out' <- convertTags tags return $ renderTags' out' pandoc-2.9.2.1/src/Text/Pandoc/Shared.hs000066400000000000000000001173161363630463000176250ustar00rootroot00000000000000{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Shared Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Utility functions and definitions used by the various Pandoc modules. -} module Text.Pandoc.Shared ( -- * List processing splitBy, splitTextBy, splitByIndices, splitStringByIndices, splitTextByIndices, substitute, ordNub, findM, -- * Text processing ToString (..), ToText (..), tshow, backslashEscapes, escapeStringUsing, elemText, notElemText, stripTrailingNewlines, trim, triml, trimr, trimMath, stripFirstAndLast, camelCaseToHyphenated, camelCaseStrToHyphenated, toRomanNumeral, escapeURI, tabFilter, crFilter, -- * Date/time normalizeDate, -- * Pandoc block and inline list processing orderedListMarkers, extractSpaces, removeFormatting, deNote, deLink, stringify, capitalize, compactify, compactifyDL, linesToPara, makeSections, uniqueIdent, inlineListToIdentifier, isHeaderBlock, headerShift, stripEmptyParagraphs, onlySimpleTableCells, isTightList, taskListItemFromAscii, taskListItemToAscii, addMetaField, makeMeta, eastAsianLineBreakFilter, underlineSpan, htmlSpanLikeElements, splitSentences, filterIpynbOutput, -- * TagSoup HTML handling renderTags', -- * File handling inDirectory, collapseFilePath, uriPathToPath, filteredFilesFromArchive, -- * URI handling schemes, isURI, -- * Error handling mapLeft, -- * for squashing blocks blocksToInlines, blocksToInlines', blocksToInlinesWithSep, defaultBlocksSeparator, -- * Safe read safeRead, safeStrRead, -- * User data directory defaultUserDataDirs, -- * Version pandocVersion ) where import Codec.Archive.Zip import qualified Control.Exception as E import Control.Monad (MonadPlus (..), msum, unless) import qualified Control.Monad.State.Strict as S import qualified Data.ByteString.Lazy as BL import qualified Data.Bifunctor as Bifunctor import Data.Char (isAlpha, isLower, isSpace, isUpper, toLower, isAlphaNum, generalCategory, GeneralCategory(NonSpacingMark, SpacingCombiningMark, EnclosingMark, ConnectorPunctuation)) import Data.List (find, intercalate, intersperse, stripPrefix, sortOn) import qualified Data.Map as M import Data.Maybe (mapMaybe, fromMaybe) import Data.Monoid (Any (..)) import Data.Sequence (ViewL (..), ViewR (..), viewl, viewr) import qualified Data.Set as Set import qualified Data.Text as T import Data.Version (showVersion) import Network.URI (URI (uriScheme), escapeURIString, parseURI) import Paths_pandoc (version) import System.Directory import System.FilePath (isPathSeparator, splitDirectories) import qualified System.FilePath.Posix as Posix import Text.HTML.TagSoup (RenderOptions (..), Tag (..), renderOptions, renderTagsOptions) import Text.Pandoc.Builder (Blocks, Inlines, ToMetaValue (..)) import qualified Text.Pandoc.Builder as B import Data.Time import Text.Pandoc.Asciify (toAsciiChar) import Text.Pandoc.Definition import Text.Pandoc.Extensions (Extensions, Extension(..), extensionEnabled) import Text.Pandoc.Generic (bottomUp) import Text.DocLayout (charWidth) import Text.Pandoc.Walk -- | Version number of pandoc library. pandocVersion :: T.Text pandocVersion = T.pack $ showVersion version -- -- List processing -- -- | Split list by groups of one or more sep. splitBy :: (a -> Bool) -> [a] -> [[a]] splitBy _ [] = [] splitBy isSep lst = let (first, rest) = break isSep lst rest' = dropWhile isSep rest in first:splitBy isSep rest' splitTextBy :: (Char -> Bool) -> T.Text -> [T.Text] splitTextBy isSep t | T.null t = [] | otherwise = let (first, rest) = T.break isSep t rest' = T.dropWhile isSep rest in first : splitTextBy isSep rest' splitByIndices :: [Int] -> [a] -> [[a]] splitByIndices [] lst = [lst] splitByIndices (x:xs) lst = first:splitByIndices (map (\y -> y - x) xs) rest where (first, rest) = splitAt x lst -- | Split string into chunks divided at specified indices. splitStringByIndices :: [Int] -> [Char] -> [[Char]] splitStringByIndices [] lst = [lst] splitStringByIndices (x:xs) lst = let (first, rest) = splitAt' x lst in first : splitStringByIndices (map (\y -> y - x) xs) rest splitTextByIndices :: [Int] -> T.Text -> [T.Text] splitTextByIndices ns = fmap T.pack . splitStringByIndices ns . T.unpack splitAt' :: Int -> [Char] -> ([Char],[Char]) splitAt' _ [] = ([],[]) splitAt' n xs | n <= 0 = ([],xs) splitAt' n (x:xs) = (x:ys,zs) where (ys,zs) = splitAt' (n - charWidth x) xs -- | Replace each occurrence of one sublist in a list with another. substitute :: (Eq a) => [a] -> [a] -> [a] -> [a] substitute _ _ [] = [] substitute [] _ xs = xs substitute target replacement lst@(x:xs) = case stripPrefix target lst of Just lst' -> replacement ++ substitute target replacement lst' Nothing -> x : substitute target replacement xs ordNub :: (Ord a) => [a] -> [a] ordNub l = go Set.empty l where go _ [] = [] go s (x:xs) = if x `Set.member` s then go s xs else x : go (Set.insert x s) xs findM :: forall m t a. (Monad m, Foldable t) => (a -> m Bool) -> t a -> m (Maybe a) findM p = foldr go (pure Nothing) where go :: a -> m (Maybe a) -> m (Maybe a) go x acc = do b <- p x if b then pure (Just x) else acc -- -- Text processing -- class ToString a where toString :: a -> String instance ToString String where toString = id instance ToString T.Text where toString = T.unpack class ToText a where toText :: a -> T.Text instance ToText String where toText = T.pack instance ToText T.Text where toText = id tshow :: Show a => a -> T.Text tshow = T.pack . show -- | Returns an association list of backslash escapes for the -- designated characters. backslashEscapes :: [Char] -- ^ list of special characters to escape -> [(Char, T.Text)] backslashEscapes = map (\ch -> (ch, T.pack ['\\',ch])) -- | Escape a string of characters, using an association list of -- characters and strings. escapeStringUsing :: [(Char, T.Text)] -> T.Text -> T.Text escapeStringUsing tbl = T.concatMap $ \c -> fromMaybe (T.singleton c) $ lookup c tbl -- | @True@ exactly when the @Char@ appears in the @Text@. elemText :: Char -> T.Text -> Bool elemText c = T.any (== c) -- | @True@ exactly when the @Char@ does not appear in the @Text@. notElemText :: Char -> T.Text -> Bool notElemText c = T.all (/= c) -- | Strip trailing newlines from string. stripTrailingNewlines :: T.Text -> T.Text stripTrailingNewlines = T.dropWhileEnd (== '\n') -- | Remove leading and trailing space (including newlines) from string. trim :: T.Text -> T.Text trim = T.dropAround (`elemText` " \r\n\t") -- | Remove leading space (including newlines) from string. triml :: T.Text -> T.Text triml = T.dropWhile (`elemText` " \r\n\t") -- | Remove trailing space (including newlines) from string. trimr :: T.Text -> T.Text trimr = T.dropWhileEnd (`elemText` " \r\n\t") -- | Trim leading space and trailing space unless after \. trimMath :: T.Text -> T.Text trimMath = triml . T.reverse . stripBeginSpace . T.reverse -- no Text.spanEnd where stripBeginSpace t | T.null pref = t | Just ('\\', _) <- T.uncons suff = T.cons (T.last pref) suff | otherwise = suff where (pref, suff) = T.span (`elemText` " \t\n\r") t -- | Strip leading and trailing characters from string stripFirstAndLast :: T.Text -> T.Text stripFirstAndLast t = case T.uncons t of Just (_, t') -> case T.unsnoc t' of Just (t'', _) -> t'' _ -> t' _ -> "" -- | Change CamelCase word to hyphenated lowercase (e.g., camel-case). camelCaseToHyphenated :: T.Text -> T.Text camelCaseToHyphenated = T.pack . camelCaseStrToHyphenated . T.unpack -- This may not work as expected on general Unicode, if it contains -- letters with a longer lower case form than upper case. I don't know -- what the camel case practices of affected scripts are, though. camelCaseStrToHyphenated :: String -> String camelCaseStrToHyphenated [] = "" camelCaseStrToHyphenated (a:b:rest) | isLower a , isUpper b = a:'-':toLower b:camelCaseStrToHyphenated rest -- handle ABCDef = abc-def camelCaseStrToHyphenated (a:b:c:rest) | isUpper a , isUpper b , isLower c = toLower a:'-':toLower b:camelCaseStrToHyphenated (c:rest) camelCaseStrToHyphenated (a:rest) = toLower a:camelCaseStrToHyphenated rest -- | Convert number < 4000 to uppercase roman numeral. 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 = "" -- | Escape whitespace and some punctuation characters in URI. escapeURI :: T.Text -> T.Text escapeURI = T.pack . escapeURIString (not . needsEscaping) . T.unpack where needsEscaping c = isSpace c || c `elemText` "<>|\"{}[]^`" -- | Convert tabs to spaces. Tabs will be preserved if tab stop is set to 0. tabFilter :: Int -- ^ Tab stop -> T.Text -- ^ Input -> T.Text tabFilter 0 = id tabFilter tabStop = T.unlines . map go . T.lines where go s = let (s1, s2) = T.break (== '\t') s in if T.null s2 then s1 else s1 <> T.replicate (tabStop - (T.length s1 `mod` tabStop)) (T.pack " ") <> go (T.drop 1 s2) -- | Strip out DOS line endings. crFilter :: T.Text -> T.Text crFilter = T.filter (/= '\r') -- -- Date/time -- -- | Parse a date and convert (if possible) to "YYYY-MM-DD" format. We -- limit years to the range 1601-9999 (ISO 8601 accepts greater than -- or equal to 1583, but MS Word only accepts dates starting 1601). normalizeDate :: T.Text -> Maybe T.Text normalizeDate = fmap T.pack . normalizeDate' . T.unpack normalizeDate' :: String -> Maybe String normalizeDate' s = fmap (formatTime defaultTimeLocale "%F") (msum $ map (\fs -> parsetimeWith fs s >>= rejectBadYear) formats :: Maybe Day) where rejectBadYear day = case toGregorian day of (y, _, _) | y >= 1601 && y <= 9999 -> Just day _ -> Nothing parsetimeWith = parseTimeM True defaultTimeLocale formats = ["%x","%m/%d/%Y", "%D","%F", "%d %b %Y", "%e %B %Y", "%b. %e, %Y", "%B %e, %Y", "%Y%m%d", "%Y%m", "%Y"] -- -- Pandoc block and inline list processing -- -- | Generate infinite lazy list of markers for an ordered list, -- depending on list attributes. orderedListMarkers :: (Int, ListNumberStyle, ListNumberDelim) -> [T.Text] orderedListMarkers (start, numstyle, numdelim) = let nums = case numstyle of DefaultStyle -> map tshow [start..] Example -> map tshow [start..] Decimal -> map tshow [start..] UpperAlpha -> drop (start - 1) $ cycle $ map T.singleton ['A'..'Z'] LowerAlpha -> drop (start - 1) $ cycle $ map T.singleton ['a'..'z'] UpperRoman -> map toRomanNumeral [start..] LowerRoman -> map (T.toLower . toRomanNumeral) [start..] inDelim str = case numdelim of DefaultDelim -> str <> "." Period -> str <> "." OneParen -> str <> ")" TwoParens -> "(" <> str <> ")" in map inDelim nums -- | Extract the leading and trailing spaces from inside an inline element -- and place them outside the element. SoftBreaks count as Spaces for -- these purposes. extractSpaces :: (Inlines -> Inlines) -> Inlines -> Inlines extractSpaces f is = let contents = B.unMany is left = case viewl contents of (Space :< _) -> B.space (SoftBreak :< _) -> B.softbreak _ -> mempty right = case viewr contents of (_ :> Space) -> B.space (_ :> SoftBreak) -> B.softbreak _ -> mempty in (left <> f (B.trimInlines . B.Many $ contents) <> right) -- | Extract inlines, removing formatting. removeFormatting :: Walkable Inline a => a -> [Inline] removeFormatting = query go . walk (deNote . deQuote) where go :: Inline -> [Inline] go (Str xs) = [Str xs] go Space = [Space] go SoftBreak = [SoftBreak] go (Code _ x) = [Str x] go (Math _ x) = [Str x] go LineBreak = [Space] go _ = [] deNote :: Inline -> Inline deNote (Note _) = Str "" deNote x = x deLink :: Inline -> Inline deLink (Link _ ils _) = Span nullAttr ils deLink x = x deQuote :: Inline -> Inline deQuote (Quoted SingleQuote xs) = Span ("",[],[]) (Str "\8216" : xs ++ [Str "\8217"]) deQuote (Quoted DoubleQuote xs) = Span ("",[],[]) (Str "\8220" : xs ++ [Str "\8221"]) deQuote x = x -- | Convert pandoc structure to a string with formatting removed. -- Footnotes are skipped (since we don't want their contents in link -- labels). stringify :: Walkable Inline a => a -> T.Text stringify = query go . walk (deNote . deQuote) where go :: Inline -> T.Text go Space = " " go SoftBreak = " " go (Str x) = x go (Code _ x) = x go (Math _ x) = x go (RawInline (Format "html") (T.unpack -> ('<':'b':'r':_))) = " " -- see #2105 go LineBreak = " " go _ = "" -- | Bring all regular text in a pandoc structure to uppercase. -- -- This function correctly handles cases where a lowercase character doesn't -- match to a single uppercase character – e.g. “Straße” would be converted -- to “STRASSE”, not “STRAßE”. capitalize :: Walkable Inline a => a -> a capitalize = walk go where go :: Inline -> Inline go (Str s) = Str $ T.toUpper s go x = x -- | Change final list item from @Para@ to @Plain@ if the list contains -- no other @Para@ blocks. Otherwise (if the list items contain @Para@ -- blocks besides possibly at the end), turn any @Plain@s into @Para@s (#5285). compactify :: [Blocks] -- ^ List of list items (each a list of blocks) -> [Blocks] compactify [] = [] compactify items = 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] -> others ++ [B.fromList (reverse (Plain a : xs))] _ | null [Para x | Para x <- concatMap B.toList items] -> items _ -> map (fmap plainToPara) items plainToPara :: Block -> Block plainToPara (Plain ils) = Para ils plainToPara x = x -- | Like @compactify@, but acts on items of definition lists. compactifyDL :: [(Inlines, [Blocks])] -> [(Inlines, [Blocks])] compactifyDL items = let defs = concatMap snd items in case reverse (concatMap B.toList defs) of (Para x:xs) | not (any isPara xs) -> let (t,ds) = last items lastDef = B.toList $ last ds ds' = init ds ++ if null lastDef then [B.fromList lastDef] else [B.fromList $ init lastDef ++ [Plain x]] in init items ++ [(t, ds')] | otherwise -> items _ -> items -- | Combine a list of lines by adding hard linebreaks. combineLines :: [[Inline]] -> [Inline] combineLines = intercalate [LineBreak] -- | Convert a list of lines into a paragraph with hard line breaks. This is -- useful e.g. for rudimentary support of LineBlock elements in writers. linesToPara :: [[Inline]] -> Block linesToPara = Para . combineLines isPara :: Block -> Bool isPara (Para _) = True isPara _ = False -- | Convert Pandoc inline list to plain text identifier. HTML -- identifiers must start with a letter, and may contain only -- letters, digits, and the characters _-. inlineListToIdentifier :: Extensions -> [Inline] -> T.Text inlineListToIdentifier exts = dropNonLetter . filterAscii . toIdent . stringify . walk unEmojify where unEmojify :: [Inline] -> [Inline] unEmojify | extensionEnabled Ext_gfm_auto_identifiers exts || extensionEnabled Ext_ascii_identifiers exts = walk unEmoji | otherwise = id unEmoji (Span ("",["emoji"],[("data-emoji",ename)]) _) = Str ename unEmoji x = x dropNonLetter | extensionEnabled Ext_gfm_auto_identifiers exts = id | otherwise = T.dropWhile (not . isAlpha) filterAscii | extensionEnabled Ext_ascii_identifiers exts = T.pack . mapMaybe toAsciiChar . T.unpack | otherwise = id toIdent | extensionEnabled Ext_gfm_auto_identifiers exts = filterPunct . spaceToDash . T.toLower | otherwise = T.intercalate "-" . T.words . filterPunct . T.toLower filterPunct = T.filter (\c -> isSpace c || isAlphaNum c || isAllowedPunct c) isAllowedPunct c | extensionEnabled Ext_gfm_auto_identifiers exts = c == '-' || c == '_' || generalCategory c `elem` [NonSpacingMark, SpacingCombiningMark, EnclosingMark, ConnectorPunctuation] | otherwise = c == '_' || c == '-' || c == '.' spaceToDash = T.map (\c -> if isSpace c then '-' else c) -- | Put a list of Pandoc blocks into a hierarchical structure: -- a list of sections (each a Div with class "section" and first -- element a Header). If the 'numbering' parameter is True, Header -- numbers are added via the number attribute on the header. -- If the baseLevel parameter is Just n, Header levels are -- adjusted to be gapless starting at level n. makeSections :: Bool -> Maybe Int -> [Block] -> [Block] makeSections numbering mbBaseLevel bs = S.evalState (go bs) (mbBaseLevel, []) where go :: [Block] -> S.State (Maybe Int, [Int]) [Block] go (Header level (ident,classes,kvs) title':xs) = do (mbLevel, lastnum) <- S.get let level' = fromMaybe level mbLevel let lastnum' = take level' lastnum let newnum = if level' > 0 then case length lastnum' of x | "unnumbered" `elem` classes -> [] | x >= level' -> init lastnum' ++ [last lastnum' + 1] | otherwise -> lastnum ++ replicate (level' - length lastnum - 1) 0 ++ [1] else [] unless (null newnum) $ S.modify $ \(mbl, _) -> (mbl, newnum) let (sectionContents, rest) = break (headerLtEq level) xs S.modify $ \(_, ln) -> (fmap (+ 1) mbLevel, ln) sectionContents' <- go sectionContents S.modify $ \(_, ln) -> (mbLevel, ln) rest' <- go rest let kvs' = -- don't touch number if already present case lookup "number" kvs of Nothing | numbering -> ("number", T.intercalate "." (map tshow newnum)) : kvs _ -> kvs let divattr = (ident, "section":classes, kvs') let attr = ("",classes,kvs') return $ Div divattr (Header level' attr title' : sectionContents') : rest' go (Div divattr@(dident,dclasses,_) (Header level hattr title':ys) : xs) | all (\case Header level' _ _ -> level' > level _ -> True) ys , "column" `notElem` dclasses , "columns" `notElem` dclasses = do inner <- go (Header level hattr title':ys) rest <- go xs return $ case inner of [Div divattr'@(dident',_,_) zs] | T.null dident || T.null dident' || dident == dident' -> Div (combineAttr divattr' divattr) zs : rest _ -> Div divattr inner : rest go (Div attr xs : rest) = do xs' <- go xs rest' <- go rest return $ Div attr xs' : rest' go (x:xs) = (x :) <$> go xs go [] = return [] combineAttr :: Attr -> Attr -> Attr combineAttr (id1, classes1, kvs1) (id2, classes2, kvs2) = (if T.null id1 then id2 else id1, ordNub (classes1 ++ classes2), foldr (\(k,v) kvs -> case lookup k kvs of Nothing -> (k,v):kvs Just _ -> kvs) mempty (kvs1 ++ kvs2)) headerLtEq :: Int -> Block -> Bool headerLtEq level (Header l _ _) = l <= level headerLtEq level (Div _ (b:_)) = headerLtEq level b headerLtEq _ _ = False -- | Generate a unique identifier from a list of inlines. -- Second argument is a list of already used identifiers. uniqueIdent :: Extensions -> [Inline] -> Set.Set T.Text -> T.Text uniqueIdent exts title' usedIdents = if baseIdent `Set.member` usedIdents then case find (\x -> numIdent x `Set.notMember` usedIdents) ([1..60000] :: [Int]) of Just x -> numIdent x Nothing -> baseIdent -- if we have more than 60,000, allow repeats else baseIdent where baseIdent = case inlineListToIdentifier exts title' of "" -> "section" x -> x numIdent n = baseIdent <> "-" <> tshow n -- | True if block is a Header block. isHeaderBlock :: Block -> Bool isHeaderBlock Header{} = True isHeaderBlock _ = False -- | Shift header levels up or down. headerShift :: Int -> Pandoc -> Pandoc headerShift n (Pandoc meta (Header m _ ils : bs)) | n < 0 , m + n == 0 = headerShift n $ B.setTitle (B.fromList ils) $ Pandoc meta bs headerShift n (Pandoc meta bs) = Pandoc meta (walk shift bs) where shift :: Block -> Block shift (Header level attr inner) | level + n > 0 = Header (level + n) attr inner | otherwise = Para inner shift x = x -- | Remove empty paragraphs. stripEmptyParagraphs :: Pandoc -> Pandoc stripEmptyParagraphs = walk go where go :: [Block] -> [Block] go = filter (not . isEmptyParagraph) isEmptyParagraph (Para []) = True isEmptyParagraph _ = False -- | Detect if table rows contain only cells consisting of a single -- paragraph that has no @LineBreak@. onlySimpleTableCells :: [[TableCell]] -> Bool onlySimpleTableCells = all isSimpleCell . concat where isSimpleCell [Plain ils] = not (hasLineBreak ils) isSimpleCell [Para ils ] = not (hasLineBreak ils) isSimpleCell [] = True isSimpleCell _ = False hasLineBreak = getAny . query isLineBreak isLineBreak LineBreak = Any True isLineBreak _ = Any False -- | Detect if a list is tight. isTightList :: [[Block]] -> Bool isTightList = all (\item -> firstIsPlain item || null item) where firstIsPlain (Plain _ : _) = True firstIsPlain _ = False -- | Convert a list item containing tasklist syntax (e.g. @[x]@) -- to using @U+2610 BALLOT BOX@ or @U+2612 BALLOT BOX WITH X@. taskListItemFromAscii :: Extensions -> [Block] -> [Block] taskListItemFromAscii = handleTaskListItem fromMd where fromMd (Str "[" : Space : Str "]" : Space : is) = Str "☐" : Space : is fromMd (Str "[x]" : Space : is) = Str "☒" : Space : is fromMd (Str "[X]" : Space : is) = Str "☒" : Space : is fromMd is = is -- | Convert a list item containing text starting with @U+2610 BALLOT BOX@ -- or @U+2612 BALLOT BOX WITH X@ to tasklist syntax (e.g. @[x]@). taskListItemToAscii :: Extensions -> [Block] -> [Block] taskListItemToAscii = handleTaskListItem toMd where toMd (Str "☐" : Space : is) = rawMd "[ ]" : Space : is toMd (Str "☒" : Space : is) = rawMd "[x]" : Space : is toMd is = is rawMd = RawInline (Format "markdown") handleTaskListItem :: ([Inline] -> [Inline]) -> Extensions -> [Block] -> [Block] handleTaskListItem handleInlines exts bls = if Ext_task_lists `extensionEnabled` exts then handleItem bls else bls where handleItem (Plain is : bs) = Plain (handleInlines is) : bs handleItem (Para is : bs) = Para (handleInlines is) : bs handleItem bs = bs -- | Set a field of a 'Meta' object. If the field already has a value, -- convert it into a list with the new value appended to the old value(s). addMetaField :: ToMetaValue a => T.Text -> a -> Meta -> Meta addMetaField key val (Meta meta) = Meta $ M.insertWith combine key (toMetaValue val) meta where combine newval (MetaList xs) = MetaList (xs ++ tolist newval) combine newval x = MetaList [x, newval] tolist (MetaList ys) = ys tolist y = [y] -- | Create 'Meta' from old-style title, authors, date. This is -- provided to ease the transition from the old API. makeMeta :: [Inline] -> [[Inline]] -> [Inline] -> Meta makeMeta title authors date = addMetaField "title" (B.fromList title) $ addMetaField "author" (map B.fromList authors) $ addMetaField "date" (B.fromList date) nullMeta -- | Remove soft breaks between East Asian characters. eastAsianLineBreakFilter :: Pandoc -> Pandoc eastAsianLineBreakFilter = bottomUp go where go (x:SoftBreak:y:zs) | Just (_, b) <- T.unsnoc $ stringify x , Just (c, _) <- T.uncons $ stringify y , charWidth b == 2 , charWidth c == 2 = x:y:zs | otherwise = x:SoftBreak:y:zs go xs = xs -- | Builder for underline. -- This probably belongs in Builder.hs in pandoc-types. -- Will be replaced once Underline is an element. underlineSpan :: Inlines -> Inlines underlineSpan = B.spanWith ("", ["underline"], []) -- | Set of HTML elements that are represented as Span with a class equal as -- the element tag itself. htmlSpanLikeElements :: Set.Set T.Text htmlSpanLikeElements = Set.fromList ["kbd", "mark", "dfn"] -- | Returns the first sentence in a list of inlines, and the rest. breakSentence :: [Inline] -> ([Inline], [Inline]) breakSentence [] = ([],[]) breakSentence xs = let isSentenceEndInline (Str ys) | Just (_, c) <- T.unsnoc ys = c == '.' || c == '?' isSentenceEndInline LineBreak = True isSentenceEndInline _ = False (as, bs) = break isSentenceEndInline xs in case bs of [] -> (as, []) [c] -> (as ++ [c], []) (c:Space:cs) -> (as ++ [c], cs) (c:SoftBreak:cs) -> (as ++ [c], cs) (Str ".":Str s@(T.uncons -> Just (')',_)):cs) -> (as ++ [Str ".", Str s], cs) (x@(Str (T.stripPrefix ".)" -> Just _)):cs) -> (as ++ [x], cs) (LineBreak:x@(Str (T.uncons -> Just ('.',_))):cs) -> (as ++[LineBreak], x:cs) (c:cs) -> (as ++ [c] ++ ds, es) where (ds, es) = breakSentence cs -- | Split a list of inlines into sentences. splitSentences :: [Inline] -> [[Inline]] splitSentences xs = let (sent, rest) = breakSentence xs in if null rest then [sent] else sent : splitSentences rest -- | Process ipynb output cells. If mode is Nothing, -- remove all output. If mode is Just format, select -- best output for the format. If format is not ipynb, -- strip out ANSI escape sequences from CodeBlocks (see #5633). filterIpynbOutput :: Maybe Format -> Pandoc -> Pandoc filterIpynbOutput mode = walk go where go (Div (ident, "output":os, kvs) bs) = case mode of Nothing -> Div (ident, "output":os, kvs) [] -- "best" for ipynb includes all formats: Just fmt | fmt == Format "ipynb" -> Div (ident, "output":os, kvs) bs | otherwise -> Div (ident, "output":os, kvs) $ walk removeANSI $ take 1 $ sortOn rank bs where rank (RawBlock (Format "html") _) | fmt == Format "html" = 1 :: Int | fmt == Format "markdown" = 2 | otherwise = 3 rank (RawBlock (Format "latex") _) | fmt == Format "latex" = 1 | fmt == Format "markdown" = 2 | otherwise = 3 rank (RawBlock f _) | fmt == f = 1 | otherwise = 3 rank (Para [Image{}]) = 1 rank _ = 2 removeANSI (CodeBlock attr code) = CodeBlock attr (removeANSIEscapes code) removeANSI x = x removeANSIEscapes t | Just cs <- T.stripPrefix "\x1b[" t = removeANSIEscapes $ T.drop 1 $ T.dropWhile (/='m') cs | Just (c, cs) <- T.uncons t = T.cons c $ removeANSIEscapes cs | otherwise = "" go x = x -- -- TagSoup HTML handling -- -- | Render HTML tags. renderTags' :: [Tag T.Text] -> T.Text renderTags' = renderTagsOptions renderOptions{ optMinimize = matchTags ["hr", "br", "img", "meta", "link"] , optRawTag = matchTags ["script", "style"] } where matchTags tags = flip elem tags . T.toLower -- -- File handling -- -- | Perform an IO action in a directory, returning to starting directory. inDirectory :: FilePath -> IO a -> IO a inDirectory path action = E.bracket getCurrentDirectory setCurrentDirectory (const $ setCurrentDirectory path >> action) -- -- Error reporting -- mapLeft :: (a -> b) -> Either a c -> Either b c mapLeft = Bifunctor.first -- | Remove intermediate "." and ".." directories from a path. -- -- > collapseFilePath "./foo" == "foo" -- > collapseFilePath "/bar/../baz" == "/baz" -- > collapseFilePath "/../baz" == "/../baz" -- > collapseFilePath "parent/foo/baz/../bar" == "parent/foo/bar" -- > collapseFilePath "parent/foo/baz/../../bar" == "parent/bar" -- > collapseFilePath "parent/foo/.." == "parent" -- > collapseFilePath "/parent/foo/../../bar" == "/bar" collapseFilePath :: FilePath -> FilePath collapseFilePath = Posix.joinPath . reverse . foldl go [] . splitDirectories where go rs "." = rs go r@(p:rs) ".." = case p of ".." -> "..":r (checkPathSeperator -> Just True) -> "..":r _ -> rs go _ (checkPathSeperator -> Just True) = [[Posix.pathSeparator]] go rs x = x:rs isSingleton [] = Nothing isSingleton [x] = Just x isSingleton _ = Nothing checkPathSeperator = fmap isPathSeparator . isSingleton -- Convert the path part of a file: URI to a regular path. -- On windows, @/c:/foo@ should be @c:/foo@. -- On linux, @/foo@ should be @/foo@. uriPathToPath :: T.Text -> FilePath uriPathToPath (T.unpack -> path) = #ifdef _WINDOWS case path of '/':ps -> ps ps -> ps #else path #endif -- -- File selection from the archive -- filteredFilesFromArchive :: Archive -> (FilePath -> Bool) -> [(FilePath, BL.ByteString)] filteredFilesFromArchive zf f = mapMaybe (fileAndBinary zf) (filter f (filesInArchive zf)) where fileAndBinary :: Archive -> FilePath -> Maybe (FilePath, BL.ByteString) fileAndBinary a fp = findEntryByPath fp a >>= \e -> Just (fp, fromEntry e) -- -- IANA URIs -- -- | Schemes from http://www.iana.org/assignments/uri-schemes.html plus -- the unofficial schemes doi, javascript, isbn, pmid. schemes :: Set.Set T.Text schemes = Set.fromList -- Official IANA schemes [ "aaa", "aaas", "about", "acap", "acct", "acr", "adiumxtra", "afp", "afs" , "aim", "appdata", "apt", "attachment", "aw", "barion", "beshare", "bitcoin" , "blob", "bolo", "browserext", "callto", "cap", "chrome", "chrome-extension" , "cid", "coap", "coaps", "com-eventbrite-attendee", "content", "crid", "cvs" , "data", "dav", "dict", "dis", "dlna-playcontainer", "dlna-playsingle" , "dns", "dntp", "dtn", "dvb", "ed2k", "example", "facetime", "fax", "feed" , "feedready", "file", "filesystem", "finger", "fish", "ftp", "geo", "gg" , "git", "gizmoproject", "go", "gopher", "graph", "gtalk", "h323", "ham" , "hcp", "http", "https", "hxxp", "hxxps", "hydrazone", "iax", "icap", "icon" , "im", "imap", "info", "iotdisco", "ipn", "ipp", "ipps", "irc", "irc6" , "ircs", "iris", "iris.beep", "iris.lwz", "iris.xpc", "iris.xpcs" , "isostore", "itms", "jabber", "jar", "jms", "keyparc", "lastfm", "ldap" , "ldaps", "lvlt", "magnet", "mailserver", "mailto", "maps", "market" , "message", "mid", "mms", "modem", "mongodb", "moz", "ms-access" , "ms-browser-extension", "ms-drive-to", "ms-enrollment", "ms-excel" , "ms-gamebarservices", "ms-getoffice", "ms-help", "ms-infopath" , "ms-media-stream-id", "ms-officeapp", "ms-project", "ms-powerpoint" , "ms-publisher", "ms-search-repair", "ms-secondary-screen-controller" , "ms-secondary-screen-setup", "ms-settings", "ms-settings-airplanemode" , "ms-settings-bluetooth", "ms-settings-camera", "ms-settings-cellular" , "ms-settings-cloudstorage", "ms-settings-connectabledevices" , "ms-settings-displays-topology", "ms-settings-emailandaccounts" , "ms-settings-language", "ms-settings-location", "ms-settings-lock" , "ms-settings-nfctransactions", "ms-settings-notifications" , "ms-settings-power", "ms-settings-privacy", "ms-settings-proximity" , "ms-settings-screenrotation", "ms-settings-wifi", "ms-settings-workplace" , "ms-spd", "ms-sttoverlay", "ms-transit-to", "ms-virtualtouchpad" , "ms-visio", "ms-walk-to", "ms-whiteboard", "ms-whiteboard-cmd", "ms-word" , "msnim", "msrp", "msrps", "mtqp", "mumble", "mupdate", "mvn", "news", "nfs" , "ni", "nih", "nntp", "notes", "ocf", "oid", "onenote", "onenote-cmd" , "opaquelocktoken", "pack", "palm", "paparazzi", "pkcs11", "platform", "pop" , "pres", "prospero", "proxy", "pwid", "psyc", "qb", "query", "redis" , "rediss", "reload", "res", "resource", "rmi", "rsync", "rtmfp", "rtmp" , "rtsp", "rtsps", "rtspu", "secondlife", "service", "session", "sftp", "sgn" , "shttp", "sieve", "sip", "sips", "skype", "smb", "sms", "smtp", "snews" , "snmp", "soap.beep", "soap.beeps", "soldat", "spotify", "ssh", "steam" , "stun", "stuns", "submit", "svn", "tag", "teamspeak", "tel", "teliaeid" , "telnet", "tftp", "things", "thismessage", "tip", "tn3270", "tool", "turn" , "turns", "tv", "udp", "unreal", "urn", "ut2004", "v-event", "vemmi" , "ventrilo", "videotex", "vnc", "view-source", "wais", "webcal", "wpid" , "ws", "wss", "wtai", "wyciwyg", "xcon", "xcon-userid", "xfire" , "xmlrpc.beep", "xmlrpc.beeps", "xmpp", "xri", "ymsgr", "z39.50", "z39.50r" , "z39.50s" -- Unofficial schemes , "doi", "isbn", "javascript", "pmid" ] -- | Check if the string is a valid URL with a IANA or frequently used but -- unofficial scheme (see @schemes@). isURI :: T.Text -> Bool isURI = maybe False hasKnownScheme . parseURI . T.unpack where hasKnownScheme = (`Set.member` schemes) . T.toLower . T.filter (/= ':') . T.pack . uriScheme --- --- Squash blocks into inlines --- blockToInlines :: Block -> Inlines blockToInlines (Plain ils) = B.fromList ils blockToInlines (Para ils) = B.fromList ils blockToInlines (LineBlock lns) = B.fromList $ combineLines lns blockToInlines (CodeBlock attr str) = B.codeWith attr str blockToInlines (RawBlock (Format fmt) str) = B.rawInline fmt str blockToInlines (BlockQuote blks) = blocksToInlines' blks blockToInlines (OrderedList _ blkslst) = mconcat $ map blocksToInlines' blkslst blockToInlines (BulletList blkslst) = mconcat $ map blocksToInlines' blkslst blockToInlines (DefinitionList pairslst) = mconcat $ map f pairslst where f (ils, blkslst) = B.fromList ils <> B.str ":" <> B.space <> mconcat (map blocksToInlines' blkslst) blockToInlines (Header _ _ ils) = B.fromList ils blockToInlines HorizontalRule = mempty blockToInlines (Table _ _ _ headers rows) = mconcat $ intersperse B.linebreak $ map (mconcat . map blocksToInlines') (headers:rows) blockToInlines (Div _ blks) = blocksToInlines' blks blockToInlines Null = mempty blocksToInlinesWithSep :: Inlines -> [Block] -> Inlines blocksToInlinesWithSep sep = mconcat . intersperse sep . map blockToInlines blocksToInlines' :: [Block] -> Inlines blocksToInlines' = blocksToInlinesWithSep defaultBlocksSeparator blocksToInlines :: [Block] -> [Inline] blocksToInlines = B.toList . blocksToInlines' -- | Inline elements used to separate blocks when squashing blocks into -- inlines. defaultBlocksSeparator :: Inlines defaultBlocksSeparator = -- This is used in the pandoc.utils.blocks_to_inlines function. Docs -- there should be updated if this is changed. B.space <> B.str "¶" <> B.space -- -- Safe read -- safeRead :: (MonadPlus m, Read a) => T.Text -> m a safeRead = safeStrRead . T.unpack safeStrRead :: (MonadPlus m, Read a) => String -> m a safeStrRead s = case reads s of (d,x):_ | all isSpace x -> return d _ -> mzero -- -- User data directory -- -- | Return appropriate user data directory for platform. We use -- XDG_DATA_HOME (or its default value), but fall back to the -- legacy user data directory ($HOME/.pandoc on *nix) if this is -- missing. defaultUserDataDirs :: IO [FilePath] defaultUserDataDirs = E.catch (do xdgDir <- getXdgDirectory XdgData "pandoc" legacyDir <- getAppUserDataDirectory "pandoc" return $ ordNub [xdgDir, legacyDir]) (\(_ :: E.SomeException) -> return []) pandoc-2.9.2.1/src/Text/Pandoc/Slides.hs000066400000000000000000000042741363630463000176400ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Slides Copyright : Copyright (C) 2012-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Utility functions for splitting documents into slides for slide show formats (dzslides, revealjs, s5, slidy, slideous, beamer). -} module Text.Pandoc.Slides ( getSlideLevel, prepSlides ) where import Text.Pandoc.Definition -- | Find level of header that starts slides (defined as the least header -- level that occurs before a non-header/non-hrule in the blocks). getSlideLevel :: [Block] -> Int getSlideLevel = go 6 where go least (Header n _ _ : x : xs) | n < least && nonHOrHR x = go n xs | otherwise = go least (x:xs) go least (Div _ bs : xs) = min (go least bs) (go least xs) go least (_ : xs) = go least xs go least [] = least nonHOrHR Header{} = False nonHOrHR HorizontalRule = False nonHOrHR _ = True -- | Prepare a block list to be passed to makeSections. prepSlides :: Int -> [Block] -> [Block] prepSlides slideLevel = ensureStartWithH . splitHrule . extractRefsHeader where splitHrule (HorizontalRule : Header n attr xs : ys) | n == slideLevel = Header slideLevel attr xs : splitHrule ys splitHrule (HorizontalRule : xs) = Header slideLevel nullAttr [Str "\0"] : splitHrule xs splitHrule (x : xs) = x : splitHrule xs splitHrule [] = [] extractRefsHeader bs = case reverse bs of (Div ("refs",classes,kvs) (Header n attrs xs : ys) : zs) -> reverse zs ++ [Header n attrs xs, Div ("refs",classes,kvs) ys] _ -> bs ensureStartWithH bs@(Header n _ _:_) | n <= slideLevel = bs ensureStartWithH bs@(Div _ (Header n _ _:_) : _) | n <= slideLevel = bs ensureStartWithH bs = Header slideLevel nullAttr [Str "\0"] : bs pandoc-2.9.2.1/src/Text/Pandoc/Templates.hs000066400000000000000000000110741363630463000203470ustar00rootroot00000000000000{-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Templates Copyright : Copyright (C) 2009-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Utility functions for working with pandoc templates. -} module Text.Pandoc.Templates ( Template , WithDefaultPartials(..) , WithPartials(..) , compileTemplate , renderTemplate , getTemplate , getDefaultTemplate , compileDefaultTemplate ) where import System.FilePath ((<.>), (), takeFileName) import Text.DocTemplates (Template, TemplateMonad(..), compileTemplate, renderTemplate) import Text.Pandoc.Class.CommonState (CommonState(..)) import Text.Pandoc.Class.PandocMonad (PandocMonad, readDataFile, fetchItem, getCommonState, modifyCommonState) import qualified Text.Pandoc.UTF8 as UTF8 import Control.Monad.Except (catchError, throwError) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Error -- | Wrap a Monad in this if you want partials to -- be taken only from the default data files. newtype WithDefaultPartials m a = WithDefaultPartials { runWithDefaultPartials :: m a } deriving (Functor, Applicative, Monad) -- | Wrap a Monad in this if you want partials to -- be looked for locally (or, when the main template -- is at a URL, via HTTP), falling back to default data files. newtype WithPartials m a = WithPartials { runWithPartials :: m a } deriving (Functor, Applicative, Monad) instance PandocMonad m => TemplateMonad (WithDefaultPartials m) where getPartial fp = WithDefaultPartials $ UTF8.toText <$> readDataFile ("templates" takeFileName fp) instance PandocMonad m => TemplateMonad (WithPartials m) where getPartial fp = WithPartials $ getTemplate fp -- | Retrieve text for a template. getTemplate :: PandocMonad m => FilePath -> m Text getTemplate tp = UTF8.toText <$> ((do surl <- stSourceURL <$> getCommonState -- we don't want to look for templates remotely -- unless the full URL is specified: modifyCommonState $ \st -> st{ stSourceURL = Nothing } (bs, _) <- fetchItem $ T.pack tp modifyCommonState $ \st -> st{ stSourceURL = surl } return bs) `catchError` (\e -> case e of PandocResourceNotFound _ -> -- see #5987 on reason for takeFileName readDataFile ("templates" takeFileName tp) _ -> throwError e)) -- | Get default template for the specified writer. getDefaultTemplate :: PandocMonad m => Text -- ^ Name of writer -> m Text getDefaultTemplate writer = do let format = T.takeWhile (`notElem` ("+-" :: String)) writer -- strip off extensions case format of "native" -> return "" "json" -> return "" "docx" -> return "" "fb2" -> return "" "pptx" -> return "" "ipynb" -> return "" "odt" -> getDefaultTemplate "opendocument" "html" -> getDefaultTemplate "html5" "docbook" -> getDefaultTemplate "docbook5" "epub" -> getDefaultTemplate "epub3" "beamer" -> getDefaultTemplate "latex" "jats" -> getDefaultTemplate "jats_archiving" "markdown_strict" -> getDefaultTemplate "markdown" "multimarkdown" -> getDefaultTemplate "markdown" "markdown_github" -> getDefaultTemplate "markdown" "markdown_mmd" -> getDefaultTemplate "markdown" "markdown_phpextra" -> getDefaultTemplate "markdown" "gfm" -> getDefaultTemplate "commonmark" _ -> do let fname = "templates" "default" <.> T.unpack format UTF8.toText <$> readDataFile fname -- | Get and compile default template for the specified writer. -- Raise an error on compilation failure. compileDefaultTemplate :: PandocMonad m => Text -> m (Template Text) compileDefaultTemplate writer = do res <- getDefaultTemplate writer >>= runWithDefaultPartials . compileTemplate ("templates/default." <> T.unpack writer) case res of Left e -> throwError $ PandocTemplateError (T.pack e) Right t -> return t pandoc-2.9.2.1/src/Text/Pandoc/Translations.hs000066400000000000000000000075351363630463000211010ustar00rootroot00000000000000{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Translations Copyright : Copyright (C) 2017-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Data types for localization. Translations are stored in @data/translations/langname.trans@, where langname can be the full BCP47 language specifier, or just the language part. File format is: > # A comment, ignored > Figure: Figura > Index: Indeksi -} module Text.Pandoc.Translations ( Term(..) , Translations , lookupTerm , readTranslations ) where import Data.Aeson.Types (Value(..), FromJSON(..)) import qualified Data.Aeson.Types as Aeson import qualified Data.HashMap.Strict as HM import qualified Data.Map as M import qualified Data.Text as T import qualified Data.YAML as YAML import GHC.Generics (Generic) import Text.Pandoc.Shared (safeRead) import qualified Text.Pandoc.UTF8 as UTF8 data Term = Abstract | Appendix | Bibliography | Cc | Chapter | Contents | Encl | Figure | Glossary | Index | Listing | ListOfFigures | ListOfTables | Page | Part | Preface | Proof | References | See | SeeAlso | Table | To deriving (Show, Eq, Ord, Generic, Enum, Read) newtype Translations = Translations (M.Map Term T.Text) deriving (Show, Generic, Semigroup, Monoid) instance FromJSON Term where parseJSON (String t) = case safeRead t of Just t' -> pure t' Nothing -> Prelude.fail $ "Invalid Term name " ++ show t parseJSON invalid = Aeson.typeMismatch "Term" invalid instance YAML.FromYAML Term where parseYAML (YAML.Scalar _ (YAML.SStr t)) = case safeRead t of Just t' -> pure t' Nothing -> Prelude.fail $ "Invalid Term name " ++ show t parseYAML invalid = YAML.typeMismatch "Term" invalid instance FromJSON Translations where parseJSON (Object hm) = do xs <- mapM addItem (HM.toList hm) return $ Translations (M.fromList xs) where addItem (k,v) = case safeRead k of Nothing -> Prelude.fail $ "Invalid Term name " ++ show k Just t -> case v of (String s) -> return (t, T.strip s) inv -> Aeson.typeMismatch "String" inv parseJSON invalid = Aeson.typeMismatch "Translations" invalid instance YAML.FromYAML Translations where parseYAML = YAML.withMap "Translations" $ \tr -> Translations .M.fromList <$> mapM addItem (M.toList tr) where addItem (n@(YAML.Scalar _ (YAML.SStr k)), v) = case safeRead k of Nothing -> YAML.typeMismatch "Term" n Just t -> case v of (YAML.Scalar _ (YAML.SStr s)) -> return (t, T.strip s) n' -> YAML.typeMismatch "String" n' addItem (n, _) = YAML.typeMismatch "String" n lookupTerm :: Term -> Translations -> Maybe T.Text lookupTerm t (Translations tm) = M.lookup t tm readTranslations :: T.Text -> Either T.Text Translations readTranslations s = case YAML.decodeStrict $ UTF8.fromText s of Left (pos,err') -> Left $ T.pack $ err' ++ " (line " ++ show (YAML.posLine pos) ++ " column " ++ show (YAML.posColumn pos) ++ ")" Right (t:_) -> Right t Right [] -> Left "empty YAML document" pandoc-2.9.2.1/src/Text/Pandoc/UTF8.hs000066400000000000000000000106241363630463000171370ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.UTF8 Copyright : Copyright (C) 2010-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable UTF-8 aware string IO functions that will work with GHC 6.10, 6.12, or 7. -} module Text.Pandoc.UTF8 ( readFile , getContents , writeFileWith , writeFile , putStrWith , putStr , putStrLnWith , putStrLn , hPutStrWith , hPutStr , hPutStrLnWith , hPutStrLn , hGetContents , toString , toText , fromString , fromText , toStringLazy , fromTextLazy , toTextLazy , fromStringLazy , encodePath , decodeArg ) where import qualified Data.ByteString.Char8 as B import qualified Data.ByteString.Lazy.Char8 as BL import qualified Data.Text as T import qualified Data.Text.Encoding as T import qualified Data.Text.Lazy as TL import qualified Data.Text.Lazy.Encoding as TL import Prelude hiding (getContents, putStr, putStrLn, readFile, writeFile) import System.IO hiding (getContents, hGetContents, hPutStr, hPutStrLn, putStr, putStrLn, readFile, writeFile) import qualified System.IO as IO readFile :: FilePath -> IO String readFile f = do h <- openFile (encodePath f) ReadMode hGetContents h getContents :: IO String getContents = hGetContents stdin writeFileWith :: Newline -> FilePath -> String -> IO () writeFileWith eol f s = withFile (encodePath f) WriteMode $ \h -> hPutStrWith eol h s writeFile :: FilePath -> String -> IO () writeFile = writeFileWith nativeNewline putStrWith :: Newline -> String -> IO () putStrWith eol s = hPutStrWith eol stdout s putStr :: String -> IO () putStr = putStrWith nativeNewline putStrLnWith :: Newline -> String -> IO () putStrLnWith eol s = hPutStrLnWith eol stdout s putStrLn :: String -> IO () putStrLn = putStrLnWith nativeNewline hPutStrWith :: Newline -> Handle -> String -> IO () hPutStrWith eol h s = hSetNewlineMode h (NewlineMode eol eol) >> hSetEncoding h utf8 >> IO.hPutStr h s hPutStr :: Handle -> String -> IO () hPutStr = hPutStrWith nativeNewline hPutStrLnWith :: Newline -> Handle -> String -> IO () hPutStrLnWith eol h s = hSetNewlineMode h (NewlineMode eol eol) >> hSetEncoding h utf8 >> IO.hPutStrLn h s hPutStrLn :: Handle -> String -> IO () hPutStrLn = hPutStrLnWith nativeNewline hGetContents :: Handle -> IO String hGetContents = fmap toString . B.hGetContents -- hGetContents h = hSetEncoding h utf8_bom -- >> hSetNewlineMode h universalNewlineMode -- >> IO.hGetContents h -- | Convert UTF8-encoded ByteString to Text, also -- removing '\r' characters. toText :: B.ByteString -> T.Text toText = T.decodeUtf8 . filterCRs . dropBOM where dropBOM bs = if "\xEF\xBB\xBF" `B.isPrefixOf` bs then B.drop 3 bs else bs filterCRs = B.filter (/='\r') -- | Convert UTF8-encoded ByteString to String, also -- removing '\r' characters. toString :: B.ByteString -> String toString = T.unpack . toText -- | Convert UTF8-encoded ByteString to Text, also -- removing '\r' characters. toTextLazy :: BL.ByteString -> TL.Text toTextLazy = TL.decodeUtf8 . filterCRs . dropBOM where dropBOM bs = if "\xEF\xBB\xBF" `BL.isPrefixOf` bs then BL.drop 3 bs else bs filterCRs = BL.filter (/='\r') -- | Convert UTF8-encoded ByteString to String, also -- removing '\r' characters. toStringLazy :: BL.ByteString -> String toStringLazy = TL.unpack . toTextLazy fromText :: T.Text -> B.ByteString fromText = T.encodeUtf8 fromTextLazy :: TL.Text -> BL.ByteString fromTextLazy = TL.encodeUtf8 fromString :: String -> B.ByteString fromString = fromText . T.pack fromStringLazy :: String -> BL.ByteString fromStringLazy = fromTextLazy . TL.pack encodePath :: FilePath -> FilePath encodePath = id decodeArg :: String -> String decodeArg = id pandoc-2.9.2.1/src/Text/Pandoc/UUID.hs000066400000000000000000000032211363630463000171520ustar00rootroot00000000000000{- | Module : Text.Pandoc.UUID Copyright : Copyright (C) 2010-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable UUID generation using Version 4 (random method) described in RFC4122. See http://tools.ietf.org/html/rfc4122 -} module Text.Pandoc.UUID ( UUID(..), getRandomUUID, getUUID ) where import Data.Bits (clearBit, setBit) import Data.Word import System.Random (RandomGen, getStdGen, randoms) import Text.Printf (printf) data UUID = UUID Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 Word8 instance Show UUID where show (UUID a b c d e f g h i j k l m n o p) = "urn:uuid:" ++ printf "%02x" a ++ printf "%02x" b ++ printf "%02x" c ++ printf "%02x" d ++ "-" ++ printf "%02x" e ++ printf "%02x" f ++ "-" ++ printf "%02x" g ++ printf "%02x" h ++ "-" ++ printf "%02x" i ++ printf "%02x" j ++ "-" ++ printf "%02x" k ++ printf "%02x" l ++ printf "%02x" m ++ printf "%02x" n ++ printf "%02x" o ++ printf "%02x" p getUUID :: RandomGen g => g -> UUID getUUID gen = case take 16 (randoms gen :: [Word8]) of [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p] -> -- set variant let i' = i `setBit` 7 `clearBit` 6 -- set version (0100 for random) g' = g `clearBit` 7 `setBit` 6 `clearBit` 5 `clearBit` 4 in UUID a b c d e f g' h i' j k l m n o p _ -> error "not enough random numbers for UUID" -- should not happen getRandomUUID :: IO UUID getRandomUUID = getUUID <$> getStdGen pandoc-2.9.2.1/src/Text/Pandoc/Writers.hs000066400000000000000000000162011363630463000200450ustar00rootroot00000000000000{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable This helper module exports all writers functions. -} module Text.Pandoc.Writers ( -- * Writers: converting /from/ Pandoc format Writer(..) , writers , writeAsciiDoc , writeAsciiDoctor , writeBeamer , writeCommonMark , writeConTeXt , writeCustom , writeDZSlides , writeDocbook4 , writeDocbook5 , writeDocx , writeDokuWiki , writeEPUB2 , writeEPUB3 , writeFB2 , writeIpynb , writeHaddock , writeHtml4 , writeHtml4String , writeHtml5 , writeHtml5String , writeICML , writeJATS , writeJatsArchiving , writeJatsArticleAuthoring , writeJatsPublishing , writeJSON , writeJira , writeLaTeX , writeMan , writeMarkdown , writeMediaWiki , writeMs , writeMuse , writeNative , writeODT , writeOPML , writeOpenDocument , writeOrg , writePlain , writePowerpoint , writeRST , writeRTF , writeRevealJs , writeS5 , writeSlideous , writeSlidy , writeTEI , writeTexinfo , writeTextile , writeXWiki , writeZimWiki , getWriter ) where import Control.Monad.Except (throwError) import Control.Monad (unless) import Data.Aeson import qualified Data.ByteString.Lazy as BL import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class import Text.Pandoc.Definition import Text.Pandoc.Options import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Error import Text.Pandoc.Writers.AsciiDoc import Text.Pandoc.Writers.CommonMark import Text.Pandoc.Writers.ConTeXt import Text.Pandoc.Writers.Custom import Text.Pandoc.Writers.Docbook import Text.Pandoc.Writers.Docx import Text.Pandoc.Writers.DokuWiki import Text.Pandoc.Writers.EPUB import Text.Pandoc.Writers.FB2 import Text.Pandoc.Writers.Ipynb import Text.Pandoc.Writers.Haddock import Text.Pandoc.Writers.HTML import Text.Pandoc.Writers.ICML import Text.Pandoc.Writers.JATS import Text.Pandoc.Writers.Jira import Text.Pandoc.Writers.LaTeX import Text.Pandoc.Writers.Man import Text.Pandoc.Writers.Markdown import Text.Pandoc.Writers.MediaWiki import Text.Pandoc.Writers.Ms import Text.Pandoc.Writers.Muse import Text.Pandoc.Writers.Native import Text.Pandoc.Writers.ODT import Text.Pandoc.Writers.OpenDocument import Text.Pandoc.Writers.OPML import Text.Pandoc.Writers.Org import Text.Pandoc.Writers.Powerpoint import Text.Pandoc.Writers.RST import Text.Pandoc.Writers.RTF import Text.Pandoc.Writers.TEI import Text.Pandoc.Writers.Texinfo import Text.Pandoc.Writers.Textile import Text.Pandoc.Writers.XWiki import Text.Pandoc.Writers.ZimWiki import Text.Parsec.Error data Writer m = TextWriter (WriterOptions -> Pandoc -> m Text) | ByteStringWriter (WriterOptions -> Pandoc -> m BL.ByteString) -- | Association list of formats and writers. writers :: PandocMonad m => [ (Text, Writer m) ] writers = [ ("native" , TextWriter writeNative) ,("json" , TextWriter writeJSON) ,("docx" , ByteStringWriter writeDocx) ,("odt" , ByteStringWriter writeODT) ,("pptx" , ByteStringWriter writePowerpoint) ,("epub" , ByteStringWriter writeEPUB3) ,("epub2" , ByteStringWriter writeEPUB2) ,("epub3" , ByteStringWriter writeEPUB3) ,("fb2" , TextWriter writeFB2) ,("ipynb" , TextWriter writeIpynb) ,("html" , TextWriter writeHtml5String) ,("html4" , TextWriter writeHtml4String) ,("html5" , TextWriter writeHtml5String) ,("icml" , TextWriter writeICML) ,("s5" , TextWriter writeS5) ,("slidy" , TextWriter writeSlidy) ,("slideous" , TextWriter writeSlideous) ,("dzslides" , TextWriter writeDZSlides) ,("revealjs" , TextWriter writeRevealJs) ,("docbook" , TextWriter writeDocbook5) ,("docbook4" , TextWriter writeDocbook4) ,("docbook5" , TextWriter writeDocbook5) ,("jats" , TextWriter writeJatsArchiving) ,("jats_articleauthoring", TextWriter writeJatsArticleAuthoring) ,("jats_publishing" , TextWriter writeJatsPublishing) ,("jats_archiving" , TextWriter writeJatsArchiving) ,("jira" , TextWriter writeJira) ,("opml" , TextWriter writeOPML) ,("opendocument" , TextWriter writeOpenDocument) ,("latex" , TextWriter writeLaTeX) ,("beamer" , TextWriter writeBeamer) ,("context" , TextWriter writeConTeXt) ,("texinfo" , TextWriter writeTexinfo) ,("man" , TextWriter writeMan) ,("ms" , TextWriter writeMs) ,("markdown" , TextWriter writeMarkdown) ,("markdown_strict" , TextWriter writeMarkdown) ,("markdown_phpextra" , TextWriter writeMarkdown) ,("markdown_github" , TextWriter writeMarkdown) ,("markdown_mmd" , TextWriter writeMarkdown) ,("plain" , TextWriter writePlain) ,("rst" , TextWriter writeRST) ,("mediawiki" , TextWriter writeMediaWiki) ,("dokuwiki" , TextWriter writeDokuWiki) ,("xwiki" , TextWriter writeXWiki) ,("zimwiki" , TextWriter writeZimWiki) ,("textile" , TextWriter writeTextile) ,("rtf" , TextWriter writeRTF) ,("org" , TextWriter writeOrg) ,("asciidoc" , TextWriter writeAsciiDoc) ,("asciidoctor" , TextWriter writeAsciiDoctor) ,("haddock" , TextWriter writeHaddock) ,("commonmark" , TextWriter writeCommonMark) ,("gfm" , TextWriter writeCommonMark) ,("tei" , TextWriter writeTEI) ,("muse" , TextWriter writeMuse) ] -- | Retrieve writer, extensions based on formatSpec (format+extensions). getWriter :: PandocMonad m => Text -> m (Writer m, Extensions) getWriter s = case parseFormatSpec s of Left e -> throwError $ PandocAppError $ T.intercalate "\n" [T.pack m | Message m <- errorMessages e] Right (writerName, extsToEnable, extsToDisable) -> case lookup writerName writers of Nothing -> throwError $ PandocUnknownWriterError writerName Just w -> do let allExts = getAllExtensions writerName let exts = foldr disableExtension (foldr enableExtension (getDefaultExtensions writerName) extsToEnable) extsToDisable mapM_ (\ext -> unless (extensionEnabled ext allExts) $ throwError $ PandocUnsupportedExtensionError (T.drop 4 $ T.pack $ show ext) writerName) (extsToEnable ++ extsToDisable) return (w, exts) writeJSON :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeJSON _ = return . UTF8.toText . BL.toStrict . encode pandoc-2.9.2.1/src/Text/Pandoc/Writers/000077500000000000000000000000001363630463000175115ustar00rootroot00000000000000pandoc-2.9.2.1/src/Text/Pandoc/Writers/AsciiDoc.hs000066400000000000000000000557021363630463000215340ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.AsciiDoc Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of 'Pandoc' documents to asciidoc. Note that some information may be lost in conversion, due to expressive limitations of asciidoc. Footnotes and table cells with paragraphs (or other block items) are not possible in asciidoc. If pandoc encounters one of these, it will insert a message indicating that it has omitted the construct. AsciiDoc: -} module Text.Pandoc.Writers.AsciiDoc (writeAsciiDoc, writeAsciiDoctor) where import Control.Monad.State.Strict import Data.Char (isPunctuation, isSpace) import Data.List (intercalate, intersperse) import Data.Maybe (fromMaybe, isJust) import qualified Data.Set as Set import qualified Data.Text as T import Data.Text (Text) import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (blankline, space) import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared data WriterState = WriterState { defListMarker :: Text , orderedListLevel :: Int , bulletListLevel :: Int , intraword :: Bool , autoIds :: Set.Set Text , asciidoctorVariant :: Bool , inList :: Bool , hasMath :: Bool } defaultWriterState :: WriterState defaultWriterState = WriterState { defListMarker = "::" , orderedListLevel = 0 , bulletListLevel = 0 , intraword = False , autoIds = Set.empty , asciidoctorVariant = False , inList = False , hasMath = False } -- | Convert Pandoc to AsciiDoc. writeAsciiDoc :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeAsciiDoc opts document = evalStateT (pandocToAsciiDoc opts document) defaultWriterState -- | Convert Pandoc to AsciiDoctor compatible AsciiDoc. writeAsciiDoctor :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeAsciiDoctor opts document = evalStateT (pandocToAsciiDoc opts document) defaultWriterState{ asciidoctorVariant = True } type ADW = StateT WriterState -- | Return asciidoc representation of document. pandocToAsciiDoc :: PandocMonad m => WriterOptions -> Pandoc -> ADW m Text pandocToAsciiDoc opts (Pandoc meta blocks) = do let titleblock = not $ null (docTitle meta) && null (docAuthors meta) && null (docDate meta) let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing metadata <- metaToContext opts (blockListToAsciiDoc opts) (fmap chomp . inlineListToAsciiDoc opts) meta main <- blockListToAsciiDoc opts $ makeSections False (Just 1) blocks st <- get let context = defField "body" main $ defField "toc" (writerTableOfContents opts && isJust (writerTemplate opts)) $ defField "math" (hasMath st) $ defField "titleblock" titleblock metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Escape special characters for AsciiDoc. escapeString :: Text -> Text escapeString = escapeStringUsing escs where escs = backslashEscapes "{" -- | Ordered list start parser for use in Para below. olMarker :: Parser Text ParserState Char olMarker = do (start, style', delim) <- anyOrderedListMarker if delim == Period && (style' == UpperAlpha || (style' == UpperRoman && start `elem` [1, 5, 10, 50, 100, 500, 1000])) then spaceChar >> spaceChar else spaceChar -- | True if string begins with an ordered list marker -- or would be interpreted as an AsciiDoc option command needsEscaping :: Text -> Bool needsEscaping s = beginsWithOrderedListMarker s || isBracketed s where beginsWithOrderedListMarker str = case runParser olMarker defaultParserState "para start" (T.take 10 str) of Left _ -> False Right _ -> True isBracketed t | Just ('[', t') <- T.uncons t , Just (_, ']') <- T.unsnoc t' = True | otherwise = False -- | Convert Pandoc block element to asciidoc. blockToAsciiDoc :: PandocMonad m => WriterOptions -- ^ Options -> Block -- ^ Block element -> ADW m (Doc Text) blockToAsciiDoc _ Null = return empty blockToAsciiDoc opts (Div (id',"section":_,_) (Header level (_,cls,kvs) ils : xs)) = do hdr <- blockToAsciiDoc opts (Header level (id',cls,kvs) ils) rest <- blockListToAsciiDoc opts xs return $ hdr $$ rest blockToAsciiDoc opts (Plain inlines) = do contents <- inlineListToAsciiDoc opts inlines return $ contents <> blankline blockToAsciiDoc opts (Para [Image attr alt (src,tgt)]) | Just tit <- T.stripPrefix "fig:" tgt = blockToAsciiDoc opts (Para [Image attr alt (src,tit)]) blockToAsciiDoc opts (Para inlines) = do contents <- inlineListToAsciiDoc opts inlines -- escape if para starts with ordered list marker let esc = if needsEscaping (render Nothing contents) then text "{empty}" else empty return $ esc <> contents <> blankline blockToAsciiDoc opts (LineBlock lns) = do let docify line = if null line then return blankline else inlineListToAsciiDoc opts line let joinWithLinefeeds = nowrap . mconcat . intersperse cr contents <- joinWithLinefeeds <$> mapM docify lns return $ "[verse]" $$ text "--" $$ contents $$ text "--" $$ blankline blockToAsciiDoc _ b@(RawBlock f s) | f == "asciidoc" = return $ literal s | otherwise = do report $ BlockNotRendered b return empty blockToAsciiDoc _ HorizontalRule = return $ blankline <> text "'''''" <> blankline blockToAsciiDoc opts (Header level (ident,_,_) inlines) = do contents <- inlineListToAsciiDoc opts inlines ids <- gets autoIds let autoId = uniqueIdent (writerExtensions opts) inlines ids modify $ \st -> st{ autoIds = Set.insert autoId ids } let identifier = if T.null ident || (isEnabled Ext_auto_identifiers opts && ident == autoId) then empty else "[[" <> literal ident <> "]]" return $ identifier $$ nowrap (text (replicate (level + 1) '=') <> space <> contents) <> blankline blockToAsciiDoc _ (CodeBlock (_,classes,_) str) = return $ flush ( if null classes then "...." $$ literal str $$ "...." else attrs $$ "----" $$ literal str $$ "----") <> blankline where attrs = "[" <> literal (T.intercalate "," ("source" : classes)) <> "]" blockToAsciiDoc opts (BlockQuote blocks) = do contents <- blockListToAsciiDoc opts blocks let isBlock (BlockQuote _) = True isBlock _ = False -- if there are nested block quotes, put in an open block let contents' = if any isBlock blocks then "--" $$ contents $$ "--" else contents let bar = text "____" return $ bar $$ chomp contents' $$ bar <> blankline blockToAsciiDoc opts (Table caption aligns widths headers rows) = do caption' <- inlineListToAsciiDoc opts caption let caption'' = if null caption then empty else "." <> caption' <> cr let isSimple = all (== 0) widths let relativePercentWidths = if isSimple then widths else map (/ sum widths) widths let widths'' :: [Integer] widths'' = map (floor . (* 100)) relativePercentWidths -- ensure that the widths sum to 100 let widths' = case widths'' of _ | isSimple -> widths'' (w:ws) | sum (w:ws) < 100 -> (100 - sum ws) : ws ws -> ws let totalwidth :: Integer totalwidth = floor $ sum widths * 100 let colspec al wi = (case al of AlignLeft -> "<" AlignCenter -> "^" AlignRight -> ">" AlignDefault -> "") ++ if wi == 0 then "" else show wi ++ "%" let headerspec = if all null headers then empty else text "options=\"header\"," let widthspec = if totalwidth == 0 then empty else text "width=" <> doubleQuotes (text $ show totalwidth ++ "%") <> text "," let tablespec = text "[" <> widthspec <> text "cols=" <> doubleQuotes (text $ intercalate "," $ zipWith colspec aligns widths') <> text "," <> headerspec <> text "]" let makeCell [Plain x] = do d <- blockListToAsciiDoc opts [Plain x] return $ text "|" <> chomp d makeCell [Para x] = makeCell [Plain x] makeCell [] = return $ text "|" makeCell bs = do d <- blockListToAsciiDoc opts bs return $ text "a|" $$ d let makeRow cells = hsep `fmap` mapM makeCell cells rows' <- mapM makeRow rows head' <- makeRow headers let head'' = if all null headers then empty else head' let colwidth = if writerWrapText opts == WrapAuto then writerColumns opts else 100000 let maxwidth = maximum $ map offset (head':rows') let body = if maxwidth > colwidth then vsep rows' else vcat rows' let border = text "|===" return $ caption'' $$ tablespec $$ border $$ head'' $$ body $$ border $$ blankline blockToAsciiDoc opts (BulletList items) = do inlist <- gets inList modify $ \st -> st{ inList = True } contents <- mapM (bulletListItemToAsciiDoc opts) items modify $ \st -> st{ inList = inlist } return $ mconcat contents <> blankline blockToAsciiDoc opts (OrderedList (start, sty, _delim) items) = do let listStyle = case sty of DefaultStyle -> [] Decimal -> ["arabic"] Example -> [] _ -> [T.toLower (tshow sty)] let listStart = ["start=" <> tshow start | start /= 1] let listoptions = case T.intercalate ", " (listStyle ++ listStart) of "" -> empty x -> brackets (literal x) inlist <- gets inList modify $ \st -> st{ inList = True } contents <- mapM (orderedListItemToAsciiDoc opts) items modify $ \st -> st{ inList = inlist } return $ listoptions $$ mconcat contents <> blankline blockToAsciiDoc opts (DefinitionList items) = do inlist <- gets inList modify $ \st -> st{ inList = True } contents <- mapM (definitionListItemToAsciiDoc opts) items modify $ \st -> st{ inList = inlist } return $ mconcat contents <> blankline blockToAsciiDoc opts (Div (ident,classes,_) bs) = do let identifier = if T.null ident then empty else "[[" <> literal ident <> "]]" let admonitions = ["attention","caution","danger","error","hint", "important","note","tip","warning"] contents <- case classes of (l:_) | l `elem` admonitions -> do let (titleBs, bodyBs) = case bs of (Div (_,["title"],_) ts : rest) -> (ts, rest) _ -> ([], bs) admonitionTitle <- if null titleBs then return mempty else ("." <>) <$> blockListToAsciiDoc opts titleBs admonitionBody <- blockListToAsciiDoc opts bodyBs return $ "[" <> literal (T.toUpper l) <> "]" $$ chomp admonitionTitle $$ "====" $$ chomp admonitionBody $$ "====" _ -> blockListToAsciiDoc opts bs return $ identifier $$ contents -- | Convert bullet list item (list of blocks) to asciidoc. bulletListItemToAsciiDoc :: PandocMonad m => WriterOptions -> [Block] -> ADW m (Doc Text) bulletListItemToAsciiDoc opts blocks = do lev <- gets bulletListLevel modify $ \s -> s{ bulletListLevel = lev + 1 } contents <- foldM (addBlock opts) empty blocks modify $ \s -> s{ bulletListLevel = lev } let marker = text (replicate (lev + 1) '*') return $ marker <> text " " <> listBegin blocks <> contents <> cr addBlock :: PandocMonad m => WriterOptions -> Doc Text -> Block -> ADW m (Doc Text) addBlock opts d b = do x <- chomp <$> blockToAsciiDoc opts b return $ case b of BulletList{} -> d <> cr <> x OrderedList{} -> d <> cr <> x Para (Math DisplayMath _:_) -> d <> cr <> x Plain (Math DisplayMath _:_) -> d <> cr <> x Para{} | isEmpty d -> x Plain{} | isEmpty d -> x _ -> d <> cr <> text "+" <> cr <> x listBegin :: [Block] -> Doc Text listBegin blocks = case blocks of Para (Math DisplayMath _:_) : _ -> "{blank}" Plain (Math DisplayMath _:_) : _ -> "{blank}" Para _ : _ -> empty Plain _ : _ -> empty _ : _ -> "{blank}" [] -> "{blank}" -- | Convert ordered list item (a list of blocks) to asciidoc. orderedListItemToAsciiDoc :: PandocMonad m => WriterOptions -- ^ options -> [Block] -- ^ list item (list of blocks) -> ADW m (Doc Text) orderedListItemToAsciiDoc opts blocks = do lev <- gets orderedListLevel modify $ \s -> s{ orderedListLevel = lev + 1 } contents <- foldM (addBlock opts) empty blocks modify $ \s -> s{ orderedListLevel = lev } let marker = text (replicate (lev + 1) '.') return $ marker <> text " " <> listBegin blocks <> contents <> cr -- | Convert definition list item (label, list of blocks) to asciidoc. definitionListItemToAsciiDoc :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> ADW m (Doc Text) definitionListItemToAsciiDoc opts (label, defs) = do labelText <- inlineListToAsciiDoc opts label marker <- gets defListMarker if marker == "::" then modify (\st -> st{ defListMarker = ";;"}) else modify (\st -> st{ defListMarker = "::"}) let divider = cr <> text "+" <> cr let defsToAsciiDoc :: PandocMonad m => [Block] -> ADW m (Doc Text) defsToAsciiDoc ds = (vcat . intersperse divider . map chomp) `fmap` mapM (blockToAsciiDoc opts) ds defs' <- mapM defsToAsciiDoc defs modify (\st -> st{ defListMarker = marker }) let contents = nest 2 $ vcat $ intersperse divider $ map chomp defs' return $ labelText <> literal marker <> cr <> contents <> cr -- | Convert list of Pandoc block elements to asciidoc. blockListToAsciiDoc :: PandocMonad m => WriterOptions -- ^ Options -> [Block] -- ^ List of block elements -> ADW m (Doc Text) blockListToAsciiDoc opts blocks = mconcat `fmap` mapM (blockToAsciiDoc opts) blocks data SpacyLocation = End | Start -- | Convert list of Pandoc inline elements to asciidoc. inlineListToAsciiDoc :: PandocMonad m => WriterOptions -> [Inline] -> ADW m (Doc Text) inlineListToAsciiDoc opts lst = do oldIntraword <- gets intraword setIntraword False result <- go lst setIntraword oldIntraword return result where go [] = return empty go (y:x:xs) | not (isSpacy End y) = do y' <- if isSpacy Start x then inlineToAsciiDoc opts y else withIntraword $ inlineToAsciiDoc opts y x' <- withIntraword $ inlineToAsciiDoc opts x xs' <- go xs return (y' <> x' <> xs') | not (isSpacy Start x) = do y' <- withIntraword $ inlineToAsciiDoc opts y xs' <- go (x:xs) return (y' <> xs') go (x:xs) = do x' <- inlineToAsciiDoc opts x xs' <- go xs return (x' <> xs') isSpacy :: SpacyLocation -> Inline -> Bool isSpacy _ Space = True isSpacy _ LineBreak = True isSpacy _ SoftBreak = True -- Note that \W characters count as spacy in AsciiDoc -- for purposes of determining interword: isSpacy End (Str xs) = case T.unsnoc xs of Just (_, c) -> isPunctuation c || isSpace c _ -> False isSpacy Start (Str xs) | Just (c, _) <- T.uncons xs = isPunctuation c || isSpace c isSpacy _ _ = False setIntraword :: PandocMonad m => Bool -> ADW m () setIntraword b = modify $ \st -> st{ intraword = b } withIntraword :: PandocMonad m => ADW m a -> ADW m a withIntraword p = setIntraword True *> p <* setIntraword False -- | Convert Pandoc inline element to asciidoc. inlineToAsciiDoc :: PandocMonad m => WriterOptions -> Inline -> ADW m (Doc Text) inlineToAsciiDoc opts (Emph [Strong xs]) = inlineToAsciiDoc opts (Strong [Emph xs]) -- see #5565 inlineToAsciiDoc opts (Emph lst) = do contents <- inlineListToAsciiDoc opts lst isIntraword <- gets intraword let marker = if isIntraword then "__" else "_" return $ marker <> contents <> marker inlineToAsciiDoc opts (Strong lst) = do contents <- inlineListToAsciiDoc opts lst isIntraword <- gets intraword let marker = if isIntraword then "**" else "*" return $ marker <> contents <> marker inlineToAsciiDoc opts (Strikeout lst) = do contents <- inlineListToAsciiDoc opts lst return $ "[line-through]*" <> contents <> "*" inlineToAsciiDoc opts (Superscript lst) = do contents <- inlineListToAsciiDoc opts lst return $ "^" <> contents <> "^" inlineToAsciiDoc opts (Subscript lst) = do contents <- inlineListToAsciiDoc opts lst return $ "~" <> contents <> "~" inlineToAsciiDoc opts (SmallCaps lst) = inlineListToAsciiDoc opts lst inlineToAsciiDoc opts (Quoted qt lst) = do isAsciidoctor <- gets asciidoctorVariant inlineListToAsciiDoc opts $ case qt of SingleQuote | isAsciidoctor -> [Str "'`"] ++ lst ++ [Str "`'"] | otherwise -> [Str "`"] ++ lst ++ [Str "'"] DoubleQuote | isAsciidoctor -> [Str "\"`"] ++ lst ++ [Str "`\""] | otherwise -> [Str "``"] ++ lst ++ [Str "''"] inlineToAsciiDoc _ (Code _ str) = do isAsciidoctor <- gets asciidoctorVariant let contents = literal (escapeStringUsing (backslashEscapes "`") str) return $ if isAsciidoctor then text "`+" <> contents <> "+`" else text "`" <> contents <> "`" inlineToAsciiDoc _ (Str str) = return $ literal $ escapeString str inlineToAsciiDoc _ (Math InlineMath str) = do isAsciidoctor <- gets asciidoctorVariant modify $ \st -> st{ hasMath = True } let content = if isAsciidoctor then literal str else "$" <> literal str <> "$" return $ "latexmath:[" <> content <> "]" inlineToAsciiDoc _ (Math DisplayMath str) = do isAsciidoctor <- gets asciidoctorVariant modify $ \st -> st{ hasMath = True } let content = if isAsciidoctor then literal str else "\\[" <> literal str <> "\\]" inlist <- gets inList let sepline = if inlist then text "+" else blankline return $ (cr <> sepline) $$ "[latexmath]" $$ "++++" $$ content $$ "++++" <> cr inlineToAsciiDoc _ il@(RawInline f s) | f == "asciidoc" = return $ literal s | otherwise = do report $ InlineNotRendered il return empty inlineToAsciiDoc _ LineBreak = return $ " +" <> cr inlineToAsciiDoc _ Space = return space inlineToAsciiDoc opts SoftBreak = case writerWrapText opts of WrapAuto -> return space WrapPreserve -> return cr WrapNone -> return space inlineToAsciiDoc opts (Cite _ lst) = inlineListToAsciiDoc opts lst inlineToAsciiDoc opts (Link _ txt (src, _tit)) = do -- relative: link:downloads/foo.zip[download foo.zip] -- abs: http://google.cod[Google] -- or my@email.com[email john] linktext <- inlineListToAsciiDoc opts txt let isRelative = T.all (/= ':') src let prefix = if isRelative then text "link:" else empty let srcSuffix = fromMaybe src (T.stripPrefix "mailto:" src) let useAuto = case txt of [Str s] | escapeURI s == srcSuffix -> True _ -> False return $ if useAuto then literal srcSuffix else prefix <> literal src <> "[" <> linktext <> "]" inlineToAsciiDoc opts (Image attr alternate (src, tit)) = do -- image:images/logo.png[Company logo, title="blah"] let txt = if null alternate || (alternate == [Str ""]) then [Str "image"] else alternate linktext <- inlineListToAsciiDoc opts txt let linktitle = if T.null tit then empty else ",title=\"" <> literal tit <> "\"" showDim dir = case dimension dir attr of Just (Percent a) -> ["scaledwidth=" <> text (show (Percent a))] Just dim -> [text (show dir) <> "=" <> literal (showInPixel opts dim)] Nothing -> [] dimList = showDim Width ++ showDim Height dims = if null dimList then empty else "," <> mconcat (intersperse "," dimList) return $ "image:" <> literal src <> "[" <> linktext <> linktitle <> dims <> "]" inlineToAsciiDoc opts (Note [Para inlines]) = inlineToAsciiDoc opts (Note [Plain inlines]) inlineToAsciiDoc opts (Note [Plain inlines]) = do contents <- inlineListToAsciiDoc opts inlines return $ text "footnote:[" <> contents <> "]" -- asciidoc can't handle blank lines in notes inlineToAsciiDoc _ (Note _) = return "[multiblock footnote omitted]" inlineToAsciiDoc opts (Span (ident,classes,_) ils) = do contents <- inlineListToAsciiDoc opts ils isIntraword <- gets intraword let marker = if isIntraword then "##" else "#" if T.null ident && null classes then return contents else do let modifier = brackets $ literal $ T.unwords $ [ "#" <> ident | not (T.null ident)] ++ map ("." <>) classes return $ modifier <> marker <> contents <> marker pandoc-2.9.2.1/src/Text/Pandoc/Writers/CommonMark.hs000066400000000000000000000376011363630463000221170ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.CommonMark Copyright : Copyright (C) 2015-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of 'Pandoc' documents to CommonMark. CommonMark: -} module Text.Pandoc.Writers.CommonMark (writeCommonMark) where import CMarkGFM import Control.Monad.State.Strict (State, get, modify, runState) import Data.Char (isAscii) import Data.Foldable (foldrM) import Data.List (transpose) import Data.Text (Text) import qualified Data.Text as T import Network.HTTP (urlEncode) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Shared (capitalize, isTightList, linesToPara, onlySimpleTableCells, taskListItemToAscii, tshow) import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Walk (walk, walkM) import Text.Pandoc.Writers.HTML (writeHtml5String, tagWithAttributes) import Text.Pandoc.Writers.Shared import Text.Pandoc.XML (toHtml5Entities) import Text.DocLayout (literal, render) -- | Convert Pandoc to CommonMark. writeCommonMark :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeCommonMark opts (Pandoc meta blocks) = do toc <- if writerTableOfContents opts then blocksToCommonMark opts [ toTableOfContents opts blocks ] else return mempty let (blocks', notes) = runState (walkM processNotes blocks) [] notes' = [OrderedList (1, Decimal, Period) $ reverse notes | not (null notes)] main <- blocksToCommonMark opts (blocks' ++ notes') metadata <- metaToContext opts (fmap (literal . T.stripEnd) . blocksToCommonMark opts) (fmap (literal . T.stripEnd) . inlinesToCommonMark opts) meta let context = -- for backwards compatibility we populate toc -- with the contents of the toc, rather than a boolean: defField "toc" toc $ defField "table-of-contents" toc $ defField "body" main metadata return $ case writerTemplate opts of Nothing -> main Just tpl -> render Nothing $ renderTemplate tpl context softBreakToSpace :: Inline -> Inline softBreakToSpace SoftBreak = Space softBreakToSpace x = x processNotes :: Inline -> State [[Block]] Inline processNotes (Note bs) = do modify (bs :) notes <- get return $ Str $ "[" <> tshow (length notes) <> "]" processNotes x = return x node :: NodeType -> [Node] -> Node node = Node Nothing blocksToCommonMark :: PandocMonad m => WriterOptions -> [Block] -> m Text blocksToCommonMark opts bs = do let cmarkOpts = [optHardBreaks | isEnabled Ext_hard_line_breaks opts] colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing nodes <- blocksToNodes opts bs return $ T.stripEnd $ nodeToCommonmark cmarkOpts colwidth $ node DOCUMENT nodes inlinesToCommonMark :: PandocMonad m => WriterOptions -> [Inline] -> m Text inlinesToCommonMark opts ils = return $ nodeToCommonmark cmarkOpts colwidth $ node PARAGRAPH (inlinesToNodes opts ils) where cmarkOpts = [optHardBreaks | isEnabled Ext_hard_line_breaks opts] colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing blocksToNodes :: PandocMonad m => WriterOptions -> [Block] -> m [Node] blocksToNodes opts = foldrM (blockToNodes opts) [] blockToNodes :: PandocMonad m => WriterOptions -> Block -> [Node] -> m [Node] blockToNodes opts (Plain xs) ns = return (node PARAGRAPH (inlinesToNodes opts xs) : ns) blockToNodes opts (Para xs) ns = return (node PARAGRAPH (inlinesToNodes opts xs) : ns) blockToNodes opts (LineBlock lns) ns = blockToNodes opts (linesToPara lns) ns blockToNodes _ (CodeBlock (_,classes,_) xs) ns = return (node (CODE_BLOCK (T.unwords classes) xs) [] : ns) blockToNodes opts (RawBlock (Format f) xs) ns | f == "html" && isEnabled Ext_raw_html opts = return (node (HTML_BLOCK xs) [] : ns) | (f == "latex" || f == "tex") && isEnabled Ext_raw_tex opts = return (node (CUSTOM_BLOCK xs T.empty) [] : ns) | f == "markdown" = return (node (CUSTOM_BLOCK xs T.empty) [] : ns) | otherwise = return ns blockToNodes opts (BlockQuote bs) ns = do nodes <- blocksToNodes opts bs return (node BLOCK_QUOTE nodes : ns) blockToNodes opts (BulletList items) ns = do let exts = writerExtensions opts nodes <- mapM (blocksToNodes opts . taskListItemToAscii exts) items return (node (LIST ListAttributes{ listType = BULLET_LIST, listDelim = PERIOD_DELIM, listTight = isTightList items, listStart = 1 }) (map (node ITEM) nodes) : ns) blockToNodes opts (OrderedList (start, _sty, delim) items) ns = do let exts = writerExtensions opts nodes <- mapM (blocksToNodes opts . taskListItemToAscii exts) items return (node (LIST ListAttributes{ listType = ORDERED_LIST, listDelim = case delim of OneParen -> PAREN_DELIM TwoParens -> PAREN_DELIM _ -> PERIOD_DELIM, listTight = isTightList items, listStart = start }) (map (node ITEM) nodes) : ns) blockToNodes _ HorizontalRule ns = return (node THEMATIC_BREAK [] : ns) blockToNodes opts (Header lev _ ils) ns = return (node (HEADING lev) (inlinesToNodes opts ils) : ns) blockToNodes opts (Div attr bs) ns = do nodes <- blocksToNodes opts bs let op = tagWithAttributes opts True False "div" attr if isEnabled Ext_raw_html opts then return (node (HTML_BLOCK op) [] : nodes ++ [node (HTML_BLOCK (T.pack "
    ")) []] ++ ns) else return (nodes ++ ns) blockToNodes opts (DefinitionList items) ns = blockToNodes opts (BulletList items') ns where items' = map dlToBullet items dlToBullet (term, (Para xs : ys) : zs) = Para (term ++ [LineBreak] ++ xs) : ys ++ concat zs dlToBullet (term, (Plain xs : ys) : zs) = Plain (term ++ [LineBreak] ++ xs) : ys ++ concat zs dlToBullet (term, xs) = Para term : concat xs blockToNodes opts t@(Table capt aligns _widths headers rows) ns = if isEnabled Ext_pipe_tables opts && onlySimpleTableCells (headers:rows) then do -- We construct a table manually as a CUSTOM_BLOCK, for -- two reasons: (1) cmark-gfm currently doesn't support -- rendering TABLE nodes; (2) we can align the column sides; -- (3) we can render the caption as a regular paragraph. let capt' = node PARAGRAPH (inlinesToNodes opts capt) -- backslash | in code and raw: let fixPipe (Code attr xs) = Code attr (T.replace "|" "\\|" xs) fixPipe (RawInline format xs) = RawInline format (T.replace "|" "\\|" xs) fixPipe x = x let toCell [Plain ils] = T.strip $ nodeToCommonmark [] Nothing $ node (CUSTOM_INLINE mempty mempty) $ inlinesToNodes opts $ walk (fixPipe . softBreakToSpace) ils toCell [Para ils] = T.strip $ nodeToCommonmark [] Nothing $ node (CUSTOM_INLINE mempty mempty) $ inlinesToNodes opts $ walk (fixPipe . softBreakToSpace) ils toCell [] = "" toCell xs = error $ "toCell encountered " ++ show xs let separator = " | " let starter = "| " let ender = " |" let rawheaders = map toCell headers let rawrows = map (map toCell) rows let maximum' [] = 0 maximum' xs = maximum xs let colwidths = map (maximum' . map T.length) $ transpose (rawheaders:rawrows) let toHeaderLine len AlignDefault = T.replicate len "-" toHeaderLine len AlignLeft = ":" <> T.replicate (max (len - 1) 1) "-" toHeaderLine len AlignRight = T.replicate (max (len - 1) 1) "-" <> ":" toHeaderLine len AlignCenter = ":" <> T.replicate (max (len - 2) 1) (T.pack "-") <> ":" let rawheaderlines = zipWith toHeaderLine colwidths aligns let headerlines = starter <> T.intercalate separator rawheaderlines <> ender let padContent (align, w) t' = let padding = w - T.length t' halfpadding = padding `div` 2 in case align of AlignRight -> T.replicate padding " " <> t' AlignCenter -> T.replicate halfpadding " " <> t' <> T.replicate (padding - halfpadding) " " _ -> t' <> T.replicate padding " " let toRow xs = starter <> T.intercalate separator (zipWith padContent (zip aligns colwidths) xs) <> ender let table' = toRow rawheaders <> "\n" <> headerlines <> "\n" <> T.intercalate "\n" (map toRow rawrows) return (node (CUSTOM_BLOCK table' mempty) [] : if null capt then ns else capt' : ns) else do -- fall back to raw HTML s <- writeHtml5String def $! Pandoc nullMeta [t] return (node (HTML_BLOCK s) [] : ns) blockToNodes _ Null ns = return ns inlinesToNodes :: WriterOptions -> [Inline] -> [Node] inlinesToNodes opts = foldr (inlineToNodes opts) [] inlineToNodes :: WriterOptions -> Inline -> [Node] -> [Node] inlineToNodes opts (Str s) = stringToNodes opts s' where s' = if isEnabled Ext_smart opts then unsmartify opts s else s inlineToNodes _ Space = (node (TEXT (T.pack " ")) [] :) inlineToNodes _ LineBreak = (node LINEBREAK [] :) inlineToNodes opts SoftBreak | isEnabled Ext_hard_line_breaks opts = (node (TEXT " ") [] :) | writerWrapText opts == WrapNone = (node (TEXT " ") [] :) | otherwise = (node SOFTBREAK [] :) inlineToNodes opts (Emph xs) = (node EMPH (inlinesToNodes opts xs) :) inlineToNodes opts (Strong xs) = (node STRONG (inlinesToNodes opts xs) :) inlineToNodes opts (Strikeout xs) | isEnabled Ext_strikeout opts = (node (CUSTOM_INLINE "~~" "~~") (inlinesToNodes opts xs) :) | isEnabled Ext_raw_html opts = ((node (HTML_INLINE (T.pack "")) [] : inlinesToNodes opts xs ++ [node (HTML_INLINE (T.pack "")) []]) ++ ) | otherwise = (inlinesToNodes opts xs ++) inlineToNodes opts (Superscript xs) = if isEnabled Ext_raw_html opts then ((node (HTML_INLINE (T.pack "")) [] : inlinesToNodes opts xs ++ [node (HTML_INLINE (T.pack "")) []]) ++ ) else case traverse toSuperscriptInline xs of Just xs' | not (writerPreferAscii opts) -> (inlinesToNodes opts xs' ++) _ -> ((node (TEXT (T.pack "^(")) [] : inlinesToNodes opts xs ++ [node (TEXT (T.pack ")")) []]) ++ ) inlineToNodes opts (Subscript xs) = if isEnabled Ext_raw_html opts then ((node (HTML_INLINE (T.pack "")) [] : inlinesToNodes opts xs ++ [node (HTML_INLINE (T.pack "")) []]) ++ ) else case traverse toSubscriptInline xs of Just xs' | not (writerPreferAscii opts) -> (inlinesToNodes opts xs' ++) _ -> ((node (TEXT (T.pack "_(")) [] : inlinesToNodes opts xs ++ [node (TEXT (T.pack ")")) []]) ++ ) inlineToNodes opts (SmallCaps xs) = if isEnabled Ext_raw_html opts then ((node (HTML_INLINE (T.pack "")) [] : inlinesToNodes opts xs ++ [node (HTML_INLINE (T.pack "")) []]) ++ ) else (inlinesToNodes opts (capitalize xs) ++) inlineToNodes opts (Link _ ils (url,tit)) = (node (LINK url tit) (inlinesToNodes opts ils) :) -- title beginning with fig: indicates implicit figure inlineToNodes opts (Image alt ils (url,T.stripPrefix "fig:" -> Just tit)) = inlineToNodes opts (Image alt ils (url,tit)) inlineToNodes opts (Image _ ils (url,tit)) = (node (IMAGE url tit) (inlinesToNodes opts ils) :) inlineToNodes opts (RawInline (Format f) xs) | f == "html" && isEnabled Ext_raw_html opts = (node (HTML_INLINE xs) [] :) | (f == "latex" || f == "tex") && isEnabled Ext_raw_tex opts = (node (CUSTOM_INLINE xs T.empty) [] :) | f == "markdown" = (node (CUSTOM_INLINE xs T.empty) [] :) | otherwise = id inlineToNodes opts (Quoted qt ils) = ((node (HTML_INLINE start) [] : inlinesToNodes opts ils ++ [node (HTML_INLINE end) []]) ++) where (start, end) = case qt of SingleQuote | isEnabled Ext_smart opts -> ("'","'") | writerPreferAscii opts -> ("‘", "’") | otherwise -> ("‘", "’") DoubleQuote | isEnabled Ext_smart opts -> ("\"", "\"") | writerPreferAscii opts -> ("“", "”") | otherwise -> ("“", "”") inlineToNodes _ (Code _ str) = (node (CODE str) [] :) inlineToNodes opts (Math mt str) = case writerHTMLMathMethod opts of WebTeX url -> let core = inlineToNodes opts (Image nullAttr [Str str] (url <> T.pack (urlEncode $ T.unpack str), str)) sep = if mt == DisplayMath then (node LINEBREAK [] :) else id in (sep . core . sep) _ -> case mt of InlineMath -> (node (HTML_INLINE ("\\(" <> str <> "\\)")) [] :) DisplayMath -> (node (HTML_INLINE ("\\[" <> str <> "\\]")) [] :) inlineToNodes opts (Span ("",["emoji"],kvs) [Str s]) = case lookup "data-emoji" kvs of Just emojiname | isEnabled Ext_emoji opts -> (node (TEXT (":" <> emojiname <> ":")) [] :) _ -> (node (TEXT s) [] :) inlineToNodes opts (Span attr ils) = let nodes = inlinesToNodes opts ils op = tagWithAttributes opts True False "span" attr in if isEnabled Ext_raw_html opts then ((node (HTML_INLINE op) [] : nodes ++ [node (HTML_INLINE (T.pack "")) []]) ++) else (nodes ++) inlineToNodes opts (Cite _ ils) = (inlinesToNodes opts ils ++) inlineToNodes _ (Note _) = id -- should not occur -- we remove Note elements in preprocessing stringToNodes :: WriterOptions -> Text -> [Node] -> [Node] stringToNodes opts s | not (writerPreferAscii opts) = (node (TEXT s) [] :) | otherwise = step s where step input = let (ascii, rest) = T.span isAscii input this = node (TEXT ascii) [] nodes = case T.uncons rest of Nothing -> id Just (nonAscii, rest') -> let escaped = toHtml5Entities (T.singleton nonAscii) in (node (HTML_INLINE escaped) [] :) . step rest' in (this :) . nodes toSubscriptInline :: Inline -> Maybe Inline toSubscriptInline Space = Just Space toSubscriptInline (Span attr ils) = Span attr <$> traverse toSubscriptInline ils toSubscriptInline (Str s) = Str . T.pack <$> traverse toSubscript (T.unpack s) toSubscriptInline LineBreak = Just LineBreak toSubscriptInline SoftBreak = Just SoftBreak toSubscriptInline _ = Nothing toSuperscriptInline :: Inline -> Maybe Inline toSuperscriptInline Space = Just Space toSuperscriptInline (Span attr ils) = Span attr <$> traverse toSuperscriptInline ils toSuperscriptInline (Str s) = Str . T.pack <$> traverse toSuperscript (T.unpack s) toSuperscriptInline LineBreak = Just LineBreak toSuperscriptInline SoftBreak = Just SoftBreak toSuperscriptInline _ = Nothing pandoc-2.9.2.1/src/Text/Pandoc/Writers/ConTeXt.hs000066400000000000000000000611401363630463000213730ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.ConTeXt Copyright : Copyright (C) 2007-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of 'Pandoc' format into ConTeXt. -} module Text.Pandoc.Writers.ConTeXt ( writeConTeXt ) where import Control.Monad.State.Strict import Data.Char (ord, isDigit) import Data.List (intersperse) import Data.Maybe (mapMaybe) import Data.Text (Text) import qualified Data.Text as T import Network.URI (unEscapeString) import Text.Pandoc.BCP47 import Text.Pandoc.Class.PandocMonad (PandocMonad, report, toLang) import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Walk (query) import Text.Pandoc.Writers.Shared import Text.Printf (printf) data WriterState = WriterState { stNextRef :: Int -- number of next URL reference , stOrderedListLevel :: Int -- level of ordered list , stOptions :: WriterOptions -- writer options , stHasCslRefs :: Bool -- has CSL citations , stCslHangingIndent :: Bool -- CSL hanging indent } data Tabl = Xtb | Ntb deriving (Show, Eq) orderedListStyles :: [Char] orderedListStyles = cycle "narg" -- | Convert Pandoc to ConTeXt. writeConTeXt :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeConTeXt options document = let defaultWriterState = WriterState { stNextRef = 1 , stOrderedListLevel = 0 , stOptions = options , stHasCslRefs = False , stCslHangingIndent = False } in evalStateT (pandocToConTeXt options document) defaultWriterState type WM = StateT WriterState pandocToConTeXt :: PandocMonad m => WriterOptions -> Pandoc -> WM m Text pandocToConTeXt options (Pandoc meta blocks) = do let colwidth = if writerWrapText options == WrapAuto then Just $ writerColumns options else Nothing metadata <- metaToContext options blockListToConTeXt (fmap chomp . inlineListToConTeXt) meta main <- blockListToConTeXt $ makeSections False Nothing blocks let layoutFromMargins = mconcat $ intersperse ("," :: Doc Text) $ mapMaybe (\(x,y) -> ((x <> "=") <>) <$> getField y metadata) [("leftmargin","margin-left") ,("rightmargin","margin-right") ,("top","margin-top") ,("bottom","margin-bottom") ] mblang <- fromBCP47 (getLang options meta) st <- get let context = defField "toc" (writerTableOfContents options) $ defField "placelist" (mconcat . intersperse ("," :: Doc Text) $ take (writerTOCDepth options + case writerTopLevelDivision options of TopLevelPart -> 0 TopLevelChapter -> 0 _ -> 1) ["chapter","section","subsection","subsubsection", "subsubsubsection","subsubsubsubsection"]) $ defField "body" main $ defField "layout" layoutFromMargins $ defField "number-sections" (writerNumberSections options) $ defField "csl-refs" (stHasCslRefs st) $ defField "csl-hanging-indent" (stCslHangingIndent st) $ maybe id (\l -> defField "context-lang" (literal l :: Doc Text)) mblang $ (case T.unpack . render Nothing <$> getField "papersize" metadata of Just (('a':d:ds) :: String) | all isDigit (d:ds) -> resetField "papersize" (T.pack ('A':d:ds)) _ -> id) $ (case T.toLower $ lookupMetaString "pdfa" meta of "true" -> resetField "pdfa" (T.pack "1b:2005") _ -> id) metadata let context' = defField "context-dir" (maybe mempty toContextDir $ getField "dir" context) context return $ render colwidth $ case writerTemplate options of Nothing -> main Just tpl -> renderTemplate tpl context' -- change rtl to r2l, ltr to l2r toContextDir :: Doc Text -> Doc Text toContextDir = fmap (\t -> case t of "ltr" -> "l2r" "rtl" -> "r2l" _ -> t) -- | escape things as needed for ConTeXt escapeCharForConTeXt :: WriterOptions -> Char -> Text escapeCharForConTeXt opts ch = let ligatures = isEnabled Ext_smart opts in case ch of '{' -> "\\{" '}' -> "\\}" '\\' -> "\\letterbackslash{}" '$' -> "\\$" '|' -> "\\letterbar{}" '%' -> "\\letterpercent{}" '~' -> "\\lettertilde{}" '#' -> "\\#" '[' -> "{[}" ']' -> "{]}" '\160' -> "~" '\x2014' | ligatures -> "---" '\x2013' | ligatures -> "--" '\x2019' | ligatures -> "'" '\x2026' -> "\\ldots{}" x -> T.singleton x -- | Escape string for ConTeXt stringToConTeXt :: WriterOptions -> Text -> Text stringToConTeXt opts = T.concatMap (escapeCharForConTeXt opts) -- | Sanitize labels toLabel :: Text -> Text toLabel z = T.concatMap go z where go x | x `elem` ("\\#[]\",{}%()|=" :: String) = "ux" <> T.pack (printf "%x" (ord x)) | otherwise = T.singleton x -- | Convert Pandoc block element to ConTeXt. blockToConTeXt :: PandocMonad m => Block -> WM m (Doc Text) blockToConTeXt Null = return empty blockToConTeXt (Div attr@(_,"section":_,_) (Header level _ title' : xs)) = do header' <- sectionHeader attr level title' footer' <- sectionFooter attr level innerContents <- blockListToConTeXt xs return $ header' $$ innerContents $$ footer' blockToConTeXt (Plain lst) = inlineListToConTeXt lst -- title beginning with fig: indicates that the image is a figure blockToConTeXt (Para [Image attr txt (src,tgt)]) | Just _ <- T.stripPrefix "fig:" tgt = do capt <- inlineListToConTeXt txt img <- inlineToConTeXt (Image attr txt (src, "")) let (ident, _, _) = attr label = if T.null ident then empty else "[]" <> brackets (literal $ toLabel ident) return $ blankline $$ "\\placefigure" <> label <> braces capt <> img <> blankline blockToConTeXt (Para lst) = do contents <- inlineListToConTeXt lst return $ contents <> blankline blockToConTeXt (LineBlock lns) = do doclines <- nowrap . vcat <$> mapM inlineListToConTeXt lns return $ "\\startlines" $$ doclines $$ "\\stoplines" <> blankline blockToConTeXt (BlockQuote lst) = do contents <- blockListToConTeXt lst return $ "\\startblockquote" $$ nest 0 contents $$ "\\stopblockquote" <> blankline blockToConTeXt (CodeBlock _ str) = return $ flush ("\\starttyping" <> cr <> literal str <> cr <> "\\stoptyping") $$ blankline -- blankline because \stoptyping can't have anything after it, inc. '}' blockToConTeXt b@(RawBlock f str) | f == Format "context" || f == Format "tex" = return $ literal str <> blankline | otherwise = empty <$ report (BlockNotRendered b) blockToConTeXt (Div ("refs",classes,_) bs) = do modify $ \st -> st{ stHasCslRefs = True , stCslHangingIndent = "hanging-indent" `elem` classes } inner <- blockListToConTeXt bs return $ "\\startcslreferences" $$ inner $$ "\\stopcslreferences" blockToConTeXt (Div (ident,_,kvs) bs) = do let align dir txt = "\\startalignment[" <> dir <> "]" $$ txt $$ "\\stopalignment" mblang <- fromBCP47 (lookup "lang" kvs) let wrapRef txt = if T.null ident then txt else ("\\reference" <> brackets (literal $ toLabel ident) <> braces empty <> "%") $$ txt wrapDir = case lookup "dir" kvs of Just "rtl" -> align "righttoleft" Just "ltr" -> align "lefttoright" _ -> id wrapLang txt = case mblang of Just lng -> "\\start\\language[" <> literal lng <> "]" $$ txt $$ "\\stop" Nothing -> txt wrapBlank txt = blankline <> txt <> blankline (wrapBlank . wrapLang . wrapDir . wrapRef) <$> blockListToConTeXt bs blockToConTeXt (BulletList lst) = do contents <- mapM listItemToConTeXt lst return $ ("\\startitemize" <> if isTightList lst then brackets "packed" else empty) $$ vcat contents $$ literal "\\stopitemize" <> blankline blockToConTeXt (OrderedList (start, style', delim) lst) = do st <- get let level = stOrderedListLevel st put st {stOrderedListLevel = level + 1} contents <- mapM listItemToConTeXt lst put st {stOrderedListLevel = level} let start' = if start == 1 then "" else "start=" <> tshow start let delim' = case delim of DefaultDelim -> "" Period -> "stopper=." OneParen -> "stopper=)" TwoParens -> "left=(,stopper=)" let width = maximum $ map T.length $ take (length contents) (orderedListMarkers (start, style', delim)) let width' = (toEnum width + 1) / 2 let width'' = if width' > (1.5 :: Double) then "width=" <> tshow width' <> "em" else "" let specs2Items = filter (not . T.null) [start', delim', width''] let specs2 = if null specs2Items then "" else "[" <> T.intercalate "," specs2Items <> "]" let style'' = '[': (case style' of DefaultStyle -> orderedListStyles !! level Decimal -> 'n' Example -> 'n' LowerRoman -> 'r' UpperRoman -> 'R' LowerAlpha -> 'a' UpperAlpha -> 'A') : if isTightList lst then ",packed]" else "]" let specs = T.pack style'' <> specs2 return $ "\\startitemize" <> literal specs $$ vcat contents $$ "\\stopitemize" <> blankline blockToConTeXt (DefinitionList lst) = liftM vcat $ mapM defListItemToConTeXt lst blockToConTeXt HorizontalRule = return $ "\\thinrule" <> blankline -- If this is ever executed, provide a default for the reference identifier. blockToConTeXt (Header level attr lst) = sectionHeader attr level lst blockToConTeXt (Table caption aligns widths heads rows) = do opts <- gets stOptions let tabl = if isEnabled Ext_ntb opts then Ntb else Xtb captionText <- inlineListToConTeXt caption headers <- if all null heads then return empty else tableRowToConTeXt tabl aligns widths heads rows' <- mapM (tableRowToConTeXt tabl aligns widths) rows body <- tableToConTeXt tabl headers rows' return $ "\\startplacetable" <> brackets ( if null caption then "location=none" else "title=" <> braces captionText ) $$ body $$ "\\stopplacetable" <> blankline tableToConTeXt :: PandocMonad m => Tabl -> Doc Text -> [Doc Text] -> WM m (Doc Text) tableToConTeXt Xtb heads rows = return $ "\\startxtable" $$ (if isEmpty heads then empty else "\\startxtablehead[head]" $$ heads $$ "\\stopxtablehead") $$ (if null rows then empty else "\\startxtablebody[body]" $$ vcat (init rows) $$ "\\stopxtablebody" $$ "\\startxtablefoot[foot]" $$ last rows $$ "\\stopxtablefoot") $$ "\\stopxtable" tableToConTeXt Ntb heads rows = return $ "\\startTABLE" $$ (if isEmpty heads then empty else "\\startTABLEhead" $$ heads $$ "\\stopTABLEhead") $$ (if null rows then empty else "\\startTABLEbody" $$ vcat (init rows) $$ "\\stopTABLEbody" $$ "\\startTABLEfoot" $$ last rows $$ "\\stopTABLEfoot") $$ "\\stopTABLE" tableRowToConTeXt :: PandocMonad m => Tabl -> [Alignment] -> [Double] -> [[Block]] -> WM m (Doc Text) tableRowToConTeXt Xtb aligns widths cols = do cells <- mapM (tableColToConTeXt Xtb) $ zip3 aligns widths cols return $ "\\startxrow" $$ vcat cells $$ "\\stopxrow" tableRowToConTeXt Ntb aligns widths cols = do cells <- mapM (tableColToConTeXt Ntb) $ zip3 aligns widths cols return $ vcat cells $$ "\\NC\\NR" tableColToConTeXt :: PandocMonad m => Tabl -> (Alignment, Double, [Block]) -> WM m (Doc Text) tableColToConTeXt tabl (align, width, blocks) = do cellContents <- blockListToConTeXt blocks let colwidth = if width == 0 then empty else "width=" <> braces (text (printf "%.2f\\textwidth" width)) let halign = alignToConTeXt align let options = (if isEmpty keys then empty else brackets keys) <> space where keys = hcat $ intersperse "," $ filter (not . isEmpty) [halign, colwidth] tableCellToConTeXt tabl options cellContents tableCellToConTeXt :: PandocMonad m => Tabl -> Doc Text -> Doc Text -> WM m (Doc Text) tableCellToConTeXt Xtb options cellContents = return $ "\\startxcell" <> options <> cellContents <> " \\stopxcell" tableCellToConTeXt Ntb options cellContents = return $ "\\NC" <> options <> cellContents alignToConTeXt :: Alignment -> Doc Text alignToConTeXt align = case align of AlignLeft -> "align=right" AlignRight -> "align=left" AlignCenter -> "align=middle" AlignDefault -> empty listItemToConTeXt :: PandocMonad m => [Block] -> WM m (Doc Text) listItemToConTeXt list = (("\\item" $$) . nest 2) <$> blockListToConTeXt list defListItemToConTeXt :: PandocMonad m => ([Inline], [[Block]]) -> WM m (Doc Text) defListItemToConTeXt (term, defs) = do term' <- inlineListToConTeXt term def' <- liftM vsep $ mapM blockListToConTeXt defs return $ "\\startdescription" <> braces term' $$ nest 2 def' $$ "\\stopdescription" <> blankline -- | Convert list of block elements to ConTeXt. blockListToConTeXt :: PandocMonad m => [Block] -> WM m (Doc Text) blockListToConTeXt lst = liftM vcat $ mapM blockToConTeXt lst -- | Convert list of inline elements to ConTeXt. inlineListToConTeXt :: PandocMonad m => [Inline] -- ^ Inlines to convert -> WM m (Doc Text) inlineListToConTeXt lst = liftM hcat $ mapM inlineToConTeXt $ addStruts lst -- We add a \strut after a line break that precedes a space, -- or the space gets swallowed where addStruts (LineBreak : s : xs) | isSpacey s = LineBreak : RawInline (Format "context") "\\strut " : s : addStruts xs addStruts (x:xs) = x : addStruts xs addStruts [] = [] isSpacey Space = True isSpacey (Str (T.uncons -> Just ('\160',_))) = True isSpacey _ = False -- | Convert inline element to ConTeXt inlineToConTeXt :: PandocMonad m => Inline -- ^ Inline to convert -> WM m (Doc Text) inlineToConTeXt (Emph lst) = do contents <- inlineListToConTeXt lst return $ braces $ "\\em " <> contents inlineToConTeXt (Strong lst) = do contents <- inlineListToConTeXt lst return $ braces $ "\\bf " <> contents inlineToConTeXt (Strikeout lst) = do contents <- inlineListToConTeXt lst return $ "\\overstrikes" <> braces contents inlineToConTeXt (Superscript lst) = do contents <- inlineListToConTeXt lst return $ "\\high" <> braces contents inlineToConTeXt (Subscript lst) = do contents <- inlineListToConTeXt lst return $ "\\low" <> braces contents inlineToConTeXt (SmallCaps lst) = do contents <- inlineListToConTeXt lst return $ braces $ "\\sc " <> contents inlineToConTeXt (Code _ str) | not ('{' `elemText` str || '}' `elemText` str) = return $ "\\type" <> braces (literal str) inlineToConTeXt (Code _ str) = do opts <- gets stOptions return $ "\\mono" <> braces (literal $ stringToConTeXt opts str) inlineToConTeXt (Quoted SingleQuote lst) = do contents <- inlineListToConTeXt lst return $ "\\quote" <> braces contents inlineToConTeXt (Quoted DoubleQuote lst) = do contents <- inlineListToConTeXt lst return $ "\\quotation" <> braces contents inlineToConTeXt (Cite _ lst) = inlineListToConTeXt lst inlineToConTeXt (Str str) = do opts <- gets stOptions return $ literal $ stringToConTeXt opts str inlineToConTeXt (Math InlineMath str) = return $ char '$' <> literal str <> char '$' inlineToConTeXt (Math DisplayMath str) = return $ literal "\\startformula " <> literal str <> literal " \\stopformula" <> space inlineToConTeXt il@(RawInline f str) | f == Format "tex" || f == Format "context" = return $ literal str | otherwise = empty <$ report (InlineNotRendered il) inlineToConTeXt LineBreak = return $ literal "\\crlf" <> cr inlineToConTeXt SoftBreak = do wrapText <- gets (writerWrapText . stOptions) return $ case wrapText of WrapAuto -> space WrapNone -> space WrapPreserve -> cr inlineToConTeXt Space = return space -- Handle HTML-like internal document references to sections inlineToConTeXt (Link _ txt (T.uncons -> Just ('#', ref), _)) = do opts <- gets stOptions contents <- inlineListToConTeXt txt let ref' = toLabel $ stringToConTeXt opts ref return $ literal "\\goto" <> braces contents <> brackets (literal ref') inlineToConTeXt (Link _ txt (src, _)) = do let isAutolink = txt == [Str (T.pack $ unEscapeString $ T.unpack src)] st <- get let next = stNextRef st put $ st {stNextRef = next + 1} let ref = "url" <> tshow next contents <- inlineListToConTeXt txt return $ "\\useURL" <> brackets (literal ref) <> brackets (literal $ escapeStringUsing [('#',"\\#"),('%',"\\%")] src) <> (if isAutolink then empty else brackets empty <> brackets contents) <> "\\from" <> brackets (literal ref) inlineToConTeXt (Image attr@(_,cls,_) _ (src, _)) = do opts <- gets stOptions let showDim dir = let d = literal (tshow dir) <> "=" in case dimension dir attr of Just (Pixel a) -> [d <> literal (showInInch opts (Pixel a)) <> "in"] Just (Percent a) -> [d <> literal (showFl (a / 100)) <> "\\textwidth"] Just dim -> [d <> literal (tshow dim)] Nothing -> [] dimList = showDim Width ++ showDim Height dims = if null dimList then empty else brackets $ mconcat (intersperse "," dimList) clas = if null cls then empty else brackets $ literal $ toLabel $ head cls -- Use / for path separators on Windows; see #4918 fixPathSeparators = T.map $ \c -> case c of '\\' -> '/' _ -> c src' = fixPathSeparators $ if isURI src then src else T.pack $ unEscapeString $ T.unpack src return $ braces $ "\\externalfigure" <> brackets (literal src') <> dims <> clas inlineToConTeXt (Note contents) = do contents' <- blockListToConTeXt contents let codeBlock x@(CodeBlock _ _) = [x] codeBlock _ = [] let codeBlocks = query codeBlock contents return $ if null codeBlocks then literal "\\footnote{" <> nest 2 (chomp contents') <> char '}' else literal "\\startbuffer " <> nest 2 (chomp contents') <> literal "\\stopbuffer\\footnote{\\getbuffer}" inlineToConTeXt (Span (_,_,kvs) ils) = do mblang <- fromBCP47 (lookup "lang" kvs) let wrapDir txt = case lookup "dir" kvs of Just "rtl" -> braces $ "\\righttoleft " <> txt Just "ltr" -> braces $ "\\lefttoright " <> txt _ -> txt wrapLang txt = case mblang of Just lng -> braces ("\\language" <> brackets (literal lng) <> txt) Nothing -> txt (wrapLang . wrapDir) <$> inlineListToConTeXt ils -- | Craft the section header, inserting the section reference, if supplied. sectionHeader :: PandocMonad m => Attr -> Int -> [Inline] -> WM m (Doc Text) sectionHeader (ident,classes,kvs) hdrLevel lst = do opts <- gets stOptions contents <- inlineListToConTeXt lst levelText <- sectionLevelToText opts (ident,classes,kvs) hdrLevel let ident' = if T.null ident then empty else "reference=" <> braces (literal (toLabel ident)) let contents' = if isEmpty contents then empty else "title=" <> braces contents let options = if isEmpty keys || isEmpty levelText then empty else brackets keys where keys = hcat $ intersperse "," $ filter (not . isEmpty) [contents', ident'] let starter = if writerSectionDivs opts then "\\start" else "\\" return $ starter <> levelText <> options <> blankline -- | Craft the section footer sectionFooter :: PandocMonad m => Attr -> Int -> WM m (Doc Text) sectionFooter attr hdrLevel = do opts <- gets stOptions levelText <- sectionLevelToText opts attr hdrLevel return $ if writerSectionDivs opts then "\\stop" <> levelText <> blankline else empty -- | Generate a textual representation of the section level sectionLevelToText :: PandocMonad m => WriterOptions -> Attr -> Int -> WM m (Doc Text) sectionLevelToText opts (_,classes,_) hdrLevel = do let level' = case writerTopLevelDivision opts of TopLevelPart -> hdrLevel - 2 TopLevelChapter -> hdrLevel - 1 TopLevelSection -> hdrLevel TopLevelDefault -> hdrLevel let (section, chapter) = if "unnumbered" `elem` classes then (literal "subject", literal "title") else (literal "section", literal "chapter") return $ case level' of -1 -> literal "part" 0 -> chapter n | n >= 1 -> text (concat (replicate (n - 1) "sub")) <> section _ -> empty -- cannot happen fromBCP47 :: PandocMonad m => Maybe Text -> WM m (Maybe Text) fromBCP47 mbs = fromBCP47' <$> toLang mbs -- Takes a list of the constituents of a BCP 47 language code -- and irons out ConTeXt's exceptions -- https://tools.ietf.org/html/bcp47#section-2.1 -- http://wiki.contextgarden.net/Language_Codes fromBCP47' :: Maybe Lang -> Maybe Text fromBCP47' (Just (Lang "ar" _ "SY" _) ) = Just "ar-sy" fromBCP47' (Just (Lang "ar" _ "IQ" _) ) = Just "ar-iq" fromBCP47' (Just (Lang "ar" _ "JO" _) ) = Just "ar-jo" fromBCP47' (Just (Lang "ar" _ "LB" _) ) = Just "ar-lb" fromBCP47' (Just (Lang "ar" _ "DZ" _) ) = Just "ar-dz" fromBCP47' (Just (Lang "ar" _ "MA" _) ) = Just "ar-ma" fromBCP47' (Just (Lang "de" _ _ ["1901"]) ) = Just "deo" fromBCP47' (Just (Lang "de" _ "DE" _) ) = Just "de-de" fromBCP47' (Just (Lang "de" _ "AT" _) ) = Just "de-at" fromBCP47' (Just (Lang "de" _ "CH" _) ) = Just "de-ch" fromBCP47' (Just (Lang "el" _ _ ["poly"]) ) = Just "agr" fromBCP47' (Just (Lang "en" _ "US" _) ) = Just "en-us" fromBCP47' (Just (Lang "en" _ "GB" _) ) = Just "en-gb" fromBCP47' (Just (Lang "grc"_ _ _) ) = Just "agr" fromBCP47' (Just (Lang "el" _ _ _) ) = Just "gr" fromBCP47' (Just (Lang "eu" _ _ _) ) = Just "ba" fromBCP47' (Just (Lang "he" _ _ _) ) = Just "il" fromBCP47' (Just (Lang "jp" _ _ _) ) = Just "ja" fromBCP47' (Just (Lang "uk" _ _ _) ) = Just "ua" fromBCP47' (Just (Lang "vi" _ _ _) ) = Just "vn" fromBCP47' (Just (Lang "zh" _ _ _) ) = Just "cn" fromBCP47' (Just (Lang l _ _ _) ) = Just l fromBCP47' Nothing = Nothing pandoc-2.9.2.1/src/Text/Pandoc/Writers/Custom.hs000066400000000000000000000176241363630463000213310ustar00rootroot00000000000000{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.Custom Copyright : Copyright (C) 2012-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of 'Pandoc' documents to custom markup using a lua writer. -} module Text.Pandoc.Writers.Custom ( writeCustom ) where import Control.Arrow ((***)) import Control.Exception import Control.Monad (when) import Data.List (intersperse) import qualified Data.Map as M import qualified Data.Text as T import Data.Text (Text, pack) import Data.Typeable import Foreign.Lua (Lua, Pushable) import Text.DocLayout (render, literal) import Text.Pandoc.Class.PandocIO (PandocIO) import Text.Pandoc.Definition import Text.Pandoc.Lua (Global (..), LuaException (LuaException), runLua, setGlobals) import Text.Pandoc.Lua.Util (addField, dofileWithTraceback) import Text.Pandoc.Options import Text.Pandoc.Templates (renderTemplate) import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Writers.Shared import qualified Foreign.Lua as Lua attrToMap :: Attr -> M.Map T.Text T.Text attrToMap (id',classes,keyvals) = M.fromList $ ("id", id') : ("class", T.unwords classes) : keyvals newtype Stringify a = Stringify a instance Pushable (Stringify Format) where push (Stringify (Format f)) = Lua.push (T.toLower f) instance Pushable (Stringify [Inline]) where push (Stringify ils) = Lua.push =<< inlineListToCustom ils instance Pushable (Stringify [Block]) where push (Stringify blks) = Lua.push =<< blockListToCustom blks instance Pushable (Stringify MetaValue) where push (Stringify (MetaMap m)) = Lua.push (fmap Stringify m) push (Stringify (MetaList xs)) = Lua.push (map Stringify xs) push (Stringify (MetaBool x)) = Lua.push x push (Stringify (MetaString s)) = Lua.push s push (Stringify (MetaInlines ils)) = Lua.push (Stringify ils) push (Stringify (MetaBlocks bs)) = Lua.push (Stringify bs) instance Pushable (Stringify Citation) where push (Stringify cit) = do Lua.createtable 6 0 addField "citationId" $ citationId cit addField "citationPrefix" . Stringify $ citationPrefix cit addField "citationSuffix" . Stringify $ citationSuffix cit addField "citationMode" $ show (citationMode cit) addField "citationNoteNum" $ citationNoteNum cit addField "citationHash" $ citationHash cit -- | Key-value pair, pushed as a table with @a@ as the only key and @v@ as the -- associated value. newtype KeyValue a b = KeyValue (a, b) instance (Pushable a, Pushable b) => Pushable (KeyValue a b) where push (KeyValue (k, v)) = do Lua.newtable Lua.push k Lua.push v Lua.rawset (Lua.nthFromTop 3) data PandocLuaException = PandocLuaException Text deriving (Show, Typeable) instance Exception PandocLuaException -- | Convert Pandoc to custom markup. writeCustom :: FilePath -> WriterOptions -> Pandoc -> PandocIO Text writeCustom luaFile opts doc@(Pandoc meta _) = do let globals = [ PANDOC_DOCUMENT doc , PANDOC_SCRIPT_FILE luaFile ] res <- runLua $ do setGlobals globals stat <- dofileWithTraceback luaFile -- check for error in lua script (later we'll change the return type -- to handle this more gracefully): when (stat /= Lua.OK) $ Lua.tostring' (-1) >>= throw . PandocLuaException . UTF8.toText rendered <- docToCustom opts doc context <- metaToContext opts (fmap (literal . pack) . blockListToCustom) (fmap (literal . pack) . inlineListToCustom) meta return (pack rendered, context) let (body, context) = case res of Left (LuaException msg) -> throw (PandocLuaException msg) Right x -> x return $ case writerTemplate opts of Nothing -> body Just tpl -> render Nothing $ renderTemplate tpl $ setField "body" body context docToCustom :: WriterOptions -> Pandoc -> Lua String docToCustom opts (Pandoc (Meta metamap) blocks) = do body <- blockListToCustom blocks Lua.callFunc "Doc" body (fmap Stringify metamap) (writerVariables opts) -- | Convert Pandoc block element to Custom. blockToCustom :: Block -- ^ Block element -> Lua String blockToCustom Null = return "" blockToCustom (Plain inlines) = Lua.callFunc "Plain" (Stringify inlines) blockToCustom (Para [Image attr txt (src,tit)]) = Lua.callFunc "CaptionedImage" src tit (Stringify txt) (attrToMap attr) blockToCustom (Para inlines) = Lua.callFunc "Para" (Stringify inlines) blockToCustom (LineBlock linesList) = Lua.callFunc "LineBlock" (map Stringify linesList) blockToCustom (RawBlock format str) = Lua.callFunc "RawBlock" (Stringify format) str blockToCustom HorizontalRule = Lua.callFunc "HorizontalRule" blockToCustom (Header level attr inlines) = Lua.callFunc "Header" level (Stringify inlines) (attrToMap attr) blockToCustom (CodeBlock attr str) = Lua.callFunc "CodeBlock" str (attrToMap attr) blockToCustom (BlockQuote blocks) = Lua.callFunc "BlockQuote" (Stringify blocks) blockToCustom (Table capt aligns widths headers rows) = let aligns' = map show aligns capt' = Stringify capt headers' = map Stringify headers rows' = map (map Stringify) rows in Lua.callFunc "Table" capt' aligns' widths headers' rows' blockToCustom (BulletList items) = Lua.callFunc "BulletList" (map Stringify items) blockToCustom (OrderedList (num,sty,delim) items) = Lua.callFunc "OrderedList" (map Stringify items) num (show sty) (show delim) blockToCustom (DefinitionList items) = Lua.callFunc "DefinitionList" (map (KeyValue . (Stringify *** map Stringify)) items) blockToCustom (Div attr items) = Lua.callFunc "Div" (Stringify items) (attrToMap attr) -- | Convert list of Pandoc block elements to Custom. blockListToCustom :: [Block] -- ^ List of block elements -> Lua String blockListToCustom xs = do blocksep <- Lua.callFunc "Blocksep" bs <- mapM blockToCustom xs return $ mconcat $ intersperse blocksep bs -- | Convert list of Pandoc inline elements to Custom. inlineListToCustom :: [Inline] -> Lua String inlineListToCustom lst = do xs <- mapM inlineToCustom lst return $ mconcat xs -- | Convert Pandoc inline element to Custom. inlineToCustom :: Inline -> Lua String inlineToCustom (Str str) = Lua.callFunc "Str" str inlineToCustom Space = Lua.callFunc "Space" inlineToCustom SoftBreak = Lua.callFunc "SoftBreak" inlineToCustom (Emph lst) = Lua.callFunc "Emph" (Stringify lst) inlineToCustom (Strong lst) = Lua.callFunc "Strong" (Stringify lst) inlineToCustom (Strikeout lst) = Lua.callFunc "Strikeout" (Stringify lst) inlineToCustom (Superscript lst) = Lua.callFunc "Superscript" (Stringify lst) inlineToCustom (Subscript lst) = Lua.callFunc "Subscript" (Stringify lst) inlineToCustom (SmallCaps lst) = Lua.callFunc "SmallCaps" (Stringify lst) inlineToCustom (Quoted SingleQuote lst) = Lua.callFunc "SingleQuoted" (Stringify lst) inlineToCustom (Quoted DoubleQuote lst) = Lua.callFunc "DoubleQuoted" (Stringify lst) inlineToCustom (Cite cs lst) = Lua.callFunc "Cite" (Stringify lst) (map Stringify cs) inlineToCustom (Code attr str) = Lua.callFunc "Code" str (attrToMap attr) inlineToCustom (Math DisplayMath str) = Lua.callFunc "DisplayMath" str inlineToCustom (Math InlineMath str) = Lua.callFunc "InlineMath" str inlineToCustom (RawInline format str) = Lua.callFunc "RawInline" (Stringify format) str inlineToCustom LineBreak = Lua.callFunc "LineBreak" inlineToCustom (Link attr txt (src,tit)) = Lua.callFunc "Link" (Stringify txt) src tit (attrToMap attr) inlineToCustom (Image attr alt (src,tit)) = Lua.callFunc "Image" (Stringify alt) src tit (attrToMap attr) inlineToCustom (Note contents) = Lua.callFunc "Note" (Stringify contents) inlineToCustom (Span attr items) = Lua.callFunc "Span" (Stringify items) (attrToMap attr) pandoc-2.9.2.1/src/Text/Pandoc/Writers/Docbook.hs000066400000000000000000000436351363630463000214400ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.Docbook Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of 'Pandoc' documents to Docbook XML. -} module Text.Pandoc.Writers.Docbook ( writeDocbook4, writeDocbook5 ) where import Control.Monad.Reader import Data.Generics (everywhere, mkT) import Data.Monoid (Any (..)) import Data.Text (Text) import qualified Data.Text as T import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Highlighting (languages, languagesByExtension) import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared import Text.Pandoc.Walk import Text.Pandoc.Writers.Math import Text.Pandoc.XML import Text.TeXMath import qualified Text.XML.Light as Xml data DocBookVersion = DocBook4 | DocBook5 deriving (Eq, Show) type DB = ReaderT DocBookVersion -- | Convert list of authors to a docbook section authorToDocbook :: PandocMonad m => WriterOptions -> [Inline] -> DB m B.Inlines authorToDocbook opts name' = do name <- render Nothing <$> inlinesToDocbook opts name' let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing return $ B.rawInline "docbook" $ render colwidth $ if T.any (== ',') name then -- last name first let (lastname, rest) = T.break (==',') name firstname = triml rest in inTagsSimple "firstname" (literal $ escapeStringForXML firstname) <> inTagsSimple "surname" (literal $ escapeStringForXML lastname) else -- last name last let namewords = T.words name lengthname = length namewords (firstname, lastname) = case lengthname of 0 -> ("","") 1 -> ("", name) n -> (T.unwords (take (n-1) namewords), last namewords) in inTagsSimple "firstname" (literal $ escapeStringForXML firstname) $$ inTagsSimple "surname" (literal $ escapeStringForXML lastname) writeDocbook4 :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeDocbook4 opts d = runReaderT (writeDocbook opts d) DocBook4 writeDocbook5 :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeDocbook5 opts d = runReaderT (writeDocbook opts d) DocBook5 -- | Convert Pandoc document to string in Docbook format. writeDocbook :: PandocMonad m => WriterOptions -> Pandoc -> DB m Text writeDocbook opts (Pandoc meta blocks) = do let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing -- The numbering here follows LaTeX's internal numbering let startLvl = case writerTopLevelDivision opts of TopLevelPart -> -1 TopLevelChapter -> 0 TopLevelSection -> 1 TopLevelDefault -> 1 let fromBlocks = blocksToDocbook opts . makeSections False (Just startLvl) auths' <- mapM (authorToDocbook opts) $ docAuthors meta let meta' = B.setMeta "author" auths' meta metadata <- metaToContext opts fromBlocks (inlinesToDocbook opts) meta' main <- fromBlocks blocks let context = defField "body" main $ defField "mathml" (case writerHTMLMathMethod opts of MathML -> True _ -> False) metadata return $ render colwidth $ (if writerPreferAscii opts then fmap toEntities else id) $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Convert a list of Pandoc blocks to Docbook. blocksToDocbook :: PandocMonad m => WriterOptions -> [Block] -> DB m (Doc Text) blocksToDocbook opts = fmap vcat . mapM (blockToDocbook opts) -- | Auxiliary function to convert Plain block to Para. plainToPara :: Block -> Block plainToPara (Plain x) = Para x plainToPara x = x -- | Convert a list of pairs of terms and definitions into a list of -- Docbook varlistentrys. deflistItemsToDocbook :: PandocMonad m => WriterOptions -> [([Inline],[[Block]])] -> DB m (Doc Text) deflistItemsToDocbook opts items = vcat <$> mapM (uncurry (deflistItemToDocbook opts)) items -- | Convert a term and a list of blocks into a Docbook varlistentry. deflistItemToDocbook :: PandocMonad m => WriterOptions -> [Inline] -> [[Block]] -> DB m (Doc Text) deflistItemToDocbook opts term defs = do term' <- inlinesToDocbook opts term def' <- blocksToDocbook opts $ concatMap (map plainToPara) defs return $ inTagsIndented "varlistentry" $ inTagsIndented "term" term' $$ inTagsIndented "listitem" def' -- | Convert a list of lists of blocks to a list of Docbook list items. listItemsToDocbook :: PandocMonad m => WriterOptions -> [[Block]] -> DB m (Doc Text) listItemsToDocbook opts items = vcat <$> mapM (listItemToDocbook opts) items -- | Convert a list of blocks into a Docbook list item. listItemToDocbook :: PandocMonad m => WriterOptions -> [Block] -> DB m (Doc Text) listItemToDocbook opts item = inTagsIndented "listitem" <$> blocksToDocbook opts (map plainToPara item) imageToDocbook :: WriterOptions -> Attr -> Text -> Doc Text imageToDocbook _ attr src = selfClosingTag "imagedata" $ ("fileref", src) : idAndRole attr <> dims where dims = go Width "width" <> go Height "depth" go dir dstr = case dimension dir attr of Just a -> [(dstr, tshow a)] Nothing -> [] -- | Convert a Pandoc block element to Docbook. blockToDocbook :: PandocMonad m => WriterOptions -> Block -> DB m (Doc Text) blockToDocbook _ Null = return empty -- Add ids to paragraphs in divs with ids - this is needed for -- pandoc-citeproc to get link anchors in bibliographies: blockToDocbook opts (Div (id',"section":_,_) (Header lvl _ ils : xs)) = do version <- ask -- Docbook doesn't allow sections with no content, so insert some if needed let bs = if null xs then [Para []] else xs tag = case lvl of -1 -> "part" 0 -> "chapter" n | n >= 1 && n <= 5 -> if version == DocBook5 then "section" else "sect" <> tshow n _ -> "simplesect" idName = if version == DocBook5 then "xml:id" else "id" idAttr = [(idName, writerIdentifierPrefix opts <> id') | not (T.null id')] nsAttr = if version == DocBook5 && lvl == 0 then [("xmlns", "http://docbook.org/ns/docbook"),("xmlns:xlink", "http://www.w3.org/1999/xlink")] else [] attribs = nsAttr <> idAttr title' <- inlinesToDocbook opts ils contents <- blocksToDocbook opts bs return $ inTags True tag attribs $ inTagsSimple "title" title' $$ contents blockToDocbook opts (Div (ident,_,_) [Para lst]) = let attribs = [("id", ident) | not (T.null ident)] in if hasLineBreaks lst then (flush . nowrap . inTags False "literallayout" attribs) <$> inlinesToDocbook opts lst else inTags True "para" attribs <$> inlinesToDocbook opts lst blockToDocbook opts (Div (ident,_,_) bs) = do contents <- blocksToDocbook opts (map plainToPara bs) return $ (if T.null ident then mempty else selfClosingTag "anchor" [("id", ident)]) $$ contents blockToDocbook _ h@Header{} = do -- should be handled by Div section above, except inside lists/blockquotes report $ BlockNotRendered h return empty blockToDocbook opts (Plain lst) = inlinesToDocbook opts lst -- title beginning with fig: indicates that the image is a figure blockToDocbook opts (Para [Image attr txt (src,T.stripPrefix "fig:" -> Just _)]) = do alt <- inlinesToDocbook opts txt let capt = if null txt then empty else inTagsSimple "title" alt return $ inTagsIndented "figure" $ capt $$ inTagsIndented "mediaobject" ( inTagsIndented "imageobject" (imageToDocbook opts attr src) $$ inTagsSimple "textobject" (inTagsSimple "phrase" alt)) blockToDocbook opts (Para lst) | hasLineBreaks lst = (flush . nowrap . inTagsSimple "literallayout") <$> inlinesToDocbook opts lst | otherwise = inTagsIndented "para" <$> inlinesToDocbook opts lst blockToDocbook opts (LineBlock lns) = blockToDocbook opts $ linesToPara lns blockToDocbook opts (BlockQuote blocks) = inTagsIndented "blockquote" <$> blocksToDocbook opts blocks blockToDocbook _ (CodeBlock (_,classes,_) str) = return $ literal (" lang <> ">") <> cr <> flush (literal (escapeStringForXML str) <> cr <> literal "") where lang = if null langs then "" else " language=\"" <> escapeStringForXML (head langs) <> "\"" isLang l = T.toLower l `elem` map T.toLower languages langsFrom s = if isLang s then [s] else languagesByExtension . T.toLower $ s langs = concatMap langsFrom classes blockToDocbook opts (BulletList lst) = do let attribs = [("spacing", "compact") | isTightList lst] inTags True "itemizedlist" attribs <$> listItemsToDocbook opts lst blockToDocbook _ (OrderedList _ []) = return empty blockToDocbook opts (OrderedList (start, numstyle, _) (first:rest)) = do let numeration = case numstyle of DefaultStyle -> [] Decimal -> [("numeration", "arabic")] Example -> [("numeration", "arabic")] UpperAlpha -> [("numeration", "upperalpha")] LowerAlpha -> [("numeration", "loweralpha")] UpperRoman -> [("numeration", "upperroman")] LowerRoman -> [("numeration", "lowerroman")] spacing = [("spacing", "compact") | isTightList (first:rest)] attribs = numeration <> spacing items <- if start == 1 then listItemsToDocbook opts (first:rest) else do first' <- blocksToDocbook opts (map plainToPara first) rest' <- listItemsToDocbook opts rest return $ inTags True "listitem" [("override",tshow start)] first' $$ rest' return $ inTags True "orderedlist" attribs items blockToDocbook opts (DefinitionList lst) = do let attribs = [("spacing", "compact") | isTightList $ concatMap snd lst] inTags True "variablelist" attribs <$> deflistItemsToDocbook opts lst blockToDocbook _ b@(RawBlock f str) | f == "docbook" = return $ literal str -- raw XML block | f == "html" = do version <- ask if version == DocBook5 then return empty -- No html in Docbook5 else return $ literal str -- allow html for backwards compatibility | otherwise = do report $ BlockNotRendered b return empty blockToDocbook _ HorizontalRule = return empty -- not semantic blockToDocbook opts (Table caption aligns widths headers rows) = do captionDoc <- if null caption then return empty else inTagsIndented "title" <$> inlinesToDocbook opts caption let tableType = if isEmpty captionDoc then "informaltable" else "table" percent w = tshow (truncate (100*w) :: Integer) <> "*" coltags = vcat $ zipWith (\w al -> selfClosingTag "colspec" ([("colwidth", percent w) | w > 0] <> [("align", alignmentToString al)])) widths aligns head' <- if all null headers then return empty else inTagsIndented "thead" <$> tableRowToDocbook opts headers body' <- (inTagsIndented "tbody" . vcat) <$> mapM (tableRowToDocbook opts) rows return $ inTagsIndented tableType $ captionDoc $$ inTags True "tgroup" [("cols", tshow (length headers))] ( coltags $$ head' $$ body') hasLineBreaks :: [Inline] -> Bool hasLineBreaks = getAny . query isLineBreak . walk removeNote where removeNote :: Inline -> Inline removeNote (Note _) = Str "" removeNote x = x isLineBreak :: Inline -> Any isLineBreak LineBreak = Any True isLineBreak _ = Any False alignmentToString :: Alignment -> Text alignmentToString alignment = case alignment of AlignLeft -> "left" AlignRight -> "right" AlignCenter -> "center" AlignDefault -> "left" tableRowToDocbook :: PandocMonad m => WriterOptions -> [[Block]] -> DB m (Doc Text) tableRowToDocbook opts cols = (inTagsIndented "row" . vcat) <$> mapM (tableItemToDocbook opts) cols tableItemToDocbook :: PandocMonad m => WriterOptions -> [Block] -> DB m (Doc Text) tableItemToDocbook opts item = (inTags True "entry" [] . vcat) <$> mapM (blockToDocbook opts) item -- | Convert a list of inline elements to Docbook. inlinesToDocbook :: PandocMonad m => WriterOptions -> [Inline] -> DB m (Doc Text) inlinesToDocbook opts lst = hcat <$> mapM (inlineToDocbook opts) lst -- | Convert an inline element to Docbook. inlineToDocbook :: PandocMonad m => WriterOptions -> Inline -> DB m (Doc Text) inlineToDocbook _ (Str str) = return $ literal $ escapeStringForXML str inlineToDocbook opts (Emph lst) = inTagsSimple "emphasis" <$> inlinesToDocbook opts lst inlineToDocbook opts (Strong lst) = inTags False "emphasis" [("role", "strong")] <$> inlinesToDocbook opts lst inlineToDocbook opts (Strikeout lst) = inTags False "emphasis" [("role", "strikethrough")] <$> inlinesToDocbook opts lst inlineToDocbook opts (Superscript lst) = inTagsSimple "superscript" <$> inlinesToDocbook opts lst inlineToDocbook opts (Subscript lst) = inTagsSimple "subscript" <$> inlinesToDocbook opts lst inlineToDocbook opts (SmallCaps lst) = inTags False "emphasis" [("role", "smallcaps")] <$> inlinesToDocbook opts lst inlineToDocbook opts (Quoted _ lst) = inTagsSimple "quote" <$> inlinesToDocbook opts lst inlineToDocbook opts (Cite _ lst) = inlinesToDocbook opts lst inlineToDocbook opts (Span (ident,_,_) ils) = ((if T.null ident then mempty else selfClosingTag "anchor" [("id", ident)]) <>) <$> inlinesToDocbook opts ils inlineToDocbook _ (Code _ str) = return $ inTagsSimple "literal" $ literal (escapeStringForXML str) inlineToDocbook opts (Math t str) | isMathML (writerHTMLMathMethod opts) = do res <- convertMath writeMathML t str case res of Right r -> return $ inTagsSimple tagtype $ literal $ T.pack $ Xml.ppcElement conf $ fixNS $ removeAttr r Left il -> inlineToDocbook opts il | otherwise = texMathToInlines t str >>= inlinesToDocbook opts where tagtype = case t of InlineMath -> "inlineequation" DisplayMath -> "informalequation" conf = Xml.useShortEmptyTags (const False) Xml.defaultConfigPP removeAttr e = e{ Xml.elAttribs = [] } fixNS' qname = qname{ Xml.qPrefix = Just "mml" } fixNS = everywhere (mkT fixNS') inlineToDocbook _ il@(RawInline f x) | f == "html" || f == "docbook" = return $ literal x | otherwise = do report $ InlineNotRendered il return empty inlineToDocbook _ LineBreak = return $ literal "\n" -- currently ignore, would require the option to add custom -- styles to the document inlineToDocbook _ Space = return space -- because we use \n for LineBreak, we can't do soft breaks: inlineToDocbook _ SoftBreak = return space inlineToDocbook opts (Link attr txt (src, _)) | Just email <- T.stripPrefix "mailto:" src = let emailLink = inTagsSimple "email" $ literal $ escapeStringForXML email in case txt of [Str s] | escapeURI s == email -> return emailLink _ -> do contents <- inlinesToDocbook opts txt return $ contents <+> char '(' <> emailLink <> char ')' | otherwise = do version <- ask (if "#" `T.isPrefixOf` src then inTags False "link" $ ("linkend", writerIdentifierPrefix opts <> T.drop 1 src) : idAndRole attr else if version == DocBook5 then inTags False "link" $ ("xlink:href", src) : idAndRole attr else inTags False "ulink" $ ("url", src) : idAndRole attr ) <$> inlinesToDocbook opts txt inlineToDocbook opts (Image attr _ (src, tit)) = return $ let titleDoc = if T.null tit then empty else inTagsIndented "objectinfo" $ inTagsIndented "title" (literal $ escapeStringForXML tit) in inTagsIndented "inlinemediaobject" $ inTagsIndented "imageobject" $ titleDoc $$ imageToDocbook opts attr src inlineToDocbook opts (Note contents) = inTagsIndented "footnote" <$> blocksToDocbook opts contents isMathML :: HTMLMathMethod -> Bool isMathML MathML = True isMathML _ = False idAndRole :: Attr -> [(Text, Text)] idAndRole (id',cls,_) = ident <> role where ident = [("id", id') | not (T.null id')] role = [("role", T.unwords cls) | not (null cls)] pandoc-2.9.2.1/src/Text/Pandoc/Writers/Docx.hs000066400000000000000000002040621363630463000207460ustar00rootroot00000000000000{-# LANGUAGE PatternGuards #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.Docx Copyright : Copyright (C) 2012-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of 'Pandoc' documents to docx. -} module Text.Pandoc.Writers.Docx ( writeDocx ) where import Codec.Archive.Zip import Control.Applicative ((<|>)) import Control.Monad.Except (catchError, throwError) import Control.Monad.Reader import Control.Monad.State.Strict import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as BL import Data.Char (isSpace, ord, isLetter) import Data.List (intercalate, isPrefixOf, isSuffixOf) import Data.String (fromString) import qualified Data.Map as M import Data.Maybe (fromMaybe, isNothing, mapMaybe, maybeToList) import qualified Data.Set as Set import qualified Data.Text as T import qualified Data.Text.Lazy as TL import Data.Time.Clock.POSIX import Data.Digest.Pure.SHA (sha1, showDigest) import Skylighting import System.Random (randomR, StdGen, mkStdGen) import Text.Pandoc.BCP47 (getLang, renderLang) import Text.Pandoc.Class.PandocMonad (PandocMonad, report, toLang) import qualified Text.Pandoc.Class.PandocMonad as P import Data.Time import Text.Pandoc.UTF8 (fromTextLazy) import Text.Pandoc.Definition import Text.Pandoc.Generic import Text.Pandoc.Highlighting (highlight) import Text.Pandoc.Error import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.MIME (MimeType, extensionFromMimeType, getMimeType, getMimeTypeDef) import Text.Pandoc.Options import Text.Pandoc.Writers.Docx.StyleMap import Text.Pandoc.Shared import Text.Pandoc.Walk import Text.Pandoc.Writers.Math import Text.Pandoc.Writers.Shared import Text.Printf (printf) import Text.TeXMath import Text.XML.Light as XML import Text.XML.Light.Cursor as XMLC import Text.Pandoc.Writers.OOXML data ListMarker = NoMarker | BulletMarker | NumberMarker ListNumberStyle ListNumberDelim Int deriving (Show, Read, Eq, Ord) listMarkerToId :: ListMarker -> String listMarkerToId NoMarker = "990" listMarkerToId BulletMarker = "991" listMarkerToId (NumberMarker sty delim n) = '9' : '9' : styNum : delimNum : show n where styNum = case sty of DefaultStyle -> '2' Example -> '3' Decimal -> '4' LowerRoman -> '5' UpperRoman -> '6' LowerAlpha -> '7' UpperAlpha -> '8' delimNum = case delim of DefaultDelim -> '0' Period -> '1' OneParen -> '2' TwoParens -> '3' data EnvProps = EnvProps{ styleElement :: Maybe Element , otherElements :: [Element] } instance Semigroup EnvProps where EnvProps Nothing es <> EnvProps s es' = EnvProps s (es ++ es') EnvProps s es <> EnvProps _ es' = EnvProps s (es ++ es') instance Monoid EnvProps where mempty = EnvProps Nothing [] mappend = (<>) squashProps :: EnvProps -> [Element] squashProps (EnvProps Nothing es) = es squashProps (EnvProps (Just e) es) = e : es data WriterEnv = WriterEnv{ envTextProperties :: EnvProps , envParaProperties :: EnvProps , envRTL :: Bool , envListLevel :: Int , envListNumId :: Int , envInDel :: Bool , envChangesAuthor :: T.Text , envChangesDate :: T.Text , envPrintWidth :: Integer } defaultWriterEnv :: WriterEnv defaultWriterEnv = WriterEnv{ envTextProperties = mempty , envParaProperties = mempty , envRTL = False , envListLevel = -1 , envListNumId = 1 , envInDel = False , envChangesAuthor = "unknown" , envChangesDate = "1969-12-31T19:00:00Z" , envPrintWidth = 1 } data WriterState = WriterState{ stFootnotes :: [Element] , stComments :: [([(T.Text, T.Text)], [Inline])] , stSectionIds :: Set.Set T.Text , stExternalLinks :: M.Map String String , stImages :: M.Map FilePath (String, String, Maybe MimeType, B.ByteString) , stLists :: [ListMarker] , stInsId :: Int , stDelId :: Int , stStyleMaps :: StyleMaps , stFirstPara :: Bool , stInTable :: Bool , stInList :: Bool , stTocTitle :: [Inline] , stDynamicParaProps :: Set.Set ParaStyleName , stDynamicTextProps :: Set.Set CharStyleName , stCurId :: Int } defaultWriterState :: WriterState defaultWriterState = WriterState{ stFootnotes = defaultFootnotes , stComments = [] , stSectionIds = Set.empty , stExternalLinks = M.empty , stImages = M.empty , stLists = [NoMarker] , stInsId = 1 , stDelId = 1 , stStyleMaps = StyleMaps M.empty M.empty , stFirstPara = False , stInTable = False , stInList = False , stTocTitle = [Str "Table of Contents"] , stDynamicParaProps = Set.empty , stDynamicTextProps = Set.empty , stCurId = 20 } type WS m = ReaderT WriterEnv (StateT WriterState m) renumIdMap :: Int -> [Element] -> M.Map String String renumIdMap _ [] = M.empty renumIdMap n (e:es) | Just oldId <- findAttr (QName "Id" Nothing Nothing) e = M.insert oldId ("rId" ++ show n) (renumIdMap (n+1) es) | otherwise = renumIdMap n es replaceAttr :: (QName -> Bool) -> String -> [XML.Attr] -> [XML.Attr] replaceAttr _ _ [] = [] replaceAttr f val (a:as) | f (attrKey a) = XML.Attr (attrKey a) val : replaceAttr f val as | otherwise = a : replaceAttr f val as renumId :: (QName -> Bool) -> M.Map String String -> Element -> Element renumId f renumMap e | Just oldId <- findAttrBy f e , Just newId <- M.lookup oldId renumMap = let attrs' = replaceAttr f newId (elAttribs e) in e { elAttribs = attrs' } | otherwise = e renumIds :: (QName -> Bool) -> M.Map String String -> [Element] -> [Element] renumIds f renumMap = map (renumId f renumMap) findAttrTextBy :: (QName -> Bool) -> Element -> Maybe T.Text findAttrTextBy x = fmap T.pack . findAttrBy x lookupAttrTextBy :: (QName -> Bool) -> [XML.Attr] -> Maybe T.Text lookupAttrTextBy x = fmap T.pack . lookupAttrBy x -- | Certain characters are invalid in XML even if escaped. -- See #1992 stripInvalidChars :: T.Text -> T.Text stripInvalidChars = T.filter isValidChar -- | See XML reference isValidChar :: Char -> Bool isValidChar (ord -> c) | c == 0x9 = True | c == 0xA = True | c == 0xD = True | 0x20 <= c && c <= 0xD7FF = True | 0xE000 <= c && c <= 0xFFFD = True | 0x10000 <= c && c <= 0x10FFFF = True | otherwise = False writeDocx :: (PandocMonad m) => WriterOptions -- ^ Writer options -> Pandoc -- ^ Document to convert -> m BL.ByteString writeDocx opts doc@(Pandoc meta _) = do let doc' = walk fixDisplayMath doc username <- P.lookupEnv "USERNAME" utctime <- P.getCurrentTime distArchive <- toArchive . BL.fromStrict <$> do oldUserDataDir <- P.getUserDataDir P.setUserDataDir Nothing res <- P.readDefaultDataFile "reference.docx" P.setUserDataDir oldUserDataDir return res refArchive <- case writerReferenceDoc opts of Just f -> toArchive <$> P.readFileLazy f Nothing -> toArchive . BL.fromStrict <$> P.readDataFile "reference.docx" parsedDoc <- parseXml refArchive distArchive "word/document.xml" let wname f qn = qPrefix qn == Just "w" && f (qName qn) let mbsectpr = filterElementName (wname (=="sectPr")) parsedDoc -- Gets the template size let mbpgsz = mbsectpr >>= filterElementName (wname (=="pgSz")) let mbAttrSzWidth = (elAttribs <$> mbpgsz) >>= lookupAttrTextBy ((=="w") . qName) let mbpgmar = mbsectpr >>= filterElementName (wname (=="pgMar")) let mbAttrMarLeft = (elAttribs <$> mbpgmar) >>= lookupAttrTextBy ((=="left") . qName) let mbAttrMarRight = (elAttribs <$> mbpgmar) >>= lookupAttrTextBy ((=="right") . qName) -- Get the available area (converting the size and the margins to int and -- doing the difference let pgContentWidth = mbAttrSzWidth >>= safeRead >>= subtrct mbAttrMarRight >>= subtrct mbAttrMarLeft where subtrct mbStr x = mbStr >>= safeRead >>= (\y -> Just $ x - y) -- styles mblang <- toLang $ getLang opts meta let addLang :: Element -> Element addLang e = case mblang >>= \l -> (return . XMLC.toTree . go (T.unpack $ renderLang l) . XMLC.fromElement) e of Just (Elem e') -> e' _ -> e -- return original where go :: String -> Cursor -> Cursor go l cursor = case XMLC.findRec (isLangElt . current) cursor of Nothing -> cursor Just t -> XMLC.modifyContent (setval l) t setval :: String -> Content -> Content setval l (Elem e') = Elem $ e'{ elAttribs = map (setvalattr l) $ elAttribs e' } setval _ x = x setvalattr :: String -> XML.Attr -> XML.Attr setvalattr l (XML.Attr qn@(QName "val" _ _) _) = XML.Attr qn l setvalattr _ x = x isLangElt (Elem e') = qName (elName e') == "lang" isLangElt _ = False let stylepath = "word/styles.xml" styledoc <- addLang <$> parseXml refArchive distArchive stylepath -- parse styledoc for heading styles let styleMaps = getStyleMaps refArchive let tocTitle = case lookupMetaInlines "toc-title" meta of [] -> stTocTitle defaultWriterState ls -> ls let initialSt = defaultWriterState { stStyleMaps = styleMaps , stTocTitle = tocTitle } let isRTLmeta = case lookupMeta "dir" meta of Just (MetaString "rtl") -> True Just (MetaInlines [Str "rtl"]) -> True _ -> False let env = defaultWriterEnv { envRTL = isRTLmeta , envChangesAuthor = fromMaybe "unknown" username , envChangesDate = T.pack $ formatTime defaultTimeLocale "%FT%XZ" utctime , envPrintWidth = maybe 420 (`quot` 20) pgContentWidth } ((contents, footnotes, comments), st) <- runStateT (runReaderT (writeOpenXML opts{writerWrapText = WrapNone} doc') env) initialSt let epochtime = floor $ utcTimeToPOSIXSeconds utctime let imgs = M.elems $ stImages st -- create entries for images in word/media/... let toImageEntry (_,path,_,img) = toEntry ("word/" ++ path) epochtime $ toLazy img let imageEntries = map toImageEntry imgs let stdAttributes = [("xmlns:w","http://schemas.openxmlformats.org/wordprocessingml/2006/main") ,("xmlns:m","http://schemas.openxmlformats.org/officeDocument/2006/math") ,("xmlns:r","http://schemas.openxmlformats.org/officeDocument/2006/relationships") ,("xmlns:o","urn:schemas-microsoft-com:office:office") ,("xmlns:v","urn:schemas-microsoft-com:vml") ,("xmlns:w10","urn:schemas-microsoft-com:office:word") ,("xmlns:a","http://schemas.openxmlformats.org/drawingml/2006/main") ,("xmlns:pic","http://schemas.openxmlformats.org/drawingml/2006/picture") ,("xmlns:wp","http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing")] parsedRels <- parseXml refArchive distArchive "word/_rels/document.xml.rels" let isHeaderNode e = findAttr (QName "Type" Nothing Nothing) e == Just "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header" let isFooterNode e = findAttr (QName "Type" Nothing Nothing) e == Just "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" let headers = filterElements isHeaderNode parsedRels let footers = filterElements isFooterNode parsedRels let extractTarget = findAttr (QName "Target" Nothing Nothing) -- we create [Content_Types].xml and word/_rels/document.xml.rels -- from scratch rather than reading from reference.docx, -- because Word sometimes changes these files when a reference.docx is modified, -- e.g. deleting the reference to footnotes.xml or removing default entries -- for image content types. -- [Content_Types].xml let mkOverrideNode (part', contentType') = mknode "Override" [("PartName",part'),("ContentType",contentType')] () let mkImageOverride (_, imgpath, mbMimeType, _) = mkOverrideNode ("/word/" ++ imgpath, maybe "application/octet-stream" T.unpack mbMimeType) let mkMediaOverride imgpath = mkOverrideNode ('/':imgpath, T.unpack $ getMimeTypeDef imgpath) let overrides = map mkOverrideNode ( [("/word/webSettings.xml", "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml") ,("/word/numbering.xml", "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml") ,("/word/settings.xml", "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml") ,("/word/theme/theme1.xml", "application/vnd.openxmlformats-officedocument.theme+xml") ,("/word/fontTable.xml", "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml") ,("/docProps/app.xml", "application/vnd.openxmlformats-officedocument.extended-properties+xml") ,("/docProps/core.xml", "application/vnd.openxmlformats-package.core-properties+xml") ,("/docProps/custom.xml", "application/vnd.openxmlformats-officedocument.custom-properties+xml") ,("/word/styles.xml", "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml") ,("/word/document.xml", "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml") ,("/word/comments.xml", "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml") ,("/word/footnotes.xml", "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml") ] ++ map (\x -> (maybe "" ("/word/" ++) $ extractTarget x, "application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml")) headers ++ map (\x -> (maybe "" ("/word/" ++) $ extractTarget x, "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) footers) ++ map mkImageOverride imgs ++ [ mkMediaOverride (eRelativePath e) | e <- zEntries refArchive , "word/media/" `isPrefixOf` eRelativePath e ] let defaultnodes = [mknode "Default" [("Extension","xml"),("ContentType","application/xml")] (), mknode "Default" [("Extension","rels"),("ContentType","application/vnd.openxmlformats-package.relationships+xml")] ()] let contentTypesDoc = mknode "Types" [("xmlns","http://schemas.openxmlformats.org/package/2006/content-types")] $ defaultnodes ++ overrides let contentTypesEntry = toEntry "[Content_Types].xml" epochtime $ renderXml contentTypesDoc -- word/_rels/document.xml.rels let toBaseRel (url', id', target') = mknode "Relationship" [("Type",url') ,("Id",id') ,("Target",target')] () let baserels' = map toBaseRel [("http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering", "rId1", "numbering.xml") ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles", "rId2", "styles.xml") ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings", "rId3", "settings.xml") ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings", "rId4", "webSettings.xml") ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable", "rId5", "fontTable.xml") ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", "rId6", "theme/theme1.xml") ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes", "rId7", "footnotes.xml") ,("http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", "rId8", "comments.xml") ] let idMap = renumIdMap (length baserels' + 1) (headers ++ footers) let renumHeaders = renumIds (\q -> qName q == "Id") idMap headers let renumFooters = renumIds (\q -> qName q == "Id") idMap footers let baserels = baserels' ++ renumHeaders ++ renumFooters let toImgRel (ident,path,_,_) = mknode "Relationship" [("Type","http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"),("Id",ident),("Target",path)] () let imgrels = map toImgRel imgs let toLinkRel (src,ident) = mknode "Relationship" [("Type","http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"),("Id",ident),("Target",src),("TargetMode","External") ] () let linkrels = map toLinkRel $ M.toList $ stExternalLinks st let reldoc = mknode "Relationships" [("xmlns","http://schemas.openxmlformats.org/package/2006/relationships")] $ baserels ++ imgrels ++ linkrels let relEntry = toEntry "word/_rels/document.xml.rels" epochtime $ renderXml reldoc -- adjust contents to add sectPr from reference.docx let sectpr = case mbsectpr of Just sectpr' -> let cs = renumIds (\q -> qName q == "id" && qPrefix q == Just "r") idMap (elChildren sectpr') in add_attrs (elAttribs sectpr') $ mknode "w:sectPr" [] cs Nothing -> mknode "w:sectPr" [] () -- let sectpr = fromMaybe (mknode "w:sectPr" [] ()) mbsectpr' let contents' = contents ++ [sectpr] let docContents = mknode "w:document" stdAttributes $ mknode "w:body" [] contents' -- word/document.xml let contentEntry = toEntry "word/document.xml" epochtime $ renderXml docContents -- footnotes let notes = mknode "w:footnotes" stdAttributes footnotes let footnotesEntry = toEntry "word/footnotes.xml" epochtime $ renderXml notes -- footnote rels let footnoteRelEntry = toEntry "word/_rels/footnotes.xml.rels" epochtime $ renderXml $ mknode "Relationships" [("xmlns","http://schemas.openxmlformats.org/package/2006/relationships")] linkrels -- comments let commentsEntry = toEntry "word/comments.xml" epochtime $ renderXml $ mknode "w:comments" stdAttributes comments -- styles -- We only want to inject paragraph and text properties that -- are not already in the style map. Note that keys in the stylemap -- are normalized as lowercase. let newDynamicParaProps = filter (\sty -> not $ hasStyleName sty $ smParaStyle styleMaps) (Set.toList $ stDynamicParaProps st) newDynamicTextProps = filter (\sty -> not $ hasStyleName sty $ smCharStyle styleMaps) (Set.toList $ stDynamicTextProps st) let newstyles = map newParaPropToOpenXml newDynamicParaProps ++ map newTextPropToOpenXml newDynamicTextProps ++ (case writerHighlightStyle opts of Nothing -> [] Just sty -> styleToOpenXml styleMaps sty) let styledoc' = styledoc{ elContent = elContent styledoc ++ map Elem newstyles } let styleEntry = toEntry stylepath epochtime $ renderXml styledoc' -- construct word/numbering.xml let numpath = "word/numbering.xml" numbering <- parseXml refArchive distArchive numpath newNumElts <- mkNumbering (stLists st) let pandocAdded e = case findAttrTextBy ((== "abstractNumId") . qName) e >>= safeRead of Just numid -> numid >= (990 :: Int) Nothing -> case findAttrTextBy ((== "numId") . qName) e >>= safeRead of Just numid -> numid >= (1000 :: Int) Nothing -> False let oldElts = filter (not . pandocAdded) $ onlyElems (elContent numbering) let allElts = oldElts ++ newNumElts let numEntry = toEntry numpath epochtime $ renderXml numbering{ elContent = -- we want all the abstractNums first, then the nums, -- otherwise things break: [Elem e | e <- allElts , qName (elName e) == "abstractNum" ] ++ [Elem e | e <- allElts , qName (elName e) == "num" ] } let keywords = case lookupMeta "keywords" meta of Just (MetaList xs) -> map stringify xs _ -> [] -- docProps/core.xml let docPropsPath = "docProps/core.xml" let extraCoreProps = ["subject","lang","category","description"] let extraCorePropsMap = M.fromList $ zip extraCoreProps ["dc:subject","dc:language","cp:category","dc:description"] let lookupMetaString' :: T.Text -> Meta -> T.Text lookupMetaString' key' meta' = case key' of "description" -> T.intercalate "_x000d_\n" (map stringify $ lookupMetaBlocks "description" meta') key'' -> lookupMetaString key'' meta' let docProps = mknode "cp:coreProperties" [("xmlns:cp","http://schemas.openxmlformats.org/package/2006/metadata/core-properties") ,("xmlns:dc","http://purl.org/dc/elements/1.1/") ,("xmlns:dcterms","http://purl.org/dc/terms/") ,("xmlns:dcmitype","http://purl.org/dc/dcmitype/") ,("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance")] $ mktnode "dc:title" [] (stringify $ docTitle meta) : mktnode "dc:creator" [] (T.intercalate "; " (map stringify $ docAuthors meta)) : [ mktnode (M.findWithDefault "" k extraCorePropsMap) [] (lookupMetaString' k meta) | k <- M.keys (unMeta meta), k `elem` extraCoreProps] ++ mknode "cp:keywords" [] (T.unpack $ T.intercalate ", " keywords) : (\x -> [ mknode "dcterms:created" [("xsi:type","dcterms:W3CDTF")] x , mknode "dcterms:modified" [("xsi:type","dcterms:W3CDTF")] x ]) (formatTime defaultTimeLocale "%FT%XZ" utctime) let docPropsEntry = toEntry docPropsPath epochtime $ renderXml docProps -- docProps/custom.xml let customProperties :: [(String, String)] customProperties = [(T.unpack k, T.unpack $ lookupMetaString k meta) | k <- M.keys (unMeta meta) , k `notElem` (["title", "author", "keywords"] ++ extraCoreProps)] let mkCustomProp (k, v) pid = mknode "property" [("fmtid","{D5CDD505-2E9C-101B-9397-08002B2CF9AE}") ,("pid", show pid) ,("name", k)] $ mknode "vt:lpwstr" [] v let customPropsPath = "docProps/custom.xml" let customProps = mknode "Properties" [("xmlns","http://schemas.openxmlformats.org/officeDocument/2006/custom-properties") ,("xmlns:vt","http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes") ] $ zipWith mkCustomProp customProperties [(2 :: Int)..] let customPropsEntry = toEntry customPropsPath epochtime $ renderXml customProps let relsPath = "_rels/.rels" let rels = mknode "Relationships" [("xmlns", "http://schemas.openxmlformats.org/package/2006/relationships")] $ map (\attrs -> mknode "Relationship" attrs ()) [ [("Id","rId1") ,("Type","http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument") ,("Target","word/document.xml")] , [("Id","rId4") ,("Type","http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties") ,("Target","docProps/app.xml")] , [("Id","rId3") ,("Type","http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties") ,("Target","docProps/core.xml")] , [("Id","rId5") ,("Type","http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties") ,("Target","docProps/custom.xml")] ] let relsEntry = toEntry relsPath epochtime $ renderXml rels -- we use dist archive for settings.xml, because Word sometimes -- adds references to footnotes or endnotes we don't have... -- we do, however, copy some settings over from reference let settingsPath = "word/settings.xml" settingsList = [ "w:autoHyphenation" , "w:consecutiveHyphenLimit" , "w:hyphenationZone" , "w:doNotHyphenateCap" , "w:evenAndOddHeaders" , "w:proofState" ] settingsEntry <- copyChildren refArchive distArchive settingsPath epochtime settingsList let entryFromArchive arch path = maybe (throwError $ PandocSomeError $ T.pack $ path ++ " missing in reference docx") return (findEntryByPath path arch `mplus` findEntryByPath path distArchive) docPropsAppEntry <- entryFromArchive refArchive "docProps/app.xml" themeEntry <- entryFromArchive refArchive "word/theme/theme1.xml" fontTableEntry <- entryFromArchive refArchive "word/fontTable.xml" webSettingsEntry <- entryFromArchive refArchive "word/webSettings.xml" headerFooterEntries <- mapM (entryFromArchive refArchive) $ mapMaybe (fmap ("word/" ++) . extractTarget) (headers ++ footers) let miscRelEntries = [ e | e <- zEntries refArchive , "word/_rels/" `isPrefixOf` eRelativePath e , ".xml.rels" `isSuffixOf` eRelativePath e , eRelativePath e /= "word/_rels/document.xml.rels" , eRelativePath e /= "word/_rels/footnotes.xml.rels" ] let otherMediaEntries = [ e | e <- zEntries refArchive , "word/media/" `isPrefixOf` eRelativePath e ] -- Create archive let archive = foldr addEntryToArchive emptyArchive $ contentTypesEntry : relsEntry : contentEntry : relEntry : footnoteRelEntry : numEntry : styleEntry : footnotesEntry : commentsEntry : docPropsEntry : docPropsAppEntry : customPropsEntry : themeEntry : fontTableEntry : settingsEntry : webSettingsEntry : imageEntries ++ headerFooterEntries ++ miscRelEntries ++ otherMediaEntries return $ fromArchive archive newParaPropToOpenXml :: ParaStyleName -> Element newParaPropToOpenXml (fromStyleName -> s) = let styleId = T.filter (not . isSpace) s in mknode "w:style" [ ("w:type", "paragraph") , ("w:customStyle", "1") , ("w:styleId", T.unpack styleId)] [ mknode "w:name" [("w:val", T.unpack s)] () , mknode "w:basedOn" [("w:val","BodyText")] () , mknode "w:qFormat" [] () ] newTextPropToOpenXml :: CharStyleName -> Element newTextPropToOpenXml (fromStyleName -> s) = let styleId = T.filter (not . isSpace) s in mknode "w:style" [ ("w:type", "character") , ("w:customStyle", "1") , ("w:styleId", T.unpack styleId)] [ mknode "w:name" [("w:val", T.unpack s)] () , mknode "w:basedOn" [("w:val","BodyTextChar")] () ] styleToOpenXml :: StyleMaps -> Style -> [Element] styleToOpenXml sm style = maybeToList parStyle ++ mapMaybe toStyle alltoktypes where alltoktypes = enumFromTo KeywordTok NormalTok toStyle toktype | hasStyleName (fromString $ show toktype) (smCharStyle sm) = Nothing | otherwise = Just $ mknode "w:style" [("w:type","character"), ("w:customStyle","1"),("w:styleId",show toktype)] [ mknode "w:name" [("w:val",show toktype)] () , mknode "w:basedOn" [("w:val","VerbatimChar")] () , mknode "w:rPr" [] $ [ mknode "w:color" [("w:val",tokCol toktype)] () | tokCol toktype /= "auto" ] ++ [ mknode "w:shd" [("w:val","clear"),("w:fill",tokBg toktype)] () | tokBg toktype /= "auto" ] ++ [ mknode "w:b" [] () | tokFeature tokenBold toktype ] ++ [ mknode "w:i" [] () | tokFeature tokenItalic toktype ] ++ [ mknode "w:u" [] () | tokFeature tokenUnderline toktype ] ] tokStyles = tokenStyles style tokFeature f toktype = maybe False f $ M.lookup toktype tokStyles tokCol toktype = maybe "auto" (drop 1 . fromColor) $ (tokenColor =<< M.lookup toktype tokStyles) `mplus` defaultColor style tokBg toktype = maybe "auto" (drop 1 . fromColor) $ (tokenBackground =<< M.lookup toktype tokStyles) `mplus` backgroundColor style parStyle | hasStyleName "Source Code" (smParaStyle sm) = Nothing | otherwise = Just $ mknode "w:style" [("w:type","paragraph"), ("w:customStyle","1"),("w:styleId","SourceCode")] [ mknode "w:name" [("w:val","Source Code")] () , mknode "w:basedOn" [("w:val","Normal")] () , mknode "w:link" [("w:val","VerbatimChar")] () , mknode "w:pPr" [] $ mknode "w:wordWrap" [("w:val","off")] () : maybe [] (\col -> [mknode "w:shd" [("w:val","clear"),("w:fill",drop 1 $ fromColor col)] ()]) (backgroundColor style) ] copyChildren :: (PandocMonad m) => Archive -> Archive -> String -> Integer -> [String] -> m Entry copyChildren refArchive distArchive path timestamp elNames = do ref <- parseXml refArchive distArchive path dist <- parseXml distArchive distArchive path return $ toEntry path timestamp $ renderXml dist{ elContent = elContent dist ++ copyContent ref } where strName QName{qName=name, qPrefix=prefix} | Just p <- prefix = p++":"++name | otherwise = name shouldCopy = (`elem` elNames) . strName cleanElem el@Element{elName=name} = Elem el{elName=name{qURI=Nothing}} copyContent = map cleanElem . filterChildrenName shouldCopy -- this is the lowest number used for a list numId baseListId :: Int baseListId = 1000 mkNumbering :: (PandocMonad m) => [ListMarker] -> m [Element] mkNumbering lists = do elts <- evalStateT (mapM mkAbstractNum (ordNub lists)) (mkStdGen 1848) return $ elts ++ zipWith mkNum lists [baseListId..(baseListId + length lists - 1)] maxListLevel :: Int maxListLevel = 8 mkNum :: ListMarker -> Int -> Element mkNum marker numid = mknode "w:num" [("w:numId",show numid)] $ mknode "w:abstractNumId" [("w:val",listMarkerToId marker)] () : case marker of NoMarker -> [] BulletMarker -> [] NumberMarker _ _ start -> map (\lvl -> mknode "w:lvlOverride" [("w:ilvl",show (lvl :: Int))] $ mknode "w:startOverride" [("w:val",show start)] ()) [0..maxListLevel] mkAbstractNum :: (PandocMonad m) => ListMarker -> StateT StdGen m Element mkAbstractNum marker = do gen <- get let (nsid, gen') = randomR (0x10000000 :: Integer, 0xFFFFFFFF :: Integer) gen put gen' return $ mknode "w:abstractNum" [("w:abstractNumId",listMarkerToId marker)] $ mknode "w:nsid" [("w:val", printf "%8x" nsid)] () : mknode "w:multiLevelType" [("w:val","multilevel")] () : map (mkLvl marker) [0..maxListLevel] mkLvl :: ListMarker -> Int -> Element mkLvl marker lvl = mknode "w:lvl" [("w:ilvl",show lvl)] $ [ mknode "w:start" [("w:val",start)] () | marker /= NoMarker && marker /= BulletMarker ] ++ [ mknode "w:numFmt" [("w:val",fmt)] () , mknode "w:lvlText" [("w:val",lvltxt)] () , mknode "w:lvlJc" [("w:val","left")] () , mknode "w:pPr" [] [ mknode "w:tabs" [] $ mknode "w:tab" [("w:val","num"),("w:pos",show $ lvl * step)] () , mknode "w:ind" [("w:left",show $ lvl * step + hang),("w:hanging",show hang)] () ] ] where (fmt, lvltxt, start) = case marker of NoMarker -> ("bullet"," ","1") BulletMarker -> ("bullet",bulletFor lvl,"1") NumberMarker st de n -> (styleFor st lvl ,patternFor de ("%" ++ show (lvl + 1)) ,show n) step = 720 hang = 480 bulletFor 0 = "\x2022" -- filled circle bulletFor 1 = "\x2013" -- en dash bulletFor 2 = "\x2022" -- hyphen bullet bulletFor 3 = "\x2013" bulletFor 4 = "\x2022" bulletFor 5 = "\x2013" bulletFor x = bulletFor (x `mod` 6) styleFor UpperAlpha _ = "upperLetter" styleFor LowerAlpha _ = "lowerLetter" styleFor UpperRoman _ = "upperRoman" styleFor LowerRoman _ = "lowerRoman" styleFor Decimal _ = "decimal" styleFor DefaultStyle 0 = "decimal" styleFor DefaultStyle 1 = "lowerLetter" styleFor DefaultStyle 2 = "lowerRoman" styleFor DefaultStyle 3 = "decimal" styleFor DefaultStyle 4 = "lowerLetter" styleFor DefaultStyle 5 = "lowerRoman" styleFor DefaultStyle x = styleFor DefaultStyle (x `mod` 6) styleFor _ _ = "decimal" patternFor OneParen s = s ++ ")" patternFor TwoParens s = "(" ++ s ++ ")" patternFor _ s = s ++ "." getNumId :: (PandocMonad m) => WS m Int getNumId = (((baseListId - 1) +) . length) `fmap` gets stLists makeTOC :: (PandocMonad m) => WriterOptions -> WS m [Element] makeTOC opts = do let depth = "1-"++show (writerTOCDepth opts) let tocCmd = "TOC \\o \""++depth++"\" \\h \\z \\u" tocTitle <- gets stTocTitle title <- withParaPropM (pStyleM "TOC Heading") (blocksToOpenXML opts [Para tocTitle]) return [mknode "w:sdt" [] [ mknode "w:sdtPr" [] ( mknode "w:docPartObj" [] [mknode "w:docPartGallery" [("w:val","Table of Contents")] (), mknode "w:docPartUnique" [] ()] -- w:docPartObj ), -- w:sdtPr mknode "w:sdtContent" [] (title++[ mknode "w:p" [] ( mknode "w:r" [] [ mknode "w:fldChar" [("w:fldCharType","begin"),("w:dirty","true")] (), mknode "w:instrText" [("xml:space","preserve")] tocCmd, mknode "w:fldChar" [("w:fldCharType","separate")] (), mknode "w:fldChar" [("w:fldCharType","end")] () ] -- w:r ) -- w:p ]) ]] -- w:sdt -- | Convert Pandoc document to two lists of -- OpenXML elements (the main document and footnotes). writeOpenXML :: (PandocMonad m) => WriterOptions -> Pandoc -> WS m ([Element], [Element],[Element]) writeOpenXML opts (Pandoc meta blocks) = do let tit = docTitle meta let auths = docAuthors meta let dat = docDate meta let abstract' = lookupMetaBlocks "abstract" meta let subtitle' = lookupMetaInlines "subtitle" meta let includeTOC = writerTableOfContents opts || lookupMetaBool "toc" meta title <- withParaPropM (pStyleM "Title") $ blocksToOpenXML opts [Para tit | not (null tit)] subtitle <- withParaPropM (pStyleM "Subtitle") $ blocksToOpenXML opts [Para subtitle' | not (null subtitle')] authors <- withParaPropM (pStyleM "Author") $ blocksToOpenXML opts $ map Para auths date <- withParaPropM (pStyleM "Date") $ blocksToOpenXML opts [Para dat | not (null dat)] abstract <- if null abstract' then return [] else withParaPropM (pStyleM "Abstract") $ blocksToOpenXML opts abstract' let convertSpace (Str x : Space : Str y : xs) = Str (x <> " " <> y) : xs convertSpace (Str x : Str y : xs) = Str (x <> y) : xs convertSpace xs = xs let blocks' = bottomUp convertSpace blocks doc' <- setFirstPara >> blocksToOpenXML opts blocks' notes' <- reverse <$> gets stFootnotes comments <- reverse <$> gets stComments let toComment (kvs, ils) = do annotation <- inlinesToOpenXML opts ils return $ mknode "w:comment" [('w':':':T.unpack k,T.unpack v) | (k,v) <- kvs] [ mknode "w:p" [] $ [ mknode "w:pPr" [] [ mknode "w:pStyle" [("w:val", "CommentText")] () ] , mknode "w:r" [] [ mknode "w:rPr" [] [ mknode "w:rStyle" [("w:val", "CommentReference")] () , mknode "w:annotationRef" [] () ] ] ] ++ annotation ] comments' <- mapM toComment comments toc <- if includeTOC then makeTOC opts else return [] let meta' = title ++ subtitle ++ authors ++ date ++ abstract ++ toc return (meta' ++ doc', notes', comments') -- | Convert a list of Pandoc blocks to OpenXML. blocksToOpenXML :: (PandocMonad m) => WriterOptions -> [Block] -> WS m [Element] blocksToOpenXML opts bls = concat `fmap` mapM (blockToOpenXML opts) bls pStyleM :: (PandocMonad m) => ParaStyleName -> WS m XML.Element pStyleM styleName = do pStyleMap <- gets (smParaStyle . stStyleMaps) let sty' = getStyleIdFromName styleName pStyleMap return $ mknode "w:pStyle" [("w:val", T.unpack $ fromStyleId sty')] () rStyleM :: (PandocMonad m) => CharStyleName -> WS m XML.Element rStyleM styleName = do cStyleMap <- gets (smCharStyle . stStyleMaps) let sty' = getStyleIdFromName styleName cStyleMap return $ mknode "w:rStyle" [("w:val", T.unpack $ fromStyleId sty')] () getUniqueId :: (PandocMonad m) => WS m String -- the + 20 is to ensure that there are no clashes with the rIds -- already in word/document.xml.rel getUniqueId = do n <- gets stCurId modify $ \st -> st{stCurId = n + 1} return $ show n -- | Key for specifying user-defined docx styles. dynamicStyleKey :: T.Text dynamicStyleKey = "custom-style" -- | Convert a Pandoc block element to OpenXML. blockToOpenXML :: (PandocMonad m) => WriterOptions -> Block -> WS m [Element] blockToOpenXML opts blk = withDirection $ blockToOpenXML' opts blk blockToOpenXML' :: (PandocMonad m) => WriterOptions -> Block -> WS m [Element] blockToOpenXML' _ Null = return [] blockToOpenXML' opts (Div (ident,_classes,kvs) bs) = do stylemod <- case lookup dynamicStyleKey kvs of Just (fromString . T.unpack -> sty) -> do modify $ \s -> s{stDynamicParaProps = Set.insert sty (stDynamicParaProps s)} return $ withParaPropM (pStyleM sty) _ -> return id dirmod <- case lookup "dir" kvs of Just "rtl" -> return $ local (\env -> env { envRTL = True }) Just "ltr" -> return $ local (\env -> env { envRTL = False }) _ -> return id let (hs, bs') = if ident == "refs" then span isHeaderBlock bs else ([], bs) let bibmod = if ident == "refs" then withParaPropM (pStyleM "Bibliography") else id header <- dirmod $ stylemod $ blocksToOpenXML opts hs contents <- dirmod $ bibmod $ stylemod $ blocksToOpenXML opts bs' wrapBookmark ident $ header <> contents blockToOpenXML' opts (Header lev (ident,_,_) lst) = do setFirstPara paraProps <- withParaPropM (pStyleM (fromString $ "Heading "++show lev)) $ getParaProps False contents <- inlinesToOpenXML opts lst if T.null ident then return [mknode "w:p" [] (paraProps ++ contents)] else do let bookmarkName = ident modify $ \s -> s{ stSectionIds = Set.insert bookmarkName $ stSectionIds s } bookmarkedContents <- wrapBookmark bookmarkName contents return [mknode "w:p" [] (paraProps ++ bookmarkedContents)] blockToOpenXML' opts (Plain lst) = do isInTable <- gets stInTable isInList <- gets stInList let block = blockToOpenXML opts (Para lst) prop <- pStyleM "Compact" if isInTable || isInList then withParaProp prop block else block -- title beginning with fig: indicates that the image is a figure blockToOpenXML' opts (Para [Image attr alt (src,T.stripPrefix "fig:" -> Just tit)]) = do setFirstPara prop <- pStyleM $ if null alt then "Figure" else "Captioned Figure" paraProps <- local (\env -> env { envParaProperties = EnvProps (Just prop) [] <> envParaProperties env }) (getParaProps False) contents <- inlinesToOpenXML opts [Image attr alt (src,tit)] captionNode <- withParaPropM (pStyleM "Image Caption") $ blockToOpenXML opts (Para alt) return $ mknode "w:p" [] (paraProps ++ contents) : captionNode blockToOpenXML' opts (Para lst) | null lst && not (isEnabled Ext_empty_paragraphs opts) = return [] | otherwise = do isFirstPara <- gets stFirstPara let displayMathPara = case lst of [x] -> isDisplayMath x _ -> False paraProps <- getParaProps displayMathPara bodyTextStyle <- if isFirstPara then pStyleM "First Paragraph" else pStyleM "Body Text" let paraProps' = case paraProps of [] -> [mknode "w:pPr" [] [bodyTextStyle]] ps -> ps modify $ \s -> s { stFirstPara = False } contents <- inlinesToOpenXML opts lst return [mknode "w:p" [] (paraProps' ++ contents)] blockToOpenXML' opts (LineBlock lns) = blockToOpenXML opts $ linesToPara lns blockToOpenXML' _ b@(RawBlock format str) | format == Format "openxml" = return [ x | Elem x <- parseXML str ] | otherwise = do report $ BlockNotRendered b return [] blockToOpenXML' opts (BlockQuote blocks) = do p <- withParaPropM (pStyleM "Block Text") $ blocksToOpenXML opts blocks setFirstPara return p blockToOpenXML' opts (CodeBlock attrs@(ident, _, _) str) = do p <- withParaPropM (pStyleM "Source Code") (blockToOpenXML opts $ Para [Code attrs str]) setFirstPara wrapBookmark ident p blockToOpenXML' _ HorizontalRule = do setFirstPara return [ mknode "w:p" [] $ mknode "w:r" [] $ mknode "w:pict" [] $ mknode "v:rect" [("style","width:0;height:1.5pt"), ("o:hralign","center"), ("o:hrstd","t"),("o:hr","t")] () ] blockToOpenXML' opts (Table caption aligns widths headers rows) = do setFirstPara modify $ \s -> s { stInTable = True } let captionStr = stringify caption caption' <- if null caption then return [] else withParaPropM (pStyleM "Table Caption") $ blockToOpenXML opts (Para caption) let alignmentFor al = mknode "w:jc" [("w:val",alignmentToString al)] () -- Table cells require a element, even an empty one! -- Not in the spec but in Word 2007, 2010. See #4953. let cellToOpenXML (al, cell) = do es <- withParaProp (alignmentFor al) $ blocksToOpenXML opts cell if any (\e -> qName (elName e) == "p") es then return es else return $ es ++ [mknode "w:p" [] ()] headers' <- mapM cellToOpenXML $ zip aligns headers rows' <- mapM (mapM cellToOpenXML . zip aligns) rows let borderProps = mknode "w:tcPr" [] [ mknode "w:tcBorders" [] $ mknode "w:bottom" [("w:val","single")] () , mknode "w:vAlign" [("w:val","bottom")] () ] compactStyle <- pStyleM "Compact" let emptyCell = [mknode "w:p" [] [mknode "w:pPr" [] [compactStyle]]] let mkcell border contents = mknode "w:tc" [] $ [ borderProps | border ] ++ if null contents then emptyCell else contents let mkrow border cells = mknode "w:tr" [] $ [mknode "w:trPr" [] [ mknode "w:cnfStyle" [("w:firstRow","1")] ()] | border] ++ map (mkcell border) cells let textwidth = 7920 -- 5.5 in in twips, 1/20 pt let fullrow = 5000 -- 100% specified in pct let rowwidth = fullrow * sum widths let mkgridcol w = mknode "w:gridCol" [("w:w", show (floor (textwidth * w) :: Integer))] () let hasHeader = not (all null headers) modify $ \s -> s { stInTable = False } return $ caption' ++ [mknode "w:tbl" [] ( mknode "w:tblPr" [] ( mknode "w:tblStyle" [("w:val","Table")] () : mknode "w:tblW" [("w:type", "pct"), ("w:w", show rowwidth)] () : mknode "w:tblLook" [("w:firstRow",if hasHeader then "1" else "0") ] () : [ mknode "w:tblCaption" [("w:val", T.unpack captionStr)] () | not (null caption) ] ) : mknode "w:tblGrid" [] (if all (==0) widths then [] else map mkgridcol widths) : [ mkrow True headers' | hasHeader ] ++ map (mkrow False) rows' )] blockToOpenXML' opts el | BulletList lst <- el = addOpenXMLList BulletMarker lst | OrderedList (start, numstyle, numdelim) lst <- el = addOpenXMLList (NumberMarker numstyle numdelim start) lst where addOpenXMLList marker lst = do addList marker numid <- getNumId l <- asList $ concat `fmap` mapM (listItemToOpenXML opts numid) lst setFirstPara return l blockToOpenXML' opts (DefinitionList items) = do l <- concat `fmap` mapM (definitionListItemToOpenXML opts) items setFirstPara return l definitionListItemToOpenXML :: (PandocMonad m) => WriterOptions -> ([Inline],[[Block]]) -> WS m [Element] definitionListItemToOpenXML opts (term,defs) = do term' <- withParaPropM (pStyleM "Definition Term") $ blockToOpenXML opts (Para term) defs' <- withParaPropM (pStyleM "Definition") $ concat `fmap` mapM (blocksToOpenXML opts) defs return $ term' ++ defs' addList :: (PandocMonad m) => ListMarker -> WS m () addList marker = do lists <- gets stLists modify $ \st -> st{ stLists = lists ++ [marker] } listItemToOpenXML :: (PandocMonad m) => WriterOptions -> Int -> [Block] -> WS m [Element] listItemToOpenXML _ _ [] = return [] listItemToOpenXML opts numid (first:rest) = do oldInList <- gets stInList modify $ \st -> st{ stInList = True } first' <- withNumId numid $ blockToOpenXML opts first -- baseListId is the code for no list marker: rest' <- withNumId baseListId $ blocksToOpenXML opts rest modify $ \st -> st{ stInList = oldInList } return $ first' ++ rest' alignmentToString :: Alignment -> [Char] alignmentToString alignment = case alignment of AlignLeft -> "left" AlignRight -> "right" AlignCenter -> "center" AlignDefault -> "left" -- | Convert a list of inline elements to OpenXML. inlinesToOpenXML :: (PandocMonad m) => WriterOptions -> [Inline] -> WS m [Element] inlinesToOpenXML opts lst = concat `fmap` mapM (inlineToOpenXML opts) lst withNumId :: (PandocMonad m) => Int -> WS m a -> WS m a withNumId numid = local $ \env -> env{ envListNumId = numid } asList :: (PandocMonad m) => WS m a -> WS m a asList = local $ \env -> env{ envListLevel = envListLevel env + 1 } isStyle :: Element -> Bool isStyle e = isElem [] "w" "rStyle" e || isElem [] "w" "pStyle" e getTextProps :: (PandocMonad m) => WS m [Element] getTextProps = do props <- asks envTextProperties let squashed = squashProps props return [mknode "w:rPr" [] squashed | (not . null) squashed] withTextProp :: PandocMonad m => Element -> WS m a -> WS m a withTextProp d p = local (\env -> env {envTextProperties = ep <> envTextProperties env}) p where ep = if isStyle d then EnvProps (Just d) [] else EnvProps Nothing [d] withTextPropM :: PandocMonad m => WS m Element -> WS m a -> WS m a withTextPropM = (. flip withTextProp) . (>>=) getParaProps :: PandocMonad m => Bool -> WS m [Element] getParaProps displayMathPara = do props <- asks envParaProperties listLevel <- asks envListLevel numid <- asks envListNumId let listPr = [mknode "w:numPr" [] [ mknode "w:ilvl" [("w:val",show listLevel)] () , mknode "w:numId" [("w:val",show numid)] () ] | listLevel >= 0 && not displayMathPara] return $ case listPr ++ squashProps props of [] -> [] ps -> [mknode "w:pPr" [] ps] withParaProp :: PandocMonad m => Element -> WS m a -> WS m a withParaProp d p = local (\env -> env {envParaProperties = ep <> envParaProperties env}) p where ep = if isStyle d then EnvProps (Just d) [] else EnvProps Nothing [d] withParaPropM :: PandocMonad m => WS m Element -> WS m a -> WS m a withParaPropM = (. flip withParaProp) . (>>=) formattedString :: PandocMonad m => T.Text -> WS m [Element] formattedString str = -- properly handle soft hyphens case splitTextBy (=='\173') str of [w] -> formattedString' w ws -> do sh <- formattedRun [mknode "w:softHyphen" [] ()] intercalate sh <$> mapM formattedString' ws formattedString' :: PandocMonad m => T.Text -> WS m [Element] formattedString' str = do inDel <- asks envInDel formattedRun [ mktnode (if inDel then "w:delText" else "w:t") [("xml:space","preserve")] (stripInvalidChars str) ] formattedRun :: PandocMonad m => [Element] -> WS m [Element] formattedRun els = do props <- getTextProps return [ mknode "w:r" [] $ props ++ els ] setFirstPara :: PandocMonad m => WS m () setFirstPara = modify $ \s -> s { stFirstPara = True } -- | Convert an inline element to OpenXML. inlineToOpenXML :: PandocMonad m => WriterOptions -> Inline -> WS m [Element] inlineToOpenXML opts il = withDirection $ inlineToOpenXML' opts il inlineToOpenXML' :: PandocMonad m => WriterOptions -> Inline -> WS m [Element] inlineToOpenXML' _ (Str str) = formattedString str inlineToOpenXML' opts Space = inlineToOpenXML opts (Str " ") inlineToOpenXML' opts SoftBreak = inlineToOpenXML opts (Str " ") inlineToOpenXML' opts (Span (_,["underline"],_) ils) = withTextProp (mknode "w:u" [("w:val","single")] ()) $ inlinesToOpenXML opts ils inlineToOpenXML' _ (Span (ident,["comment-start"],kvs) ils) = do -- prefer the "id" in kvs, since that is the one produced by the docx -- reader. let ident' = fromMaybe ident (lookup "id" kvs) kvs' = filter (("id" /=) . fst) kvs modify $ \st -> st{ stComments = (("id",ident'):kvs', ils) : stComments st } return [ mknode "w:commentRangeStart" [("w:id", T.unpack ident')] () ] inlineToOpenXML' _ (Span (ident,["comment-end"],kvs) _) = -- prefer the "id" in kvs, since that is the one produced by the docx -- reader. let ident' = fromMaybe ident (lookup "id" kvs) in return [ mknode "w:commentRangeEnd" [("w:id", T.unpack ident')] () , mknode "w:r" [] [ mknode "w:rPr" [] [ mknode "w:rStyle" [("w:val", "CommentReference")] () ] , mknode "w:commentReference" [("w:id", T.unpack ident')] () ] ] inlineToOpenXML' opts (Span (ident,classes,kvs) ils) = do stylemod <- case lookup dynamicStyleKey kvs of Just (fromString . T.unpack -> sty) -> do modify $ \s -> s{stDynamicTextProps = Set.insert sty (stDynamicTextProps s)} return $ withTextPropM (rStyleM sty) _ -> return id let dirmod = case lookup "dir" kvs of Just "rtl" -> local (\env -> env { envRTL = True }) Just "ltr" -> local (\env -> env { envRTL = False }) _ -> id off x = withTextProp (mknode x [("w:val","0")] ()) pmod = (if "csl-no-emph" `elem` classes then off "w:i" else id) . (if "csl-no-strong" `elem` classes then off "w:b" else id) . (if "csl-no-smallcaps" `elem` classes then off "w:smallCaps" else id) getChangeAuthorDate = do defaultAuthor <- asks envChangesAuthor defaultDate <- asks envChangesDate let author = fromMaybe defaultAuthor (lookup "author" kvs) date = fromMaybe defaultDate (lookup "date" kvs) return (author, date) insmod <- if "insertion" `elem` classes then do (author, date) <- getChangeAuthorDate insId <- gets stInsId modify $ \s -> s{stInsId = insId + 1} return $ \f -> do x <- f return [ mknode "w:ins" [("w:id", show insId), ("w:author", T.unpack author), ("w:date", T.unpack date)] x ] else return id delmod <- if "deletion" `elem` classes then do (author, date) <- getChangeAuthorDate delId <- gets stDelId modify $ \s -> s{stDelId = delId + 1} return $ \f -> local (\env->env{envInDel=True}) $ do x <- f return [mknode "w:del" [("w:id", show delId), ("w:author", T.unpack author), ("w:date", T.unpack date)] x] else return id contents <- insmod $ delmod $ dirmod $ stylemod $ pmod $ inlinesToOpenXML opts ils wrapBookmark ident contents inlineToOpenXML' opts (Strong lst) = withTextProp (mknode "w:b" [] ()) $ inlinesToOpenXML opts lst inlineToOpenXML' opts (Emph lst) = withTextProp (mknode "w:i" [] ()) $ inlinesToOpenXML opts lst inlineToOpenXML' opts (Subscript lst) = withTextProp (mknode "w:vertAlign" [("w:val","subscript")] ()) $ inlinesToOpenXML opts lst inlineToOpenXML' opts (Superscript lst) = withTextProp (mknode "w:vertAlign" [("w:val","superscript")] ()) $ inlinesToOpenXML opts lst inlineToOpenXML' opts (SmallCaps lst) = withTextProp (mknode "w:smallCaps" [] ()) $ inlinesToOpenXML opts lst inlineToOpenXML' opts (Strikeout lst) = withTextProp (mknode "w:strike" [] ()) $ inlinesToOpenXML opts lst inlineToOpenXML' _ LineBreak = return [br] inlineToOpenXML' _ il@(RawInline f str) | f == Format "openxml" = return [ x | Elem x <- parseXML str ] | otherwise = do report $ InlineNotRendered il return [] inlineToOpenXML' opts (Quoted quoteType lst) = inlinesToOpenXML opts $ [Str open] ++ lst ++ [Str close] where (open, close) = case quoteType of SingleQuote -> ("\x2018", "\x2019") DoubleQuote -> ("\x201C", "\x201D") inlineToOpenXML' opts (Math mathType str) = do when (mathType == DisplayMath) setFirstPara res <- (lift . lift) (convertMath writeOMML mathType str) case res of Right r -> return [r] Left il -> inlineToOpenXML' opts il inlineToOpenXML' opts (Cite _ lst) = inlinesToOpenXML opts lst inlineToOpenXML' opts (Code attrs str) = do let alltoktypes = [KeywordTok ..] tokTypesMap <- mapM (\tt -> (,) tt <$> rStyleM (fromString $ show tt)) alltoktypes let unhighlighted = intercalate [br] `fmap` mapM formattedString (T.lines str) formatOpenXML _fmtOpts = intercalate [br] . map (map toHlTok) toHlTok (toktype,tok) = mknode "w:r" [] [ mknode "w:rPr" [] $ maybeToList (lookup toktype tokTypesMap) , mknode "w:t" [("xml:space","preserve")] (T.unpack tok) ] withTextPropM (rStyleM "Verbatim Char") $ if isNothing (writerHighlightStyle opts) then unhighlighted else case highlight (writerSyntaxMap opts) formatOpenXML attrs str of Right h -> return h Left msg -> do unless (T.null msg) $ report $ CouldNotHighlight msg unhighlighted inlineToOpenXML' opts (Note bs) = do notes <- gets stFootnotes notenum <- getUniqueId footnoteStyle <- rStyleM "Footnote Reference" let notemarker = mknode "w:r" [] [ mknode "w:rPr" [] footnoteStyle , mknode "w:footnoteRef" [] () ] let notemarkerXml = RawInline (Format "openxml") $ T.pack $ ppElement notemarker let insertNoteRef (Plain ils : xs) = Plain (notemarkerXml : Space : ils) : xs insertNoteRef (Para ils : xs) = Para (notemarkerXml : Space : ils) : xs insertNoteRef xs = Para [notemarkerXml] : xs contents <- local (\env -> env{ envListLevel = -1 , envParaProperties = mempty , envTextProperties = mempty }) (withParaPropM (pStyleM "Footnote Text") $ blocksToOpenXML opts $ insertNoteRef bs) let newnote = mknode "w:footnote" [("w:id", notenum)] contents modify $ \s -> s{ stFootnotes = newnote : notes } return [ mknode "w:r" [] [ mknode "w:rPr" [] footnoteStyle , mknode "w:footnoteReference" [("w:id", notenum)] () ] ] -- internal link: inlineToOpenXML' opts (Link _ txt (T.uncons -> Just ('#', xs),_)) = do contents <- withTextPropM (rStyleM "Hyperlink") $ inlinesToOpenXML opts txt return [ mknode "w:hyperlink" [("w:anchor", T.unpack $ toBookmarkName xs)] contents ] -- external link: inlineToOpenXML' opts (Link _ txt (src,_)) = do contents <- withTextPropM (rStyleM "Hyperlink") $ inlinesToOpenXML opts txt extlinks <- gets stExternalLinks id' <- case M.lookup (T.unpack src) extlinks of Just i -> return i Nothing -> do i <- ("rId"++) `fmap` getUniqueId modify $ \st -> st{ stExternalLinks = M.insert (T.unpack src) i extlinks } return i return [ mknode "w:hyperlink" [("r:id",id')] contents ] inlineToOpenXML' opts (Image attr@(imgident, _, _) alt (src, title)) = do pageWidth <- asks envPrintWidth imgs <- gets stImages let stImage = M.lookup (T.unpack src) imgs generateImgElt (ident, _, _, img) = let (xpt,ypt) = desiredSizeInPoints opts attr (either (const def) id (imageSize opts img)) -- 12700 emu = 1 pt (xemu,yemu) = fitToPage (xpt * 12700, ypt * 12700) (pageWidth * 12700) cNvPicPr = mknode "pic:cNvPicPr" [] $ mknode "a:picLocks" [("noChangeArrowheads","1") ,("noChangeAspect","1")] () nvPicPr = mknode "pic:nvPicPr" [] [ mknode "pic:cNvPr" [("descr",T.unpack src),("id","0"),("name","Picture")] () , cNvPicPr ] blipFill = mknode "pic:blipFill" [] [ mknode "a:blip" [("r:embed",ident)] () , mknode "a:stretch" [] $ mknode "a:fillRect" [] () ] xfrm = mknode "a:xfrm" [] [ mknode "a:off" [("x","0"),("y","0")] () , mknode "a:ext" [("cx",show xemu) ,("cy",show yemu)] () ] prstGeom = mknode "a:prstGeom" [("prst","rect")] $ mknode "a:avLst" [] () ln = mknode "a:ln" [("w","9525")] [ mknode "a:noFill" [] () , mknode "a:headEnd" [] () , mknode "a:tailEnd" [] () ] spPr = mknode "pic:spPr" [("bwMode","auto")] [xfrm, prstGeom, mknode "a:noFill" [] (), ln] graphic = mknode "a:graphic" [] $ mknode "a:graphicData" [("uri","http://schemas.openxmlformats.org/drawingml/2006/picture")] [ mknode "pic:pic" [] [ nvPicPr , blipFill , spPr ] ] imgElt = mknode "w:r" [] $ mknode "w:drawing" [] $ mknode "wp:inline" [] [ mknode "wp:extent" [("cx",show xemu),("cy",show yemu)] () , mknode "wp:effectExtent" [("b","0"),("l","0"),("r","0"),("t","0")] () , mknode "wp:docPr" [ ("descr", T.unpack $ stringify alt) , ("title", T.unpack title) , ("id","1") , ("name","Picture") ] () , graphic ] in imgElt wrapBookmark imgident =<< case stImage of Just imgData -> return [generateImgElt imgData] Nothing -> ( do --try (img, mt) <- P.fetchItem src ident <- ("rId"++) `fmap` getUniqueId let imgext = case mt >>= extensionFromMimeType of Just x -> "." <> x Nothing -> case imageType img of Just Png -> ".png" Just Jpeg -> ".jpeg" Just Gif -> ".gif" Just Pdf -> ".pdf" Just Eps -> ".eps" Just Svg -> ".svg" Just Emf -> ".emf" Nothing -> "" imgpath = "media/" <> ident <> T.unpack imgext mbMimeType = mt <|> getMimeType imgpath imgData = (ident, imgpath, mbMimeType, img) if T.null imgext then -- without an extension there is no rule for content type inlinesToOpenXML opts alt -- return alt to avoid corrupted docx else do -- insert mime type to use in constructing [Content_Types].xml modify $ \st -> st { stImages = M.insert (T.unpack src) imgData $ stImages st } return [generateImgElt imgData] ) `catchError` ( \e -> do report $ CouldNotFetchResource src $ T.pack (show e) -- emit alt text inlinesToOpenXML opts alt ) br :: Element br = mknode "w:r" [] [mknode "w:br" [] ()] -- Word will insert these footnotes into the settings.xml file -- (whether or not they're visible in the document). If they're in the -- file, but not in the footnotes.xml file, it will produce -- problems. So we want to make sure we insert them into our document. defaultFootnotes :: [Element] defaultFootnotes = [ mknode "w:footnote" [("w:type", "separator"), ("w:id", "-1")] [ mknode "w:p" [] [mknode "w:r" [] [ mknode "w:separator" [] ()]]] , mknode "w:footnote" [("w:type", "continuationSeparator"), ("w:id", "0")] [ mknode "w:p" [] [ mknode "w:r" [] [ mknode "w:continuationSeparator" [] ()]]]] withDirection :: PandocMonad m => WS m a -> WS m a withDirection x = do isRTL <- asks envRTL paraProps <- asks envParaProperties textProps <- asks envTextProperties -- We want to clean all bidirection (bidi) and right-to-left (rtl) -- properties from the props first. This is because we don't want -- them to stack up. let paraProps' = filter (\e -> (qName . elName) e /= "bidi") (otherElements paraProps) textProps' = filter (\e -> (qName . elName) e /= "rtl") (otherElements textProps) paraStyle = styleElement paraProps textStyle = styleElement textProps if isRTL -- if we are going right-to-left, we (re?)add the properties. then flip local x $ \env -> env { envParaProperties = EnvProps paraStyle $ mknode "w:bidi" [] () : paraProps' , envTextProperties = EnvProps textStyle $ mknode "w:rtl" [] () : textProps' } else flip local x $ \env -> env { envParaProperties = EnvProps paraStyle paraProps' , envTextProperties = EnvProps textStyle textProps' } wrapBookmark :: (PandocMonad m) => T.Text -> [Element] -> WS m [Element] wrapBookmark "" contents = return contents wrapBookmark ident contents = do id' <- getUniqueId let bookmarkStart = mknode "w:bookmarkStart" [("w:id", id') ,("w:name", T.unpack $ toBookmarkName ident)] () bookmarkEnd = mknode "w:bookmarkEnd" [("w:id", id')] () return $ bookmarkStart : contents ++ [bookmarkEnd] -- Word imposes a 40 character limit on bookmark names and requires -- that they begin with a letter. So we just use a hash of the -- identifier when otherwise we'd have an illegal bookmark name. toBookmarkName :: T.Text -> T.Text toBookmarkName s | Just (c, _) <- T.uncons s , isLetter c , T.length s <= 40 = s | otherwise = T.pack $ 'X' : drop 1 (showDigest (sha1 (fromTextLazy $ TL.fromStrict s))) pandoc-2.9.2.1/src/Text/Pandoc/Writers/Docx/000077500000000000000000000000001363630463000204065ustar00rootroot00000000000000pandoc-2.9.2.1/src/Text/Pandoc/Writers/Docx/StyleMap.hs000066400000000000000000000036021363630463000225010ustar00rootroot00000000000000{-# LANGUAGE FlexibleContexts #-} {- | Module : Text.Pandoc.Writers.Docx.StyleMap Copyright : © 2014-2020 Jesse Rosenthal , 2014-2020 John MacFarlane , 2015-2019 Nikolay Yakimov License : GNU GPL, version 2 or above Maintainer : Jesse Rosenthal Stability : alpha Portability : portable Mappings of element styles (word to pandoc-internal). -} module Text.Pandoc.Writers.Docx.StyleMap ( StyleMaps(..) , ParaStyleName , CharStyleName , getStyleMaps , getStyleIdFromName , hasStyleName , fromStyleId , fromStyleName ) where import Text.Pandoc.Readers.Docx.Parse.Styles import Codec.Archive.Zip import qualified Data.Map as M import qualified Data.Text as T import Data.String import Data.Char (isSpace) data StyleMaps = StyleMaps { smCharStyle :: CharStyleNameMap, smParaStyle :: ParaStyleNameMap } type ParaStyleNameMap = M.Map ParaStyleName ParStyle type CharStyleNameMap = M.Map CharStyleName CharStyle getStyleIdFromName :: (Ord sn, FromStyleName sn, IsString (StyleId sty), HasStyleId sty) => sn -> M.Map sn sty -> StyleId sty getStyleIdFromName s = maybe (fallback s) getStyleId . M.lookup s where fallback = fromString . T.unpack . T.filter (not . isSpace) . fromStyleName hasStyleName :: (Ord sn, HasStyleId sty) => sn -> M.Map sn sty -> Bool hasStyleName styleName = M.member styleName getStyleMaps :: Archive -> StyleMaps getStyleMaps = uncurry StyleMaps . archiveToStyles' getStyleName getStyleName pandoc-2.9.2.1/src/Text/Pandoc/Writers/DokuWiki.hs000066400000000000000000000506251363630463000216030ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.DokuWiki Copyright : Copyright (C) 2008-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : Clare Macrae Stability : alpha Portability : portable Conversion of 'Pandoc' documents to DokuWiki markup. DokuWiki: -} {- [ ] Implement nested blockquotes (currently only ever does one level) [x] Implement alignment of text in tables [ ] Implement comments [ ] Work through the Dokuwiki spec, and check I've not missed anything out [ ] Remove dud/duplicate code -} module Text.Pandoc.Writers.DokuWiki ( writeDokuWiki ) where import Control.Monad (zipWithM) import Control.Monad.Reader (ReaderT, asks, local, runReaderT) import Control.Monad.State.Strict (StateT, evalStateT) import Data.Default (Default (..)) import Data.List (intersect, transpose) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options (WrapOption (..), WriterOptions (writerTableOfContents, writerTemplate, writerWrapText)) import Text.Pandoc.Shared (camelCaseToHyphenated, escapeURI, isURI, linesToPara, removeFormatting, trimr, tshow) import Text.Pandoc.Templates (renderTemplate) import Text.DocLayout (render, literal) import Text.Pandoc.Writers.Shared (defField, metaToContext) data WriterState = WriterState { } data WriterEnvironment = WriterEnvironment { stIndent :: Text -- Indent after the marker at the beginning of list items , stUseTags :: Bool -- True if we should use HTML tags because we're in a complex list , stBackSlashLB :: Bool -- True if we should produce formatted strings with newlines (as in a table cell) } instance Default WriterState where def = WriterState {} instance Default WriterEnvironment where def = WriterEnvironment { stIndent = "" , stUseTags = False , stBackSlashLB = False } type DokuWiki m = ReaderT WriterEnvironment (StateT WriterState m) -- | Convert Pandoc to DokuWiki. writeDokuWiki :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeDokuWiki opts document = runDokuWiki (pandocToDokuWiki opts document) runDokuWiki :: PandocMonad m => DokuWiki m a -> m a runDokuWiki = flip evalStateT def . flip runReaderT def -- | Return DokuWiki representation of document. pandocToDokuWiki :: PandocMonad m => WriterOptions -> Pandoc -> DokuWiki m Text pandocToDokuWiki opts (Pandoc meta blocks) = do metadata <- metaToContext opts (fmap (literal . trimr) . blockListToDokuWiki opts) (fmap (literal . trimr) . inlineListToDokuWiki opts) meta body <- blockListToDokuWiki opts blocks let context = defField "body" body $ defField "toc" (writerTableOfContents opts) metadata return $ case writerTemplate opts of Nothing -> body Just tpl -> render Nothing $ renderTemplate tpl context -- | Escape special characters for DokuWiki. escapeString :: Text -> Text escapeString = T.replace "__" "%%__%%" . T.replace "**" "%%**%%" . T.replace "//" "%%//%%" -- | Convert Pandoc block element to DokuWiki. blockToDokuWiki :: PandocMonad m => WriterOptions -- ^ Options -> Block -- ^ Block element -> DokuWiki m Text blockToDokuWiki _ Null = return "" blockToDokuWiki opts (Div _attrs bs) = do contents <- blockListToDokuWiki opts bs return $ contents <> "\n" blockToDokuWiki opts (Plain inlines) = inlineListToDokuWiki opts inlines -- title beginning with fig: indicates that the image is a figure -- dokuwiki doesn't support captions - so combine together alt and caption into alt blockToDokuWiki opts (Para [Image attr txt (src,tgt)]) | Just tit <- T.stripPrefix "fig:" tgt = do capt <- if null txt then return "" else (" " <>) `fmap` inlineListToDokuWiki opts txt let opt = if null txt then "" else "|" <> if T.null tit then capt else tit <> capt return $ "{{" <> src <> imageDims opts attr <> opt <> "}}\n" blockToDokuWiki opts (Para inlines) = do indent <- asks stIndent useTags <- asks stUseTags contents <- inlineListToDokuWiki opts inlines return $ if useTags then "

    " <> contents <> "

    " else contents <> if T.null indent then "\n" else "" blockToDokuWiki opts (LineBlock lns) = blockToDokuWiki opts $ linesToPara lns blockToDokuWiki _ b@(RawBlock f str) | f == Format "dokuwiki" = return str -- See https://www.dokuwiki.org/wiki:syntax -- use uppercase HTML tag for block-level content: | f == Format "html" = return $ "\n" <> str <> "\n" | otherwise = "" <$ report (BlockNotRendered b) blockToDokuWiki _ HorizontalRule = return "\n----\n" blockToDokuWiki opts (Header level _ inlines) = do -- emphasis, links etc. not allowed in headers, apparently, -- so we remove formatting: contents <- inlineListToDokuWiki opts $ removeFormatting inlines let eqs = T.replicate ( 7 - level ) "=" return $ eqs <> " " <> contents <> " " <> eqs <> "\n" blockToDokuWiki _ (CodeBlock (_,classes,_) str) = do let at = classes `intersect` ["actionscript", "ada", "apache", "applescript", "asm", "asp", "autoit", "bash", "blitzbasic", "bnf", "c", "c_mac", "caddcl", "cadlisp", "cfdg", "cfm", "cpp", "cpp-qt", "csharp", "css", "d", "delphi", "diff", "div", "dos", "eiffel", "fortran", "freebasic", "gml", "groovy", "html4strict", "idl", "ini", "inno", "io", "java", "java5", "javascript", "latex", "lisp", "lua", "matlab", "mirc", "mpasm", "mysql", "nsis", "objc", "ocaml", "ocaml-brief", "oobas", "oracle8", "pascal", "perl", "php", "php-brief", "plsql", "python", "qbasic", "rails", "reg", "robots", "ruby", "sas", "scheme", "sdlbasic", "smalltalk", "smarty", "sql", "tcl", "", "thinbasic", "tsql", "vb", "vbnet", "vhdl", "visualfoxpro", "winbatch", "xml", "xpp", "z80"] return $ " (case at of [] -> ">\n" (x:_) -> " " <> x <> ">\n") <> str <> "\n
    " blockToDokuWiki opts (BlockQuote blocks) = do contents <- blockListToDokuWiki opts blocks if isSimpleBlockQuote blocks then return $ T.unlines $ map ("> " <>) $ T.lines contents else return $ "
    \n" <> contents <> "
    " blockToDokuWiki opts (Table capt aligns _ headers rows) = do captionDoc <- if null capt then return "" else do c <- inlineListToDokuWiki opts capt return $ "" <> c <> "\n" headers' <- if all null headers then return [] else zipWithM (tableItemToDokuWiki opts) aligns headers rows' <- mapM (zipWithM (tableItemToDokuWiki opts) aligns) rows let widths = map (maximum . map T.length) $ transpose (headers':rows') let padTo (width, al) s = case width - T.length s of x | x > 0 -> if al == AlignLeft || al == AlignDefault then s <> T.replicate x " " else if al == AlignRight then T.replicate x " " <> s else T.replicate (x `div` 2) " " <> s <> T.replicate (x - x `div` 2) " " | otherwise -> s let renderRow sep cells = sep <> T.intercalate sep (zipWith padTo (zip widths aligns) cells) <> sep return $ captionDoc <> (if null headers' then "" else renderRow "^" headers' <> "\n") <> T.unlines (map (renderRow "|") rows') blockToDokuWiki opts x@(BulletList items) = do oldUseTags <- asks stUseTags indent <- asks stIndent backSlash <- asks stBackSlashLB let useTags = oldUseTags || not (isSimpleList x) if useTags then do contents <- local (\s -> s { stUseTags = True }) (mapM (listItemToDokuWiki opts) items) return $ "
      \n" <> vcat contents <> "
    \n" else do contents <- local (\s -> s { stIndent = stIndent s <> " " , stBackSlashLB = backSlash}) (mapM (listItemToDokuWiki opts) items) return $ vcat contents <> if T.null indent then "\n" else "" blockToDokuWiki opts x@(OrderedList attribs items) = do oldUseTags <- asks stUseTags indent <- asks stIndent backSlash <- asks stBackSlashLB let useTags = oldUseTags || not (isSimpleList x) if useTags then do contents <- local (\s -> s { stUseTags = True }) (mapM (orderedListItemToDokuWiki opts) items) return $ " listAttribsToString attribs <> ">\n" <> vcat contents <> "\n" else do contents <- local (\s -> s { stIndent = stIndent s <> " " , stBackSlashLB = backSlash}) (mapM (orderedListItemToDokuWiki opts) items) return $ vcat contents <> if T.null indent then "\n" else "" -- TODO Need to decide how to make definition lists work on dokuwiki - I don't think there -- is a specific representation of them. -- TODO This creates double '; ; ' if there is a bullet or ordered list inside a definition list blockToDokuWiki opts x@(DefinitionList items) = do oldUseTags <- asks stUseTags indent <- asks stIndent backSlash <- asks stBackSlashLB let useTags = oldUseTags || not (isSimpleList x) if useTags then do contents <- local (\s -> s { stUseTags = True }) (mapM (definitionListItemToDokuWiki opts) items) return $ "
    \n" <> vcat contents <> "
    \n" else do contents <- local (\s -> s { stIndent = stIndent s <> " " , stBackSlashLB = backSlash}) (mapM (definitionListItemToDokuWiki opts) items) return $ vcat contents <> if T.null indent then "\n" else "" -- Auxiliary functions for lists: -- | Convert ordered list attributes to HTML attribute string listAttribsToString :: ListAttributes -> Text listAttribsToString (startnum, numstyle, _) = let numstyle' = camelCaseToHyphenated $ tshow numstyle in (if startnum /= 1 then " start=\"" <> tshow startnum <> "\"" else "") <> (if numstyle /= DefaultStyle then " style=\"list-style-type: " <> numstyle' <> ";\"" else "") -- | Convert bullet list item (list of blocks) to DokuWiki. listItemToDokuWiki :: PandocMonad m => WriterOptions -> [Block] -> DokuWiki m Text listItemToDokuWiki opts items = do useTags <- asks stUseTags if useTags then do contents <- blockListToDokuWiki opts items return $ "
  • " <> contents <> "
  • " else do bs <- mapM (blockToDokuWiki opts) items let contents = case items of [_, CodeBlock _ _] -> T.concat bs _ -> vcat bs indent <- asks stIndent backSlash <- asks stBackSlashLB let indent' = if backSlash then T.drop 2 indent else indent return $ indent' <> "* " <> contents -- | Convert ordered list item (list of blocks) to DokuWiki. -- | TODO Emiminate dreadful duplication of text from listItemToDokuWiki orderedListItemToDokuWiki :: PandocMonad m => WriterOptions -> [Block] -> DokuWiki m Text orderedListItemToDokuWiki opts items = do contents <- blockListToDokuWiki opts items useTags <- asks stUseTags if useTags then return $ "
  • " <> contents <> "
  • " else do indent <- asks stIndent backSlash <- asks stBackSlashLB let indent' = if backSlash then T.drop 2 indent else indent return $ indent' <> "- " <> contents -- | Convert definition list item (label, list of blocks) to DokuWiki. definitionListItemToDokuWiki :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> DokuWiki m Text definitionListItemToDokuWiki opts (label, items) = do labelText <- inlineListToDokuWiki opts label contents <- mapM (blockListToDokuWiki opts) items useTags <- asks stUseTags if useTags then return $ "
    " <> labelText <> "
    \n" <> T.intercalate "\n" (map (\d -> "
    " <> d <> "
    ") contents) else do indent <- asks stIndent backSlash <- asks stBackSlashLB let indent' = if backSlash then T.drop 2 indent else indent return $ indent' <> "* **" <> labelText <> "** " <> T.concat contents -- | True if the list can be handled by simple wiki markup, False if HTML tags will be needed. isSimpleList :: Block -> Bool isSimpleList x = case x of BulletList items -> all isSimpleListItem items OrderedList (1, _, _) items -> all isSimpleListItem items DefinitionList items -> all (all isSimpleListItem . snd) items _ -> False -- | True if list item can be handled with the simple wiki syntax. False if -- HTML tags will be needed. isSimpleListItem :: [Block] -> Bool isSimpleListItem [] = True isSimpleListItem [x, CodeBlock{}] | isPlainOrPara x = True isSimpleListItem (x:ys) | isPlainOrPara x = all isSimpleList ys isSimpleListItem _ = False isPlainOrPara :: Block -> Bool isPlainOrPara (Plain _) = True isPlainOrPara (Para _) = True isPlainOrPara _ = False isSimpleBlockQuote :: [Block] -> Bool isSimpleBlockQuote bs = all isPlainOrPara bs -- | Concatenates strings with line breaks between them. vcat :: [Text] -> Text vcat = T.intercalate "\n" -- | For each string in the input list, convert all newlines to -- dokuwiki escaped newlines. Then concat the list using double linebreaks. backSlashLineBreaks :: [Text] -> Text backSlashLineBreaks ls = vcatBackSlash $ map (T.pack . escape . T.unpack) ls where vcatBackSlash = T.intercalate "\\\\ \\\\ " -- simulate paragraphs. escape ['\n'] = "" -- remove trailing newlines escape ('\n':cs) = "\\\\ " <> escape cs escape (c:cs) = c : escape cs escape [] = [] -- Auxiliary functions for tables: tableItemToDokuWiki :: PandocMonad m => WriterOptions -> Alignment -> [Block] -> DokuWiki m Text tableItemToDokuWiki opts align' item = do let mkcell x = (if align' == AlignRight || align' == AlignCenter then " " else "") <> x <> (if align' == AlignLeft || align' == AlignCenter then " " else "") contents <- local (\s -> s { stBackSlashLB = True }) $ blockListToDokuWiki opts item return $ mkcell contents -- | Convert list of Pandoc block elements to DokuWiki. blockListToDokuWiki :: PandocMonad m => WriterOptions -- ^ Options -> [Block] -- ^ List of block elements -> DokuWiki m Text blockListToDokuWiki opts blocks = do backSlash <- asks stBackSlashLB let blocks' = consolidateRawBlocks blocks if backSlash then backSlashLineBreaks <$> mapM (blockToDokuWiki opts) blocks' else vcat <$> mapM (blockToDokuWiki opts) blocks' consolidateRawBlocks :: [Block] -> [Block] consolidateRawBlocks [] = [] consolidateRawBlocks (RawBlock f1 b1 : RawBlock f2 b2 : xs) | f1 == f2 = consolidateRawBlocks (RawBlock f1 (b1 <> "\n" <> b2) : xs) consolidateRawBlocks (x:xs) = x : consolidateRawBlocks xs -- | Convert list of Pandoc inline elements to DokuWiki. inlineListToDokuWiki :: PandocMonad m => WriterOptions -> [Inline] -> DokuWiki m Text inlineListToDokuWiki opts lst = T.concat <$> mapM (inlineToDokuWiki opts) lst -- | Convert Pandoc inline element to DokuWiki. inlineToDokuWiki :: PandocMonad m => WriterOptions -> Inline -> DokuWiki m Text inlineToDokuWiki opts (Span _attrs ils) = inlineListToDokuWiki opts ils inlineToDokuWiki opts (Emph lst) = do contents <- inlineListToDokuWiki opts lst return $ "//" <> contents <> "//" inlineToDokuWiki opts (Strong lst) = do contents <- inlineListToDokuWiki opts lst return $ "**" <> contents <> "**" inlineToDokuWiki opts (Strikeout lst) = do contents <- inlineListToDokuWiki opts lst return $ "" <> contents <> "" inlineToDokuWiki opts (Superscript lst) = do contents <- inlineListToDokuWiki opts lst return $ "" <> contents <> "" inlineToDokuWiki opts (Subscript lst) = do contents <- inlineListToDokuWiki opts lst return $ "" <> contents <> "" inlineToDokuWiki opts (SmallCaps lst) = inlineListToDokuWiki opts lst inlineToDokuWiki opts (Quoted SingleQuote lst) = do contents <- inlineListToDokuWiki opts lst return $ "\8216" <> contents <> "\8217" inlineToDokuWiki opts (Quoted DoubleQuote lst) = do contents <- inlineListToDokuWiki opts lst return $ "\8220" <> contents <> "\8221" inlineToDokuWiki opts (Cite _ lst) = inlineListToDokuWiki opts lst inlineToDokuWiki _ (Code _ str) = -- In dokuwiki, text surrounded by '' is really just a font statement, i.e. , -- and so other formatting can be present inside. -- However, in pandoc, and markdown, inlined code doesn't contain formatting. -- So I have opted for using %% to disable all formatting inside inline code blocks. -- This gives the best results when converting from other formats to dokuwiki, even if -- the resultand code is a little ugly, for short strings that don't contain formatting -- characters. -- It does mean that if pandoc could ever read dokuwiki, and so round-trip the format, -- any formatting inside inlined code blocks would be lost, or presented incorrectly. return $ "''%%" <> str <> "%%''" inlineToDokuWiki _ (Str str) = return $ escapeString str inlineToDokuWiki _ (Math mathType str) = return $ delim <> str <> delim -- note: str should NOT be escaped where delim = case mathType of DisplayMath -> "$$" InlineMath -> "$" inlineToDokuWiki _ il@(RawInline f str) | f == Format "dokuwiki" = return str | f == Format "html" = return $ "" <> str <> "" | otherwise = "" <$ report (InlineNotRendered il) inlineToDokuWiki _ LineBreak = do backSlash <- asks stBackSlashLB return $ if backSlash then "\n" else "\\\\\n" inlineToDokuWiki opts SoftBreak = case writerWrapText opts of WrapNone -> return " " WrapAuto -> return " " WrapPreserve -> return "\n" inlineToDokuWiki _ Space = return " " inlineToDokuWiki opts (Link _ txt (src, _)) = do label <- inlineListToDokuWiki opts txt case txt of [Str s] | "mailto:" `T.isPrefixOf` src -> return $ "<" <> s <> ">" | escapeURI s == src -> return src _ -> if isURI src then return $ "[[" <> src <> "|" <> label <> "]]" else return $ "[[" <> src' <> "|" <> label <> "]]" where src' = case T.uncons src of Just ('/',xs) -> xs -- with leading / it's a _ -> src -- link to a help page inlineToDokuWiki opts (Image attr alt (source, tit)) = do alt' <- inlineListToDokuWiki opts alt let txt = case (tit, alt) of ("", []) -> "" ("", _ ) -> "|" <> alt' (_ , _ ) -> "|" <> tit return $ "{{" <> source <> imageDims opts attr <> txt <> "}}" inlineToDokuWiki opts (Note contents) = do contents' <- blockListToDokuWiki opts contents return $ "((" <> contents' <> "))" -- note - may not work for notes with multiple blocks imageDims :: WriterOptions -> Attr -> Text imageDims opts attr = go (toPx $ dimension Width attr) (toPx $ dimension Height attr) where toPx = fmap (showInPixel opts) . checkPct checkPct (Just (Percent _)) = Nothing checkPct maybeDim = maybeDim go (Just w) Nothing = "?" <> w go (Just w) (Just h) = "?" <> w <> "x" <> h go Nothing (Just h) = "?0x" <> h go Nothing Nothing = "" pandoc-2.9.2.1/src/Text/Pandoc/Writers/EPUB.hs000066400000000000000000001720611363630463000206070ustar00rootroot00000000000000{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Text.Pandoc.Writers.EPUB Copyright : Copyright (C) 2010-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of 'Pandoc' documents to EPUB. -} module Text.Pandoc.Writers.EPUB ( writeEPUB2, writeEPUB3 ) where import Codec.Archive.Zip (Entry, addEntryToArchive, eRelativePath, emptyArchive, fromArchive, fromEntry, toEntry) import Control.Applicative ( (<|>) ) import Control.Monad (mplus, unless, when, zipWithM) import Control.Monad.Except (catchError, throwError) import Control.Monad.State.Strict (StateT, evalState, evalStateT, get, gets, lift, modify) import qualified Data.ByteString.Lazy as B import qualified Data.ByteString.Lazy.Char8 as B8 import Data.Char (isAlphaNum, isAscii, isDigit, toLower) import Data.List (isInfixOf, isPrefixOf) import qualified Data.Map as M import Data.Maybe (fromMaybe, isNothing, mapMaybe, isJust) import qualified Data.Set as Set import qualified Data.Text as TS import qualified Data.Text.Lazy as TL import Network.HTTP (urlEncode) import System.FilePath (takeExtension, takeFileName, makeRelative) import Text.HTML.TagSoup (Tag (TagOpen), fromAttrib, parseTags) import Text.Pandoc.Builder (fromList, setMeta) import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import qualified Text.Pandoc.Class.PandocPure as P import qualified Text.Pandoc.Class.PandocMonad as P import Data.Time import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.MIME (MimeType, extensionFromMimeType, getMimeType) import Text.Pandoc.Options (EPUBVersion (..), HTMLMathMethod (..), ObfuscationMethod (NoObfuscation), WrapOption (..), WriterOptions (..)) import Text.Pandoc.Shared (makeSections, normalizeDate, renderTags', safeRead, stringify, trim, uniqueIdent, tshow) import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.UUID (getUUID) import Text.Pandoc.Walk (query, walk, walkM) import Text.Pandoc.Writers.HTML (writeHtmlStringForEPUB) import Text.Printf (printf) import Text.XML.Light (Attr (..), Element (..), Node (..), QName (..), add_attrs, lookupAttr, node, onlyElems, parseXML, ppElement, showElement, strContent, unode, unqual) import Text.Pandoc.XML (escapeStringForXML) import Text.DocTemplates (FromContext(lookupContext), Context(..), ToContext(toVal), Val(..)) -- A Chapter includes a list of blocks. data Chapter = Chapter [Block] deriving (Show) data EPUBState = EPUBState { stMediaPaths :: [(FilePath, (FilePath, Maybe Entry))] , stMediaNextId :: Int , stEpubSubdir :: String } type E m = StateT EPUBState m data EPUBMetadata = EPUBMetadata{ epubIdentifier :: [Identifier] , epubTitle :: [Title] , epubDate :: [Date] , epubLanguage :: String , epubCreator :: [Creator] , epubContributor :: [Creator] , epubSubject :: [String] , epubDescription :: Maybe String , epubType :: Maybe String , epubFormat :: Maybe String , epubPublisher :: Maybe String , epubSource :: Maybe String , epubRelation :: Maybe String , epubCoverage :: Maybe String , epubRights :: Maybe String , epubCoverImage :: Maybe String , epubStylesheets :: [FilePath] , epubPageDirection :: Maybe ProgressionDirection , epubIbooksFields :: [(String, String)] , epubCalibreFields :: [(String, String)] } deriving Show data Date = Date{ dateText :: String , dateEvent :: Maybe String } deriving Show data Creator = Creator{ creatorText :: String , creatorRole :: Maybe String , creatorFileAs :: Maybe String } deriving Show data Identifier = Identifier{ identifierText :: String , identifierScheme :: Maybe String } deriving Show data Title = Title{ titleText :: String , titleFileAs :: Maybe String , titleType :: Maybe String } deriving Show data ProgressionDirection = LTR | RTL deriving Show dcName :: String -> QName dcName n = QName n Nothing (Just "dc") dcNode :: Node t => String -> t -> Element dcNode = node . dcName opfName :: String -> QName opfName n = QName n Nothing (Just "opf") toId :: FilePath -> String toId = map (\x -> if isAlphaNum x || x == '-' || x == '_' then x else '_') . takeFileName removeNote :: Inline -> Inline removeNote (Note _) = Str "" removeNote x = x toVal' :: String -> Val TS.Text toVal' = toVal . TS.pack mkEntry :: PandocMonad m => FilePath -> B.ByteString -> E m Entry mkEntry path content = do epubSubdir <- gets stEpubSubdir let addEpubSubdir :: Entry -> Entry addEpubSubdir e = e{ eRelativePath = (if null epubSubdir then "" else epubSubdir ++ "/") ++ eRelativePath e } epochtime <- floor <$> lift P.getPOSIXTime return $ (if path == "mimetype" || "META-INF" `isPrefixOf` path then id else addEpubSubdir) $ toEntry path epochtime content getEPUBMetadata :: PandocMonad m => WriterOptions -> Meta -> E m EPUBMetadata getEPUBMetadata opts meta = do let md = metadataFromMeta opts meta let elts = maybe [] (onlyElems . parseXML) $ writerEpubMetadata opts let md' = foldr addMetadataFromXML md elts let addIdentifier m = if null (epubIdentifier m) then do randomId <- (show . getUUID) <$> lift P.newStdGen return $ m{ epubIdentifier = [Identifier randomId Nothing] } else return m let addLanguage m = if null (epubLanguage m) then case lookupContext "lang" (writerVariables opts) of Just x -> return m{ epubLanguage = TS.unpack x } Nothing -> do mLang <- lift $ P.lookupEnv "LANG" let localeLang = case mLang of Just lang -> TS.map (\c -> if c == '_' then '-' else c) $ TS.takeWhile (/='.') lang Nothing -> "en-US" return m{ epubLanguage = TS.unpack localeLang } else return m let fixDate m = if null (epubDate m) then do currentTime <- lift P.getCurrentTime return $ m{ epubDate = [ Date{ dateText = showDateTimeISO8601 currentTime , dateEvent = Nothing } ] } else return m let addAuthor m = if any (\c -> creatorRole c == Just "aut") $ epubCreator m then return m else do let authors' = map stringify $ docAuthors meta let toAuthor name = Creator{ creatorText = TS.unpack name , creatorRole = Just "aut" , creatorFileAs = Nothing } return $ m{ epubCreator = map toAuthor authors' ++ epubCreator m } addIdentifier md' >>= fixDate >>= addAuthor >>= addLanguage addMetadataFromXML :: Element -> EPUBMetadata -> EPUBMetadata addMetadataFromXML e@(Element (QName name _ (Just "dc")) attrs _ _) md | name == "identifier" = md{ epubIdentifier = Identifier{ identifierText = strContent e , identifierScheme = lookupAttr (opfName "scheme") attrs } : epubIdentifier md } | name == "title" = md{ epubTitle = Title{ titleText = strContent e , titleFileAs = getAttr "file-as" , titleType = getAttr "type" } : epubTitle md } | name == "date" = md{ epubDate = Date{ dateText = fromMaybe "" $ normalizeDate' $ strContent e , dateEvent = getAttr "event" } : epubDate md } | name == "language" = md{ epubLanguage = strContent e } | name == "creator" = md{ epubCreator = Creator{ creatorText = strContent e , creatorRole = getAttr "role" , creatorFileAs = getAttr "file-as" } : epubCreator md } | name == "contributor" = md{ epubContributor = Creator { creatorText = strContent e , creatorRole = getAttr "role" , creatorFileAs = getAttr "file-as" } : epubContributor md } | name == "subject" = md{ epubSubject = strContent e : epubSubject md } | name == "description" = md { epubDescription = Just $ strContent e } | name == "type" = md { epubType = Just $ strContent e } | name == "format" = md { epubFormat = Just $ strContent e } | name == "type" = md { epubType = Just $ strContent e } | name == "publisher" = md { epubPublisher = Just $ strContent e } | name == "source" = md { epubSource = Just $ strContent e } | name == "relation" = md { epubRelation = Just $ strContent e } | name == "coverage" = md { epubCoverage = Just $ strContent e } | name == "rights" = md { epubRights = Just $ strContent e } | otherwise = md where getAttr n = lookupAttr (opfName n) attrs addMetadataFromXML e@(Element (QName "meta" _ _) attrs _ _) md = case getAttr "property" of Just s | "ibooks:" `isPrefixOf` s -> md{ epubIbooksFields = (drop 7 s, strContent e) : epubIbooksFields md } _ -> case getAttr "name" of Just s | "calibre:" `isPrefixOf` s -> md{ epubCalibreFields = (drop 8 s, fromMaybe "" $ getAttr "content") : epubCalibreFields md } _ -> md where getAttr n = lookupAttr (unqual n) attrs addMetadataFromXML _ md = md metaValueToString :: MetaValue -> String metaValueToString (MetaString s) = TS.unpack s metaValueToString (MetaInlines ils) = TS.unpack $ stringify ils metaValueToString (MetaBlocks bs) = TS.unpack $ stringify bs metaValueToString (MetaBool True) = "true" metaValueToString (MetaBool False) = "false" metaValueToString _ = "" metaValueToPaths :: MetaValue -> [FilePath] metaValueToPaths (MetaList xs) = map metaValueToString xs metaValueToPaths x = [metaValueToString x] getList :: TS.Text -> Meta -> (MetaValue -> a) -> [a] getList s meta handleMetaValue = case lookupMeta s meta of Just (MetaList xs) -> map handleMetaValue xs Just mv -> [handleMetaValue mv] Nothing -> [] getIdentifier :: Meta -> [Identifier] getIdentifier meta = getList "identifier" meta handleMetaValue where handleMetaValue (MetaMap m) = Identifier{ identifierText = maybe "" metaValueToString $ M.lookup "text" m , identifierScheme = metaValueToString <$> M.lookup "scheme" m } handleMetaValue mv = Identifier (metaValueToString mv) Nothing getTitle :: Meta -> [Title] getTitle meta = getList "title" meta handleMetaValue where handleMetaValue (MetaMap m) = Title{ titleText = maybe "" metaValueToString $ M.lookup "text" m , titleFileAs = metaValueToString <$> M.lookup "file-as" m , titleType = metaValueToString <$> M.lookup "type" m } handleMetaValue mv = Title (metaValueToString mv) Nothing Nothing getCreator :: TS.Text -> Meta -> [Creator] getCreator s meta = getList s meta handleMetaValue where handleMetaValue (MetaMap m) = Creator{ creatorText = maybe "" metaValueToString $ M.lookup "text" m , creatorFileAs = metaValueToString <$> M.lookup "file-as" m , creatorRole = metaValueToString <$> M.lookup "role" m } handleMetaValue mv = Creator (metaValueToString mv) Nothing Nothing getDate :: TS.Text -> Meta -> [Date] getDate s meta = getList s meta handleMetaValue where handleMetaValue (MetaMap m) = Date{ dateText = fromMaybe "" $ M.lookup "text" m >>= normalizeDate' . metaValueToString , dateEvent = metaValueToString <$> M.lookup "event" m } handleMetaValue mv = Date { dateText = fromMaybe "" $ normalizeDate' $ metaValueToString mv , dateEvent = Nothing } simpleList :: TS.Text -> Meta -> [String] simpleList s meta = case lookupMeta s meta of Just (MetaList xs) -> map metaValueToString xs Just x -> [metaValueToString x] Nothing -> [] metadataFromMeta :: WriterOptions -> Meta -> EPUBMetadata metadataFromMeta opts meta = EPUBMetadata{ epubIdentifier = identifiers , epubTitle = titles , epubDate = date , epubLanguage = language , epubCreator = creators , epubContributor = contributors , epubSubject = subjects , epubDescription = description , epubType = epubtype , epubFormat = format , epubPublisher = publisher , epubSource = source , epubRelation = relation , epubCoverage = coverage , epubRights = rights , epubCoverImage = coverImage , epubStylesheets = stylesheets , epubPageDirection = pageDirection , epubIbooksFields = ibooksFields , epubCalibreFields = calibreFields } where identifiers = getIdentifier meta titles = getTitle meta date = getDate "date" meta language = maybe "" metaValueToString $ lookupMeta "language" meta `mplus` lookupMeta "lang" meta creators = getCreator "creator" meta contributors = getCreator "contributor" meta subjects = simpleList "subject" meta description = metaValueToString <$> lookupMeta "description" meta epubtype = metaValueToString <$> lookupMeta "type" meta format = metaValueToString <$> lookupMeta "format" meta publisher = metaValueToString <$> lookupMeta "publisher" meta source = metaValueToString <$> lookupMeta "source" meta relation = metaValueToString <$> lookupMeta "relation" meta coverage = metaValueToString <$> lookupMeta "coverage" meta rights = metaValueToString <$> lookupMeta "rights" meta coverImage = (TS.unpack <$> lookupContext "epub-cover-image" (writerVariables opts)) `mplus` (metaValueToString <$> lookupMeta "cover-image" meta) mCss = lookupMeta "css" meta <|> lookupMeta "stylesheet" meta stylesheets = maybe [] metaValueToPaths mCss ++ case lookupContext "css" (writerVariables opts) of Just xs -> map TS.unpack xs Nothing -> case lookupContext "css" (writerVariables opts) of Just x -> [TS.unpack x] Nothing -> [] pageDirection = case map toLower . metaValueToString <$> lookupMeta "page-progression-direction" meta of Just "ltr" -> Just LTR Just "rtl" -> Just RTL _ -> Nothing ibooksFields = case lookupMeta "ibooks" meta of Just (MetaMap mp) -> M.toList $ M.mapKeys TS.unpack $ M.map metaValueToString mp _ -> [] calibreFields = case lookupMeta "calibre" meta of Just (MetaMap mp) -> M.toList $ M.mapKeys TS.unpack $ M.map metaValueToString mp _ -> [] -- | Produce an EPUB2 file from a Pandoc document. writeEPUB2 :: PandocMonad m => WriterOptions -- ^ Writer options -> Pandoc -- ^ Document to convert -> m B.ByteString writeEPUB2 = writeEPUB EPUB2 -- | Produce an EPUB3 file from a Pandoc document. writeEPUB3 :: PandocMonad m => WriterOptions -- ^ Writer options -> Pandoc -- ^ Document to convert -> m B.ByteString writeEPUB3 = writeEPUB EPUB3 -- | Produce an EPUB file from a Pandoc document. writeEPUB :: PandocMonad m => EPUBVersion -> WriterOptions -- ^ Writer options -> Pandoc -- ^ Document to convert -> m B.ByteString writeEPUB epubVersion opts doc = do let epubSubdir = writerEpubSubdirectory opts -- sanity check on epubSubdir unless (TS.all (\c -> isAscii c && isAlphaNum c) epubSubdir) $ throwError $ PandocEpubSubdirectoryError epubSubdir let initState = EPUBState { stMediaPaths = [], stMediaNextId = 0, stEpubSubdir = TS.unpack epubSubdir } evalStateT (pandocToEPUB epubVersion opts doc) initState pandocToEPUB :: PandocMonad m => EPUBVersion -> WriterOptions -> Pandoc -> E m B.ByteString pandocToEPUB version opts doc = do -- handle pictures Pandoc meta blocks <- walkM (transformInline opts) doc >>= walkM transformBlock picEntries <- mapMaybe (snd . snd) <$> gets stMediaPaths epubSubdir <- gets stEpubSubdir let epub3 = version == EPUB3 let writeHtml o = fmap (UTF8.fromTextLazy . TL.fromStrict) . writeHtmlStringForEPUB version o metadata <- getEPUBMetadata opts meta let plainTitle = case docTitle' meta of [] -> case epubTitle metadata of [] -> "UNTITLED" (x:_) -> titleText x x -> TS.unpack $ stringify x -- stylesheet stylesheets <- case epubStylesheets metadata of [] -> (\x -> [B.fromChunks [x]]) <$> P.readDataFile "epub.css" fs -> mapM P.readFileLazy fs stylesheetEntries <- zipWithM (\bs n -> mkEntry ("styles/stylesheet" ++ show n ++ ".css") bs) stylesheets [(1 :: Int)..] let vars = Context $ M.delete "css" . M.insert "epub3" (toVal' $ if epub3 then "true" else "false") . M.insert "lang" (toVal' $ epubLanguage metadata) $ unContext $ writerVariables opts let cssvars useprefix = Context $ M.insert "css" (ListVal $ map (\e -> toVal' $ (if useprefix then "../" else "") <> makeRelative epubSubdir (eRelativePath e)) stylesheetEntries) mempty let opts' = opts{ writerEmailObfuscation = NoObfuscation , writerSectionDivs = True , writerVariables = vars , writerHTMLMathMethod = if epub3 then MathML else writerHTMLMathMethod opts , writerWrapText = WrapAuto } -- cover page (cpgEntry, cpicEntry) <- case epubCoverImage metadata of Nothing -> return ([],[]) Just img -> do let coverImage = takeFileName img imgContent <- lift $ P.readFileLazy img (coverImageWidth, coverImageHeight) <- case imageSize opts' (B.toStrict imgContent) of Right sz -> return $ sizeInPixels sz Left err' -> (0, 0) <$ report (CouldNotDetermineImageSize (TS.pack img) err') cpContent <- lift $ writeHtml opts'{ writerVariables = Context (M.fromList [ ("coverpage", toVal' "true"), ("pagetitle", toVal $ escapeStringForXML $ TS.pack plainTitle), ("cover-image", toVal' coverImage), ("cover-image-width", toVal' $ show coverImageWidth), ("cover-image-height", toVal' $ show coverImageHeight)]) <> cssvars True <> vars } (Pandoc meta []) coverEntry <- mkEntry "text/cover.xhtml" cpContent coverImageEntry <- mkEntry ("media/" ++ coverImage) imgContent return ( [ coverEntry ] , [ coverImageEntry ] ) -- title page tpContent <- lift $ writeHtml opts'{ writerVariables = Context (M.fromList [ ("titlepage", toVal' "true"), ("body-type", toVal' "frontmatter"), ("pagetitle", toVal $ escapeStringForXML $ TS.pack plainTitle)]) <> cssvars True <> vars } (Pandoc meta []) tpEntry <- mkEntry "text/title_page.xhtml" tpContent -- handle fonts let matchingGlob f = do xs <- lift $ P.glob f when (null xs) $ report $ CouldNotFetchResource (TS.pack f) "glob did not match any font files" return xs let mkFontEntry f = mkEntry ("fonts/" ++ takeFileName f) =<< lift (P.readFileLazy f) fontFiles <- concat <$> mapM matchingGlob (writerEpubFonts opts') fontEntries <- mapM mkFontEntry fontFiles -- set page progression direction attribution let progressionDirection = case epubPageDirection metadata of Just LTR | epub3 -> [("page-progression-direction", "ltr")] Just RTL | epub3 -> [("page-progression-direction", "rtl")] _ -> [] -- body pages let chapterHeaderLevel = writerEpubChapterLevel opts let isChapterHeader (Div _ (Header n _ _:_)) = n <= chapterHeaderLevel isChapterHeader _ = False let secsToChapters :: [Block] -> [Chapter] secsToChapters [] = [] secsToChapters (d@(Div attr (h@(Header lvl _ _) : bs)) : rest) | chapterHeaderLevel == lvl = Chapter [d] : secsToChapters rest | chapterHeaderLevel > lvl = Chapter [Div attr (h:xs)] : secsToChapters ys ++ secsToChapters rest where (xs, ys) = break isChapterHeader bs secsToChapters bs = (if null xs then id else (Chapter xs :)) $ secsToChapters ys where (xs, ys) = break isChapterHeader bs -- add level 1 header to beginning if none there let secs = makeSections True Nothing $ addIdentifiers opts $ case blocks of (Div _ (Header{}:_) : _) -> blocks (Header 1 _ _ : _) -> blocks _ -> Header 1 ("",["unnumbered"],[]) (docTitle' meta) : blocks let chapters' = secsToChapters secs let extractLinkURL' :: Int -> Inline -> [(TS.Text, TS.Text)] extractLinkURL' num (Span (ident, _, _) _) | not (TS.null ident) = [(ident, TS.pack (showChapter num) <> "#" <> ident)] extractLinkURL' _ _ = [] let extractLinkURL :: Int -> Block -> [(TS.Text, TS.Text)] extractLinkURL num (Div (ident, _, _) _) | not (TS.null ident) = [(ident, TS.pack (showChapter num) <> "#" <> ident)] extractLinkURL num (Header _ (ident, _, _) _) | not (TS.null ident) = [(ident, TS.pack (showChapter num) <> "#" <> ident)] extractLinkURL num b = query (extractLinkURL' num) b let reftable = concat $ zipWith (\(Chapter bs) num -> query (extractLinkURL num) bs) chapters' [1..] let fixInternalReferences :: Inline -> Inline fixInternalReferences (Link attr lab (src, tit)) | Just ('#', xs) <- TS.uncons src = case lookup xs reftable of Just ys -> Link attr lab (ys, tit) Nothing -> Link attr lab (src, tit) fixInternalReferences x = x -- internal reference IDs change when we chunk the file, -- so that '#my-header-1' might turn into 'chap004.xhtml#my-header'. -- this fixes that: let chapters = map (\(Chapter bs) -> Chapter $ walk fixInternalReferences bs) chapters' let chapToEntry num (Chapter bs) = mkEntry ("text/" ++ showChapter num) =<< writeHtml opts'{ writerVariables = Context (M.fromList [("body-type", toVal' bodyType), ("pagetitle", toVal' $ showChapter num)]) <> cssvars True <> vars } pdoc where (pdoc, bodyType) = case bs of (Div (_,"section":_,kvs) (Header _ _ xs : _) : _) -> -- remove notes or we get doubled footnotes (Pandoc (setMeta "title" (walk removeNote $ fromList xs) nullMeta) bs, case lookup "epub:type" kvs of Nothing -> "bodymatter" Just x | x `elem` frontMatterTypes -> "frontmatter" | x `elem` backMatterTypes -> "backmatter" | otherwise -> "bodymatter") _ -> (Pandoc nullMeta bs, "bodymatter") frontMatterTypes = ["prologue", "abstract", "acknowledgments", "copyright-page", "dedication", "credits", "keywords", "imprint", "contributors", "other-credits", "errata", "revision-history", "titlepage", "halftitlepage", "seriespage", "foreword", "preface", "seriespage", "titlepage"] backMatterTypes = ["appendix", "colophon", "bibliography", "index"] chapterEntries <- zipWithM chapToEntry [1..] chapters -- incredibly inefficient (TODO): let containsMathML ent = epub3 && " [] xs -> [("properties", unwords xs)]) $ () let chapterRefNode ent = unode "itemref" ! [("idref", toId $ makeRelative epubSubdir $ eRelativePath ent)] $ () let pictureNode ent = unode "item" ! [("id", toId $ makeRelative epubSubdir $ eRelativePath ent), ("href", makeRelative epubSubdir $ eRelativePath ent), ("media-type", maybe "application/octet-stream" TS.unpack $ mediaTypeOf $ eRelativePath ent)] $ () let fontNode ent = unode "item" ! [("id", toId $ makeRelative epubSubdir $ eRelativePath ent), ("href", makeRelative epubSubdir $ eRelativePath ent), ("media-type", maybe "" TS.unpack $ getMimeType $ eRelativePath ent)] $ () let tocTitle = maybe plainTitle metaValueToString $ lookupMeta "toc-title" meta uuid <- case epubIdentifier metadata of (x:_) -> return $ identifierText x -- use first identifier as UUID [] -> throwError $ PandocShouldNeverHappenError "epubIdentifier is null" -- shouldn't happen currentTime <- lift P.getCurrentTime let contentsData = UTF8.fromStringLazy $ ppTopElement $ unode "package" ! ([("version", case version of EPUB2 -> "2.0" EPUB3 -> "3.0") ,("xmlns","http://www.idpf.org/2007/opf") ,("unique-identifier","epub-id-1") ] ++ [("prefix","ibooks: http://vocabulary.itunes.apple.com/rdf/ibooks/vocabulary-extensions-1.0/") | version == EPUB3]) $ [ metadataElement version metadata currentTime , unode "manifest" $ [ unode "item" ! [("id","ncx"), ("href","toc.ncx") ,("media-type","application/x-dtbncx+xml")] $ () , unode "item" ! ([("id","nav") ,("href","nav.xhtml") ,("media-type","application/xhtml+xml")] ++ [("properties","nav") | epub3 ]) $ () ] ++ [ unode "item" ! [("id","stylesheet" ++ show n), ("href",fp) ,("media-type","text/css")] $ () | (n :: Int, fp) <- zip [1..] (map (makeRelative epubSubdir . eRelativePath) stylesheetEntries) ] ++ map chapterNode (cpgEntry ++ (tpEntry : chapterEntries)) ++ (case cpicEntry of [] -> [] (x:_) -> [add_attrs [Attr (unqual "properties") "cover-image" | epub3] (pictureNode x)]) ++ map pictureNode picEntries ++ map fontNode fontEntries , unode "spine" ! ( ("toc","ncx") : progressionDirection) $ case epubCoverImage metadata of Nothing -> [] Just _ -> [ unode "itemref" ! [("idref", "cover_xhtml")] $ () ] ++ ((unode "itemref" ! [("idref", "title_page_xhtml") ,("linear", case lookupMeta "title" meta of Just _ -> "yes" Nothing -> "no")] $ ()) : [unode "itemref" ! [("idref", "nav")] $ () | writerTableOfContents opts ] ++ map chapterRefNode chapterEntries) , unode "guide" $ [ unode "reference" ! [("type","toc"),("title", tocTitle), ("href","nav.xhtml")] $ () ] ++ [ unode "reference" ! [("type","cover") ,("title","Cover") ,("href","text/cover.xhtml")] $ () | isJust (epubCoverImage metadata) ] ] contentsEntry <- mkEntry "content.opf" contentsData -- toc.ncx let tocLevel = writerTOCDepth opts let navPointNode :: PandocMonad m => (Int -> [Inline] -> TS.Text -> [Element] -> Element) -> Block -> StateT Int m [Element] navPointNode formatter (Div (ident,_,_) (Header lvl (_,_,kvs) ils : children)) = if lvl > tocLevel then return [] else do n <- get modify (+1) let num = fromMaybe "" $ lookup "number" kvs let tit = if writerNumberSections opts && not (TS.null num) then Span ("", ["section-header-number"], []) [Str num] : Space : ils else ils src <- case lookup ident reftable of Just x -> return x Nothing -> throwError $ PandocSomeError $ ident <> " not found in reftable" subs <- concat <$> mapM (navPointNode formatter) children return [formatter n tit src subs] navPointNode formatter (Div _ bs) = concat <$> mapM (navPointNode formatter) bs navPointNode _ _ = return [] let navMapFormatter :: Int -> [Inline] -> TS.Text -> [Element] -> Element navMapFormatter n tit src subs = unode "navPoint" ! [("id", "navPoint-" ++ show n)] $ [ unode "navLabel" $ unode "text" $ TS.unpack $ stringify tit , unode "content" ! [("src", "text/" <> TS.unpack src)] $ () ] ++ subs let tpNode = unode "navPoint" ! [("id", "navPoint-0")] $ [ unode "navLabel" $ unode "text" (TS.unpack $ stringify $ docTitle' meta) , unode "content" ! [("src", "text/title_page.xhtml")] $ () ] navMap <- lift $ evalStateT (concat <$> mapM (navPointNode navMapFormatter) secs) 1 let tocData = UTF8.fromStringLazy $ ppTopElement $ unode "ncx" ! [("version","2005-1") ,("xmlns","http://www.daisy.org/z3986/2005/ncx/")] $ [ unode "head" $ [ unode "meta" ! [("name","dtb:uid") ,("content", uuid)] $ () , unode "meta" ! [("name","dtb:depth") ,("content", "1")] $ () , unode "meta" ! [("name","dtb:totalPageCount") ,("content", "0")] $ () , unode "meta" ! [("name","dtb:maxPageNumber") ,("content", "0")] $ () ] ++ case epubCoverImage metadata of Nothing -> [] Just img -> [unode "meta" ! [("name","cover"), ("content", toId img)] $ ()] , unode "docTitle" $ unode "text" plainTitle , unode "navMap" $ tpNode : navMap ] tocEntry <- mkEntry "toc.ncx" tocData let navXhtmlFormatter :: Int -> [Inline] -> TS.Text -> [Element] -> Element navXhtmlFormatter n tit src subs = unode "li" ! [("id", "toc-li-" ++ show n)] $ (unode "a" ! [("href", "text/" <> TS.unpack src)] $ titElements) : case subs of [] -> [] (_:_) -> [unode "ol" ! [("class","toc")] $ subs] where titElements = parseXML titRendered titRendered = case P.runPure (writeHtmlStringForEPUB version opts{ writerTemplate = Nothing , writerVariables = Context (M.fromList [("pagetitle", toVal $ escapeStringForXML $ TS.pack plainTitle)]) <> writerVariables opts} (Pandoc nullMeta [Plain $ walk clean tit])) of Left _ -> stringify tit Right x -> x -- can't have elements inside generated links... clean (Link _ ils _) = Span ("", [], []) ils clean (Note _) = Str "" clean x = x let navtag = if epub3 then "nav" else "div" tocBlocks <- lift $ evalStateT (concat <$> mapM (navPointNode navXhtmlFormatter) secs) 1 let navBlocks = [RawBlock (Format "html") $ TS.pack $ showElement $ -- prettyprinting introduces bad spaces unode navtag ! ([("epub:type","toc") | epub3] ++ [("id","toc")]) $ [ unode "h1" ! [("id","toc-title")] $ tocTitle , unode "ol" ! [("class","toc")] $ tocBlocks ]] let landmarkItems = if epub3 then [ unode "li" [ unode "a" ! [("href", "text/cover.xhtml") ,("epub:type", "cover")] $ ("Cover" :: String)] | isJust (epubCoverImage metadata) ] ++ [ unode "li" [ unode "a" ! [("href", "#toc") ,("epub:type", "toc")] $ ("Table of contents" :: String) ] | writerTableOfContents opts ] else [] let landmarks = if null landmarkItems then [] else [RawBlock (Format "html") $ TS.pack $ ppElement $ unode "nav" ! [("epub:type","landmarks") ,("id","landmarks") ,("hidden","hidden")] $ [ unode "ol" landmarkItems ] ] navData <- lift $ writeHtml opts'{ writerVariables = Context (M.fromList [("navpage", toVal' "true")]) <> cssvars False <> vars } (Pandoc (setMeta "title" (walk removeNote $ fromList $ docTitle' meta) nullMeta) (navBlocks ++ landmarks)) navEntry <- mkEntry "nav.xhtml" navData -- mimetype mimetypeEntry <- mkEntry "mimetype" $ UTF8.fromStringLazy "application/epub+zip" -- container.xml let containerData = UTF8.fromStringLazy $ ppTopElement $ unode "container" ! [("version","1.0") ,("xmlns","urn:oasis:names:tc:opendocument:xmlns:container")] $ unode "rootfiles" $ unode "rootfile" ! [("full-path", (if null epubSubdir then "" else epubSubdir ++ "/") ++ "content.opf") ,("media-type","application/oebps-package+xml")] $ () containerEntry <- mkEntry "META-INF/container.xml" containerData -- com.apple.ibooks.display-options.xml let apple = UTF8.fromStringLazy $ ppTopElement $ unode "display_options" $ unode "platform" ! [("name","*")] $ unode "option" ! [("name","specified-fonts")] $ ("true" :: String) appleEntry <- mkEntry "META-INF/com.apple.ibooks.display-options.xml" apple -- construct archive let archive = foldr addEntryToArchive emptyArchive $ [mimetypeEntry, containerEntry, appleEntry, contentsEntry, tocEntry, navEntry, tpEntry] ++ stylesheetEntries ++ picEntries ++ cpicEntry ++ cpgEntry ++ chapterEntries ++ fontEntries return $ fromArchive archive metadataElement :: EPUBVersion -> EPUBMetadata -> UTCTime -> Element metadataElement version md currentTime = unode "metadata" ! [("xmlns:dc","http://purl.org/dc/elements/1.1/") ,("xmlns:opf","http://www.idpf.org/2007/opf")] $ mdNodes where mdNodes = identifierNodes ++ titleNodes ++ dateNodes ++ languageNodes ++ ibooksNodes ++ calibreNodes ++ creatorNodes ++ contributorNodes ++ subjectNodes ++ descriptionNodes ++ typeNodes ++ formatNodes ++ publisherNodes ++ sourceNodes ++ relationNodes ++ coverageNodes ++ rightsNodes ++ coverImageNodes ++ modifiedNodes withIds base f = concat . zipWith f (map (\x -> base ++ ('-' : show x)) ([1..] :: [Int])) identifierNodes = withIds "epub-id" toIdentifierNode $ epubIdentifier md titleNodes = withIds "epub-title" toTitleNode $ epubTitle md dateNodes = if version == EPUB2 then withIds "epub-date" toDateNode $ epubDate md else -- epub3 allows only one dc:date -- http://www.idpf.org/epub/30/spec/epub30-publications.html#sec-opf-dcdate case epubDate md of [] -> [] (x:_) -> [dcNode "date" ! [("id","epub-date")] $ dateText x] ibooksNodes = map ibooksNode (epubIbooksFields md) ibooksNode (k, v) = unode "meta" ! [("property", "ibooks:" ++ k)] $ v calibreNodes = map calibreNode (epubCalibreFields md) calibreNode (k, v) = unode "meta" ! [("name", "calibre:" ++ k), ("content", v)] $ () languageNodes = [dcTag "language" $ epubLanguage md] creatorNodes = withIds "epub-creator" (toCreatorNode "creator") $ epubCreator md contributorNodes = withIds "epub-contributor" (toCreatorNode "contributor") $ epubContributor md subjectNodes = map (dcTag "subject") $ epubSubject md descriptionNodes = maybe [] (dcTag' "description") $ epubDescription md typeNodes = maybe [] (dcTag' "type") $ epubType md formatNodes = maybe [] (dcTag' "format") $ epubFormat md publisherNodes = maybe [] (dcTag' "publisher") $ epubPublisher md sourceNodes = maybe [] (dcTag' "source") $ epubSource md relationNodes = maybe [] (dcTag' "relation") $ epubRelation md coverageNodes = maybe [] (dcTag' "coverage") $ epubCoverage md rightsNodes = maybe [] (dcTag' "rights") $ epubRights md coverImageNodes = maybe [] (\img -> [unode "meta" ! [("name","cover"), ("content",toId img)] $ ()]) $ epubCoverImage md modifiedNodes = [ unode "meta" ! [("property", "dcterms:modified")] $ showDateTimeISO8601 currentTime | version == EPUB3 ] dcTag n s = unode ("dc:" ++ n) s dcTag' n s = [dcTag n s] toIdentifierNode id' (Identifier txt scheme) | version == EPUB2 = [dcNode "identifier" ! (("id",id') : maybe [] (\x -> [("opf:scheme", x)]) scheme) $ txt] | otherwise = [dcNode "identifier" ! [("id",id')] $ txt] ++ maybe [] ((\x -> [unode "meta" ! [ ("refines",'#':id') , ("property","identifier-type") , ("scheme","onix:codelist5") ] $ x ]) . schemeToOnix) scheme toCreatorNode s id' creator | version == EPUB2 = [dcNode s ! (("id",id') : maybe [] (\x -> [("opf:file-as",x)]) (creatorFileAs creator) ++ maybe [] (\x -> [("opf:role",x)]) (creatorRole creator >>= toRelator)) $ creatorText creator] | otherwise = [dcNode s ! [("id",id')] $ creatorText creator] ++ maybe [] (\x -> [unode "meta" ! [("refines",'#':id'),("property","file-as")] $ x]) (creatorFileAs creator) ++ maybe [] (\x -> [unode "meta" ! [("refines",'#':id'),("property","role"), ("scheme","marc:relators")] $ x]) (creatorRole creator >>= toRelator) toTitleNode id' title | version == EPUB2 = [dcNode "title" ! (("id",id') : -- note: EPUB2 doesn't accept opf:title-type maybe [] (\x -> [("opf:file-as",x)]) (titleFileAs title)) $ titleText title] | otherwise = [dcNode "title" ! [("id",id')] $ titleText title] ++ maybe [] (\x -> [unode "meta" ! [("refines",'#':id'),("property","file-as")] $ x]) (titleFileAs title) ++ maybe [] (\x -> [unode "meta" ! [("refines",'#':id'),("property","title-type")] $ x]) (titleType title) toDateNode id' date = [dcNode "date" ! (("id",id') : maybe [] (\x -> [("opf:event",x)]) (dateEvent date)) $ dateText date] schemeToOnix :: String -> String schemeToOnix "ISBN-10" = "02" schemeToOnix "GTIN-13" = "03" schemeToOnix "UPC" = "04" schemeToOnix "ISMN-10" = "05" schemeToOnix "DOI" = "06" schemeToOnix "LCCN" = "13" schemeToOnix "GTIN-14" = "14" schemeToOnix "ISBN-13" = "15" schemeToOnix "Legal deposit number" = "17" schemeToOnix "URN" = "22" schemeToOnix "OCLC" = "23" schemeToOnix "ISMN-13" = "25" schemeToOnix "ISBN-A" = "26" schemeToOnix "JP" = "27" schemeToOnix "OLCC" = "28" schemeToOnix _ = "01" showDateTimeISO8601 :: UTCTime -> String showDateTimeISO8601 = formatTime defaultTimeLocale "%FT%TZ" transformTag :: PandocMonad m => Tag TS.Text -> E m (Tag TS.Text) transformTag tag@(TagOpen name attr) | name `elem` ["video", "source", "img", "audio"] && isNothing (lookup "data-external" attr) = do let src = fromAttrib "src" tag let poster = fromAttrib "poster" tag newsrc <- modifyMediaRef $ TS.unpack src newposter <- modifyMediaRef $ TS.unpack poster let attr' = filter (\(x,_) -> x /= "src" && x /= "poster") attr ++ [("src", "../" <> newsrc) | not (TS.null newsrc)] ++ [("poster", "../" <> newposter) | not (TS.null newposter)] return $ TagOpen name attr' transformTag tag = return tag modifyMediaRef :: PandocMonad m => FilePath -> E m TS.Text modifyMediaRef "" = return "" modifyMediaRef oldsrc = do media <- gets stMediaPaths case lookup oldsrc media of Just (n,_) -> return $ TS.pack n Nothing -> catchError (do (img, mbMime) <- P.fetchItem $ TS.pack oldsrc let ext = maybe (takeExtension (takeWhile (/='?') oldsrc)) TS.unpack (("." <>) <$> (mbMime >>= extensionFromMimeType)) newName <- getMediaNextNewName ext let newPath = "media/" ++ newName entry <- mkEntry newPath (B.fromChunks . (:[]) $ img) modify $ \st -> st{ stMediaPaths = (oldsrc, (newPath, Just entry)):media} return $ TS.pack newPath) (\e -> do report $ CouldNotFetchResource (TS.pack oldsrc) (tshow e) return $ TS.pack oldsrc) getMediaNextNewName :: PandocMonad m => String -> E m String getMediaNextNewName ext = do nextId <- gets stMediaNextId modify $ \st -> st { stMediaNextId = nextId + 1 } let nextName = "file" ++ show nextId ++ ext (P.fetchItem (TS.pack nextName) >> getMediaNextNewName ext) `catchError` const (return nextName) transformBlock :: PandocMonad m => Block -> E m Block transformBlock (RawBlock fmt raw) | fmt == Format "html" = do let tags = parseTags raw tags' <- mapM transformTag tags return $ RawBlock fmt (renderTags' tags') transformBlock b = return b transformInline :: PandocMonad m => WriterOptions -> Inline -> E m Inline transformInline _opts (Image attr lab (src,tit)) = do newsrc <- modifyMediaRef $ TS.unpack src return $ Image attr lab ("../" <> newsrc, tit) transformInline opts x@(Math t m) | WebTeX url <- writerHTMLMathMethod opts = do newsrc <- modifyMediaRef (TS.unpack url <> urlEncode (TS.unpack m)) let mathclass = if t == DisplayMath then "display" else "inline" return $ Span ("",["math",mathclass],[]) [Image nullAttr [x] ("../" <> newsrc, "")] transformInline _opts (RawInline fmt raw) | fmt == Format "html" = do let tags = parseTags raw tags' <- mapM transformTag tags return $ RawInline fmt (renderTags' tags') transformInline _ x = return x (!) :: (t -> Element) -> [(String, String)] -> t -> Element (!) f attrs n = add_attrs (map (\(k,v) -> Attr (unqual k) v) attrs) (f n) -- | Version of 'ppTopElement' that specifies UTF-8 encoding. ppTopElement :: Element -> String ppTopElement = ("\n" ++) . unEntity . ppElement -- unEntity removes numeric entities introduced by ppElement -- (kindlegen seems to choke on these). where unEntity [] = "" unEntity ('&':'#':xs) = let (ds,ys) = break (==';') xs rest = drop 1 ys in case safeRead (TS.pack $ "'\\" <> ds <> "'") of Just x -> x : unEntity rest Nothing -> '&':'#':unEntity xs unEntity (x:xs) = x : unEntity xs mediaTypeOf :: FilePath -> Maybe MimeType mediaTypeOf x = let mediaPrefixes = ["image", "video", "audio"] in case getMimeType x of Just y | any (`TS.isPrefixOf` y) mediaPrefixes -> Just y _ -> Nothing -- Returns filename for chapter number. showChapter :: Int -> String showChapter = printf "ch%03d.xhtml" -- Add identifiers to any headers without them. addIdentifiers :: WriterOptions -> [Block] -> [Block] addIdentifiers opts bs = evalState (mapM go bs) Set.empty where go (Header n (ident,classes,kvs) ils) = do ids <- get let ident' = if TS.null ident then uniqueIdent (writerExtensions opts) ils ids else ident modify $ Set.insert ident' return $ Header n (ident',classes,kvs) ils go x = return x -- Variant of normalizeDate that allows partial dates: YYYY, YYYY-MM normalizeDate' :: String -> Maybe String normalizeDate' = fmap TS.unpack . go . trim . TS.pack where go xs | TS.length xs == 4 -- YYY , TS.all isDigit xs = Just xs | (y, s) <- TS.splitAt 4 xs -- YYY-MM , Just ('-', m) <- TS.uncons s , TS.length m == 2 , TS.all isDigit y && TS.all isDigit m = Just xs | otherwise = normalizeDate xs toRelator :: String -> Maybe String toRelator x | x `elem` relators = Just x | otherwise = lookup (map toLower x) relatorMap relators :: [String] relators = map snd relatorMap relatorMap :: [(String, String)] relatorMap = [("abridger", "abr") ,("actor", "act") ,("adapter", "adp") ,("addressee", "rcp") ,("analyst", "anl") ,("animator", "anm") ,("annotator", "ann") ,("appellant", "apl") ,("appellee", "ape") ,("applicant", "app") ,("architect", "arc") ,("arranger", "arr") ,("art copyist", "acp") ,("art director", "adi") ,("artist", "art") ,("artistic director", "ard") ,("assignee", "asg") ,("associated name", "asn") ,("attributed name", "att") ,("auctioneer", "auc") ,("author", "aut") ,("author in quotations or text abstracts", "aqt") ,("author of afterword, colophon, etc.", "aft") ,("author of dialog", "aud") ,("author of introduction, etc.", "aui") ,("autographer", "ato") ,("bibliographic antecedent", "ant") ,("binder", "bnd") ,("binding designer", "bdd") ,("blurb writer", "blw") ,("book designer", "bkd") ,("book producer", "bkp") ,("bookjacket designer", "bjd") ,("bookplate designer", "bpd") ,("bookseller", "bsl") ,("braille embosser", "brl") ,("broadcaster", "brd") ,("calligrapher", "cll") ,("cartographer", "ctg") ,("caster", "cas") ,("censor", "cns") ,("choreographer", "chr") ,("cinematographer", "cng") ,("client", "cli") ,("collection registrar", "cor") ,("collector", "col") ,("collotyper", "clt") ,("colorist", "clr") ,("commentator", "cmm") ,("commentator for written text", "cwt") ,("compiler", "com") ,("complainant", "cpl") ,("complainant-appellant", "cpt") ,("complainant-appellee", "cpe") ,("composer", "cmp") ,("compositor", "cmt") ,("conceptor", "ccp") ,("conductor", "cnd") ,("conservator", "con") ,("consultant", "csl") ,("consultant to a project", "csp") ,("contestant", "cos") ,("contestant-appellant", "cot") ,("contestant-appellee", "coe") ,("contestee", "cts") ,("contestee-appellant", "ctt") ,("contestee-appellee", "cte") ,("contractor", "ctr") ,("contributor", "ctb") ,("copyright claimant", "cpc") ,("copyright holder", "cph") ,("corrector", "crr") ,("correspondent", "crp") ,("costume designer", "cst") ,("court governed", "cou") ,("court reporter", "crt") ,("cover designer", "cov") ,("creator", "cre") ,("curator", "cur") ,("dancer", "dnc") ,("data contributor", "dtc") ,("data manager", "dtm") ,("dedicatee", "dte") ,("dedicator", "dto") ,("defendant", "dfd") ,("defendant-appellant", "dft") ,("defendant-appellee", "dfe") ,("degree granting institution", "dgg") ,("delineator", "dln") ,("depicted", "dpc") ,("depositor", "dpt") ,("designer", "dsr") ,("director", "drt") ,("dissertant", "dis") ,("distribution place", "dbp") ,("distributor", "dst") ,("donor", "dnr") ,("draftsman", "drm") ,("dubious author", "dub") ,("editor", "edt") ,("editor of compilation", "edc") ,("editor of moving image work", "edm") ,("electrician", "elg") ,("electrotyper", "elt") ,("enacting jurisdiction", "enj") ,("engineer", "eng") ,("engraver", "egr") ,("etcher", "etr") ,("event place", "evp") ,("expert", "exp") ,("facsimilist", "fac") ,("field director", "fld") ,("film director", "fmd") ,("film distributor", "fds") ,("film editor", "flm") ,("film producer", "fmp") ,("filmmaker", "fmk") ,("first party", "fpy") ,("forger", "frg") ,("former owner", "fmo") ,("funder", "fnd") ,("geographic information specialist", "gis") ,("honoree", "hnr") ,("host", "hst") ,("host institution", "his") ,("illuminator", "ilu") ,("illustrator", "ill") ,("inscriber", "ins") ,("instrumentalist", "itr") ,("interviewee", "ive") ,("interviewer", "ivr") ,("inventor", "inv") ,("issuing body", "isb") ,("judge", "jud") ,("jurisdiction governed", "jug") ,("laboratory", "lbr") ,("laboratory director", "ldr") ,("landscape architect", "lsa") ,("lead", "led") ,("lender", "len") ,("libelant", "lil") ,("libelant-appellant", "lit") ,("libelant-appellee", "lie") ,("libelee", "lel") ,("libelee-appellant", "let") ,("libelee-appellee", "lee") ,("librettist", "lbt") ,("licensee", "lse") ,("licensor", "lso") ,("lighting designer", "lgd") ,("lithographer", "ltg") ,("lyricist", "lyr") ,("manufacture place", "mfp") ,("manufacturer", "mfr") ,("marbler", "mrb") ,("markup editor", "mrk") ,("metadata contact", "mdc") ,("metal-engraver", "mte") ,("moderator", "mod") ,("monitor", "mon") ,("music copyist", "mcp") ,("musical director", "msd") ,("musician", "mus") ,("narrator", "nrt") ,("onscreen presenter", "osp") ,("opponent", "opn") ,("organizer of meeting", "orm") ,("originator", "org") ,("other", "oth") ,("owner", "own") ,("panelist", "pan") ,("papermaker", "ppm") ,("patent applicant", "pta") ,("patent holder", "pth") ,("patron", "pat") ,("performer", "prf") ,("permitting agency", "pma") ,("photographer", "pht") ,("plaintiff", "ptf") ,("plaintiff-appellant", "ptt") ,("plaintiff-appellee", "pte") ,("platemaker", "plt") ,("praeses", "pra") ,("presenter", "pre") ,("printer", "prt") ,("printer of plates", "pop") ,("printmaker", "prm") ,("process contact", "prc") ,("producer", "pro") ,("production company", "prn") ,("production designer", "prs") ,("production manager", "pmn") ,("production personnel", "prd") ,("production place", "prp") ,("programmer", "prg") ,("project director", "pdr") ,("proofreader", "pfr") ,("provider", "prv") ,("publication place", "pup") ,("publisher", "pbl") ,("publishing director", "pbd") ,("puppeteer", "ppt") ,("radio director", "rdd") ,("radio producer", "rpc") ,("recording engineer", "rce") ,("recordist", "rcd") ,("redaktor", "red") ,("renderer", "ren") ,("reporter", "rpt") ,("repository", "rps") ,("research team head", "rth") ,("research team member", "rtm") ,("researcher", "res") ,("respondent", "rsp") ,("respondent-appellant", "rst") ,("respondent-appellee", "rse") ,("responsible party", "rpy") ,("restager", "rsg") ,("restorationist", "rsr") ,("reviewer", "rev") ,("rubricator", "rbr") ,("scenarist", "sce") ,("scientific advisor", "sad") ,("screenwriter", "aus") ,("scribe", "scr") ,("sculptor", "scl") ,("second party", "spy") ,("secretary", "sec") ,("seller", "sll") ,("set designer", "std") ,("setting", "stg") ,("signer", "sgn") ,("singer", "sng") ,("sound designer", "sds") ,("speaker", "spk") ,("sponsor", "spn") ,("stage director", "sgd") ,("stage manager", "stm") ,("standards body", "stn") ,("stereotyper", "str") ,("storyteller", "stl") ,("supporting host", "sht") ,("surveyor", "srv") ,("teacher", "tch") ,("technical director", "tcd") ,("television director", "tld") ,("television producer", "tlp") ,("thesis advisor", "ths") ,("transcriber", "trc") ,("translator", "trl") ,("type designer", "tyd") ,("typographer", "tyg") ,("university place", "uvp") ,("videographer", "vdg") ,("witness", "wit") ,("wood engraver", "wde") ,("woodcutter", "wdc") ,("writer of accompanying material", "wam") ,("writer of added commentary", "wac") ,("writer of added lyrics", "wal") ,("writer of added text", "wat") ] docTitle' :: Meta -> [Inline] docTitle' meta = maybe [] go $ lookupMeta "title" meta where go (MetaString s) = [Str s] go (MetaInlines xs) = xs go (MetaBlocks [Para xs]) = xs go (MetaBlocks [Plain xs]) = xs go (MetaMap m) = case M.lookup "type" m of Just x | stringify x == "main" -> maybe [] go $ M.lookup "text" m _ -> [] go (MetaList xs) = concatMap go xs go _ = [] pandoc-2.9.2.1/src/Text/Pandoc/Writers/FB2.hs000066400000000000000000000543321363630463000204250ustar00rootroot00000000000000{-# LANGUAGE PatternGuards #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.FB2 Copyright : Copyright (C) 2011-2012 Sergey Astanin 2012-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Conversion of 'Pandoc' documents to FB2 (FictionBook2) format. FictionBook is an XML-based e-book format. For more information see: -} module Text.Pandoc.Writers.FB2 (writeFB2) where import Control.Monad (zipWithM) import Control.Monad.Except (catchError) import Control.Monad.State.Strict (StateT, evalStateT, get, gets, lift, liftM, modify) import Data.ByteString.Base64 (encode) import Data.Char (isAscii, isControl, isSpace) import Data.Either (lefts, rights) import Data.List (intercalate) import Data.Text (Text, pack) import qualified Data.Text as T import qualified Data.Text.Encoding as TE import Network.HTTP (urlEncode) import Text.XML.Light import qualified Text.XML.Light as X import qualified Text.XML.Light.Cursor as XC import qualified Text.XML.Light.Input as XI import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import qualified Text.Pandoc.Class.PandocMonad as P import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.Pandoc.Options (HTMLMathMethod (..), WriterOptions (..), def) import Text.Pandoc.Shared (capitalize, isURI, orderedListMarkers, makeSections, tshow) import Text.Pandoc.Writers.Shared (lookupMetaString) -- | Data to be written at the end of the document: -- (foot)notes, URLs, references, images. data FbRenderState = FbRenderState { footnotes :: [ (Int, Text, [Content]) ] -- ^ #, ID, text , imagesToFetch :: [ (Text, Text) ] -- ^ filename, URL or path , parentListMarker :: Text -- ^ list marker of the parent ordered list , writerOptions :: WriterOptions } deriving (Show) -- | FictionBook building monad. type FBM m = StateT FbRenderState m newFB :: FbRenderState newFB = FbRenderState { footnotes = [], imagesToFetch = [] , parentListMarker = "" , writerOptions = def } data ImageMode = NormalImage | InlineImage deriving (Eq) instance Show ImageMode where show NormalImage = "imageType" show InlineImage = "inlineImageType" -- | Produce an FB2 document from a 'Pandoc' document. writeFB2 :: PandocMonad m => WriterOptions -- ^ conversion options -> Pandoc -- ^ document to convert -> m Text -- ^ FictionBook2 document (not encoded yet) writeFB2 opts doc = flip evalStateT newFB $ pandocToFB2 opts doc pandocToFB2 :: PandocMonad m => WriterOptions -> Pandoc -> FBM m Text pandocToFB2 opts (Pandoc meta blocks) = do modify (\s -> s { writerOptions = opts }) desc <- description meta title <- cMapM toXml . docTitle $ meta secs <- renderSections 1 blocks let body = el "body" $ el "title" (el "p" title) : secs notes <- renderFootnotes (imgs,missing) <- fmap imagesToFetch get >>= \s -> lift (fetchImages s) let body' = replaceImagesWithAlt missing body let fb2_xml = el "FictionBook" (fb2_attrs, [desc, body'] ++ notes ++ imgs) return $ pack $ xml_head ++ showContent fb2_xml ++ "\n" where xml_head = "\n" fb2_attrs = let xmlns = "http://www.gribuser.ru/xml/fictionbook/2.0" xlink = "http://www.w3.org/1999/xlink" in [ uattr "xmlns" xmlns , attr ("xmlns", "l") xlink ] description :: PandocMonad m => Meta -> FBM m Content description meta' = do let genre = case lookupMetaString "genre" meta' of "" -> el "genre" ("unrecognised" :: String) s -> el "genre" (T.unpack s) bt <- booktitle meta' let as = authors meta' dd <- docdate meta' annotation <- case lookupMeta "abstract" meta' of Just (MetaBlocks bs) -> list . el "annotation" <$> cMapM blockToXml (map unPlain bs) _ -> pure mempty let lang = case lookupMeta "lang" meta' of Just (MetaInlines [Str s]) -> [el "lang" $ iso639 s] Just (MetaString s) -> [el "lang" $ iso639 s] _ -> [] where iso639 = T.unpack . T.takeWhile (/= '-') -- Convert BCP 47 to ISO 639 let coverimage url = do let img = Image nullAttr mempty (url, "") im <- insertImage InlineImage img return [el "coverpage" im] coverpage <- case lookupMeta "cover-image" meta' of Just (MetaInlines [Str s]) -> coverimage s Just (MetaString s) -> coverimage s _ -> return [] return $ el "description" [ el "title-info" (genre : (as ++ bt ++ annotation ++ dd ++ coverpage ++ lang)) , el "document-info" [el "program-used" ("pandoc" :: String)] ] booktitle :: PandocMonad m => Meta -> FBM m [Content] booktitle meta' = do t <- cMapM toXml . docTitle $ meta' return $ [el "book-title" t | not (null t)] authors :: Meta -> [Content] authors meta' = cMap author (docAuthors meta') author :: [Inline] -> [Content] author ss = let ws = words . cMap plain $ ss email = el "email" <$> take 1 (filter ('@' `elem`) ws) ws' = filter ('@' `notElem`) ws names = case ws' of [nickname] -> [ el "nickname" nickname ] [fname, lname] -> [ el "first-name" fname , el "last-name" lname ] (fname:rest) -> [ el "first-name" fname , el "middle-name" (concat . init $ rest) , el "last-name" (last rest) ] [] -> [] in list $ el "author" (names ++ email) docdate :: PandocMonad m => Meta -> FBM m [Content] docdate meta' = do let ss = docDate meta' d <- cMapM toXml ss return $ [el "date" d | not (null d)] -- | Divide the stream of blocks into sections and convert to XML -- representation. renderSections :: PandocMonad m => Int -> [Block] -> FBM m [Content] renderSections level blocks = do let blocks' = makeSections False Nothing blocks let isSection (Div (_,"section":_,_) (Header{}:_)) = True isSection _ = False let (initialBlocks, secs) = break isSection blocks' let blocks'' = if null initialBlocks then blocks' else Div ("",["section"],[]) (Header 1 nullAttr mempty : initialBlocks) : secs cMapM (renderSection level) blocks'' renderSection :: PandocMonad m => Int -> Block -> FBM m [Content] renderSection lvl (Div (id',"section":_,_) (Header _ _ title : xs)) = do title' <- if null title then return [] else list . el "title" <$> formatTitle title content <- cMapM (renderSection (lvl + 1)) xs let sectionContent = if T.null id' then el "section" (title' ++ content) else el "section" ([uattr "id" id'], title' ++ content) return [sectionContent] renderSection _ b = blockToXml b -- | Only

    and are allowed within in FB2. formatTitle :: PandocMonad m => [Inline] -> FBM m [Content] formatTitle inlines = cMapM (blockToXml . Para) $ split (== LineBreak) inlines split :: (a -> Bool) -> [a] -> [[a]] split _ [] = [] split cond xs = let (b,a) = break cond xs in (b:split cond (drop 1 a)) isLineBreak :: Inline -> Bool isLineBreak LineBreak = True isLineBreak _ = False -- | Make another FictionBook body with footnotes. renderFootnotes :: PandocMonad m => FBM m [Content] renderFootnotes = do fns <- footnotes `liftM` get if null fns then return [] -- no footnotes else return . list $ el "body" ([uattr "name" "notes"], map renderFN (reverse fns)) where renderFN (n, idstr, cs) = let fn_texts = el "title" (el "p" (show n)) : cs in el "section" ([uattr "id" idstr], fn_texts) -- | Fetch images and encode them for the FictionBook XML. -- Return image data and a list of hrefs of the missing images. fetchImages :: PandocMonad m => [(Text,Text)] -> m ([Content],[Text]) fetchImages links = do imgs <- mapM (uncurry fetchImage) links return (rights imgs, lefts imgs) -- | Fetch image data from disk or from network and make a <binary> XML section. -- Return either (Left hrefOfMissingImage) or (Right xmlContent). fetchImage :: PandocMonad m => Text -> Text -> m (Either Text Content) fetchImage href link = do mbimg <- case (isURI link, readDataURI link) of (True, Just (mime,_,True,base64)) -> let mime' = T.toLower mime in if mime' == "image/png" || mime' == "image/jpeg" then return (Just (mime',base64)) else return Nothing (True, Just _) -> return Nothing -- not base64-encoded _ -> catchError (do (bs, mbmime) <- P.fetchItem link case mbmime of Nothing -> do report $ CouldNotDetermineMimeType link return Nothing Just mime -> return $ Just (mime, TE.decodeUtf8 $ encode bs)) (\e -> do report $ CouldNotFetchResource link (tshow e) return Nothing) case mbimg of Just (imgtype, imgdata) -> return . Right $ el "binary" ( [uattr "id" href , uattr "content-type" imgtype] , txt imgdata ) _ -> return (Left ("#" <> href)) -- | Extract mime type and encoded data from the Data URI. readDataURI :: Text -- ^ URI -> Maybe (Text,Text,Bool,Text) -- ^ Maybe (mime,charset,isBase64,data) readDataURI uri = case T.stripPrefix "data:" uri of Nothing -> Nothing Just rest -> let meta = T.takeWhile (/= ',') rest -- without trailing ',' uridata = T.drop (T.length meta + 1) rest parts = T.split (== ';') meta (mime,cs,enc)=foldr upd ("text/plain","US-ASCII",False) parts in Just (mime,cs,enc,uridata) where upd str m@(mime,cs,enc) | isMimeType str = (str,cs,enc) | Just str' <- T.stripPrefix "charset=" str = (mime,str',enc) | str == "base64" = (mime,cs,True) | otherwise = m -- Without parameters like ;charset=...; see RFC 2045, 5.1 isMimeType :: Text -> Bool isMimeType s = case T.split (=='/') s of [mtype,msubtype] -> (T.toLower mtype `elem` types || "x-" `T.isPrefixOf` T.toLower mtype) && T.all valid mtype && T.all valid msubtype _ -> False where types = ["text","image","audio","video","application","message","multipart"] valid c = isAscii c && not (isControl c) && not (isSpace c) && c `notElem` ("()<>@,;:\\\"/[]?=" :: String) footnoteID :: Int -> Text footnoteID i = "n" <> tshow i mkitem :: PandocMonad m => Text -> [Block] -> FBM m [Content] mkitem mrk bs = do pmrk <- gets parentListMarker let nmrk = pmrk <> mrk <> " " modify (\s -> s { parentListMarker = nmrk}) item <- cMapM blockToXml $ plainToPara $ indentBlocks nmrk bs modify (\s -> s { parentListMarker = pmrk }) -- old parent marker return item -- | Convert a block-level Pandoc's element to FictionBook XML representation. blockToXml :: PandocMonad m => Block -> FBM m [Content] blockToXml (Plain ss) = cMapM toXml ss -- FIXME: can lead to malformed FB2 blockToXml (Para [Math DisplayMath formula]) = insertMath NormalImage formula -- title beginning with fig: indicates that the image is a figure blockToXml (Para [Image atr alt (src,tgt)]) | Just tit <- T.stripPrefix "fig:" tgt = insertImage NormalImage (Image atr alt (src,tit)) blockToXml (Para ss) = list . el "p" <$> cMapM toXml ss blockToXml (CodeBlock _ s) = return . spaceBeforeAfter . map (el "p" . el "code" . T.unpack) . T.lines $ s blockToXml (RawBlock f str) = if f == Format "fb2" then return $ XI.parseXML str else return [] blockToXml (Div _ bs) = cMapM blockToXml bs blockToXml (BlockQuote bs) = list . el "cite" <$> cMapM blockToXml bs blockToXml (LineBlock lns) = list . el "poem" <$> mapM stanza (split null lns) where v xs = el "v" <$> cMapM toXml xs stanza xs = el "stanza" <$> mapM v xs blockToXml (OrderedList a bss) = concat <$> zipWithM mkitem markers bss where markers = orderedListMarkers a blockToXml (BulletList bss) = cMapM (mkitem "•") bss blockToXml (DefinitionList defs) = cMapM mkdef defs where mkdef (term, bss) = do items <- cMapM (cMapM blockToXml . plainToPara . indentBlocks (T.replicate 4 " ")) bss t <- wrap "strong" term return (el "p" t : items) blockToXml h@Header{} = do -- should not occur after makeSections, except inside lists/blockquotes report $ BlockNotRendered h return [] blockToXml HorizontalRule = return [ el "empty-line" () ] blockToXml (Table caption aligns _ headers rows) = do hd <- mkrow "th" headers aligns bd <- mapM (\r -> mkrow "td" r aligns) rows c <- el "emphasis" <$> cMapM toXml caption return [el "table" (hd : bd), el "p" c] where mkrow :: PandocMonad m => String -> [TableCell] -> [Alignment] -> FBM m Content mkrow tag cells aligns' = el "tr" <$> mapM (mkcell tag) (zip cells aligns') -- mkcell :: PandocMonad m => String -> (TableCell, Alignment) -> FBM m Content mkcell tag (cell, align) = do cblocks <- cMapM blockToXml cell return $ el tag ([align_attr align], cblocks) -- align_attr a = Attr (QName "align" Nothing Nothing) (align_str a) align_str AlignLeft = "left" align_str AlignCenter = "center" align_str AlignRight = "right" align_str AlignDefault = "left" blockToXml Null = return [] -- Replace plain text with paragraphs and add line break after paragraphs. -- It is used to convert plain text from tight list items to paragraphs. plainToPara :: [Block] -> [Block] plainToPara [] = [] plainToPara (Plain inlines : rest) = Para inlines : plainToPara rest plainToPara (Para inlines : rest) = Para inlines : HorizontalRule : plainToPara rest -- HorizontalRule will be converted to <empty-line /> plainToPara (p:rest) = p : plainToPara rest -- Replace plain text with paragraphs unPlain :: Block -> Block unPlain (Plain inlines) = Para inlines unPlain x = x -- Simulate increased indentation level. Will not really work -- for multi-line paragraphs. indentPrefix :: Text -> Block -> Block indentPrefix spacer = indentBlock where indentBlock (Plain ins) = Plain (Str spacer:ins) indentBlock (Para ins) = Para (Str spacer:ins) indentBlock (CodeBlock a s) = let s' = T.unlines . map (spacer<>) . T.lines $ s in CodeBlock a s' indentBlock (BlockQuote bs) = BlockQuote (map indent bs) indentBlock (Header l attr' ins) = Header l attr' (indentLines ins) indentBlock everythingElse = everythingElse -- indent every (explicit) line indentLines :: [Inline] -> [Inline] indentLines ins = let lns = split isLineBreak ins :: [[Inline]] in intercalate [LineBreak] $ map (Str spacer:) lns indent :: Block -> Block indent = indentPrefix spacer where -- indentation space spacer :: Text spacer = T.replicate 4 " " indentBlocks :: Text -> [Block] -> [Block] indentBlocks _ [] = [] indentBlocks prefix (x:xs) = indentPrefix prefix x : map (indentPrefix $ T.replicate (T.length prefix) " ") xs -- | Convert a Pandoc's Inline element to FictionBook XML representation. toXml :: PandocMonad m => Inline -> FBM m [Content] toXml (Str s) = return [txt s] toXml (Span _ ils) = cMapM toXml ils toXml (Emph ss) = list `liftM` wrap "emphasis" ss toXml (Strong ss) = list `liftM` wrap "strong" ss toXml (Strikeout ss) = list `liftM` wrap "strikethrough" ss toXml (Superscript ss) = list `liftM` wrap "sup" ss toXml (Subscript ss) = list `liftM` wrap "sub" ss toXml (SmallCaps ss) = cMapM toXml $ capitalize ss toXml (Quoted SingleQuote ss) = do -- FIXME: should be language-specific inner <- cMapM toXml ss return $ [txt "‘"] ++ inner ++ [txt "’"] toXml (Quoted DoubleQuote ss) = do inner <- cMapM toXml ss return $ [txt "“"] ++ inner ++ [txt "”"] toXml (Cite _ ss) = cMapM toXml ss -- FIXME: support citation styles toXml (Code _ s) = return [el "code" $ T.unpack s] toXml Space = return [txt " "] toXml SoftBreak = return [txt "\n"] toXml LineBreak = return [txt "\n"] toXml (Math _ formula) = insertMath InlineImage formula toXml il@(RawInline _ _) = do report $ InlineNotRendered il return [] -- raw TeX and raw HTML are suppressed toXml (Link _ text (url,_)) = do ln_text <- cMapM toXml text return [ el "a" ( [ attr ("l","href") url ], ln_text) ] toXml img@Image{} = insertImage InlineImage img toXml (Note bs) = do fns <- footnotes `liftM` get let n = 1 + length fns let fn_id = footnoteID n fn_desc <- cMapM blockToXml bs modify (\s -> s { footnotes = (n, fn_id, fn_desc) : fns }) let fn_ref = txt $ "[" <> tshow n <> "]" return . list $ el "a" ( [ attr ("l","href") ("#" <> fn_id) , uattr "type" "note" ] , fn_ref ) insertMath :: PandocMonad m => ImageMode -> Text -> FBM m [Content] insertMath immode formula = do htmlMath <- fmap (writerHTMLMathMethod . writerOptions) get case htmlMath of WebTeX url -> do let alt = [Code nullAttr formula] let imgurl = url <> T.pack (urlEncode $ T.unpack formula) let img = Image nullAttr alt (imgurl, "") insertImage immode img _ -> return [el "code" $ T.unpack formula] insertImage :: PandocMonad m => ImageMode -> Inline -> FBM m [Content] insertImage immode (Image _ alt (url,ttl)) = do images <- imagesToFetch `liftM` get let n = 1 + length images let fname = "image" <> tshow n modify (\s -> s { imagesToFetch = (fname, url) : images }) let ttlattr = case (immode, T.null ttl) of (NormalImage, False) -> [ uattr "title" ttl ] _ -> [] return . list $ el "image" $ [ attr ("l","href") ("#" <> fname) , attr ("l","type") (tshow immode) , uattr "alt" (T.pack $ cMap plain alt) ] ++ ttlattr insertImage _ _ = error "unexpected inline instead of image" replaceImagesWithAlt :: [Text] -> Content -> Content replaceImagesWithAlt missingHrefs body = let cur = XC.fromContent body cur' = replaceAll cur in XC.toTree . XC.root $ cur' where -- replaceAll :: XC.Cursor -> XC.Cursor replaceAll c = let n = XC.current c c' = if isImage n && isMissing n then XC.modifyContent replaceNode c else c in case XC.nextDF c' of (Just cnext) -> replaceAll cnext Nothing -> c' -- end of document -- isImage :: Content -> Bool isImage (Elem e) = elName e == uname "image" isImage _ = False -- isMissing (Elem img@Element{}) = let imgAttrs = elAttribs img badAttrs = map (attr ("l","href")) missingHrefs in any (`elem` imgAttrs) badAttrs isMissing _ = False -- replaceNode :: Content -> Content replaceNode n@(Elem img@Element{}) = let attrs = elAttribs img alt = getAttrVal attrs (uname "alt") imtype = getAttrVal attrs (qname "l" "type") in case (alt, imtype) of (Just alt', Just imtype') -> if imtype' == show NormalImage then el "p" alt' else txt $ T.pack alt' (Just alt', Nothing) -> txt $ T.pack alt' -- no type attribute _ -> n -- don't replace if alt text is not found replaceNode n = n -- getAttrVal :: [X.Attr] -> QName -> Maybe String getAttrVal attrs name = case filter ((name ==) . attrKey) attrs of (a:_) -> Just (attrVal a) _ -> Nothing -- | Wrap all inlines with an XML tag (given its unqualified name). wrap :: PandocMonad m => String -> [Inline] -> FBM m Content wrap tagname inlines = el tagname `liftM` cMapM toXml inlines -- " Create a singleton list. list :: a -> [a] list = (:[]) -- | Convert an 'Inline' to plaintext. plain :: Inline -> String plain (Str s) = T.unpack s plain (Emph ss) = cMap plain ss plain (Span _ ss) = cMap plain ss plain (Strong ss) = cMap plain ss plain (Strikeout ss) = cMap plain ss plain (Superscript ss) = cMap plain ss plain (Subscript ss) = cMap plain ss plain (SmallCaps ss) = cMap plain ss plain (Quoted _ ss) = cMap plain ss plain (Cite _ ss) = cMap plain ss -- FIXME plain (Code _ s) = T.unpack s plain Space = " " plain SoftBreak = " " plain LineBreak = "\n" plain (Math _ s) = T.unpack s plain (RawInline _ _) = "" plain (Link _ text (url,_)) = concat (map plain text ++ [" <", T.unpack url, ">"]) plain (Image _ alt _) = cMap plain alt plain (Note _) = "" -- FIXME -- | Create an XML element. el :: (Node t) => String -- ^ unqualified element name -> t -- ^ node contents -> Content -- ^ XML content el name cs = Elem $ unode name cs -- | Put empty lines around content spaceBeforeAfter :: [Content] -> [Content] spaceBeforeAfter cs = let emptyline = el "empty-line" () in [emptyline] ++ cs ++ [emptyline] -- | Create a plain-text XML content. txt :: Text -> Content txt s = Text $ CData CDataText (T.unpack s) Nothing -- | Create an XML attribute with an unqualified name. uattr :: String -> Text -> Text.XML.Light.Attr uattr name = Attr (uname name) . T.unpack -- | Create an XML attribute with a qualified name from given namespace. attr :: (String, String) -> Text -> Text.XML.Light.Attr attr (ns, name) = Attr (qname ns name) . T.unpack -- | Unqualified name uname :: String -> QName uname name = QName name Nothing Nothing -- | Qualified name qname :: String -> String -> QName qname ns name = QName name Nothing (Just ns) -- | Abbreviation for 'concatMap'. cMap :: (a -> [b]) -> [a] -> [b] cMap = concatMap -- | Monadic equivalent of 'concatMap'. cMapM :: (Monad m) => (a -> m [b]) -> [a] -> m [b] cMapM f xs = concat `liftM` mapM f xs ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/HTML.hs������������������������������������������������������0000664�0000000�0000000�00000164715�13636304630�0020627�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE MultiWayIf #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.HTML Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to HTML. -} module Text.Pandoc.Writers.HTML ( writeHtml4, writeHtml4String, writeHtml5, writeHtml5String, writeHtmlStringForEPUB, writeS5, writeSlidy, writeSlideous, writeDZSlides, writeRevealJs, tagWithAttributes ) where import Control.Monad.State.Strict import Data.Char (ord) import Data.List (intercalate, intersperse, partition, delete, (\\)) import Data.Maybe (fromMaybe, isJust, isNothing, mapMaybe) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import qualified Data.Text.Lazy as TL import Network.HTTP (urlEncode) import Network.URI (URI (..), parseURIReference) import Numeric (showHex) import Text.DocLayout (render, literal) import Text.Blaze.Internal (MarkupM (Empty), customLeaf, customParent) import Text.DocTemplates (FromContext (lookupContext), Context (..)) import Text.Blaze.Html hiding (contents) import Text.Pandoc.Definition import Text.Pandoc.Highlighting (formatHtmlBlock, formatHtmlInline, highlight, styleToCss) import Text.Pandoc.ImageSize import Text.Pandoc.Options import Text.Pandoc.Shared import Text.Pandoc.Slides import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Walk import Text.Pandoc.Writers.Math import Text.Pandoc.Writers.Shared import Text.Pandoc.XML (escapeStringForXML, fromEntities, toEntities, html5Attributes, html4Attributes, rdfaAttributes) import qualified Text.Blaze.XHtml5 as H5 import qualified Text.Blaze.XHtml5.Attributes as A5 import Control.Monad.Except (throwError) import System.FilePath (takeBaseName) import Text.Blaze.Html.Renderer.Text (renderHtml) import qualified Text.Blaze.XHtml1.Transitional as H import qualified Text.Blaze.XHtml1.Transitional.Attributes as A import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Class.PandocPure (runPure) import Text.Pandoc.Error import Text.Pandoc.Logging import Text.Pandoc.MIME (mediaCategory) import Text.TeXMath import Text.XML.Light (elChildren, unode, unqual) import qualified Text.XML.Light as XML import Text.XML.Light.Output data WriterState = WriterState { stNotes :: [Html] -- ^ List of notes , stMath :: Bool -- ^ Math is used in document , stQuotes :: Bool -- ^ <q> tag is used , stHighlighting :: Bool -- ^ Syntax highlighting is used , stHtml5 :: Bool -- ^ Use HTML5 , stEPUBVersion :: Maybe EPUBVersion -- ^ EPUB version if for epub , stSlideVariant :: HTMLSlideVariant , stSlideLevel :: Int -- ^ Slide level , stInSection :: Bool -- ^ Content is in a section (revealjs) , stCodeBlockNum :: Int -- ^ Number of code block } defaultWriterState :: WriterState defaultWriterState = WriterState {stNotes= [], stMath = False, stQuotes = False, stHighlighting = False, stHtml5 = False, stEPUBVersion = Nothing, stSlideVariant = NoSlides, stSlideLevel = 1, stInSection = False, stCodeBlockNum = 0} -- Helpers to render HTML with the appropriate function. strToHtml :: Text -> Html strToHtml = strToHtml' . T.unpack where strToHtml' ('\'':xs) = preEscapedString "\'" `mappend` strToHtml' xs strToHtml' ('"' :xs) = preEscapedString "\"" `mappend` strToHtml' xs strToHtml' (x:xs) | needsVariationSelector x = preEscapedString [x, '\xFE0E'] `mappend` case xs of ('\xFE0E':ys) -> strToHtml' ys _ -> strToHtml' xs strToHtml' xs@(_:_) = case break (\c -> c == '\'' || c == '"' || needsVariationSelector c) xs of (_ ,[]) -> toHtml xs (ys,zs) -> toHtml ys `mappend` strToHtml' zs strToHtml' [] = "" -- See #5469: this prevents iOS from substituting emojis. needsVariationSelector :: Char -> Bool needsVariationSelector '↩' = True needsVariationSelector '↔' = True needsVariationSelector _ = False -- | Hard linebreak. nl :: WriterOptions -> Html nl opts = if writerWrapText opts == WrapNone then mempty else preEscapedString "\n" -- | Convert Pandoc document to Html 5 string. writeHtml5String :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeHtml5String = writeHtmlString' defaultWriterState{ stHtml5 = True } -- | Convert Pandoc document to Html 5 structure. writeHtml5 :: PandocMonad m => WriterOptions -> Pandoc -> m Html writeHtml5 = writeHtml' defaultWriterState{ stHtml5 = True } -- | Convert Pandoc document to Html 4 string. writeHtml4String :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeHtml4String = writeHtmlString' defaultWriterState{ stHtml5 = False } -- | Convert Pandoc document to Html 4 structure. writeHtml4 :: PandocMonad m => WriterOptions -> Pandoc -> m Html writeHtml4 = writeHtml' defaultWriterState{ stHtml5 = False } -- | Convert Pandoc document to Html appropriate for an epub version. writeHtmlStringForEPUB :: PandocMonad m => EPUBVersion -> WriterOptions -> Pandoc -> m Text writeHtmlStringForEPUB version o = writeHtmlString' defaultWriterState{ stHtml5 = version == EPUB3, stEPUBVersion = Just version } o -- | Convert Pandoc document to Reveal JS HTML slide show. writeRevealJs :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeRevealJs = writeHtmlSlideShow' RevealJsSlides -- | Convert Pandoc document to S5 HTML slide show. writeS5 :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeS5 = writeHtmlSlideShow' S5Slides -- | Convert Pandoc document to Slidy HTML slide show. writeSlidy :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeSlidy = writeHtmlSlideShow' SlidySlides -- | Convert Pandoc document to Slideous HTML slide show. writeSlideous :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeSlideous = writeHtmlSlideShow' SlideousSlides -- | Convert Pandoc document to DZSlides HTML slide show. writeDZSlides :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeDZSlides = writeHtmlSlideShow' DZSlides writeHtmlSlideShow' :: PandocMonad m => HTMLSlideVariant -> WriterOptions -> Pandoc -> m Text writeHtmlSlideShow' variant = writeHtmlString' defaultWriterState{ stSlideVariant = variant , stHtml5 = case variant of RevealJsSlides -> True S5Slides -> False SlidySlides -> False DZSlides -> True SlideousSlides -> False NoSlides -> False } renderHtml' :: Html -> Text renderHtml' = TL.toStrict . renderHtml writeHtmlString' :: PandocMonad m => WriterState -> WriterOptions -> Pandoc -> m Text writeHtmlString' st opts d = do (body, context) <- evalStateT (pandocToHtml opts d) st (if writerPreferAscii opts then toEntities else id) <$> case writerTemplate opts of Nothing -> return $ renderHtml' body Just tpl -> do -- warn if empty lang when (isNothing (getField "lang" context :: Maybe Text)) $ report NoLangSpecified -- check for empty pagetitle context' <- case getField "pagetitle" context of Just (s :: Text) | not (T.null s) -> return context _ -> do let fallback = T.pack $ case lookupContext "sourcefile" (writerVariables opts) of Nothing -> "Untitled" Just [] -> "Untitled" Just (x:_) -> takeBaseName $ T.unpack x report $ NoTitleElement fallback return $ resetField "pagetitle" fallback context return $ render Nothing $ renderTemplate tpl (defField "body" (renderHtml' body) context') writeHtml' :: PandocMonad m => WriterState -> WriterOptions -> Pandoc -> m Html writeHtml' st opts d = case writerTemplate opts of Just _ -> preEscapedText <$> writeHtmlString' st opts d Nothing | writerPreferAscii opts -> preEscapedText <$> writeHtmlString' st opts d | otherwise -> do (body, _) <- evalStateT (pandocToHtml opts d) st return body -- result is (title, authors, date, toc, body, new variables) pandocToHtml :: PandocMonad m => WriterOptions -> Pandoc -> StateT WriterState m (Html, Context Text) pandocToHtml opts (Pandoc meta blocks) = do let slideLevel = fromMaybe (getSlideLevel blocks) $ writerSlideLevel opts modify $ \st -> st{ stSlideLevel = slideLevel } metadata <- metaToContext opts (fmap (literal . renderHtml') . blockListToHtml opts) (fmap (literal . renderHtml') . inlineListToHtml opts) meta let stringifyHTML = escapeStringForXML . stringify let authsMeta = map stringifyHTML $ docAuthors meta let dateMeta = stringifyHTML $ docDate meta slideVariant <- gets stSlideVariant let sects = adjustNumbers opts $ makeSections (writerNumberSections opts) Nothing $ if slideVariant == NoSlides then blocks else prepSlides slideLevel blocks toc <- if writerTableOfContents opts && slideVariant /= S5Slides then fmap renderHtml' <$> tableOfContents opts sects else return Nothing blocks' <- blockListToHtml opts sects st <- get notes <- footnoteSection opts (reverse (stNotes st)) let thebody = blocks' >> notes let math = case writerHTMLMathMethod opts of MathJax url | slideVariant /= RevealJsSlides -> -- mathjax is handled via a special plugin in revealjs H.script ! A.src (toValue url) ! A.type_ "text/javascript" $ case slideVariant of SlideousSlides -> preEscapedString "MathJax.Hub.Queue([\"Typeset\",MathJax.Hub]);" _ -> mempty KaTeX url -> do H.script ! A.src (toValue $ url <> "katex.min.js") $ mempty nl opts let katexFlushLeft = case lookupContext "classoption" metadata of Just clsops | "fleqn" `elem` (clsops :: [Text]) -> "true" _ -> "false" H.script $ text $ T.unlines [ "document.addEventListener(\"DOMContentLoaded\", function () {" , " var mathElements = document.getElementsByClassName(\"math\");" , " for (var i = 0; i < mathElements.length; i++) {" , " var texText = mathElements[i].firstChild;" , " if (mathElements[i].tagName == \"SPAN\") {" , " katex.render(texText.data, mathElements[i], {" , " displayMode: mathElements[i].classList.contains('display')," , " throwOnError: false," , " fleqn: " <> katexFlushLeft , " });" , "}}});" ] nl opts H.link ! A.rel "stylesheet" ! A.href (toValue $ url <> "katex.min.css") _ -> case lookupContext "mathml-script" (writerVariables opts) of Just s | not (stHtml5 st) -> H.script ! A.type_ "text/javascript" $ preEscapedString ("/*<![CDATA[*/\n" ++ T.unpack s ++ "/*]]>*/\n") | otherwise -> mempty Nothing -> mempty let context = (if stHighlighting st then case writerHighlightStyle opts of Just sty -> defField "highlighting-css" (T.pack $ styleToCss sty) Nothing -> id else id) $ (if stMath st then defField "math" (renderHtml' math) else id) $ (case writerHTMLMathMethod opts of MathJax u -> defField "mathjax" True . defField "mathjaxurl" (T.takeWhile (/='?') u) _ -> defField "mathjax" False) $ defField "quotes" (stQuotes st) $ -- for backwards compatibility we populate toc -- with the contents of the toc, rather than a -- boolean: maybe id (defField "toc") toc $ maybe id (defField "table-of-contents") toc $ defField "author-meta" authsMeta $ maybe id (defField "date-meta") (normalizeDate dateMeta) $ defField "pagetitle" (stringifyHTML . docTitle $ meta) $ defField "idprefix" (writerIdentifierPrefix opts) $ -- these should maybe be set in pandoc.hs defField "slidy-url" ("https://www.w3.org/Talks/Tools/Slidy2" :: Text) $ defField "slideous-url" ("slideous" :: Text) $ defField "revealjs-url" ("reveal.js" :: Text) $ defField "s5-url" ("s5/default" :: Text) $ defField "html5" (stHtml5 st) metadata return (thebody, context) -- | Like Text.XHtml's identifier, but adds the writerIdentifierPrefix prefixedId :: WriterOptions -> Text -> Attribute prefixedId opts s = case s of "" -> mempty _ -> A.id $ toValue $ writerIdentifierPrefix opts <> s toList :: PandocMonad m => (Html -> Html) -> WriterOptions -> [Html] -> StateT WriterState m Html toList listop opts items = do slideVariant <- gets stSlideVariant return $ if writerIncremental opts then if slideVariant /= RevealJsSlides then listop (mconcat items) ! A.class_ "incremental" else listop $ mconcat $ map (! A.class_ "fragment") items else listop $ mconcat items unordList :: PandocMonad m => WriterOptions -> [Html] -> StateT WriterState m Html unordList opts = toList H.ul opts . toListItems opts ordList :: PandocMonad m => WriterOptions -> [Html] -> StateT WriterState m Html ordList opts = toList H.ol opts . toListItems opts defList :: PandocMonad m => WriterOptions -> [Html] -> StateT WriterState m Html defList opts items = toList H.dl opts (items ++ [nl opts]) isTaskListItem :: [Block] -> Bool isTaskListItem (Plain (Str "☐":Space:_):_) = True isTaskListItem (Plain (Str "☒":Space:_):_) = True isTaskListItem (Para (Str "☐":Space:_):_) = True isTaskListItem (Para (Str "☒":Space:_):_) = True isTaskListItem _ = False listItemToHtml :: PandocMonad m => WriterOptions -> [Block] -> StateT WriterState m Html listItemToHtml opts bls | Plain (Str "☐":Space:is) : bs <- bls = taskListItem False id is bs | Plain (Str "☒":Space:is) : bs <- bls = taskListItem True id is bs | Para (Str "☐":Space:is) : bs <- bls = taskListItem False H.p is bs | Para (Str "☒":Space:is) : bs <- bls = taskListItem True H.p is bs | otherwise = blockListToHtml opts bls where taskListItem checked constr is bs = do let checkbox = if checked then checkbox' ! A.checked "" else checkbox' checkbox' = H.input ! A.type_ "checkbox" ! A.disabled "" >> nl opts isContents <- inlineListToHtml opts is bsContents <- blockListToHtml opts bs return $ constr (checkbox >> isContents) >> bsContents -- | Construct table of contents from list of elements. tableOfContents :: PandocMonad m => WriterOptions -> [Block] -> StateT WriterState m (Maybe Html) tableOfContents _ [] = return Nothing tableOfContents opts sects = do -- in reveal.js, we need #/apples, not #apples: slideVariant <- gets stSlideVariant let opts' = case slideVariant of RevealJsSlides -> opts{ writerIdentifierPrefix = "/" <> writerIdentifierPrefix opts } _ -> opts case toTableOfContents opts sects of bl@(BulletList (_:_)) -> Just <$> blockToHtml opts' bl _ -> return Nothing -- | Convert list of Note blocks to a footnote <div>. -- Assumes notes are sorted. footnoteSection :: PandocMonad m => WriterOptions -> [Html] -> StateT WriterState m Html footnoteSection opts notes = do html5 <- gets stHtml5 slideVariant <- gets stSlideVariant let hrtag = if html5 then H5.hr else H.hr epubVersion <- gets stEPUBVersion let container x | html5 , epubVersion == Just EPUB3 = H5.section ! A.class_ "footnotes" ! customAttribute "epub:type" "footnotes" $ x | html5 = H5.section ! A.class_ "footnotes" ! customAttribute "role" "doc-endnotes" $ x | slideVariant /= NoSlides = H.div ! A.class_ "footnotes slide" $ x | otherwise = H.div ! A.class_ "footnotes" $ x return $ if null notes then mempty else nl opts >> container (nl opts >> hrtag >> nl opts >> H.ol (mconcat notes >> nl opts) >> nl opts) -- | Parse a mailto link; return Just (name, domain) or Nothing. parseMailto :: Text -> Maybe (Text, Text) parseMailto s = case T.break (==':') s of (xs,T.uncons -> Just (':',addr)) | T.toLower xs == "mailto" -> do let (name', rest) = T.span (/='@') addr let domain = T.drop 1 rest return (name', domain) _ -> Prelude.fail "not a mailto: URL" -- | Obfuscate a "mailto:" link. obfuscateLink :: PandocMonad m => WriterOptions -> Attr -> Html -> Text -> StateT WriterState m Html obfuscateLink opts attr txt s | writerEmailObfuscation opts == NoObfuscation = addAttrs opts attr $ H.a ! A.href (toValue s) $ txt obfuscateLink opts attr (TL.toStrict . renderHtml -> txt) s = let meth = writerEmailObfuscation opts s' = T.toLower (T.take 7 s) <> T.drop 7 s in case parseMailto s' of (Just (name', domain)) -> let domain' = T.replace "." " dot " domain at' = obfuscateChar '@' (linkText, altText) = if txt == T.drop 7 s' -- autolink then ("e", name' <> " at " <> domain') else ("'" <> obfuscateString txt <> "'", txt <> " (" <> name' <> " at " <> domain' <> ")") (_, classNames, _) = attr classNamesStr = T.concat $ map (" "<>) classNames in case meth of ReferenceObfuscation -> -- need to use preEscapedString or &'s are escaped to & in URL return $ preEscapedText $ "<a href=\"" <> obfuscateString s' <> "\" class=\"email\">" <> obfuscateString txt <> "</a>" JavascriptObfuscation -> return $ (H.script ! A.type_ "text/javascript" $ preEscapedText ("\n<!--\nh='" <> obfuscateString domain <> "';a='" <> at' <> "';n='" <> obfuscateString name' <> "';e=n+a+h;\n" <> "document.write('<a h'+'ref'+'=\"ma'+'ilto'+':'+e+'\" clas'+'s=\"em' + 'ail" <> classNamesStr <> "\">'+" <> linkText <> "+'<\\/'+'a'+'>');\n// -->\n")) >> H.noscript (preEscapedText $ obfuscateString altText) _ -> throwError $ PandocSomeError $ "Unknown obfuscation method: " <> tshow meth _ -> addAttrs opts attr $ H.a ! A.href (toValue s) $ toHtml txt -- malformed email -- | Obfuscate character as entity. obfuscateChar :: Char -> Text obfuscateChar char = let num = ord char numstr = if even num then show num else "x" <> showHex num "" in "&#" <> T.pack numstr <> ";" -- | Obfuscate string using entities. obfuscateString :: Text -> Text obfuscateString = T.concatMap obfuscateChar . fromEntities -- | Create HTML tag with attributes. tagWithAttributes :: WriterOptions -> Bool -- ^ True for HTML5 -> Bool -- ^ True if self-closing tag -> Text -- ^ Tag text -> Attr -- ^ Pandoc style tag attributes -> Text tagWithAttributes opts html5 selfClosing tagname attr = let mktag = (TL.toStrict . renderHtml <$> evalStateT (addAttrs opts attr (customLeaf (textTag tagname) selfClosing)) defaultWriterState{ stHtml5 = html5 }) in case runPure mktag of Left _ -> mempty Right t -> t addAttrs :: PandocMonad m => WriterOptions -> Attr -> Html -> StateT WriterState m Html addAttrs opts attr h = foldl (!) h <$> attrsToHtml opts attr toAttrs :: PandocMonad m => [(Text, Text)] -> StateT WriterState m [Attribute] toAttrs kvs = do html5 <- gets stHtml5 mbEpubVersion <- gets stEPUBVersion return $ mapMaybe (\(x,y) -> if html5 then if x `Set.member` (html5Attributes <> rdfaAttributes) || T.any (== ':') x -- e.g. epub: namespace || "data-" `T.isPrefixOf` x || "aria-" `T.isPrefixOf` x then Just $ customAttribute (textTag x) (toValue y) else Just $ customAttribute (textTag ("data-" <> x)) (toValue y) else if mbEpubVersion == Just EPUB2 && not (x `Set.member` (html4Attributes <> rdfaAttributes) || "xml:" `T.isPrefixOf` x) then Nothing else Just $ customAttribute (textTag x) (toValue y)) kvs attrsToHtml :: PandocMonad m => WriterOptions -> Attr -> StateT WriterState m [Attribute] attrsToHtml opts (id',classes',keyvals) = do attrs <- toAttrs keyvals return $ [prefixedId opts id' | not (T.null id')] ++ [A.class_ (toValue $ T.unwords classes') | not (null classes')] ++ attrs imgAttrsToHtml :: PandocMonad m => WriterOptions -> Attr -> StateT WriterState m [Attribute] imgAttrsToHtml opts attr = do attrs <- attrsToHtml opts (ident,cls,kvs') dimattrs <- toAttrs (dimensionsToAttrList attr) return $ attrs ++ dimattrs where (ident,cls,kvs) = attr kvs' = filter isNotDim kvs isNotDim ("width", _) = False isNotDim ("height", _) = False isNotDim _ = True dimensionsToAttrList :: Attr -> [(Text, Text)] dimensionsToAttrList attr = consolidateStyles $ go Width ++ go Height where consolidateStyles :: [(Text, Text)] -> [(Text, Text)] consolidateStyles xs = case partition isStyle xs of ([], _) -> xs (ss, rest) -> ("style", T.intercalate ";" $ map snd ss) : rest isStyle ("style", _) = True isStyle _ = False go dir = case dimension dir attr of (Just (Pixel a)) -> [(tshow dir, tshow a)] (Just x) -> [("style", tshow dir <> ":" <> tshow x)] Nothing -> [] figure :: PandocMonad m => WriterOptions -> Attr -> [Inline] -> (Text, Text) -> StateT WriterState m Html figure opts attr txt (s,tit) = do img <- inlineToHtml opts (Image attr [Str ""] (s,tit)) html5 <- gets stHtml5 let tocapt = if html5 then H5.figcaption else H.p ! A.class_ "caption" capt <- if null txt then return mempty else tocapt `fmap` inlineListToHtml opts txt return $ if html5 then H5.figure $ mconcat [nl opts, img, capt, nl opts] else H.div ! A.class_ "figure" $ mconcat [nl opts, img, nl opts, capt, nl opts] adjustNumbers :: WriterOptions -> [Block] -> [Block] adjustNumbers opts doc = if all (==0) (writerNumberOffset opts) then doc else walk go doc where go (Header level (ident,classes,kvs) lst) = Header level (ident,classes,map fixnum kvs) lst go x = x fixnum ("number",num) = ("number", showSecNum $ zipWith (+) (writerNumberOffset opts ++ repeat 0) (map (fromMaybe 0 . safeRead) $ T.split (=='.') num)) fixnum x = x showSecNum = T.intercalate "." . map tshow -- | Convert Pandoc block element to HTML. blockToHtml :: PandocMonad m => WriterOptions -> Block -> StateT WriterState m Html blockToHtml _ Null = return mempty blockToHtml opts (Plain lst) = inlineListToHtml opts lst blockToHtml opts (Para [Image attr@(_,classes,_) txt (src,tit)]) | "stretch" `elem` classes = do slideVariant <- gets stSlideVariant case slideVariant of RevealJsSlides -> -- a "stretched" image in reveal.js must be a direct child -- of the slide container inlineToHtml opts (Image attr txt (src, tit)) _ -> figure opts attr txt (src, tit) -- title beginning with fig: indicates that the image is a figure blockToHtml opts (Para [Image attr txt (s,T.stripPrefix "fig:" -> Just tit)]) = figure opts attr txt (s,tit) blockToHtml opts (Para lst) = do contents <- inlineListToHtml opts lst case contents of Empty _ | not (isEnabled Ext_empty_paragraphs opts) -> return mempty _ -> return $ H.p contents blockToHtml opts (LineBlock lns) = if writerWrapText opts == WrapNone then blockToHtml opts $ linesToPara lns else do htmlLines <- inlineListToHtml opts $ intercalate [LineBreak] lns return $ H.div ! A.class_ "line-block" $ htmlLines blockToHtml opts (Div (ident, "section":dclasses, dkvs) (Header level hattr@(hident,hclasses,hkvs) ils : xs)) = do slideVariant <- gets stSlideVariant slideLevel <- gets stSlideLevel let slide = slideVariant /= NoSlides && level <= slideLevel {- DROPPED old fix for #5168 here -} html5 <- gets stHtml5 let titleSlide = slide && level < slideLevel let level' = if level <= slideLevel && slideVariant == SlidySlides then 1 -- see #3566 else level header' <- if ils == [Str "\0"] -- marker for hrule then return mempty else blockToHtml opts (Header level' hattr ils) let isSec (Div (_,"section":_,_) _) = True isSec (Div _ zs) = any isSec zs isSec _ = False let isPause (Para [Str ".",Space,Str ".",Space,Str "."]) = True isPause _ = False let fragmentClass = case slideVariant of RevealJsSlides -> "fragment" _ -> "incremental" let inDiv zs = RawBlock (Format "html") ("<div class=\"" <> fragmentClass <> "\">") : (zs ++ [RawBlock (Format "html") "</div>"]) let breakOnPauses zs = case splitBy isPause zs of [] -> [] y:ys -> y ++ concatMap inDiv ys let (titleBlocks, innerSecs) = if titleSlide -- title slides have no content of their own then let (as, bs) = break isSec xs in (breakOnPauses as, bs) else ([], breakOnPauses xs) let secttag = if html5 then H5.section else H.div titleContents <- blockListToHtml opts titleBlocks inSection <- gets stInSection innerContents <- do modify $ \st -> st{ stInSection = True } res <- blockListToHtml opts innerSecs modify $ \st -> st{ stInSection = inSection } return res let classes' = ordNub $ ["title-slide" | titleSlide] ++ ["slide" | slide] ++ ["section" | (slide || writerSectionDivs opts) && not html5 ] ++ ["level" <> tshow level | slide || writerSectionDivs opts ] <> dclasses let attr = (ident, classes', dkvs) if titleSlide then do t <- addAttrs opts attr $ secttag $ nl opts <> header' <> nl opts <> titleContents <> nl opts -- ensure 2D nesting for revealjs, but only for one level; -- revealjs doesn't like more than one level of nesting return $ if slideVariant == RevealJsSlides && not inSection && not (null innerSecs) then H5.section (nl opts <> t <> nl opts <> innerContents) else t <> nl opts <> if null innerSecs then mempty else innerContents <> nl opts else if writerSectionDivs opts || slide || (hident /= ident && not (T.null hident || T.null ident)) || (hclasses /= dclasses) || (hkvs /= dkvs) then addAttrs opts attr $ secttag $ nl opts <> header' <> nl opts <> if null innerSecs then mempty else innerContents <> nl opts else do let attr' = (ident, classes' \\ hclasses, dkvs \\ hkvs) t <- addAttrs opts attr' header' return $ t <> if null innerSecs then mempty else nl opts <> innerContents blockToHtml opts (Div attr@(ident, classes, kvs') bs) = do html5 <- gets stHtml5 slideVariant <- gets stSlideVariant let kvs = [(k,v) | (k,v) <- kvs', k /= "width"] ++ [("style", "width:" <> w <> ";") | "column" `elem` classes, ("width", w) <- kvs'] ++ [("role", "doc-bibliography") | ident == "refs" && html5] ++ [("role", "doc-biblioentry") | "ref-item" `T.isPrefixOf` ident && html5] let speakerNotes = "notes" `elem` classes -- we don't want incremental output inside speaker notes, see #1394 let opts' = if | speakerNotes -> opts{ writerIncremental = False } | "incremental" `elem` classes -> opts{ writerIncremental = True } | "nonincremental" `elem` classes -> opts{ writerIncremental = False } | otherwise -> opts -- we remove "incremental" and "nonincremental" if we're in a -- slide presentaiton format. classes' = case slideVariant of NoSlides -> classes _ -> filter (\k -> k /= "incremental" && k /= "nonincremental") classes contents <- if "columns" `elem` classes' then -- we don't use blockListToHtml because it inserts -- a newline between the column divs, which throws -- off widths! see #4028 mconcat <$> mapM (blockToHtml opts) bs else blockListToHtml opts' bs let contents' = nl opts >> contents >> nl opts let (divtag, classes'') = if html5 && "section" `elem` classes' then (H5.section, filter (/= "section") classes') else (H.div, classes') if speakerNotes then case slideVariant of RevealJsSlides -> addAttrs opts' attr $ H5.aside contents' DZSlides -> do t <- addAttrs opts' attr $ H5.div contents' return $ t ! H5.customAttribute "role" "note" NoSlides -> addAttrs opts' attr $ H.div contents' _ -> return mempty else addAttrs opts (ident, classes'', kvs) $ divtag contents' blockToHtml opts (RawBlock f str) = do ishtml <- isRawHtml f if ishtml then return $ preEscapedText str else if (f == Format "latex" || f == Format "tex") && allowsMathEnvironments (writerHTMLMathMethod opts) && isMathEnvironment str then blockToHtml opts $ Plain [Math DisplayMath str] else do report $ BlockNotRendered (RawBlock f str) return mempty blockToHtml _ HorizontalRule = do html5 <- gets stHtml5 return $ if html5 then H5.hr else H.hr blockToHtml opts (CodeBlock (id',classes,keyvals) rawCode) = do id'' <- if T.null id' then do modify $ \st -> st{ stCodeBlockNum = stCodeBlockNum st + 1 } codeblocknum <- gets stCodeBlockNum return (writerIdentifierPrefix opts <> "cb" <> tshow codeblocknum) else return (writerIdentifierPrefix opts <> id') let tolhs = isEnabled Ext_literate_haskell opts && any (\c -> T.toLower c == "haskell") classes && any (\c -> T.toLower c == "literate") classes classes' = if tolhs then map (\c -> if T.toLower c == "haskell" then "literatehaskell" else c) classes else classes adjCode = if tolhs then T.unlines . map ("> " <>) . T.lines $ rawCode else rawCode hlCode = if isJust (writerHighlightStyle opts) then highlight (writerSyntaxMap opts) formatHtmlBlock (id'',classes',keyvals) adjCode else Left "" case hlCode of Left msg -> do unless (T.null msg) $ report $ CouldNotHighlight msg addAttrs opts (id',classes,keyvals) $ H.pre $ H.code $ toHtml adjCode Right h -> modify (\st -> st{ stHighlighting = True }) >> -- we set writerIdentifierPrefix to "" since id'' already -- includes it: addAttrs opts{writerIdentifierPrefix = ""} (id'',[],keyvals) h blockToHtml opts (BlockQuote blocks) = do -- in S5, treat list in blockquote specially -- if default is incremental, make it nonincremental; -- otherwise incremental slideVariant <- gets stSlideVariant if slideVariant /= NoSlides then let inc = not (writerIncremental opts) in case blocks of [BulletList lst] -> blockToHtml (opts {writerIncremental = inc}) (BulletList lst) [OrderedList attribs lst] -> blockToHtml (opts {writerIncremental = inc}) (OrderedList attribs lst) [DefinitionList lst] -> blockToHtml (opts {writerIncremental = inc}) (DefinitionList lst) _ -> do contents <- blockListToHtml opts blocks return $ H.blockquote $ nl opts >> contents >> nl opts else do contents <- blockListToHtml opts blocks return $ H.blockquote $ nl opts >> contents >> nl opts blockToHtml opts (Header level attr@(_,classes,kvs) lst) = do contents <- inlineListToHtml opts lst let secnum = fromMaybe mempty $ lookup "number" kvs let contents' = if writerNumberSections opts && not (T.null secnum) && "unnumbered" `notElem` classes then (H.span ! A.class_ "header-section-number" $ toHtml secnum) >> strToHtml " " >> contents else contents addAttrs opts attr $ case level of 1 -> H.h1 contents' 2 -> H.h2 contents' 3 -> H.h3 contents' 4 -> H.h4 contents' 5 -> H.h5 contents' 6 -> H.h6 contents' _ -> H.p ! A.class_ "heading" $ contents' blockToHtml opts (BulletList lst) = do contents <- mapM (listItemToHtml opts) lst let isTaskList = not (null lst) && all isTaskListItem lst (if isTaskList then (! A.class_ "task-list") else id) <$> unordList opts contents blockToHtml opts (OrderedList (startnum, numstyle, _) lst) = do contents <- mapM (listItemToHtml opts) lst html5 <- gets stHtml5 let numstyle' = case numstyle of Example -> "decimal" _ -> camelCaseToHyphenated $ tshow numstyle let attribs = [A.start $ toValue startnum | startnum /= 1] ++ [A.class_ "example" | numstyle == Example] ++ (if numstyle /= DefaultStyle then if html5 then [A.type_ $ case numstyle of Decimal -> "1" LowerAlpha -> "a" UpperAlpha -> "A" LowerRoman -> "i" UpperRoman -> "I" _ -> "1"] else [A.style $ toValue $ "list-style-type: " <> numstyle'] else []) l <- ordList opts contents return $ foldl (!) l attribs blockToHtml opts (DefinitionList lst) = do contents <- mapM (\(term, defs) -> do term' <- liftM H.dt $ inlineListToHtml opts term defs' <- mapM (liftM (\x -> H.dd (x >> nl opts)) . blockListToHtml opts) defs return $ mconcat $ nl opts : term' : nl opts : intersperse (nl opts) defs') lst defList opts contents blockToHtml opts (Table capt aligns widths headers rows') = do captionDoc <- if null capt then return mempty else do cs <- inlineListToHtml opts capt return $ H.caption cs >> nl opts html5 <- gets stHtml5 let percent w = show (truncate (100*w) :: Integer) <> "%" let coltags = if all (== 0.0) widths then mempty else do H.colgroup $ do nl opts mapM_ (\w -> do if html5 then H.col ! A.style (toValue $ "width: " <> percent w) else H.col ! A.width (toValue $ percent w) nl opts) widths nl opts head' <- if all null headers then return mempty else do contents <- tableRowToHtml opts aligns 0 headers return $ H.thead (nl opts >> contents) >> nl opts body' <- liftM (\x -> H.tbody (nl opts >> mconcat x)) $ zipWithM (tableRowToHtml opts aligns) [1..] rows' let tbl = H.table $ nl opts >> captionDoc >> coltags >> head' >> body' >> nl opts let totalWidth = sum widths -- When widths of columns are < 100%, we need to set width for the whole -- table, or some browsers give us skinny columns with lots of space between: return $ if totalWidth == 0 || totalWidth == 1 then tbl else tbl ! A.style (toValue $ "width:" <> show (round (totalWidth * 100) :: Int) <> "%;") tableRowToHtml :: PandocMonad m => WriterOptions -> [Alignment] -> Int -> [[Block]] -> StateT WriterState m Html tableRowToHtml opts aligns rownum cols' = do let mkcell = if rownum == 0 then H.th else H.td let rowclass = case rownum of 0 -> "header" x | x `rem` 2 == 1 -> "odd" _ -> "even" cols'' <- zipWithM (\alignment item -> tableItemToHtml opts mkcell alignment item) aligns cols' return $ (H.tr ! A.class_ rowclass $ nl opts >> mconcat cols'') >> nl opts alignmentToString :: Alignment -> [Char] alignmentToString alignment = case alignment of AlignLeft -> "left" AlignRight -> "right" AlignCenter -> "center" AlignDefault -> "" tableItemToHtml :: PandocMonad m => WriterOptions -> (Html -> Html) -> Alignment -> [Block] -> StateT WriterState m Html tableItemToHtml opts tag' align' item = do contents <- blockListToHtml opts item html5 <- gets stHtml5 let alignStr = alignmentToString align' let attribs = if html5 then A.style (toValue $ "text-align: " <> alignStr <> ";") else A.align (toValue alignStr) let tag'' = if null alignStr then tag' else tag' ! attribs return $ tag'' contents >> nl opts toListItems :: WriterOptions -> [Html] -> [Html] toListItems opts items = map (toListItem opts) items ++ [nl opts] toListItem :: WriterOptions -> Html -> Html toListItem opts item = nl opts >> H.li item blockListToHtml :: PandocMonad m => WriterOptions -> [Block] -> StateT WriterState m Html blockListToHtml opts lst = mconcat . intersperse (nl opts) . filter nonempty <$> mapM (blockToHtml opts) lst where nonempty (Empty _) = False nonempty _ = True -- | Convert list of Pandoc inline elements to HTML. inlineListToHtml :: PandocMonad m => WriterOptions -> [Inline] -> StateT WriterState m Html inlineListToHtml opts lst = mconcat <$> mapM (inlineToHtml opts) lst -- | Annotates a MathML expression with the tex source annotateMML :: XML.Element -> Text -> XML.Element annotateMML e tex = math (unode "semantics" [cs, unode "annotation" (annotAttrs, T.unpack tex)]) where cs = case elChildren e of [] -> unode "mrow" () [x] -> x xs -> unode "mrow" xs math childs = XML.Element q as [XML.Elem childs] l where (XML.Element q as _ l) = e annotAttrs = [XML.Attr (unqual "encoding") "application/x-tex"] -- | Convert Pandoc inline element to HTML. inlineToHtml :: PandocMonad m => WriterOptions -> Inline -> StateT WriterState m Html inlineToHtml opts inline = do html5 <- gets stHtml5 case inline of (Str str) -> return $ strToHtml str Space -> return $ strToHtml " " SoftBreak -> return $ case writerWrapText opts of WrapNone -> preEscapedText " " WrapAuto -> preEscapedText " " WrapPreserve -> preEscapedText "\n" LineBreak -> return $ do if html5 then H5.br else H.br strToHtml "\n" (Span (id',classes,kvs) ils) -> let spanLikeTag = case classes of (c:_) -> do guard (c `Set.member` htmlSpanLikeElements) pure $ customParent (textTag c) _ -> Nothing in case spanLikeTag of Just tag -> do h <- inlineListToHtml opts ils addAttrs opts (id',tail classes',kvs') $ tag h Nothing -> do h <- inlineListToHtml opts ils addAttrs opts (id',classes',kvs') (H.span h) where styles = ["font-style:normal;" | "csl-no-emph" `elem` classes] ++ ["font-weight:normal;" | "csl-no-strong" `elem` classes] ++ ["font-variant:normal;" | "csl-no-smallcaps" `elem` classes] kvs' = if null styles then kvs else ("style", T.concat styles) : kvs classes' = [ c | c <- classes , c `notElem` [ "csl-no-emph" , "csl-no-strong" , "csl-no-smallcaps" ] ] (Emph lst) -> H.em <$> inlineListToHtml opts lst (Strong lst) -> H.strong <$> inlineListToHtml opts lst (Code attr@(ids,cs,kvs) str) -> case hlCode of Left msg -> do unless (T.null msg) $ report $ CouldNotHighlight msg addAttrs opts (ids,cs',kvs) $ fromMaybe H.code sampOrVar $ strToHtml str Right h -> do modify $ \st -> st{ stHighlighting = True } addAttrs opts (ids,[],kvs) $ fromMaybe id sampOrVar h where hlCode = if isJust (writerHighlightStyle opts) then highlight (writerSyntaxMap opts) formatHtmlInline attr str else Left "" (sampOrVar,cs') | "sample" `elem` cs = (Just H.samp,"sample" `delete` cs) | "variable" `elem` cs = (Just H.var,"variable" `delete` cs) | otherwise = (Nothing,cs) (Strikeout lst) -> H.del <$> inlineListToHtml opts lst (SmallCaps lst) -> (H.span ! A.class_ "smallcaps") <$> inlineListToHtml opts lst (Superscript lst) -> H.sup <$> inlineListToHtml opts lst (Subscript lst) -> H.sub <$> inlineListToHtml opts lst (Quoted quoteType lst) -> let (leftQuote, rightQuote) = case quoteType of SingleQuote -> (strToHtml "‘", strToHtml "’") DoubleQuote -> (strToHtml "“", strToHtml "”") in if writerHtmlQTags opts then do modify $ \st -> st{ stQuotes = True } let (maybeAttr, lst') = case lst of [Span attr@(_, _, kvs) cs] | any ((=="cite") . fst) kvs -> (Just attr, cs) cs -> (Nothing, cs) H.q `fmap` inlineListToHtml opts lst' >>= maybe return (addAttrs opts) maybeAttr else (\x -> leftQuote >> x >> rightQuote) `fmap` inlineListToHtml opts lst (Math t str) -> do modify (\st -> st {stMath = True}) let mathClass = toValue $ ("math " :: Text) <> if t == InlineMath then "inline" else "display" case writerHTMLMathMethod opts of WebTeX url -> do let imtag = if html5 then H5.img else H.img let s = case t of InlineMath -> "\\textstyle " DisplayMath -> "\\displaystyle " let m = imtag ! A.style "vertical-align:middle" ! A.src (toValue $ url <> T.pack (urlEncode (T.unpack $ s <> str))) ! A.alt (toValue str) ! A.title (toValue str) let brtag = if html5 then H5.br else H.br return $ case t of InlineMath -> m DisplayMath -> brtag >> m >> brtag GladTeX -> return $ customParent (textTag "eq") ! customAttribute "env" (toValue $ if t == InlineMath then ("math" :: Text) else "displaymath") $ strToHtml str MathML -> do let conf = useShortEmptyTags (const False) defaultConfigPP res <- lift $ convertMath writeMathML t str case res of Right r -> return $ preEscapedString $ ppcElement conf (annotateMML r str) Left il -> (H.span ! A.class_ mathClass) <$> inlineToHtml opts il MathJax _ -> return $ H.span ! A.class_ mathClass $ toHtml $ case t of InlineMath -> "\\(" <> str <> "\\)" DisplayMath -> "\\[" <> str <> "\\]" KaTeX _ -> return $ H.span ! A.class_ mathClass $ toHtml $ case t of InlineMath -> str DisplayMath -> str PlainMath -> do x <- lift (texMathToInlines t str) >>= inlineListToHtml opts let m = H.span ! A.class_ mathClass $ x let brtag = if html5 then H5.br else H.br return $ case t of InlineMath -> m DisplayMath -> brtag >> m >> brtag (RawInline f str) -> do ishtml <- isRawHtml f if ishtml then return $ preEscapedText str else if (f == Format "latex" || f == Format "tex") && allowsMathEnvironments (writerHTMLMathMethod opts) && isMathEnvironment str then inlineToHtml opts $ Math DisplayMath str else do report $ InlineNotRendered inline return mempty (Link attr txt (s,_)) | "mailto:" `T.isPrefixOf` s -> do linkText <- inlineListToHtml opts txt obfuscateLink opts attr linkText s (Link (ident,classes,kvs) txt (s,tit)) -> do linkText <- inlineListToHtml opts txt slideVariant <- gets stSlideVariant let s' = case T.uncons s of Just ('#',xs) -> let prefix = if slideVariant == RevealJsSlides then "/" else writerIdentifierPrefix opts in "#" <> prefix <> xs _ -> s let link = H.a ! A.href (toValue s') $ linkText link' <- addAttrs opts (ident, classes, kvs) link return $ if T.null tit then link' else link' ! A.title (toValue tit) (Image attr txt (s,tit)) -> do let alternate = stringify txt slideVariant <- gets stSlideVariant let isReveal = slideVariant == RevealJsSlides attrs <- imgAttrsToHtml opts attr let attributes = -- reveal.js uses data-src for lazy loading (if isReveal then customAttribute "data-src" $ toValue s else A.src $ toValue s) : [A.title $ toValue tit | not (T.null tit)] ++ attrs imageTag = (if html5 then H5.img else H.img , [A.alt $ toValue alternate | not (null txt)] ) mediaTag tg fallbackTxt = let linkTxt = if null txt then fallbackTxt else alternate in (tg $ H.a ! A.href (toValue s) $ toHtml linkTxt , [A5.controls ""] ) normSrc = maybe (T.unpack s) uriPath (parseURIReference $ T.unpack s) (tag, specAttrs) = case mediaCategory normSrc of Just "image" -> imageTag Just "video" -> mediaTag H5.video "Video" Just "audio" -> mediaTag H5.audio "Audio" Just _ -> (H5.embed, []) _ -> imageTag return $ foldl (!) tag $ attributes ++ specAttrs -- note: null title included, as in Markdown.pl (Note contents) -> do notes <- gets stNotes let number = length notes + 1 let ref = tshow number htmlContents <- blockListToNote opts ref contents epubVersion <- gets stEPUBVersion -- push contents onto front of notes modify $ \st -> st {stNotes = htmlContents:notes} slideVariant <- gets stSlideVariant let revealSlash = T.pack ['/' | slideVariant == RevealJsSlides] let link = H.a ! A.href (toValue $ "#" <> revealSlash <> writerIdentifierPrefix opts <> "fn" <> ref) ! A.class_ "footnote-ref" ! prefixedId opts ("fnref" <> ref) $ (if isJust epubVersion then id else H.sup) $ toHtml ref return $ case epubVersion of Just EPUB3 -> link ! customAttribute "epub:type" "noteref" _ | html5 -> link ! H5.customAttribute "role" "doc-noteref" _ -> link (Cite cits il)-> do contents <- inlineListToHtml opts (walk addRoleToLink il) let citationIds = T.unwords $ map citationId cits let result = H.span ! A.class_ "citation" $ contents return $ if html5 then result ! customAttribute "data-cites" (toValue citationIds) else result addRoleToLink :: Inline -> Inline addRoleToLink (Link (id',classes,kvs) ils (src,tit)) = Link (id',classes,("role","doc-biblioref"):kvs) ils (src,tit) addRoleToLink x = x blockListToNote :: PandocMonad m => WriterOptions -> Text -> [Block] -> StateT WriterState m Html blockListToNote opts ref blocks = do html5 <- gets stHtml5 -- If last block is Para or Plain, include the backlink at the end of -- that block. Otherwise, insert a new Plain block with the backlink. let kvs = [("role","doc-backlink") | html5] let backlink = [Link ("",["footnote-back"],kvs) [Str "↩"] ("#" <> "fnref" <> ref,"")] let blocks' = if null blocks then [] else let lastBlock = last blocks otherBlocks = init blocks in case lastBlock of (Para lst) -> otherBlocks ++ [Para (lst ++ backlink)] (Plain lst) -> otherBlocks ++ [Plain (lst ++ backlink)] _ -> otherBlocks ++ [lastBlock, Plain backlink] contents <- blockListToHtml opts blocks' let noteItem = H.li ! prefixedId opts ("fn" <> ref) $ contents epubVersion <- gets stEPUBVersion let noteItem' = case epubVersion of Just EPUB3 -> noteItem ! customAttribute "epub:type" "footnote" _ | html5 -> noteItem ! customAttribute "role" "doc-endnote" _ -> noteItem return $ nl opts >> noteItem' isMathEnvironment :: Text -> Bool isMathEnvironment s = "\\begin{" `T.isPrefixOf` s && envName `elem` mathmlenvs where envName = T.takeWhile (/= '}') (T.drop 7 s) mathmlenvs = [ "align" , "align*" , "alignat" , "alignat*" , "aligned" , "alignedat" , "array" , "Bmatrix" , "bmatrix" , "cases" , "CD" , "eqnarray" , "eqnarray*" , "equation" , "equation*" , "gather" , "gather*" , "gathered" , "matrix" , "multline" , "multline*" , "pmatrix" , "smallmatrix" , "split" , "subarray" , "Vmatrix" , "vmatrix" ] allowsMathEnvironments :: HTMLMathMethod -> Bool allowsMathEnvironments (MathJax _) = True allowsMathEnvironments MathML = True allowsMathEnvironments (WebTeX _) = True allowsMathEnvironments _ = False isRawHtml :: PandocMonad m => Format -> StateT WriterState m Bool isRawHtml f = do html5 <- gets stHtml5 return $ f == Format "html" || ((html5 && f == Format "html5") || f == Format "html4") ���������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Haddock.hs���������������������������������������������������0000664�0000000�0000000�00000025676�13636304630�0021422�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Text.Pandoc.Writers.Haddock Copyright : Copyright (C) 2014-2015,2017 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to haddock markup. Haddock: <http://www.haskell.org/haddock/doc/html/> -} module Text.Pandoc.Writers.Haddock (writeHaddock) where import Control.Monad.State.Strict import Data.Default import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared type Notes = [[Block]] data WriterState = WriterState { stNotes :: Notes } instance Default WriterState where def = WriterState{ stNotes = [] } -- | Convert Pandoc to Haddock. writeHaddock :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeHaddock opts document = evalStateT (pandocToHaddock opts{ writerWrapText = writerWrapText opts } document) def -- | Return haddock representation of document. pandocToHaddock :: PandocMonad m => WriterOptions -> Pandoc -> StateT WriterState m Text pandocToHaddock opts (Pandoc meta blocks) = do let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing body <- blockListToHaddock opts blocks st <- get notes' <- notesToHaddock opts (reverse $ stNotes st) let main = body <> (if isEmpty notes' then empty else blankline <> notes') metadata <- metaToContext opts (blockListToHaddock opts) (fmap chomp . inlineListToHaddock opts) meta let context = defField "body" main metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Return haddock representation of notes. notesToHaddock :: PandocMonad m => WriterOptions -> [[Block]] -> StateT WriterState m (Doc Text) notesToHaddock opts notes = if null notes then return empty else do contents <- blockToHaddock opts $ OrderedList (1,DefaultStyle,DefaultDelim) notes return $ text "#notes#" <> blankline <> contents -- | Escape special characters for Haddock. escapeString :: Text -> Text escapeString = escapeStringUsing haddockEscapes where haddockEscapes = backslashEscapes "\\/'`\"@<" -- | Convert Pandoc block element to haddock. blockToHaddock :: PandocMonad m => WriterOptions -- ^ Options -> Block -- ^ Block element -> StateT WriterState m (Doc Text) blockToHaddock _ Null = return empty blockToHaddock opts (Div _ ils) = do contents <- blockListToHaddock opts ils return $ contents <> blankline blockToHaddock opts (Plain inlines) = do contents <- inlineListToHaddock opts inlines return $ contents <> cr -- title beginning with fig: indicates figure blockToHaddock opts (Para [Image attr alt (src,tgt)]) | Just tit <- T.stripPrefix "fig:" tgt = blockToHaddock opts (Para [Image attr alt (src,tit)]) blockToHaddock opts (Para inlines) = -- TODO: if it contains linebreaks, we need to use a @...@ block (<> blankline) `fmap` blockToHaddock opts (Plain inlines) blockToHaddock opts (LineBlock lns) = blockToHaddock opts $ linesToPara lns blockToHaddock _ b@(RawBlock f str) | f == "haddock" = return $ literal str <> text "\n" | otherwise = do report $ BlockNotRendered b return empty blockToHaddock opts HorizontalRule = return $ blankline <> text (replicate (writerColumns opts) '_') <> blankline blockToHaddock opts (Header level (ident,_,_) inlines) = do contents <- inlineListToHaddock opts inlines let attr' = if T.null ident then empty else cr <> text "#" <> literal ident <> text "#" return $ nowrap (text (replicate level '=') <> space <> contents) <> attr' <> blankline blockToHaddock _ (CodeBlock (_,_,_) str) = return $ prefixed "> " (literal str) <> blankline -- Nothing in haddock corresponds to block quotes: blockToHaddock opts (BlockQuote blocks) = blockListToHaddock opts blocks blockToHaddock opts (Table caption aligns widths headers rows) = do caption' <- inlineListToHaddock opts caption let caption'' = if null caption then empty else blankline <> caption' <> blankline tbl <- gridTable opts blockListToHaddock (all null headers) (map (const AlignDefault) aligns) widths headers rows return $ prefixed "> " (tbl $$ blankline $$ caption'') $$ blankline blockToHaddock opts (BulletList items) = do contents <- mapM (bulletListItemToHaddock opts) items return $ (if isTightList items then vcat else vsep) contents <> blankline blockToHaddock opts (OrderedList (start,_,delim) items) = do let attribs = (start, Decimal, delim) let markers = orderedListMarkers attribs let markers' = map (\m -> if T.length m < 3 then m <> T.replicate (3 - T.length m) " " else m) markers contents <- zipWithM (orderedListItemToHaddock opts) markers' items return $ (if isTightList items then vcat else vsep) contents <> blankline blockToHaddock opts (DefinitionList items) = do contents <- mapM (definitionListItemToHaddock opts) items return $ vcat contents <> blankline -- | Convert bullet list item (list of blocks) to haddock bulletListItemToHaddock :: PandocMonad m => WriterOptions -> [Block] -> StateT WriterState m (Doc Text) bulletListItemToHaddock opts items = do contents <- blockListToHaddock opts items let sps = replicate (writerTabStop opts - 2) ' ' let start = text ('-' : ' ' : sps) return $ hang (writerTabStop opts) start contents $$ if endsWithPlain items then cr else blankline -- | Convert ordered list item (a list of blocks) to haddock orderedListItemToHaddock :: PandocMonad m => WriterOptions -- ^ options -> Text -- ^ list item marker -> [Block] -- ^ list item (list of blocks) -> StateT WriterState m (Doc Text) orderedListItemToHaddock opts marker items = do contents <- blockListToHaddock opts items let sps = case T.length marker - writerTabStop opts of n | n > 0 -> text $ replicate n ' ' _ -> text " " let start = literal marker <> sps return $ hang (writerTabStop opts) start contents $$ if endsWithPlain items then cr else blankline -- | Convert definition list item (label, list of blocks) to haddock definitionListItemToHaddock :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> StateT WriterState m (Doc Text) definitionListItemToHaddock opts (label, defs) = do labelText <- inlineListToHaddock opts label defs' <- mapM (mapM (blockToHaddock opts)) defs let contents = (if isTightList defs then vcat else vsep) $ map (\d -> hang 4 empty $ vcat d <> cr) defs' return $ nowrap (brackets labelText) $$ contents $$ if isTightList defs then cr else blankline -- | Convert list of Pandoc block elements to haddock blockListToHaddock :: PandocMonad m => WriterOptions -- ^ Options -> [Block] -- ^ List of block elements -> StateT WriterState m (Doc Text) blockListToHaddock opts blocks = mconcat <$> mapM (blockToHaddock opts) blocks -- | Convert list of Pandoc inline elements to haddock. inlineListToHaddock :: PandocMonad m => WriterOptions -> [Inline] -> StateT WriterState m (Doc Text) inlineListToHaddock opts lst = mconcat <$> mapM (inlineToHaddock opts) lst -- | Convert Pandoc inline element to haddock. inlineToHaddock :: PandocMonad m => WriterOptions -> Inline -> StateT WriterState m (Doc Text) inlineToHaddock opts (Span (ident,_,_) ils) = do contents <- inlineListToHaddock opts ils if not (T.null ident) && null ils then return $ "#" <> literal ident <> "#" else return contents inlineToHaddock opts (Emph lst) = do contents <- inlineListToHaddock opts lst return $ "/" <> contents <> "/" inlineToHaddock opts (Strong lst) = do contents <- inlineListToHaddock opts lst return $ "__" <> contents <> "__" inlineToHaddock opts (Strikeout lst) = do contents <- inlineListToHaddock opts lst -- not supported in haddock, but we fake it: return $ "~~" <> contents <> "~~" -- not supported in haddock: inlineToHaddock opts (Superscript lst) = inlineListToHaddock opts lst -- not supported in haddock: inlineToHaddock opts (Subscript lst) = inlineListToHaddock opts lst -- not supported in haddock: inlineToHaddock opts (SmallCaps lst) = inlineListToHaddock opts lst inlineToHaddock opts (Quoted SingleQuote lst) = do contents <- inlineListToHaddock opts lst return $ "‘" <> contents <> "’" inlineToHaddock opts (Quoted DoubleQuote lst) = do contents <- inlineListToHaddock opts lst return $ "“" <> contents <> "”" inlineToHaddock _ (Code _ str) = return $ "@" <> literal (escapeString str) <> "@" inlineToHaddock _ (Str str) = return $ literal $ escapeString str inlineToHaddock _ (Math mt str) = return $ case mt of DisplayMath -> cr <> "\\[" <> literal str <> "\\]" <> cr InlineMath -> "\\(" <> literal str <> "\\)" inlineToHaddock _ il@(RawInline f str) | f == "haddock" = return $ literal str | otherwise = do report $ InlineNotRendered il return empty -- no line break in haddock (see above on CodeBlock) inlineToHaddock _ LineBreak = return cr inlineToHaddock opts SoftBreak = case writerWrapText opts of WrapAuto -> return space WrapNone -> return space WrapPreserve -> return cr inlineToHaddock _ Space = return space inlineToHaddock opts (Cite _ lst) = inlineListToHaddock opts lst inlineToHaddock _ (Link _ txt (src, _)) = do let linktext = literal $ escapeString $ stringify txt let useAuto = isURI src && case txt of [Str s] | escapeURI s == src -> True _ -> False return $ nowrap $ "<" <> literal src <> (if useAuto then empty else space <> linktext) <> ">" inlineToHaddock opts (Image attr alternate (source, tit)) = do linkhaddock <- inlineToHaddock opts (Link attr alternate (source, tit)) return $ "<" <> linkhaddock <> ">" -- haddock doesn't have notes, but we can fake it: inlineToHaddock opts (Note contents) = do modify (\st -> st{ stNotes = contents : stNotes st }) st <- get let ref = literal $ writerIdentifierPrefix opts <> tshow (length $ stNotes st) return $ "<#notes [" <> ref <> "]>" ������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/ICML.hs������������������������������������������������������0000664�0000000�0000000�00000066232�13636304630�0020602�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.ICML Copyright : Copyright (C) 2013-2020 github.com/mb21 License : GNU GPL, version 2 or above Stability : alpha Conversion of 'Pandoc' documents to Adobe InCopy ICML, a stand-alone XML format which is a subset of the zipped IDML format for which the documentation is available here: http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/indesign/sdk/cs6/idml/idml-specification.pdf InCopy is the companion word-processor to Adobe InDesign and ICML documents can be integrated into InDesign with File -> Place. -} module Text.Pandoc.Writers.ICML (writeICML) where import Control.Monad.Except (catchError) import Control.Monad.State.Strict import Data.List (intersperse) import Data.Maybe (fromMaybe, maybeToList) import qualified Data.Set as Set import qualified Data.Text as Text import Data.Text (Text) import Text.Pandoc.Class.PandocMonad (PandocMonad, fetchItem, report) import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Math (texMathToInlines) import Text.Pandoc.Writers.Shared import Text.Pandoc.XML type Style = [Text] type Hyperlink = [(Int, Text)] data WriterState = WriterState{ blockStyles :: Set.Set Text , inlineStyles :: Set.Set Text , links :: Hyperlink , listDepth :: Int , maxListDepth :: Int } type WS m = StateT WriterState m defaultWriterState :: WriterState defaultWriterState = WriterState{ blockStyles = Set.empty , inlineStyles = Set.empty , links = [] , listDepth = 1 , maxListDepth = 0 } -- inline names (appear in InDesign's character styles pane) emphName :: Text strongName :: Text strikeoutName :: Text superscriptName :: Text subscriptName :: Text smallCapsName :: Text codeName :: Text linkName :: Text emphName = "Italic" strongName = "Bold" strikeoutName = "Strikeout" superscriptName = "Superscript" subscriptName = "Subscript" smallCapsName = "SmallCaps" codeName = "Code" linkName = "Link" -- block element names (appear in InDesign's paragraph styles pane) paragraphName :: Text figureName :: Text imgCaptionName :: Text codeBlockName :: Text blockQuoteName :: Text orderedListName :: Text bulletListName :: Text defListTermName :: Text defListDefName :: Text headerName :: Text tableName :: Text tableHeaderName :: Text tableCaptionName :: Text alignLeftName :: Text alignRightName :: Text alignCenterName :: Text firstListItemName :: Text beginsWithName :: Text lowerRomanName :: Text upperRomanName :: Text lowerAlphaName :: Text upperAlphaName :: Text subListParName :: Text footnoteName :: Text citeName :: Text paragraphName = "Paragraph" figureName = "Figure" imgCaptionName = "Caption" codeBlockName = "CodeBlock" blockQuoteName = "Blockquote" orderedListName = "NumList" bulletListName = "BulList" defListTermName = "DefListTerm" defListDefName = "DefListDef" headerName = "Header" tableName = "TablePar" tableHeaderName = "TableHeader" tableCaptionName = "TableCaption" alignLeftName = "LeftAlign" alignRightName = "RightAlign" alignCenterName = "CenterAlign" firstListItemName = "first" beginsWithName = "beginsWith-" lowerRomanName = "lowerRoman" upperRomanName = "upperRoman" lowerAlphaName = "lowerAlpha" upperAlphaName = "upperAlpha" subListParName = "subParagraph" footnoteName = "Footnote" citeName = "Cite" -- | Convert Pandoc document to string in ICML format. writeICML :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeICML opts (Pandoc meta blocks) = do let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing renderMeta f s = fst <$> runStateT (f opts [] s) defaultWriterState metadata <- metaToContext opts (renderMeta blocksToICML) (renderMeta inlinesToICML) meta (main, st) <- runStateT (blocksToICML opts [] blocks) defaultWriterState let context = defField "body" main $ defField "charStyles" (charStylesToDoc st) $ defField "parStyles" (parStylesToDoc st) $ defField "hyperlinks" (hyperlinksToDoc $ links st) metadata return $ render colwidth $ (if writerPreferAscii opts then fmap toEntities else id) $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Auxiliary functions for parStylesToDoc and charStylesToDoc. contains :: Text -> (Text, (Text, Text)) -> [(Text, Text)] contains s rule = [snd rule | fst rule `Text.isInfixOf` s] -- | The monospaced font to use as default. monospacedFont :: Doc Text monospacedFont = inTags False "AppliedFont" [("type", "string")] $ text "Courier New" -- | How much to indent blockquotes etc. defaultIndent :: Int defaultIndent = 20 -- | How much to indent numbered lists before the number. defaultListIndent :: Int defaultListIndent = 10 -- other constants lineSeparator :: Text lineSeparator = "
" -- | Convert a WriterState with its block styles to the ICML listing of Paragraph Styles. parStylesToDoc :: WriterState -> Doc Text parStylesToDoc st = vcat $ map makeStyle $ Set.toAscList $ blockStyles st where makeStyle s = let countSubStrs sub str = length $ Text.breakOnAll sub str attrs = concatMap (contains s) [ (defListTermName, ("BulletsAndNumberingListType", "BulletList")) , (defListTermName, ("FontStyle", "Bold")) , (tableHeaderName, ("FontStyle", "Bold")) , (alignLeftName, ("Justification", "LeftAlign")) , (alignRightName, ("Justification", "RightAlign")) , (alignCenterName, ("Justification", "CenterAlign")) , (headerName<>"1", ("PointSize", "36")) , (headerName<>"2", ("PointSize", "30")) , (headerName<>"3", ("PointSize", "24")) , (headerName<>"4", ("PointSize", "18")) , (headerName<>"5", ("PointSize", "14")) ] -- what is the most nested list type, if any? (isBulletList, isOrderedList) = findList $ reverse $ splitTextBy (==' ') s where findList [] = (False, False) findList (x:xs) | x == bulletListName = (True, False) | x == orderedListName = (False, True) | otherwise = findList xs nBuls = countSubStrs bulletListName s nOrds = countSubStrs orderedListName s attrs' = numbering <> listType <> indent <> attrs where numbering | isOrderedList = [("NumberingExpression", "^#.^t"), ("NumberingLevel", tshow nOrds)] | otherwise = [] listType | isOrderedList && not (subListParName `Text.isInfixOf` s) = [("BulletsAndNumberingListType", "NumberedList")] | isBulletList && not (subListParName `Text.isInfixOf` s) = [("BulletsAndNumberingListType", "BulletList")] | otherwise = [] indent = [("LeftIndent", tshow indt)] where nBlockQuotes = countSubStrs blockQuoteName s nDefLists = countSubStrs defListDefName s indt = max 0 $ defaultListIndent*(nBuls + nOrds - 1) + defaultIndent*(nBlockQuotes + nDefLists) props = inTags True "Properties" [] (basedOn $$ tabList $$ numbForm) where font = if codeBlockName `Text.isInfixOf` s then monospacedFont else empty basedOn = inTags False "BasedOn" [("type", "object")] (text "$ID/NormalParagraphStyle") $$ font tabList = if isBulletList then inTags True "TabList" [("type","list")] $ inTags True "ListItem" [("type","record")] $ vcat [ inTags False "Alignment" [("type","enumeration")] $ text "LeftAlign" , inTags False "AlignmentCharacter" [("type","string")] $ text "." , selfClosingTag "Leader" [("type","string")] , inTags False "Position" [("type","unit")] $ text $ show $ defaultListIndent * (nBuls + nOrds) ] else empty makeNumb name = inTags False "NumberingFormat" [("type", "string")] (text name) numbForm | Text.isInfixOf lowerRomanName s = makeNumb "i, ii, iii, iv..." | Text.isInfixOf upperRomanName s = makeNumb "I, II, III, IV..." | Text.isInfixOf lowerAlphaName s = makeNumb "a, b, c, d..." | Text.isInfixOf upperAlphaName s = makeNumb "A, B, C, D..." | otherwise = empty in inTags True "ParagraphStyle" ([("Self", "ParagraphStyle/"<>s), ("Name", s)] ++ attrs') props -- | Convert a WriterState with its inline styles to the ICML listing of Character Styles. charStylesToDoc :: WriterState -> Doc Text charStylesToDoc st = vcat $ map makeStyle $ Set.toAscList $ inlineStyles st where makeStyle s = let attrs = concatMap (contains s) [ (strikeoutName, ("StrikeThru", "true")) , (superscriptName, ("Position", "Superscript")) , (subscriptName, ("Position", "Subscript")) , (smallCapsName, ("Capitalization", "SmallCaps")) ] attrs' | Text.isInfixOf emphName s && Text.isInfixOf strongName s = ("FontStyle", "Bold Italic") : attrs | Text.isInfixOf strongName s = ("FontStyle", "Bold") : attrs | Text.isInfixOf emphName s = ("FontStyle", "Italic") : attrs | otherwise = attrs props = inTags True "Properties" [] $ inTags False "BasedOn" [("type", "object")] (text "$ID/NormalCharacterStyle") $$ font where font = if codeName `Text.isInfixOf` s then monospacedFont else empty in inTags True "CharacterStyle" ([("Self", "CharacterStyle/"<>s), ("Name", s)] ++ attrs') props -- | Escape colon characters as %3a escapeColons :: Text -> Text escapeColons = Text.concatMap $ \x -> case x of ':' -> "%3a" _ -> Text.singleton x -- | Convert a list of (identifier, url) pairs to the ICML listing of hyperlinks. hyperlinksToDoc :: Hyperlink -> Doc Text hyperlinksToDoc [] = empty hyperlinksToDoc (x:xs) = hyp x $$ hyperlinksToDoc xs where hyp (ident, url) = hdest $$ hlink where hdest = selfClosingTag "HyperlinkURLDestination" [("Self", "HyperlinkURLDestination/"<>escapeColons url), ("Name","link"), ("DestinationURL",url), ("DestinationUniqueKey","1")] -- HyperlinkURLDestination with more than one colon crashes CS6 hlink = inTags True "Hyperlink" [("Self","uf-"<>tshow ident), ("Name",url), ("Source","htss-"<>tshow ident), ("Visible","true"), ("DestinationUniqueKey","1")] $ inTags True "Properties" [] $ inTags False "BorderColor" [("type","enumeration")] (text "Black") $$ inTags False "Destination" [("type","object")] (literal $ "HyperlinkURLDestination/"<>escapeColons (escapeStringForXML url)) -- HyperlinkURLDestination with more than one colon crashes CS6 -- | Key for specifying user-defined styles dynamicStyleKey :: Text dynamicStyleKey = "custom-style" -- | Convert a list of Pandoc blocks to ICML. blocksToICML :: PandocMonad m => WriterOptions -> Style -> [Block] -> WS m (Doc Text) blocksToICML opts style lst = do docs <- mapM (blockToICML opts style) lst return $ intersperseBrs docs -- | Convert a Pandoc block element to ICML. blockToICML :: PandocMonad m => WriterOptions -> Style -> Block -> WS m (Doc Text) blockToICML opts style (Plain lst) = parStyle opts style lst -- title beginning with fig: indicates that the image is a figure blockToICML opts style (Para img@[Image _ txt (_,Text.stripPrefix "fig:" -> Just _)]) = do figure <- parStyle opts (figureName:style) img caption <- parStyle opts (imgCaptionName:style) txt return $ intersperseBrs [figure, caption] blockToICML opts style (Para lst) = parStyle opts (paragraphName:style) lst blockToICML opts style (LineBlock lns) = blockToICML opts style $ linesToPara lns blockToICML opts style (CodeBlock _ str) = parStyle opts (codeBlockName:style) [Str str] blockToICML _ _ b@(RawBlock f str) | f == Format "icml" = return $ literal str | otherwise = do report $ BlockNotRendered b return empty blockToICML opts style (BlockQuote blocks) = blocksToICML opts (blockQuoteName:style) blocks blockToICML opts style (OrderedList attribs lst) = listItemsToICML opts orderedListName style (Just attribs) lst blockToICML opts style (BulletList lst) = listItemsToICML opts bulletListName style Nothing lst blockToICML opts style (DefinitionList lst) = intersperseBrs `fmap` mapM (definitionListItemToICML opts style) lst blockToICML opts style (Header lvl (_, cls, _) lst) = let stl = (headerName <> tshow lvl <> unnumbered):style unnumbered = if "unnumbered" `elem` cls then " (unnumbered)" else "" in parStyle opts stl lst blockToICML _ _ HorizontalRule = return empty -- we could insert a page break instead blockToICML opts style (Table caption aligns widths headers rows) = let style' = tableName : style noHeader = all null headers nrHeaders = if noHeader then "0" else "1" nrRows = length rows nrCols = if null rows then 0 else length $ head rows rowsToICML [] _ = return empty rowsToICML (col:rest) rowNr = liftM2 ($$) (colsToICML col aligns rowNr (0::Int)) $ rowsToICML rest (rowNr+1) colsToICML [] _ _ _ = return empty colsToICML _ [] _ _ = return empty colsToICML (cell:rest) (alig:restAligns) rowNr colNr = do let stl = if rowNr == 0 && not noHeader then tableHeaderName:style' else style' stl' | alig == AlignLeft = alignLeftName : stl | alig == AlignRight = alignRightName : stl | alig == AlignCenter = alignCenterName : stl | otherwise = stl c <- blocksToICML opts stl' cell let cl = return $ inTags True "Cell" [("Name", tshow colNr <>":"<> tshow rowNr), ("AppliedCellStyle","CellStyle/Cell")] c liftM2 ($$) cl $ colsToICML rest restAligns rowNr (colNr+1) in do let tabl = if noHeader then rows else headers:rows cells <- rowsToICML tabl (0::Int) let colWidths w = [("SingleColumnWidth",tshow $ 500 * w) | w > 0] let tupToDoc tup = selfClosingTag "Column" $ ("Name",tshow $ fst tup) : colWidths (snd tup) let colDescs = vcat $ zipWith (curry tupToDoc) [0..nrCols-1] widths let tableDoc = return $ inTags True "Table" [ ("AppliedTableStyle","TableStyle/Table") , ("HeaderRowCount", nrHeaders) , ("BodyRowCount", tshow nrRows) , ("ColumnCount", tshow nrCols) ] (colDescs $$ cells) liftM2 ($$) tableDoc $ parStyle opts (tableCaptionName:style) caption blockToICML opts style (Div (_, _, kvs) lst) = let dynamicStyle = maybeToList $ lookup dynamicStyleKey kvs in blocksToICML opts (dynamicStyle <> style) lst blockToICML _ _ Null = return empty -- | Convert a list of lists of blocks to ICML list items. listItemsToICML :: PandocMonad m => WriterOptions -> Text -> Style -> Maybe ListAttributes -> [[Block]] -> WS m (Doc Text) listItemsToICML _ _ _ _ [] = return empty listItemsToICML opts listType style attribs (first:rest) = do st <- get put st{ listDepth = 1 + listDepth st} let stl = listType:style let f = listItemToICML opts stl True attribs first let r = map (listItemToICML opts stl False attribs) rest docs <- sequence $ f:r s <- get let maxD = max (maxListDepth s) (listDepth s) put s{ listDepth = 1, maxListDepth = maxD } return $ intersperseBrs docs -- | Convert a list of blocks to ICML list items. listItemToICML :: PandocMonad m => WriterOptions -> Style -> Bool-> Maybe ListAttributes -> [Block] -> WS m (Doc Text) listItemToICML opts style isFirst attribs item = let makeNumbStart (Just (beginsWith, numbStl, _)) = let doN DefaultStyle = [] doN LowerRoman = [lowerRomanName] doN UpperRoman = [upperRomanName] doN LowerAlpha = [lowerAlphaName] doN UpperAlpha = [upperAlphaName] doN _ = [] bw = [beginsWithName <> tshow beginsWith | beginsWith > 1] in doN numbStl ++ bw makeNumbStart Nothing = [] stl = if isFirst then firstListItemName:style else style stl' = makeNumbStart attribs ++ stl in if length item > 1 then do let insertTab (Para lst) = blockToICML opts (subListParName:style) $ Para $ Str "\t":lst insertTab block = blockToICML opts style block f <- blockToICML opts stl' $ head item r <- mapM insertTab $ tail item return $ intersperseBrs (f : r) else blocksToICML opts stl' item definitionListItemToICML :: PandocMonad m => WriterOptions -> Style -> ([Inline],[[Block]]) -> WS m (Doc Text) definitionListItemToICML opts style (term,defs) = do term' <- parStyle opts (defListTermName:style) term defs' <- mapM (blocksToICML opts (defListDefName:style)) defs return $ intersperseBrs (term' : defs') -- | Convert a list of inline elements to ICML. inlinesToICML :: PandocMonad m => WriterOptions -> Style -> [Inline] -> WS m (Doc Text) inlinesToICML opts style lst = vcat `fmap` mapM (inlineToICML opts style) (mergeStrings opts lst) -- | Convert an inline element to ICML. inlineToICML :: PandocMonad m => WriterOptions -> Style -> Inline -> WS m (Doc Text) inlineToICML _ style (Str str) = charStyle style $ literal $ escapeStringForXML str inlineToICML opts style (Emph lst) = inlinesToICML opts (emphName:style) lst inlineToICML opts style (Strong lst) = inlinesToICML opts (strongName:style) lst inlineToICML opts style (Strikeout lst) = inlinesToICML opts (strikeoutName:style) lst inlineToICML opts style (Superscript lst) = inlinesToICML opts (superscriptName:style) lst inlineToICML opts style (Subscript lst) = inlinesToICML opts (subscriptName:style) lst inlineToICML opts style (SmallCaps lst) = inlinesToICML opts (smallCapsName:style) lst inlineToICML opts style (Quoted SingleQuote lst) = inlinesToICML opts style $ mergeStrings opts $ [Str "‘"] ++ lst ++ [Str "’"] inlineToICML opts style (Quoted DoubleQuote lst) = inlinesToICML opts style $ mergeStrings opts $ [Str "“"] ++ lst ++ [Str "”"] inlineToICML opts style (Cite _ lst) = inlinesToICML opts (citeName:style) lst inlineToICML _ style (Code _ str) = charStyle (codeName:style) $ literal $ escapeStringForXML str inlineToICML _ style Space = charStyle style space inlineToICML opts style SoftBreak = case writerWrapText opts of WrapAuto -> charStyle style space WrapNone -> charStyle style space WrapPreserve -> charStyle style cr inlineToICML _ style LineBreak = charStyle style $ literal lineSeparator inlineToICML opts style (Math mt str) = lift (texMathToInlines mt str) >>= (fmap mconcat . mapM (inlineToICML opts style)) inlineToICML _ _ il@(RawInline f str) | f == Format "icml" = return $ literal str | otherwise = do report $ InlineNotRendered il return empty inlineToICML opts style (Link _ lst (url, title)) = do content <- inlinesToICML opts (linkName:style) lst state $ \st -> let ident = if null $ links st then 1::Int else 1 + fst (head $ links st) newst = st{ links = (ident, url):links st } cont = inTags True "HyperlinkTextSource" [("Self","htss-"<>tshow ident), ("Name",title), ("Hidden","false")] content in (cont, newst) inlineToICML opts style (Image attr _ target) = imageICML opts style attr target inlineToICML opts style (Note lst) = footnoteToICML opts style lst inlineToICML opts style (Span (_, _, kvs) lst) = let dynamicStyle = maybeToList $ lookup dynamicStyleKey kvs in inlinesToICML opts (dynamicStyle <> style) lst -- | Convert a list of block elements to an ICML footnote. footnoteToICML :: PandocMonad m => WriterOptions -> Style -> [Block] -> WS m (Doc Text) footnoteToICML opts style lst = let insertTab (Para ls) = blockToICML opts (footnoteName:style) $ Para $ Str "\t":ls insertTab block = blockToICML opts (footnoteName:style) block in do contents <- mapM insertTab lst let number = inTags True "ParagraphStyleRange" [] $ inTags True "CharacterStyleRange" [] $ inTagsSimple "Content" "<?ACE 4?>" return $ inTags True "CharacterStyleRange" [("AppliedCharacterStyle","$ID/NormalCharacterStyle"), ("Position","Superscript")] $ inTags True "Footnote" [] $ number $$ intersperseBrs contents -- | Auxiliary function to merge Space elements into the adjacent Strs. mergeStrings :: WriterOptions -> [Inline] -> [Inline] mergeStrings opts = mergeStrings' . map spaceToStr where spaceToStr Space = Str " " spaceToStr SoftBreak = case writerWrapText opts of WrapPreserve -> Str "\n" _ -> Str " " spaceToStr x = x mergeStrings' (Str x : Str y : zs) = mergeStrings' (Str (x <> y) : zs) mergeStrings' (x : xs) = x : mergeStrings' xs mergeStrings' [] = [] -- | Intersperse line breaks intersperseBrs :: [Doc Text] -> Doc Text intersperseBrs = vcat . intersperse (selfClosingTag "Br" []) . filter (not . isEmpty) -- | Wrap a list of inline elements in an ICML Paragraph Style parStyle :: PandocMonad m => WriterOptions -> Style -> [Inline] -> WS m (Doc Text) parStyle opts style lst = let slipIn x y = if Text.null y then x else x <> " > " <> y stlStr = foldr slipIn "" $ reverse style stl = if Text.null stlStr then "" else "ParagraphStyle/" <> stlStr attrs = ("AppliedParagraphStyle", stl) attrs' = if firstListItemName `elem` style then let ats = attrs : [("NumberingContinue", "false")] begins = filter (Text.isPrefixOf beginsWithName) style in if null begins then ats else let i = fromMaybe "" $ Text.stripPrefix beginsWithName $ head begins in ("NumberingStartAt", i) : ats else [attrs] in do content <- inlinesToICML opts [] lst let cont = inTags True "ParagraphStyleRange" attrs' content state $ \st -> (cont, st{ blockStyles = Set.insert stlStr $ blockStyles st }) -- | Wrap a Doc in an ICML Character Style. charStyle :: PandocMonad m => Style -> Doc Text -> WS m (Doc Text) charStyle style content = let (stlStr, attrs) = styleToStrAttr style doc = inTags True "CharacterStyleRange" attrs $ inTagsSimple "Content" $ flush content in state $ \st -> let styles = if Text.null stlStr then st else st{ inlineStyles = Set.insert stlStr $ inlineStyles st } in (doc, styles) -- | Transform a Style to a tuple of String (eliminating duplicates and ordered) and corresponding attribute. styleToStrAttr :: Style -> (Text, [(Text, Text)]) styleToStrAttr style = let stlStr = Text.unwords $ Set.toAscList $ Set.fromList style stl = if null style then "$ID/NormalCharacterStyle" else "CharacterStyle/" <> stlStr attrs = [("AppliedCharacterStyle", stl)] in (stlStr, attrs) -- | Assemble an ICML Image. imageICML :: PandocMonad m => WriterOptions -> Style -> Attr -> Target -> WS m (Doc Text) imageICML opts style attr (src, _) = do imgS <- catchError (do (img, _) <- fetchItem src case imageSize opts img of Right size -> return size Left msg -> do report $ CouldNotDetermineImageSize src msg return def) (\e -> do report $ CouldNotFetchResource src $ tshow e return def) let (ow, oh) = sizeInPoints imgS (imgWidth, imgHeight) = desiredSizeInPoints opts attr imgS hw = showFl $ ow / 2 hh = showFl $ oh / 2 scale = showFl (imgWidth / ow) <> " 0 0 " <> showFl (imgHeight / oh) src' = if isURI src then src else "file:" <> src (stlStr, attrs) = styleToStrAttr style props = inTags True "Properties" [] $ inTags True "PathGeometry" [] $ inTags True "GeometryPathType" [("PathOpen","false")] $ inTags True "PathPointArray" [] $ vcat [ selfClosingTag "PathPointType" [("Anchor", "-"<>hw<>" -"<>hh), ("LeftDirection", "-"<>hw<>" -"<>hh), ("RightDirection", "-"<>hw<>" -"<>hh)] , selfClosingTag "PathPointType" [("Anchor", "-"<>hw<>" "<>hh), ("LeftDirection", "-"<>hw<>" "<>hh), ("RightDirection", "-"<>hw<>" "<>hh)] , selfClosingTag "PathPointType" [("Anchor", hw<>" "<>hh), ("LeftDirection", hw<>" "<>hh), ("RightDirection", hw<>" "<>hh)] , selfClosingTag "PathPointType" [("Anchor", hw<>" -"<>hh), ("LeftDirection", hw<>" -"<>hh), ("RightDirection", hw<>" -"<>hh)] ] image = inTags True "Image" [("Self","ue6"), ("ItemTransform", scale<>" -"<>hw<>" -"<>hh)] $ vcat [ inTags True "Properties" [] $ inTags True "Profile" [("type","string")] $ text "$ID/Embedded" , selfClosingTag "Link" [("Self", "ueb"), ("LinkResourceURI", src')] ] doc = inTags True "CharacterStyleRange" attrs $ inTags True "Rectangle" [("Self","uec"), ("StrokeWeight", "0"), ("ItemTransform", scale<>" "<>hw<>" -"<>hh)] (props $$ image) state $ \st -> (doc, st{ inlineStyles = Set.insert stlStr $ inlineStyles st } ) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Ipynb.hs�����������������������������������������������������0000664�0000000�0000000�00000023251�13636304630�0021131�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Text.Pandoc.Writers.Ipynb Copyright : Copyright (C) 2019-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Ipynb (Jupyter notebook JSON format) writer for pandoc. -} module Text.Pandoc.Writers.Ipynb ( writeIpynb ) where import Control.Monad.State import qualified Data.Map as M import Data.Maybe (catMaybes, fromMaybe) import Text.Pandoc.Options import Text.Pandoc.Definition import Data.Ipynb as Ipynb import Text.Pandoc.Walk (walkM) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad import Text.Pandoc.Logging import Data.Text (Text) import qualified Data.Text as T import qualified Data.Text.Lazy as TL import Data.Aeson as Aeson import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Shared (safeRead, isURI) import Text.Pandoc.Writers.Shared (metaToContext') import Text.Pandoc.Writers.Markdown (writeMarkdown) import qualified Data.Text.Encoding as TE import qualified Data.ByteString.Lazy as BL import Data.Aeson.Encode.Pretty (Config(..), defConfig, encodePretty', keyOrder, Indent(Spaces)) import Text.DocLayout (literal) writeIpynb :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeIpynb opts d = do notebook <- pandocToNotebook opts d return $ TE.decodeUtf8 . BL.toStrict . encodePretty' defConfig{ confIndent = Spaces 1, confTrailingNewline = True, confCompare = keyOrder [ "cells", "nbformat", "nbformat_minor", "cell_type", "output_type", "execution_count", "metadata", "outputs", "source", "data", "name", "text" ] } $ notebook pandocToNotebook :: PandocMonad m => WriterOptions -> Pandoc -> m (Notebook NbV4) pandocToNotebook opts (Pandoc meta blocks) = do let blockWriter bs = literal <$> writeMarkdown opts{ writerTemplate = Nothing } (Pandoc nullMeta bs) let inlineWriter ils = literal . T.stripEnd <$> writeMarkdown opts{ writerTemplate = Nothing } (Pandoc nullMeta [Plain ils]) let jupyterMeta = case lookupMeta "jupyter" meta of Just (MetaMap m) -> Meta m _ -> mempty let nbformat = case (lookupMeta "nbformat" jupyterMeta, lookupMeta "nbformat_minor" jupyterMeta) of (Just (MetaInlines [Str "4"]), Just (MetaInlines [Str y])) -> case safeRead y of Just z -> (4, z) Nothing -> (4, 5) _ -> (4, 5) -- write as v4.5 metadata' <- toJSON <$> metaToContext' blockWriter inlineWriter (B.deleteMeta "nbformat" . B.deleteMeta "nbformat_minor" $ jupyterMeta) -- convert from a Value (JSON object) to a M.Map Text Value: let metadata = case fromJSON metadata' of Error _ -> mempty -- TODO warning here? shouldn't happen Success x -> x cells <- extractCells opts blocks return $ Notebook{ notebookMetadata = metadata , notebookFormat = nbformat , notebookCells = cells } addAttachment :: PandocMonad m => Inline -> StateT (M.Map Text MimeBundle) m Inline addAttachment (Image attr lab (src,tit)) | not (isURI src) = do (img, mbmt) <- fetchItem src let mt = fromMaybe "application/octet-stream" mbmt modify $ M.insert src (MimeBundle (M.insert mt (BinaryData img) mempty)) return $ Image attr lab ("attachment:" <> src, tit) addAttachment x = return x extractCells :: PandocMonad m => WriterOptions -> [Block] -> m [Cell a] extractCells _ [] = return [] extractCells opts (Div (_id,classes,kvs) xs : bs) | "cell" `elem` classes , "markdown" `elem` classes = do let meta = pairsToJSONMeta kvs (newdoc, attachments) <- runStateT (walkM addAttachment (Pandoc nullMeta xs)) mempty source <- writeMarkdown opts{ writerTemplate = Nothing } newdoc (Cell{ cellType = Markdown , cellSource = Source $ breakLines $ T.stripEnd source , cellMetadata = meta , cellAttachments = if M.null attachments then Nothing else Just attachments } :) <$> extractCells opts bs | "cell" `elem` classes , "code" `elem` classes = do let (codeContent, rest) = case xs of (CodeBlock _ t : ys) -> (t, ys) ys -> (mempty, ys) let meta = pairsToJSONMeta kvs outputs <- catMaybes <$> mapM blockToOutput rest let exeCount = lookup "execution_count" kvs >>= safeRead (Cell{ cellType = Ipynb.Code { codeExecutionCount = exeCount , codeOutputs = outputs } , cellSource = Source $ breakLines codeContent , cellMetadata = meta , cellAttachments = Nothing } :) <$> extractCells opts bs | "cell" `elem` classes , "raw" `elem` classes = case consolidateAdjacentRawBlocks xs of [RawBlock (Format f) raw] -> do let format' = case T.toLower f of "html" -> "text/html" "revealjs" -> "text/html" "latex" -> "text/latex" "markdown" -> "text/markdown" "rst" -> "text/x-rst" _ -> f (Cell{ cellType = Raw , cellSource = Source $ breakLines raw , cellMetadata = if format' == "ipynb" -- means no format given then mempty else M.insert "format" (Aeson.String format') mempty , cellAttachments = Nothing } :) <$> extractCells opts bs _ -> extractCells opts bs extractCells opts (CodeBlock (_id,classes,kvs) raw : bs) | "code" `elem` classes = do let meta = pairsToJSONMeta kvs let exeCount = lookup "execution_count" kvs >>= safeRead (Cell{ cellType = Ipynb.Code { codeExecutionCount = exeCount , codeOutputs = [] } , cellSource = Source $ breakLines raw , cellMetadata = meta , cellAttachments = Nothing } :) <$> extractCells opts bs extractCells opts (b:bs) = do let isCodeOrDiv (CodeBlock (_,cl,_) _) = "code" `elem` cl isCodeOrDiv (Div (_,cl,_) _) = "cell" `elem` cl isCodeOrDiv _ = False let (mds, rest) = break isCodeOrDiv bs extractCells opts (Div ("",["cell","markdown"],[]) (b:mds) : rest) blockToOutput :: PandocMonad m => Block -> m (Maybe (Output a)) blockToOutput (Div (_,["output","stream",sname],_) (CodeBlock _ t:_)) = return $ Just $ Stream{ streamName = sname , streamText = Source (breakLines t) } blockToOutput (Div (_,["output","error"],kvs) (CodeBlock _ t:_)) = return $ Just $ Err{ errName = fromMaybe mempty (lookup "ename" kvs) , errValue = fromMaybe mempty (lookup "evalue" kvs) , errTraceback = breakLines t } blockToOutput (Div (_,["output","execute_result"],kvs) bs) = do (data', metadata') <- extractData bs return $ Just $ ExecuteResult{ executeCount = fromMaybe 0 $ lookup "execution_count" kvs >>= safeRead , executeData = data' , executeMetadata = pairsToJSONMeta kvs <> metadata'} blockToOutput (Div (_,["output","display_data"],kvs) bs) = do (data', metadata') <- extractData bs return $ Just $ DisplayData { displayData = data' , displayMetadata = pairsToJSONMeta kvs <> metadata'} blockToOutput _ = return Nothing extractData :: PandocMonad m => [Block] -> m (MimeBundle, JSONMeta) extractData bs = do (mmap, meta) <- foldM go mempty $ consolidateAdjacentRawBlocks bs return (MimeBundle mmap, meta) where go (mmap, meta) b@(Para [Image (_,_,kvs) _ (src,_)]) = do (img, mbmt) <- fetchItem src case mbmt of Just mt -> return (M.insert mt (BinaryData img) mmap, meta <> pairsToJSONMeta kvs) Nothing -> (mmap, meta) <$ report (BlockNotRendered b) go (mmap, meta) b@(CodeBlock (_,["json"],_) code) = case decode (UTF8.fromTextLazy $ TL.fromStrict code) of Just v -> return (M.insert "application/json" (JsonData v) mmap, meta) Nothing -> (mmap, meta) <$ report (BlockNotRendered b) go (mmap, meta) (CodeBlock ("",[],[]) code) = return (M.insert "text/plain" (TextualData code) mmap, meta) go (mmap, meta) (RawBlock (Format "html") raw) = return (M.insert "text/html" (TextualData raw) mmap, meta) go (mmap, meta) (RawBlock (Format "latex") raw) = return (M.insert "text/latex" (TextualData raw) mmap, meta) go (mmap, meta) (Div _ bs') = foldM go (mmap, meta) bs' go (mmap, meta) b = (mmap, meta) <$ report (BlockNotRendered b) pairsToJSONMeta :: [(Text, Text)] -> JSONMeta pairsToJSONMeta kvs = M.fromList [(k, case Aeson.decode (UTF8.fromTextLazy $ TL.fromStrict v) of Just val -> val Nothing -> String v) | (k,v) <- kvs , k /= "execution_count" ] consolidateAdjacentRawBlocks :: [Block] -> [Block] consolidateAdjacentRawBlocks [] = [] consolidateAdjacentRawBlocks (RawBlock f1 x : RawBlock f2 y : xs) | f1 == f2 = consolidateAdjacentRawBlocks (RawBlock f1 (x <> "\n" <> y) : xs) consolidateAdjacentRawBlocks (x : xs) = x : consolidateAdjacentRawBlocks xs �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/JATS.hs������������������������������������������������������0000664�0000000�0000000�00000060510�13636304630�0020610�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.JATS Copyright : Copyright (C) 2017-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to JATS XML. Reference: https://jats.nlm.nih.gov/publishing/tag-library -} module Text.Pandoc.Writers.JATS ( writeJATS , writeJatsArchiving , writeJatsPublishing , writeJatsArticleAuthoring ) where import Control.Monad.Reader import Control.Monad.State import Data.Generics (everywhere, mkT) import Data.List (partition) import qualified Data.Map as M import Data.Maybe (fromMaybe) import Data.Time (toGregorian, Day, parseTimeM, defaultTimeLocale, formatTime) import qualified Data.Text as T import Data.Text (Text) import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Highlighting (languages, languagesByExtension) import Text.Pandoc.Logging import Text.Pandoc.MIME (getMimeType) import Text.Pandoc.Walk (walk) import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.DocTemplates (Context(..), Val(..)) import Text.Pandoc.Writers.Math import Text.Pandoc.Writers.Shared import Text.Pandoc.XML import Text.TeXMath import qualified Text.XML.Light as Xml -- | JATS tag set variant data JATSTagSet = TagSetArchiving -- ^ Archiving and Interchange Tag Set | TagSetPublishing -- ^ Journal Publishing Tag Set | TagSetArticleAuthoring -- ^ Article Authoring Tag Set deriving (Eq) -- | Internal state used by the writer. newtype JATSState = JATSState { jatsNotes :: [(Int, Doc Text)] } -- | JATS writer type type JATS a = StateT JATSState (ReaderT JATSTagSet a) -- | Convert a @'Pandoc'@ document to JATS (Archiving and Interchange -- Tag Set.) writeJatsArchiving :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeJatsArchiving = writeJats TagSetArchiving -- | Convert a @'Pandoc'@ document to JATS (Journal Publishing Tag Set.) writeJatsPublishing :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeJatsPublishing = writeJats TagSetPublishing -- | Convert a @'Pandoc'@ document to JATS (Archiving and Interchange -- Tag Set.) writeJatsArticleAuthoring :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeJatsArticleAuthoring = writeJats TagSetArticleAuthoring -- | Alias for @'writeJatsArchiving'@. This function exists for backwards -- compatibility, but will be deprecated in the future. Use -- @'writeJatsArchiving'@ instead. writeJATS :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeJATS = writeJatsArchiving -- | Convert a @'Pandoc'@ document to JATS. writeJats :: PandocMonad m => JATSTagSet -> WriterOptions -> Pandoc -> m Text writeJats tagSet opts d = runReaderT (evalStateT (docToJATS opts d) (JATSState{ jatsNotes = [] })) tagSet -- | Convert Pandoc document to string in JATS format. docToJATS :: PandocMonad m => WriterOptions -> Pandoc -> JATS m Text docToJATS opts (Pandoc meta blocks) = do let isBackBlock (Div ("refs",_,_) _) = True isBackBlock _ = False let (backblocks, bodyblocks) = partition isBackBlock blocks -- The numbering here follows LaTeX's internal numbering let startLvl = case writerTopLevelDivision opts of TopLevelPart -> -1 TopLevelChapter -> 0 TopLevelSection -> 1 TopLevelDefault -> 1 let fromBlocks = blocksToJATS opts . makeSections False (Just startLvl) let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing metadata <- metaToContext opts fromBlocks (fmap chomp . inlinesToJATS opts) meta main <- fromBlocks bodyblocks notes <- reverse . map snd <$> gets jatsNotes backs <- fromBlocks backblocks tagSet <- ask -- In the "Article Authoring" tag set, occurrence of fn-group elements -- is restricted to table footers. Footnotes have to be placed inline. let fns = if null notes || tagSet == TagSetArticleAuthoring then mempty else inTagsIndented "fn-group" $ vcat notes let back = backs $$ fns let date = case getField "date" metadata of Nothing -> NullVal Just (SimpleVal (x :: Doc Text)) -> case parseDate (render Nothing x) of Nothing -> NullVal Just day -> let (y,m,d) = toGregorian day in MapVal . Context $ M.fromList [("year" :: Text, SimpleVal $ text $ show y) ,("month", SimpleVal $ text $ show m) ,("day", SimpleVal $ text $ show d) ,("iso-8601", SimpleVal $ text $ formatTime defaultTimeLocale "%F" day) ] Just x -> x let context = defField "body" main $ defField "back" back $ resetField "date" date $ defField "mathml" (case writerHTMLMathMethod opts of MathML -> True _ -> False) metadata return $ render colwidth $ (if writerPreferAscii opts then fmap toEntities else id) $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Convert a list of Pandoc blocks to JATS. blocksToJATS :: PandocMonad m => WriterOptions -> [Block] -> JATS m (Doc Text) blocksToJATS = wrappedBlocksToJATS (const False) -- | Like @'blocksToJATS'@, but wraps top-level blocks into a @<p>@ -- element if the @needsWrap@ predicate evaluates to @True@. wrappedBlocksToJATS :: PandocMonad m => (Block -> Bool) -> WriterOptions -> [Block] -> JATS m (Doc Text) wrappedBlocksToJATS needsWrap opts = fmap vcat . mapM wrappedBlockToJATS where wrappedBlockToJATS b = do inner <- blockToJATS opts b return $ if needsWrap b then inTags True "p" [("specific-use","wrapper")] inner else inner -- | Auxiliary function to convert Plain block to Para. plainToPara :: Block -> Block plainToPara (Plain x) = Para x plainToPara x = x -- | Convert a list of pairs of terms and definitions into a list of -- JATS varlistentrys. deflistItemsToJATS :: PandocMonad m => WriterOptions -> [([Inline],[[Block]])] -> JATS m (Doc Text) deflistItemsToJATS opts items = vcat <$> mapM (uncurry (deflistItemToJATS opts)) items -- | Convert a term and a list of blocks into a JATS varlistentry. deflistItemToJATS :: PandocMonad m => WriterOptions -> [Inline] -> [[Block]] -> JATS m (Doc Text) deflistItemToJATS opts term defs = do term' <- inlinesToJATS opts term def' <- wrappedBlocksToJATS (not . isPara) opts $ concatMap (walk demoteHeaderAndRefs . map plainToPara) defs return $ inTagsIndented "def-item" $ inTagsSimple "term" term' $$ inTagsIndented "def" def' -- | Convert a list of lists of blocks to a list of JATS list items. listItemsToJATS :: PandocMonad m => WriterOptions -> Maybe [Text] -> [[Block]] -> JATS m (Doc Text) listItemsToJATS opts markers items = case markers of Nothing -> vcat <$> mapM (listItemToJATS opts Nothing) items Just ms -> vcat <$> zipWithM (listItemToJATS opts) (map Just ms) items -- | Convert a list of blocks into a JATS list item. listItemToJATS :: PandocMonad m => WriterOptions -> Maybe Text -> [Block] -> JATS m (Doc Text) listItemToJATS opts mbmarker item = do contents <- wrappedBlocksToJATS (not . isParaOrList) opts (walk demoteHeaderAndRefs item) return $ inTagsIndented "list-item" $ maybe empty (\lbl -> inTagsSimple "label" (text $ T.unpack lbl)) mbmarker $$ contents imageMimeType :: Text -> [(Text, Text)] -> (Text, Text) imageMimeType src kvs = let mbMT = getMimeType (T.unpack src) maintype = fromMaybe "image" $ lookup "mimetype" kvs `mplus` (T.takeWhile (/='/') <$> mbMT) subtype = fromMaybe "" $ lookup "mime-subtype" kvs `mplus` ((T.drop 1 . T.dropWhile (/='/')) <$> mbMT) in (maintype, subtype) languageFor :: [Text] -> Text languageFor classes = case langs of (l:_) -> escapeStringForXML l [] -> "" where isLang l = T.toLower l `elem` map T.toLower languages langsFrom s = if isLang s then [s] else languagesByExtension . T.toLower $ s langs = concatMap langsFrom classes codeAttr :: Attr -> (Text, [(Text, Text)]) codeAttr (ident,classes,kvs) = (lang, attr) where attr = [("id",ident) | not (T.null ident)] ++ [("language",lang) | not (T.null lang)] ++ [(k,v) | (k,v) <- kvs, k `elem` ["code-type", "code-version", "executable", "language-version", "orientation", "platforms", "position", "specific-use"]] lang = languageFor classes -- | Convert a Pandoc block element to JATS. blockToJATS :: PandocMonad m => WriterOptions -> Block -> JATS m (Doc Text) blockToJATS _ Null = return empty blockToJATS opts (Div (id',"section":_,kvs) (Header _lvl _ ils : xs)) = do let idAttr = [("id", writerIdentifierPrefix opts <> id') | not (T.null id')] let otherAttrs = ["sec-type", "specific-use"] let attribs = idAttr ++ [(k,v) | (k,v) <- kvs, k `elem` otherAttrs] title' <- inlinesToJATS opts ils contents <- blocksToJATS opts xs return $ inTags True "sec" attribs $ inTagsSimple "title" title' $$ contents -- Bibliography reference: blockToJATS opts (Div (T.stripPrefix "ref-" -> Just _,_,_) [Para lst]) = inlinesToJATS opts lst blockToJATS opts (Div ("refs",_,_) xs) = do contents <- blocksToJATS opts xs return $ inTagsIndented "ref-list" contents blockToJATS opts (Div (ident,[cls],kvs) bs) | cls `elem` ["fig", "caption", "table-wrap"] = do contents <- blocksToJATS opts bs let attr = [("id", ident) | not (T.null ident)] ++ [("xml:lang",l) | ("lang",l) <- kvs] ++ [(k,v) | (k,v) <- kvs, k `elem` ["specific-use", "content-type", "orientation", "position"]] return $ inTags True cls attr contents blockToJATS opts (Div (ident,_,kvs) bs) = do contents <- blocksToJATS opts bs let attr = [("id", ident) | not (T.null ident)] ++ [("xml:lang",l) | ("lang",l) <- kvs] ++ [(k,v) | (k,v) <- kvs, k `elem` ["specific-use", "content-type", "orientation", "position"]] return $ inTags True "boxed-text" attr contents blockToJATS opts (Header _ _ title) = do title' <- inlinesToJATS opts title return $ inTagsSimple "title" title' -- No Plain, everything needs to be in a block-level tag blockToJATS opts (Plain lst) = blockToJATS opts (Para lst) -- title beginning with fig: indicates that the image is a figure blockToJATS opts (Para [Image (ident,_,kvs) txt (src,T.stripPrefix "fig:" -> Just tit)]) = do alt <- inlinesToJATS opts txt let (maintype, subtype) = imageMimeType src kvs let capt = if null txt then empty else inTagsSimple "caption" $ inTagsSimple "p" alt let attr = [("id", ident) | not (T.null ident)] ++ [(k,v) | (k,v) <- kvs, k `elem` ["fig-type", "orientation", "position", "specific-use"]] let graphicattr = [("mimetype",maintype), ("mime-subtype",subtype), ("xlink:href",src), -- do we need to URL escape this? ("xlink:title",tit)] return $ inTags True "fig" attr $ capt $$ selfClosingTag "graphic" graphicattr blockToJATS _ (Para [Image (ident,_,kvs) _ (src, tit)]) = do let (maintype, subtype) = imageMimeType src kvs let attr = [("id", ident) | not (T.null ident)] ++ [("mimetype", maintype), ("mime-subtype", subtype), ("xlink:href", src)] ++ [("xlink:title", tit) | not (T.null tit)] ++ [(k,v) | (k,v) <- kvs, k `elem` ["baseline-shift", "content-type", "specific-use", "xlink:actuate", "xlink:href", "xlink:role", "xlink:show", "xlink:type"]] return $ selfClosingTag "graphic" attr blockToJATS opts (Para lst) = inTagsSimple "p" <$> inlinesToJATS opts lst blockToJATS opts (LineBlock lns) = blockToJATS opts $ linesToPara lns blockToJATS opts (BlockQuote blocks) = do tagSet <- ask let blocksToJats' = if tagSet == TagSetArticleAuthoring then wrappedBlocksToJATS (not . isPara) else blocksToJATS inTagsIndented "disp-quote" <$> blocksToJats' opts blocks blockToJATS _ (CodeBlock a str) = return $ inTags False tag attr (flush (text (T.unpack $ escapeStringForXML str))) where (lang, attr) = codeAttr a tag = if T.null lang then "preformat" else "code" blockToJATS _ (BulletList []) = return empty blockToJATS opts (BulletList lst) = inTags True "list" [("list-type", "bullet")] <$> listItemsToJATS opts Nothing lst blockToJATS _ (OrderedList _ []) = return empty blockToJATS opts (OrderedList (start, numstyle, delimstyle) items) = do tagSet <- ask let listType = -- The Article Authoring tag set doesn't allow a more specific -- @list-type@ attribute than "order". if tagSet == TagSetArticleAuthoring then "order" else case numstyle of DefaultStyle -> "order" Decimal -> "order" Example -> "order" UpperAlpha -> "alpha-upper" LowerAlpha -> "alpha-lower" UpperRoman -> "roman-upper" LowerRoman -> "roman-lower" let simpleList = start == 1 && (delimstyle == DefaultDelim || delimstyle == Period) let markers = if simpleList then Nothing else Just $ orderedListMarkers (start, numstyle, delimstyle) inTags True "list" [("list-type", listType)] <$> listItemsToJATS opts markers items blockToJATS opts (DefinitionList lst) = inTags True "def-list" [] <$> deflistItemsToJATS opts lst blockToJATS _ b@(RawBlock f str) | f == "jats" = return $ text $ T.unpack str -- raw XML block | otherwise = do report $ BlockNotRendered b return empty blockToJATS _ HorizontalRule = return empty -- not semantic blockToJATS opts (Table [] aligns widths headers rows) = do let percent w = tshow (truncate (100*w) :: Integer) <> "*" let coltags = vcat $ zipWith (\w al -> selfClosingTag "col" ([("width", percent w) | w > 0] ++ [("align", alignmentToText al)])) widths aligns thead <- if all null headers then return empty else inTagsIndented "thead" <$> tableRowToJATS opts True headers tbody <- (inTagsIndented "tbody" . vcat) <$> mapM (tableRowToJATS opts False) rows return $ inTags True "table" [] $ coltags $$ thead $$ tbody blockToJATS opts (Table caption aligns widths headers rows) = do captionDoc <- inTagsIndented "caption" <$> blockToJATS opts (Para caption) tbl <- blockToJATS opts (Table [] aligns widths headers rows) return $ inTags True "table-wrap" [] $ captionDoc $$ tbl alignmentToText :: Alignment -> Text alignmentToText alignment = case alignment of AlignLeft -> "left" AlignRight -> "right" AlignCenter -> "center" AlignDefault -> "left" tableRowToJATS :: PandocMonad m => WriterOptions -> Bool -> [[Block]] -> JATS m (Doc Text) tableRowToJATS opts isHeader cols = (inTagsIndented "tr" . vcat) <$> mapM (tableItemToJATS opts isHeader) cols tableItemToJATS :: PandocMonad m => WriterOptions -> Bool -> [Block] -> JATS m (Doc Text) tableItemToJATS opts isHeader [Plain item] = inTags False (if isHeader then "th" else "td") [] <$> inlinesToJATS opts item tableItemToJATS opts isHeader item = (inTags False (if isHeader then "th" else "td") [] . vcat) <$> mapM (blockToJATS opts) item -- | Convert a list of inline elements to JATS. inlinesToJATS :: PandocMonad m => WriterOptions -> [Inline] -> JATS m (Doc Text) inlinesToJATS opts lst = hcat <$> mapM (inlineToJATS opts) (fixCitations lst) where fixCitations [] = [] fixCitations (x:xs) | needsFixing x = x : Str (stringify ys) : fixCitations zs where needsFixing (RawInline (Format "jats") z) = "<pub-id pub-id-type=" `T.isPrefixOf` z needsFixing _ = False isRawInline RawInline{} = True isRawInline _ = False (ys,zs) = break isRawInline xs fixCitations (x:xs) = x : fixCitations xs -- | Convert an inline element to JATS. inlineToJATS :: PandocMonad m => WriterOptions -> Inline -> JATS m (Doc Text) inlineToJATS _ (Str str) = return $ text $ T.unpack $ escapeStringForXML str inlineToJATS opts (Emph lst) = inTagsSimple "italic" <$> inlinesToJATS opts lst inlineToJATS opts (Strong lst) = inTagsSimple "bold" <$> inlinesToJATS opts lst inlineToJATS opts (Strikeout lst) = inTagsSimple "strike" <$> inlinesToJATS opts lst inlineToJATS opts (Superscript lst) = inTagsSimple "sup" <$> inlinesToJATS opts lst inlineToJATS opts (Subscript lst) = inTagsSimple "sub" <$> inlinesToJATS opts lst inlineToJATS opts (SmallCaps lst) = inTagsSimple "sc" <$> inlinesToJATS opts lst inlineToJATS opts (Quoted SingleQuote lst) = do contents <- inlinesToJATS opts lst return $ char '‘' <> contents <> char '’' inlineToJATS opts (Quoted DoubleQuote lst) = do contents <- inlinesToJATS opts lst return $ char '“' <> contents <> char '”' inlineToJATS _ (Code a str) = return $ inTags False tag attr $ literal (escapeStringForXML str) where (lang, attr) = codeAttr a tag = if T.null lang then "monospace" else "code" inlineToJATS _ il@(RawInline f x) | f == "jats" = return $ literal x | otherwise = do report $ InlineNotRendered il return empty inlineToJATS _ LineBreak = return cr -- not allowed as child of p -- see https://jats.nlm.nih.gov/publishing/tag-library/1.2/element/break.html inlineToJATS _ Space = return space inlineToJATS opts SoftBreak | writerWrapText opts == WrapPreserve = return cr | otherwise = return space inlineToJATS opts (Note contents) = do tagSet <- ask -- Footnotes must occur inline when using the Article Authoring tag set. if tagSet == TagSetArticleAuthoring then inTagsIndented "fn" <$> wrappedBlocksToJATS (not . isPara) opts contents else do notes <- gets jatsNotes let notenum = case notes of (n, _):_ -> n + 1 [] -> 1 thenote <- inTags True "fn" [("id","fn" <> tshow notenum)] <$> wrappedBlocksToJATS (not . isPara) opts (walk demoteHeaderAndRefs contents) modify $ \st -> st{ jatsNotes = (notenum, thenote) : notes } return $ inTags False "xref" [("ref-type", "fn"), ("rid", "fn" <> tshow notenum)] $ text (show notenum) inlineToJATS opts (Cite _ lst) = -- TODO revisit this after examining the jats.csl pipeline inlinesToJATS opts lst inlineToJATS opts (Span ("",_,[]) ils) = inlinesToJATS opts ils inlineToJATS opts (Span (ident,_,kvs) ils) = do contents <- inlinesToJATS opts ils let attr = [("id",ident) | not (T.null ident)] ++ [("xml:lang",l) | ("lang",l) <- kvs] ++ [(k,v) | (k,v) <- kvs , k `elem` ["content-type", "rationale", "rid", "specific-use"]] return $ selfClosingTag "milestone-start" attr <> contents <> selfClosingTag "milestone-end" [] inlineToJATS _ (Math t str) = do let addPref (Xml.Attr q v) | Xml.qName q == "xmlns" = Xml.Attr q{ Xml.qName = "xmlns:mml" } v | otherwise = Xml.Attr q v let fixNS' e = e{ Xml.elName = (Xml.elName e){ Xml.qPrefix = Just "mml" } } let fixNS = everywhere (mkT fixNS') . (\e -> e{ Xml.elAttribs = map addPref (Xml.elAttribs e) }) let conf = Xml.useShortEmptyTags (const False) Xml.defaultConfigPP res <- convertMath writeMathML t str let tagtype = case t of DisplayMath -> "disp-formula" InlineMath -> "inline-formula" let rawtex = text "<![CDATA[" <> literal str <> text "]]>" let texMath = inTagsSimple "tex-math" rawtex tagSet <- ask return . inTagsSimple tagtype $ case res of Right r -> let mathMl = text (Xml.ppcElement conf $ fixNS r) -- tex-math is unsupported in Article Authoring tag set in if tagSet == TagSetArticleAuthoring then mathMl else inTagsSimple "alternatives" $ cr <> texMath $$ mathMl Left _ -> if tagSet /= TagSetArticleAuthoring then texMath else rawtex inlineToJATS _ (Link _attr [Str t] (T.stripPrefix "mailto:" -> Just email, _)) | escapeURI t == email = return $ inTagsSimple "email" $ literal (escapeStringForXML email) inlineToJATS opts (Link (ident,_,kvs) txt (T.uncons -> Just ('#', src), _)) = do let attr = [("id", ident) | not (T.null ident)] ++ [("alt", stringify txt) | not (null txt)] ++ [("rid", src)] ++ [(k,v) | (k,v) <- kvs, k `elem` ["ref-type", "specific-use"]] if null txt then return $ selfClosingTag "xref" attr else do contents <- inlinesToJATS opts txt return $ inTags False "xref" attr contents inlineToJATS opts (Link (ident,_,kvs) txt (src, tit)) = do let attr = [("id", ident) | not (T.null ident)] ++ [("ext-link-type", "uri"), ("xlink:href", src)] ++ [("xlink:title", tit) | not (T.null tit)] ++ [(k,v) | (k,v) <- kvs, k `elem` ["assigning-authority", "specific-use", "xlink:actuate", "xlink:role", "xlink:show", "xlink:type"]] contents <- inlinesToJATS opts txt return $ inTags False "ext-link" attr contents inlineToJATS _ (Image (ident,_,kvs) _ (src, tit)) = do let mbMT = getMimeType (T.unpack src) let maintype = fromMaybe "image" $ lookup "mimetype" kvs `mplus` (T.takeWhile (/='/') <$> mbMT) let subtype = fromMaybe "" $ lookup "mime-subtype" kvs `mplus` ((T.drop 1 . T.dropWhile (/='/')) <$> mbMT) let attr = [("id", ident) | not (T.null ident)] ++ [("mimetype", maintype), ("mime-subtype", subtype), ("xlink:href", src)] ++ [("xlink:title", tit) | not (T.null tit)] ++ [(k,v) | (k,v) <- kvs, k `elem` ["baseline-shift", "content-type", "specific-use", "xlink:actuate", "xlink:href", "xlink:role", "xlink:show", "xlink:type"]] return $ selfClosingTag "inline-graphic" attr isParaOrList :: Block -> Bool isParaOrList Para{} = True isParaOrList Plain{} = True isParaOrList BulletList{} = True isParaOrList OrderedList{} = True isParaOrList DefinitionList{} = True isParaOrList _ = False isPara :: Block -> Bool isPara Para{} = True isPara Plain{} = True isPara _ = False demoteHeaderAndRefs :: Block -> Block demoteHeaderAndRefs (Header _ _ ils) = Para ils demoteHeaderAndRefs (Div ("refs",cls,kvs) bs) = Div ("",cls,kvs) bs demoteHeaderAndRefs x = x parseDate :: Text -> Maybe Day parseDate s = msum (map (\fs -> parsetimeWith fs $ T.unpack s) formats) :: Maybe Day where parsetimeWith = parseTimeM True defaultTimeLocale formats = ["%x","%m/%d/%Y", "%D","%F", "%d %b %Y", "%e %B %Y", "%b. %e, %Y", "%B %e, %Y", "%Y%m%d", "%Y%m", "%Y"] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Jira.hs������������������������������������������������������0000664�0000000�0000000�00000024566�13636304630�0020747�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.Jira Copyright : © 2010-2020 Albert Krewinkel, John MacFarlane License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to Jira markup. JIRA: <https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all> -} module Text.Pandoc.Writers.Jira ( writeJira ) where import Control.Monad.Reader (ReaderT, ask, asks, runReaderT) import Control.Monad.State.Strict (StateT, evalStateT, gets, modify) import Data.Foldable (find) import Data.Text (Text) import Text.Jira.Parser (plainText) import Text.Jira.Printer (prettyBlocks, prettyInlines) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Options (WriterOptions (writerTemplate, writerWrapText), WrapOption (..)) import Text.Pandoc.Shared (linesToPara) import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Math (texMathToInlines) import Text.Pandoc.Writers.Shared (defField, metaToContext) import Text.DocLayout (literal, render) import qualified Data.Text as T import qualified Text.Jira.Markup as Jira -- | Convert Pandoc to Jira. writeJira :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeJira opts = runDefaultConverter (writerWrapText opts) (pandocToJira opts) -- | State to keep track of footnotes. newtype ConverterState = ConverterState { stNotes :: [Text] } -- | Initial converter state. startState :: ConverterState startState = ConverterState { stNotes = [] } -- | Converter monad type JiraConverter m = ReaderT WrapOption (StateT ConverterState m) -- | Run a converter using the default state runDefaultConverter :: PandocMonad m => WrapOption -> (a -> JiraConverter m Text) -> a -> m Text runDefaultConverter wrap c x = evalStateT (runReaderT (c x) wrap) startState -- | Return Jira representation of document. pandocToJira :: PandocMonad m => WriterOptions -> Pandoc -> JiraConverter m Text pandocToJira opts (Pandoc meta blocks) = do wrap <- ask metadata <- metaToContext opts (fmap literal . runDefaultConverter wrap blockListToJira) (fmap literal . runDefaultConverter wrap inlineListToJira) meta body <- blockListToJira blocks notes <- gets $ T.intercalate "\n" . reverse . stNotes let main = body <> if T.null notes then mempty else "\n\n" <> notes let context = defField "body" main metadata return $ case writerTemplate opts of Nothing -> main Just tpl -> render Nothing $ renderTemplate tpl context blockListToJira :: PandocMonad m => [Block] -> JiraConverter m Text blockListToJira = fmap prettyBlocks . toJiraBlocks inlineListToJira :: PandocMonad m => [Inline] -> JiraConverter m Text inlineListToJira = fmap prettyInlines . toJiraInlines toJiraBlocks :: PandocMonad m => [Block] -> JiraConverter m [Jira.Block] toJiraBlocks blocks = do let convert = \case BlockQuote bs -> singleton . Jira.BlockQuote <$> toJiraBlocks bs BulletList items -> singleton . Jira.List Jira.CircleBullets <$> toJiraItems items CodeBlock attr cs -> toJiraCode attr cs DefinitionList items -> toJiraDefinitionList items Div attr bs -> toJiraPanel attr bs Header lvl attr xs -> toJiraHeader lvl attr xs HorizontalRule -> return . singleton $ Jira.HorizontalRule LineBlock xs -> toJiraBlocks [linesToPara xs] OrderedList _ items -> singleton . Jira.List Jira.Enumeration <$> toJiraItems items Para xs -> singleton . Jira.Para <$> toJiraInlines xs Plain xs -> singleton . Jira.Para <$> toJiraInlines xs RawBlock fmt cs -> rawBlockToJira fmt cs Null -> return mempty Table _ _ _ hd body -> singleton <$> do headerRow <- if all null hd then pure Nothing else Just <$> toRow Jira.HeaderCell hd bodyRows <- mapM (toRow Jira.BodyCell) body let rows = case headerRow of Just header -> header : bodyRows Nothing -> bodyRows return $ Jira.Table rows jiraBlocks <- mapM convert blocks return $ mconcat jiraBlocks toRow :: PandocMonad m => ([Jira.Block] -> Jira.Cell) -> [TableCell] -> JiraConverter m Jira.Row toRow mkCell cells = Jira.Row <$> mapM (fmap mkCell . toJiraBlocks) cells toJiraItems :: PandocMonad m => [[Block]] -> JiraConverter m [[Jira.Block]] toJiraItems = mapM toJiraBlocks toJiraCode :: PandocMonad m => Attr -> Text -> JiraConverter m [Jira.Block] toJiraCode (ident, classes, _attribs) code = do let lang = case find (\c -> T.toLower c `elem` knownLanguages) classes of Nothing -> Jira.Language "java" Just l -> Jira.Language l let addAnchor b = if T.null ident then b else [Jira.Para (singleton (Jira.Anchor ident))] <> b return . addAnchor . singleton $ Jira.Code lang mempty code -- | Creates a Jira definition list toJiraDefinitionList :: PandocMonad m => [([Inline], [[Block]])] -> JiraConverter m [Jira.Block] toJiraDefinitionList defItems = do let convertDefItem (term, defs) = do jiraTerm <- Jira.Para <$> styled Jira.Strong term jiraDefs <- mconcat <$> mapM toJiraBlocks defs return $ jiraTerm : jiraDefs singleton . Jira.List Jira.CircleBullets <$> mapM convertDefItem defItems -- | Creates a Jira panel toJiraPanel :: PandocMonad m => Attr -> [Block] -> JiraConverter m [Jira.Block] toJiraPanel attr blocks = do jiraBlocks <- toJiraBlocks blocks return $ if attr == nullAttr then jiraBlocks else singleton (Jira.Panel [] jiraBlocks) -- | Creates a Jira header toJiraHeader :: PandocMonad m => Int -> Attr -> [Inline] -> JiraConverter m [Jira.Block] toJiraHeader lvl (ident, _, _) inlines = let anchor = Jira.Anchor ident in singleton . Jira.Header lvl . (anchor :) <$> toJiraInlines inlines -- | Handles raw block. Jira is included verbatim, everything else is -- discarded. rawBlockToJira :: PandocMonad m => Format -> Text -> JiraConverter m [Jira.Block] rawBlockToJira fmt cs = do rawInlines <- toJiraRaw fmt cs return $ if null rawInlines then mempty else singleton (Jira.Para rawInlines) toJiraRaw :: PandocMonad m => Format -> Text -> JiraConverter m [Jira.Inline] toJiraRaw fmt cs = case fmt of Format "jira" -> return . singleton $ Jira.Str cs _ -> return mempty -- -- Inlines -- toJiraInlines :: PandocMonad m => [Inline] -> JiraConverter m [Jira.Inline] toJiraInlines inlines = do let convert = \case Cite _ xs -> toJiraInlines xs Code _ cs -> return . singleton $ Jira.Monospaced (escapeSpecialChars cs) Emph xs -> styled Jira.Emphasis xs Image _ _ (src, _) -> pure . singleton $ Jira.Image [] (Jira.URL src) LineBreak -> pure . singleton $ Jira.Linebreak Link _ xs (tgt, _) -> singleton . flip Jira.Link (Jira.URL tgt) <$> toJiraInlines xs Math mtype cs -> mathToJira mtype cs Note bs -> registerNotes bs Quoted qt xs -> quotedToJira qt xs RawInline fmt cs -> toJiraRaw fmt cs SmallCaps xs -> styled Jira.Strong xs SoftBreak -> do preserveBreak <- asks (== WrapPreserve) pure . singleton $ if preserveBreak then Jira.Linebreak else Jira.Space Space -> pure . singleton $ Jira.Space Span _attr xs -> toJiraInlines xs Str s -> pure $ escapeSpecialChars s Strikeout xs -> styled Jira.Strikeout xs Strong xs -> styled Jira.Strong xs Subscript xs -> styled Jira.Subscript xs Superscript xs -> styled Jira.Superscript xs jiraInlines <- mapM convert inlines return $ mconcat jiraInlines singleton :: a -> [a] singleton = (:[]) styled :: PandocMonad m => Jira.InlineStyle -> [Inline] -> JiraConverter m [Jira.Inline] styled s = fmap (singleton . Jira.Styled s) . toJiraInlines -- | Converts a plain text value to Jira inlines, ensuring that all -- special characters will be handled appropriately. escapeSpecialChars :: Text -> [Jira.Inline] escapeSpecialChars t = case plainText t of Right xs -> xs Left _ -> singleton $ Jira.Str t mathToJira :: PandocMonad m => MathType -> Text -> JiraConverter m [Jira.Inline] mathToJira mtype cs = do mathInlines <- toJiraInlines =<< texMathToInlines mtype cs return $ case mtype of InlineMath -> mathInlines DisplayMath -> Jira.Linebreak : mathInlines ++ [Jira.Linebreak] quotedToJira :: PandocMonad m => QuoteType -> [Inline] -> JiraConverter m [Jira.Inline] quotedToJira qtype xs = do let quoteChar = case qtype of DoubleQuote -> "\"" SingleQuote -> "'" let surroundWithQuotes = (Jira.Str quoteChar :) . (++ [Jira.Str quoteChar]) surroundWithQuotes <$> toJiraInlines xs registerNotes :: PandocMonad m => [Block] -> JiraConverter m [Jira.Inline] registerNotes contents = do curNotes <- gets stNotes let newnum = length curNotes + 1 contents' <- blockListToJira contents let thisnote = "\\[" <> T.pack (show newnum) <> "] " <> contents' <> "\n" modify $ \s -> s { stNotes = thisnote : curNotes } return . singleton . Jira.Str $ "[" <> T.pack (show newnum) <> "]" -- | Language codes recognized by jira knownLanguages :: [Text] knownLanguages = [ "actionscript", "ada", "applescript", "bash", "c", "c#", "c++" , "css", "erlang", "go", "groovy", "haskell", "html", "javascript" , "json", "lua", "nyan", "objc", "perl", "php", "python", "r", "ruby" , "scala", "sql", "swift", "visualbasic", "xml", "yaml" ] ������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/LaTeX.hs�����������������������������������������������������0000664�0000000�0000000�00000220736�13636304630�0021034�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.LaTeX Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' format into LaTeX. -} module Text.Pandoc.Writers.LaTeX ( writeLaTeX , writeBeamer ) where import Control.Applicative ((<|>)) import Control.Monad.State.Strict import Data.Monoid (Any(..)) import Data.Char (isAlphaNum, isAscii, isDigit, isLetter, isSpace, isPunctuation, ord) import Data.List (foldl', intersperse, nubBy, (\\), uncons) import Data.Maybe (catMaybes, fromMaybe, isJust, mapMaybe, isNothing) import qualified Data.Map as M import Data.Text (Text) import qualified Data.Text as T import Network.URI (unEscapeString) import Text.DocTemplates (FromContext(lookupContext), renderTemplate, Val(..), Context(..)) import Text.Pandoc.BCP47 (Lang (..), getLang, renderLang) import Text.Pandoc.Class.PandocMonad (PandocMonad, report, toLang) import Text.Pandoc.Definition import Text.Pandoc.Highlighting (formatLaTeXBlock, formatLaTeXInline, highlight, styleToLaTeX, toListingsLanguage) import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Slides import Text.Pandoc.Walk import Text.Pandoc.Writers.Shared import Text.Printf (printf) import qualified Data.Text.Normalize as Normalize data WriterState = WriterState { stInNote :: Bool -- true if we're in a note , stInQuote :: Bool -- true if in a blockquote , stExternalNotes :: Bool -- true if in context where -- we need to store footnotes , stInMinipage :: Bool -- true if in minipage , stInHeading :: Bool -- true if in a section heading , stInItem :: Bool -- true if in \item[..] , stNotes :: [Doc Text] -- notes in a minipage , stOLLevel :: Int -- level of ordered list nesting , stOptions :: WriterOptions -- writer options, so they don't have to be parameter , stVerbInNote :: Bool -- true if document has verbatim text in note , stTable :: Bool -- true if document has a table , stStrikeout :: Bool -- true if document has strikeout , stUrl :: Bool -- true if document has visible URL link , stGraphics :: Bool -- true if document contains images , stLHS :: Bool -- true if document has literate haskell code , stHasChapters :: Bool -- true if document has chapters , stCsquotes :: Bool -- true if document uses csquotes , stHighlighting :: Bool -- true if document has highlighted code , stIncremental :: Bool -- true if beamer lists should be displayed bit by bit , stInternalLinks :: [Text] -- list of internal link targets , stBeamer :: Bool -- produce beamer , stEmptyLine :: Bool -- true if no content on line , stHasCslRefs :: Bool -- has a Div with class refs , stCslHangingIndent :: Bool -- use hanging indent for bib } startingState :: WriterOptions -> WriterState startingState options = WriterState { stInNote = False , stInQuote = False , stExternalNotes = False , stInHeading = False , stInMinipage = False , stInItem = False , stNotes = [] , stOLLevel = 1 , stOptions = options , stVerbInNote = False , stTable = False , stStrikeout = False , stUrl = False , stGraphics = False , stLHS = False , stHasChapters = case writerTopLevelDivision options of TopLevelPart -> True TopLevelChapter -> True _ -> False , stCsquotes = False , stHighlighting = False , stIncremental = writerIncremental options , stInternalLinks = [] , stBeamer = False , stEmptyLine = True , stHasCslRefs = False , stCslHangingIndent = False } -- | Convert Pandoc to LaTeX. writeLaTeX :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeLaTeX options document = evalStateT (pandocToLaTeX options document) $ startingState options -- | Convert Pandoc to LaTeX Beamer. writeBeamer :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeBeamer options document = evalStateT (pandocToLaTeX options document) $ (startingState options){ stBeamer = True } type LW m = StateT WriterState m pandocToLaTeX :: PandocMonad m => WriterOptions -> Pandoc -> LW m Text pandocToLaTeX options (Pandoc meta blocks) = do -- Strip off final 'references' header if --natbib or --biblatex let method = writerCiteMethod options let blocks' = if method == Biblatex || method == Natbib then case reverse blocks of Div ("refs",_,_) _:xs -> reverse xs _ -> blocks else blocks -- see if there are internal links let isInternalLink (Link _ _ (s,_)) | Just ('#', xs) <- T.uncons s = [xs] isInternalLink _ = [] modify $ \s -> s{ stInternalLinks = query isInternalLink blocks' } let colwidth = if writerWrapText options == WrapAuto then Just $ writerColumns options else Nothing metadata <- metaToContext options blockListToLaTeX (fmap chomp . inlineListToLaTeX) meta let chaptersClasses = ["memoir","book","report","scrreprt","scrbook","extreport","extbook","tufte-book"] let frontmatterClasses = ["memoir","book","scrbook","extbook","tufte-book"] -- these have \frontmatter etc. beamer <- gets stBeamer let documentClass = case lookupContext "documentclass" (writerVariables options) `mplus` (stringify <$> lookupMeta "documentclass" meta) of Just x -> x Nothing | beamer -> "beamer" | otherwise -> case writerTopLevelDivision options of TopLevelPart -> "book" TopLevelChapter -> "book" _ -> "article" when (documentClass `elem` chaptersClasses) $ modify $ \s -> s{ stHasChapters = True } case T.toLower . render Nothing <$> getField "csquotes" metadata of Nothing -> return () Just "false" -> return () Just _ -> modify $ \s -> s{stCsquotes = True} let (blocks'', lastHeader) = if writerCiteMethod options == Citeproc then (blocks', []) else case reverse blocks' of Header 1 _ il : _ -> (init blocks', il) _ -> (blocks', []) blocks''' <- if beamer then toSlides blocks'' else return $ makeSections False Nothing blocks'' main <- blockListToLaTeX blocks''' biblioTitle <- inlineListToLaTeX lastHeader st <- get titleMeta <- stringToLaTeX TextString $ stringify $ docTitle meta authorsMeta <- mapM (stringToLaTeX TextString . stringify) $ docAuthors meta docLangs <- catMaybes <$> mapM (toLang . Just) (ordNub (query (extract "lang") blocks)) let hasStringValue x = isJust (getField x metadata :: Maybe (Doc Text)) let geometryFromMargins = mconcat $ intersperse ("," :: Doc Text) $ mapMaybe (\(x,y) -> ((x <> "=") <>) <$> getField y metadata) [("lmargin","margin-left") ,("rmargin","margin-right") ,("tmargin","margin-top") ,("bmargin","margin-bottom") ] let toPolyObj :: Lang -> Val Text toPolyObj lang = MapVal $ Context $ M.fromList [ ("name" , SimpleVal $ literal name) , ("options" , SimpleVal $ literal opts) ] where (name, opts) = toPolyglossia lang mblang <- toLang $ case getLang options meta of Just l -> Just l Nothing | null docLangs -> Nothing | otherwise -> Just "en" -- we need a default here since lang is used in template conditionals let dirs = query (extract "dir") blocks let context = defField "toc" (writerTableOfContents options) $ defField "toc-depth" (tshow (writerTOCDepth options - if stHasChapters st then 1 else 0)) $ defField "body" main $ defField "title-meta" titleMeta $ defField "author-meta" (T.intercalate "; " authorsMeta) $ defField "documentclass" documentClass $ defField "verbatim-in-note" (stVerbInNote st) $ defField "tables" (stTable st) $ defField "strikeout" (stStrikeout st) $ defField "url" (stUrl st) $ defField "numbersections" (writerNumberSections options) $ defField "lhs" (stLHS st) $ defField "graphics" (stGraphics st) $ defField "has-chapters" (stHasChapters st) $ defField "has-frontmatter" (documentClass `elem` frontmatterClasses) $ defField "listings" (writerListings options || stLHS st) $ defField "beamer" beamer $ (if stHighlighting st then case writerHighlightStyle options of Just sty -> defField "highlighting-macros" (T.stripEnd $ styleToLaTeX sty) Nothing -> id else id) $ (case writerCiteMethod options of Natbib -> defField "biblio-title" biblioTitle . defField "natbib" True Biblatex -> defField "biblio-title" biblioTitle . defField "biblatex" True _ -> id) $ defField "colorlinks" (any hasStringValue ["citecolor", "urlcolor", "linkcolor", "toccolor", "filecolor"]) $ (if null dirs then id else defField "dir" ("ltr" :: Text)) $ defField "section-titles" True $ defField "csl-refs" (stHasCslRefs st) $ defField "csl-hanging-indent" (stCslHangingIndent st) $ defField "geometry" geometryFromMargins $ (case T.uncons . render Nothing <$> getField "papersize" metadata of -- uppercase a4, a5, etc. Just (Just ('A', ds)) | not (T.null ds) && T.all isDigit ds -> resetField "papersize" ("a" <> ds) _ -> id) metadata let context' = -- note: lang is used in some conditionals in the template, -- so we need to set it if we have any babel/polyglossia: maybe id (\l -> defField "lang" (literal $ renderLang l)) mblang $ maybe id (\l -> defField "babel-lang" (literal $ toBabel l)) mblang $ defField "babel-otherlangs" (map (literal . toBabel) docLangs) $ defField "babel-newcommands" (vcat $ map (\(poly, babel) -> literal $ -- \textspanish and \textgalician are already used by babel -- save them as \oritext... and let babel use that if poly `elem` ["spanish", "galician"] then "\\let\\oritext" <> poly <> "\\text" <> poly <> "\n" <> "\\AddBabelHook{" <> poly <> "}{beforeextras}" <> "{\\renewcommand{\\text" <> poly <> "}{\\oritext" <> poly <> "}}\n" <> "\\AddBabelHook{" <> poly <> "}{afterextras}" <> "{\\renewcommand{\\text" <> poly <> "}[2][]{\\foreignlanguage{" <> poly <> "}{##2}}}" else (if poly == "latin" -- see #4161 then "\\providecommand{\\textlatin}{}\n\\renewcommand" else "\\newcommand") <> "{\\text" <> poly <> "}[2][]{\\foreignlanguage{" <> babel <> "}{#2}}\n" <> "\\newenvironment{" <> poly <> "}[2][]{\\begin{otherlanguage}{" <> babel <> "}}{\\end{otherlanguage}}" ) -- eliminate duplicates that have same polyglossia name $ nubBy (\a b -> fst a == fst b) -- find polyglossia and babel names of languages used in the document $ map (\l -> (fst $ toPolyglossia l, toBabel l)) docLangs ) $ maybe id (defField "polyglossia-lang" . toPolyObj) mblang $ defField "polyglossia-otherlangs" (ListVal (map toPolyObj docLangs :: [Val Text])) $ defField "latex-dir-rtl" ((render Nothing <$> getField "dir" context) == Just ("rtl" :: Text)) context return $ render colwidth $ case writerTemplate options of Nothing -> main Just tpl -> renderTemplate tpl context' data StringContext = TextString | URLString | CodeString deriving (Eq) -- escape things as needed for LaTeX stringToLaTeX :: PandocMonad m => StringContext -> Text -> LW m Text stringToLaTeX context zs = do opts <- gets stOptions return $ T.pack $ foldr (go opts context) mempty $ T.unpack $ if writerPreferAscii opts then Normalize.normalize Normalize.NFD zs else zs where go :: WriterOptions -> StringContext -> Char -> String -> String go opts ctx x xs = let ligatures = isEnabled Ext_smart opts && ctx == TextString isUrl = ctx == URLString mbAccentCmd = if writerPreferAscii opts && ctx == TextString then uncons xs >>= \(c,_) -> M.lookup c accents else Nothing emits s = case mbAccentCmd of Just cmd -> cmd <> "{" <> s <> "}" <> drop 1 xs -- drop combining accent Nothing -> s <> xs emitc c = case mbAccentCmd of Just cmd -> cmd <> "{" <> [c] <> "}" <> drop 1 xs -- drop combining accent Nothing -> c : xs emitcseq cs = case xs of c:_ | isLetter c , ctx == TextString -> cs <> " " <> xs | isSpace c -> cs <> "{}" <> xs | ctx == TextString -> cs <> xs _ -> cs <> "{}" <> xs emitquote cs = case xs of '`':_ -> cs <> "\\," <> xs -- add thin space '\'':_ -> cs <> "\\," <> xs -- add thin space _ -> cs <> xs in case x of '?' | ligatures -> -- avoid ?` ligature case xs of '`':_ -> emits "?{}" _ -> emitc x '!' | ligatures -> -- avoid !` ligature case xs of '`':_ -> emits "!{}" _ -> emitc x '{' -> emits "\\{" '}' -> emits "\\}" '`' | ctx == CodeString -> emitcseq "\\textasciigrave" '$' | not isUrl -> emits "\\$" '%' -> emits "\\%" '&' -> emits "\\&" '_' | not isUrl -> emits "\\_" '#' -> emits "\\#" '-' | not isUrl -> case xs of -- prevent adjacent hyphens from forming ligatures ('-':_) -> emits "-\\/" _ -> emitc '-' '~' | not isUrl -> emitcseq "\\textasciitilde" '^' -> emits "\\^{}" '\\'| isUrl -> emitc '/' -- NB. / works as path sep even on Windows | otherwise -> emitcseq "\\textbackslash" '|' | not isUrl -> emitcseq "\\textbar" '<' -> emitcseq "\\textless" '>' -> emitcseq "\\textgreater" '[' -> emits "{[}" -- to avoid interpretation as ']' -> emits "{]}" -- optional arguments '\'' | ctx == CodeString -> emitcseq "\\textquotesingle" '\160' -> emits "~" '\x200B' -> emits "\\hspace{0pt}" -- zero-width space '\x202F' -> emits "\\," '\x2026' -> emitcseq "\\ldots" '\x2018' | ligatures -> emitquote "`" '\x2019' | ligatures -> emitquote "'" '\x201C' | ligatures -> emitquote "``" '\x201D' | ligatures -> emitquote "''" '\x2014' | ligatures -> emits "---" '\x2013' | ligatures -> emits "--" _ | writerPreferAscii opts -> case x of 'ı' -> emitcseq "\\i" 'ȷ' -> emitcseq "\\j" 'å' -> emitcseq "\\aa" 'Å' -> emitcseq "\\AA" 'ß' -> emitcseq "\\ss" 'ø' -> emitcseq "\\o" 'Ø' -> emitcseq "\\O" 'Ł' -> emitcseq "\\L" 'ł' -> emitcseq "\\l" 'æ' -> emitcseq "\\ae" 'Æ' -> emitcseq "\\AE" 'œ' -> emitcseq "\\oe" 'Œ' -> emitcseq "\\OE" '£' -> emitcseq "\\pounds" '€' -> emitcseq "\\euro" '©' -> emitcseq "\\copyright" _ -> emitc x | otherwise -> emitc x accents :: M.Map Char String accents = M.fromList [ ('\779' , "\\H") , ('\768' , "\\`") , ('\769' , "\\'") , ('\770' , "\\^") , ('\771' , "\\~") , ('\776' , "\\\"") , ('\775' , "\\.") , ('\772' , "\\=") , ('\781' , "\\|") , ('\817' , "\\b") , ('\807' , "\\c") , ('\783' , "\\G") , ('\777' , "\\h") , ('\803' , "\\d") , ('\785' , "\\f") , ('\778' , "\\r") , ('\865' , "\\t") , ('\782' , "\\U") , ('\780' , "\\v") , ('\774' , "\\u") , ('\808' , "\\k") , ('\785' , "\\newtie") , ('\8413', "\\textcircled") ] toLabel :: PandocMonad m => Text -> LW m Text toLabel z = go `fmap` stringToLaTeX URLString z where go = T.concatMap $ \x -> case x of _ | (isLetter x || isDigit x) && isAscii x -> T.singleton x | x `elemText` "_-+=:;." -> T.singleton x | otherwise -> T.pack $ "ux" <> printf "%x" (ord x) -- | Puts contents into LaTeX command. inCmd :: Text -> Doc Text -> Doc Text inCmd cmd contents = char '\\' <> literal cmd <> braces contents toSlides :: PandocMonad m => [Block] -> LW m [Block] toSlides bs = do opts <- gets stOptions let slideLevel = fromMaybe (getSlideLevel bs) $ writerSlideLevel opts let bs' = prepSlides slideLevel bs walkM (elementToBeamer slideLevel) $ makeSections False Nothing bs' -- this creates section slides and marks slides with class "slide","block" elementToBeamer :: PandocMonad m => Int -> Block -> LW m Block elementToBeamer slideLevel (Div (ident,"section":dclasses,dkvs) xs@(h@(Header lvl _ _) : ys)) | lvl > slideLevel = return $ Div (ident,"block":dclasses,dkvs) xs | lvl < slideLevel = do let isSlide (Div (_,"slide":_,_) _) = True isSlide (Div (_,"section":_,_) _) = True isSlide _ = False let (titleBs, slideBs) = break isSlide ys return $ if null titleBs then Div (ident,"section":dclasses,dkvs) xs else Div (ident,"section":dclasses,dkvs) (h : Div ("","slide":dclasses,dkvs) (h:titleBs) : slideBs) | otherwise = return $ Div (ident,"slide":dclasses,dkvs) xs elementToBeamer _ x = return x isListBlock :: Block -> Bool isListBlock (BulletList _) = True isListBlock (OrderedList _ _) = True isListBlock (DefinitionList _) = True isListBlock _ = False -- | Convert Pandoc block element to LaTeX. blockToLaTeX :: PandocMonad m => Block -- ^ Block to convert -> LW m (Doc Text) blockToLaTeX Null = return empty blockToLaTeX (Div attr@(identifier,"block":_,_) (Header _ _ ils : bs)) = do ref <- toLabel identifier let anchor = if T.null identifier then empty else cr <> "\\protect\\hypertarget" <> braces (literal ref) <> braces empty title' <- inlineListToLaTeX ils contents <- blockListToLaTeX bs wrapDiv attr $ ("\\begin{block}" <> braces title' <> anchor) $$ contents $$ "\\end{block}" blockToLaTeX (Div (identifier,"slide":dclasses,dkvs) (Header _ (_,hclasses,hkvs) ils : bs)) = do -- note: [fragile] is required or verbatim breaks let hasCodeBlock (CodeBlock _ _) = [True] hasCodeBlock _ = [] let hasCode (Code _ _) = [True] hasCode _ = [] let classes = ordNub $ dclasses ++ hclasses let kvs = ordNub $ dkvs ++ hkvs let fragile = "fragile" `elem` classes || not (null $ query hasCodeBlock bs ++ query hasCode bs) let frameoptions = ["allowdisplaybreaks", "allowframebreaks", "fragile", "b", "c", "t", "environment", "label", "plain", "shrink", "standout", "noframenumbering"] let optionslist = ["fragile" | fragile , isNothing (lookup "fragile" kvs) , "fragile" `notElem` classes] ++ [k | k <- classes, k `elem` frameoptions] ++ [k <> "=" <> v | (k,v) <- kvs, k `elem` frameoptions] let options = if null optionslist then empty else brackets (literal (T.intercalate "," optionslist)) slideTitle <- if ils == [Str "\0"] -- marker for hrule then return empty else braces <$> inlineListToLaTeX ils ref <- toLabel identifier let slideAnchor = if T.null identifier then empty else cr <> "\\protect\\hypertarget" <> braces (literal ref) <> braces empty contents <- blockListToLaTeX bs >>= wrapDiv (identifier,classes,kvs) return $ ("\\begin{frame}" <> options <> slideTitle <> slideAnchor) $$ contents $$ "\\end{frame}" blockToLaTeX (Div (identifier@(T.uncons -> Just (_,_)),dclasses,dkvs) (Header lvl ("",hclasses,hkvs) ils : bs)) = -- move identifier from div to header blockToLaTeX (Div ("",dclasses,dkvs) (Header lvl (identifier,hclasses,hkvs) ils : bs)) blockToLaTeX (Div (identifier,classes,kvs) bs) = do beamer <- gets stBeamer oldIncremental <- gets stIncremental if beamer && "incremental" `elem` classes then modify $ \st -> st{ stIncremental = True } else when (beamer && "nonincremental" `elem` classes) $ modify $ \st -> st { stIncremental = False } result <- if identifier == "refs" then do inner <- blockListToLaTeX bs modify $ \st -> st{ stHasCslRefs = True , stCslHangingIndent = "hanging-indent" `elem` classes } return $ "\\begin{cslreferences}" $$ inner $$ "\\end{cslreferences}" else blockListToLaTeX bs modify $ \st -> st{ stIncremental = oldIncremental } linkAnchor' <- hypertarget True identifier empty -- see #2704 for the motivation for adding \leavevmode: let linkAnchor = case bs of Para _ : _ | not (isEmpty linkAnchor') -> "\\leavevmode" <> linkAnchor' <> "%" _ -> linkAnchor' wrapNotes txt = if beamer && "notes" `elem` classes then "\\note" <> braces txt -- speaker notes else linkAnchor $$ txt wrapNotes <$> wrapDiv (identifier,classes,kvs) result blockToLaTeX (Plain lst) = inlineListToLaTeX lst -- title beginning with fig: indicates that the image is a figure blockToLaTeX (Para [Image attr@(ident, _, _) txt (src,tgt)]) | Just tit <- T.stripPrefix "fig:" tgt = do (capt, captForLof, footnotes) <- getCaption True txt lab <- labelFor ident let caption = "\\caption" <> captForLof <> braces capt <> lab img <- inlineToLaTeX (Image attr txt (src,tit)) innards <- hypertarget True ident $ "\\centering" $$ img $$ caption <> cr let figure = cr <> "\\begin{figure}" $$ innards $$ "\\end{figure}" st <- get return $ (if stInMinipage st -- can't have figures in notes or minipage (here, table cell) -- http://www.tex.ac.uk/FAQ-ouparmd.html then cr <> "\\begin{center}" $$ img $+$ capt $$ "\\end{center}" else figure) $$ footnotes -- . . . indicates pause in beamer slides blockToLaTeX (Para [Str ".",Space,Str ".",Space,Str "."]) = do beamer <- gets stBeamer if beamer then blockToLaTeX (RawBlock "latex" "\\pause") else inlineListToLaTeX [Str ".",Space,Str ".",Space,Str "."] blockToLaTeX (Para lst) = inlineListToLaTeX lst blockToLaTeX (LineBlock lns) = blockToLaTeX $ linesToPara lns blockToLaTeX (BlockQuote lst) = do beamer <- gets stBeamer case lst of [b] | beamer && isListBlock b -> do oldIncremental <- gets stIncremental modify $ \s -> s{ stIncremental = not oldIncremental } result <- blockToLaTeX b modify $ \s -> s{ stIncremental = oldIncremental } return result _ -> do oldInQuote <- gets stInQuote modify (\s -> s{stInQuote = True}) contents <- blockListToLaTeX lst modify (\s -> s{stInQuote = oldInQuote}) return $ "\\begin{quote}" $$ contents $$ "\\end{quote}" blockToLaTeX (CodeBlock (identifier,classes,keyvalAttr) str) = do opts <- gets stOptions lab <- labelFor identifier linkAnchor' <- hypertarget True identifier lab let linkAnchor = if isEmpty linkAnchor' then empty else linkAnchor' <> "%" let lhsCodeBlock = do modify $ \s -> s{ stLHS = True } return $ flush (linkAnchor $$ "\\begin{code}" $$ literal str $$ "\\end{code}") $$ cr let rawCodeBlock = do st <- get env <- if stInNote st then modify (\s -> s{ stVerbInNote = True }) >> return "Verbatim" else return "verbatim" return $ flush (linkAnchor $$ literal ("\\begin{" <> env <> "}") $$ literal str $$ literal ("\\end{" <> env <> "}")) <> cr let listingsCodeBlock = do st <- get ref <- toLabel identifier let params = if writerListings (stOptions st) then (case getListingsLanguage classes of Just l -> [ "language=" <> mbBraced l ] Nothing -> []) ++ [ "numbers=left" | "numberLines" `elem` classes || "number" `elem` classes || "number-lines" `elem` classes ] ++ [ (if key == "startFrom" then "firstnumber" else key) <> "=" <> mbBraced attr | (key,attr) <- keyvalAttr, key `notElem` ["exports", "tangle", "results"] -- see #4889 ] ++ ["label=" <> ref | not (T.null identifier)] else [] printParams | null params = empty | otherwise = brackets $ hcat (intersperse ", " (map literal params)) return $ flush ("\\begin{lstlisting}" <> printParams $$ literal str $$ "\\end{lstlisting}") $$ cr let highlightedCodeBlock = case highlight (writerSyntaxMap opts) formatLaTeXBlock ("",classes,keyvalAttr) str of Left msg -> do unless (T.null msg) $ report $ CouldNotHighlight msg rawCodeBlock Right h -> do st <- get when (stInNote st) $ modify (\s -> s{ stVerbInNote = True }) modify (\s -> s{ stHighlighting = True }) return (flush $ linkAnchor $$ text (T.unpack h)) case () of _ | isEnabled Ext_literate_haskell opts && "haskell" `elem` classes && "literate" `elem` classes -> lhsCodeBlock | writerListings opts -> listingsCodeBlock | not (null classes) && isJust (writerHighlightStyle opts) -> highlightedCodeBlock | otherwise -> rawCodeBlock blockToLaTeX b@(RawBlock f x) = do beamer <- gets stBeamer if f == Format "latex" || f == Format "tex" || (f == Format "beamer" && beamer) then return $ literal x else do report $ BlockNotRendered b return empty blockToLaTeX (BulletList []) = return empty -- otherwise latex error blockToLaTeX (BulletList lst) = do incremental <- gets stIncremental beamer <- gets stBeamer let inc = if beamer && incremental then "[<+->]" else "" items <- mapM listItemToLaTeX lst let spacing = if isTightList lst then text "\\tightlist" else empty return $ text ("\\begin{itemize}" <> inc) $$ spacing $$ vcat items $$ "\\end{itemize}" blockToLaTeX (OrderedList _ []) = return empty -- otherwise latex error blockToLaTeX (OrderedList (start, numstyle, numdelim) lst) = do st <- get let inc = if stBeamer st && stIncremental st then "[<+->]" else "" let oldlevel = stOLLevel st put $ st {stOLLevel = oldlevel + 1} items <- mapM listItemToLaTeX lst modify (\s -> s {stOLLevel = oldlevel}) let beamer = stBeamer st let tostyle x = case numstyle of Decimal -> "\\arabic" <> braces x UpperRoman -> "\\Roman" <> braces x LowerRoman -> "\\roman" <> braces x UpperAlpha -> "\\Alph" <> braces x LowerAlpha -> "\\alph" <> braces x Example -> "\\arabic" <> braces x DefaultStyle -> "\\arabic" <> braces x let todelim x = case numdelim of OneParen -> x <> ")" TwoParens -> parens x Period -> x <> "." _ -> x <> "." let exemplar = case numstyle of Decimal -> "1" UpperRoman -> "I" LowerRoman -> "i" UpperAlpha -> "A" LowerAlpha -> "a" Example -> "1" DefaultStyle -> "1" let enum = literal $ "enum" <> T.toLower (toRomanNumeral oldlevel) let stylecommand | numstyle == DefaultStyle && numdelim == DefaultDelim = empty | beamer && numstyle == Decimal && numdelim == Period = empty | beamer = brackets (todelim exemplar) | otherwise = "\\def" <> "\\label" <> enum <> braces (todelim $ tostyle enum) let resetcounter = if start == 1 || oldlevel > 4 then empty else "\\setcounter" <> braces enum <> braces (text $ show $ start - 1) let spacing = if isTightList lst then text "\\tightlist" else empty return $ text ("\\begin{enumerate}" <> inc) $$ stylecommand $$ resetcounter $$ spacing $$ vcat items $$ "\\end{enumerate}" blockToLaTeX (DefinitionList []) = return empty blockToLaTeX (DefinitionList lst) = do incremental <- gets stIncremental beamer <- gets stBeamer let inc = if beamer && incremental then "[<+->]" else "" items <- mapM defListItemToLaTeX lst let spacing = if all (isTightList . snd) lst then text "\\tightlist" else empty return $ text ("\\begin{description}" <> inc) $$ spacing $$ vcat items $$ "\\end{description}" blockToLaTeX HorizontalRule = return "\\begin{center}\\rule{0.5\\linewidth}{0.5pt}\\end{center}" blockToLaTeX (Header level (id',classes,_) lst) = do modify $ \s -> s{stInHeading = True} hdr <- sectionHeader classes id' level lst modify $ \s -> s{stInHeading = False} return hdr blockToLaTeX (Table caption aligns widths heads rows) = do (captionText, captForLof, captNotes) <- getCaption False caption let toHeaders hs = do contents <- tableRowToLaTeX True aligns widths hs return ("\\toprule" $$ contents $$ "\\midrule") let removeNote (Note _) = Span ("", [], []) [] removeNote x = x firsthead <- if isEmpty captionText || all null heads then return empty else ($$ text "\\endfirsthead") <$> toHeaders heads head' <- if all null heads then return "\\toprule" -- avoid duplicate notes in head and firsthead: else toHeaders (if isEmpty firsthead then heads else walk removeNote heads) let capt = if isEmpty captionText then empty else "\\caption" <> captForLof <> braces captionText <> "\\tabularnewline" rows' <- mapM (tableRowToLaTeX False aligns widths) rows let colDescriptors = literal $ T.concat $ map toColDescriptor aligns modify $ \s -> s{ stTable = True } notes <- notesToLaTeX <$> gets stNotes return $ "\\begin{longtable}[]" <> braces ("@{}" <> colDescriptors <> "@{}") -- the @{} removes extra space at beginning and end $$ capt $$ firsthead $$ head' $$ "\\endhead" $$ vcat rows' $$ "\\bottomrule" $$ "\\end{longtable}" $$ captNotes $$ notes getCaption :: PandocMonad m => Bool -> [Inline] -> LW m (Doc Text, Doc Text, Doc Text) getCaption externalNotes txt = do oldExternalNotes <- gets stExternalNotes modify $ \st -> st{ stExternalNotes = externalNotes, stNotes = [] } capt <- inlineListToLaTeX txt footnotes <- if externalNotes then notesToLaTeX <$> gets stNotes else return empty modify $ \st -> st{ stExternalNotes = oldExternalNotes, stNotes = [] } -- We can't have footnotes in the list of figures/tables, so remove them: let getNote (Note _) = Any True getNote _ = Any False let hasNotes = getAny . query getNote captForLof <- if hasNotes txt then brackets <$> inlineListToLaTeX (walk deNote txt) else return empty return (capt, captForLof, footnotes) toColDescriptor :: Alignment -> Text toColDescriptor align = case align of AlignLeft -> "l" AlignRight -> "r" AlignCenter -> "c" AlignDefault -> "l" blockListToLaTeX :: PandocMonad m => [Block] -> LW m (Doc Text) blockListToLaTeX lst = vsep `fmap` mapM (\b -> setEmptyLine True >> blockToLaTeX b) lst tableRowToLaTeX :: PandocMonad m => Bool -> [Alignment] -> [Double] -> [[Block]] -> LW m (Doc Text) tableRowToLaTeX header aligns widths cols = do -- scale factor compensates for extra space between columns -- so the whole table isn't larger than columnwidth let scaleFactor = 0.97 ** fromIntegral (length aligns) let isSimple [Plain _] = True isSimple [Para _] = True isSimple [] = True isSimple _ = False -- simple tables have to have simple cells: let widths' = if all (== 0) widths && not (all isSimple cols) then replicate (length aligns) (scaleFactor / fromIntegral (length aligns)) else map (scaleFactor *) widths cells <- mapM (tableCellToLaTeX header) $ zip3 widths' aligns cols return $ hsep (intersperse "&" cells) <> "\\tabularnewline" -- For simple latex tables (without minipages or parboxes), -- we need to go to some lengths to get line breaks working: -- as LineBreak bs = \vtop{\hbox{\strut as}\hbox{\strut bs}}. fixLineBreaks :: Block -> Block fixLineBreaks (Para ils) = Para $ fixLineBreaks' ils fixLineBreaks (Plain ils) = Plain $ fixLineBreaks' ils fixLineBreaks x = x fixLineBreaks' :: [Inline] -> [Inline] fixLineBreaks' ils = case splitBy (== LineBreak) ils of [] -> [] [xs] -> xs chunks -> RawInline "tex" "\\vtop{" : concatMap tohbox chunks <> [RawInline "tex" "}"] where tohbox ys = RawInline "tex" "\\hbox{\\strut " : ys <> [RawInline "tex" "}"] -- We also change display math to inline math, since display -- math breaks in simple tables. displayMathToInline :: Inline -> Inline displayMathToInline (Math DisplayMath x) = Math InlineMath x displayMathToInline x = x tableCellToLaTeX :: PandocMonad m => Bool -> (Double, Alignment, [Block]) -> LW m (Doc Text) tableCellToLaTeX _ (0, _, blocks) = blockListToLaTeX $ walk fixLineBreaks $ walk displayMathToInline blocks tableCellToLaTeX header (width, align, blocks) = do beamer <- gets stBeamer externalNotes <- gets stExternalNotes inMinipage <- gets stInMinipage -- See #5367 -- footnotehyper/footnote don't work in beamer, -- so we need to produce the notes outside the table... modify $ \st -> st{ stExternalNotes = beamer, stInMinipage = True } cellContents <- blockListToLaTeX blocks modify $ \st -> st{ stExternalNotes = externalNotes, stInMinipage = inMinipage } let valign = text $ if header then "[b]" else "[t]" let halign = case align of AlignLeft -> "\\raggedright" AlignRight -> "\\raggedleft" AlignCenter -> "\\centering" AlignDefault -> "\\raggedright" return $ "\\begin{minipage}" <> valign <> braces (text (printf "%.2f\\columnwidth" width)) <> halign <> cr <> cellContents <> "\\strut" <> cr <> "\\end{minipage}" notesToLaTeX :: [Doc Text] -> Doc Text notesToLaTeX [] = empty notesToLaTeX ns = (case length ns of n | n > 1 -> "\\addtocounter" <> braces "footnote" <> braces (text $ show $ 1 - n) | otherwise -> empty) $$ vcat (intersperse ("\\addtocounter" <> braces "footnote" <> braces "1") $ map (\x -> "\\footnotetext" <> braces x) $ reverse ns) listItemToLaTeX :: PandocMonad m => [Block] -> LW m (Doc Text) listItemToLaTeX lst -- we need to put some text before a header if it's the first -- element in an item. This will look ugly in LaTeX regardless, but -- this will keep the typesetter from throwing an error. | (Header{} :_) <- lst = (text "\\item ~" $$) . nest 2 <$> blockListToLaTeX lst | Plain (Str "☐":Space:is) : bs <- lst = taskListItem False is bs | Plain (Str "☒":Space:is) : bs <- lst = taskListItem True is bs | Para (Str "☐":Space:is) : bs <- lst = taskListItem False is bs | Para (Str "☒":Space:is) : bs <- lst = taskListItem True is bs | otherwise = (text "\\item" $$) . nest 2 <$> blockListToLaTeX lst where taskListItem checked is bs = do let checkbox = if checked then "$\\boxtimes$" else "$\\square$" isContents <- inlineListToLaTeX is bsContents <- blockListToLaTeX bs return $ "\\item" <> brackets checkbox $$ nest 2 (isContents $+$ bsContents) defListItemToLaTeX :: PandocMonad m => ([Inline], [[Block]]) -> LW m (Doc Text) defListItemToLaTeX (term, defs) = do -- needed to turn off 'listings' because it breaks inside \item[...]: modify $ \s -> s{stInItem = True} term' <- inlineListToLaTeX term modify $ \s -> s{stInItem = False} -- put braces around term if it contains an internal link, -- since otherwise we get bad bracket interactions: \item[\hyperref[..] let isInternalLink (Link _ _ (src,_)) | Just ('#', _) <- T.uncons src = True isInternalLink _ = False let term'' = if any isInternalLink term then braces term' else term' def' <- liftM vsep $ mapM blockListToLaTeX defs return $ case defs of ((Header{} : _) : _) -> "\\item" <> brackets term'' <> " ~ " $$ def' ((CodeBlock{} : _) : _) -> -- see #4662 "\\item" <> brackets term'' <> " ~ " $$ def' _ -> "\\item" <> brackets term'' $$ def' -- | Craft the section header, inserting the secton reference, if supplied. sectionHeader :: PandocMonad m => [Text] -- classes -> Text -> Int -> [Inline] -> LW m (Doc Text) sectionHeader classes ident level lst = do let unnumbered = "unnumbered" `elem` classes let unlisted = "unlisted" `elem` classes txt <- inlineListToLaTeX lst plain <- stringToLaTeX TextString $ T.concat $ map stringify lst let removeInvalidInline (Note _) = [] removeInvalidInline (Span (id', _, _) _) | not (T.null id') = [] removeInvalidInline Image{} = [] removeInvalidInline x = [x] let lstNoNotes = foldr (mappend . (\x -> walkM removeInvalidInline x)) mempty lst txtNoNotes <- inlineListToLaTeX lstNoNotes -- footnotes in sections don't work (except for starred variants) -- unless you specify an optional argument: -- \section[mysec]{mysec\footnote{blah}} optional <- if unnumbered || lstNoNotes == lst || null lstNoNotes then return empty else return $ brackets txtNoNotes let contents = if render Nothing txt == plain then braces txt else braces (text "\\texorpdfstring" <> braces txt <> braces (literal plain)) book <- gets stHasChapters opts <- gets stOptions let topLevelDivision = if book && writerTopLevelDivision opts == TopLevelDefault then TopLevelChapter else writerTopLevelDivision opts beamer <- gets stBeamer let level' = if beamer && topLevelDivision `elem` [TopLevelPart, TopLevelChapter] -- beamer has parts but no chapters then if level == 1 then -1 else level - 1 else case topLevelDivision of TopLevelPart -> level - 2 TopLevelChapter -> level - 1 TopLevelSection -> level TopLevelDefault -> level let sectionType = case level' of -1 -> "part" 0 -> "chapter" 1 -> "section" 2 -> "subsection" 3 -> "subsubsection" 4 -> "paragraph" 5 -> "subparagraph" _ -> "" inQuote <- gets stInQuote let prefix = if inQuote && level' >= 4 then text "\\mbox{}%" -- needed for \paragraph, \subparagraph in quote environment -- see http://tex.stackexchange.com/questions/169830/ else empty lab <- labelFor ident let star = if unnumbered then text "*" else empty let stuffing = star <> optional <> contents stuffing' <- hypertarget True ident $ text ('\\':sectionType) <> stuffing <> lab return $ if level' > 5 then txt else prefix $$ stuffing' $$ if unnumbered && not unlisted then "\\addcontentsline{toc}" <> braces (text sectionType) <> braces txtNoNotes else empty wrapDiv :: PandocMonad m => Attr -> Doc Text -> LW m (Doc Text) wrapDiv (_,classes,kvs) t = do beamer <- gets stBeamer let align dir txt = inCmd "begin" dir $$ txt $$ inCmd "end" dir lang <- toLang $ lookup "lang" kvs let wrapColumns = if beamer && "columns" `elem` classes then \contents -> inCmd "begin" "columns" <> brackets "T" $$ contents $$ inCmd "end" "columns" else id wrapColumn = if beamer && "column" `elem` classes then \contents -> let w = maybe "0.48" fromPct (lookup "width" kvs) in inCmd "begin" "column" <> braces (literal w <> "\\textwidth") $$ contents $$ inCmd "end" "column" else id fromPct xs = case T.unsnoc xs of Just (ds, '%') -> case safeRead ds of Just digits -> showFl (digits / 100 :: Double) Nothing -> xs _ -> xs wrapDir = case lookup "dir" kvs of Just "rtl" -> align "RTL" Just "ltr" -> align "LTR" _ -> id wrapLang txt = case lang of Just lng -> let (l, o) = toPolyglossiaEnv lng ops = if T.null o then "" else brackets $ literal o in inCmd "begin" (literal l) <> ops $$ blankline <> txt <> blankline $$ inCmd "end" (literal l) Nothing -> txt return $ wrapColumns . wrapColumn . wrapDir . wrapLang $ t hypertarget :: PandocMonad m => Bool -> Text -> Doc Text -> LW m (Doc Text) hypertarget _ "" x = return x hypertarget addnewline ident x = do ref <- literal `fmap` toLabel ident return $ text "\\hypertarget" <> braces ref <> braces ((if addnewline && not (isEmpty x) then "%" <> cr else empty) <> x) labelFor :: PandocMonad m => Text -> LW m (Doc Text) labelFor "" = return empty labelFor ident = do ref <- literal `fmap` toLabel ident return $ text "\\label" <> braces ref -- | Convert list of inline elements to LaTeX. inlineListToLaTeX :: PandocMonad m => [Inline] -- ^ Inlines to convert -> LW m (Doc Text) inlineListToLaTeX lst = hcat <$> mapM inlineToLaTeX (fixLineInitialSpaces . fixInitialLineBreaks $ lst) -- nonbreaking spaces (~) in LaTeX don't work after line breaks, -- so we turn nbsps after hard breaks to \hspace commands. -- this is mostly used in verse. where fixLineInitialSpaces [] = [] fixLineInitialSpaces (LineBreak : Str s : xs) | Just ('\160', _) <- T.uncons s = LineBreak : fixNbsps s <> fixLineInitialSpaces xs fixLineInitialSpaces (x:xs) = x : fixLineInitialSpaces xs fixNbsps s = let (ys,zs) = T.span (=='\160') s in replicate (T.length ys) hspace <> [Str zs] hspace = RawInline "latex" "\\hspace*{0.333em}" -- We need \hfill\break for a line break at the start -- of a paragraph. See #5591. fixInitialLineBreaks (LineBreak:xs) = RawInline (Format "latex") "\\hfill\\break\n" : fixInitialLineBreaks xs fixInitialLineBreaks xs = xs isQuoted :: Inline -> Bool isQuoted (Quoted _ _) = True isQuoted _ = False -- | Convert inline element to LaTeX inlineToLaTeX :: PandocMonad m => Inline -- ^ Inline to convert -> LW m (Doc Text) inlineToLaTeX (Span (id',classes,kvs) ils) = do linkAnchor <- hypertarget False id' empty lang <- toLang $ lookup "lang" kvs let cmds = ["textup" | "csl-no-emph" `elem` classes] ++ ["textnormal" | "csl-no-strong" `elem` classes || "csl-no-smallcaps" `elem` classes] ++ ["RL" | ("dir", "rtl") `elem` kvs] ++ ["LR" | ("dir", "ltr") `elem` kvs] ++ (case lang of Just lng -> let (l, o) = toPolyglossia lng ops = if T.null o then "" else "[" <> o <> "]" in ["text" <> l <> ops] Nothing -> []) contents <- inlineListToLaTeX ils return $ (if T.null id' then empty else "\\protect" <> linkAnchor) <> (if null cmds then braces contents else foldr inCmd contents cmds) inlineToLaTeX (Emph lst) = inCmd "emph" <$> inlineListToLaTeX lst inlineToLaTeX (Strong lst) = inCmd "textbf" <$> inlineListToLaTeX lst inlineToLaTeX (Strikeout lst) = do -- we need to protect VERB in an mbox or we get an error -- see #1294 -- with regular texttt we don't get an error, but we get -- incorrect results if there is a space, see #5529 contents <- inlineListToLaTeX $ walk (concatMap protectCode) lst modify $ \s -> s{ stStrikeout = True } return $ inCmd "sout" contents inlineToLaTeX (Superscript lst) = inCmd "textsuperscript" <$> inlineListToLaTeX lst inlineToLaTeX (Subscript lst) = inCmd "textsubscript" <$> inlineListToLaTeX lst inlineToLaTeX (SmallCaps lst) = inCmd "textsc"<$> inlineListToLaTeX lst inlineToLaTeX (Cite cits lst) = do st <- get let opts = stOptions st case writerCiteMethod opts of Natbib -> citationsToNatbib cits Biblatex -> citationsToBiblatex cits _ -> inlineListToLaTeX lst inlineToLaTeX (Code (_,classes,kvs) str) = do opts <- gets stOptions inHeading <- gets stInHeading inItem <- gets stInItem let listingsCode = do let listingsopts = (case getListingsLanguage classes of Just l -> (("language", mbBraced l):) Nothing -> id) [(k,v) | (k,v) <- kvs , k `notElem` ["exports","tangle","results"]] let listingsopt = if null listingsopts then "" else "[" <> T.intercalate ", " (map (\(k,v) -> k <> "=" <> v) listingsopts) <> "]" inNote <- gets stInNote when inNote $ modify $ \s -> s{ stVerbInNote = True } let chr = case "!\"'()*,-./:;?@" \\ T.unpack str of (c:_) -> c [] -> '!' let str' = escapeStringUsing (backslashEscapes "\\{}%~_&#") str -- we always put lstinline in a dummy 'passthrough' command -- (defined in the default template) so that we don't have -- to change the way we escape characters depending on whether -- the lstinline is inside another command. See #1629: return $ literal $ "\\passthrough{\\lstinline" <> listingsopt <> T.singleton chr <> str' <> T.singleton chr <> "}" let rawCode = liftM (literal . (\s -> "\\texttt{" <> escapeSpaces s <> "}")) $ stringToLaTeX CodeString str where escapeSpaces = T.concatMap (\c -> if c == ' ' then "\\ " else T.singleton c) let highlightCode = case highlight (writerSyntaxMap opts) formatLaTeXInline ("",classes,[]) str of Left msg -> do unless (T.null msg) $ report $ CouldNotHighlight msg rawCode Right h -> modify (\st -> st{ stHighlighting = True }) >> return (text (T.unpack h)) case () of _ | inHeading || inItem -> rawCode -- see #5574 | writerListings opts -> listingsCode | isJust (writerHighlightStyle opts) && not (null classes) -> highlightCode | otherwise -> rawCode inlineToLaTeX (Quoted qt lst) = do contents <- inlineListToLaTeX lst csquotes <- liftM stCsquotes get opts <- gets stOptions if csquotes then return $ "\\enquote" <> braces contents else do let s1 = if not (null lst) && isQuoted (head lst) then "\\," else empty let s2 = if not (null lst) && isQuoted (last lst) then "\\," else empty let inner = s1 <> contents <> s2 return $ case qt of DoubleQuote -> if isEnabled Ext_smart opts then text "``" <> inner <> text "''" else char '\x201C' <> inner <> char '\x201D' SingleQuote -> if isEnabled Ext_smart opts then char '`' <> inner <> char '\'' else char '\x2018' <> inner <> char '\x2019' inlineToLaTeX (Str str) = do setEmptyLine False liftM literal $ stringToLaTeX TextString str inlineToLaTeX (Math InlineMath str) = do setEmptyLine False return $ "\\(" <> literal (handleMathComment str) <> "\\)" inlineToLaTeX (Math DisplayMath str) = do setEmptyLine False return $ "\\[" <> literal (handleMathComment str) <> "\\]" inlineToLaTeX il@(RawInline f str) = do beamer <- gets stBeamer if f == Format "latex" || f == Format "tex" || (f == Format "beamer" && beamer) then do setEmptyLine False return $ literal str else do report $ InlineNotRendered il return empty inlineToLaTeX LineBreak = do emptyLine <- gets stEmptyLine setEmptyLine True return $ (if emptyLine then "~" else "") <> "\\\\" <> cr inlineToLaTeX SoftBreak = do wrapText <- gets (writerWrapText . stOptions) case wrapText of WrapAuto -> return space WrapNone -> return space WrapPreserve -> return cr inlineToLaTeX Space = return space inlineToLaTeX (Link _ txt (src,_)) | Just ('#', ident) <- T.uncons src = do contents <- inlineListToLaTeX txt lab <- toLabel ident return $ text "\\protect\\hyperlink" <> braces (literal lab) <> braces contents | otherwise = case txt of [Str x] | unEscapeString (T.unpack x) == unEscapeString (T.unpack src) -> -- autolink do modify $ \s -> s{ stUrl = True } src' <- stringToLaTeX URLString (escapeURI src) return $ literal $ "\\url{" <> src' <> "}" [Str x] | Just rest <- T.stripPrefix "mailto:" src, unEscapeString (T.unpack x) == unEscapeString (T.unpack rest) -> -- email autolink do modify $ \s -> s{ stUrl = True } src' <- stringToLaTeX URLString (escapeURI src) contents <- inlineListToLaTeX txt return $ "\\href" <> braces (literal src') <> braces ("\\nolinkurl" <> braces contents) _ -> do contents <- inlineListToLaTeX txt src' <- stringToLaTeX URLString (escapeURI src) return $ literal ("\\href{" <> src' <> "}{") <> contents <> char '}' inlineToLaTeX il@(Image _ _ (src, _)) | Just _ <- T.stripPrefix "data:" src = do report $ InlineNotRendered il return empty inlineToLaTeX (Image attr _ (source, _)) = do setEmptyLine False modify $ \s -> s{ stGraphics = True } opts <- gets stOptions let showDim dir = let d = text (show dir) <> "=" in case dimension dir attr of Just (Pixel a) -> [d <> literal (showInInch opts (Pixel a)) <> "in"] Just (Percent a) -> [d <> literal (showFl (a / 100)) <> case dir of Width -> "\\textwidth" Height -> "\\textheight" ] Just dim -> [d <> text (show dim)] Nothing -> case dir of Width | isJust (dimension Height attr) -> [d <> "\\textwidth"] Height | isJust (dimension Width attr) -> [d <> "\\textheight"] _ -> [] dimList = showDim Width <> showDim Height dims = if null dimList then empty else brackets $ mconcat (intersperse "," dimList) source' = if isURI source then source else T.pack $ unEscapeString $ T.unpack source source'' <- stringToLaTeX URLString source' inHeading <- gets stInHeading return $ (if inHeading then "\\protect\\includegraphics" else "\\includegraphics") <> dims <> braces (literal source'') inlineToLaTeX (Note contents) = do setEmptyLine False externalNotes <- gets stExternalNotes modify (\s -> s{stInNote = True, stExternalNotes = True}) contents' <- blockListToLaTeX contents modify (\s -> s {stInNote = False, stExternalNotes = externalNotes}) let optnl = case reverse contents of (CodeBlock _ _ : _) -> cr _ -> empty let noteContents = nest 2 contents' <> optnl beamer <- gets stBeamer -- in beamer slides, display footnote from current overlay forward let beamerMark = if beamer then text "<.->" else empty if externalNotes then do modify $ \st -> st{ stNotes = noteContents : stNotes st } return "\\footnotemark{}" -- note: a \n before } needed when note ends with a Verbatim environment else return $ "\\footnote" <> beamerMark <> braces noteContents -- A comment at the end of math needs to be followed by a newline, -- or the closing delimiter gets swallowed. handleMathComment :: Text -> Text handleMathComment s = let (_, ys) = T.break (\c -> c == '\n' || c == '%') $ T.reverse s -- no T.breakEnd in case T.uncons ys of Just ('%', ys') -> case T.uncons ys' of Just ('\\', _) -> s _ -> s <> "\n" _ -> s protectCode :: Inline -> [Inline] protectCode x@(Code _ _) = [ltx "\\mbox{" , x , ltx "}"] where ltx = RawInline (Format "latex") protectCode x = [x] setEmptyLine :: PandocMonad m => Bool -> LW m () setEmptyLine b = modify $ \st -> st{ stEmptyLine = b } citationsToNatbib :: PandocMonad m => [Citation] -> LW m (Doc Text) citationsToNatbib [one] = citeCommand c p s k where Citation { citationId = k , citationPrefix = p , citationSuffix = s , citationMode = m } = one c = case m of AuthorInText -> "citet" SuppressAuthor -> "citeyearpar" NormalCitation -> "citep" citationsToNatbib cits | noPrefix (tail cits) && noSuffix (init cits) && ismode NormalCitation cits = citeCommand "citep" p s ks where noPrefix = all (null . citationPrefix) noSuffix = all (null . citationSuffix) ismode m = all ((==) m . citationMode) p = citationPrefix $ head cits s = citationSuffix $ last cits ks = T.intercalate ", " $ map citationId cits citationsToNatbib (c:cs) | citationMode c == AuthorInText = do author <- citeCommand "citeauthor" [] [] (citationId c) cits <- citationsToNatbib (c { citationMode = SuppressAuthor } : cs) return $ author <+> cits citationsToNatbib cits = do cits' <- mapM convertOne cits return $ text "\\citetext{" <> foldl' combineTwo empty cits' <> text "}" where combineTwo a b | isEmpty a = b | otherwise = a <> text "; " <> b convertOne Citation { citationId = k , citationPrefix = p , citationSuffix = s , citationMode = m } = case m of AuthorInText -> citeCommand "citealt" p s k SuppressAuthor -> citeCommand "citeyear" p s k NormalCitation -> citeCommand "citealp" p s k citeCommand :: PandocMonad m => Text -> [Inline] -> [Inline] -> Text -> LW m (Doc Text) citeCommand c p s k = do args <- citeArguments p s k return $ literal ("\\" <> c) <> args type Prefix = [Inline] type Suffix = [Inline] type CiteId = Text data CiteGroup = CiteGroup Prefix Suffix [CiteId] citeArgumentsList :: PandocMonad m => CiteGroup -> LW m (Doc Text) citeArgumentsList (CiteGroup _ _ []) = return empty citeArgumentsList (CiteGroup pfxs sfxs ids) = do pdoc <- inlineListToLaTeX pfxs sdoc <- inlineListToLaTeX sfxs' return $ (optargs pdoc sdoc) <> (braces (literal (T.intercalate "," (reverse ids)))) where sfxs' = stripLocatorBraces $ case sfxs of (Str t : r) -> case T.uncons t of Just (x, xs) | T.null xs , isPunctuation x -> dropWhile (== Space) r | isPunctuation x -> Str xs : r _ -> sfxs _ -> sfxs optargs pdoc sdoc = case (isEmpty pdoc, isEmpty sdoc) of (True, True ) -> empty (True, False) -> brackets sdoc (_ , _ ) -> brackets pdoc <> brackets sdoc citeArguments :: PandocMonad m => [Inline] -> [Inline] -> Text -> LW m (Doc Text) citeArguments p s k = citeArgumentsList (CiteGroup p s [k]) -- strip off {} used to define locator in pandoc-citeproc; see #5722 stripLocatorBraces :: [Inline] -> [Inline] stripLocatorBraces = walk go where go (Str xs) = Str $ T.filter (\c -> c /= '{' && c /= '}') xs go x = x citationsToBiblatex :: PandocMonad m => [Citation] -> LW m (Doc Text) citationsToBiblatex [one] = citeCommand cmd p s k where Citation { citationId = k , citationPrefix = p , citationSuffix = s , citationMode = m } = one cmd = case m of SuppressAuthor -> "autocite*" AuthorInText -> "textcite" NormalCitation -> "autocite" citationsToBiblatex (c:cs) | all (\cit -> null (citationPrefix cit) && null (citationSuffix cit)) (c:cs) = do let cmd = case citationMode c of SuppressAuthor -> "\\autocite*" AuthorInText -> "\\textcite" NormalCitation -> "\\autocite" return $ text cmd <> braces (literal (T.intercalate "," (map citationId (c:cs)))) | otherwise = do let cmd = case citationMode c of SuppressAuthor -> "\\autocites*" AuthorInText -> "\\textcites" NormalCitation -> "\\autocites" groups <- mapM citeArgumentsList (reverse (foldl' grouper [] (c:cs))) return $ text cmd <> (mconcat groups) where grouper prev cit = case prev of ((CiteGroup oPfx oSfx ids):rest) | null oSfx && null pfx -> (CiteGroup oPfx sfx (cid:ids)):rest _ -> (CiteGroup pfx sfx [cid]):prev where pfx = citationPrefix cit sfx = citationSuffix cit cid = citationId cit citationsToBiblatex _ = return empty -- Determine listings language from list of class attributes. getListingsLanguage :: [Text] -> Maybe Text getListingsLanguage xs = foldr ((<|>) . toListingsLanguage) Nothing xs mbBraced :: Text -> Text mbBraced x = if not (T.all isAlphaNum x) then "{" <> x <> "}" else x -- Extract a key from divs and spans extract :: Text -> Block -> [Text] extract key (Div attr _) = lookKey key attr extract key (Plain ils) = query (extractInline key) ils extract key (Para ils) = query (extractInline key) ils extract key (Header _ _ ils) = query (extractInline key) ils extract _ _ = [] -- Extract a key from spans extractInline :: Text -> Inline -> [Text] extractInline key (Span attr _) = lookKey key attr extractInline _ _ = [] -- Look up a key in an attribute and give a list of its values lookKey :: Text -> Attr -> [Text] lookKey key (_,_,kvs) = maybe [] T.words $ lookup key kvs -- In environments \Arabic instead of \arabic is used toPolyglossiaEnv :: Lang -> (Text, Text) toPolyglossiaEnv l = case toPolyglossia l of ("arabic", o) -> ("Arabic", o) x -> x -- Takes a list of the constituents of a BCP 47 language code and -- converts it to a Polyglossia (language, options) tuple -- http://mirrors.ctan.org/macros/latex/contrib/polyglossia/polyglossia.pdf toPolyglossia :: Lang -> (Text, Text) toPolyglossia (Lang "ar" _ "DZ" _) = ("arabic", "locale=algeria") toPolyglossia (Lang "ar" _ "IQ" _) = ("arabic", "locale=mashriq") toPolyglossia (Lang "ar" _ "JO" _) = ("arabic", "locale=mashriq") toPolyglossia (Lang "ar" _ "LB" _) = ("arabic", "locale=mashriq") toPolyglossia (Lang "ar" _ "LY" _) = ("arabic", "locale=libya") toPolyglossia (Lang "ar" _ "MA" _) = ("arabic", "locale=morocco") toPolyglossia (Lang "ar" _ "MR" _) = ("arabic", "locale=mauritania") toPolyglossia (Lang "ar" _ "PS" _) = ("arabic", "locale=mashriq") toPolyglossia (Lang "ar" _ "SY" _) = ("arabic", "locale=mashriq") toPolyglossia (Lang "ar" _ "TN" _) = ("arabic", "locale=tunisia") toPolyglossia (Lang "de" _ _ vars) | "1901" `elem` vars = ("german", "spelling=old") toPolyglossia (Lang "de" _ "AT" vars) | "1901" `elem` vars = ("german", "variant=austrian, spelling=old") toPolyglossia (Lang "de" _ "AT" _) = ("german", "variant=austrian") toPolyglossia (Lang "de" _ "CH" vars) | "1901" `elem` vars = ("german", "variant=swiss, spelling=old") toPolyglossia (Lang "de" _ "CH" _) = ("german", "variant=swiss") toPolyglossia (Lang "de" _ _ _) = ("german", "") toPolyglossia (Lang "dsb" _ _ _) = ("lsorbian", "") toPolyglossia (Lang "el" _ "polyton" _) = ("greek", "variant=poly") toPolyglossia (Lang "en" _ "AU" _) = ("english", "variant=australian") toPolyglossia (Lang "en" _ "CA" _) = ("english", "variant=canadian") toPolyglossia (Lang "en" _ "GB" _) = ("english", "variant=british") toPolyglossia (Lang "en" _ "NZ" _) = ("english", "variant=newzealand") toPolyglossia (Lang "en" _ "UK" _) = ("english", "variant=british") toPolyglossia (Lang "en" _ "US" _) = ("english", "variant=american") toPolyglossia (Lang "grc" _ _ _) = ("greek", "variant=ancient") toPolyglossia (Lang "hsb" _ _ _) = ("usorbian", "") toPolyglossia (Lang "la" _ _ vars) | "x-classic" `elem` vars = ("latin", "variant=classic") toPolyglossia (Lang "sl" _ _ _) = ("slovenian", "") toPolyglossia x = (commonFromBcp47 x, "") -- Takes a list of the constituents of a BCP 47 language code and -- converts it to a Babel language string. -- http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf -- List of supported languages (slightly outdated): -- http://tug.ctan.org/language/hyph-utf8/doc/generic/hyph-utf8/hyphenation.pdf toBabel :: Lang -> Text toBabel (Lang "de" _ "AT" vars) | "1901" `elem` vars = "austrian" | otherwise = "naustrian" toBabel (Lang "de" _ "CH" vars) | "1901" `elem` vars = "swissgerman" | otherwise = "nswissgerman" toBabel (Lang "de" _ _ vars) | "1901" `elem` vars = "german" | otherwise = "ngerman" toBabel (Lang "dsb" _ _ _) = "lowersorbian" toBabel (Lang "el" _ _ vars) | "polyton" `elem` vars = "polutonikogreek" toBabel (Lang "en" _ "AU" _) = "australian" toBabel (Lang "en" _ "CA" _) = "canadian" toBabel (Lang "en" _ "GB" _) = "british" toBabel (Lang "en" _ "NZ" _) = "newzealand" toBabel (Lang "en" _ "UK" _) = "british" toBabel (Lang "en" _ "US" _) = "american" toBabel (Lang "fr" _ "CA" _) = "canadien" toBabel (Lang "fra" _ _ vars) | "aca" `elem` vars = "acadian" toBabel (Lang "grc" _ _ _) = "polutonikogreek" toBabel (Lang "hsb" _ _ _) = "uppersorbian" toBabel (Lang "la" _ _ vars) | "x-classic" `elem` vars = "classiclatin" toBabel (Lang "sl" _ _ _) = "slovene" toBabel x = commonFromBcp47 x -- Takes a list of the constituents of a BCP 47 language code -- and converts it to a string shared by Babel and Polyglossia. -- https://tools.ietf.org/html/bcp47#section-2.1 commonFromBcp47 :: Lang -> Text commonFromBcp47 (Lang "pt" _ "BR" _) = "brazil" -- Note: documentation says "brazilian" works too, but it doesn't seem to work -- on some systems. See #2953. commonFromBcp47 (Lang "sr" "Cyrl" _ _) = "serbianc" commonFromBcp47 (Lang "zh" "Latn" _ vars) | "pinyin" `elem` vars = "pinyin" commonFromBcp47 (Lang l _ _ _) = fromIso l where fromIso "af" = "afrikaans" fromIso "am" = "amharic" fromIso "ar" = "arabic" fromIso "as" = "assamese" fromIso "ast" = "asturian" fromIso "bg" = "bulgarian" fromIso "bn" = "bengali" fromIso "bo" = "tibetan" fromIso "br" = "breton" fromIso "ca" = "catalan" fromIso "cy" = "welsh" fromIso "cs" = "czech" fromIso "cop" = "coptic" fromIso "da" = "danish" fromIso "dv" = "divehi" fromIso "el" = "greek" fromIso "en" = "english" fromIso "eo" = "esperanto" fromIso "es" = "spanish" fromIso "et" = "estonian" fromIso "eu" = "basque" fromIso "fa" = "farsi" fromIso "fi" = "finnish" fromIso "fr" = "french" fromIso "fur" = "friulan" fromIso "ga" = "irish" fromIso "gd" = "scottish" fromIso "gez" = "ethiopic" fromIso "gl" = "galician" fromIso "he" = "hebrew" fromIso "hi" = "hindi" fromIso "hr" = "croatian" fromIso "hu" = "magyar" fromIso "hy" = "armenian" fromIso "ia" = "interlingua" fromIso "id" = "indonesian" fromIso "ie" = "interlingua" fromIso "is" = "icelandic" fromIso "it" = "italian" fromIso "jp" = "japanese" fromIso "km" = "khmer" fromIso "kmr" = "kurmanji" fromIso "kn" = "kannada" fromIso "ko" = "korean" fromIso "la" = "latin" fromIso "lo" = "lao" fromIso "lt" = "lithuanian" fromIso "lv" = "latvian" fromIso "ml" = "malayalam" fromIso "mn" = "mongolian" fromIso "mr" = "marathi" fromIso "nb" = "norsk" fromIso "nl" = "dutch" fromIso "nn" = "nynorsk" fromIso "no" = "norsk" fromIso "nqo" = "nko" fromIso "oc" = "occitan" fromIso "pa" = "panjabi" fromIso "pl" = "polish" fromIso "pms" = "piedmontese" fromIso "pt" = "portuguese" fromIso "rm" = "romansh" fromIso "ro" = "romanian" fromIso "ru" = "russian" fromIso "sa" = "sanskrit" fromIso "se" = "samin" fromIso "sk" = "slovak" fromIso "sq" = "albanian" fromIso "sr" = "serbian" fromIso "sv" = "swedish" fromIso "syr" = "syriac" fromIso "ta" = "tamil" fromIso "te" = "telugu" fromIso "th" = "thai" fromIso "ti" = "ethiopic" fromIso "tk" = "turkmen" fromIso "tr" = "turkish" fromIso "uk" = "ukrainian" fromIso "ur" = "urdu" fromIso "vi" = "vietnamese" fromIso _ = "" ����������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Man.hs�������������������������������������������������������0000664�0000000�0000000�00000033725�13636304630�0020572�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.Man Copyright : Copyright (C) 2007-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to roff man page format. -} module Text.Pandoc.Writers.Man ( writeMan ) where import Control.Monad.State.Strict import Data.List (intersperse) import Data.Maybe (fromMaybe) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Builder (deleteMeta) import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Walk (walk) import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Math import Text.Pandoc.Writers.Shared import Text.Pandoc.Writers.Roff import Text.Printf (printf) -- | Convert Pandoc to Man. writeMan :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeMan opts document = evalStateT (pandocToMan opts document) defaultWriterState -- | Return roff man representation of document. pandocToMan :: PandocMonad m => WriterOptions -> Pandoc -> StateT WriterState m Text pandocToMan opts (Pandoc meta blocks) = do let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing titleText <- inlineListToMan opts $ docTitle meta let title' = render Nothing titleText let setFieldsFromTitle = case T.break (== ' ') title' of (cmdName, rest) -> case T.break (=='(') cmdName of (xs, ys) | "(" `T.isPrefixOf` ys && ")" `T.isSuffixOf` ys -> defField "title" xs . defField "section" (T.init $ T.drop 1 ys) . case T.splitOn "|" rest of (ft:hds) -> defField "footer" (T.strip ft) . defField "header" (T.strip $ mconcat hds) [] -> id _ -> defField "title" title' metadata <- metaToContext opts (blockListToMan opts) (fmap chomp . inlineListToMan opts) $ deleteMeta "title" meta body <- blockListToMan opts blocks notes <- gets stNotes notes' <- notesToMan opts (reverse notes) let main = body $$ notes' $$ text "" hasTables <- gets stHasTables let context = defField "body" main $ setFieldsFromTitle $ defField "has-tables" hasTables $ defField "hyphenate" True $ defField "pandoc-version" pandocVersion metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context escString :: WriterOptions -> Text -> Text escString _ = escapeString AsciiOnly -- for better portability -- | Return man representation of notes. notesToMan :: PandocMonad m => WriterOptions -> [[Block]] -> StateT WriterState m (Doc Text) notesToMan opts notes = if null notes then return empty else (text ".SH NOTES" $$) . vcat <$> zipWithM (noteToMan opts) [1..] notes -- | Return man representation of a note. noteToMan :: PandocMonad m => WriterOptions -> Int -> [Block] -> StateT WriterState m (Doc Text) noteToMan opts num note = do contents <- blockListToMan opts note let marker = cr <> text ".SS " <> brackets (text (show num)) return $ marker $$ contents -- We split inline lists into sentences, and print one sentence per -- line. roff treats the line-ending period differently. -- See http://code.google.com/p/pandoc/issues/detail?id=148. -- | Convert Pandoc block element to man. blockToMan :: PandocMonad m => WriterOptions -- ^ Options -> Block -- ^ Block element -> StateT WriterState m (Doc Text) blockToMan _ Null = return empty blockToMan opts (Div _ bs) = blockListToMan opts bs blockToMan opts (Plain inlines) = liftM vcat $ mapM (inlineListToMan opts) $ splitSentences inlines blockToMan opts (Para inlines) = do contents <- liftM vcat $ mapM (inlineListToMan opts) $ splitSentences inlines return $ text ".PP" $$ contents blockToMan opts (LineBlock lns) = blockToMan opts $ linesToPara lns blockToMan _ b@(RawBlock f str) | f == Format "man" = return $ literal str | otherwise = do report $ BlockNotRendered b return empty blockToMan _ HorizontalRule = return $ literal ".PP" $$ literal " * * * * *" blockToMan opts (Header level _ inlines) = do contents <- inlineListToMan opts inlines let heading = case level of 1 -> ".SH " _ -> ".SS " return $ nowrap $ literal heading <> contents blockToMan opts (CodeBlock _ str) = return $ literal ".IP" $$ literal ".nf" $$ literal "\\f[C]" $$ ((case T.uncons str of Just ('.',_) -> literal "\\&" _ -> mempty) <> literal (escString opts str)) $$ literal "\\f[R]" $$ literal ".fi" blockToMan opts (BlockQuote blocks) = do contents <- blockListToMan opts blocks return $ literal ".RS" $$ contents $$ literal ".RE" blockToMan opts (Table caption alignments widths headers rows) = let aligncode AlignLeft = "l" aligncode AlignRight = "r" aligncode AlignCenter = "c" aligncode AlignDefault = "l" in do caption' <- inlineListToMan opts caption modify $ \st -> st{ stHasTables = True } let iwidths = if all (== 0) widths then repeat "" else map (T.pack . printf "w(%0.1fn)" . (70 *)) widths -- 78n default width - 8n indent = 70n let coldescriptions = literal $ T.unwords (zipWith (\align width -> aligncode align <> width) alignments iwidths) <> "." colheadings <- mapM (blockListToMan opts) headers let makeRow cols = literal "T{" $$ vcat (intersperse (literal "T}@T{") cols) $$ literal "T}" let colheadings' = if all null headers then empty else makeRow colheadings $$ char '_' body <- mapM (\row -> do cols <- mapM (blockListToMan opts) row return $ makeRow cols) rows return $ literal ".PP" $$ caption' $$ literal ".TS" $$ literal "tab(@);" $$ coldescriptions $$ colheadings' $$ vcat body $$ literal ".TE" blockToMan opts (BulletList items) = do contents <- mapM (bulletListItemToMan opts) items return (vcat contents) blockToMan opts (OrderedList attribs items) = do let markers = take (length items) $ orderedListMarkers attribs let indent = 1 + maximum (map T.length markers) contents <- mapM (\(num, item) -> orderedListItemToMan opts num indent item) $ zip markers items return (vcat contents) blockToMan opts (DefinitionList items) = do contents <- mapM (definitionListItemToMan opts) items return (vcat contents) -- | Convert bullet list item (list of blocks) to man. bulletListItemToMan :: PandocMonad m => WriterOptions -> [Block] -> StateT WriterState m (Doc Text) bulletListItemToMan _ [] = return empty bulletListItemToMan opts (Para first:rest) = bulletListItemToMan opts (Plain first:rest) bulletListItemToMan opts (Plain first:rest) = do first' <- blockToMan opts (Plain first) rest' <- blockListToMan opts rest let first'' = literal ".IP \\[bu] 2" $$ first' let rest'' = if null rest then empty else literal ".RS 2" $$ rest' $$ literal ".RE" return (first'' $$ rest'') bulletListItemToMan opts (first:rest) = do first' <- blockToMan opts first rest' <- blockListToMan opts rest return $ literal "\\[bu] .RS 2" $$ first' $$ rest' $$ literal ".RE" -- | Convert ordered list item (a list of blocks) to man. orderedListItemToMan :: PandocMonad m => WriterOptions -- ^ options -> Text -- ^ order marker for list item -> Int -- ^ number of spaces to indent -> [Block] -- ^ list item (list of blocks) -> StateT WriterState m (Doc Text) orderedListItemToMan _ _ _ [] = return empty orderedListItemToMan opts num indent (Para first:rest) = orderedListItemToMan opts num indent (Plain first:rest) orderedListItemToMan opts num indent (first:rest) = do first' <- blockToMan opts first rest' <- blockListToMan opts rest let num' = printf ("%" ++ show (indent - 1) ++ "s") num let first'' = literal (".IP \"" <> T.pack num' <> "\" " <> tshow indent) $$ first' let rest'' = if null rest then empty else literal ".RS 4" $$ rest' $$ literal ".RE" return $ first'' $$ rest'' -- | Convert definition list item (label, list of blocks) to man. definitionListItemToMan :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> StateT WriterState m (Doc Text) definitionListItemToMan opts (label, defs) = do -- in most man pages, option and other code in option lists is boldface, -- but not other things, so we try to reproduce this style: labelText <- inlineListToMan opts $ makeCodeBold label contents <- if null defs then return empty else liftM vcat $ forM defs $ \blocks -> case blocks of (x:xs) -> do first' <- blockToMan opts $ case x of Para y -> Plain y _ -> x rest' <- liftM vcat $ mapM (\item -> blockToMan opts item) xs return $ first' $$ if null xs then empty else literal ".RS" $$ rest' $$ literal ".RE" [] -> return empty return $ literal ".TP" $$ nowrap labelText $$ contents makeCodeBold :: [Inline] -> [Inline] makeCodeBold = walk go where go x@Code{} = Strong [x] go x = x -- | Convert list of Pandoc block elements to man. blockListToMan :: PandocMonad m => WriterOptions -- ^ Options -> [Block] -- ^ List of block elements -> StateT WriterState m (Doc Text) blockListToMan opts blocks = vcat <$> mapM (blockToMan opts) blocks -- | Convert list of Pandoc inline elements to man. inlineListToMan :: PandocMonad m => WriterOptions -> [Inline] -> StateT WriterState m (Doc Text) inlineListToMan opts lst = hcat <$> mapM (inlineToMan opts) lst -- | Convert Pandoc inline element to man. inlineToMan :: PandocMonad m => WriterOptions -> Inline -> StateT WriterState m (Doc Text) inlineToMan opts (Span _ ils) = inlineListToMan opts ils inlineToMan opts (Emph lst) = withFontFeature 'I' (inlineListToMan opts lst) inlineToMan opts (Strong lst) = withFontFeature 'B' (inlineListToMan opts lst) inlineToMan opts (Strikeout lst) = do contents <- inlineListToMan opts lst return $ literal "[STRIKEOUT:" <> contents <> char ']' inlineToMan opts (Superscript lst) = do contents <- inlineListToMan opts lst return $ char '^' <> contents <> char '^' inlineToMan opts (Subscript lst) = do contents <- inlineListToMan opts lst return $ char '~' <> contents <> char '~' inlineToMan opts (SmallCaps lst) = inlineListToMan opts lst -- not supported inlineToMan opts (Quoted SingleQuote lst) = do contents <- inlineListToMan opts lst return $ char '`' <> contents <> char '\'' inlineToMan opts (Quoted DoubleQuote lst) = do contents <- inlineListToMan opts lst return $ literal "\\[lq]" <> contents <> literal "\\[rq]" inlineToMan opts (Cite _ lst) = inlineListToMan opts lst inlineToMan opts (Code _ str) = withFontFeature 'C' (return (literal $ escString opts str)) inlineToMan opts (Str str@(T.uncons -> Just ('.',_))) = return $ afterBreak "\\&" <> literal (escString opts str) inlineToMan opts (Str str) = return $ literal $ escString opts str inlineToMan opts (Math InlineMath str) = lift (texMathToInlines InlineMath str) >>= inlineListToMan opts inlineToMan opts (Math DisplayMath str) = do contents <- lift (texMathToInlines DisplayMath str) >>= inlineListToMan opts return $ cr <> literal ".RS" $$ contents $$ literal ".RE" inlineToMan _ il@(RawInline f str) | f == Format "man" = return $ literal str | otherwise = do report $ InlineNotRendered il return empty inlineToMan _ LineBreak = return $ cr <> literal ".PD 0" $$ literal ".P" $$ literal ".PD" <> cr inlineToMan _ SoftBreak = return space inlineToMan _ Space = return space inlineToMan opts (Link _ txt (src, _)) | not (isURI src) = inlineListToMan opts txt -- skip relative links | otherwise = do linktext <- inlineListToMan opts txt let srcSuffix = fromMaybe src (T.stripPrefix "mailto:" src) return $ case txt of [Str s] | escapeURI s == srcSuffix -> char '<' <> literal srcSuffix <> char '>' _ -> linktext <> literal " (" <> literal src <> char ')' inlineToMan opts (Image attr alternate (source, tit)) = do let txt = if null alternate || (alternate == [Str ""]) || (alternate == [Str source]) -- to prevent autolinks then [Str "image"] else alternate linkPart <- inlineToMan opts (Link attr txt (source, tit)) return $ char '[' <> literal "IMAGE: " <> linkPart <> char ']' inlineToMan _ (Note contents) = do -- add to notes in state modify $ \st -> st{ stNotes = contents : stNotes st } notes <- gets stNotes let ref = tshow (length notes) return $ char '[' <> literal ref <> char ']' �������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Markdown.hs��������������������������������������������������0000664�0000000�0000000�00000165132�13636304630�0021637�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE MultiWayIf #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.Markdown Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to markdown-formatted plain text. Markdown: <http://daringfireball.net/projects/markdown/> -} module Text.Pandoc.Writers.Markdown (writeMarkdown, writePlain) where import Control.Monad.Reader import Control.Monad.State.Strict import Data.Char (isAlphaNum) import Data.Default import Data.List (find, intersperse, sortBy, transpose) import qualified Data.Map as M import Data.Maybe (fromMaybe, mapMaybe) import Data.Ord (comparing) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import Network.HTTP (urlEncode) import Text.HTML.TagSoup (Tag (..), isTagText, parseTags) import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Parsing hiding (blankline, blanklines, char, space) import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Writers.Shared import Text.Pandoc.Templates (renderTemplate) import Text.DocTemplates (Val(..), Context(..), FromContext(..)) import Text.Pandoc.Walk import Text.Pandoc.Writers.HTML (writeHtml5String) import Text.Pandoc.Writers.Math (texMathToInlines) import Text.Pandoc.XML (toHtml5Entities) type Notes = [[Block]] type Ref = (Text, Target, Attr) type Refs = [Ref] type MD m = ReaderT WriterEnv (StateT WriterState m) evalMD :: PandocMonad m => MD m a -> WriterEnv -> WriterState -> m a evalMD md env st = evalStateT (runReaderT md env) st data WriterEnv = WriterEnv { envInList :: Bool , envPlain :: Bool , envRefShortcutable :: Bool , envBlockLevel :: Int , envEscapeSpaces :: Bool } instance Default WriterEnv where def = WriterEnv { envInList = False , envPlain = False , envRefShortcutable = True , envBlockLevel = 0 , envEscapeSpaces = False } data WriterState = WriterState { stNotes :: Notes , stPrevRefs :: Refs , stRefs :: Refs , stKeys :: M.Map Key (M.Map (Target, Attr) Int) , stLastIdx :: Int , stIds :: Set.Set Text , stNoteNum :: Int } instance Default WriterState where def = WriterState{ stNotes = [] , stPrevRefs = [] , stRefs = [] , stKeys = M.empty , stLastIdx = 0 , stIds = Set.empty , stNoteNum = 1 } -- | Convert Pandoc to Markdown. writeMarkdown :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeMarkdown opts document = evalMD (pandocToMarkdown opts{ writerWrapText = if isEnabled Ext_hard_line_breaks opts then WrapNone else writerWrapText opts } document) def def -- | Convert Pandoc to plain text (like markdown, but without links, -- pictures, or inline formatting). writePlain :: PandocMonad m => WriterOptions -> Pandoc -> m Text writePlain opts document = evalMD (pandocToMarkdown opts document) def{ envPlain = True } def pandocTitleBlock :: Doc Text -> [Doc Text] -> Doc Text -> Doc Text pandocTitleBlock tit auths dat = hang 2 (text "% ") tit <> cr <> hang 2 (text "% ") (vcat $ map nowrap auths) <> cr <> hang 2 (text "% ") dat <> cr mmdTitleBlock :: Context Text -> Doc Text mmdTitleBlock (Context hashmap) = vcat $ map go $ sortBy (comparing fst) $ M.toList hashmap where go (k,v) = case (text (T.unpack k), v) of (k', ListVal xs) | null xs -> empty | otherwise -> k' <> ":" <> space <> hcat (intersperse "; " $ mapMaybe fromVal xs) (k', SimpleVal x) | isEmpty x -> empty | otherwise -> k' <> ":" <> space <> nest 2 (removeBlankLines (chomp x)) _ -> empty removeBlankLines BlankLines{} = cr <> text "." <> cr removeBlankLines (Concat x y) = removeBlankLines x <> removeBlankLines y removeBlankLines x = x plainTitleBlock :: Doc Text -> [Doc Text] -> Doc Text -> Doc Text plainTitleBlock tit auths dat = tit <> cr <> (hcat (intersperse (text "; ") auths)) <> cr <> dat <> cr yamlMetadataBlock :: Context Text -> Doc Text yamlMetadataBlock v = "---" $$ (contextToYaml v) $$ "---" contextToYaml :: Context Text -> Doc Text contextToYaml (Context o) = vcat $ map keyvalToYaml $ sortBy (comparing fst) $ M.toList o where keyvalToYaml (k,v) = case (text (T.unpack k), v) of (k', ListVal vs) | null vs -> empty | otherwise -> (k' <> ":") $$ valToYaml v (k', MapVal (Context m)) | M.null m -> k' <> ": {}" | otherwise -> (k' <> ":") $$ nest 2 (valToYaml v) (_, SimpleVal x) | isEmpty x -> empty (_, NullVal) -> empty (k', _) -> k' <> ":" <+> hang 2 "" (valToYaml v) valToYaml :: Val Text -> Doc Text valToYaml (ListVal xs) = vcat $ map (\v -> hang 2 "- " (valToYaml v)) xs valToYaml (MapVal c) = contextToYaml c valToYaml (SimpleVal x) | isEmpty x = empty | otherwise = if hasNewlines x then hang 0 ("|" <> cr) x else if any hasPunct x then "'" <> fmap escapeSingleQuotes x <> "'" else x where hasNewlines NewLine = True hasNewlines BlankLines{} = True hasNewlines CarriageReturn = True hasNewlines (Concat w z) = hasNewlines w || hasNewlines z hasNewlines _ = False hasPunct = T.any isYamlPunct isYamlPunct = (`elem` ['-','?',':',',','[',']','{','}', '#','&','*','!','|','>','\'','"', '%','@','`',',','[',']','{','}']) escapeSingleQuotes = T.replace "'" "''" valToYaml _ = empty -- | Return markdown representation of document. pandocToMarkdown :: PandocMonad m => WriterOptions -> Pandoc -> MD m Text pandocToMarkdown opts (Pandoc meta blocks) = do let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing isPlain <- asks envPlain metadata <- metaToContext' (blockListToMarkdown opts) (inlineListToMarkdown opts) meta let title' = fromMaybe empty $ getField "title" metadata let authors' = fromMaybe [] $ getField "author" metadata let date' = fromMaybe empty $ getField "date" metadata let titleblock = case writerTemplate opts of Just _ | isPlain -> plainTitleBlock title' authors' date' | isEnabled Ext_yaml_metadata_block opts -> yamlMetadataBlock metadata | isEnabled Ext_pandoc_title_block opts -> pandocTitleBlock title' authors' date' | isEnabled Ext_mmd_title_block opts -> mmdTitleBlock metadata | otherwise -> empty Nothing -> empty toc <- if writerTableOfContents opts then blockToMarkdown opts ( toTableOfContents opts blocks ) else return mempty -- Strip off final 'references' header if markdown citations enabled let blocks' = if isEnabled Ext_citations opts then case reverse blocks of (Div ("refs",_,_) _):xs -> reverse xs _ -> blocks else blocks body <- blockListToMarkdown opts blocks' notesAndRefs' <- notesAndRefs opts let main = body <> notesAndRefs' let context = -- for backwards compatibility we populate toc -- with the contents of the toc, rather than a -- boolean: defField "toc" toc $ defField "table-of-contents" toc $ defField "body" main $ (if isNullMeta meta then id else defField "titleblock" titleblock) $ addVariablesToContext opts metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Return markdown representation of reference key table. refsToMarkdown :: PandocMonad m => WriterOptions -> Refs -> MD m (Doc Text) refsToMarkdown opts refs = mapM (keyToMarkdown opts) refs >>= return . vcat -- | Return markdown representation of a reference key. keyToMarkdown :: PandocMonad m => WriterOptions -> Ref -> MD m (Doc Text) keyToMarkdown opts (label', (src, tit), attr) = do let tit' = if T.null tit then empty else space <> "\"" <> literal tit <> "\"" return $ nest 2 $ hang 2 ("[" <> literal label' <> "]:" <> space) (literal src <> tit') <+> linkAttributes opts attr -- | Return markdown representation of notes. notesToMarkdown :: PandocMonad m => WriterOptions -> [[Block]] -> MD m (Doc Text) notesToMarkdown opts notes = do n <- gets stNoteNum notes' <- zipWithM (noteToMarkdown opts) [n..] notes modify $ \st -> st { stNoteNum = stNoteNum st + length notes } return $ vsep notes' -- | Return markdown representation of a note. noteToMarkdown :: PandocMonad m => WriterOptions -> Int -> [Block] -> MD m (Doc Text) noteToMarkdown opts num blocks = do contents <- blockListToMarkdown opts blocks let num' = literal $ writerIdentifierPrefix opts <> tshow num let marker = if isEnabled Ext_footnotes opts then literal "[^" <> num' <> literal "]:" else literal "[" <> num' <> literal "]" let markerSize = 4 + offset num' let spacer = case writerTabStop opts - markerSize of n | n > 0 -> literal $ T.replicate n " " _ -> literal " " return $ if isEnabled Ext_footnotes opts then hang (writerTabStop opts) (marker <> spacer) contents else marker <> spacer <> contents -- | Escape special characters for Markdown. escapeText :: WriterOptions -> Text -> Text escapeText opts = (if writerPreferAscii opts then toHtml5Entities else id) . T.pack . go . T.unpack where go [] = [] go (c:cs) = case c of '<' | isEnabled Ext_all_symbols_escapable opts -> '\\' : '<' : go cs | otherwise -> "<" ++ go cs '>' | isEnabled Ext_all_symbols_escapable opts -> '\\' : '>' : go cs | otherwise -> ">" ++ go cs '@' | isEnabled Ext_citations opts -> case cs of (d:_) | isAlphaNum d || d == '_' -> '\\':'@':go cs _ -> '@':go cs _ | c `elem` ['\\','`','*','_','[',']','#'] -> '\\':c:go cs '|' | isEnabled Ext_pipe_tables opts -> '\\':'|':go cs '^' | isEnabled Ext_superscript opts -> '\\':'^':go cs '~' | isEnabled Ext_subscript opts || isEnabled Ext_strikeout opts -> '\\':'~':go cs '$' | isEnabled Ext_tex_math_dollars opts -> '\\':'$':go cs '\'' | isEnabled Ext_smart opts -> '\\':'\'':go cs '"' | isEnabled Ext_smart opts -> '\\':'"':go cs '-' | isEnabled Ext_smart opts -> case cs of '-':_ -> '\\':'-':go cs _ -> '-':go cs '.' | isEnabled Ext_smart opts -> case cs of '.':'.':rest -> '\\':'.':'.':'.':go rest _ -> '.':go cs _ -> c : go cs attrsToMarkdown :: Attr -> Doc Text attrsToMarkdown attribs = braces $ hsep [attribId, attribClasses, attribKeys] where attribId = case attribs of ("",_,_) -> empty (i,_,_) -> "#" <> escAttr i attribClasses = case attribs of (_,[],_) -> empty (_,cs,_) -> hsep $ map (escAttr . ("."<>)) cs attribKeys = case attribs of (_,_,[]) -> empty (_,_,ks) -> hsep $ map (\(k,v) -> escAttr k <> "=\"" <> escAttr v <> "\"") ks escAttr = mconcat . map escAttrChar . T.unpack escAttrChar '"' = literal "\\\"" escAttrChar '\\' = literal "\\\\" escAttrChar c = literal $ T.singleton c linkAttributes :: WriterOptions -> Attr -> Doc Text linkAttributes opts attr = if isEnabled Ext_link_attributes opts && attr /= nullAttr then attrsToMarkdown attr else empty -- | Ordered list start parser for use in Para below. olMarker :: Parser Text ParserState () olMarker = do (start, style', delim) <- anyOrderedListMarker if delim == Period && (style' == UpperAlpha || (style' == UpperRoman && start `elem` [1, 5, 10, 50, 100, 500, 1000])) then mzero -- it needs 2 spaces anyway else eof -- | True if string begins with an ordered list marker beginsWithOrderedListMarker :: Text -> Bool beginsWithOrderedListMarker str = case runParser olMarker defaultParserState "para start" (T.take 10 str) of Left _ -> False Right _ -> True notesAndRefs :: PandocMonad m => WriterOptions -> MD m (Doc Text) notesAndRefs opts = do notes' <- reverse <$> gets stNotes >>= notesToMarkdown opts modify $ \s -> s { stNotes = [] } refs' <- reverse <$> gets stRefs >>= refsToMarkdown opts modify $ \s -> s { stPrevRefs = stPrevRefs s ++ stRefs s , stRefs = []} let endSpacing = if | writerReferenceLocation opts == EndOfDocument -> empty | isEmpty notes' && isEmpty refs' -> empty | otherwise -> blankline return $ (if isEmpty notes' then empty else blankline <> notes') <> (if isEmpty refs' then empty else blankline <> refs') <> endSpacing -- | Convert Pandoc block element to markdown. blockToMarkdown :: PandocMonad m => WriterOptions -- ^ Options -> Block -- ^ Block element -> MD m (Doc Text) blockToMarkdown opts blk = local (\env -> env {envBlockLevel = envBlockLevel env + 1}) $ do doc <- blockToMarkdown' opts blk blkLevel <- asks envBlockLevel if writerReferenceLocation opts == EndOfBlock && blkLevel == 1 then notesAndRefs opts >>= (\d -> return $ doc <> d) else return doc blockToMarkdown' :: PandocMonad m => WriterOptions -- ^ Options -> Block -- ^ Block element -> MD m (Doc Text) blockToMarkdown' _ Null = return empty blockToMarkdown' opts (Div attrs ils) = do contents <- blockListToMarkdown opts ils return $ case () of _ | isEnabled Ext_fenced_divs opts && attrs /= nullAttr -> nowrap (literal ":::" <+> attrsToMarkdown attrs) $$ chomp contents $$ literal ":::" <> blankline | isEnabled Ext_native_divs opts || (isEnabled Ext_raw_html opts && isEnabled Ext_markdown_in_html_blocks opts) -> tagWithAttrs "div" attrs <> blankline <> contents <> blankline <> "</div>" <> blankline | isEnabled Ext_raw_html opts && isEnabled Ext_markdown_attribute opts -> tagWithAttrs "div" attrs' <> blankline <> contents <> blankline <> "</div>" <> blankline | otherwise -> contents <> blankline where (id',classes',kvs') = attrs attrs' = (id',classes',("markdown","1"):kvs') blockToMarkdown' opts (Plain inlines) = do -- escape if para starts with ordered list marker isPlain <- asks envPlain let escapeMarker = T.concatMap $ \x -> if x `elemText` ".()" then T.pack ['\\', x] else T.singleton x let startsWithSpace (Space:_) = True startsWithSpace (SoftBreak:_) = True startsWithSpace _ = False let inlines' = if isPlain then inlines else case inlines of (Str t:ys) | not isPlain , (null ys || startsWithSpace ys) , beginsWithOrderedListMarker t -> RawInline (Format "markdown") (escapeMarker t):ys (Str t:_) | not isPlain , t == "+" || t == "-" || (t == "%" && isEnabled Ext_pandoc_title_block opts && isEnabled Ext_all_symbols_escapable opts) -> RawInline (Format "markdown") "\\" : inlines _ -> inlines contents <- inlineListToMarkdown opts inlines' return $ contents <> cr -- title beginning with fig: indicates figure blockToMarkdown' opts (Para [Image attr alt (src,tgt@(T.stripPrefix "fig:" -> Just tit))]) | isEnabled Ext_raw_html opts && not (isEnabled Ext_link_attributes opts) && attr /= nullAttr = -- use raw HTML ((<> blankline) . literal . T.strip) <$> writeHtml5String opts{ writerTemplate = Nothing } (Pandoc nullMeta [Para [Image attr alt (src,tgt)]]) | otherwise = blockToMarkdown opts (Para [Image attr alt (src,tit)]) blockToMarkdown' opts (Para inlines) = (<> blankline) `fmap` blockToMarkdown opts (Plain inlines) blockToMarkdown' opts (LineBlock lns) = if isEnabled Ext_line_blocks opts then do mdLines <- mapM (inlineListToMarkdown opts) lns return $ (vcat $ map (hang 2 (literal "| ")) mdLines) <> blankline else blockToMarkdown opts $ linesToPara lns blockToMarkdown' opts b@(RawBlock f str) = do plain <- asks envPlain let Format fmt = f let rawAttribBlock = return $ (literal "```{=" <> literal fmt <> "}") $$ literal str $$ (literal "```" <> literal "\n") let renderEmpty = mempty <$ report (BlockNotRendered b) case () of _ | plain -> renderEmpty | isEnabled Ext_raw_attribute opts -> rawAttribBlock | f `elem` ["markdown", "markdown_github", "markdown_phpextra", "markdown_mmd", "markdown_strict"] -> return $ literal str <> literal "\n" | f `elem` ["html", "html5", "html4"] -> case () of _ | isEnabled Ext_markdown_attribute opts -> return $ literal (addMarkdownAttribute str) <> literal "\n" | isEnabled Ext_raw_html opts -> return $ literal str <> literal "\n" | isEnabled Ext_raw_attribute opts -> rawAttribBlock | otherwise -> renderEmpty | f `elem` ["latex", "tex"] -> case () of _ | isEnabled Ext_raw_tex opts -> return $ literal str <> literal "\n" | isEnabled Ext_raw_attribute opts -> rawAttribBlock | otherwise -> renderEmpty | otherwise -> renderEmpty blockToMarkdown' opts HorizontalRule = return $ blankline <> literal (T.replicate (writerColumns opts) "-") <> blankline blockToMarkdown' opts (Header level attr inlines) = do -- first, if we're putting references at the end of a section, we -- put them here. blkLevel <- asks envBlockLevel refs <- if writerReferenceLocation opts == EndOfSection && blkLevel == 1 then notesAndRefs opts else return empty plain <- asks envPlain -- we calculate the id that would be used by auto_identifiers -- so we know whether to print an explicit identifier ids <- gets stIds let autoId = uniqueIdent (writerExtensions opts) inlines ids modify $ \st -> st{ stIds = Set.insert autoId ids } let attr' = case attr of ("",[],[]) -> empty (id',[],[]) | isEnabled Ext_auto_identifiers opts && id' == autoId -> empty (id',_,_) | isEnabled Ext_mmd_header_identifiers opts -> space <> brackets (literal id') _ | isEnabled Ext_header_attributes opts -> space <> attrsToMarkdown attr | otherwise -> empty contents <- inlineListToMarkdown opts $ -- ensure no newlines; see #3736 walk lineBreakToSpace $ if level == 1 && plain && isEnabled Ext_gutenberg opts then capitalize inlines else inlines let setext = writerSetextHeaders opts hdr = nowrap $ case level of 1 | plain -> if isEnabled Ext_gutenberg opts then blanklines 3 <> contents <> blanklines 2 else contents <> blankline | setext -> contents <> attr' <> cr <> literal (T.replicate (offset contents) "=") <> blankline 2 | plain -> if isEnabled Ext_gutenberg opts then blanklines 2 <> contents <> blankline else contents <> blankline | setext -> contents <> attr' <> cr <> literal (T.replicate (offset contents) "-") <> blankline -- ghc interprets '#' characters in column 1 as linenum specifiers. _ | plain || isEnabled Ext_literate_haskell opts -> contents <> blankline _ -> literal (T.replicate level "#") <> space <> contents <> attr' <> blankline return $ refs <> hdr blockToMarkdown' opts (CodeBlock (_,classes,_) str) | "haskell" `elem` classes && "literate" `elem` classes && isEnabled Ext_literate_haskell opts = return $ prefixed "> " (literal str) <> blankline blockToMarkdown' opts (CodeBlock attribs str) = return $ case attribs == nullAttr of False | isEnabled Ext_backtick_code_blocks opts -> backticks <> attrs <> cr <> literal str <> cr <> backticks <> blankline | isEnabled Ext_fenced_code_blocks opts -> tildes <> attrs <> cr <> literal str <> cr <> tildes <> blankline _ -> nest (writerTabStop opts) (literal str) <> blankline where endline c = literal $ case [T.length ln | ln <- map trim (T.lines str) , T.pack [c,c,c] `T.isPrefixOf` ln , T.all (== c) ln] of [] -> T.replicate 3 $ T.singleton c xs -> T.replicate (maximum xs + 1) $ T.singleton c backticks = endline '`' tildes = endline '~' attrs = if isEnabled Ext_fenced_code_attributes opts then nowrap $ " " <> attrsToMarkdown attribs else case attribs of (_,(cls:_),_) -> " " <> literal cls _ -> empty blockToMarkdown' opts (BlockQuote blocks) = do plain <- asks envPlain -- if we're writing literate haskell, put a space before the bird tracks -- so they won't be interpreted as lhs... let leader = if isEnabled Ext_literate_haskell opts then " > " else if plain then " " else "> " contents <- blockListToMarkdown opts blocks return $ (prefixed leader contents) <> blankline blockToMarkdown' opts t@(Table caption aligns widths headers rows) = do let numcols = maximum (length aligns : length widths : map length (headers:rows)) caption' <- inlineListToMarkdown opts caption let caption'' = if null caption || not (isEnabled Ext_table_captions opts) then blankline else blankline $$ (": " <> caption') $$ blankline let hasSimpleCells = onlySimpleTableCells $ headers:rows let isSimple = hasSimpleCells && all (==0) widths let isPlainBlock (Plain _) = True isPlainBlock _ = False let hasBlocks = not (all isPlainBlock $ concat . concat $ headers:rows) let padRow r = case numcols - length r of x | x > 0 -> r ++ replicate x empty | otherwise -> r let aligns' = case numcols - length aligns of x | x > 0 -> aligns ++ replicate x AlignDefault | otherwise -> aligns let widths' = case numcols - length widths of x | x > 0 -> widths ++ replicate x 0.0 | otherwise -> widths (nst,tbl) <- case True of _ | isSimple && isEnabled Ext_simple_tables opts -> do rawHeaders <- padRow <$> mapM (blockListToMarkdown opts) headers rawRows <- mapM (fmap padRow . mapM (blockListToMarkdown opts)) rows (nest 2,) <$> pandocTable opts False (all null headers) aligns' widths' rawHeaders rawRows | isSimple && isEnabled Ext_pipe_tables opts -> do rawHeaders <- padRow <$> mapM (blockListToMarkdown opts) headers rawRows <- mapM (fmap padRow . mapM (blockListToMarkdown opts)) rows (id,) <$> pipeTable (all null headers) aligns' rawHeaders rawRows | not hasBlocks && isEnabled Ext_multiline_tables opts -> do rawHeaders <- padRow <$> mapM (blockListToMarkdown opts) headers rawRows <- mapM (fmap padRow . mapM (blockListToMarkdown opts)) rows (nest 2,) <$> pandocTable opts True (all null headers) aligns' widths' rawHeaders rawRows | isEnabled Ext_grid_tables opts && writerColumns opts >= 8 * numcols -> (id,) <$> gridTable opts blockListToMarkdown (all null headers) aligns' widths' headers rows | hasSimpleCells && isEnabled Ext_pipe_tables opts -> do rawHeaders <- padRow <$> mapM (blockListToMarkdown opts) headers rawRows <- mapM (fmap padRow . mapM (blockListToMarkdown opts)) rows (id,) <$> pipeTable (all null headers) aligns' rawHeaders rawRows | isEnabled Ext_raw_html opts -> fmap (id,) $ literal <$> (writeHtml5String opts{ writerTemplate = Nothing } $ Pandoc nullMeta [t]) | otherwise -> return (id, literal "[TABLE]") return $ nst (tbl $$ caption'') $$ blankline blockToMarkdown' opts (BulletList items) = do contents <- inList $ mapM (bulletListItemToMarkdown opts) items return $ (if isTightList items then vcat else vsep) contents <> blankline blockToMarkdown' opts (OrderedList (start,sty,delim) items) = do let start' = if isEnabled Ext_startnum opts then start else 1 let sty' = if isEnabled Ext_fancy_lists opts then sty else DefaultStyle let delim' = if isEnabled Ext_fancy_lists opts then delim else DefaultDelim let attribs = (start', sty', delim') let markers = orderedListMarkers attribs let markers' = map (\m -> if T.length m < 3 then m <> T.replicate (3 - T.length m) " " else m) markers contents <- inList $ zipWithM (orderedListItemToMarkdown opts) markers' items return $ (if isTightList items then vcat else vsep) contents <> blankline blockToMarkdown' opts (DefinitionList items) = do contents <- inList $ mapM (definitionListItemToMarkdown opts) items return $ mconcat contents <> blankline inList :: Monad m => MD m a -> MD m a inList p = local (\env -> env {envInList = True}) p addMarkdownAttribute :: Text -> Text addMarkdownAttribute s = case span isTagText $ reverse $ parseTags s of (xs,(TagOpen t attrs:rest)) -> renderTags' $ reverse rest ++ (TagOpen t attrs' : reverse xs) where attrs' = ("markdown","1"):[(x,y) | (x,y) <- attrs, x /= "markdown"] _ -> s pipeTable :: PandocMonad m => Bool -> [Alignment] -> [Doc Text] -> [[Doc Text]] -> MD m (Doc Text) pipeTable headless aligns rawHeaders rawRows = do let sp = literal " " let blockFor AlignLeft x y = lblock (x + 2) (sp <> y) <> lblock 0 empty blockFor AlignCenter x y = cblock (x + 2) (sp <> y) <> lblock 0 empty blockFor AlignRight x y = rblock (x + 2) (sp <> y) <> lblock 0 empty blockFor _ x y = lblock (x + 2) (sp <> y) <> lblock 0 empty let widths = map (max 3 . maximum . map offset) $ transpose (rawHeaders : rawRows) let torow cs = nowrap $ literal "|" <> hcat (intersperse (literal "|") $ zipWith3 blockFor aligns widths (map chomp cs)) <> literal "|" let toborder a w = literal $ case a of AlignLeft -> ":" <> T.replicate (w + 1) "-" AlignCenter -> ":" <> T.replicate w "-" <> ":" AlignRight -> T.replicate (w + 1) "-" <> ":" AlignDefault -> T.replicate (w + 2) "-" -- note: pipe tables can't completely lack a -- header; for a headerless table, we need a header of empty cells. -- see jgm/pandoc#1996. let header = if headless then torow (replicate (length aligns) empty) else torow rawHeaders let border = nowrap $ literal "|" <> hcat (intersperse (literal "|") $ zipWith toborder aligns widths) <> literal "|" let body = vcat $ map torow rawRows return $ header $$ border $$ body pandocTable :: PandocMonad m => WriterOptions -> Bool -> Bool -> [Alignment] -> [Double] -> [Doc Text] -> [[Doc Text]] -> MD m (Doc Text) pandocTable opts multiline headless aligns widths rawHeaders rawRows = do let isSimple = all (==0) widths let alignHeader alignment = case alignment of AlignLeft -> lblock AlignCenter -> cblock AlignRight -> rblock AlignDefault -> lblock -- Number of characters per column necessary to output every cell -- without requiring a line break. -- The @+2@ is needed for specifying the alignment. let numChars = (+ 2) . maximum . map offset -- Number of characters per column necessary to output every cell -- without requiring a line break *inside a word*. -- The @+2@ is needed for specifying the alignment. let minNumChars = (+ 2) . maximum . map minOffset let columns = transpose (rawHeaders : rawRows) -- minimal column width without wrapping a single word let relWidth w col = max (floor $ fromIntegral (writerColumns opts - 1) * w) (if writerWrapText opts == WrapAuto then minNumChars col else numChars col) let widthsInChars | isSimple = map numChars columns | otherwise = zipWith relWidth widths columns let makeRow = hcat . intersperse (lblock 1 (literal " ")) . (zipWith3 alignHeader aligns widthsInChars) let rows' = map makeRow rawRows let head' = makeRow rawHeaders let underline = mconcat $ intersperse (literal " ") $ map (\width -> literal (T.replicate width "-")) widthsInChars let border = if multiline then literal (T.replicate (sum widthsInChars + length widthsInChars - 1) "-") else if headless then underline else empty let head'' = if headless then empty else border <> cr <> head' let body = if multiline then vsep rows' $$ if length rows' < 2 then blankline -- #4578 else empty else vcat rows' let bottom = if headless then underline else border return $ head'' $$ underline $$ body $$ bottom itemEndsWithTightList :: [Block] -> Bool itemEndsWithTightList bs = case bs of [Plain _, BulletList xs] -> isTightList xs [Plain _, OrderedList _ xs] -> isTightList xs _ -> False -- | Convert bullet list item (list of blocks) to markdown. bulletListItemToMarkdown :: PandocMonad m => WriterOptions -> [Block] -> MD m (Doc Text) bulletListItemToMarkdown opts bs = do let exts = writerExtensions opts contents <- blockListToMarkdown opts $ taskListItemToAscii exts bs let sps = T.replicate (writerTabStop opts - 2) " " let start = literal $ "- " <> sps -- remove trailing blank line if item ends with a tight list let contents' = if itemEndsWithTightList bs then chomp contents <> cr else contents return $ hang (writerTabStop opts) start contents' -- | Convert ordered list item (a list of blocks) to markdown. orderedListItemToMarkdown :: PandocMonad m => WriterOptions -- ^ options -> Text -- ^ list item marker -> [Block] -- ^ list item (list of blocks) -> MD m (Doc Text) orderedListItemToMarkdown opts marker bs = do let exts = writerExtensions opts contents <- blockListToMarkdown opts $ taskListItemToAscii exts bs let sps = case writerTabStop opts - T.length marker of n | n > 0 -> literal $ T.replicate n " " _ -> literal " " let ind = if isEnabled Ext_four_space_rule opts then writerTabStop opts else max (writerTabStop opts) (T.length marker + 1) let start = literal marker <> sps -- remove trailing blank line if item ends with a tight list let contents' = if itemEndsWithTightList bs then chomp contents <> cr else contents return $ hang ind start contents' -- | Convert definition list item (label, list of blocks) to markdown. definitionListItemToMarkdown :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> MD m (Doc Text) definitionListItemToMarkdown opts (label, defs) = do labelText <- blockToMarkdown opts (Plain label) defs' <- mapM (mapM (blockToMarkdown opts)) defs if isEnabled Ext_definition_lists opts then do let tabStop = writerTabStop opts isPlain <- asks envPlain let leader = if isPlain then " " else ": " let sps = case writerTabStop opts - 3 of n | n > 0 -> literal $ T.replicate n " " _ -> literal " " let isTight = case defs of ((Plain _ : _): _) -> True _ -> False if isEnabled Ext_compact_definition_lists opts then do let contents = vcat $ map (\d -> hang tabStop (leader <> sps) $ vcat d <> cr) defs' return $ nowrap labelText <> cr <> contents <> cr else do let contents = (if isTight then vcat else vsep) $ map (\d -> hang tabStop (leader <> sps) $ vcat d) defs' return $ blankline <> nowrap labelText $$ (if isTight then empty else blankline) <> contents <> blankline else return $ nowrap (chomp labelText <> literal " " <> cr) <> vsep (map vsep defs') <> blankline -- | Convert list of Pandoc block elements to markdown. blockListToMarkdown :: PandocMonad m => WriterOptions -- ^ Options -> [Block] -- ^ List of block elements -> MD m (Doc Text) blockListToMarkdown opts blocks = do inlist <- asks envInList isPlain <- asks envPlain -- a) insert comment between list and indented code block, or the -- code block will be treated as a list continuation paragraph -- b) change Plain to Para unless it's followed by a RawBlock -- or has a list as its parent (#3487) let fixBlocks (b : CodeBlock attr x : rest) | (not (isEnabled Ext_fenced_code_blocks opts) || attr == nullAttr) && isListBlock b = b : commentSep : CodeBlock attr x : fixBlocks rest fixBlocks (b1@(BulletList _) : b2@(BulletList _) : bs) = b1 : commentSep : fixBlocks (b2:bs) fixBlocks (b1@(OrderedList _ _) : b2@(OrderedList _ _) : bs) = b1 : commentSep : fixBlocks (b2:bs) fixBlocks (b1@(DefinitionList _) : b2@(DefinitionList _) : bs) = b1 : commentSep : fixBlocks (b2:bs) fixBlocks (Plain ils : bs@(RawBlock{}:_)) = Plain ils : fixBlocks bs fixBlocks (Plain ils : bs) | inlist = Plain ils : fixBlocks bs fixBlocks (Plain ils : bs) = Para ils : fixBlocks bs fixBlocks (r@(RawBlock f raw) : b : bs) | not (T.null raw) , T.last raw /= '\n' = case b of Plain{} -> r : fixBlocks (b:bs) RawBlock{} -> r : fixBlocks (b:bs) _ -> RawBlock f (raw <> "\n") : fixBlocks (b:bs) -- #4629 fixBlocks (x : xs) = x : fixBlocks xs fixBlocks [] = [] isListBlock (BulletList _) = True isListBlock (OrderedList _ _) = True isListBlock (DefinitionList _) = True isListBlock _ = False commentSep = if isPlain then Null else if isEnabled Ext_raw_html opts then RawBlock "html" "<!-- -->\n" else RawBlock "markdown" " \n" mapM (blockToMarkdown opts) (fixBlocks blocks) >>= return . mconcat getKey :: Doc Text -> Key getKey = toKey . render Nothing findUsableIndex :: [Text] -> Int -> Int findUsableIndex lbls i = if (tshow i) `elem` lbls then findUsableIndex lbls (i + 1) else i getNextIndex :: PandocMonad m => MD m Int getNextIndex = do prevRefs <- gets stPrevRefs refs <- gets stRefs i <- (+ 1) <$> gets stLastIdx let refLbls = map (\(r,_,_) -> r) $ prevRefs ++ refs return $ findUsableIndex refLbls i -- | Get reference for target; if none exists, create unique one and return. -- Prefer label if possible; otherwise, generate a unique key. getReference :: PandocMonad m => Attr -> Doc Text -> Target -> MD m Text getReference attr label target = do refs <- gets stRefs case find (\(_,t,a) -> t == target && a == attr) refs of Just (ref, _, _) -> return ref Nothing -> do keys <- gets stKeys case M.lookup (getKey label) keys of Nothing -> do -- no other refs with this label (lab', idx) <- if isEmpty label then do i <- getNextIndex modify $ \s -> s{ stLastIdx = i } return (tshow i, i) else return (render Nothing label, 0) modify (\s -> s{ stRefs = (lab', target, attr) : refs, stKeys = M.insert (getKey label) (M.insert (target, attr) idx mempty) (stKeys s) }) return lab' Just km -> -- we have refs with this label case M.lookup (target, attr) km of Just i -> do let lab' = render Nothing $ label <> if i == 0 then mempty else literal (tshow i) -- make sure it's in stRefs; it may be -- a duplicate that was printed in a previous -- block: when ((lab', target, attr) `notElem` refs) $ modify (\s -> s{ stRefs = (lab', target, attr) : refs }) return lab' Nothing -> do -- but this one is to a new target i <- getNextIndex modify $ \s -> s{ stLastIdx = i } let lab' = tshow i modify (\s -> s{ stRefs = (lab', target, attr) : refs, stKeys = M.insert (getKey label) (M.insert (target, attr) i km) (stKeys s) }) return lab' -- | Convert list of Pandoc inline elements to markdown. inlineListToMarkdown :: PandocMonad m => WriterOptions -> [Inline] -> MD m (Doc Text) inlineListToMarkdown opts lst = do inlist <- asks envInList go (if inlist then avoidBadWrapsInList lst else lst) where go [] = return empty go (i:is) = case i of (Link _ _ _) -> case is of -- If a link is followed by another link, or '[', '(' or ':' -- then we don't shortcut (Link _ _ _):_ -> unshortcutable Space:(Link _ _ _):_ -> unshortcutable Space:(Str(thead -> Just '[')):_ -> unshortcutable Space:(RawInline _ (thead -> Just '[')):_ -> unshortcutable Space:(Cite _ _):_ -> unshortcutable SoftBreak:(Link _ _ _):_ -> unshortcutable SoftBreak:(Str(thead -> Just '[')):_ -> unshortcutable SoftBreak:(RawInline _ (thead -> Just '[')):_ -> unshortcutable SoftBreak:(Cite _ _):_ -> unshortcutable LineBreak:(Link _ _ _):_ -> unshortcutable LineBreak:(Str(thead -> Just '[')):_ -> unshortcutable LineBreak:(RawInline _ (thead -> Just '[')):_ -> unshortcutable LineBreak:(Cite _ _):_ -> unshortcutable (Cite _ _):_ -> unshortcutable Str (thead -> Just '['):_ -> unshortcutable Str (thead -> Just '('):_ -> unshortcutable Str (thead -> Just ':'):_ -> unshortcutable (RawInline _ (thead -> Just '[')):_ -> unshortcutable (RawInline _ (thead -> Just '(')):_ -> unshortcutable (RawInline _ (thead -> Just ':')):_ -> unshortcutable (RawInline _ (T.stripPrefix " [" -> Just _ )):_ -> unshortcutable _ -> shortcutable _ -> shortcutable where shortcutable = liftM2 (<>) (inlineToMarkdown opts i) (go is) unshortcutable = do iMark <- local (\env -> env { envRefShortcutable = False }) (inlineToMarkdown opts i) fmap (iMark <>) (go is) thead = fmap fst . T.uncons isSp :: Inline -> Bool isSp Space = True isSp SoftBreak = True isSp _ = False avoidBadWrapsInList :: [Inline] -> [Inline] avoidBadWrapsInList [] = [] avoidBadWrapsInList (s:Str (T.uncons -> Just ('>',cs)):xs) | isSp s = Str (" >" <> cs) : avoidBadWrapsInList xs avoidBadWrapsInList (s:Str (T.uncons -> Just (c, cs)):[]) | T.null cs && isSp s && c `elem` ['-','*','+'] = Str (T.pack [' ', c]) : [] avoidBadWrapsInList (s:Str (T.uncons -> Just (c, cs)):Space:xs) | T.null cs && isSp s && c `elem` ['-','*','+'] = Str (T.pack [' ', c]) : Space : avoidBadWrapsInList xs avoidBadWrapsInList (s:Str cs:Space:xs) | isSp s && isOrderedListMarker cs = Str (" " <> cs) : Space : avoidBadWrapsInList xs avoidBadWrapsInList (s:Str cs:[]) | isSp s && isOrderedListMarker cs = Str (" " <> cs) : [] avoidBadWrapsInList (x:xs) = x : avoidBadWrapsInList xs isOrderedListMarker :: Text -> Bool isOrderedListMarker xs = not (T.null xs) && (T.last xs `elem` ['.',')']) && isRight (runParser (anyOrderedListMarker >> eof) defaultParserState "" xs) isRight :: Either a b -> Bool isRight (Right _) = True isRight (Left _) = False -- | Convert Pandoc inline element to markdown. inlineToMarkdown :: PandocMonad m => WriterOptions -> Inline -> MD m (Doc Text) inlineToMarkdown opts (Span ("",["emoji"],kvs) [Str s]) = case lookup "data-emoji" kvs of Just emojiname | isEnabled Ext_emoji opts -> return $ ":" <> literal emojiname <> ":" _ -> inlineToMarkdown opts (Str s) inlineToMarkdown opts (Span attrs ils) = do plain <- asks envPlain contents <- inlineListToMarkdown opts ils return $ case plain of True -> contents False | attrs == nullAttr -> contents | isEnabled Ext_bracketed_spans opts -> let attrs' = if attrs /= nullAttr then attrsToMarkdown attrs else empty in "[" <> contents <> "]" <> attrs' | isEnabled Ext_raw_html opts || isEnabled Ext_native_spans opts -> tagWithAttrs "span" attrs <> contents <> literal "</span>" | otherwise -> contents inlineToMarkdown _ (Emph []) = return empty inlineToMarkdown opts (Emph lst) = do plain <- asks envPlain contents <- inlineListToMarkdown opts lst return $ if plain then if isEnabled Ext_gutenberg opts then "_" <> contents <> "_" else contents else "*" <> contents <> "*" inlineToMarkdown _ (Strong []) = return empty inlineToMarkdown opts (Strong lst) = do plain <- asks envPlain if plain then inlineListToMarkdown opts $ if isEnabled Ext_gutenberg opts then capitalize lst else lst else do contents <- inlineListToMarkdown opts lst return $ "**" <> contents <> "**" inlineToMarkdown _ (Strikeout []) = return empty inlineToMarkdown opts (Strikeout lst) = do contents <- inlineListToMarkdown opts lst return $ if isEnabled Ext_strikeout opts then "~~" <> contents <> "~~" else if isEnabled Ext_raw_html opts then "<s>" <> contents <> "</s>" else contents inlineToMarkdown _ (Superscript []) = return empty inlineToMarkdown opts (Superscript lst) = local (\env -> env {envEscapeSpaces = True}) $ do contents <- inlineListToMarkdown opts lst return $ if isEnabled Ext_superscript opts then "^" <> contents <> "^" else if isEnabled Ext_raw_html opts then "<sup>" <> contents <> "</sup>" else let rendered = render Nothing contents in case mapM toSuperscript (T.unpack rendered) of Just r -> literal $ T.pack r Nothing -> literal $ "^(" <> rendered <> ")" inlineToMarkdown _ (Subscript []) = return empty inlineToMarkdown opts (Subscript lst) = local (\env -> env {envEscapeSpaces = True}) $ do contents <- inlineListToMarkdown opts lst return $ if isEnabled Ext_subscript opts then "~" <> contents <> "~" else if isEnabled Ext_raw_html opts then "<sub>" <> contents <> "</sub>" else let rendered = render Nothing contents in case mapM toSubscript (T.unpack rendered) of Just r -> literal $ T.pack r Nothing -> literal $ "_(" <> rendered <> ")" inlineToMarkdown opts (SmallCaps lst) = do plain <- asks envPlain if not plain && (isEnabled Ext_raw_html opts || isEnabled Ext_native_spans opts) then inlineToMarkdown opts (Span ("",["smallcaps"],[]) lst) else inlineListToMarkdown opts $ capitalize lst inlineToMarkdown opts (Quoted SingleQuote lst) = do contents <- inlineListToMarkdown opts lst return $ if isEnabled Ext_smart opts then "'" <> contents <> "'" else if writerPreferAscii opts then "‘" <> contents <> "’" else "‘" <> contents <> "’" inlineToMarkdown opts (Quoted DoubleQuote lst) = do contents <- inlineListToMarkdown opts lst return $ if isEnabled Ext_smart opts then "\"" <> contents <> "\"" else if writerPreferAscii opts then "“" <> contents <> "”" else "“" <> contents <> "”" inlineToMarkdown opts (Code attr str) = do let tickGroups = filter (T.any (== '`')) $ T.group str let longest = if null tickGroups then 0 else maximum $ map T.length tickGroups let marker = T.replicate (longest + 1) "`" let spacer = if (longest == 0) then "" else " " let attrs = if isEnabled Ext_inline_code_attributes opts && attr /= nullAttr then attrsToMarkdown attr else empty plain <- asks envPlain if plain then return $ literal str else return $ literal (marker <> spacer <> str <> spacer <> marker) <> attrs inlineToMarkdown opts (Str str) = do isPlain <- asks envPlain let str' = (if isEnabled Ext_smart opts then unsmartify opts else id) $ if isPlain then str else escapeText opts str return $ literal str' inlineToMarkdown opts (Math InlineMath str) = case writerHTMLMathMethod opts of WebTeX url -> inlineToMarkdown opts (Image nullAttr [Str str] (url <> T.pack (urlEncode $ T.unpack str), str)) _ | isEnabled Ext_tex_math_dollars opts -> return $ "$" <> literal str <> "$" | isEnabled Ext_tex_math_single_backslash opts -> return $ "\\(" <> literal str <> "\\)" | isEnabled Ext_tex_math_double_backslash opts -> return $ "\\\\(" <> literal str <> "\\\\)" | otherwise -> do plain <- asks envPlain texMathToInlines InlineMath str >>= inlineListToMarkdown opts . (if plain then makeMathPlainer else id) inlineToMarkdown opts (Math DisplayMath str) = case writerHTMLMathMethod opts of WebTeX url -> (\x -> blankline <> x <> blankline) `fmap` inlineToMarkdown opts (Image nullAttr [Str str] (url <> T.pack (urlEncode $ T.unpack str), str)) _ | isEnabled Ext_tex_math_dollars opts -> return $ "$$" <> literal str <> "$$" | isEnabled Ext_tex_math_single_backslash opts -> return $ "\\[" <> literal str <> "\\]" | isEnabled Ext_tex_math_double_backslash opts -> return $ "\\\\[" <> literal str <> "\\\\]" | otherwise -> (\x -> cr <> x <> cr) `fmap` (texMathToInlines DisplayMath str >>= inlineListToMarkdown opts) inlineToMarkdown opts il@(RawInline f str) = do let tickGroups = filter (T.any (== '`')) $ T.group str let numticks = if null tickGroups then 1 else 1 + maximum (map T.length tickGroups) plain <- asks envPlain let Format fmt = f let rawAttribInline = return $ literal (T.replicate numticks "`") <> literal str <> literal (T.replicate numticks "`") <> literal "{=" <> literal fmt <> literal "}" let renderEmpty = mempty <$ report (InlineNotRendered il) case () of _ | plain -> renderEmpty | f `elem` ["markdown", "markdown_github", "markdown_phpextra", "markdown_mmd", "markdown_strict"] -> return $ literal str | isEnabled Ext_raw_attribute opts -> rawAttribInline | f `elem` ["html", "html5", "html4"] -> case () of _ | isEnabled Ext_raw_html opts -> return $ literal str | isEnabled Ext_raw_attribute opts -> rawAttribInline | otherwise -> renderEmpty | f `elem` ["latex", "tex"] -> case () of _ | isEnabled Ext_raw_tex opts -> return $ literal str | isEnabled Ext_raw_attribute opts -> rawAttribInline | otherwise -> renderEmpty | otherwise -> renderEmpty inlineToMarkdown opts LineBreak = do plain <- asks envPlain if plain || isEnabled Ext_hard_line_breaks opts then return cr else return $ if isEnabled Ext_escaped_line_breaks opts then "\\" <> cr else " " <> cr inlineToMarkdown _ Space = do escapeSpaces <- asks envEscapeSpaces return $ if escapeSpaces then "\\ " else space inlineToMarkdown opts SoftBreak = do escapeSpaces <- asks envEscapeSpaces let space' = if escapeSpaces then "\\ " else space return $ case writerWrapText opts of WrapNone -> space' WrapAuto -> space' WrapPreserve -> cr inlineToMarkdown opts (Cite [] lst) = inlineListToMarkdown opts lst inlineToMarkdown opts (Cite (c:cs) lst) | not (isEnabled Ext_citations opts) = inlineListToMarkdown opts lst | otherwise = if citationMode c == AuthorInText then do suffs <- inlineListToMarkdown opts $ citationSuffix c rest <- mapM convertOne cs let inbr = suffs <+> joincits rest br = if isEmpty inbr then empty else char '[' <> inbr <> char ']' return $ literal ("@" <> citationId c) <+> br else do cits <- mapM convertOne (c:cs) return $ literal "[" <> joincits cits <> literal "]" where joincits = hcat . intersperse (literal "; ") . filter (not . isEmpty) convertOne Citation { citationId = k , citationPrefix = pinlines , citationSuffix = sinlines , citationMode = m } = do pdoc <- inlineListToMarkdown opts pinlines sdoc <- inlineListToMarkdown opts sinlines let k' = literal (modekey m <> "@" <> k) r = case sinlines of Str (T.uncons -> Just (y,_)):_ | y `elem` (",;]@" :: String) -> k' <> sdoc _ -> k' <+> sdoc return $ pdoc <+> r modekey SuppressAuthor = "-" modekey _ = "" inlineToMarkdown opts lnk@(Link attr txt (src, tit)) | isEnabled Ext_raw_html opts && not (isEnabled Ext_link_attributes opts) && attr /= nullAttr = -- use raw HTML (literal . T.strip) <$> writeHtml5String opts{ writerTemplate = Nothing } (Pandoc nullMeta [Plain [lnk]]) | otherwise = do plain <- asks envPlain linktext <- inlineListToMarkdown opts txt let linktitle = if T.null tit then empty else literal $ " \"" <> tit <> "\"" let srcSuffix = fromMaybe src (T.stripPrefix "mailto:" src) let useAuto = isURI src && case txt of [Str s] | escapeURI s == srcSuffix -> True _ -> False let useRefLinks = writerReferenceLinks opts && not useAuto shortcutable <- asks envRefShortcutable let useShortcutRefLinks = shortcutable && isEnabled Ext_shortcut_reference_links opts reftext <- if useRefLinks then literal <$> getReference attr linktext (src, tit) else return mempty return $ if useAuto then if plain then literal srcSuffix else "<" <> literal srcSuffix <> ">" else if useRefLinks then let first = "[" <> linktext <> "]" second = if getKey linktext == getKey reftext then if useShortcutRefLinks then "" else "[]" else "[" <> reftext <> "]" in first <> second else if plain then linktext else "[" <> linktext <> "](" <> literal src <> linktitle <> ")" <> linkAttributes opts attr inlineToMarkdown opts img@(Image attr alternate (source, tit)) | isEnabled Ext_raw_html opts && not (isEnabled Ext_link_attributes opts) && attr /= nullAttr = -- use raw HTML (literal . T.strip) <$> writeHtml5String opts{ writerTemplate = Nothing } (Pandoc nullMeta [Plain [img]]) | otherwise = do plain <- asks envPlain let txt = if null alternate || alternate == [Str source] -- to prevent autolinks then [Str ""] else alternate linkPart <- inlineToMarkdown opts (Link attr txt (source, tit)) return $ if plain then "[" <> linkPart <> "]" else "!" <> linkPart inlineToMarkdown opts (Note contents) = do modify (\st -> st{ stNotes = contents : stNotes st }) st <- get let ref = literal $ writerIdentifierPrefix opts <> tshow (stNoteNum st + (length $ stNotes st) - 1) if isEnabled Ext_footnotes opts then return $ "[^" <> ref <> "]" else return $ "[" <> ref <> "]" makeMathPlainer :: [Inline] -> [Inline] makeMathPlainer = walk go where go (Emph xs) = Span nullAttr xs go x = x lineBreakToSpace :: Inline -> Inline lineBreakToSpace LineBreak = Space lineBreakToSpace SoftBreak = Space lineBreakToSpace x = x ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Math.hs������������������������������������������������������0000664�0000000�0000000�00000003457�13636304630�0020747�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} module Text.Pandoc.Writers.Math ( texMathToInlines , convertMath , defaultMathJaxURL , defaultKaTeXURL ) where import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.TeXMath (DisplayType (..), Exp, readTeX, writePandoc) import Text.Pandoc.Options (defaultMathJaxURL, defaultKaTeXURL) -- | Converts a raw TeX math formula to a list of 'Pandoc' inlines. -- Defaults to raw formula between @$@ or @$$@ characters if entire formula -- can't be converted. texMathToInlines :: PandocMonad m => MathType -> T.Text -- ^ String to parse (assumes @'\n'@ line endings) -> m [Inline] texMathToInlines mt inp = do res <- convertMath writePandoc mt inp case res of Right (Just ils) -> return ils Right Nothing -> do report $ CouldNotConvertTeXMath inp "" return [mkFallback mt inp] Left il -> return [il] mkFallback :: MathType -> T.Text -> Inline mkFallback mt str = Str (delim <> str <> delim) where delim = case mt of DisplayMath -> "$$" InlineMath -> "$" -- | Converts a raw TeX math formula using a writer function, -- issuing a warning and producing a fallback (a raw string) -- on failure. convertMath :: PandocMonad m => (DisplayType -> [Exp] -> a) -> MathType -> T.Text -> m (Either Inline a) convertMath writer mt str = case writer dt <$> readTeX str of Right r -> return (Right r) Left e -> do report $ CouldNotConvertTeXMath str e return (Left $ mkFallback mt str) where dt = case mt of DisplayMath -> DisplayBlock InlineMath -> DisplayInline �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/MediaWiki.hs�������������������������������������������������0000664�0000000�0000000�00000060604�13636304630�0021716�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.MediaWiki Copyright : Copyright (C) 2008-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to MediaWiki markup. MediaWiki: <http://www.mediawiki.org/wiki/MediaWiki> -} module Text.Pandoc.Writers.MediaWiki ( writeMediaWiki, highlightingLangs ) where import Control.Monad.Reader import Control.Monad.State.Strict import Data.Maybe (fromMaybe) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout (render, literal) import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared import Text.Pandoc.XML (escapeStringForXML) data WriterState = WriterState { stNotes :: Bool -- True if there are notes , stOptions :: WriterOptions -- writer options } data WriterReader = WriterReader { options :: WriterOptions -- Writer options , listLevel :: [Char] -- String at beginning of list items, e.g. "**" , useTags :: Bool -- True if we should use HTML tags because we're in a complex list } type MediaWikiWriter m = ReaderT WriterReader (StateT WriterState m) -- | Convert Pandoc to MediaWiki. writeMediaWiki :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeMediaWiki opts document = let initialState = WriterState { stNotes = False, stOptions = opts } env = WriterReader { options = opts, listLevel = [], useTags = False } in evalStateT (runReaderT (pandocToMediaWiki document) env) initialState -- | Return MediaWiki representation of document. pandocToMediaWiki :: PandocMonad m => Pandoc -> MediaWikiWriter m Text pandocToMediaWiki (Pandoc meta blocks) = do opts <- asks options metadata <- metaToContext opts (fmap (literal . trimr) . blockListToMediaWiki) (fmap (literal . trimr) . inlineListToMediaWiki) meta body <- blockListToMediaWiki blocks notesExist <- gets stNotes let notes = if notesExist then "\n<references />" else "" let main = body <> notes let context = defField "body" main $ defField "toc" (writerTableOfContents opts) metadata return $ case writerTemplate opts of Nothing -> main Just tpl -> render Nothing $ renderTemplate tpl context -- | Escape special characters for MediaWiki. escapeText :: Text -> Text escapeText = escapeStringForXML -- | Convert Pandoc block element to MediaWiki. blockToMediaWiki :: PandocMonad m => Block -- ^ Block element -> MediaWikiWriter m Text blockToMediaWiki Null = return "" blockToMediaWiki (Div attrs bs) = do contents <- blockListToMediaWiki bs return $ render Nothing (tagWithAttrs "div" attrs) <> "\n\n" <> contents <> "\n\n" <> "</div>" blockToMediaWiki (Plain inlines) = inlineListToMediaWiki inlines -- title beginning with fig: indicates that the image is a figure blockToMediaWiki (Para [Image attr txt (src,T.stripPrefix "fig:" -> Just tit)]) = do capt <- inlineListToMediaWiki txt img <- imageToMediaWiki attr let opt = if T.null tit then if T.null capt then "" else "alt=" <> capt else "alt=" <> tit return $ "[[" <> T.intercalate "|" (filter (not . T.null) ["File:" <> src , "thumb" , "none" , img , opt , capt ]) <> "]]\n" blockToMediaWiki (Para inlines) = do tags <- asks useTags lev <- asks listLevel contents <- inlineListToMediaWiki inlines return $ if tags then "<p>" <> contents <> "</p>" else contents <> if null lev then "\n" else "" blockToMediaWiki (LineBlock lns) = blockToMediaWiki $ linesToPara lns blockToMediaWiki b@(RawBlock f str) | f == Format "mediawiki" = return str | f == Format "html" = return str | otherwise = "" <$ report (BlockNotRendered b) blockToMediaWiki HorizontalRule = return "\n-----\n" blockToMediaWiki (Header level _ inlines) = do contents <- inlineListToMediaWiki inlines let eqs = T.replicate level "=" return $ eqs <> " " <> contents <> " " <> eqs <> "\n" blockToMediaWiki (CodeBlock (_,classes,_) str) = do let at = Set.fromList classes `Set.intersection` highlightingLangs return $ case Set.toList at of [] -> "<pre" <> (if null classes then ">" else " class=\"" <> T.unwords classes <> "\">") <> escapeText str <> "</pre>" (l:_) -> "<source lang=\"" <> l <> "\">" <> str <> "</source>" -- note: no escape! even for <! blockToMediaWiki (BlockQuote blocks) = do contents <- blockListToMediaWiki blocks return $ "<blockquote>" <> contents <> "</blockquote>" blockToMediaWiki (Table capt aligns widths headers rows') = do caption <- if null capt then return "" else do c <- inlineListToMediaWiki capt return $ "|+ " <> trimr c <> "\n" let headless = all null headers let allrows = if headless then rows' else headers:rows' tableBody <- T.intercalate "|-\n" `fmap` mapM (tableRowToMediaWiki headless aligns widths) (zip [1..] allrows) return $ "{|\n" <> caption <> tableBody <> "|}\n" blockToMediaWiki x@(BulletList items) = do tags <- (|| not (isSimpleList x)) <$> asks useTags if tags then do contents <- local (\ s -> s { useTags = True }) $ mapM listItemToMediaWiki items return $ "<ul>\n" <> vcat contents <> "</ul>\n" else do lev <- asks listLevel contents <- local (\s -> s { listLevel = listLevel s <> "*" }) $ mapM listItemToMediaWiki items return $ vcat contents <> if null lev then "\n" else "" blockToMediaWiki x@(OrderedList attribs items) = do tags <- (|| not (isSimpleList x)) <$> asks useTags if tags then do contents <- local (\s -> s { useTags = True }) $ mapM listItemToMediaWiki items return $ "<ol" <> listAttribsToText attribs <> ">\n" <> vcat contents <> "</ol>\n" else do lev <- asks listLevel contents <- local (\s -> s { listLevel = listLevel s <> "#" }) $ mapM listItemToMediaWiki items return $ vcat contents <> if null lev then "\n" else "" blockToMediaWiki x@(DefinitionList items) = do tags <- (|| not (isSimpleList x)) <$> asks useTags if tags then do contents <- local (\s -> s { useTags = True }) $ mapM definitionListItemToMediaWiki items return $ "<dl>\n" <> vcat contents <> "</dl>\n" else do lev <- asks listLevel contents <- local (\s -> s { listLevel = listLevel s <> ";" }) $ mapM definitionListItemToMediaWiki items return $ vcat contents <> if null lev then "\n" else "" -- Auxiliary functions for lists: -- | Convert ordered list attributes to HTML attribute string listAttribsToText :: ListAttributes -> Text listAttribsToText (startnum, numstyle, _) = let numstyle' = camelCaseToHyphenated $ tshow numstyle in (if startnum /= 1 then " start=\"" <> tshow startnum <> "\"" else "") <> (if numstyle /= DefaultStyle then " style=\"list-style-type: " <> numstyle' <> ";\"" else "") -- | Convert bullet or ordered list item (list of blocks) to MediaWiki. listItemToMediaWiki :: PandocMonad m => [Block] -> MediaWikiWriter m Text listItemToMediaWiki items = do contents <- blockListToMediaWiki items tags <- asks useTags if tags then return $ "<li>" <> contents <> "</li>" else do marker <- asks listLevel return $ T.pack marker <> " " <> contents -- | Convert definition list item (label, list of blocks) to MediaWiki. definitionListItemToMediaWiki :: PandocMonad m => ([Inline],[[Block]]) -> MediaWikiWriter m Text definitionListItemToMediaWiki (label, items) = do labelText <- inlineListToMediaWiki label contents <- mapM blockListToMediaWiki items tags <- asks useTags if tags then return $ "<dt>" <> labelText <> "</dt>\n" <> T.intercalate "\n" (map (\d -> "<dd>" <> d <> "</dd>") contents) else do marker <- asks listLevel return $ T.pack marker <> " " <> labelText <> "\n" <> T.intercalate "\n" (map (\d -> T.pack (init marker) <> ": " <> d) contents) -- | True if the list can be handled by simple wiki markup, False if HTML tags will be needed. isSimpleList :: Block -> Bool isSimpleList x = case x of BulletList items -> all isSimpleListItem items OrderedList (num, sty, _) items -> all isSimpleListItem items && num == 1 && sty `elem` [DefaultStyle, Decimal] DefinitionList items -> all isSimpleListItem $ concatMap snd items _ -> False -- | True if list item can be handled with the simple wiki syntax. False if -- HTML tags will be needed. isSimpleListItem :: [Block] -> Bool isSimpleListItem [] = True isSimpleListItem [x] = case x of Plain _ -> True Para _ -> True BulletList _ -> isSimpleList x OrderedList _ _ -> isSimpleList x DefinitionList _ -> isSimpleList x _ -> False isSimpleListItem [x, y] | isPlainOrPara x = case y of BulletList _ -> isSimpleList y OrderedList _ _ -> isSimpleList y DefinitionList _ -> isSimpleList y _ -> False isSimpleListItem _ = False isPlainOrPara :: Block -> Bool isPlainOrPara (Plain _) = True isPlainOrPara (Para _) = True isPlainOrPara _ = False -- | Concatenates strings with line breaks between them. vcat :: [Text] -> Text vcat = T.intercalate "\n" -- Auxiliary functions for tables: tableRowToMediaWiki :: PandocMonad m => Bool -> [Alignment] -> [Double] -> (Int, [[Block]]) -> MediaWikiWriter m Text tableRowToMediaWiki headless alignments widths (rownum, cells) = do cells' <- mapM (tableCellToMediaWiki headless rownum) $ zip3 alignments widths cells return $ T.unlines cells' tableCellToMediaWiki :: PandocMonad m => Bool -> Int -> (Alignment, Double, [Block]) -> MediaWikiWriter m Text tableCellToMediaWiki headless rownum (alignment, width, bs) = do contents <- blockListToMediaWiki bs let marker = if rownum == 1 && not headless then "!" else "|" let percent w = tshow (truncate (100*w) :: Integer) <> "%" let attrs = ["align=" <> tshow (alignmentToText alignment) | alignment /= AlignDefault && alignment /= AlignLeft] <> ["width=\"" <> percent width <> "\"" | width /= 0.0 && rownum == 1] let attr = if null attrs then "" else T.unwords attrs <> "|" let sep = case bs of [Plain _] -> " " [Para _] -> " " [] -> "" _ -> "\n" return $ marker <> attr <> sep <> trimr contents alignmentToText :: Alignment -> Text alignmentToText alignment = case alignment of AlignLeft -> "left" AlignRight -> "right" AlignCenter -> "center" AlignDefault -> "left" imageToMediaWiki :: PandocMonad m => Attr -> MediaWikiWriter m Text imageToMediaWiki attr = do opts <- gets stOptions let (_, cls, _) = attr toPx = fmap (showInPixel opts) . checkPct checkPct (Just (Percent _)) = Nothing checkPct maybeDim = maybeDim go (Just w) Nothing = w <> "px" go (Just w) (Just h) = w <> "x" <> h <> "px" go Nothing (Just h) = "x" <> h <> "px" go Nothing Nothing = "" dims = go (toPx $ dimension Width attr) (toPx $ dimension Height attr) classes = if null cls then "" else "class=" <> T.unwords cls return $ T.intercalate "|" $ filter (not . T.null) [dims, classes] -- | Convert list of Pandoc block elements to MediaWiki. blockListToMediaWiki :: PandocMonad m => [Block] -- ^ List of block elements -> MediaWikiWriter m Text blockListToMediaWiki blocks = vcat <$> mapM blockToMediaWiki blocks -- | Convert list of Pandoc inline elements to MediaWiki. inlineListToMediaWiki :: PandocMonad m => [Inline] -> MediaWikiWriter m Text inlineListToMediaWiki lst = fmap T.concat $ mapM inlineToMediaWiki $ fixup lst where fixup [] = [] fixup (Str t : x : xs) | not (T.null t) && T.last t == '[' , isLinkOrImage x = Str t : RawInline (Format "mediawiki") "<nowiki/>" : x : fixup xs fixup (x:xs) = x : fixup xs isLinkOrImage Link{} = True isLinkOrImage Image{} = True isLinkOrImage _ = False -- | Convert Pandoc inline element to MediaWiki. inlineToMediaWiki :: PandocMonad m => Inline -> MediaWikiWriter m Text inlineToMediaWiki (Span attrs ils) = do contents <- inlineListToMediaWiki ils return $ render Nothing (tagWithAttrs "span" attrs) <> contents <> "</span>" inlineToMediaWiki (Emph lst) = do contents <- inlineListToMediaWiki lst return $ "''" <> contents <> "''" inlineToMediaWiki (Strong lst) = do contents <- inlineListToMediaWiki lst return $ "'''" <> contents <> "'''" inlineToMediaWiki (Strikeout lst) = do contents <- inlineListToMediaWiki lst return $ "<s>" <> contents <> "</s>" inlineToMediaWiki (Superscript lst) = do contents <- inlineListToMediaWiki lst return $ "<sup>" <> contents <> "</sup>" inlineToMediaWiki (Subscript lst) = do contents <- inlineListToMediaWiki lst return $ "<sub>" <> contents <> "</sub>" inlineToMediaWiki (SmallCaps lst) = inlineListToMediaWiki lst inlineToMediaWiki (Quoted SingleQuote lst) = do contents <- inlineListToMediaWiki lst return $ "\8216" <> contents <> "\8217" inlineToMediaWiki (Quoted DoubleQuote lst) = do contents <- inlineListToMediaWiki lst return $ "\8220" <> contents <> "\8221" inlineToMediaWiki (Cite _ lst) = inlineListToMediaWiki lst inlineToMediaWiki (Code _ str) = return $ "<code>" <> escapeText str <> "</code>" inlineToMediaWiki (Str str) = return $ escapeText str inlineToMediaWiki (Math mt str) = return $ "<math display=\"" <> (if mt == DisplayMath then "block" else "inline") <> "\">" <> str <> "</math>" -- note: str should NOT be escaped inlineToMediaWiki il@(RawInline f str) | f == Format "mediawiki" = return str | f == Format "html" = return str | otherwise = "" <$ report (InlineNotRendered il) inlineToMediaWiki LineBreak = return "<br />\n" inlineToMediaWiki SoftBreak = do wrapText <- gets (writerWrapText . stOptions) listlevel <- asks listLevel case wrapText of WrapAuto -> return " " WrapNone -> return " " WrapPreserve -> if null listlevel then return "\n" else return " " inlineToMediaWiki Space = return " " inlineToMediaWiki (Link _ txt (src, _)) = do label <- inlineListToMediaWiki txt case txt of [Str s] | isURI src && escapeURI s == src -> return src _ -> return $ if isURI src then "[" <> src <> " " <> label <> "]" else "[[" <> src' <> "|" <> label <> "]]" -- with leading / it's a link to a help page where src' = fromMaybe src $ T.stripPrefix "/" src inlineToMediaWiki (Image attr alt (source, tit)) = do img <- imageToMediaWiki attr alt' <- inlineListToMediaWiki alt let txt = if T.null alt' then if T.null tit then "" else tit else alt' return $ "[[" <> T.intercalate "|" (filter (not . T.null) [ "File:" <> source , img , txt ]) <> "]]" inlineToMediaWiki (Note contents) = do contents' <- blockListToMediaWiki contents modify (\s -> s { stNotes = True }) return $ "<ref>" <> stripTrailingNewlines contents' <> "</ref>" -- note - does not work for notes with multiple blocks highlightingLangs :: Set.Set Text highlightingLangs = Set.fromList [ "abap", "abl", "abnf", "aconf", "actionscript", "actionscript3", "ada", "ada2005", "ada95", "adl", "agda", "ahk", "alloy", "ambienttalk", "ambienttalk/2", "antlr", "antlr-actionscript", "antlr-as", "antlr-c#", "antlr-cpp", "antlr-csharp", "antlr-java", "antlr-objc", "antlr-perl", "antlr-python", "antlr-rb", "antlr-ruby", "apache", "apacheconf", "apl", "applescript", "arduino", "arexx", "as", "as3", "asm", "aspectj", "aspx-cs", "aspx-vb", "asy", "asymptote", "at", "autohotkey", "autoit", "awk", "b3d", "basemake", "bash", "basic", "bat", "batch", "bbcode", "because", "befunge", "bf", "blitzbasic", "blitzmax", "bmax", "bnf", "boo", "boogie", "bplus", "brainfuck", "bro", "bsdmake", "bugs", "c", "c#", "c++", "c++-objdumb", "c-objdump", "ca65", "cadl", "camkes", "cbmbas", "ceylon", "cf3", "cfc", "cfengine3", "cfg", "cfm", "cfs", "chai", "chaiscript", "chapel", "cheetah", "chpl", "cirru", "cl", "clay", "clipper", "clj", "cljs", "clojure", "clojurescript", "cmake", "cobol", "cobolfree", "coffee", "coffee-script", "coffeescript", "common-lisp", "componentpascal", "console", "control", "coq", "cp", "cpp", "cpp-objdump", "cpsa", "crmsh", "croc", "cry", "cryptol", "csh", "csharp", "csound", "csound-csd", "csound-document", "csound-orc", "csound-sco", "csound-score", "css", "css+django", "css+erb", "css+genshi", "css+genshitext", "css+jinja", "css+lasso", "css+mako", "css+mozpreproc", "css+myghty", "css+php", "css+ruby", "css+smarty", "cu", "cucumber", "cuda", "cxx-objdump", "cypher", "cython", "d", "d-objdump", "dart", "debcontrol", "debsources", "delphi", "dg", "diff", "django", "docker", "dockerfile", "dosbatch", "doscon", "dosini", "dpatch", "dtd", "duby", "duel", "dylan", "dylan-console", "dylan-lid", "dylan-repl", "earl-grey", "earlgrey", "easytrieve", "ebnf", "ec", "ecl", "eg", "eiffel", "elisp", "elixir", "elm", "emacs", "erb", "erl", "erlang", "evoque", "ex", "exs", "ezhil", "factor", "fan", "fancy", "felix", "fish", "fishshell", "flx", "fortran", "fortranfixed", "foxpro", "fsharp", "fy", "gap", "gas", "gawk", "genshi", "genshitext", "gherkin", "glsl", "gnuplot", "go", "golo", "gooddata-cl", "gosu", "groff", "groovy", "gst", "haml", "handlebars", "haskell", "haxe", "haxeml", "hexdump", "hs", "html", "html+cheetah", "html+django", "html+erb", "html+evoque", "html+genshi", "html+handlebars", "html+jinja", "html+kid", "html+lasso", "html+mako", "html+myghty", "html+php", "html+ruby", "html+smarty", "html+spitfire", "html+twig", "html+velocity", "htmlcheetah", "htmldjango", "http", "hx", "hxml", "hxsl", "hy", "hybris", "hylang", "i6", "i6t", "i7", "idl", "idl4", "idr", "idris", "iex", "igor", "igorpro", "ik", "inform6", "inform7", "ini", "io", "ioke", "irb", "irc", "isabelle", "j", "jade", "jags", "jasmin", "jasminxt", "java", "javascript", "javascript+cheetah", "javascript+django", "javascript+erb", "javascript+genshi", "javascript+genshitext", "javascript+jinja", "javascript+lasso", "javascript+mako", "javascript+mozpreproc", "javascript+myghty", "javascript+php", "javascript+ruby", "javascript+smarty", "javascript+spitfire", "jbst", "jcl", "jinja", "jl", "jlcon", "jproperties", "js", "js+cheetah", "js+django", "js+erb", "js+genshi", "js+genshitext", "js+jinja", "js+lasso", "js+mako", "js+myghty", "js+php", "js+ruby", "js+smarty", "js+spitfire", "json", "json-ld", "jsonld", "jsonml+bst", "jsp", "julia", "kal", "kconfig", "kernel-config", "kid", "koka", "kotlin", "ksh", "lagda", "lasso", "lassoscript", "latex", "lcry", "lcryptol", "lean", "less", "lhaskell", "lhs", "lid", "lidr", "lidris", "lighttpd", "lighty", "limbo", "linux-config", "liquid", "lisp", "literate-agda", "literate-cryptol", "literate-haskell", "literate-idris", "live-script", "livescript", "llvm", "logos", "logtalk", "lsl", "lua", "m2", "make", "makefile", "mako", "man", "maql", "mask", "mason", "mathematica", "matlab", "matlabsession", "mawk", "menuconfig", "mf", "minid", "mma", "modelica", "modula2", "moin", "monkey", "moo", "moocode", "moon", "moonscript", "mozhashpreproc", "mozpercentpreproc", "mq4", "mq5", "mql", "mql4", "mql5", "msc", "mscgen", "mupad", "mxml", "myghty", "mysql", "nasm", "nawk", "nb", "nemerle", "nesc", "newlisp", "newspeak", "nginx", "nim", "nimrod", "nit", "nix", "nixos", "nroff", "nsh", "nsi", "nsis", "numpy", "obj-c", "obj-c++", "obj-j", "objc", "objc++", "objdump", "objdump-nasm", "objective-c", "objective-c++", "objective-j", "objectivec", "objectivec++", "objectivej", "objectpascal", "objj", "ocaml", "octave", "odin", "ooc", "opa", "openbugs", "openedge", "pacmanconf", "pan", "parasail", "pas", "pascal", "pawn", "pcmk", "perl", "perl6", "php", "php3", "php4", "php5", "pig", "pike", "pkgconfig", "pl", "pl6", "plpgsql", "po", "posh", "postgres", "postgres-console", "postgresql", "postgresql-console", "postscr", "postscript", "pot", "pov", "powershell", "praat", "progress", "prolog", "properties", "proto", "protobuf", "ps1", "ps1con", "psm1", "psql", "puppet", "py", "py3", "py3tb", "pycon", "pypy", "pypylog", "pyrex", "pytb", "python", "python3", "pyx", "qbasic", "qbs", "qml", "qvt", "qvto", "r", "racket", "ragel", "ragel-c", "ragel-cpp", "ragel-d", "ragel-em", "ragel-java", "ragel-objc", "ragel-rb", "ragel-ruby", "raw", "rb", "rbcon", "rconsole", "rd", "rebol", "red", "red/system", "redcode", "registry", "resource", "resourcebundle", "rest", "restructuredtext", "rexx", "rhtml", "rkt", "roboconf-graph", "roboconf-instances", "robotframework", "rout", "rql", "rsl", "rst", "rts", "ruby", "rust", "s", "sage", "salt", "sass", "sc", "scala", "scaml", "scheme", "scilab", "scm", "scss", "sh", "shell", "shell-session", "shen", "slim", "sls", "smali", "smalltalk", "smarty", "sml", "snobol", "sources.list", "sourceslist", "sp", "sparql", "spec", "spitfire", "splus", "sql", "sqlite3", "squeak", "squid", "squid.conf", "squidconf", "ssp", "st", "stan", "supercollider", "sv", "swift", "swig", "systemverilog", "tads3", "tap", "tcl", "tcsh", "tcshcon", "tea", "termcap", "terminfo", "terraform", "tex", "text", "tf", "thrift", "todotxt", "trac-wiki", "trafficscript", "treetop", "ts", "turtle", "twig", "typescript", "udiff", "urbiscript", "v", "vala", "vapi", "vb.net", "vbnet", "vctreestatus", "velocity", "verilog", "vfp", "vgl", "vhdl", "vim", "winbatch", "winbugs", "x10", "xbase", "xml", "xml+cheetah", "xml+django", "xml+erb", "xml+evoque", "xml+genshi", "xml+jinja", "xml+kid", "xml+lasso", "xml+mako", "xml+myghty", "xml+php", "xml+ruby", "xml+smarty", "xml+spitfire", "xml+velocity", "xq", "xql", "xqm", "xquery", "xqy", "xslt", "xten", "xtend", "xul+mozpreproc", "yaml", "yaml+jinja", "zephir" ] ����������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Ms.hs��������������������������������������������������������0000664�0000000�0000000�00000053644�13636304630�0020440�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.Ms Copyright : Copyright (C) 2007-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to roff ms format. TODO: [ ] use base URL to construct absolute URLs from relative ones for external links [ ] is there a better way to do strikeout? [ ] tight/loose list distinction -} module Text.Pandoc.Writers.Ms ( writeMs ) where import Control.Monad.State.Strict import Data.Char (isLower, isUpper, ord) import Data.List (intercalate, intersperse) import qualified Data.Map as Map import Data.Maybe (catMaybes) import Data.Text (Text) import qualified Data.Text as T import Network.URI (escapeURIString, isAllowedInURI) import Skylighting import System.FilePath (takeExtension) import Text.Pandoc.Asciify (toAsciiChar) import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Highlighting import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Math import Text.Pandoc.Writers.Shared import Text.Pandoc.Writers.Roff import Text.Printf (printf) import Text.TeXMath (writeEqn) -- | Convert Pandoc to Ms. writeMs :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeMs opts document = evalStateT (pandocToMs opts document) defaultWriterState -- | Return roff ms representation of document. pandocToMs :: PandocMonad m => WriterOptions -> Pandoc -> MS m Text pandocToMs opts (Pandoc meta blocks) = do let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing metadata <- metaToContext opts (blockListToMs opts) (fmap chomp . inlineListToMs' opts) meta main <- blockListToMs opts blocks hasInlineMath <- gets stHasInlineMath let titleMeta = (escapeStr opts . stringify) $ docTitle meta let authorsMeta = map (escapeStr opts . stringify) $ docAuthors meta hasHighlighting <- gets stHighlighting let highlightingMacros = if hasHighlighting then case writerHighlightStyle opts of Nothing -> mempty Just sty -> styleToMs sty else mempty let context = defField "body" main $ defField "has-inline-math" hasInlineMath $ defField "hyphenate" True $ defField "pandoc-version" pandocVersion $ defField "toc" (writerTableOfContents opts) $ defField "title-meta" titleMeta $ defField "author-meta" (T.intercalate "; " authorsMeta) $ defField "highlighting-macros" highlightingMacros metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context escapeStr :: WriterOptions -> Text -> Text escapeStr opts = escapeString (if writerPreferAscii opts then AsciiOnly else AllowUTF8) escapeUri :: Text -> Text escapeUri = T.pack . escapeURIString (\c -> c /= '@' && isAllowedInURI c) . T.unpack toSmallCaps :: WriterOptions -> Text -> Text toSmallCaps opts s = case T.uncons s of Nothing -> "" Just (c, cs) | isLower c -> let (lowers,rest) = T.span isLower s in "\\s-2" <> escapeStr opts (T.toUpper lowers) <> "\\s0" <> toSmallCaps opts rest | isUpper c -> let (uppers,rest) = T.span isUpper s in escapeStr opts uppers <> toSmallCaps opts rest | otherwise -> escapeStr opts (T.singleton c) <> toSmallCaps opts cs -- We split inline lists into sentences, and print one sentence per -- line. roff treats the line-ending period differently. -- See http://code.google.com/p/pandoc/issues/detail?id=148. blockToMs :: PandocMonad m => WriterOptions -- ^ Options -> Block -- ^ Block element -> MS m (Doc Text) blockToMs _ Null = return empty blockToMs opts (Div (ident,_,_) bs) = do let anchor = if T.null ident then empty else nowrap $ literal ".pdfhref M " <> doubleQuotes (literal (toAscii ident)) setFirstPara res <- blockListToMs opts bs setFirstPara return $ anchor $$ res blockToMs opts (Plain inlines) = liftM vcat $ mapM (inlineListToMs' opts) $ splitSentences inlines blockToMs opts (Para [Image attr alt (src,_tit)]) | let ext = takeExtension (T.unpack src) in (ext == ".ps" || ext == ".eps") = do let (mbW,mbH) = (inPoints opts <$> dimension Width attr, inPoints opts <$> dimension Height attr) let sizeAttrs = case (mbW, mbH) of (Just wp, Nothing) -> space <> doubleQuotes (literal (tshow (floor wp :: Int) <> "p")) (Just wp, Just hp) -> space <> doubleQuotes (literal (tshow (floor wp :: Int) <> "p")) <> space <> doubleQuotes (literal (tshow (floor hp :: Int))) _ -> empty capt <- inlineListToMs' opts alt return $ nowrap (literal ".PSPIC -C " <> doubleQuotes (literal (escapeStr opts src)) <> sizeAttrs) $$ literal ".ce 1000" $$ capt $$ literal ".ce 0" blockToMs opts (Para inlines) = do firstPara <- gets stFirstPara resetFirstPara contents <- liftM vcat $ mapM (inlineListToMs' opts) $ splitSentences inlines return $ literal (if firstPara then ".LP" else ".PP") $$ contents blockToMs _ b@(RawBlock f str) | f == Format "ms" = return $ literal str | otherwise = do report $ BlockNotRendered b return empty blockToMs _ HorizontalRule = do resetFirstPara return $ literal ".HLINE" blockToMs opts (Header level (ident,classes,_) inlines) = do setFirstPara modify $ \st -> st{ stInHeader = True } contents <- inlineListToMs' opts $ map breakToSpace inlines modify $ \st -> st{ stInHeader = False } let (heading, secnum) = if writerNumberSections opts && "unnumbered" `notElem` classes then (".NH", "\\*[SN]") else (".SH", "") let anchor = if T.null ident then empty else nowrap $ literal ".pdfhref M " <> doubleQuotes (literal (toAscii ident)) let bookmark = literal ".pdfhref O " <> literal (tshow level <> " ") <> doubleQuotes (literal $ secnum <> (if T.null secnum then "" else " ") <> escapeStr opts (stringify inlines)) let backlink = nowrap (literal ".pdfhref L -D " <> doubleQuotes (literal (toAscii ident)) <> space <> literal "\\") <> cr <> literal " -- " let tocEntry = if writerTableOfContents opts && level <= writerTOCDepth opts then literal ".XS" $$ backlink <> doubleQuotes ( nowrap (literal (T.replicate level "\t") <> (if T.null secnum then empty else literal secnum <> literal "\\~\\~") <> contents)) $$ literal ".XE" else empty modify $ \st -> st{ stFirstPara = True } return $ (literal heading <> space <> literal (tshow level)) $$ contents $$ bookmark $$ anchor $$ tocEntry blockToMs opts (CodeBlock attr str) = do hlCode <- highlightCode opts attr str setFirstPara return $ literal ".IP" $$ literal ".nf" $$ literal "\\f[C]" $$ hlCode $$ literal "\\f[]" $$ literal ".fi" blockToMs opts (LineBlock ls) = do setFirstPara -- use .LP, see #5588 blockToMs opts $ Para $ intercalate [LineBreak] ls blockToMs opts (BlockQuote blocks) = do setFirstPara contents <- blockListToMs opts blocks setFirstPara return $ literal ".QS" $$ contents $$ literal ".QE" blockToMs opts (Table caption alignments widths headers rows) = let aligncode AlignLeft = "l" aligncode AlignRight = "r" aligncode AlignCenter = "c" aligncode AlignDefault = "l" in do caption' <- inlineListToMs' opts caption let iwidths = if all (== 0) widths then repeat "" else map (T.pack . printf "w(%0.1fn)" . (70 *)) widths -- 78n default width - 8n indent = 70n let coldescriptions = literal $ T.unwords (zipWith (\align width -> aligncode align <> width) alignments iwidths) <> "." colheadings <- mapM (blockListToMs opts) headers let makeRow cols = literal "T{" $$ vcat (intersperse (literal "T}\tT{") cols) $$ literal "T}" let colheadings' = if all null headers then empty else makeRow colheadings $$ char '_' body <- mapM (\row -> do cols <- mapM (blockListToMs opts) row return $ makeRow cols) rows setFirstPara return $ literal ".PP" $$ caption' $$ literal ".TS" $$ literal "delim(@@) tab(\t);" $$ coldescriptions $$ colheadings' $$ vcat body $$ literal ".TE" blockToMs opts (BulletList items) = do contents <- mapM (bulletListItemToMs opts) items setFirstPara return (vcat contents) blockToMs opts (OrderedList attribs items) = do let markers = take (length items) $ orderedListMarkers attribs let indent = 2 + maximum (map T.length markers) contents <- mapM (\(num, item) -> orderedListItemToMs opts num indent item) $ zip markers items setFirstPara return (vcat contents) blockToMs opts (DefinitionList items) = do contents <- mapM (definitionListItemToMs opts) items setFirstPara return (vcat contents) -- | Convert bullet list item (list of blocks) to ms. bulletListItemToMs :: PandocMonad m => WriterOptions -> [Block] -> MS m (Doc Text) bulletListItemToMs _ [] = return empty bulletListItemToMs opts (Para first:rest) = bulletListItemToMs opts (Plain first:rest) bulletListItemToMs opts (Plain first:rest) = do first' <- blockToMs opts (Plain first) rest' <- blockListToMs opts rest let first'' = literal ".IP \\[bu] 3" $$ first' let rest'' = if null rest then empty else literal ".RS 3" $$ rest' $$ literal ".RE" return (first'' $$ rest'') bulletListItemToMs opts (first:rest) = do first' <- blockToMs opts first rest' <- blockListToMs opts rest return $ literal "\\[bu] .RS 3" $$ first' $$ rest' $$ literal ".RE" -- | Convert ordered list item (a list of blocks) to ms. orderedListItemToMs :: PandocMonad m => WriterOptions -- ^ options -> Text -- ^ order marker for list item -> Int -- ^ number of spaces to indent -> [Block] -- ^ list item (list of blocks) -> MS m (Doc Text) orderedListItemToMs _ _ _ [] = return empty orderedListItemToMs opts num indent (Para first:rest) = orderedListItemToMs opts num indent (Plain first:rest) orderedListItemToMs opts num indent (first:rest) = do first' <- blockToMs opts first rest' <- blockListToMs opts rest let num' = T.pack $ printf ("%" <> show (indent - 1) <> "s") num let first'' = literal (".IP \"" <> num' <> "\" " <> tshow indent) $$ first' let rest'' = if null rest then empty else literal ".RS " <> literal (tshow indent) $$ rest' $$ literal ".RE" return $ first'' $$ rest'' -- | Convert definition list item (label, list of blocks) to ms. definitionListItemToMs :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> MS m (Doc Text) definitionListItemToMs opts (label, defs) = do labelText <- withFontFeature 'B' $ inlineListToMs' opts $ map breakToSpace label contents <- if null defs then return empty else liftM vcat $ forM defs $ \blocks -> do let (first, rest) = case blocks of (Para x:y) -> (Plain x,y) (x:y) -> (x,y) [] -> (Plain [], []) -- should not happen rest' <- liftM vcat $ mapM (\item -> blockToMs opts item) rest first' <- blockToMs opts first return $ first' $$ literal ".RS 3" $$ rest' $$ literal ".RE" return $ nowrap (literal ".IP " <> doubleQuotes labelText <> " 3") $$ contents -- | Convert list of Pandoc block elements to ms. blockListToMs :: PandocMonad m => WriterOptions -- ^ Options -> [Block] -- ^ List of block elements -> MS m (Doc Text) blockListToMs opts blocks = vcat <$> mapM (blockToMs opts) blocks -- | Convert list of Pandoc inline elements to ms. inlineListToMs :: PandocMonad m => WriterOptions -> [Inline] -> MS m (Doc Text) -- if list starts with ., insert a zero-width character \& so it -- won't be interpreted as markup if it falls at the beginning of a line. inlineListToMs opts lst = hcat <$> mapM (inlineToMs opts) lst -- This version to be used when there is no further inline content; -- forces a note at the end. inlineListToMs' :: PandocMonad m => WriterOptions -> [Inline] -> MS m (Doc Text) inlineListToMs' opts lst = do x <- hcat <$> mapM (inlineToMs opts) lst y <- handleNotes opts empty return $ x <> y -- | Convert Pandoc inline element to ms. inlineToMs :: PandocMonad m => WriterOptions -> Inline -> MS m (Doc Text) inlineToMs opts (Span _ ils) = inlineListToMs opts ils inlineToMs opts (Emph lst) = withFontFeature 'I' (inlineListToMs opts lst) inlineToMs opts (Strong lst) = withFontFeature 'B' (inlineListToMs opts lst) inlineToMs opts (Strikeout lst) = do contents <- inlineListToMs opts lst -- we use grey color instead of strikeout, which seems quite -- hard to do in roff for arbitrary bits of text return $ literal "\\m[strikecolor]" <> contents <> literal "\\m[]" inlineToMs opts (Superscript lst) = do contents <- inlineListToMs opts lst return $ literal "\\*{" <> contents <> literal "\\*}" inlineToMs opts (Subscript lst) = do contents <- inlineListToMs opts lst return $ literal "\\*<" <> contents <> literal "\\*>" inlineToMs opts (SmallCaps lst) = do -- see https://lists.gnu.org/archive/html/groff/2015-01/msg00016.html modify $ \st -> st{ stSmallCaps = not (stSmallCaps st) } res <- inlineListToMs opts lst modify $ \st -> st{ stSmallCaps = not (stSmallCaps st) } return res inlineToMs opts (Quoted SingleQuote lst) = do contents <- inlineListToMs opts lst return $ char '`' <> contents <> char '\'' inlineToMs opts (Quoted DoubleQuote lst) = do contents <- inlineListToMs opts lst return $ literal "\\[lq]" <> contents <> literal "\\[rq]" inlineToMs opts (Cite _ lst) = inlineListToMs opts lst inlineToMs opts (Code attr str) = do hlCode <- highlightCode opts attr str withFontFeature 'C' (return hlCode) inlineToMs opts (Str str) = do let shim = case T.uncons str of Just ('.',_) -> afterBreak "\\&" _ -> empty smallcaps <- gets stSmallCaps if smallcaps then return $ shim <> literal (toSmallCaps opts str) else return $ shim <> literal (escapeStr opts str) inlineToMs opts (Math InlineMath str) = do modify $ \st -> st{ stHasInlineMath = True } res <- convertMath writeEqn InlineMath str case res of Left il -> inlineToMs opts il Right r -> return $ literal "@" <> literal r <> literal "@" inlineToMs opts (Math DisplayMath str) = do res <- convertMath writeEqn InlineMath str case res of Left il -> do contents <- inlineToMs opts il return $ cr <> literal ".RS 3" $$ contents $$ literal ".RE" Right r -> return $ cr <> literal ".EQ" $$ literal r $$ literal ".EN" <> cr inlineToMs _ il@(RawInline f str) | f == Format "ms" = return $ literal str | otherwise = do report $ InlineNotRendered il return empty inlineToMs _ LineBreak = return $ cr <> literal ".br" <> cr inlineToMs opts SoftBreak = handleNotes opts $ case writerWrapText opts of WrapAuto -> space WrapNone -> space WrapPreserve -> cr inlineToMs opts Space = handleNotes opts space inlineToMs opts (Link _ txt (T.uncons -> Just ('#',ident), _)) = do -- internal link contents <- inlineListToMs' opts $ map breakToSpace txt return $ literal "\\c" <> cr <> nowrap (literal ".pdfhref L -D " <> doubleQuotes (literal (toAscii ident)) <> literal " -A " <> doubleQuotes (literal "\\c") <> space <> literal "\\") <> cr <> literal " -- " <> doubleQuotes (nowrap contents) <> cr <> literal "\\&" inlineToMs opts (Link _ txt (src, _)) = do -- external link contents <- inlineListToMs' opts $ map breakToSpace txt return $ literal "\\c" <> cr <> nowrap (literal ".pdfhref W -D " <> doubleQuotes (literal (escapeUri src)) <> literal " -A " <> doubleQuotes (literal "\\c") <> space <> literal "\\") <> cr <> literal " -- " <> doubleQuotes (nowrap contents) <> cr <> literal "\\&" inlineToMs opts (Image _ alternate (_, _)) = return $ char '[' <> literal "IMAGE: " <> literal (escapeStr opts (stringify alternate)) <> char ']' inlineToMs _ (Note contents) = do modify $ \st -> st{ stNotes = contents : stNotes st } return $ literal "\\**" handleNotes :: PandocMonad m => WriterOptions -> Doc Text -> MS m (Doc Text) handleNotes opts fallback = do notes <- gets stNotes if null notes then return fallback else do modify $ \st -> st{ stNotes = [] } vcat <$> mapM (handleNote opts) notes handleNote :: PandocMonad m => WriterOptions -> Note -> MS m (Doc Text) handleNote opts bs = do -- don't start with Paragraph or we'll get a spurious blank -- line after the note ref: let bs' = case bs of (Para ils : rest) -> Plain ils : rest _ -> bs contents <- blockListToMs opts bs' return $ cr <> literal ".FS" $$ contents $$ literal ".FE" <> cr setFirstPara :: PandocMonad m => MS m () setFirstPara = modify $ \st -> st{ stFirstPara = True } resetFirstPara :: PandocMonad m => MS m () resetFirstPara = modify $ \st -> st{ stFirstPara = False } breakToSpace :: Inline -> Inline breakToSpace SoftBreak = Space breakToSpace LineBreak = Space breakToSpace x = x -- Highlighting styleToMs :: Style -> Doc Text styleToMs sty = vcat $ colordefs <> map (toMacro sty) alltoktypes where alltoktypes = enumFromTo KeywordTok NormalTok colordefs = map toColorDef allcolors toColorDef c = literal (".defcolor " <> hexColor c <> " rgb #" <> hexColor c) allcolors = catMaybes $ ordNub $ [defaultColor sty, backgroundColor sty, lineNumberColor sty, lineNumberBackgroundColor sty] <> concatMap (colorsForToken. snd) (Map.toList (tokenStyles sty)) colorsForToken ts = [tokenColor ts, tokenBackground ts] hexColor :: Color -> Text hexColor (RGB r g b) = T.pack $ printf "%02x%02x%02x" r g b toMacro :: Style -> TokenType -> Doc Text toMacro sty toktype = nowrap (literal ".ds " <> literal (tshow toktype) <> literal " " <> setbg <> setcolor <> setfont <> literal "\\\\$1" <> resetfont <> resetcolor <> resetbg) where setcolor = maybe empty fgcol tokCol resetcolor = maybe empty (const $ literal "\\\\m[]") tokCol setbg = empty -- maybe empty bgcol tokBg resetbg = empty -- maybe empty (const $ text "\\\\M[]") tokBg fgcol c = literal $ "\\\\m[" <> hexColor c <> "]" -- bgcol c = literal $ "\\\\M[" <> hexColor c <> "]" setfont = if tokBold || tokItalic then literal $ T.pack $ "\\\\f[C" <> ['B' | tokBold] <> ['I' | tokItalic] <> "]" else empty resetfont = if tokBold || tokItalic then literal "\\\\f[C]" else empty tokSty = Map.lookup toktype (tokenStyles sty) tokCol = (tokSty >>= tokenColor) `mplus` defaultColor sty -- tokBg = (tokSty >>= tokenBackground) `mplus` backgroundColor sty tokBold = maybe False tokenBold tokSty tokItalic = maybe False tokenItalic tokSty -- tokUnderline = fromMaybe False (tokSty >>= tokUnderline) -- lnColor = lineNumberColor sty -- lnBkgColor = lineNumberBackgroundColor sty msFormatter :: WriterOptions -> FormatOptions -> [SourceLine] -> Doc Text msFormatter opts _fmtopts = vcat . map fmtLine where fmtLine = hcat . map fmtToken fmtToken (toktype, tok) = literal "\\*" <> brackets (literal (tshow toktype) <> literal " \"" <> literal (escapeStr opts tok) <> literal "\"") highlightCode :: PandocMonad m => WriterOptions -> Attr -> Text -> MS m (Doc Text) highlightCode opts attr str = case highlight (writerSyntaxMap opts) (msFormatter opts) attr str of Left msg -> do unless (T.null msg) $ report $ CouldNotHighlight msg return $ literal (escapeStr opts str) Right h -> do modify (\st -> st{ stHighlighting = True }) return h -- This is used for PDF anchors. toAscii :: Text -> Text toAscii = T.concatMap (\c -> case toAsciiChar c of Nothing -> "_u" <> tshow (ord c) <> "_" Just '/' -> "_u" <> tshow (ord c) <> "_" -- see #4515 Just c' -> T.singleton c') ��������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Muse.hs������������������������������������������������������0000664�0000000�0000000�00000072054�13636304630�0020766�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.Muse Copyright : Copyright (C) 2017-2020 Alexander Krotov License : GNU GPL, version 2 or above Maintainer : Alexander Krotov <ilabdsf@gmail.com> Stability : stable Portability : portable Conversion of 'Pandoc' documents to Muse. This module is mostly intended for <https://amusewiki.org/ Amusewiki> markup support, as described by <https://amusewiki.org/library/manual Text::Amuse markup manual>. Original <https://www.gnu.org/software/emacs-muse/ Emacs Muse> markup support is a secondary goal. Where Text::Amuse markup <https://metacpan.org/pod/Text::Amuse#DIFFERENCES-WITH-THE-ORIGINAL-EMACS-MUSE-MARKUP differs> from <https://www.gnu.org/software/emacs-muse/manual/ Emacs Muse markup>, Text::Amuse markup is supported. For example, native tables are always used instead of Org Mode tables. However, @\<literal style="html">@ tag is used for HTML raw blocks even though it is supported only in Emacs Muse. -} module Text.Pandoc.Writers.Muse (writeMuse) where import Control.Monad.Except (throwError) import Control.Monad.Reader import Control.Monad.State.Strict import Data.Char (isAlphaNum, isAsciiLower, isAsciiUpper, isDigit, isSpace) import Data.Default import Data.List (intersperse, transpose) import qualified Data.Set as Set import qualified Data.Text as T import Data.Text (Text) import System.FilePath (takeExtension) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.ImageSize import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Math import Text.Pandoc.Writers.Shared type Notes = [[Block]] type Muse m = ReaderT WriterEnv (StateT WriterState m) data WriterEnv = WriterEnv { envOptions :: WriterOptions , envTopLevel :: Bool , envInsideBlock :: Bool , envInlineStart :: Bool -- ^ True if there is only whitespace since last newline , envInsideLinkDescription :: Bool -- ^ Escape ] if True , envAfterSpace :: Bool -- ^ There is whitespace (not just newline) before , envOneLine :: Bool -- ^ True if newlines are not allowed , envInsideAsterisks :: Bool -- ^ True if outer element is emphasis with asterisks , envNearAsterisks :: Bool -- ^ Rendering inline near asterisks } data WriterState = WriterState { stNotes :: Notes , stNoteNum :: Int , stIds :: Set.Set Text , stUseTags :: Bool -- ^ Use tags for emphasis, for example because previous character is a letter } instance Default WriterState where def = WriterState { stNotes = [] , stNoteNum = 1 , stIds = Set.empty , stUseTags = False } evalMuse :: PandocMonad m => Muse m a -> WriterEnv -> WriterState -> m a evalMuse document env = evalStateT $ runReaderT document env -- | Convert Pandoc to Muse. writeMuse :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeMuse opts document = evalMuse (pandocToMuse document) env def where env = WriterEnv { envOptions = opts , envTopLevel = True , envInsideBlock = False , envInlineStart = True , envInsideLinkDescription = False , envAfterSpace = False , envOneLine = False , envInsideAsterisks = False , envNearAsterisks = False } -- | Return Muse representation of document. pandocToMuse :: PandocMonad m => Pandoc -> Muse m Text pandocToMuse (Pandoc meta blocks) = do opts <- asks envOptions let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing metadata <- metaToContext opts blockListToMuse (fmap chomp . inlineListToMuse) meta body <- blockListToMuse blocks notes <- currentNotesToMuse let main = body $+$ notes let context = defField "body" main metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Helper function for flatBlockListToMuse -- | Render all blocks and insert blank lines between the first two catWithBlankLines :: PandocMonad m => [Block] -- ^ List of block elements -> Int -- ^ Number of blank lines -> Muse m (Doc Text) catWithBlankLines (b : bs) n = do b' <- blockToMuseWithNotes b bs' <- flatBlockListToMuse bs return $ b' <> blanklines n <> bs' catWithBlankLines _ _ = error "Expected at least one block" -- | Convert list of Pandoc block elements to Muse -- | without setting envTopLevel. flatBlockListToMuse :: PandocMonad m => [Block] -- ^ List of block elements -> Muse m (Doc Text) flatBlockListToMuse bs@(BulletList _ : BulletList _ : _) = catWithBlankLines bs 2 flatBlockListToMuse bs@(OrderedList (_, style1, _) _ : OrderedList (_, style2, _) _ : _) = catWithBlankLines bs (if style1' == style2' then 2 else 0) where style1' = normalizeStyle style1 style2' = normalizeStyle style2 normalizeStyle DefaultStyle = Decimal normalizeStyle s = s flatBlockListToMuse bs@(DefinitionList _ : DefinitionList _ : _) = catWithBlankLines bs 2 flatBlockListToMuse bs@(_ : _) = catWithBlankLines bs 0 flatBlockListToMuse [] = return mempty simpleTable :: PandocMonad m => [Inline] -> [TableCell] -> [[TableCell]] -> Muse m (Doc Text) simpleTable caption headers rows = do topLevel <- asks envTopLevel caption' <- inlineListToMuse caption headers' <- mapM blockListToMuse headers rows' <- mapM (mapM blockListToMuse) rows let widthsInChars = maximum . map offset <$> transpose (headers' : rows') let hpipeBlocks sep blocks = hcat $ intersperse sep' blocks where sep' = lblock (T.length sep) $ literal sep let makeRow sep = hpipeBlocks sep . zipWith lblock widthsInChars let head' = makeRow " || " headers' rows'' <- mapM (\row -> makeRow rowSeparator <$> mapM blockListToMuse row) rows let body = vcat rows'' return $ (if topLevel then nest 1 else id) ((if noHeaders then empty else head') $$ body $$ (if null caption then empty else "|+ " <> caption' <> " +|")) $$ blankline where noHeaders = all null headers rowSeparator = if noHeaders then " | " else " | " -- | Convert list of Pandoc block elements to Muse. blockListToMuse :: PandocMonad m => [Block] -- ^ List of block elements -> Muse m (Doc Text) blockListToMuse = local (\env -> env { envTopLevel = not (envInsideBlock env) , envInsideBlock = True }) . flatBlockListToMuse -- | Convert Pandoc block element to Muse. blockToMuse :: PandocMonad m => Block -- ^ Block element -> Muse m (Doc Text) blockToMuse (Plain inlines) = inlineListToMuse' inlines blockToMuse (Para inlines) = do contents <- inlineListToMuse' inlines return $ contents <> blankline blockToMuse (LineBlock lns) = do lns' <- local (\env -> env { envOneLine = True }) $ mapM inlineListToMuse lns return $ nowrap $ vcat (map (literal "> " <>) lns') <> blankline blockToMuse (CodeBlock (_,_,_) str) = return $ "<example>" $$ literal str $$ "</example>" $$ blankline blockToMuse (RawBlock (Format format) str) = return $ blankline $$ "<literal style=\"" <> literal format <> "\">" $$ literal str $$ "</literal>" $$ blankline blockToMuse (BlockQuote blocks) = do contents <- flatBlockListToMuse blocks return $ blankline <> "<quote>" $$ nest 0 contents -- nest 0 to remove trailing blank lines $$ "</quote>" <> blankline blockToMuse (OrderedList (start, style, _) items) = do let markers = take (length items) $ orderedListMarkers (start, style, Period) contents <- zipWithM orderedListItemToMuse markers items topLevel <- asks envTopLevel return $ (if topLevel then nest 1 else id) (vcat contents) $$ blankline where orderedListItemToMuse :: PandocMonad m => Text -- ^ marker for list item -> [Block] -- ^ list item (list of blocks) -> Muse m (Doc Text) orderedListItemToMuse marker item = hang (T.length marker + 1) (literal marker <> space) <$> blockListToMuse item blockToMuse (BulletList items) = do contents <- mapM bulletListItemToMuse items topLevel <- asks envTopLevel return $ (if topLevel then nest 1 else id) (vcat contents) $$ blankline where bulletListItemToMuse :: PandocMonad m => [Block] -> Muse m (Doc Text) bulletListItemToMuse item = do modify $ \st -> st { stUseTags = False } hang 2 "- " <$> blockListToMuse item blockToMuse (DefinitionList items) = do contents <- mapM definitionListItemToMuse items topLevel <- asks envTopLevel return $ (if topLevel then nest 1 else id) (vcat contents) $$ blankline where definitionListItemToMuse :: PandocMonad m => ([Inline], [[Block]]) -> Muse m (Doc Text) definitionListItemToMuse (label, defs) = do modify $ \st -> st { stUseTags = False } label' <- local (\env -> env { envOneLine = True, envAfterSpace = True }) $ inlineListToMuse' label let ind = offset' label' -- using Text.DocLayout.offset results in round trip failures hang ind (nowrap label') . vcat <$> mapM descriptionToMuse defs where offset' d = maximum (0: map T.length (T.lines $ render Nothing d)) descriptionToMuse :: PandocMonad m => [Block] -> Muse m (Doc Text) descriptionToMuse desc = hang 4 " :: " <$> blockListToMuse desc blockToMuse (Header level (ident,_,_) inlines) = do opts <- asks envOptions topLevel <- asks envTopLevel contents <- local (\env -> env { envOneLine = True }) $ inlineListToMuse' inlines ids <- gets stIds let autoId = uniqueIdent (writerExtensions opts) inlines ids modify $ \st -> st{ stIds = Set.insert autoId ids } let attr' = if T.null ident || (isEnabled Ext_auto_identifiers opts && ident == autoId) then empty else "#" <> literal ident <> cr let header' = if topLevel then literal (T.replicate level "*") <> space else mempty return $ blankline <> attr' $$ nowrap (header' <> contents) <> blankline -- https://www.gnu.org/software/emacs-muse/manual/muse.html#Horizontal-Rules-and-Anchors blockToMuse HorizontalRule = return $ blankline $$ "----" $$ blankline blockToMuse (Table caption aligns widths headers rows) = if isSimple && numcols > 1 then simpleTable caption headers rows else do opts <- asks envOptions gridTable opts blocksToDoc True (map (const AlignDefault) aligns) widths headers rows where blocksToDoc opts blocks = local (\env -> env { envOptions = opts }) $ blockListToMuse blocks numcols = maximum (length aligns : length widths : map length (headers:rows)) isSimple = onlySimpleTableCells (headers:rows) && all (== 0) widths blockToMuse (Div _ bs) = flatBlockListToMuse bs blockToMuse Null = return empty -- | Return Muse representation of notes collected so far. currentNotesToMuse :: PandocMonad m => Muse m (Doc Text) currentNotesToMuse = do notes <- reverse <$> gets stNotes modify $ \st -> st { stNotes = mempty } notesToMuse notes -- | Return Muse representation of notes. notesToMuse :: PandocMonad m => Notes -> Muse m (Doc Text) notesToMuse notes = do n <- gets stNoteNum modify $ \st -> st { stNoteNum = stNoteNum st + length notes } vsep <$> zipWithM noteToMuse [n ..] notes -- | Return Muse representation of a note. noteToMuse :: PandocMonad m => Int -> [Block] -> Muse m (Doc Text) noteToMuse num note = do res <- hang (T.length marker) (literal marker) <$> local (\env -> env { envInsideBlock = True , envInlineStart = True , envAfterSpace = True }) (blockListToMuse note) return $ res <> blankline where marker = "[" <> tshow num <> "] " -- | Return Muse representation of block and accumulated notes. blockToMuseWithNotes :: PandocMonad m => Block -> Muse m (Doc Text) blockToMuseWithNotes blk = do topLevel <- asks envTopLevel opts <- asks envOptions let hdrToMuse hdr@Header{} = do b <- blockToMuse hdr if topLevel && writerReferenceLocation opts == EndOfSection then do notes <- currentNotesToMuse return $ notes $+$ b else return b hdrToMuse b = blockToMuse b b <- hdrToMuse blk if topLevel && writerReferenceLocation opts == EndOfBlock then do notes <- currentNotesToMuse return $ b $+$ notes <> blankline else return b -- | Escape special characters for Muse. escapeText :: Text -> Text escapeText s = "<verbatim>" <> T.replace "</verbatim>" "<</verbatim><verbatim>/verbatim>" s <> "</verbatim>" -- | Replace newlines with spaces replaceNewlines :: Text -> Text replaceNewlines = T.map $ \c -> if c == '\n' then ' ' else c startsWithMarker :: (Char -> Bool) -> Text -> Bool startsWithMarker f t = case T.uncons $ T.dropWhile f' t of Just ('.', xs) -> T.null xs || isSpace (T.head xs) _ -> False where f' c = c == ' ' || f c containsNotes :: Char -> Char -> Text -> Bool containsNotes left right = p . T.unpack -- This ought to be a parser where p (left':xs) | left' == left = q xs || p xs | otherwise = p xs p "" = False q (x:xs) | x `elem` ("123456789"::String) = r xs || p xs | otherwise = p xs q [] = False r ('0':xs) = r xs || p xs r xs = s xs || q xs || p xs s (right':xs) | right' == right = True | otherwise = p xs s [] = False -- | Return True if string should be escaped with <verbatim> tags shouldEscapeText :: PandocMonad m => Text -> Muse m Bool shouldEscapeText s = do insideLink <- asks envInsideLinkDescription return $ T.null s || T.any (`elem` ("#*<=|" :: String)) s || "::" `T.isInfixOf` s || "~~" `T.isInfixOf` s || "[[" `T.isInfixOf` s || ">>>" `T.isInfixOf` s || ("]" `T.isInfixOf` s && insideLink) || containsNotes '[' ']' s || containsNotes '{' '}' s -- | Escape special characters for Muse if needed. conditionalEscapeText :: PandocMonad m => Text -> Muse m Text conditionalEscapeText s = do shouldEscape <- shouldEscapeText s return $ if shouldEscape then escapeText s else s -- Expand Math and Cite before normalizing inline list preprocessInlineList :: PandocMonad m => [Inline] -> m [Inline] preprocessInlineList (Math t str:xs) = (++) <$> texMathToInlines t str <*> preprocessInlineList xs -- Amusewiki does not support <cite> tag, -- and Emacs Muse citation support is limited -- (https://www.gnu.org/software/emacs-muse/manual/html_node/Citations.html#Citation) -- so just fallback to expanding inlines. preprocessInlineList (Cite _ lst:xs) = (lst ++) <$> preprocessInlineList xs preprocessInlineList (x:xs) = (x:) <$> preprocessInlineList xs preprocessInlineList [] = return [] replaceSmallCaps :: Inline -> Inline replaceSmallCaps (SmallCaps lst) = Emph lst replaceSmallCaps x = x removeKeyValues :: Inline -> Inline removeKeyValues (Code (i, cls, _) xs) = Code (i, cls, []) xs -- Do not remove attributes from Link -- Do not remove attributes, such as "width", from Image -- Do not remove attributes, such as "dir", from Span removeKeyValues x = x normalizeInlineList :: [Inline] -> [Inline] normalizeInlineList (Str "" : xs) = normalizeInlineList xs normalizeInlineList (x : Str "" : xs) = normalizeInlineList (x:xs) normalizeInlineList (Str x1 : Str x2 : xs) = normalizeInlineList $ Str (x1 <> x2) : xs normalizeInlineList (Emph x1 : Emph x2 : ils) = normalizeInlineList $ Emph (x1 <> x2) : ils normalizeInlineList (Strong x1 : Strong x2 : ils) = normalizeInlineList $ Strong (x1 <> x2) : ils normalizeInlineList (Strikeout x1 : Strikeout x2 : ils) = normalizeInlineList $ Strikeout (x1 <> x2) : ils normalizeInlineList (Superscript x1 : Superscript x2 : ils) = normalizeInlineList $ Superscript (x1 <> x2) : ils normalizeInlineList (Subscript x1 : Subscript x2 : ils) = normalizeInlineList $ Subscript (x1 <> x2) : ils normalizeInlineList (SmallCaps x1 : SmallCaps x2 : ils) = normalizeInlineList $ SmallCaps (x1 <> x2) : ils normalizeInlineList (Code _ x1 : Code _ x2 : ils) = normalizeInlineList $ Code nullAttr (x1 <> x2) : ils normalizeInlineList (RawInline f1 x1 : RawInline f2 x2 : ils) | f1 == f2 = normalizeInlineList $ RawInline f1 (x1 <> x2) : ils -- Do not join Span's during normalization normalizeInlineList (x:xs) = x : normalizeInlineList xs normalizeInlineList [] = [] fixNotes :: [Inline] -> [Inline] fixNotes [] = [] fixNotes (Space : n@Note{} : rest) = Str " " : n : fixNotes rest fixNotes (SoftBreak : n@Note{} : rest) = Str " " : n : fixNotes rest fixNotes (x:xs) = x : fixNotes xs startsWithSpace :: [Inline] -> Bool startsWithSpace (Space:_) = True startsWithSpace (SoftBreak:_) = True startsWithSpace (Str s:_) = stringStartsWithSpace s startsWithSpace _ = False endsWithSpace :: [Inline] -> Bool endsWithSpace [Space] = True endsWithSpace [SoftBreak] = True endsWithSpace [Str s] = stringEndsWithSpace s endsWithSpace (_:xs) = endsWithSpace xs endsWithSpace [] = False urlEscapeBrackets :: Text -> Text urlEscapeBrackets = T.concatMap $ \c -> case c of ']' -> "%5D" _ -> T.singleton c isHorizontalRule :: Text -> Bool isHorizontalRule s = T.length s >= 4 && T.all (== '-') s stringStartsWithSpace :: Text -> Bool stringStartsWithSpace = maybe False (isSpace . fst) . T.uncons stringEndsWithSpace :: Text -> Bool stringEndsWithSpace = maybe False (isSpace . snd) . T.unsnoc fixOrEscape :: Bool -> Inline -> Bool fixOrEscape b (Str s) = fixOrEscapeStr b s where fixOrEscapeStr sp t = case T.uncons t of Just ('-', xs) | T.null xs -> sp | otherwise -> (sp && isSpace (T.head xs)) || isHorizontalRule t Just (';', xs) | T.null xs -> not sp | otherwise -> not sp && isSpace (T.head xs) Just ('>', xs) | T.null xs -> True | otherwise -> isSpace (T.head xs) _ -> (sp && (startsWithMarker isDigit s || startsWithMarker isAsciiLower s || startsWithMarker isAsciiUpper s)) || stringStartsWithSpace s fixOrEscape _ Space = True fixOrEscape _ SoftBreak = True fixOrEscape _ _ = False inlineListStartsWithAlnum :: PandocMonad m => [Inline] -> Muse m Bool inlineListStartsWithAlnum (Str s:_) = do esc <- shouldEscapeText s return $ esc || isAlphaNum (T.head s) inlineListStartsWithAlnum _ = return False -- | Convert list of Pandoc inline elements to Muse renderInlineList :: PandocMonad m => [Inline] -> Muse m (Doc Text) renderInlineList [] = pure "" renderInlineList (x:xs) = do start <- asks envInlineStart afterSpace <- asks envAfterSpace topLevel <- asks envTopLevel insideAsterisks <- asks envInsideAsterisks nearAsterisks <- asks envNearAsterisks useTags <- gets stUseTags alnumNext <- inlineListStartsWithAlnum xs let newUseTags = useTags || alnumNext modify $ \st -> st { stUseTags = newUseTags } r <- local (\env -> env { envInlineStart = False , envInsideAsterisks = False , envNearAsterisks = nearAsterisks || (null xs && insideAsterisks) }) $ inlineToMuse x opts <- asks envOptions let isNewline = (x == SoftBreak && writerWrapText opts == WrapPreserve) || x == LineBreak lst' <- local (\env -> env { envInlineStart = isNewline , envAfterSpace = x == Space || (not topLevel && isNewline) , envNearAsterisks = False }) $ renderInlineList xs if start && fixOrEscape afterSpace x then pure (literal "<verbatim></verbatim>" <> r <> lst') else pure (r <> lst') -- | Normalize and convert list of Pandoc inline elements to Muse. inlineListToMuse :: PandocMonad m => [Inline] -> Muse m (Doc Text) inlineListToMuse lst = do lst' <- normalizeInlineList . fixNotes <$> preprocessInlineList (map (removeKeyValues . replaceSmallCaps) lst) insideAsterisks <- asks envInsideAsterisks start <- asks envInlineStart modify $ \st -> st { stUseTags = False } -- Previous character is likely a '>' or some other markup if start && null lst' then pure "<verbatim></verbatim>" else local (\env -> env { envNearAsterisks = insideAsterisks }) $ renderInlineList lst' inlineListToMuse' :: PandocMonad m => [Inline] -> Muse m (Doc Text) inlineListToMuse' lst = do topLevel <- asks envTopLevel afterSpace <- asks envAfterSpace local (\env -> env { envInlineStart = True , envAfterSpace = afterSpace || not topLevel }) $ inlineListToMuse lst emphasis :: PandocMonad m => Text -> Text -> [Inline] -> Muse m (Doc Text) emphasis b e lst = do contents <- local (\env -> env { envInsideAsterisks = inAsterisks }) $ inlineListToMuse lst modify $ \st -> st { stUseTags = useTags } return $ literal b <> contents <> literal e where inAsterisks = T.last b == '*' || T.head e == '*' useTags = T.last e /= '>' -- | Convert Pandoc inline element to Muse. inlineToMuse :: PandocMonad m => Inline -> Muse m (Doc Text) inlineToMuse (Str str) = do escapedStr <- conditionalEscapeText $ replaceNewlines str let useTags = isAlphaNum $ T.last escapedStr -- escapedStr is never empty because empty strings are escaped modify $ \st -> st { stUseTags = useTags } return $ literal escapedStr inlineToMuse (Emph [Strong lst]) = do useTags <- gets stUseTags let lst' = normalizeInlineList lst if useTags then emphasis "<em>**" "**</em>" lst' else if null lst' || startsWithSpace lst' || endsWithSpace lst' then emphasis "*<strong>" "</strong>*" lst' else emphasis "***" "***" lst' inlineToMuse (Emph lst) = do useTags <- gets stUseTags let lst' = normalizeInlineList lst if useTags || null lst' || startsWithSpace lst' || endsWithSpace lst' then emphasis "<em>" "</em>" lst' else emphasis "*" "*" lst' inlineToMuse (Strong [Emph lst]) = do useTags <- gets stUseTags let lst' = normalizeInlineList lst if useTags then emphasis "<strong>*" "*</strong>" lst' else if null lst' || startsWithSpace lst' || endsWithSpace lst' then emphasis "**<em>" "</em>**" lst' else emphasis "***" "***" lst' inlineToMuse (Strong lst) = do useTags <- gets stUseTags let lst' = normalizeInlineList lst if useTags || null lst' || startsWithSpace lst' || endsWithSpace lst' then emphasis "<strong>" "</strong>" lst' else emphasis "**" "**" lst' inlineToMuse (Strikeout lst) = do contents <- inlineListToMuse lst modify $ \st -> st { stUseTags = False } return $ "<del>" <> contents <> "</del>" inlineToMuse (Superscript lst) = do contents <- inlineListToMuse lst modify $ \st -> st { stUseTags = False } return $ "<sup>" <> contents <> "</sup>" inlineToMuse (Subscript lst) = do contents <- inlineListToMuse lst modify $ \st -> st { stUseTags = False } return $ "<sub>" <> contents <> "</sub>" inlineToMuse SmallCaps {} = throwError $ PandocShouldNeverHappenError "SmallCaps should be expanded before normalization" inlineToMuse (Quoted SingleQuote lst) = do contents <- inlineListToMuse lst modify $ \st -> st { stUseTags = False } return $ "‘" <> contents <> "’" inlineToMuse (Quoted DoubleQuote lst) = do contents <- inlineListToMuse lst modify $ \st -> st { stUseTags = False } return $ "“" <> contents <> "”" inlineToMuse Cite {} = throwError $ PandocShouldNeverHappenError "Citations should be expanded before normalization" inlineToMuse (Code _ str) = do useTags <- gets stUseTags modify $ \st -> st { stUseTags = False } return $ if useTags || T.null str || T.any (== '=') str || isSpace (T.head str) || isSpace (T.last str) then "<code>" <> literal (T.replace "</code>" "<</code><code>/code>" str) <> "</code>" else "=" <> literal str <> "=" inlineToMuse Math{} = throwError $ PandocShouldNeverHappenError "Math should be expanded before normalization" inlineToMuse (RawInline (Format f) str) = do modify $ \st -> st { stUseTags = False } return $ "<literal style=\"" <> literal f <> "\">" <> literal str <> "</literal>" inlineToMuse LineBreak = do oneline <- asks envOneLine modify $ \st -> st { stUseTags = False } return $ if oneline then "<br>" else "<br>" <> cr inlineToMuse Space = do modify $ \st -> st { stUseTags = False } return space inlineToMuse SoftBreak = do oneline <- asks envOneLine wrapText <- asks $ writerWrapText . envOptions modify $ \st -> st { stUseTags = False } return $ if not oneline && wrapText == WrapPreserve then cr else space inlineToMuse (Link _ txt (src, _)) = case txt of [Str x] | escapeURI x == src -> do modify $ \st -> st { stUseTags = False } return $ "[[" <> literal (escapeLink x) <> "]]" _ -> do contents <- local (\env -> env { envInsideLinkDescription = True }) $ inlineListToMuse txt modify $ \st -> st { stUseTags = False } return $ "[[" <> literal (escapeLink src) <> "][" <> contents <> "]]" where escapeLink lnk = if isImageUrl lnk then "URL:" <> urlEscapeBrackets lnk else urlEscapeBrackets lnk -- Taken from muse-image-regexp defined in Emacs Muse file lisp/muse-regexps.el imageExtensions = [".eps", ".gif", ".jpg", ".jpeg", ".pbm", ".png", ".tiff", ".xbm", ".xpm"] isImageUrl = (`elem` imageExtensions) . takeExtension . T.unpack inlineToMuse (Image attr alt (source,T.stripPrefix "fig:" -> Just title)) = inlineToMuse (Image attr alt (source,title)) inlineToMuse (Image attr@(_, classes, _) inlines (source, title)) = do opts <- asks envOptions alt <- local (\env -> env { envInsideLinkDescription = True }) $ inlineListToMuse inlines title' <- if T.null title then if null inlines then return "" else return $ "[" <> alt <> "]" else do s <- local (\env -> env { envInsideLinkDescription = True }) $ conditionalEscapeText title return $ "[" <> literal s <> "]" let width = case dimension Width attr of Just (Percent x) | isEnabled Ext_amuse opts -> " " <> tshow (round x :: Integer) _ -> "" let leftalign = if "align-left" `elem` classes then " l" else "" let rightalign = if "align-right" `elem` classes then " r" else "" modify $ \st -> st { stUseTags = False } return $ "[[" <> literal (urlEscapeBrackets source <> width <> leftalign <> rightalign) <> "]" <> title' <> "]" inlineToMuse (Note contents) = do -- add to notes in state notes <- gets stNotes modify $ \st -> st { stNotes = contents:notes , stUseTags = False } n <- gets stNoteNum let ref = tshow $ n + length notes return $ "[" <> literal ref <> "]" inlineToMuse (Span (anchor,names,kvs) inlines) = do contents <- inlineListToMuse inlines let (contents', hasDir) = case lookup "dir" kvs of Just "rtl" -> ("<<<" <> contents <> ">>>", True) Just "ltr" -> (">>>" <> contents <> "<<<", True) _ -> (contents, False) let anchorDoc = if T.null anchor then mempty else literal ("#" <> anchor) <> space modify $ \st -> st { stUseTags = False } return $ anchorDoc <> (if null inlines && not (T.null anchor) then mempty else (if null names then (if hasDir then contents' else "<class>" <> contents' <> "</class>") else "<class name=\"" <> literal (head names) <> "\">" <> contents' <> "</class>")) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Native.hs����������������������������������������������������0000664�0000000�0000000�00000004732�13636304630�0021301�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.Native Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of a 'Pandoc' document to a string representation. -} module Text.Pandoc.Writers.Native ( writeNative ) where import Data.List (intersperse) import Data.Text (Text) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.Pandoc.Options (WrapOption (..), WriterOptions (..)) import Text.DocLayout prettyList :: [Doc Text] -> Doc Text prettyList ds = "[" <> mconcat (intersperse (cr <> ",") $ map (nest 1) ds) <> "]" -- | Prettyprint Pandoc block element. prettyBlock :: Block -> Doc Text prettyBlock (LineBlock lines') = "LineBlock" $$ prettyList (map (text . show) lines') prettyBlock (BlockQuote blocks) = "BlockQuote" $$ prettyList (map prettyBlock blocks) prettyBlock (OrderedList attribs blockLists) = "OrderedList" <> space <> text (show attribs) $$ prettyList (map (prettyList . map prettyBlock) blockLists) prettyBlock (BulletList blockLists) = "BulletList" $$ prettyList (map (prettyList . map prettyBlock) blockLists) prettyBlock (DefinitionList items) = "DefinitionList" $$ prettyList (map deflistitem items) where deflistitem (term, defs) = "(" <> text (show term) <> "," <> cr <> nest 1 (prettyList $ map (prettyList . map prettyBlock) defs) <> ")" prettyBlock (Table caption aligns widths header rows) = "Table " <> text (show caption) <> " " <> text (show aligns) <> " " <> text (show widths) $$ prettyRow header $$ prettyList (map prettyRow rows) where prettyRow cols = prettyList (map (prettyList . map prettyBlock) cols) prettyBlock (Div attr blocks) = text ("Div " <> show attr) $$ prettyList (map prettyBlock blocks) prettyBlock block = text $ show block -- | Prettyprint Pandoc document. writeNative :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeNative opts (Pandoc meta blocks) = return $ let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing withHead = case writerTemplate opts of Just _ -> \bs -> text ("Pandoc (" ++ show meta ++ ")") $$ bs $$ cr Nothing -> id in render colwidth $ withHead $ prettyList $ map prettyBlock blocks ��������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/ODT.hs�������������������������������������������������������0000664�0000000�0000000�00000033060�13636304630�0020475�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.ODT Copyright : Copyright (C) 2008-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to ODT. -} module Text.Pandoc.Writers.ODT ( writeODT ) where import Codec.Archive.Zip import Control.Monad.Except (catchError) import Control.Monad.State.Strict import qualified Data.ByteString.Lazy as B import Data.Generics (everywhere', mkT) import Data.List (isPrefixOf) import qualified Data.Map as Map import qualified Data.Text as T import qualified Data.Text.Lazy as TL import Data.Time import System.FilePath (takeDirectory, takeExtension, (<.>)) import Text.Pandoc.BCP47 (Lang (..), getLang, renderLang) import Text.Pandoc.Class.PandocMonad (PandocMonad, report, toLang) import qualified Text.Pandoc.Class.PandocMonad as P import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.MIME (extensionFromMimeType, getMimeType) import Text.Pandoc.Options (WrapOption (..), WriterOptions (..)) import Text.DocLayout import Text.Pandoc.Shared (stringify, pandocVersion, tshow) import Text.Pandoc.Writers.Shared (lookupMetaString, lookupMetaBlocks, fixDisplayMath) import Text.Pandoc.UTF8 (fromStringLazy, fromTextLazy, toStringLazy) import Text.Pandoc.Walk import Text.Pandoc.Writers.OpenDocument (writeOpenDocument) import Text.Pandoc.XML import Text.TeXMath import Text.XML.Light newtype ODTState = ODTState { stEntries :: [Entry] } type O m = StateT ODTState m -- | Produce an ODT file from a Pandoc document. writeODT :: PandocMonad m => WriterOptions -- ^ Writer options -> Pandoc -- ^ Document to convert -> m B.ByteString writeODT opts doc = let initState = ODTState{ stEntries = [] } in evalStateT (pandocToODT opts doc) initState -- | Produce an ODT file from a Pandoc document. pandocToODT :: PandocMonad m => WriterOptions -- ^ Writer options -> Pandoc -- ^ Document to convert -> O m B.ByteString pandocToODT opts doc@(Pandoc meta _) = do let title = docTitle meta let authors = docAuthors meta utctime <- P.getCurrentTime lang <- toLang (getLang opts meta) refArchive <- case writerReferenceDoc opts of Just f -> liftM toArchive $ lift $ P.readFileLazy f Nothing -> lift $ (toArchive . B.fromStrict) <$> P.readDataFile "reference.odt" -- handle formulas and pictures -- picEntriesRef <- P.newIORef ([] :: [Entry]) doc' <- walkM (transformPicMath opts) $ walk fixDisplayMath doc newContents <- lift $ writeOpenDocument opts{writerWrapText = WrapNone} doc' epochtime <- floor `fmap` lift P.getPOSIXTime let contentEntry = toEntry "content.xml" epochtime $ fromTextLazy $ TL.fromStrict newContents picEntries <- gets stEntries let archive = foldr addEntryToArchive refArchive $ contentEntry : picEntries -- construct META-INF/manifest.xml based on archive let toFileEntry fp = case getMimeType fp of Nothing -> empty Just m -> selfClosingTag "manifest:file-entry" [("manifest:media-type", m) ,("manifest:full-path", T.pack fp) ,("manifest:version", "1.2") ] let files = [ ent | ent <- filesInArchive archive, not ("META-INF" `isPrefixOf` ent) ] let formulas = [ takeDirectory ent ++ "/" | ent <- filesInArchive archive, "Formula-" `isPrefixOf` ent, takeExtension ent == ".xml" ] let manifestEntry = toEntry "META-INF/manifest.xml" epochtime $ fromStringLazy $ render Nothing $ text "<?xml version=\"1.0\" encoding=\"utf-8\"?>" $$ inTags True "manifest:manifest" [("xmlns:manifest","urn:oasis:names:tc:opendocument:xmlns:manifest:1.0") ,("manifest:version","1.2")] ( selfClosingTag "manifest:file-entry" [("manifest:media-type","application/vnd.oasis.opendocument.text") ,("manifest:full-path","/")] $$ vcat ( map toFileEntry files ) $$ vcat ( map toFileEntry formulas ) ) let archive' = addEntryToArchive manifestEntry archive -- create meta.xml let userDefinedMetaFields = [k | k <- Map.keys (unMeta meta) , k `notElem` ["title", "lang", "author" , "description", "subject", "keywords"]] let escapedText = text . T.unpack . escapeStringForXML let keywords = case lookupMeta "keywords" meta of Just (MetaList xs) -> map stringify xs _ -> [] let userDefinedMeta = map (\k -> inTags False "meta:user-defined" [ ("meta:name", escapeStringForXML k) ,("meta:value-type", "string") ] (escapedText $ lookupMetaString k meta)) userDefinedMetaFields let metaTag metafield = inTagsSimple metafield . escapedText let metaEntry = toEntry "meta.xml" epochtime $ fromStringLazy $ render Nothing $ text "<?xml version=\"1.0\" encoding=\"utf-8\"?>" $$ inTags True "office:document-meta" [("xmlns:office","urn:oasis:names:tc:opendocument:xmlns:office: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:ooo","http://openoffice.org/2004/office") ,("xmlns:grddl","http://www.w3.org/2003/g/data-view#") ,("office:version","1.2")] ( inTags True "office:meta" [] ( metaTag "meta:generator" ("Pandoc/" <> pandocVersion) $$ metaTag "dc:title" (stringify title) $$ metaTag "dc:description" (T.intercalate "\n" (map stringify $ lookupMetaBlocks "description" meta)) $$ metaTag "dc:subject" (lookupMetaString "subject" meta) $$ metaTag "meta:keyword" (T.intercalate ", " keywords) $$ case lang of Just l -> metaTag "dc:language" (renderLang l) Nothing -> empty $$ (\d a -> metaTag "meta:initial-creator" a $$ metaTag "dc:creator" a $$ metaTag "meta:creation-date" d $$ metaTag "dc:date" d ) (T.pack $ formatTime defaultTimeLocale "%FT%XZ" utctime) (T.intercalate "; " (map stringify authors)) $$ vcat userDefinedMeta ) ) -- make sure mimetype is first let mimetypeEntry = toEntry "mimetype" epochtime $ fromStringLazy "application/vnd.oasis.opendocument.text" archive'' <- updateStyleWithLang lang $ addEntryToArchive mimetypeEntry $ addEntryToArchive metaEntry archive' return $ fromArchive archive'' updateStyleWithLang :: PandocMonad m => Maybe Lang -> Archive -> O m Archive updateStyleWithLang Nothing arch = return arch updateStyleWithLang (Just lang) arch = do epochtime <- floor `fmap` lift P.getPOSIXTime return arch{ zEntries = [if eRelativePath e == "styles.xml" then case parseXMLDoc (toStringLazy (fromEntry e)) of Nothing -> e Just d -> toEntry "styles.xml" epochtime ( fromStringLazy . ppTopElement . addLang lang $ d ) else e | e <- zEntries arch] } addLang :: Lang -> Element -> Element addLang lang = everywhere' (mkT updateLangAttr) where updateLangAttr (Attr n@(QName "language" _ (Just "fo")) _) = Attr n (T.unpack $ langLanguage lang) updateLangAttr (Attr n@(QName "country" _ (Just "fo")) _) = Attr n (T.unpack $ langRegion lang) updateLangAttr x = x -- | transform both Image and Math elements transformPicMath :: PandocMonad m => WriterOptions ->Inline -> O m Inline transformPicMath opts (Image attr@(id', cls, _) lab (src,t)) = catchError (do (img, mbMimeType) <- P.fetchItem src (ptX, ptY) <- case imageSize opts img of Right s -> return $ sizeInPoints s Left msg -> do report $ CouldNotDetermineImageSize src msg return (100, 100) let dims = case (getDim Width, getDim Height) of (Just w, Just h) -> [("width", tshow w), ("height", tshow h)] (Just w@(Percent _), Nothing) -> [("rel-width", tshow w),("rel-height", "scale"),("width", tshow ptX <> "pt"),("height", tshow ptY <> "pt")] (Nothing, Just h@(Percent _)) -> [("rel-width", "scale"),("rel-height", tshow h),("width", tshow ptX <> "pt"),("height", tshow ptY <> "pt")] (Just w@(Inch i), Nothing) -> [("width", tshow w), ("height", tshow (i / ratio) <> "in")] (Nothing, Just h@(Inch i)) -> [("width", tshow (i * ratio) <> "in"), ("height", tshow h)] _ -> [("width", tshow ptX <> "pt"), ("height", tshow ptY <> "pt")] where ratio = ptX / ptY getDim dir = case dimension dir attr of Just (Percent i) -> Just $ Percent i Just dim -> Just $ Inch $ inInch opts dim Nothing -> Nothing let newattr = (id', cls, dims) entries <- gets stEntries let extension = maybe (takeExtension $ takeWhile (/='?') $ T.unpack src) T.unpack (mbMimeType >>= extensionFromMimeType) let newsrc = "Pictures/" ++ show (length entries) <.> extension let toLazy = B.fromChunks . (:[]) epochtime <- floor `fmap` lift P.getPOSIXTime let entry = toEntry newsrc epochtime $ toLazy img modify $ \st -> st{ stEntries = entry : entries } return $ Image newattr lab (T.pack newsrc, t)) (\e -> do report $ CouldNotFetchResource src $ T.pack (show e) return $ Emph lab) transformPicMath _ (Math t math) = do entries <- gets stEntries let dt = if t == InlineMath then DisplayInline else DisplayBlock case writeMathML dt <$> readTeX math of Left _ -> return $ Math t math Right r -> do let conf = useShortEmptyTags (const False) defaultConfigPP let mathml = ppcTopElement conf r epochtime <- floor `fmap` lift P.getPOSIXTime let dirname = "Formula-" ++ show (length entries) ++ "/" let fname = dirname ++ "content.xml" let entry = toEntry fname epochtime (fromStringLazy mathml) let fname' = dirname ++ "settings.xml" let entry' = toEntry fname' epochtime $ documentSettings (t == InlineMath) modify $ \st -> st{ stEntries = entry' : (entry : entries) } return $ RawInline (Format "opendocument") $ render Nothing $ inTags False "draw:frame" (if t == DisplayMath then [("draw:style-name","fr2") -- `draw:frame` does not support either -- `style:vertical-pos` or `style:vertical-rel`, -- therefore those attributes must go into the -- `style:style` element ,("text:anchor-type","paragraph")] else [("draw:style-name","fr1") ,("text:anchor-type","as-char")]) $ selfClosingTag "draw:object" [("xlink:href", T.pack dirname) , ("xlink:type", "simple") , ("xlink:show", "embed") , ("xlink:actuate", "onLoad")] transformPicMath _ x = return x documentSettings :: Bool -> B.ByteString documentSettings isTextMode = fromStringLazy $ render Nothing $ text "<?xml version=\"1.0\" encoding=\"utf-8\"?>" $$ inTags True "office:document-settings" [("xmlns:office","urn:oasis:names:tc:opendocument:xmlns:office:1.0") ,("xmlns:xlink","http://www.w3.org/1999/xlink") ,("xmlns:config","urn:oasis:names:tc:opendocument:xmlns:config:1.0") ,("xmlns:ooo","http://openoffice.org/2004/office") ,("office:version","1.2")] ( inTagsSimple "office:settings" $ inTags False "config:config-item-set" [("config:name", "ooo:configuration-settings")] $ inTags False "config:config-item" [("config:name", "IsTextMode") ,("config:type", "boolean")] $ text $ if isTextMode then "true" else "false") ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/OOXML.hs�����������������������������������������������������0000664�0000000�0000000�00000007221�13636304630�0020745�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.OOXML Copyright : Copyright (C) 2012-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Functions common to OOXML writers (Docx and Powerpoint) -} module Text.Pandoc.Writers.OOXML ( mknode , mktnode , nodename , toLazy , renderXml , parseXml , elemToNameSpaces , elemName , isElem , NameSpaces , fitToPage ) where import Codec.Archive.Zip import Control.Monad.Reader import Control.Monad.Except (throwError) import Text.Pandoc.Error import qualified Data.ByteString as B import qualified Data.ByteString.Lazy as BL import qualified Data.ByteString.Lazy.Char8 as BL8 import Data.Maybe (mapMaybe) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad) import qualified Text.Pandoc.UTF8 as UTF8 import Text.XML.Light as XML mknode :: Node t => String -> [(String,String)] -> t -> Element mknode s attrs = add_attrs (map (\(k,v) -> Attr (nodename k) v) attrs) . node (nodename s) mktnode :: String -> [(String,String)] -> T.Text -> Element mktnode s attrs = mknode s attrs . T.unpack nodename :: String -> QName nodename s = QName{ qName = name, qURI = Nothing, qPrefix = prefix } where (name, prefix) = case break (==':') s of (xs,[]) -> (xs, Nothing) (ys, _:zs) -> (zs, Just ys) toLazy :: B.ByteString -> BL.ByteString toLazy = BL.fromChunks . (:[]) renderXml :: Element -> BL.ByteString renderXml elt = BL8.pack "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" <> UTF8.fromStringLazy (showElement elt) parseXml :: PandocMonad m => Archive -> Archive -> String -> m Element parseXml refArchive distArchive relpath = case findEntryByPath relpath refArchive `mplus` findEntryByPath relpath distArchive of Nothing -> throwError $ PandocSomeError $ T.pack relpath <> " missing in reference file" Just e -> case parseXMLDoc . UTF8.toStringLazy . fromEntry $ e of Nothing -> throwError $ PandocSomeError $ T.pack relpath <> " corrupt in reference file" Just d -> return d -- Copied from Util attrToNSPair :: XML.Attr -> Maybe (String, String) attrToNSPair (XML.Attr (QName s _ (Just "xmlns")) val) = Just (s, val) attrToNSPair _ = Nothing elemToNameSpaces :: Element -> NameSpaces elemToNameSpaces = mapMaybe attrToNSPair . elAttribs elemName :: NameSpaces -> String -> String -> QName elemName ns prefix name = QName name (lookup prefix ns) (if null prefix then Nothing else Just prefix) isElem :: NameSpaces -> String -> String -> Element -> Bool isElem ns prefix name element = let ns' = ns ++ elemToNameSpaces element in qName (elName element) == name && qURI (elName element) == lookup prefix ns' type NameSpaces = [(String, String)] -- | Scales the image to fit the page -- sizes are passed in emu fitToPage :: (Double, Double) -> Integer -> (Integer, Integer) fitToPage (x, y) pageWidth -- Fixes width to the page width and scales the height | x > fromIntegral pageWidth = (pageWidth, floor $ (fromIntegral pageWidth / x) * y) | otherwise = (floor x, floor y) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/OPML.hs������������������������������������������������������0000664�0000000�0000000�00000005704�13636304630�0020622�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE CPP #-} {- | Module : Text.Pandoc.Writers.OPML Copyright : Copyright (C) 2013-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to OPML XML. -} module Text.Pandoc.Writers.OPML ( writeOPML) where import Data.Text (Text) import qualified Data.Text as T import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad) import Data.Time import Text.Pandoc.Definition import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.HTML (writeHtml5String) import Text.Pandoc.Writers.Markdown (writeMarkdown) import Text.Pandoc.Writers.Shared import Text.Pandoc.XML -- | Convert Pandoc document to string in OPML format. writeOPML :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeOPML opts (Pandoc meta blocks) = do let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing meta' = B.setMeta "date" (B.str $ convertDate $ docDate meta) meta metadata <- metaToContext opts (fmap literal . writeMarkdown def . Pandoc nullMeta) (\ils -> literal . T.stripEnd <$> writeMarkdown def (Pandoc nullMeta [Plain ils])) meta' let blocks' = makeSections False (Just 1) blocks main <- (render colwidth . vcat) <$> mapM (blockToOPML opts) blocks' let context = defField "body" main metadata return $ (if writerPreferAscii opts then toEntities else id) $ case writerTemplate opts of Nothing -> main Just tpl -> render colwidth $ renderTemplate tpl context writeHtmlInlines :: PandocMonad m => [Inline] -> m Text writeHtmlInlines ils = T.strip <$> writeHtml5String def (Pandoc nullMeta [Plain ils]) -- date format: RFC 822: Thu, 14 Jul 2005 23:41:05 GMT showDateTimeRFC822 :: UTCTime -> Text showDateTimeRFC822 = T.pack . formatTime defaultTimeLocale "%a, %d %b %Y %X %Z" convertDate :: [Inline] -> Text convertDate ils = maybe "" showDateTimeRFC822 $ parseTimeM True defaultTimeLocale "%F" . T.unpack =<< normalizeDate (stringify ils) -- | Convert a Block to OPML. blockToOPML :: PandocMonad m => WriterOptions -> Block -> m (Doc Text) blockToOPML opts (Div (_,"section":_,_) (Header _ _ title : xs)) = do let isSect (Div (_,"section":_,_) (Header{}:_)) = True isSect _ = False let (blocks, rest) = break isSect xs htmlIls <- writeHtmlInlines title md <- if null blocks then return mempty else writeMarkdown def $ Pandoc nullMeta blocks let attrs = ("text", htmlIls) : [("_note", T.stripEnd md) | not (null blocks)] rest' <- vcat <$> mapM (blockToOPML opts) rest return $ inTags True "outline" attrs rest' blockToOPML _ _ = return empty ������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/OpenDocument.hs����������������������������������������������0000664�0000000�0000000�00000102356�13636304630�0022454�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.OpenDocument Copyright : Copyright (C) 2008-2020 Andrea Rossato and John MacFarlane License : GNU GPL, version 2 or above Maintainer : Andrea Rossato <andrea.rossato@ing.unitn.it> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to OpenDocument XML. -} module Text.Pandoc.Writers.OpenDocument ( writeOpenDocument ) where import Control.Arrow ((***), (>>>)) import Control.Monad.State.Strict hiding (when) import Data.Char (chr) import Data.List (sortOn, sortBy, foldl') import qualified Data.Map as Map import Data.Maybe (fromMaybe) import Data.Ord (comparing) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.BCP47 (Lang (..), parseBCP47) import Text.Pandoc.Class.PandocMonad (PandocMonad, report, translateTerm, setTranslations, toLang) import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared (linesToPara, tshow) import Text.Pandoc.Templates (renderTemplate) import qualified Text.Pandoc.Translations as Term (Term(Figure, Table)) import Text.Pandoc.Writers.Math import Text.Pandoc.Writers.Shared import Text.Pandoc.XML import Text.Printf (printf) -- | Auxiliary function to convert Plain block to Para. plainToPara :: Block -> Block plainToPara (Plain x) = Para x plainToPara x = x -- -- OpenDocument writer -- type OD m = StateT WriterState m data WriterState = WriterState { stNotes :: [Doc Text] , stTableStyles :: [Doc Text] , stParaStyles :: [Doc Text] , stListStyles :: [(Int, [Doc Text])] , stTextStyles :: Map.Map (Set.Set TextStyle) (Text, Doc Text) , stTextStyleAttr :: Set.Set TextStyle , stIndentPara :: Int , stInDefinition :: Bool , stTight :: Bool , stFirstPara :: Bool , stImageId :: Int , stTableCaptionId :: Int , stImageCaptionId :: Int } defaultWriterState :: WriterState defaultWriterState = WriterState { stNotes = [] , stTableStyles = [] , stParaStyles = [] , stListStyles = [] , stTextStyles = Map.empty , stTextStyleAttr = Set.empty , stIndentPara = 0 , stInDefinition = False , stTight = False , stFirstPara = False , stImageId = 1 , stTableCaptionId = 1 , stImageCaptionId = 1 } when :: Bool -> Doc Text -> Doc Text when p a = if p then a else empty addTableStyle :: PandocMonad m => Doc Text -> OD m () addTableStyle i = modify $ \s -> s { stTableStyles = i : stTableStyles s } addNote :: PandocMonad m => Doc Text -> OD m () addNote i = modify $ \s -> s { stNotes = i : stNotes s } addParaStyle :: PandocMonad m => Doc Text -> OD m () addParaStyle i = modify $ \s -> s { stParaStyles = i : stParaStyles s } addTextStyle :: PandocMonad m => Set.Set TextStyle -> (Text, Doc Text) -> OD m () addTextStyle attrs i = modify $ \s -> s { stTextStyles = Map.insert attrs i (stTextStyles s) } addTextStyleAttr :: PandocMonad m => TextStyle -> OD m () addTextStyleAttr t = modify $ \s -> s { stTextStyleAttr = Set.insert t (stTextStyleAttr s) } increaseIndent :: PandocMonad m => OD m () increaseIndent = modify $ \s -> s { stIndentPara = 1 + stIndentPara s } 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 } setFirstPara :: PandocMonad m => OD m () setFirstPara = modify $ \s -> s { stFirstPara = True } inParagraphTags :: PandocMonad m => Doc Text -> OD m (Doc Text) inParagraphTags d = do b <- gets stFirstPara a <- if b then do modify $ \st -> st { stFirstPara = False } return [("text:style-name", "First_20_paragraph")] else return [("text:style-name", "Text_20_body")] return $ inTags False "text:p" a d inParagraphTagsWithStyle :: Text -> Doc Text -> Doc Text inParagraphTagsWithStyle sty = inTags False "text:p" [("text:style-name", sty)] inSpanTags :: Text -> Doc Text -> Doc Text inSpanTags s = inTags False "text:span" [("text:style-name",s)] withTextStyle :: PandocMonad m => TextStyle -> OD m a -> OD m a withTextStyle s f = do oldTextStyleAttr <- gets stTextStyleAttr addTextStyleAttr s res <- f modify $ \st -> st{ stTextStyleAttr = oldTextStyleAttr } return res inTextStyle :: PandocMonad m => Doc Text -> OD m (Doc Text) inTextStyle d = do 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 $ foldl' textStyleAttr mempty (Set.toList at))) return $ inTags False "text:span" [("text:style-name",styleName)] d formulaStyles :: [Doc Text] formulaStyles = [formulaStyle InlineMath, formulaStyle DisplayMath] formulaStyle :: MathType -> Doc Text formulaStyle mt = inTags False "style:style" [("style:name", if mt == InlineMath then "fr1" else "fr2") ,("style:family", "graphic") ,("style:parent-style-name", "Formula")] $ selfClosingTag "style:graphic-properties" $ if mt == InlineMath then [("style:vertical-pos", "middle") ,("style:vertical-rel", "text")] else [("style:vertical-pos", "middle") ,("style:vertical-rel", "paragraph-content") ,("style:horizontal-pos", "center") ,("style:horizontal-rel", "paragraph-content") ,("style:wrap", "none")] inHeaderTags :: PandocMonad m => Int -> Text -> Doc Text -> OD m (Doc Text) inHeaderTags i ident d = return $ inTags False "text:h" [ ("text:style-name", "Heading_20_" <> tshow i) , ("text:outline-level", tshow i)] $ if T.null ident then d else selfClosingTag "text:bookmark-start" [ ("text:name", ident) ] <> d <> selfClosingTag "text:bookmark-end" [ ("text:name", ident) ] inQuotes :: QuoteType -> Doc Text -> Doc Text inQuotes SingleQuote s = char '\8216' <> s <> char '\8217' inQuotes DoubleQuote s = char '\8220' <> s <> char '\8221' handleSpaces :: Text -> Doc Text handleSpaces s = case T.uncons s of Just (' ', _) -> genTag s Just ('\t',x) -> selfClosingTag "text:tab" [] <> rm x _ -> rm s where genTag = T.span (==' ') >>> tag . T.length *** rm >>> uncurry (<>) tag n = when (n /= 0) $ selfClosingTag "text:s" [("text:c", tshow n)] rm t = case T.uncons t of Just ( ' ',xs) -> char ' ' <> genTag xs Just ('\t',xs) -> selfClosingTag "text:tab" [] <> genTag xs Just ( x,xs) -> char x <> rm xs Nothing -> empty -- | Convert Pandoc document to string in OpenDocument format. writeOpenDocument :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeOpenDocument opts (Pandoc meta blocks) = do let defLang = Lang "en" "US" "" [] lang <- case lookupMetaString "lang" meta of "" -> pure defLang s -> fromMaybe defLang <$> toLang (Just s) setTranslations lang let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing ((body, metadata),s) <- flip runStateT defaultWriterState $ do m <- metaToContext opts (blocksToOpenDocument opts) (fmap chomp . inlinesToOpenDocument opts) meta b <- blocksToOpenDocument opts blocks return (b, m) let styles = stTableStyles s ++ stParaStyles s ++ formulaStyles ++ map snd (sortBy (flip (comparing 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 context = defField "body" body . defField "toc" (writerTableOfContents opts) . defField "automatic-styles" automaticStyles $ metadata return $ render colwidth $ case writerTemplate opts of Nothing -> body Just tpl -> renderTemplate tpl context withParagraphStyle :: PandocMonad m => WriterOptions -> Text -> [Block] -> OD m (Doc Text) withParagraphStyle o s (b:bs) | Para l <- b = go =<< inParagraphTagsWithStyle s <$> inlinesToOpenDocument o l | otherwise = go =<< blockToOpenDocument o b where go i = (<>) i <$> withParagraphStyle o s bs withParagraphStyle _ _ [] = return empty inPreformattedTags :: PandocMonad m => Text -> OD m (Doc Text) inPreformattedTags s = do n <- paraStyle [("style:parent-style-name","Preformatted_20_Text")] return . inParagraphTagsWithStyle ("P" <> tshow n) . handleSpaces $ s orderedListToOpenDocument :: PandocMonad m => WriterOptions -> Int -> [[Block]] -> OD m (Doc Text) orderedListToOpenDocument o pn bs = vcat . map (inTagsIndented "text:list-item") <$> mapM (orderedItemToOpenDocument o pn . 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) <$> inlinesToOpenDocument o l go b = blockToOpenDocument o b newLevel a l = do nn <- length <$> gets stParaStyles ls <- head <$> gets stListStyles modify $ \s -> s { stListStyles = orderedListLevelStyle a ls : drop 1 (stListStyles s) } inTagsIndented "text:list" <$> orderedListToOpenDocument o nn l 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 listItemsToOpenDocument :: PandocMonad m => Text -> WriterOptions -> [[Block]] -> OD m (Doc Text) listItemsToOpenDocument s o is = vcat . map (inTagsIndented "text:list-item") <$> mapM (withParagraphStyle o s . map plainToPara) is deflistItemToOpenDocument :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> OD m (Doc Text) deflistItemToOpenDocument o (t,d) = do let ts = if isTightList d then "Definition_20_Term_20_Tight" else "Definition_20_Term" ds = if isTightList d then "Definition_20_Definition_20_Tight" else "Definition_20_Definition" t' <- withParagraphStyle o ts [Para t] d' <- liftM vcat $ mapM (withParagraphStyle o ds . map plainToPara) d return $ t' $$ d' inBlockQuote :: PandocMonad m => WriterOptions -> Int -> [Block] -> OD m (Doc Text) inBlockQuote o i (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 | otherwise = go =<< blockToOpenDocument o b where go block = ($$) block <$> inBlockQuote o i bs inBlockQuote _ _ [] = resetIndent >> return empty -- | Convert a list of Pandoc blocks to OpenDocument. blocksToOpenDocument :: PandocMonad m => WriterOptions -> [Block] -> OD m (Doc Text) blocksToOpenDocument o b = vcat <$> mapM (blockToOpenDocument o) b -- | Convert a Pandoc block element to OpenDocument. blockToOpenDocument :: PandocMonad m => WriterOptions -> Block -> OD m (Doc Text) blockToOpenDocument o bs | Plain b <- bs = if null b then return empty else inParagraphTags =<< inlinesToOpenDocument o b | Para [Image attr c (s,T.stripPrefix "fig:" -> Just t)] <- bs = figure attr c s t | Para b <- bs = if null b && not (isEnabled Ext_empty_paragraphs o) then return empty else inParagraphTags =<< inlinesToOpenDocument o b | LineBlock b <- bs = blockToOpenDocument o $ linesToPara b | Div attr xs <- bs = withLangFromAttr attr (blocksToOpenDocument o xs) | Header i (ident,_,_) b <- bs = setFirstPara >> (inHeaderTags i ident =<< inlinesToOpenDocument o b) | BlockQuote b <- bs = setFirstPara >> mkBlockQuote b | DefinitionList b <- bs = setFirstPara >> defList b | BulletList b <- bs = setFirstPara >> bulletListToOpenDocument o b | OrderedList a b <- bs = setFirstPara >> orderedList a b | CodeBlock _ s <- bs = setFirstPara >> preformatted s | Table c a w h r <- bs = setFirstPara >> table c a w h r | HorizontalRule <- bs = setFirstPara >> return (selfClosingTag "text:p" [ ("text:style-name", "Horizontal_20_Line") ]) | RawBlock f s <- bs = if f == Format "opendocument" then return $ text $ T.unpack s else do report $ BlockNotRendered bs return empty | Null <- bs = return empty | otherwise = return empty where defList b = do setInDefinitionList True r <- vcat <$> mapM (deflistItemToOpenDocument o) b setInDefinitionList False return r preformatted s = (flush . vcat) <$> mapM (inPreformattedTags . escapeStringForXML) (T.lines s) 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 table c a w h r = do tn <- length <$> gets stTableStyles pn <- length <$> gets stParaStyles let genIds = map chr [65..] name = "Table" <> tshow (tn + 1) columnIds = zip genIds w mkColumn n = selfClosingTag "table:table-column" [("table:style-name", name <> "." <> T.singleton (fst n))] columns = map mkColumn columnIds paraHStyles = paraTableStyles "Heading" pn a paraStyles = paraTableStyles "Contents" (pn + length (newPara paraHStyles)) a newPara = map snd . filter (not . isEmpty . snd) addTableStyle $ tableStyle tn columnIds mapM_ addParaStyle . newPara $ paraHStyles ++ paraStyles captionDoc <- if null c then return empty else inlinesToOpenDocument o c >>= if isEnabled Ext_native_numbering o then numberedTableCaption else unNumberedCaption "TableCaption" th <- if all null h then return empty else colHeadsToOpenDocument o (map fst paraHStyles) h tr <- mapM (tableRowToOpenDocument o (map fst paraStyles)) r let tableDoc = inTags True "table:table" [ ("table:name" , name) , ("table:style-name", name) ] (vcat columns $$ th $$ vcat tr) return $ captionDoc $$ tableDoc figure attr caption source title | null caption = withParagraphStyle o "Figure" [Para [Image attr caption (source,title)]] | otherwise = do imageDoc <- withParagraphStyle o "FigureWithCaption" [Para [Image attr caption (source,title)]] captionDoc <- inlinesToOpenDocument o caption >>= if isEnabled Ext_native_numbering o then numberedFigureCaption else unNumberedCaption "FigureCaption" return $ imageDoc $$ captionDoc numberedTableCaption :: PandocMonad m => Doc Text -> OD m (Doc Text) numberedTableCaption caption = do id' <- gets stTableCaptionId modify (\st -> st{ stTableCaptionId = id' + 1 }) capterm <- translateTerm Term.Table return $ numberedCaption "TableCaption" capterm "Table" id' caption numberedFigureCaption :: PandocMonad m => Doc Text -> OD m (Doc Text) numberedFigureCaption caption = do id' <- gets stImageCaptionId modify (\st -> st{ stImageCaptionId = id' + 1 }) capterm <- translateTerm Term.Figure return $ numberedCaption "FigureCaption" capterm "Illustration" id' caption numberedCaption :: Text -> Text -> Text -> Int -> Doc Text -> Doc Text numberedCaption style term name num caption = let t = text $ T.unpack term r = num - 1 s = inTags False "text:sequence" [ ("text:ref-name", "ref" <> name <> tshow r), ("text:name", name), ("text:formula", "ooow:" <> name <> "+1"), ("style:num-format", "1") ] $ text $ show num c = text ": " in inParagraphTagsWithStyle style $ hcat [ t, text " ", s, c, caption ] unNumberedCaption :: Monad m => Text -> Doc Text -> OD m (Doc Text) unNumberedCaption style caption = return $ inParagraphTagsWithStyle style caption colHeadsToOpenDocument :: PandocMonad m => WriterOptions -> [Text] -> [[Block]] -> OD m (Doc Text) colHeadsToOpenDocument o ns hs = inTagsIndented "table:table-header-rows" . inTagsIndented "table:table-row" . vcat <$> mapM (tableItemToOpenDocument o "TableHeaderRowCell") (zip ns hs) tableRowToOpenDocument :: PandocMonad m => WriterOptions -> [Text] -> [[Block]] -> OD m (Doc Text) tableRowToOpenDocument o ns cs = inTagsIndented "table:table-row" . vcat <$> mapM (tableItemToOpenDocument o "TableRowCell") (zip ns cs) tableItemToOpenDocument :: PandocMonad m => WriterOptions -> Text -> (Text,[Block]) -> OD m (Doc Text) tableItemToOpenDocument o s (n,i) = let a = [ ("table:style-name" , s ) , ("office:value-type", "string" ) ] in inTags True "table:table-cell" a <$> withParagraphStyle o n (map plainToPara i) -- | Convert a list of inline elements to OpenDocument. inlinesToOpenDocument :: PandocMonad m => WriterOptions -> [Inline] -> OD m (Doc Text) inlinesToOpenDocument o l = hcat <$> toChunks o l toChunks :: PandocMonad m => WriterOptions -> [Inline] -> OD m [Doc Text] toChunks _ [] = return [] toChunks o (x : xs) | isChunkable x = do contents <- (inTextStyle . hcat) =<< mapM (inlineToOpenDocument o) (x:ys) rest <- toChunks o zs return (contents : rest) | otherwise = do contents <- inlineToOpenDocument o x rest <- toChunks o xs return (contents : rest) where (ys, zs) = span isChunkable xs isChunkable :: Inline -> Bool isChunkable (Str _) = True isChunkable Space = True isChunkable SoftBreak = True isChunkable _ = False -- | Convert an inline element to OpenDocument. inlineToOpenDocument :: PandocMonad m => WriterOptions -> Inline -> OD m (Doc Text) inlineToOpenDocument o ils = case ils of Space -> return space SoftBreak | writerWrapText o == WrapPreserve -> return $ preformatted "\n" | otherwise ->return space Span attr xs -> withLangFromAttr attr (inlinesToOpenDocument o xs) LineBreak -> return $ selfClosingTag "text:line-break" [] Str s -> return $ handleSpaces $ escapeStringForXML s Emph l -> withTextStyle Italic $ inlinesToOpenDocument o l Strong l -> withTextStyle Bold $ inlinesToOpenDocument o l Strikeout l -> withTextStyle Strike $ inlinesToOpenDocument o l Superscript l -> withTextStyle Sup $ inlinesToOpenDocument o l Subscript l -> withTextStyle Sub $ inlinesToOpenDocument o l SmallCaps l -> withTextStyle SmallC $ inlinesToOpenDocument o l Quoted t l -> inQuotes t <$> inlinesToOpenDocument o l Code _ s -> inlinedCode $ preformatted s Math t s -> lift (texMathToInlines t s) >>= inlinesToOpenDocument o Cite _ l -> inlinesToOpenDocument o l RawInline f s -> if f == Format "opendocument" then return $ text $ T.unpack s else do report $ InlineNotRendered ils return empty Link _ l (s,t) -> mkLink s t <$> inlinesToOpenDocument o l Image attr _ (s,t) -> mkImg attr s t Note l -> mkNote l where preformatted s = handleSpaces $ escapeStringForXML s inlinedCode s = return $ inTags False "text:span" [("text:style-name", "Source_Text")] s mkLink s t = inTags False "text:a" [ ("xlink:type" , "simple") , ("xlink:href" , s ) , ("office:name", t ) ] . inSpanTags "Definition" mkImg (_, _, kvs) s _ = do id' <- gets stImageId modify (\st -> st{ stImageId = id' + 1 }) let getDims [] = [] getDims (("width", w) :xs) = ("svg:width", w) : getDims xs getDims (("rel-width", w):xs) = ("style:rel-width", w) : getDims xs getDims (("height", h):xs) = ("svg:height", h) : getDims xs getDims (("rel-height", w):xs) = ("style:rel-height", w) : getDims xs getDims (_:xs) = getDims xs return $ inTags False "draw:frame" (("draw:name", "img" <> tshow id') : getDims kvs) $ selfClosingTag "draw:image" [ ("xlink:href" , s ) , ("xlink:type" , "simple") , ("xlink:show" , "embed" ) , ("xlink:actuate", "onLoad")] mkNote l = do n <- length <$> gets stNotes let footNote t = inTags False "text:note" [ ("text:id" , "ftn" <> tshow n) , ("text:note-class", "footnote" )] $ inTagsSimple "text:note-citation" (text . show $ n + 1) <> inTagsSimple "text:note-body" t nn <- footNote <$> withParagraphStyle o "Footnote" l addNote nn return nn 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 -> [(Char,Double)] -> Doc Text tableStyle num wcs = let tableId = "Table" <> tshow (num + 1) table = inTags True "style:style" [("style:name", tableId) ,("style:family", "table")] $ selfClosingTag "style:table-properties" [("table:align" , "center")] colStyle (c,0) = selfClosingTag "style:style" [ ("style:name" , tableId <> "." <> T.singleton c) , ("style:family", "table-column" )] colStyle (c,w) = inTags True "style:style" [ ("style:name" , tableId <> "." <> T.singleton c) , ("style:family", "table-column" )] $ selfClosingTag "style:table-column-properties" [("style:rel-column-width", T.pack $ printf "%d*" (floor $ w * 65535 :: Integer))] headerRowCellStyle = inTags True "style:style" [ ("style:name" , "TableHeaderRowCell") , ("style:family", "table-cell" )] $ selfClosingTag "style:table-cell-properties" [ ("fo:border", "none")] rowCellStyle = inTags True "style:style" [ ("style:name" , "TableRowCell") , ("style:family", "table-cell" )] $ selfClosingTag "style:table-cell-properties" [ ("fo:border", "none")] cellStyles = if num == 0 then headerRowCellStyle $$ rowCellStyle else empty columnStyles = map colStyle wcs in cellStyles $$ table $$ vcat columnStyles paraStyle :: PandocMonad m => [(Text,Text)] -> OD m Int 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 tight = if t then [ ("fo:margin-top" , "0in" ) , ("fo:margin-bottom" , "0in" )] else [] indent = if i /= 0 || b then [ ("fo:margin-left" , indentVal) , ("fo:margin-right" , "0in" ) , ("fo:text-indent" , "0in" ) , ("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 paraListStyle :: PandocMonad m => Int -> OD m Int paraListStyle l = paraStyle [("style:parent-style-name","Text_20_body") ,("style:list-style-name", "L" <> tshow l)] paraTableStyles :: Text -> Int -> [Alignment] -> [(Text, Doc Text)] paraTableStyles _ _ [] = [] paraTableStyles t s (a:xs) | AlignRight <- a = ( pName s, res s "end" ) : paraTableStyles t (s + 1) xs | AlignCenter <- a = ( pName s, res s "center") : paraTableStyles t (s + 1) xs | otherwise = ("Table_20_" <> t, empty ) : paraTableStyles t s xs where pName sn = "P" <> tshow (sn + 1) res sn x = inTags True "style:style" [ ("style:name" , pName sn ) , ("style:family" , "paragraph" ) , ("style:parent-style-name", "Table_20_" <> t)] $ selfClosingTag "style:paragraph-properties" [ ("fo:text-align", x) , ("style:justify-single-word", "false")] data TextStyle = Italic | Bold | Strike | Sub | Sup | SmallC | Pre | Language Lang deriving ( Eq,Ord ) textStyleAttr :: Map.Map Text Text -> TextStyle -> Map.Map Text Text textStyleAttr m s | Italic <- s = Map.insert "fo:font-style" "italic" . Map.insert "style:font-style-asian" "italic" . Map.insert "style:font-style-complex" "italic" $ m | Bold <- s = Map.insert "fo:font-weight" "bold" . Map.insert "style:font-weight-asian" "bold" . Map.insert "style:font-weight-complex" "bold" $ m | Strike <- s = Map.insert "style:text-line-through-style" "solid" m | Sub <- s = Map.insert "style:text-position" "sub 58%" m | Sup <- s = Map.insert "style:text-position" "super 58%" m | SmallC <- s = Map.insert "fo:font-variant" "small-caps" m | Pre <- s = Map.insert "style:font-name" "Courier New" . Map.insert "style:font-name-asian" "Courier New" . Map.insert "style:font-name-complex" "Courier New" $ m | Language lang <- s = Map.insert "fo:language" (langLanguage lang) . Map.insert "fo:country" (langRegion lang) $ m | otherwise = m withLangFromAttr :: PandocMonad m => Attr -> OD m a -> OD m a withLangFromAttr (_,_,kvs) action = case lookup "lang" kvs of Nothing -> action Just l -> case parseBCP47 l of Right lang -> withTextStyle (Language lang) action Left _ -> do report $ InvalidLang l action ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Org.hs�������������������������������������������������������0000664�0000000�0000000�00000040572�13636304630�0020604�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.Org Copyright : © 2010-2015 Puneeth Chaganti <punchagan@gmail.com> 2010-2020 John MacFarlane <jgm@berkeley.edu> 2016-2020 Albert Krewinkel <tarleb+pandoc@moltkeplatz.de> License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to Emacs Org-Mode. Org-Mode: <http://orgmode.org> -} module Text.Pandoc.Writers.Org (writeOrg) where import Control.Monad.State.Strict import Data.Char (isAlphaNum) import Data.List (intersect, intersperse, partition, transpose) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared data WriterState = WriterState { stNotes :: [[Block]] , stHasMath :: Bool , stOptions :: WriterOptions } type Org = StateT WriterState -- | Convert Pandoc to Org. writeOrg :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeOrg opts document = do let st = WriterState { stNotes = [], stHasMath = False, stOptions = opts } evalStateT (pandocToOrg document) st -- | Return Org representation of document. pandocToOrg :: PandocMonad m => Pandoc -> Org m Text pandocToOrg (Pandoc meta blocks) = do opts <- gets stOptions let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing metadata <- metaToContext opts blockListToOrg (fmap chomp . inlineListToOrg) meta body <- blockListToOrg blocks notes <- gets (reverse . stNotes) >>= notesToOrg hasMath <- gets stHasMath let main = body $+$ notes let context = defField "body" main . defField "math" hasMath $ metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Return Org representation of notes. notesToOrg :: PandocMonad m => [[Block]] -> Org m (Doc Text) notesToOrg notes = vsep <$> zipWithM noteToOrg [1..] notes -- | Return Org representation of a note. noteToOrg :: PandocMonad m => Int -> [Block] -> Org m (Doc Text) noteToOrg num note = do contents <- blockListToOrg note let marker = "[fn:" ++ show num ++ "] " return $ hang (length marker) (text marker) contents -- | Escape special characters for Org. escapeString :: Text -> Text escapeString = escapeStringUsing [ ('\x2014',"---") , ('\x2013',"--") , ('\x2019',"'") , ('\x2026',"...") ] isRawFormat :: Format -> Bool isRawFormat f = f == Format "latex" || f == Format "tex" || f == Format "org" -- | Convert Pandoc block element to Org. blockToOrg :: PandocMonad m => Block -- ^ Block element -> Org m (Doc Text) blockToOrg Null = return empty blockToOrg (Div (_,classes@(cls:_),kvs) bs) | "drawer" `elem` classes = do contents <- blockListToOrg bs let drawerNameTag = ":" <> literal cls <> ":" let keys = vcat $ map (\(k,v) -> ":" <> literal k <> ":" <> space <> literal v) kvs let drawerEndTag = text ":END:" return $ drawerNameTag $$ cr $$ keys $$ blankline $$ contents $$ blankline $$ drawerEndTag $$ blankline blockToOrg (Div (ident, classes, kv) bs) = do contents <- blockListToOrg bs -- if one class looks like the name of a greater block then output as such: -- The ID, if present, is added via the #+NAME keyword; other classes and -- key-value pairs are kept as #+ATTR_HTML attributes. let isGreaterBlockClass = (`elem` ["center", "quote"]) . T.toLower (blockTypeCand, classes') = partition isGreaterBlockClass classes return $ case blockTypeCand of (blockType:classes'') -> blankline $$ attrHtml (ident, classes'' <> classes', kv) $$ "#+BEGIN_" <> literal blockType $$ contents $$ "#+END_" <> literal blockType $$ blankline _ -> -- fallback with id: add id as an anchor if present, discard classes and -- key-value pairs, unwrap the content. let contents' = if not (T.null ident) then "<<" <> literal ident <> ">>" $$ contents else contents in blankline $$ contents' $$ blankline blockToOrg (Plain inlines) = inlineListToOrg inlines -- title beginning with fig: indicates that the image is a figure blockToOrg (Para [Image attr txt (src,tgt)]) | Just tit <- T.stripPrefix "fig:" tgt = do capt <- if null txt then return empty else ("#+CAPTION: " <>) `fmap` inlineListToOrg txt img <- inlineToOrg (Image attr txt (src,tit)) return $ capt $$ img $$ blankline blockToOrg (Para inlines) = do contents <- inlineListToOrg inlines return $ contents <> blankline blockToOrg (LineBlock lns) = do let splitStanza [] = [] splitStanza xs = case break (== mempty) xs of (l, []) -> [l] (l, _:r) -> l : splitStanza r let joinWithLinefeeds = nowrap . mconcat . intersperse cr let joinWithBlankLines = mconcat . intersperse blankline let prettifyStanza ls = joinWithLinefeeds <$> mapM inlineListToOrg ls contents <- joinWithBlankLines <$> mapM prettifyStanza (splitStanza lns) return $ blankline $$ "#+BEGIN_VERSE" $$ nest 2 contents $$ "#+END_VERSE" <> blankline blockToOrg (RawBlock "html" str) = return $ blankline $$ "#+BEGIN_HTML" $$ nest 2 (literal str) $$ "#+END_HTML" $$ blankline blockToOrg b@(RawBlock f str) | isRawFormat f = return $ literal str | otherwise = do report $ BlockNotRendered b return empty blockToOrg HorizontalRule = return $ blankline $$ "--------------" $$ blankline blockToOrg (Header level attr inlines) = do contents <- inlineListToOrg inlines let headerStr = text $ if level > 999 then " " else replicate level '*' let drawerStr = if attr == nullAttr then empty else cr <> nest (level + 1) (propertiesDrawer attr) return $ headerStr <> " " <> contents <> drawerStr <> blankline blockToOrg (CodeBlock (_,classes,kvs) str) = do let startnum = maybe "" (\x -> " " <> trimr x) $ lookup "startFrom" kvs let numberlines = if "numberLines" `elem` classes then if "continuedSourceBlock" `elem` classes then " +n" <> startnum else " -n" <> startnum else "" let at = map pandocLangToOrg classes `intersect` orgLangIdentifiers let (beg, end) = case at of [] -> ("#+BEGIN_EXAMPLE" <> numberlines, "#+END_EXAMPLE") (x:_) -> ("#+BEGIN_SRC " <> x <> numberlines, "#+END_SRC") return $ literal beg $$ nest 2 (literal str) $$ text end $$ blankline blockToOrg (BlockQuote blocks) = do contents <- blockListToOrg blocks return $ blankline $$ "#+BEGIN_QUOTE" $$ nest 2 contents $$ "#+END_QUOTE" $$ blankline blockToOrg (Table caption' _ _ headers rows) = do caption'' <- inlineListToOrg caption' let caption = if null caption' then empty else "#+CAPTION: " <> caption'' headers' <- mapM blockListToOrg headers rawRows <- mapM (mapM blockListToOrg) rows let numChars = maximum . map offset -- FIXME: width is not being used. let widthsInChars = map numChars $ transpose (headers' : rawRows) -- FIXME: Org doesn't allow blocks with height more than 1. let hpipeBlocks blocks = hcat [beg, middle, end] where sep' = vfill " | " beg = vfill "| " end = vfill " |" middle = hcat $ intersperse sep' blocks let makeRow = hpipeBlocks . zipWith lblock widthsInChars let head' = makeRow headers' rows' <- mapM (\row -> do cols <- mapM blockListToOrg row return $ makeRow cols) rows let border ch = char '|' <> char ch <> (hcat . intersperse (char ch <> char '+' <> char ch) $ map (\l -> text $ replicate l ch) widthsInChars) <> char ch <> char '|' let body = vcat rows' let head'' = if all null headers then empty else head' $$ border '-' return $ head'' $$ body $$ caption $$ blankline blockToOrg (BulletList items) = do contents <- mapM bulletListItemToOrg items -- ensure that sublists have preceding blank line return $ blankline $$ (if isTightList items then vcat else vsep) contents $$ blankline blockToOrg (OrderedList (start, _, delim) items) = do let delim' = case delim of TwoParens -> OneParen x -> x let markers = take (length items) $ orderedListMarkers (start, Decimal, delim') let maxMarkerLength = maximum $ map T.length markers let markers' = map (\m -> let s = maxMarkerLength - T.length m in m <> T.replicate s " ") markers contents <- zipWithM orderedListItemToOrg markers' items -- ensure that sublists have preceding blank line return $ blankline $$ (if isTightList items then vcat else vsep) contents $$ blankline blockToOrg (DefinitionList items) = do contents <- mapM definitionListItemToOrg items return $ vcat contents $$ blankline -- | Convert bullet list item (list of blocks) to Org. bulletListItemToOrg :: PandocMonad m => [Block] -> Org m (Doc Text) bulletListItemToOrg items = do contents <- blockListToOrg items return $ hang 2 "- " contents $$ if endsWithPlain items then cr else blankline -- | Convert ordered list item (a list of blocks) to Org. orderedListItemToOrg :: PandocMonad m => Text -- ^ marker for list item -> [Block] -- ^ list item (list of blocks) -> Org m (Doc Text) orderedListItemToOrg marker items = do contents <- blockListToOrg items return $ hang (T.length marker + 1) (literal marker <> space) contents $$ if endsWithPlain items then cr else blankline -- | Convert definition list item (label, list of blocks) to Org. definitionListItemToOrg :: PandocMonad m => ([Inline], [[Block]]) -> Org m (Doc Text) definitionListItemToOrg (label, defs) = do label' <- inlineListToOrg label contents <- vcat <$> mapM blockListToOrg defs return $ hang 2 "- " (label' <> " :: " <> contents) $$ if isTightList defs then cr else blankline -- | Convert list of key/value pairs to Org :PROPERTIES: drawer. propertiesDrawer :: Attr -> Doc Text propertiesDrawer (ident, classes, kv) = let drawerStart = text ":PROPERTIES:" drawerEnd = text ":END:" kv' = if classes == mempty then kv else ("CLASS", T.unwords classes):kv kv'' = if ident == mempty then kv' else ("CUSTOM_ID", ident):kv' properties = vcat $ map kvToOrgProperty kv'' in drawerStart <> cr <> properties <> cr <> drawerEnd where kvToOrgProperty :: (Text, Text) -> Doc Text kvToOrgProperty (key, value) = text ":" <> literal key <> text ": " <> literal value <> cr attrHtml :: Attr -> Doc Text attrHtml ("" , [] , []) = mempty attrHtml (ident, classes, kvs) = let name = if T.null ident then mempty else "#+NAME: " <> literal ident <> cr keyword = "#+ATTR_HTML" classKv = ("class", T.unwords classes) kvStrings = map (\(k,v) -> ":" <> k <> " " <> v) (classKv:kvs) in name <> keyword <> ": " <> literal (T.unwords kvStrings) <> cr -- | Convert list of Pandoc block elements to Org. blockListToOrg :: PandocMonad m => [Block] -- ^ List of block elements -> Org m (Doc Text) blockListToOrg blocks = vcat <$> mapM blockToOrg blocks -- | Convert list of Pandoc inline elements to Org. inlineListToOrg :: PandocMonad m => [Inline] -> Org m (Doc Text) inlineListToOrg lst = hcat <$> mapM inlineToOrg (fixMarkers lst) where fixMarkers [] = [] -- prevent note refs and list markers from wrapping, see #4171 fixMarkers (Space : x : rest) | shouldFix x = Str " " : x : fixMarkers rest fixMarkers (SoftBreak : x : rest) | shouldFix x = Str " " : x : fixMarkers rest fixMarkers (x : rest) = x : fixMarkers rest shouldFix Note{} = True -- Prevent footnotes shouldFix (Str "-") = True -- Prevent bullet list items -- TODO: prevent ordered list items shouldFix _ = False -- | Convert Pandoc inline element to Org. inlineToOrg :: PandocMonad m => Inline -> Org m (Doc Text) inlineToOrg (Span (uid, [], []) []) = return $ "<<" <> literal uid <> ">>" inlineToOrg (Span _ lst) = inlineListToOrg lst inlineToOrg (Emph lst) = do contents <- inlineListToOrg lst return $ "/" <> contents <> "/" inlineToOrg (Strong lst) = do contents <- inlineListToOrg lst return $ "*" <> contents <> "*" inlineToOrg (Strikeout lst) = do contents <- inlineListToOrg lst return $ "+" <> contents <> "+" inlineToOrg (Superscript lst) = do contents <- inlineListToOrg lst return $ "^{" <> contents <> "}" inlineToOrg (Subscript lst) = do contents <- inlineListToOrg lst return $ "_{" <> contents <> "}" inlineToOrg (SmallCaps lst) = inlineListToOrg lst inlineToOrg (Quoted SingleQuote lst) = do contents <- inlineListToOrg lst return $ "'" <> contents <> "'" inlineToOrg (Quoted DoubleQuote lst) = do contents <- inlineListToOrg lst return $ "\"" <> contents <> "\"" inlineToOrg (Cite _ lst) = inlineListToOrg lst inlineToOrg (Code _ str) = return $ "=" <> literal str <> "=" inlineToOrg (Str str) = return . literal $ escapeString str inlineToOrg (Math t str) = do modify $ \st -> st{ stHasMath = True } return $ if t == InlineMath then "$" <> literal str <> "$" else "$$" <> literal str <> "$$" inlineToOrg il@(RawInline f str) | isRawFormat f = return $ literal str | otherwise = do report $ InlineNotRendered il return empty inlineToOrg LineBreak = return (text "\\\\" <> cr) inlineToOrg Space = return space inlineToOrg SoftBreak = do wrapText <- gets (writerWrapText . stOptions) case wrapText of WrapPreserve -> return cr WrapAuto -> return space WrapNone -> return space inlineToOrg (Link _ txt (src, _)) = case txt of [Str x] | escapeURI x == src -> -- autolink return $ "[[" <> literal (orgPath x) <> "]]" _ -> do contents <- inlineListToOrg txt return $ "[[" <> literal (orgPath src) <> "][" <> contents <> "]]" inlineToOrg (Image _ _ (source, _)) = return $ "[[" <> literal (orgPath source) <> "]]" inlineToOrg (Note contents) = do -- add to notes in state notes <- gets stNotes modify $ \st -> st { stNotes = contents:notes } let ref = tshow $ length notes + 1 return $ "[fn:" <> literal ref <> "]" orgPath :: Text -> Text orgPath src = case T.uncons src of Nothing -> "" -- wiki link Just ('#', _) -> src -- internal link _ | isUrl src -> src _ | isFilePath src -> src _ -> "file:" <> src where isFilePath :: Text -> Bool isFilePath cs = any (`T.isPrefixOf` cs) ["/", "./", "../", "file:"] isUrl :: Text -> Bool isUrl cs = let (scheme, path) = T.break (== ':') cs in T.all (\c -> isAlphaNum c || c `elemText` ".-") scheme && not (T.null path) -- | Translate from pandoc's programming language identifiers to those used by -- org-mode. pandocLangToOrg :: Text -> Text pandocLangToOrg cs = case cs of "c" -> "C" "cpp" -> "C++" "commonlisp" -> "lisp" "r" -> "R" "bash" -> "sh" _ -> cs -- | List of language identifiers recognized by org-mode. orgLangIdentifiers :: [Text] orgLangIdentifiers = [ "asymptote", "awk", "C", "C++", "clojure", "css", "d", "ditaa", "dot" , "calc", "emacs-lisp", "fortran", "gnuplot", "haskell", "java", "js" , "latex", "ledger", "lisp", "lilypond", "matlab", "mscgen", "ocaml" , "octave", "org", "oz", "perl", "plantuml", "processing", "python", "R" , "ruby", "sass", "scheme", "screen", "sed", "sh", "sql", "sqlite" ] ��������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Powerpoint.hs������������������������������������������������0000664�0000000�0000000�00000002765�13636304630�0022225�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Text.Pandoc.Writers.Powerpoint Copyright : Copyright (C) 2017-2020 Jesse Rosenthal License : GNU GPL, version 2 or above Maintainer : Jesse Rosenthal <jrosenthal@jhu.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to powerpoint (pptx). -} {- This is a wrapper around two modules: - Text.Pandoc.Writers.Powerpoint.Presentation (which converts a pandoc document into a Presentation datatype), and - Text.Pandoc.Writers.Powerpoint.Output (which converts a Presentation into a zip archive, which can be output). -} module Text.Pandoc.Writers.Powerpoint (writePowerpoint) where import Codec.Archive.Zip import Text.Pandoc.Definition import Text.Pandoc.Walk import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Options (WriterOptions) import Text.Pandoc.Writers.Shared (fixDisplayMath) import Text.Pandoc.Writers.Powerpoint.Presentation (documentToPresentation) import Text.Pandoc.Writers.Powerpoint.Output (presentationToArchive) import qualified Data.ByteString.Lazy as BL writePowerpoint :: (PandocMonad m) => WriterOptions -- ^ Writer options -> Pandoc -- ^ Document to convert -> m BL.ByteString writePowerpoint opts (Pandoc meta blks) = do let blks' = walk fixDisplayMath blks let (pres, logMsgs) = documentToPresentation opts (Pandoc meta blks') mapM_ report logMsgs archv <- presentationToArchive opts pres return $ fromArchive archv �����������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Powerpoint/��������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0021657�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Powerpoint/Output.hs�����������������������������������������0000664�0000000�0000000�00000237101�13636304630�0023517�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-} {- | Module : Text.Pandoc.Writers.Powerpoint.Output Copyright : Copyright (C) 2017-2020 Jesse Rosenthal License : GNU GPL, version 2 or above Maintainer : Jesse Rosenthal <jrosenthal@jhu.edu> Stability : alpha Portability : portable Conversion of Presentation datatype (defined in Text.Pandoc.Writers.Powerpoint.Presentation) to a zip archive. -} module Text.Pandoc.Writers.Powerpoint.Output ( presentationToArchive ) where import Control.Monad.Except (throwError, catchError) import Control.Monad.Reader import Control.Monad.State import Codec.Archive.Zip import Data.Char (toUpper) import Data.List (intercalate, stripPrefix, nub, union, isPrefixOf, intersperse) import Data.Default import qualified Data.Text as T import Data.Time (formatTime, defaultTimeLocale) import Data.Time.Clock (UTCTime) import Data.Time.Clock.POSIX (utcTimeToPOSIXSeconds, posixSecondsToUTCTime) import System.FilePath.Posix (splitDirectories, splitExtension, takeExtension) import Text.XML.Light import Text.Pandoc.Definition import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Error (PandocError(..)) import qualified Text.Pandoc.Class.PandocMonad as P import Text.Pandoc.Options import Text.Pandoc.MIME import qualified Data.ByteString.Lazy as BL import Text.Pandoc.Writers.OOXML import qualified Data.Map as M import Data.Maybe (mapMaybe, listToMaybe, fromMaybe, maybeToList, catMaybes, isJust) import Text.Pandoc.ImageSize import Control.Applicative ((<|>)) import System.FilePath.Glob import Text.DocTemplates (FromContext(lookupContext)) import Text.TeXMath import Text.Pandoc.Writers.Math (convertMath) import Text.Pandoc.Writers.Powerpoint.Presentation import Skylighting (fromColor) -- |The 'EMU' type is used to specify sizes in English Metric Units. type EMU = Integer -- |The 'pixelsToEmu' function converts a size in pixels to one -- in English Metric Units. It assumes a DPI of 72. pixelsToEmu :: Pixels -> EMU pixelsToEmu = (12700 *) -- This populates the global ids map with images already in the -- template, so the ids won't be used by images introduced by the -- user. initialGlobalIds :: Archive -> Archive -> M.Map FilePath Int initialGlobalIds refArchive distArchive = let archiveFiles = filesInArchive refArchive `union` filesInArchive distArchive mediaPaths = filter (isPrefixOf "ppt/media/image") archiveFiles go :: FilePath -> Maybe (FilePath, Int) go fp = do s <- stripPrefix "ppt/media/image" $ fst $ splitExtension fp (n, _) <- listToMaybe $ reads s return (fp, n) in M.fromList $ mapMaybe go mediaPaths getPresentationSize :: Archive -> Archive -> Maybe (Integer, Integer) getPresentationSize refArchive distArchive = do entry <- findEntryByPath "ppt/presentation.xml" refArchive `mplus` findEntryByPath "ppt/presentation.xml" distArchive presElement <- parseXMLDoc $ UTF8.toStringLazy $ fromEntry entry let ns = elemToNameSpaces presElement sldSize <- findChild (elemName ns "p" "sldSz") presElement cxS <- findAttr (QName "cx" Nothing Nothing) sldSize cyS <- findAttr (QName "cy" Nothing Nothing) sldSize (cx, _) <- listToMaybe $ reads cxS :: Maybe (Integer, String) (cy, _) <- listToMaybe $ reads cyS :: Maybe (Integer, String) return (cx `div` 12700, cy `div` 12700) data WriterEnv = WriterEnv { envRefArchive :: Archive , envDistArchive :: Archive , envUTCTime :: UTCTime , envOpts :: WriterOptions , envPresentationSize :: (Integer, Integer) , envSlideHasHeader :: Bool , envInList :: Bool , envInNoteSlide :: Bool , envCurSlideId :: Int -- the difference between the number at -- the end of the slide file name and -- the rId number , envSlideIdOffset :: Int , envContentType :: ContentType , envSlideIdMap :: M.Map SlideId Int -- maps the slide number to the -- corresponding notes id number. If there -- are no notes for a slide, there will be -- no entry in the map for it. , envSpeakerNotesIdMap :: M.Map Int Int } deriving (Show) instance Default WriterEnv where def = WriterEnv { envRefArchive = emptyArchive , envDistArchive = emptyArchive , envUTCTime = posixSecondsToUTCTime 0 , envOpts = def , envPresentationSize = (720, 540) , envSlideHasHeader = False , envInList = False , envInNoteSlide = False , envCurSlideId = 1 , envSlideIdOffset = 1 , envContentType = NormalContent , envSlideIdMap = mempty , envSpeakerNotesIdMap = mempty } data ContentType = NormalContent | TwoColumnLeftContent | TwoColumnRightContent deriving (Show, Eq) data MediaInfo = MediaInfo { mInfoFilePath :: FilePath , mInfoLocalId :: Int , mInfoGlobalId :: Int , mInfoMimeType :: Maybe MimeType , mInfoExt :: Maybe T.Text , mInfoCaption :: Bool } deriving (Show, Eq) data WriterState = WriterState { stLinkIds :: M.Map Int (M.Map Int LinkTarget) -- (FP, Local ID, Global ID, Maybe Mime) , stMediaIds :: M.Map Int [MediaInfo] , stMediaGlobalIds :: M.Map FilePath Int } deriving (Show, Eq) instance Default WriterState where def = WriterState { stLinkIds = mempty , stMediaIds = mempty , stMediaGlobalIds = mempty } type P m = ReaderT WriterEnv (StateT WriterState m) runP :: Monad m => WriterEnv -> WriterState -> P m a -> m a runP env st p = evalStateT (runReaderT p env) st -------------------------------------------------------------------- findAttrText :: QName -> Element -> Maybe T.Text findAttrText n = fmap T.pack . findAttr n monospaceFont :: Monad m => P m T.Text monospaceFont = do vars <- writerVariables <$> asks envOpts case lookupContext "monofont" vars of Just s -> return s Nothing -> return "Courier" -- Kept as string for XML.Light fontSizeAttributes :: Monad m => RunProps -> P m [(String, String)] fontSizeAttributes RunProps { rPropForceSize = Just sz } = return [("sz", show $ sz * 100)] fontSizeAttributes _ = return [] copyFileToArchive :: PandocMonad m => Archive -> FilePath -> P m Archive copyFileToArchive arch fp = do refArchive <- asks envRefArchive distArchive <- asks envDistArchive case findEntryByPath fp refArchive `mplus` findEntryByPath fp distArchive of Nothing -> throwError $ PandocSomeError $ T.pack $ fp <> " missing in reference file" Just e -> return $ addEntryToArchive e arch alwaysInheritedPatterns :: [Pattern] alwaysInheritedPatterns = map compile [ "docProps/app.xml" , "ppt/slideLayouts/slideLayout*.xml" , "ppt/slideLayouts/_rels/slideLayout*.xml.rels" , "ppt/slideMasters/slideMaster1.xml" , "ppt/slideMasters/_rels/slideMaster1.xml.rels" , "ppt/theme/theme1.xml" , "ppt/theme/_rels/theme1.xml.rels" , "ppt/presProps.xml" , "ppt/tableStyles.xml" , "ppt/media/image*" ] -- We only look for these under special conditions contingentInheritedPatterns :: Presentation -> [Pattern] contingentInheritedPatterns pres = [] <> if presHasSpeakerNotes pres then map compile [ "ppt/notesMasters/notesMaster*.xml" , "ppt/notesMasters/_rels/notesMaster*.xml.rels" , "ppt/theme/theme2.xml" , "ppt/theme/_rels/theme2.xml.rels" ] else [] inheritedPatterns :: Presentation -> [Pattern] inheritedPatterns pres = alwaysInheritedPatterns <> contingentInheritedPatterns pres patternToFilePaths :: PandocMonad m => Pattern -> P m [FilePath] patternToFilePaths pat = do refArchive <- asks envRefArchive distArchive <- asks envDistArchive let archiveFiles = filesInArchive refArchive `union` filesInArchive distArchive return $ filter (match pat) archiveFiles patternsToFilePaths :: PandocMonad m => [Pattern] -> P m [FilePath] patternsToFilePaths pats = concat <$> mapM patternToFilePaths pats -- Here are the files we'll require to make a Powerpoint document. If -- any of these are missing, we should error out of our build. requiredFiles :: [FilePath] requiredFiles = [ "docProps/app.xml" , "ppt/presProps.xml" , "ppt/slideLayouts/slideLayout1.xml" , "ppt/slideLayouts/_rels/slideLayout1.xml.rels" , "ppt/slideLayouts/slideLayout2.xml" , "ppt/slideLayouts/_rels/slideLayout2.xml.rels" , "ppt/slideLayouts/slideLayout3.xml" , "ppt/slideLayouts/_rels/slideLayout3.xml.rels" , "ppt/slideLayouts/slideLayout4.xml" , "ppt/slideLayouts/_rels/slideLayout4.xml.rels" , "ppt/slideMasters/slideMaster1.xml" , "ppt/slideMasters/_rels/slideMaster1.xml.rels" , "ppt/theme/theme1.xml" , "ppt/tableStyles.xml" ] presentationToArchiveP :: PandocMonad m => Presentation -> P m Archive presentationToArchiveP p@(Presentation docProps slides) = do filePaths <- patternsToFilePaths $ inheritedPatterns p -- make sure all required files are available: let missingFiles = filter (`notElem` filePaths) requiredFiles unless (null missingFiles) (throwError $ PandocSomeError $ "The following required files are missing:\n" <> T.unlines (map (T.pack . (" " <>)) missingFiles) ) newArch' <- foldM copyFileToArchive emptyArchive filePaths -- we make a modified ppt/viewProps.xml out of the presentation viewProps viewPropsEntry <- makeViewPropsEntry -- we make a docProps/core.xml entry out of the presentation docprops docPropsEntry <- docPropsToEntry docProps -- we make a docProps/custom.xml entry out of the custom properties docCustomPropsEntry <- docCustomPropsToEntry docProps -- we make this ourself in case there's something unexpected in the -- one in the reference doc. relsEntry <- topLevelRelsEntry -- presentation entry and rels. We have to do the rels first to make -- sure we know the correct offset for the rIds. presEntry <- presentationToPresEntry p presRelsEntry <- presentationToRelsEntry p slideEntries <- mapM slideToEntry slides slideRelEntries <- mapM slideToSlideRelEntry slides spkNotesEntries <- catMaybes <$> mapM slideToSpeakerNotesEntry slides spkNotesRelEntries <- catMaybes <$> mapM slideToSpeakerNotesRelEntry slides -- These have to come after everything, because they need the info -- built up in the state. mediaEntries <- makeMediaEntries contentTypesEntry <- presentationToContentTypes p >>= contentTypesToEntry -- fold everything into our inherited archive and return it. return $ foldr addEntryToArchive newArch' $ slideEntries <> slideRelEntries <> spkNotesEntries <> spkNotesRelEntries <> mediaEntries <> [contentTypesEntry, docPropsEntry, docCustomPropsEntry, relsEntry, presEntry, presRelsEntry, viewPropsEntry] makeSlideIdMap :: Presentation -> M.Map SlideId Int makeSlideIdMap (Presentation _ slides) = M.fromList $ map slideId slides `zip` [1..] makeSpeakerNotesMap :: Presentation -> M.Map Int Int makeSpeakerNotesMap (Presentation _ slides) = M.fromList $ mapMaybe f (slides `zip` [1..]) `zip` [1..] where f (Slide _ _ notes, n) = if notes == mempty then Nothing else Just n presentationToArchive :: PandocMonad m => WriterOptions -> Presentation -> m Archive presentationToArchive opts pres = do distArchive <- (toArchive . BL.fromStrict) <$> P.readDefaultDataFile "reference.pptx" refArchive <- case writerReferenceDoc opts of Just f -> toArchive <$> P.readFileLazy f Nothing -> (toArchive . BL.fromStrict) <$> P.readDataFile "reference.pptx" utctime <- P.getCurrentTime presSize <- case getPresentationSize refArchive distArchive of Just sz -> return sz Nothing -> throwError $ PandocSomeError "Could not determine presentation size" let env = def { envRefArchive = refArchive , envDistArchive = distArchive , envUTCTime = utctime , envOpts = opts , envPresentationSize = presSize , envSlideIdMap = makeSlideIdMap pres , envSpeakerNotesIdMap = makeSpeakerNotesMap pres } let st = def { stMediaGlobalIds = initialGlobalIds refArchive distArchive } runP env st $ presentationToArchiveP pres -------------------------------------------------- -- Check to see if the presentation has speaker notes. This will -- influence whether we import the notesMaster template. presHasSpeakerNotes :: Presentation -> Bool presHasSpeakerNotes (Presentation _ slides) = not $ all ((mempty ==) . slideSpeakerNotes) slides curSlideHasSpeakerNotes :: PandocMonad m => P m Bool curSlideHasSpeakerNotes = M.member <$> asks envCurSlideId <*> asks envSpeakerNotesIdMap -------------------------------------------------- getLayout :: PandocMonad m => Layout -> P m Element getLayout layout = do let layoutpath = case layout of (MetadataSlide{}) -> "ppt/slideLayouts/slideLayout1.xml" (TitleSlide _) -> "ppt/slideLayouts/slideLayout3.xml" (ContentSlide _ _) -> "ppt/slideLayouts/slideLayout2.xml" (TwoColumnSlide{}) -> "ppt/slideLayouts/slideLayout4.xml" refArchive <- asks envRefArchive distArchive <- asks envDistArchive parseXml refArchive distArchive layoutpath shapeHasId :: NameSpaces -> T.Text -> Element -> Bool shapeHasId ns ident element | Just nvSpPr <- findChild (elemName ns "p" "nvSpPr") element , Just cNvPr <- findChild (elemName ns "p" "cNvPr") nvSpPr , Just nm <- findAttrText (QName "id" Nothing Nothing) cNvPr = nm == ident | otherwise = False getContentShape :: PandocMonad m => NameSpaces -> Element -> P m Element getContentShape ns spTreeElem | isElem ns "p" "spTree" spTreeElem = do contentType <- asks envContentType let contentShapes = getShapesByPlaceHolderType ns spTreeElem ObjType case contentType of NormalContent | (sp : _) <- contentShapes -> return sp TwoColumnLeftContent | (sp : _) <- contentShapes -> return sp TwoColumnRightContent | (_ : sp : _) <- contentShapes -> return sp _ -> throwError $ PandocSomeError "Could not find shape for Powerpoint content" getContentShape _ _ = throwError $ PandocSomeError "Attempted to find content on non shapeTree" getShapeDimensions :: NameSpaces -> Element -> Maybe ((Integer, Integer), (Integer, Integer)) getShapeDimensions ns element | isElem ns "p" "sp" element = do spPr <- findChild (elemName ns "p" "spPr") element xfrm <- findChild (elemName ns "a" "xfrm") spPr off <- findChild (elemName ns "a" "off") xfrm xS <- findAttr (QName "x" Nothing Nothing) off yS <- findAttr (QName "y" Nothing Nothing) off ext <- findChild (elemName ns "a" "ext") xfrm cxS <- findAttr (QName "cx" Nothing Nothing) ext cyS <- findAttr (QName "cy" Nothing Nothing) ext (x, _) <- listToMaybe $ reads xS (y, _) <- listToMaybe $ reads yS (cx, _) <- listToMaybe $ reads cxS (cy, _) <- listToMaybe $ reads cyS return ((x `div` 12700, y `div` 12700), (cx `div` 12700, cy `div` 12700)) | otherwise = Nothing getMasterShapeDimensionsById :: T.Text -> Element -> Maybe ((Integer, Integer), (Integer, Integer)) getMasterShapeDimensionsById ident master = do let ns = elemToNameSpaces master cSld <- findChild (elemName ns "p" "cSld") master spTree <- findChild (elemName ns "p" "spTree") cSld sp <- filterChild (\e -> isElem ns "p" "sp" e && shapeHasId ns ident e) spTree getShapeDimensions ns sp getContentShapeSize :: PandocMonad m => NameSpaces -> Element -> Element -> P m ((Integer, Integer), (Integer, Integer)) getContentShapeSize ns layout master | isElem ns "p" "sldLayout" layout , Just cSld <- findChild (elemName ns "p" "cSld") layout , Just spTree <- findChild (elemName ns "p" "spTree") cSld = do sp <- getContentShape ns spTree case getShapeDimensions ns sp of Just sz -> return sz Nothing -> do let mbSz = findChild (elemName ns "p" "nvSpPr") sp >>= findChild (elemName ns "p" "cNvPr") >>= findAttrText (QName "id" Nothing Nothing) >>= flip getMasterShapeDimensionsById master case mbSz of Just sz' -> return sz' Nothing -> throwError $ PandocSomeError "Couldn't find necessary content shape size" getContentShapeSize _ _ _ = throwError $ PandocSomeError "Attempted to find content shape size in non-layout" buildSpTree :: NameSpaces -> Element -> [Element] -> Element buildSpTree ns spTreeElem newShapes = emptySpTreeElem { elContent = newContent } where newContent = elContent emptySpTreeElem <> map Elem newShapes emptySpTreeElem = spTreeElem { elContent = filter fn (elContent spTreeElem) } fn :: Content -> Bool fn (Elem e) = isElem ns "p" "nvGrpSpPr" e || isElem ns "p" "grpSpPr" e fn _ = True replaceNamedChildren :: NameSpaces -> String -> String -> [Element] -> Element -> Element replaceNamedChildren ns prefix name newKids element = element { elContent = concat $ fun True $ elContent element } where fun :: Bool -> [Content] -> [[Content]] fun _ [] = [] fun switch (Elem e : conts) | isElem ns prefix name e = if switch then map Elem newKids : fun False conts else fun False conts fun switch (cont : conts) = [cont] : fun switch conts ---------------------------------------------------------------- registerLink :: PandocMonad m => LinkTarget -> P m Int registerLink link = do curSlideId <- asks envCurSlideId linkReg <- gets stLinkIds mediaReg <- gets stMediaIds hasSpeakerNotes <- curSlideHasSpeakerNotes let maxLinkId = case M.lookup curSlideId linkReg of Just mp -> case M.keys mp of [] -> if hasSpeakerNotes then 2 else 1 ks -> maximum ks Nothing -> if hasSpeakerNotes then 2 else 1 maxMediaId = case M.lookup curSlideId mediaReg of Just [] -> if hasSpeakerNotes then 2 else 1 Just mInfos -> maximum $ map mInfoLocalId mInfos Nothing -> if hasSpeakerNotes then 2 else 1 maxId = max maxLinkId maxMediaId slideLinks = case M.lookup curSlideId linkReg of Just mp -> M.insert (maxId + 1) link mp Nothing -> M.singleton (maxId + 1) link modify $ \st -> st{ stLinkIds = M.insert curSlideId slideLinks linkReg} return $ maxId + 1 registerMedia :: PandocMonad m => FilePath -> [ParaElem] -> P m MediaInfo registerMedia fp caption = do curSlideId <- asks envCurSlideId linkReg <- gets stLinkIds mediaReg <- gets stMediaIds globalIds <- gets stMediaGlobalIds hasSpeakerNotes <- curSlideHasSpeakerNotes let maxLinkId = case M.lookup curSlideId linkReg of Just mp -> case M.keys mp of [] -> if hasSpeakerNotes then 2 else 1 ks -> maximum ks Nothing -> if hasSpeakerNotes then 2 else 1 maxMediaId = case M.lookup curSlideId mediaReg of Just [] -> if hasSpeakerNotes then 2 else 1 Just mInfos -> maximum $ map mInfoLocalId mInfos Nothing -> if hasSpeakerNotes then 2 else 1 maxLocalId = max maxLinkId maxMediaId maxGlobalId = case M.elems globalIds of [] -> 0 ids -> maximum ids (imgBytes, mbMt) <- P.fetchItem $ T.pack fp let imgExt = (mbMt >>= extensionFromMimeType >>= (\x -> return $ "." <> x)) <|> case imageType imgBytes of Just Png -> Just ".png" Just Jpeg -> Just ".jpeg" Just Gif -> Just ".gif" Just Pdf -> Just ".pdf" Just Eps -> Just ".eps" Just Svg -> Just ".svg" Just Emf -> Just ".emf" Nothing -> Nothing let newGlobalId = fromMaybe (maxGlobalId + 1) (M.lookup fp globalIds) let newGlobalIds = M.insert fp newGlobalId globalIds let mediaInfo = MediaInfo { mInfoFilePath = fp , mInfoLocalId = maxLocalId + 1 , mInfoGlobalId = newGlobalId , mInfoMimeType = mbMt , mInfoExt = imgExt , mInfoCaption = (not . null) caption } let slideMediaInfos = case M.lookup curSlideId mediaReg of Just minfos -> mediaInfo : minfos Nothing -> [mediaInfo] modify $ \st -> st{ stMediaIds = M.insert curSlideId slideMediaInfos mediaReg , stMediaGlobalIds = newGlobalIds } return mediaInfo makeMediaEntry :: PandocMonad m => MediaInfo -> P m Entry makeMediaEntry mInfo = do epochtime <- (floor . utcTimeToPOSIXSeconds) <$> asks envUTCTime (imgBytes, _) <- P.fetchItem (T.pack $ mInfoFilePath mInfo) let ext = fromMaybe "" (mInfoExt mInfo) let fp = "ppt/media/image" <> show (mInfoGlobalId mInfo) <> T.unpack ext return $ toEntry fp epochtime $ BL.fromStrict imgBytes makeMediaEntries :: PandocMonad m => P m [Entry] makeMediaEntries = do mediaInfos <- gets stMediaIds let allInfos = mconcat $ M.elems mediaInfos mapM makeMediaEntry allInfos -- -- | Scales the image to fit the page -- -- sizes are passed in emu -- fitToPage' :: (Double, Double) -- image size in emu -- -> Integer -- pageWidth -- -> Integer -- pageHeight -- -> (Integer, Integer) -- imagesize -- fitToPage' (x, y) pageWidth pageHeight -- -- Fixes width to the page width and scales the height -- | x <= fromIntegral pageWidth && y <= fromIntegral pageHeight = -- (floor x, floor y) -- | x / fromIntegral pageWidth > y / fromIntegral pageWidth = -- (pageWidth, floor $ ((fromIntegral pageWidth) / x) * y) -- | otherwise = -- (floor $ ((fromIntegral pageHeight) / y) * x, pageHeight) -- positionImage :: (Double, Double) -> Integer -> Integer -> (Integer, Integer) -- positionImage (x, y) pageWidth pageHeight = -- let (x', y') = fitToPage' (x, y) pageWidth pageHeight -- in -- ((pageWidth - x') `div` 2, (pageHeight - y') `div` 2) getMaster :: PandocMonad m => P m Element getMaster = do refArchive <- asks envRefArchive distArchive <- asks envDistArchive parseXml refArchive distArchive "ppt/slideMasters/slideMaster1.xml" -- We want to get the header dimensions, so we can make sure that the -- image goes underneath it. We only use this in a content slide if it -- has a header. -- getHeaderSize :: PandocMonad m => P m ((Integer, Integer), (Integer, Integer)) -- getHeaderSize = do -- master <- getMaster -- let ns = elemToNameSpaces master -- sps = [master] >>= -- findChildren (elemName ns "p" "cSld") >>= -- findChildren (elemName ns "p" "spTree") >>= -- findChildren (elemName ns "p" "sp") -- mbXfrm = -- listToMaybe (filter (shapeHasName ns "Title Placeholder 1") sps) >>= -- findChild (elemName ns "p" "spPr") >>= -- findChild (elemName ns "a" "xfrm") -- xoff = mbXfrm >>= -- findChild (elemName ns "a" "off") >>= -- findAttr (QName "x" Nothing Nothing) >>= -- (listToMaybe . (\s -> reads s :: [(Integer, String)])) -- yoff = mbXfrm >>= -- findChild (elemName ns "a" "off") >>= -- findAttr (QName "y" Nothing Nothing) >>= -- (listToMaybe . (\s -> reads s :: [(Integer, String)])) -- xext = mbXfrm >>= -- findChild (elemName ns "a" "ext") >>= -- findAttr (QName "cx" Nothing Nothing) >>= -- (listToMaybe . (\s -> reads s :: [(Integer, String)])) -- yext = mbXfrm >>= -- findChild (elemName ns "a" "ext") >>= -- findAttr (QName "cy" Nothing Nothing) >>= -- (listToMaybe . (\s -> reads s :: [(Integer, String)])) -- off = case xoff of -- Just (xoff', _) | Just (yoff',_) <- yoff -> (xoff', yoff') -- _ -> (1043490, 1027664) -- ext = case xext of -- Just (xext', _) | Just (yext',_) <- yext -> (xext', yext') -- _ -> (7024744, 1143000) -- return $ (off, ext) -- Hard-coded for now -- captionPosition :: ((Integer, Integer), (Integer, Integer)) -- captionPosition = ((457200, 6061972), (8229600, 527087)) captionHeight :: Integer captionHeight = 40 createCaption :: PandocMonad m => ((Integer, Integer), (Integer, Integer)) -> [ParaElem] -> P m Element createCaption contentShapeDimensions paraElements = do let para = Paragraph def{pPropAlign = Just AlgnCenter} paraElements elements <- mapM paragraphToElement [para] let ((x, y), (cx, cy)) = contentShapeDimensions let txBody = mknode "p:txBody" [] $ [mknode "a:bodyPr" [] (), mknode "a:lstStyle" [] ()] <> elements return $ mknode "p:sp" [] [ mknode "p:nvSpPr" [] [ mknode "p:cNvPr" [("id","1"), ("name","TextBox 3")] () , mknode "p:cNvSpPr" [("txBox", "1")] () , mknode "p:nvPr" [] () ] , mknode "p:spPr" [] [ mknode "a:xfrm" [] [ mknode "a:off" [("x", show $ 12700 * x), ("y", show $ 12700 * (y + cy - captionHeight))] () , mknode "a:ext" [("cx", show $ 12700 * cx), ("cy", show $ 12700 * captionHeight)] () ] , mknode "a:prstGeom" [("prst", "rect")] [ mknode "a:avLst" [] () ] , mknode "a:noFill" [] () ] , txBody ] makePicElements :: PandocMonad m => Element -> PicProps -> MediaInfo -> [ParaElem] -> P m [Element] makePicElements layout picProps mInfo alt = do opts <- asks envOpts (pageWidth, pageHeight) <- asks envPresentationSize -- hasHeader <- asks envSlideHasHeader let hasCaption = mInfoCaption mInfo (imgBytes, _) <- P.fetchItem (T.pack $ mInfoFilePath mInfo) let (pxX, pxY) = case imageSize opts imgBytes of Right sz -> sizeInPixels sz Left _ -> sizeInPixels def master <- getMaster let ns = elemToNameSpaces layout ((x, y), (cx, cytmp)) <- getContentShapeSize ns layout master `catchError` (\_ -> return ((0, 0), (pageWidth, pageHeight))) let cy = if hasCaption then cytmp - captionHeight else cytmp let imgRatio = fromIntegral pxX / fromIntegral pxY :: Double boxRatio = fromIntegral cx / fromIntegral cy :: Double (dimX, dimY) = if imgRatio > boxRatio then (fromIntegral cx, fromIntegral cx / imgRatio) else (fromIntegral cy * imgRatio, fromIntegral cy) (dimX', dimY') = (round dimX * 12700, round dimY * 12700) :: (Integer, Integer) (xoff, yoff) = (fromIntegral x + (fromIntegral cx - dimX) / 2, fromIntegral y + (fromIntegral cy - dimY) / 2) (xoff', yoff') = (round xoff * 12700, round yoff * 12700) :: (Integer, Integer) let cNvPicPr = mknode "p:cNvPicPr" [] $ mknode "a:picLocks" [("noGrp","1") ,("noChangeAspect","1")] () -- cNvPr will contain the link information so we do that separately, -- and register the link if necessary. let cNvPrAttr = [("descr", mInfoFilePath mInfo), ("id","0"),("name","Picture 1")] cNvPr <- case picPropLink picProps of Just link -> do idNum <- registerLink link return $ mknode "p:cNvPr" cNvPrAttr $ mknode "a:hlinkClick" [("r:id", "rId" <> show idNum)] () Nothing -> return $ mknode "p:cNvPr" cNvPrAttr () let nvPicPr = mknode "p:nvPicPr" [] [ cNvPr , cNvPicPr , mknode "p:nvPr" [] ()] let blipFill = mknode "p:blipFill" [] [ mknode "a:blip" [("r:embed", "rId" <> show (mInfoLocalId mInfo))] () , mknode "a:stretch" [] $ mknode "a:fillRect" [] () ] let xfrm = mknode "a:xfrm" [] [ mknode "a:off" [("x",show xoff'), ("y",show yoff')] () , mknode "a:ext" [("cx",show dimX') ,("cy",show dimY')] () ] let prstGeom = mknode "a:prstGeom" [("prst","rect")] $ mknode "a:avLst" [] () let ln = mknode "a:ln" [("w","9525")] [ mknode "a:noFill" [] () , mknode "a:headEnd" [] () , mknode "a:tailEnd" [] () ] let spPr = mknode "p:spPr" [("bwMode","auto")] [xfrm, prstGeom, mknode "a:noFill" [] (), ln] let picShape = mknode "p:pic" [] [ nvPicPr , blipFill , spPr ] -- And now, maybe create the caption: if hasCaption then do cap <- createCaption ((x, y), (cx, cytmp)) alt return [picShape, cap] else return [picShape] paraElemToElements :: PandocMonad m => ParaElem -> P m [Element] paraElemToElements Break = return [mknode "a:br" [] ()] paraElemToElements (Run rpr s) = do sizeAttrs <- fontSizeAttributes rpr let attrs = sizeAttrs <> ( [("b", "1") | rPropBold rpr]) <> ( [("i", "1") | rPropItalics rpr]) <> ( [("u", "sng") | rPropUnderline rpr]) <> (case rStrikethrough rpr of Just NoStrike -> [("strike", "noStrike")] Just SingleStrike -> [("strike", "sngStrike")] Just DoubleStrike -> [("strike", "dblStrike")] Nothing -> []) <> (case rBaseline rpr of Just n -> [("baseline", show n)] Nothing -> []) <> (case rCap rpr of Just NoCapitals -> [("cap", "none")] Just SmallCapitals -> [("cap", "small")] Just AllCapitals -> [("cap", "all")] Nothing -> []) <> [] linkProps <- case rLink rpr of Just link -> do idNum <- registerLink link -- first we have to make sure that if it's an -- anchor, it's in the anchor map. If not, there's -- no link. return $ case link of InternalTarget _ -> let linkAttrs = [ ("r:id", "rId" <> show idNum) , ("action", "ppaction://hlinksldjump") ] in [mknode "a:hlinkClick" linkAttrs ()] -- external ExternalTarget _ -> let linkAttrs = [ ("r:id", "rId" <> show idNum) ] in [mknode "a:hlinkClick" linkAttrs ()] Nothing -> return [] let colorContents = case rSolidFill rpr of Just color -> case fromColor color of '#':hx -> [mknode "a:solidFill" [] [mknode "a:srgbClr" [("val", map toUpper hx)] ()] ] _ -> [] Nothing -> [] codeFont <- monospaceFont let codeContents = [mknode "a:latin" [("typeface", T.unpack codeFont)] () | rPropCode rpr] let propContents = linkProps <> colorContents <> codeContents return [mknode "a:r" [] [ mknode "a:rPr" attrs propContents , mknode "a:t" [] $ T.unpack s ]] paraElemToElements (MathElem mathType texStr) = do res <- convertMath writeOMML mathType (unTeXString texStr) case res of Right r -> return [mknode "a14:m" [] $ addMathInfo r] Left (Str s) -> paraElemToElements (Run def s) Left _ -> throwError $ PandocShouldNeverHappenError "non-string math fallback" paraElemToElements (RawOOXMLParaElem str) = return [ x | Elem x <- parseXML str ] -- This is a bit of a kludge -- really requires adding an option to -- TeXMath, but since that's a different package, we'll do this one -- step at a time. addMathInfo :: Element -> Element addMathInfo element = let mathspace = Attr { attrKey = QName "m" Nothing (Just "xmlns") , attrVal = "http://schemas.openxmlformats.org/officeDocument/2006/math" } in add_attr mathspace element -- We look through the element to see if it contains an a14:m -- element. If so, we surround it. This is a bit ugly, but it seems -- more dependable than looking through shapes for math. Plus this is -- an xml implementation detail, so it seems to make sense to do it at -- the xml level. surroundWithMathAlternate :: Element -> Element surroundWithMathAlternate element = case findElement (QName "m" Nothing (Just "a14")) element of Just _ -> mknode "mc:AlternateContent" [("xmlns:mc", "http://schemas.openxmlformats.org/markup-compatibility/2006") ] [ mknode "mc:Choice" [ ("xmlns:a14", "http://schemas.microsoft.com/office/drawing/2010/main") , ("Requires", "a14")] [ element ] ] Nothing -> element paragraphToElement :: PandocMonad m => Paragraph -> P m Element paragraphToElement par = do let attrs = [("lvl", show $ pPropLevel $ paraProps par)] <> (case pPropMarginLeft (paraProps par) of Just px -> [("marL", show $ pixelsToEmu px)] Nothing -> [] ) <> (case pPropIndent (paraProps par) of Just px -> [("indent", show $ pixelsToEmu px)] Nothing -> [] ) <> (case pPropAlign (paraProps par) of Just AlgnLeft -> [("algn", "l")] Just AlgnRight -> [("algn", "r")] Just AlgnCenter -> [("algn", "ctr")] Nothing -> [] ) props = [] <> (case pPropSpaceBefore $ paraProps par of Just px -> [mknode "a:spcBef" [] [ mknode "a:spcPts" [("val", show $ 100 * px)] () ] ] Nothing -> [] ) <> (case pPropBullet $ paraProps par of Just Bullet -> [] Just (AutoNumbering attrs') -> [mknode "a:buAutoNum" (autoNumAttrs attrs') ()] Nothing -> [mknode "a:buNone" [] ()] ) paras <- concat <$> mapM paraElemToElements (paraElems par) return $ mknode "a:p" [] $ [mknode "a:pPr" attrs props] <> paras shapeToElement :: PandocMonad m => Element -> Shape -> P m Element shapeToElement layout (TextBox paras) | ns <- elemToNameSpaces layout , Just cSld <- findChild (elemName ns "p" "cSld") layout , Just spTree <- findChild (elemName ns "p" "spTree") cSld = do sp <- getContentShape ns spTree elements <- mapM paragraphToElement paras let txBody = mknode "p:txBody" [] $ [mknode "a:bodyPr" [] (), mknode "a:lstStyle" [] ()] <> elements emptySpPr = mknode "p:spPr" [] () return . surroundWithMathAlternate . replaceNamedChildren ns "p" "txBody" [txBody] . replaceNamedChildren ns "p" "spPr" [emptySpPr] $ sp -- GraphicFrame and Pic should never reach this. shapeToElement _ _ = return $ mknode "p:sp" [] () shapeToElements :: PandocMonad m => Element -> Shape -> P m [Element] shapeToElements layout (Pic picProps fp alt) = do mInfo <- registerMedia fp alt case mInfoExt mInfo of Just _ -> makePicElements layout picProps mInfo alt Nothing -> shapeToElements layout $ TextBox [Paragraph def alt] shapeToElements layout (GraphicFrame tbls cptn) = graphicFrameToElements layout tbls cptn shapeToElements _ (RawOOXMLShape str) = return [ x | Elem x <- parseXML str ] shapeToElements layout shp = do element <- shapeToElement layout shp return [element] shapesToElements :: PandocMonad m => Element -> [Shape] -> P m [Element] shapesToElements layout shps = concat <$> mapM (shapeToElements layout) shps graphicFrameToElements :: PandocMonad m => Element -> [Graphic] -> [ParaElem] -> P m [Element] graphicFrameToElements layout tbls caption = do -- get the sizing master <- getMaster (pageWidth, pageHeight) <- asks envPresentationSize let ns = elemToNameSpaces layout ((x, y), (cx, cytmp)) <- getContentShapeSize ns layout master `catchError` (\_ -> return ((0, 0), (pageWidth, pageHeight))) let cy = if not $ null caption then cytmp - captionHeight else cytmp elements <- mapM (graphicToElement cx) tbls let graphicFrameElts = mknode "p:graphicFrame" [] $ [ mknode "p:nvGraphicFramePr" [] [ mknode "p:cNvPr" [("id", "6"), ("name", "Content Placeholder 5")] () , mknode "p:cNvGraphicFramePr" [] [mknode "a:graphicFrameLocks" [("noGrp", "1")] ()] , mknode "p:nvPr" [] [mknode "p:ph" [("idx", "1")] ()] ] , mknode "p:xfrm" [] [ mknode "a:off" [("x", show $ 12700 * x), ("y", show $ 12700 * y)] () , mknode "a:ext" [("cx", show $ 12700 * cx), ("cy", show $ 12700 * cy)] () ] ] <> elements if not $ null caption then do capElt <- createCaption ((x, y), (cx, cytmp)) caption return [graphicFrameElts, capElt] else return [graphicFrameElts] getDefaultTableStyle :: PandocMonad m => P m (Maybe T.Text) getDefaultTableStyle = do refArchive <- asks envRefArchive distArchive <- asks envDistArchive tblStyleLst <- parseXml refArchive distArchive "ppt/tableStyles.xml" return $ findAttrText (QName "def" Nothing Nothing) tblStyleLst graphicToElement :: PandocMonad m => Integer -> Graphic -> P m Element graphicToElement tableWidth (Tbl tblPr hdrCells rows) = do let colWidths = if null hdrCells then case rows of r : _ | not (null r) -> replicate (length r) $ tableWidth `div` toInteger (length r) -- satisfy the compiler. This is the same as -- saying that rows is empty, but the compiler -- won't understand that `[]` exhausts the -- alternatives. _ -> [] else replicate (length hdrCells) $ tableWidth `div` toInteger (length hdrCells) let cellToOpenXML paras = do elements <- mapM paragraphToElement paras let elements' = if null elements then [mknode "a:p" [] [mknode "a:endParaRPr" [] ()]] else elements return [mknode "a:txBody" [] $ [ mknode "a:bodyPr" [] () , mknode "a:lstStyle" [] ()] <> elements'] headers' <- mapM cellToOpenXML hdrCells rows' <- mapM (mapM cellToOpenXML) rows let borderProps = mknode "a:tcPr" [] () let emptyCell = [mknode "a:p" [] [mknode "a:pPr" [] ()]] let mkcell border contents = mknode "a:tc" [] $ (if null contents then emptyCell else contents) <> [ borderProps | border ] let mkrow border cells = mknode "a:tr" [("h", "0")] $ map (mkcell border) cells let mkgridcol w = mknode "a:gridCol" [("w", show ((12700 * w) :: Integer))] () let hasHeader = not (all null hdrCells) mbDefTblStyle <- getDefaultTableStyle let tblPrElt = mknode "a:tblPr" [ ("firstRow", if tblPrFirstRow tblPr then "1" else "0") , ("bandRow", if tblPrBandRow tblPr then "1" else "0") ] (case mbDefTblStyle of Nothing -> [] Just sty -> [mknode "a:tableStyleId" [] $ T.unpack sty]) return $ mknode "a:graphic" [] [mknode "a:graphicData" [("uri", "http://schemas.openxmlformats.org/drawingml/2006/table")] [mknode "a:tbl" [] $ [ tblPrElt , mknode "a:tblGrid" [] (if all (==0) colWidths then [] else map mkgridcol colWidths) ] <> [ mkrow True headers' | hasHeader ] <> map (mkrow False) rows' ] ] -- We get the shape by placeholder type. If there is NO type, it -- defaults to a content placeholder. data PHType = PHType T.Text | ObjType deriving (Show, Eq) findPHType :: NameSpaces -> Element -> PHType -> Bool findPHType ns spElem phType | isElem ns "p" "sp" spElem = let mbPHElem = (Just spElem >>= findChild (elemName ns "p" "nvSpPr") >>= findChild (elemName ns "p" "nvPr") >>= findChild (elemName ns "p" "ph")) in case mbPHElem of -- if it's a named PHType, we want to check that the attribute -- value matches. Just phElem | (PHType tp) <- phType -> case findAttrText (QName "type" Nothing Nothing) phElem of Just tp' -> tp == tp' Nothing -> False -- if it's an ObjType, we want to check that there is NO -- "type" attribute. In other words, a lookup should return nothing. Just phElem | ObjType <- phType -> case findAttr (QName "type" Nothing Nothing) phElem of Just _ -> False Nothing -> True Nothing -> False findPHType _ _ _ = False getShapesByPlaceHolderType :: NameSpaces -> Element -> PHType -> [Element] getShapesByPlaceHolderType ns spTreeElem phType | isElem ns "p" "spTree" spTreeElem = filterChildren (\e -> findPHType ns e phType) spTreeElem | otherwise = [] getShapeByPlaceHolderType :: NameSpaces -> Element -> PHType -> Maybe Element getShapeByPlaceHolderType ns spTreeElem phType = listToMaybe $ getShapesByPlaceHolderType ns spTreeElem phType -- Like the above, but it tries a number of different placeholder types getShapeByPlaceHolderTypes :: NameSpaces -> Element -> [PHType] -> Maybe Element getShapeByPlaceHolderTypes _ _ [] = Nothing getShapeByPlaceHolderTypes ns spTreeElem (s:ss) = case getShapeByPlaceHolderType ns spTreeElem s of Just element -> Just element Nothing -> getShapeByPlaceHolderTypes ns spTreeElem ss nonBodyTextToElement :: PandocMonad m => Element -> [PHType] -> [ParaElem] -> P m Element nonBodyTextToElement layout phTypes paraElements | ns <- elemToNameSpaces layout , Just cSld <- findChild (elemName ns "p" "cSld") layout , Just spTree <- findChild (elemName ns "p" "spTree") cSld , Just sp <- getShapeByPlaceHolderTypes ns spTree phTypes = do let hdrPara = Paragraph def paraElements element <- paragraphToElement hdrPara let txBody = mknode "p:txBody" [] $ [mknode "a:bodyPr" [] (), mknode "a:lstStyle" [] ()] <> [element] return $ replaceNamedChildren ns "p" "txBody" [txBody] sp -- XXX: TODO | otherwise = return $ mknode "p:sp" [] () contentToElement :: PandocMonad m => Element -> [ParaElem] -> [Shape] -> P m Element contentToElement layout hdrShape shapes | ns <- elemToNameSpaces layout , Just cSld <- findChild (elemName ns "p" "cSld") layout , Just spTree <- findChild (elemName ns "p" "spTree") cSld = do element <- nonBodyTextToElement layout [PHType "title"] hdrShape let hdrShapeElements = [element | not (null hdrShape)] contentElements <- local (\env -> env {envContentType = NormalContent}) (shapesToElements layout shapes) return $ buildSpTree ns spTree (hdrShapeElements <> contentElements) contentToElement _ _ _ = return $ mknode "p:sp" [] () twoColumnToElement :: PandocMonad m => Element -> [ParaElem] -> [Shape] -> [Shape] -> P m Element twoColumnToElement layout hdrShape shapesL shapesR | ns <- elemToNameSpaces layout , Just cSld <- findChild (elemName ns "p" "cSld") layout , Just spTree <- findChild (elemName ns "p" "spTree") cSld = do element <- nonBodyTextToElement layout [PHType "title"] hdrShape let hdrShapeElements = [element | not (null hdrShape)] contentElementsL <- local (\env -> env {envContentType =TwoColumnLeftContent}) (shapesToElements layout shapesL) contentElementsR <- local (\env -> env {envContentType =TwoColumnRightContent}) (shapesToElements layout shapesR) -- let contentElementsL' = map (setIdx ns "1") contentElementsL -- contentElementsR' = map (setIdx ns "2") contentElementsR return $ buildSpTree ns spTree (hdrShapeElements <> contentElementsL <> contentElementsR) twoColumnToElement _ _ _ _= return $ mknode "p:sp" [] () titleToElement :: PandocMonad m => Element -> [ParaElem] -> P m Element titleToElement layout titleElems | ns <- elemToNameSpaces layout , Just cSld <- findChild (elemName ns "p" "cSld") layout , Just spTree <- findChild (elemName ns "p" "spTree") cSld = do element <- nonBodyTextToElement layout [PHType "title", PHType "ctrTitle"] titleElems let titleShapeElements = [element | not (null titleElems)] return $ buildSpTree ns spTree titleShapeElements titleToElement _ _ = return $ mknode "p:sp" [] () metadataToElement :: PandocMonad m => Element -> [ParaElem] -> [ParaElem] -> [[ParaElem]] -> [ParaElem] -> P m Element metadataToElement layout titleElems subtitleElems authorsElems dateElems | ns <- elemToNameSpaces layout , Just cSld <- findChild (elemName ns "p" "cSld") layout , Just spTree <- findChild (elemName ns "p" "spTree") cSld = do titleShapeElements <- if null titleElems then return [] else sequence [nonBodyTextToElement layout [PHType "ctrTitle"] titleElems] let combinedAuthorElems = intercalate [Break] authorsElems subtitleAndAuthorElems = intercalate [Break, Break] [subtitleElems, combinedAuthorElems] subtitleShapeElements <- if null subtitleAndAuthorElems then return [] else sequence [nonBodyTextToElement layout [PHType "subTitle"] subtitleAndAuthorElems] dateShapeElements <- if null dateElems then return [] else sequence [nonBodyTextToElement layout [PHType "dt"] dateElems] return $ buildSpTree ns spTree (titleShapeElements <> subtitleShapeElements <> dateShapeElements) metadataToElement _ _ _ _ _ = return $ mknode "p:sp" [] () slideToElement :: PandocMonad m => Slide -> P m Element slideToElement (Slide _ l@(ContentSlide hdrElems shapes) _ )= do layout <- getLayout l spTree <- local (\env -> if null hdrElems then env else env{envSlideHasHeader=True}) $ contentToElement layout hdrElems shapes return $ mknode "p:sld" [ ("xmlns:a", "http://schemas.openxmlformats.org/drawingml/2006/main"), ("xmlns:r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"), ("xmlns:p", "http://schemas.openxmlformats.org/presentationml/2006/main") ] [mknode "p:cSld" [] [spTree]] slideToElement (Slide _ l@(TwoColumnSlide hdrElems shapesL shapesR) _) = do layout <- getLayout l spTree <- local (\env -> if null hdrElems then env else env{envSlideHasHeader=True}) $ twoColumnToElement layout hdrElems shapesL shapesR return $ mknode "p:sld" [ ("xmlns:a", "http://schemas.openxmlformats.org/drawingml/2006/main"), ("xmlns:r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"), ("xmlns:p", "http://schemas.openxmlformats.org/presentationml/2006/main") ] [mknode "p:cSld" [] [spTree]] slideToElement (Slide _ l@(TitleSlide hdrElems) _) = do layout <- getLayout l spTree <- titleToElement layout hdrElems return $ mknode "p:sld" [ ("xmlns:a", "http://schemas.openxmlformats.org/drawingml/2006/main"), ("xmlns:r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"), ("xmlns:p", "http://schemas.openxmlformats.org/presentationml/2006/main") ] [mknode "p:cSld" [] [spTree]] slideToElement (Slide _ l@(MetadataSlide titleElems subtitleElems authorElems dateElems) _) = do layout <- getLayout l spTree <- metadataToElement layout titleElems subtitleElems authorElems dateElems return $ mknode "p:sld" [ ("xmlns:a", "http://schemas.openxmlformats.org/drawingml/2006/main"), ("xmlns:r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"), ("xmlns:p", "http://schemas.openxmlformats.org/presentationml/2006/main") ] [mknode "p:cSld" [] [spTree]] -------------------------------------------------------------------- -- Notes: getNotesMaster :: PandocMonad m => P m Element getNotesMaster = do refArchive <- asks envRefArchive distArchive <- asks envDistArchive parseXml refArchive distArchive "ppt/notesMasters/notesMaster1.xml" getSlideNumberFieldId :: PandocMonad m => Element -> P m T.Text getSlideNumberFieldId notesMaster | ns <- elemToNameSpaces notesMaster , Just cSld <- findChild (elemName ns "p" "cSld") notesMaster , Just spTree <- findChild (elemName ns "p" "spTree") cSld , Just sp <- getShapeByPlaceHolderType ns spTree (PHType "sldNum") , Just txBody <- findChild (elemName ns "p" "txBody") sp , Just p <- findChild (elemName ns "a" "p") txBody , Just fld <- findChild (elemName ns "a" "fld") p , Just fldId <- findAttrText (QName "id" Nothing Nothing) fld = return fldId | otherwise = throwError $ PandocSomeError "No field id for slide numbers in notesMaster.xml" speakerNotesSlideImage :: Element speakerNotesSlideImage = mknode "p:sp" [] [ mknode "p:nvSpPr" [] [ mknode "p:cNvPr" [ ("id", "2") , ("name", "Slide Image Placeholder 1") ] () , mknode "p:cNvSpPr" [] [ mknode "a:spLocks" [ ("noGrp", "1") , ("noRot", "1") , ("noChangeAspect", "1") ] () ] , mknode "p:nvPr" [] [ mknode "p:ph" [("type", "sldImg")] ()] ] , mknode "p:spPr" [] () ] -- we want to wipe links from the speaker notes in the -- paragraphs. Powerpoint doesn't allow you to input them, and it -- would provide extra complications. removeParaLinks :: Paragraph -> Paragraph removeParaLinks paragraph = paragraph{paraElems = map f (paraElems paragraph)} where f (Run rProps s) = Run rProps{rLink=Nothing} s f pe = pe -- put an empty paragraph between paragraphs for more expected spacing. spaceParas :: [Paragraph] -> [Paragraph] spaceParas = intersperse (Paragraph def []) speakerNotesBody :: PandocMonad m => [Paragraph] -> P m Element speakerNotesBody paras = do elements <- mapM paragraphToElement $ spaceParas $ map removeParaLinks paras let txBody = mknode "p:txBody" [] $ [mknode "a:bodyPr" [] (), mknode "a:lstStyle" [] ()] <> elements return $ mknode "p:sp" [] [ mknode "p:nvSpPr" [] [ mknode "p:cNvPr" [ ("id", "3") , ("name", "Notes Placeholder 2") ] () , mknode "p:cNvSpPr" [] [ mknode "a:spLocks" [("noGrp", "1")] ()] , mknode "p:nvPr" [] [ mknode "p:ph" [("type", "body"), ("idx", "1")] ()] ] , mknode "p:spPr" [] () , txBody ] speakerNotesSlideNumber :: Int -> T.Text -> Element speakerNotesSlideNumber pgNum fieldId = mknode "p:sp" [] [ mknode "p:nvSpPr" [] [ mknode "p:cNvPr" [ ("id", "4") , ("name", "Slide Number Placeholder 3") ] () , mknode "p:cNvSpPr" [] [ mknode "a:spLocks" [("noGrp", "1")] ()] , mknode "p:nvPr" [] [ mknode "p:ph" [ ("type", "sldNum") , ("sz", "quarter") , ("idx", "10") ] () ] ] , mknode "p:spPr" [] () , mknode "p:txBody" [] [ mknode "a:bodyPr" [] () , mknode "a:lstStyle" [] () , mknode "a:p" [] [ mknode "a:fld" [ ("id", T.unpack fieldId) , ("type", "slidenum") ] [ mknode "a:rPr" [("lang", "en-US")] () , mknode "a:t" [] (show pgNum) ] , mknode "a:endParaRPr" [("lang", "en-US")] () ] ] ] slideToSpeakerNotesElement :: PandocMonad m => Slide -> P m (Maybe Element) slideToSpeakerNotesElement (Slide _ _ (SpeakerNotes [])) = return Nothing slideToSpeakerNotesElement slide@(Slide _ _ (SpeakerNotes paras)) = do master <- getNotesMaster fieldId <- getSlideNumberFieldId master num <- slideNum slide let imgShape = speakerNotesSlideImage sldNumShape = speakerNotesSlideNumber num fieldId bodyShape <- speakerNotesBody paras return $ Just $ mknode "p:notes" [ ("xmlns:a", "http://schemas.openxmlformats.org/drawingml/2006/main") , ("xmlns:r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships") , ("xmlns:p", "http://schemas.openxmlformats.org/presentationml/2006/main") ] [ mknode "p:cSld" [] [ mknode "p:spTree" [] [ mknode "p:nvGrpSpPr" [] [ mknode "p:cNvPr" [("id", "1"), ("name", "")] () , mknode "p:cNvGrpSpPr" [] () , mknode "p:nvPr" [] () ] , mknode "p:grpSpPr" [] [ mknode "a:xfrm" [] [ mknode "a:off" [("x", "0"), ("y", "0")] () , mknode "a:ext" [("cx", "0"), ("cy", "0")] () , mknode "a:chOff" [("x", "0"), ("y", "0")] () , mknode "a:chExt" [("cx", "0"), ("cy", "0")] () ] ] , imgShape , bodyShape , sldNumShape ] ] ] ----------------------------------------------------------------------- getSlideIdNum :: PandocMonad m => SlideId -> P m Int getSlideIdNum sldId = do slideIdMap <- asks envSlideIdMap case M.lookup sldId slideIdMap of Just n -> return n Nothing -> throwError $ PandocShouldNeverHappenError $ "Slide Id " <> T.pack (show sldId) <> " not found." slideNum :: PandocMonad m => Slide -> P m Int slideNum slide = getSlideIdNum $ slideId slide idNumToFilePath :: Int -> FilePath idNumToFilePath idNum = "slide" <> show idNum <> ".xml" slideToFilePath :: PandocMonad m => Slide -> P m FilePath slideToFilePath slide = do idNum <- slideNum slide return $ "slide" <> show idNum <> ".xml" slideToRelId :: PandocMonad m => Slide -> P m T.Text slideToRelId slide = do n <- slideNum slide offset <- asks envSlideIdOffset return $ "rId" <> T.pack (show $ n + offset) data Relationship = Relationship { relId :: Int , relType :: MimeType , relTarget :: FilePath } deriving (Show, Eq) elementToRel :: Element -> Maybe Relationship elementToRel element | elName element == QName "Relationship" (Just "http://schemas.openxmlformats.org/package/2006/relationships") Nothing = do rId <- findAttr (QName "Id" Nothing Nothing) element numStr <- stripPrefix "rId" rId num <- case reads numStr :: [(Int, String)] of (n, _) : _ -> Just n [] -> Nothing type' <- findAttrText (QName "Type" Nothing Nothing) element target <- findAttr (QName "Target" Nothing Nothing) element return $ Relationship num type' target | otherwise = Nothing slideToPresRel :: PandocMonad m => Slide -> P m Relationship slideToPresRel slide = do idNum <- slideNum slide n <- asks envSlideIdOffset let rId = idNum + n fp = "slides/" <> idNumToFilePath idNum return $ Relationship { relId = rId , relType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" , relTarget = fp } getRels :: PandocMonad m => P m [Relationship] getRels = do refArchive <- asks envRefArchive distArchive <- asks envDistArchive relsElem <- parseXml refArchive distArchive "ppt/_rels/presentation.xml.rels" let globalNS = "http://schemas.openxmlformats.org/package/2006/relationships" let relElems = findChildren (QName "Relationship" (Just globalNS) Nothing) relsElem return $ mapMaybe elementToRel relElems presentationToRels :: PandocMonad m => Presentation -> P m [Relationship] presentationToRels pres@(Presentation _ slides) = do mySlideRels <- mapM slideToPresRel slides let notesMasterRels = [Relationship { relId = length mySlideRels + 2 , relType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster" , relTarget = "notesMasters/notesMaster1.xml" } | presHasSpeakerNotes pres] insertedRels = mySlideRels <> notesMasterRels rels <- getRels -- we remove the slide rels and the notesmaster (if it's -- there). We'll put these back in ourselves, if necessary. let relsWeKeep = filter (\r -> relType r /= "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" && relType r /= "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster") rels -- We want to make room for the slides in the id space. The slides -- will start at Id2 (since Id1 is for the slide master). There are -- two slides in the data file, but that might change in the future, -- so we will do this: -- -- 1. We look to see what the minimum relWithoutSlide id (greater than 1) is. -- 2. We add the difference between this and the number of slides to -- all relWithoutSlide rels (unless they're 1) -- 3. If we have a notesmaster slide, we make space for that as well. let minRelNotOne = case filter (1<) $ map relId relsWeKeep of [] -> 0 -- doesn't matter in this case, since -- there will be nothing to map the -- function over l -> minimum l modifyRelNum :: Int -> Int modifyRelNum 1 = 1 modifyRelNum n = n - minRelNotOne + 2 + length insertedRels relsWeKeep' = map (\r -> r{relId = modifyRelNum $ relId r}) relsWeKeep return $ insertedRels <> relsWeKeep' -- We make this ourselves, in case there's a thumbnail in the one from -- the template. topLevelRels :: [Relationship] topLevelRels = [ Relationship { relId = 1 , relType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" , relTarget = "ppt/presentation.xml" } , Relationship { relId = 2 , relType = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" , relTarget = "docProps/core.xml" } , Relationship { relId = 3 , relType = "http://schemas.openxmlformats.org/package/2006/relationships/metadata/extended-properties" , relTarget = "docProps/app.xml" } , Relationship { relId = 4 , relType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties" , relTarget = "docProps/custom.xml" } ] topLevelRelsEntry :: PandocMonad m => P m Entry topLevelRelsEntry = elemToEntry "_rels/.rels" $ relsToElement topLevelRels relToElement :: Relationship -> Element relToElement rel = mknode "Relationship" [ ("Id", "rId" <> show (relId rel)) , ("Type", T.unpack $ relType rel) , ("Target", relTarget rel) ] () relsToElement :: [Relationship] -> Element relsToElement rels = mknode "Relationships" [("xmlns", "http://schemas.openxmlformats.org/package/2006/relationships")] (map relToElement rels) presentationToRelsEntry :: PandocMonad m => Presentation -> P m Entry presentationToRelsEntry pres = do rels <- presentationToRels pres elemToEntry "ppt/_rels/presentation.xml.rels" $ relsToElement rels elemToEntry :: PandocMonad m => FilePath -> Element -> P m Entry elemToEntry fp element = do epochtime <- (floor . utcTimeToPOSIXSeconds) <$> asks envUTCTime return $ toEntry fp epochtime $ renderXml element slideToEntry :: PandocMonad m => Slide -> P m Entry slideToEntry slide = do idNum <- slideNum slide local (\env -> env{envCurSlideId = idNum}) $ do element <- slideToElement slide elemToEntry ("ppt/slides/" <> idNumToFilePath idNum) element slideToSpeakerNotesEntry :: PandocMonad m => Slide -> P m (Maybe Entry) slideToSpeakerNotesEntry slide = do idNum <- slideNum slide local (\env -> env{envCurSlideId = idNum}) $ do mbElement <- slideToSpeakerNotesElement slide mbNotesIdNum <- do mp <- asks envSpeakerNotesIdMap return $ M.lookup idNum mp case mbElement of Just element | Just notesIdNum <- mbNotesIdNum -> Just <$> elemToEntry ("ppt/notesSlides/notesSlide" <> show notesIdNum <> ".xml") element _ -> return Nothing slideToSpeakerNotesRelElement :: PandocMonad m => Slide -> P m (Maybe Element) slideToSpeakerNotesRelElement (Slide _ _ (SpeakerNotes [])) = return Nothing slideToSpeakerNotesRelElement slide@( Slide{}) = do idNum <- slideNum slide return $ Just $ mknode "Relationships" [("xmlns", "http://schemas.openxmlformats.org/package/2006/relationships")] [ mknode "Relationship" [ ("Id", "rId2") , ("Type", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide") , ("Target", "../slides/slide" <> show idNum <> ".xml") ] () , mknode "Relationship" [ ("Id", "rId1") , ("Type", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster") , ("Target", "../notesMasters/notesMaster1.xml") ] () ] slideToSpeakerNotesRelEntry :: PandocMonad m => Slide -> P m (Maybe Entry) slideToSpeakerNotesRelEntry slide = do idNum <- slideNum slide mbElement <- slideToSpeakerNotesRelElement slide mp <- asks envSpeakerNotesIdMap let mbNotesIdNum = M.lookup idNum mp case mbElement of Just element | Just notesIdNum <- mbNotesIdNum -> Just <$> elemToEntry ("ppt/notesSlides/_rels/notesSlide" <> show notesIdNum <> ".xml.rels") element _ -> return Nothing slideToSlideRelEntry :: PandocMonad m => Slide -> P m Entry slideToSlideRelEntry slide = do idNum <- slideNum slide element <- slideToSlideRelElement slide elemToEntry ("ppt/slides/_rels/" <> idNumToFilePath idNum <> ".rels") element linkRelElement :: PandocMonad m => (Int, LinkTarget) -> P m Element linkRelElement (rIdNum, InternalTarget targetId) = do targetIdNum <- getSlideIdNum targetId return $ mknode "Relationship" [ ("Id", "rId" <> show rIdNum) , ("Type", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide") , ("Target", "slide" <> show targetIdNum <> ".xml") ] () linkRelElement (rIdNum, ExternalTarget (url, _)) = return $ mknode "Relationship" [ ("Id", "rId" <> show rIdNum) , ("Type", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink") , ("Target", T.unpack url) , ("TargetMode", "External") ] () linkRelElements :: PandocMonad m => M.Map Int LinkTarget -> P m [Element] linkRelElements mp = mapM linkRelElement (M.toList mp) mediaRelElement :: MediaInfo -> Element mediaRelElement mInfo = let ext = fromMaybe "" (mInfoExt mInfo) in mknode "Relationship" [ ("Id", "rId" <> show (mInfoLocalId mInfo)) , ("Type", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image") , ("Target", "../media/image" <> show (mInfoGlobalId mInfo) <> T.unpack ext) ] () speakerNotesSlideRelElement :: PandocMonad m => Slide -> P m (Maybe Element) speakerNotesSlideRelElement slide = do idNum <- slideNum slide mp <- asks envSpeakerNotesIdMap return $ case M.lookup idNum mp of Nothing -> Nothing Just n -> let target = "../notesSlides/notesSlide" <> show n <> ".xml" in Just $ mknode "Relationship" [ ("Id", "rId2") , ("Type", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide") , ("Target", target) ] () slideToSlideRelElement :: PandocMonad m => Slide -> P m Element slideToSlideRelElement slide = do idNum <- slideNum slide let target = case slide of (Slide _ (MetadataSlide{}) _) -> "../slideLayouts/slideLayout1.xml" (Slide _ (TitleSlide _) _) -> "../slideLayouts/slideLayout3.xml" (Slide _ (ContentSlide _ _) _) -> "../slideLayouts/slideLayout2.xml" (Slide _ (TwoColumnSlide{}) _) -> "../slideLayouts/slideLayout4.xml" speakerNotesRels <- maybeToList <$> speakerNotesSlideRelElement slide linkIds <- gets stLinkIds mediaIds <- gets stMediaIds linkRels <- case M.lookup idNum linkIds of Just mp -> linkRelElements mp Nothing -> return [] let mediaRels = case M.lookup idNum mediaIds of Just mInfos -> map mediaRelElement mInfos Nothing -> [] return $ mknode "Relationships" [("xmlns", "http://schemas.openxmlformats.org/package/2006/relationships")] ([mknode "Relationship" [ ("Id", "rId1") , ("Type", "http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout") , ("Target", target)] () ] <> speakerNotesRels <> linkRels <> mediaRels) slideToSldIdElement :: PandocMonad m => Slide -> P m Element slideToSldIdElement slide = do n <- slideNum slide let id' = show $ n + 255 rId <- slideToRelId slide return $ mknode "p:sldId" [("id", id'), ("r:id", T.unpack rId)] () presentationToSldIdLst :: PandocMonad m => Presentation -> P m Element presentationToSldIdLst (Presentation _ slides) = do ids <- mapM slideToSldIdElement slides return $ mknode "p:sldIdLst" [] ids presentationToPresentationElement :: PandocMonad m => Presentation -> P m Element presentationToPresentationElement pres@(Presentation _ slds) = do refArchive <- asks envRefArchive distArchive <- asks envDistArchive element <- parseXml refArchive distArchive "ppt/presentation.xml" sldIdLst <- presentationToSldIdLst pres let modifySldIdLst :: Content -> Content modifySldIdLst (Elem e) = case elName e of (QName "sldIdLst" _ _) -> Elem sldIdLst _ -> Elem e modifySldIdLst ct = ct notesMasterRId = length slds + 2 notesMasterElem = mknode "p:notesMasterIdLst" [] [ mknode "p:NotesMasterId" [("r:id", "rId" <> show notesMasterRId)] () ] -- if there's a notesMasterIdLst in the presentation.xml file, -- we want to remove it. We then want to put our own, if -- necessary, after the slideMasterIdLst element. We also remove -- handouts master, since we don't want it. removeUnwantedMaster' :: Content -> [Content] removeUnwantedMaster' (Elem e) = case elName e of (QName "notesMasterIdLst" _ _) -> [] (QName "handoutMasterIdLst" _ _) -> [] _ -> [Elem e] removeUnwantedMaster' ct = [ct] removeUnwantedMaster :: [Content] -> [Content] removeUnwantedMaster = concatMap removeUnwantedMaster' insertNotesMaster' :: Content -> [Content] insertNotesMaster' (Elem e) = case elName e of (QName "sldMasterIdLst" _ _) -> [Elem e, Elem notesMasterElem] _ -> [Elem e] insertNotesMaster' ct = [ct] insertNotesMaster :: [Content] -> [Content] insertNotesMaster = if presHasSpeakerNotes pres then concatMap insertNotesMaster' else id newContent = insertNotesMaster $ removeUnwantedMaster $ map modifySldIdLst $ elContent element return $ element{elContent = newContent} presentationToPresEntry :: PandocMonad m => Presentation -> P m Entry presentationToPresEntry pres = presentationToPresentationElement pres >>= elemToEntry "ppt/presentation.xml" -- adapted from the Docx writer docPropsElement :: PandocMonad m => DocProps -> P m Element docPropsElement docProps = do utctime <- asks envUTCTime let keywords = case dcKeywords docProps of Just xs -> T.intercalate ", " xs Nothing -> "" return $ mknode "cp:coreProperties" [("xmlns:cp","http://schemas.openxmlformats.org/package/2006/metadata/core-properties") ,("xmlns:dc","http://purl.org/dc/elements/1.1/") ,("xmlns:dcterms","http://purl.org/dc/terms/") ,("xmlns:dcmitype","http://purl.org/dc/dcmitype/") ,("xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance")] $ mknode "dc:title" [] (maybe "" T.unpack $ dcTitle docProps) : mknode "dc:creator" [] (maybe "" T.unpack $ dcCreator docProps) : mknode "cp:keywords" [] (T.unpack keywords) : ( [mknode "dc:subject" [] $ maybe "" T.unpack $ dcSubject docProps | isJust (dcSubject docProps)]) <> ( [mknode "dc:description" [] $ maybe "" T.unpack $ dcDescription docProps | isJust (dcDescription docProps)]) <> ( [mknode "cp:category" [] $ maybe "" T.unpack $ cpCategory docProps | isJust (cpCategory docProps)]) <> (\x -> [ mknode "dcterms:created" [("xsi:type","dcterms:W3CDTF")] x , mknode "dcterms:modified" [("xsi:type","dcterms:W3CDTF")] x ]) (formatTime defaultTimeLocale "%FT%XZ" utctime) docPropsToEntry :: PandocMonad m => DocProps -> P m Entry docPropsToEntry docProps = docPropsElement docProps >>= elemToEntry "docProps/core.xml" -- adapted from the Docx writer docCustomPropsElement :: PandocMonad m => DocProps -> P m Element docCustomPropsElement docProps = do let mkCustomProp (k, v) pid = mknode "property" [("fmtid","{D5CDD505-2E9C-101B-9397-08002B2CF9AE}") ,("pid", show pid) ,("name", T.unpack k)] $ mknode "vt:lpwstr" [] (T.unpack v) return $ mknode "Properties" [("xmlns","http://schemas.openxmlformats.org/officeDocument/2006/custom-properties") ,("xmlns:vt","http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes") ] $ zipWith mkCustomProp (fromMaybe [] $ customProperties docProps) [(2 :: Int)..] docCustomPropsToEntry :: PandocMonad m => DocProps -> P m Entry docCustomPropsToEntry docProps = docCustomPropsElement docProps >>= elemToEntry "docProps/custom.xml" -- We read from the template, but we remove the lastView, so it always -- opens on slide view. Templates will sometimes be open in master -- view for editing. viewPropsElement :: PandocMonad m => P m Element viewPropsElement = do refArchive <- asks envRefArchive distArchive <- asks envDistArchive viewPrElement <- parseXml refArchive distArchive "ppt/viewProps.xml" -- remove "lastView" if it exists: let notLastView :: Text.XML.Light.Attr -> Bool notLastView attr = qName (attrKey attr) /= "lastView" return $ viewPrElement {elAttribs = filter notLastView (elAttribs viewPrElement)} makeViewPropsEntry :: PandocMonad m => P m Entry makeViewPropsEntry = viewPropsElement >>= elemToEntry "ppt/viewProps.xml" defaultContentTypeToElem :: DefaultContentType -> Element defaultContentTypeToElem dct = mknode "Default" [("Extension", T.unpack $ defContentTypesExt dct), ("ContentType", T.unpack $ defContentTypesType dct)] () overrideContentTypeToElem :: OverrideContentType -> Element overrideContentTypeToElem oct = mknode "Override" [("PartName", overrideContentTypesPart oct), ("ContentType", T.unpack $ overrideContentTypesType oct)] () contentTypesToElement :: ContentTypes -> Element contentTypesToElement ct = let ns = "http://schemas.openxmlformats.org/package/2006/content-types" in mknode "Types" [("xmlns", ns)] $ map defaultContentTypeToElem (contentTypesDefaults ct) <> map overrideContentTypeToElem (contentTypesOverrides ct) data DefaultContentType = DefaultContentType { defContentTypesExt :: T.Text , defContentTypesType:: MimeType } deriving (Show, Eq) data OverrideContentType = OverrideContentType { overrideContentTypesPart :: FilePath , overrideContentTypesType :: MimeType } deriving (Show, Eq) data ContentTypes = ContentTypes { contentTypesDefaults :: [DefaultContentType] , contentTypesOverrides :: [OverrideContentType] } deriving (Show, Eq) contentTypesToEntry :: PandocMonad m => ContentTypes -> P m Entry contentTypesToEntry ct = elemToEntry "[Content_Types].xml" $ contentTypesToElement ct pathToOverride :: FilePath -> Maybe OverrideContentType pathToOverride fp = OverrideContentType ("/" <> fp) <$> getContentType fp mediaFileContentType :: FilePath -> Maybe DefaultContentType mediaFileContentType fp = case takeExtension fp of '.' : ext -> Just $ DefaultContentType { defContentTypesExt = T.pack ext , defContentTypesType = fromMaybe "application/octet-stream" (getMimeType fp) } _ -> Nothing mediaContentType :: MediaInfo -> Maybe DefaultContentType mediaContentType mInfo | Just t <- mInfoExt mInfo , Just ('.', ext) <- T.uncons t = Just $ DefaultContentType { defContentTypesExt = ext , defContentTypesType = fromMaybe "application/octet-stream" (mInfoMimeType mInfo) } | otherwise = Nothing getSpeakerNotesFilePaths :: PandocMonad m => P m [FilePath] getSpeakerNotesFilePaths = do mp <- asks envSpeakerNotesIdMap let notesIdNums = M.elems mp return $ map (\n -> "ppt/notesSlides/notesSlide" <> show n <> ".xml") notesIdNums presentationToContentTypes :: PandocMonad m => Presentation -> P m ContentTypes presentationToContentTypes p@(Presentation _ slides) = do mediaInfos <- (mconcat . M.elems) <$> gets stMediaIds filePaths <- patternsToFilePaths $ inheritedPatterns p let mediaFps = filter (match (compile "ppt/media/image*")) filePaths let defaults = [ DefaultContentType "xml" "application/xml" , DefaultContentType "rels" "application/vnd.openxmlformats-package.relationships+xml" ] mediaDefaults = nub $ mapMaybe mediaContentType mediaInfos <> mapMaybe mediaFileContentType mediaFps inheritedOverrides = mapMaybe pathToOverride filePaths createdOverrides = mapMaybe pathToOverride [ "docProps/core.xml" , "docProps/custom.xml" , "ppt/presentation.xml" , "ppt/viewProps.xml" ] relativePaths <- mapM slideToFilePath slides let slideOverrides = mapMaybe (\fp -> pathToOverride $ "ppt/slides/" <> fp) relativePaths speakerNotesOverrides <- mapMaybe pathToOverride <$> getSpeakerNotesFilePaths return $ ContentTypes (defaults <> mediaDefaults) (inheritedOverrides <> createdOverrides <> slideOverrides <> speakerNotesOverrides) presML :: T.Text presML = "application/vnd.openxmlformats-officedocument.presentationml" noPresML :: T.Text noPresML = "application/vnd.openxmlformats-officedocument" getContentType :: FilePath -> Maybe MimeType getContentType fp | fp == "ppt/presentation.xml" = Just $ presML <> ".presentation.main+xml" | fp == "ppt/presProps.xml" = Just $ presML <> ".presProps+xml" | fp == "ppt/viewProps.xml" = Just $ presML <> ".viewProps+xml" | fp == "ppt/tableStyles.xml" = Just $ presML <> ".tableStyles+xml" | fp == "docProps/core.xml" = Just "application/vnd.openxmlformats-package.core-properties+xml" | fp == "docProps/custom.xml" = Just "application/vnd.openxmlformats-officedocument.custom-properties+xml" | fp == "docProps/app.xml" = Just $ noPresML <> ".extended-properties+xml" | ["ppt", "slideMasters", f] <- splitDirectories fp , (_, ".xml") <- splitExtension f = Just $ presML <> ".slideMaster+xml" | ["ppt", "slides", f] <- splitDirectories fp , (_, ".xml") <- splitExtension f = Just $ presML <> ".slide+xml" | ["ppt", "notesMasters", f] <- splitDirectories fp , (_, ".xml") <- splitExtension f = Just $ presML <> ".notesMaster+xml" | ["ppt", "notesSlides", f] <- splitDirectories fp , (_, ".xml") <- splitExtension f = Just $ presML <> ".notesSlide+xml" | ["ppt", "theme", f] <- splitDirectories fp , (_, ".xml") <- splitExtension f = Just $ noPresML <> ".theme+xml" | ["ppt", "slideLayouts", _] <- splitDirectories fp= Just $ presML <> ".slideLayout+xml" | otherwise = Nothing -- Kept as String for XML.Light autoNumAttrs :: ListAttributes -> [(String, String)] autoNumAttrs (startNum, numStyle, numDelim) = numAttr <> typeAttr where numAttr = [("startAt", show startNum) | startNum /= 1] typeAttr = [("type", typeString <> delimString)] typeString = case numStyle of Decimal -> "arabic" UpperAlpha -> "alphaUc" LowerAlpha -> "alphaLc" UpperRoman -> "romanUc" LowerRoman -> "romanLc" _ -> "arabic" delimString = case numDelim of Period -> "Period" OneParen -> "ParenR" TwoParens -> "ParenBoth" _ -> "Period" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs�����������������������������������0000664�0000000�0000000�00000117335�13636304630�0024700�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE ViewPatterns #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {- | Module : Text.Pandoc.Writers.Powerpoint.Presentation Copyright : Copyright (C) 2017-2020 Jesse Rosenthal License : GNU GPL, version 2 or above Maintainer : Jesse Rosenthal <jrosenthal@jhu.edu> Stability : alpha Portability : portable Definition of Presentation datatype, modeling a MS Powerpoint (pptx) document, and functions for converting a Pandoc document to Presentation. -} module Text.Pandoc.Writers.Powerpoint.Presentation ( documentToPresentation , Presentation(..) , DocProps(..) , Slide(..) , Layout(..) , SpeakerNotes(..) , SlideId(..) , Shape(..) , Graphic(..) , BulletType(..) , Algnment(..) , Paragraph(..) , ParaElem(..) , ParaProps(..) , RunProps(..) , TableProps(..) , Strikethrough(..) , Capitals(..) , Pixels , PicProps(..) , URL , TeXString(..) , LinkTarget(..) ) where import Control.Monad.Reader import Control.Monad.State import Data.List (intercalate) import Data.Default import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Slides (getSlideLevel) import Text.Pandoc.Options import Text.Pandoc.Logging import Text.Pandoc.Walk import Data.Time (UTCTime) import qualified Text.Pandoc.Shared as Shared -- so we don't overlap "Element" import Text.Pandoc.Shared (tshow) import Text.Pandoc.Writers.Shared (lookupMetaInlines, lookupMetaBlocks , lookupMetaString, toTableOfContents) import qualified Data.Map as M import qualified Data.Set as S import Data.Maybe (maybeToList, fromMaybe) import Text.Pandoc.Highlighting import qualified Data.Text as T import Control.Applicative ((<|>)) import Skylighting data WriterEnv = WriterEnv { envMetadata :: Meta , envRunProps :: RunProps , envParaProps :: ParaProps , envSlideLevel :: Int , envOpts :: WriterOptions , envSlideHasHeader :: Bool , envInList :: Bool , envInNoteSlide :: Bool , envCurSlideId :: SlideId , envInSpeakerNotes :: Bool } deriving (Show) instance Default WriterEnv where def = WriterEnv { envMetadata = mempty , envRunProps = def , envParaProps = def , envSlideLevel = 2 , envOpts = def , envSlideHasHeader = False , envInList = False , envInNoteSlide = False , envCurSlideId = SlideId "Default" , envInSpeakerNotes = False } data WriterState = WriterState { stNoteIds :: M.Map Int [Block] -- associate anchors with slide id , stAnchorMap :: M.Map T.Text SlideId , stSlideIdSet :: S.Set SlideId , stLog :: [LogMessage] , stSpeakerNotes :: SpeakerNotes } deriving (Show, Eq) instance Default WriterState where def = WriterState { stNoteIds = mempty , stAnchorMap = mempty -- we reserve this s , stSlideIdSet = reservedSlideIds , stLog = [] , stSpeakerNotes = mempty } metadataSlideId :: SlideId metadataSlideId = SlideId "Metadata" tocSlideId :: SlideId tocSlideId = SlideId "TOC" endNotesSlideId :: SlideId endNotesSlideId = SlideId "EndNotes" reservedSlideIds :: S.Set SlideId reservedSlideIds = S.fromList [ metadataSlideId , tocSlideId , endNotesSlideId ] uniqueSlideId' :: Integer -> S.Set SlideId -> T.Text -> SlideId uniqueSlideId' n idSet s = let s' = if n == 0 then s else s <> "-" <> tshow n in if SlideId s' `S.member` idSet then uniqueSlideId' (n+1) idSet s else SlideId s' uniqueSlideId :: S.Set SlideId -> T.Text -> SlideId uniqueSlideId = uniqueSlideId' 0 runUniqueSlideId :: T.Text -> Pres SlideId runUniqueSlideId s = do idSet <- gets stSlideIdSet let sldId = uniqueSlideId idSet s modify $ \st -> st{stSlideIdSet = S.insert sldId idSet} return sldId addLogMessage :: LogMessage -> Pres () addLogMessage msg = modify $ \st -> st{stLog = msg : stLog st} type Pres = ReaderT WriterEnv (State WriterState) runPres :: WriterEnv -> WriterState -> Pres a -> (a, [LogMessage]) runPres env st p = (pres, reverse $ stLog finalSt) where (pres, finalSt) = runState (runReaderT p env) st -- GHC 7.8 will still complain about concat <$> mapM unless we specify -- Functor. We can get rid of this when we stop supporting GHC 7.8. concatMapM :: (Monad m) => (a -> m [b]) -> [a] -> m [b] concatMapM f xs = liftM concat (mapM f xs) type Pixels = Integer data Presentation = Presentation DocProps [Slide] deriving (Show) data DocProps = DocProps { dcTitle :: Maybe T.Text , dcSubject :: Maybe T.Text , dcCreator :: Maybe T.Text , dcKeywords :: Maybe [T.Text] , dcDescription :: Maybe T.Text , cpCategory :: Maybe T.Text , dcCreated :: Maybe UTCTime , customProperties :: Maybe [(T.Text, T.Text)] } deriving (Show, Eq) data Slide = Slide { slideId :: SlideId , slideLayout :: Layout , slideSpeakerNotes :: SpeakerNotes } deriving (Show, Eq) newtype SlideId = SlideId T.Text deriving (Show, Eq, Ord) -- In theory you could have anything on a notes slide but it seems -- designed mainly for one textbox, so we'll just put in the contents -- of that textbox, to avoid other shapes that won't work as well. newtype SpeakerNotes = SpeakerNotes {fromSpeakerNotes :: [Paragraph]} deriving (Show, Eq, Monoid, Semigroup) data Layout = MetadataSlide [ParaElem] [ParaElem] [[ParaElem]] [ParaElem] -- title subtitle authors date | TitleSlide [ParaElem] -- heading | ContentSlide [ParaElem] [Shape] -- heading content | TwoColumnSlide [ParaElem] [Shape] [Shape] -- heading left right deriving (Show, Eq) data Shape = Pic PicProps FilePath [ParaElem] | GraphicFrame [Graphic] [ParaElem] | TextBox [Paragraph] | RawOOXMLShape T.Text deriving (Show, Eq) type Cell = [Paragraph] data TableProps = TableProps { tblPrFirstRow :: Bool , tblPrBandRow :: Bool } deriving (Show, Eq) data Graphic = Tbl TableProps [Cell] [[Cell]] deriving (Show, Eq) data Paragraph = Paragraph { paraProps :: ParaProps , paraElems :: [ParaElem] } deriving (Show, Eq) data BulletType = Bullet | AutoNumbering ListAttributes deriving (Show, Eq) data Algnment = AlgnLeft | AlgnRight | AlgnCenter deriving (Show, Eq) data ParaProps = ParaProps { pPropMarginLeft :: Maybe Pixels , pPropMarginRight :: Maybe Pixels , pPropLevel :: Int , pPropBullet :: Maybe BulletType , pPropAlign :: Maybe Algnment , pPropSpaceBefore :: Maybe Pixels , pPropIndent :: Maybe Pixels } deriving (Show, Eq) instance Default ParaProps where def = ParaProps { pPropMarginLeft = Just 0 , pPropMarginRight = Just 0 , pPropLevel = 0 , pPropBullet = Nothing , pPropAlign = Nothing , pPropSpaceBefore = Nothing , pPropIndent = Just 0 } newtype TeXString = TeXString {unTeXString :: T.Text} deriving (Eq, Show) data ParaElem = Break | Run RunProps T.Text -- It would be more elegant to have native TeXMath -- Expressions here, but this allows us to use -- `convertmath` from T.P.Writers.Math. Will perhaps -- revisit in the future. | MathElem MathType TeXString | RawOOXMLParaElem T.Text deriving (Show, Eq) data Strikethrough = NoStrike | SingleStrike | DoubleStrike deriving (Show, Eq) data Capitals = NoCapitals | SmallCapitals | AllCapitals deriving (Show, Eq) type URL = T.Text data LinkTarget = ExternalTarget (URL, T.Text) | InternalTarget SlideId deriving (Show, Eq) data RunProps = RunProps { rPropBold :: Bool , rPropItalics :: Bool , rStrikethrough :: Maybe Strikethrough , rBaseline :: Maybe Int , rCap :: Maybe Capitals , rLink :: Maybe LinkTarget , rPropCode :: Bool , rPropBlockQuote :: Bool , rPropForceSize :: Maybe Pixels , rSolidFill :: Maybe Color -- TODO: Make a full underline data type with -- the different options. , rPropUnderline :: Bool } deriving (Show, Eq) instance Default RunProps where def = RunProps { rPropBold = False , rPropItalics = False , rStrikethrough = Nothing , rBaseline = Nothing , rCap = Nothing , rLink = Nothing , rPropCode = False , rPropBlockQuote = False , rPropForceSize = Nothing , rSolidFill = Nothing , rPropUnderline = False } data PicProps = PicProps { picPropLink :: Maybe LinkTarget , picWidth :: Maybe Dimension , picHeight :: Maybe Dimension } deriving (Show, Eq) instance Default PicProps where def = PicProps { picPropLink = Nothing , picWidth = Nothing , picHeight = Nothing } -------------------------------------------------- inlinesToParElems :: [Inline] -> Pres [ParaElem] inlinesToParElems ils = concatMapM inlineToParElems ils inlineToParElems :: Inline -> Pres [ParaElem] inlineToParElems (Str s) = do pr <- asks envRunProps return [Run pr s] inlineToParElems (Emph ils) = local (\r -> r{envRunProps = (envRunProps r){rPropItalics=True}}) $ inlinesToParElems ils inlineToParElems (Strong ils) = local (\r -> r{envRunProps = (envRunProps r){rPropBold=True}}) $ inlinesToParElems ils inlineToParElems (Strikeout ils) = local (\r -> r{envRunProps = (envRunProps r){rStrikethrough=Just SingleStrike}}) $ inlinesToParElems ils inlineToParElems (Superscript ils) = local (\r -> r{envRunProps = (envRunProps r){rBaseline=Just 30000}}) $ inlinesToParElems ils inlineToParElems (Subscript ils) = local (\r -> r{envRunProps = (envRunProps r){rBaseline=Just (-25000)}}) $ inlinesToParElems ils inlineToParElems (SmallCaps ils) = local (\r -> r{envRunProps = (envRunProps r){rCap = Just SmallCapitals}}) $ inlinesToParElems ils inlineToParElems Space = inlineToParElems (Str " ") inlineToParElems SoftBreak = inlineToParElems (Str " ") inlineToParElems LineBreak = return [Break] inlineToParElems (Link _ ils (url, title)) = local (\r ->r{envRunProps = (envRunProps r){rLink = Just $ ExternalTarget (url, title)}}) $ inlinesToParElems ils inlineToParElems (Code _ str) = local (\r ->r{envRunProps = (envRunProps r){rPropCode = True}}) $ inlineToParElems $ Str str inlineToParElems (Math mathtype str) = return [MathElem mathtype (TeXString str)] -- We ignore notes if we're in a speaker notes div. Otherwise this -- would add an entry to the endnotes slide, which would put speaker -- notes in the public presentation. In the future, we can entertain a -- way of adding a speakernotes-specific note that would just add -- paragraphs to the bottom of the notes page. inlineToParElems (Note blks) = do inSpNotes <- asks envInSpeakerNotes if inSpNotes then return [] else do notes <- gets stNoteIds let maxNoteId = case M.keys notes of [] -> 0 lst -> maximum lst curNoteId = maxNoteId + 1 modify $ \st -> st { stNoteIds = M.insert curNoteId blks notes } local (\env -> env{envRunProps = (envRunProps env){rLink = Just $ InternalTarget endNotesSlideId}}) $ inlineToParElems $ Superscript [Str $ tshow curNoteId] inlineToParElems (Span (_, ["underline"], _) ils) = local (\r -> r{envRunProps = (envRunProps r){rPropUnderline=True}}) $ inlinesToParElems ils inlineToParElems (Span _ ils) = inlinesToParElems ils inlineToParElems (Quoted quoteType ils) = inlinesToParElems $ [Str open] ++ ils ++ [Str close] where (open, close) = case quoteType of SingleQuote -> ("\x2018", "\x2019") DoubleQuote -> ("\x201C", "\x201D") inlineToParElems il@(RawInline fmt s) = case fmt of Format "openxml" -> return [RawOOXMLParaElem s] _ -> do addLogMessage $ InlineNotRendered il return [] inlineToParElems (Cite _ ils) = inlinesToParElems ils -- Note: we shouldn't reach this, because images should be handled at -- the shape level, but should that change in the future, we render -- the alt text. inlineToParElems (Image _ alt _) = inlinesToParElems alt isListType :: Block -> Bool isListType (OrderedList _ _) = True isListType (BulletList _) = True isListType (DefinitionList _) = True isListType _ = False registerAnchorId :: T.Text -> Pres () registerAnchorId anchor = do anchorMap <- gets stAnchorMap sldId <- asks envCurSlideId unless (T.null anchor) $ modify $ \st -> st {stAnchorMap = M.insert anchor sldId anchorMap} -- Currently hardcoded, until I figure out how to make it dynamic. blockQuoteSize :: Pixels blockQuoteSize = 20 noteSize :: Pixels noteSize = 18 blockToParagraphs :: Block -> Pres [Paragraph] blockToParagraphs (Plain ils) = blockToParagraphs (Para ils) blockToParagraphs (Para ils) = do parElems <- inlinesToParElems ils pProps <- asks envParaProps return [Paragraph pProps parElems] blockToParagraphs (LineBlock ilsList) = do parElems <- inlinesToParElems $ intercalate [LineBreak] ilsList pProps <- asks envParaProps return [Paragraph pProps parElems] -- TODO: work out the attributes blockToParagraphs (CodeBlock attr str) = do pProps <- asks envParaProps local (\r -> r{ envParaProps = def{ pPropMarginLeft = Nothing , pPropBullet = Nothing , pPropLevel = pPropLevel pProps , pPropIndent = Just 0 } , envRunProps = (envRunProps r){rPropCode = True}}) $ do mbSty <- writerHighlightStyle <$> asks envOpts synMap <- writerSyntaxMap <$> asks envOpts case mbSty of Just sty -> case highlight synMap (formatSourceLines sty) attr str of Right pElems -> do pPropsNew <- asks envParaProps return [Paragraph pPropsNew pElems] Left _ -> blockToParagraphs $ Para [Str str] Nothing -> blockToParagraphs $ Para [Str str] -- We can't yet do incremental lists, but we should render a -- (BlockQuote List) as a list to maintain compatibility with other -- formats. blockToParagraphs (BlockQuote (blk : blks)) | isListType blk = do ps <- blockToParagraphs blk ps' <- blockToParagraphs $ BlockQuote blks return $ ps ++ ps' blockToParagraphs (BlockQuote blks) = local (\r -> r{ envParaProps = (envParaProps r){ pPropMarginLeft = Just 100 , pPropIndent = Just 0 } , envRunProps = (envRunProps r){rPropForceSize = Just blockQuoteSize}})$ concatMapM blockToParagraphs blks -- TODO: work out the format blockToParagraphs blk@(RawBlock _ _) = do addLogMessage $ BlockNotRendered blk return [] blockToParagraphs (Header _ (ident, _, _) ils) = do -- Note that this function only deals with content blocks, so it -- will only touch headers that are above the current slide level -- -- slides at or below the slidelevel will be taken care of by -- `blocksToSlide'`. We have the register anchors in both of them. registerAnchorId ident -- we set the subeader to bold parElems <- local (\e->e{envRunProps = (envRunProps e){rPropBold=True}}) $ inlinesToParElems ils -- and give it a bit of space before it. return [Paragraph def{pPropSpaceBefore = Just 30} parElems] blockToParagraphs (BulletList blksLst) = do pProps <- asks envParaProps let lvl = pPropLevel pProps local (\env -> env{ envInList = True , envParaProps = pProps{ pPropLevel = lvl + 1 , pPropBullet = Just Bullet , pPropMarginLeft = Nothing , pPropIndent = Nothing }}) $ concatMapM multiParBullet blksLst blockToParagraphs (OrderedList listAttr blksLst) = do pProps <- asks envParaProps let lvl = pPropLevel pProps local (\env -> env{ envInList = True , envParaProps = pProps{ pPropLevel = lvl + 1 , pPropBullet = Just (AutoNumbering listAttr) , pPropMarginLeft = Nothing , pPropIndent = Nothing }}) $ concatMapM multiParBullet blksLst blockToParagraphs (DefinitionList entries) = do let go :: ([Inline], [[Block]]) -> Pres [Paragraph] go (ils, blksLst) = do term <-blockToParagraphs $ Para [Strong ils] -- For now, we'll treat each definition term as a -- blockquote. We can extend this further later. definition <- concatMapM (blockToParagraphs . BlockQuote) blksLst return $ term ++ definition concatMapM go entries blockToParagraphs (Div _ blks) = concatMapM blockToParagraphs blks blockToParagraphs blk = do addLogMessage $ BlockNotRendered blk return [] -- Make sure the bullet env gets turned off after the first para. multiParBullet :: [Block] -> Pres [Paragraph] multiParBullet [] = return [] multiParBullet (b:bs) = do pProps <- asks envParaProps p <- blockToParagraphs b ps <- local (\env -> env{envParaProps = pProps{pPropBullet = Nothing}}) $ concatMapM blockToParagraphs bs return $ p ++ ps cellToParagraphs :: Alignment -> TableCell -> Pres [Paragraph] cellToParagraphs algn tblCell = do paras <- mapM blockToParagraphs tblCell let alignment = case algn of AlignLeft -> Just AlgnLeft AlignRight -> Just AlgnRight AlignCenter -> Just AlgnCenter AlignDefault -> Nothing paras' = map (map (\p -> p{paraProps = (paraProps p){pPropAlign = alignment}})) paras return $ concat paras' rowToParagraphs :: [Alignment] -> [TableCell] -> Pres [[Paragraph]] rowToParagraphs algns tblCells = do -- We have to make sure we have the right number of alignments let pairs = zip (algns ++ repeat AlignDefault) tblCells mapM (uncurry cellToParagraphs) pairs withAttr :: Attr -> Shape -> Shape withAttr attr (Pic picPr url caption) = let picPr' = picPr { picWidth = dimension Width attr , picHeight = dimension Height attr } in Pic picPr' url caption withAttr _ sp = sp blockToShape :: Block -> Pres Shape blockToShape (Plain ils) = blockToShape (Para ils) blockToShape (Para (il:_)) | Image attr ils (url, _) <- il = (withAttr attr . Pic def (T.unpack url)) <$> inlinesToParElems ils blockToShape (Para (il:_)) | Link _ (il':_) target <- il , Image attr ils (url, _) <- il' = (withAttr attr . Pic def{picPropLink = Just $ ExternalTarget target} (T.unpack url)) <$> inlinesToParElems ils blockToShape (Table caption algn _ hdrCells rows) = do caption' <- inlinesToParElems caption hdrCells' <- rowToParagraphs algn hdrCells rows' <- mapM (rowToParagraphs algn) rows let tblPr = if null hdrCells then TableProps { tblPrFirstRow = False , tblPrBandRow = True } else TableProps { tblPrFirstRow = True , tblPrBandRow = True } return $ GraphicFrame [Tbl tblPr hdrCells' rows'] caption' -- If the format isn't openxml, we fall through to blockToPargraphs blockToShape (RawBlock (Format "openxml") str) = return $ RawOOXMLShape str blockToShape blk = do paras <- blockToParagraphs blk let paras' = map (\par -> par{paraElems = combineParaElems $ paraElems par}) paras return $ TextBox paras' combineShapes :: [Shape] -> [Shape] combineShapes [] = [] combineShapes (pic@Pic{} : ss) = pic : combineShapes ss combineShapes (TextBox [] : ss) = combineShapes ss combineShapes (s : TextBox [] : ss) = combineShapes (s : ss) combineShapes (TextBox (p:ps) : TextBox (p':ps') : ss) = combineShapes $ TextBox ((p:ps) ++ (p':ps')) : ss combineShapes (s:ss) = s : combineShapes ss isNotesDiv :: Block -> Bool isNotesDiv (Div (_, ["notes"], _) _) = True isNotesDiv _ = False blocksToShapes :: [Block] -> Pres [Shape] blocksToShapes blks = combineShapes <$> mapM blockToShape blks isImage :: Inline -> Bool isImage Image{} = True isImage (Link _ (Image{} : _) _) = True isImage _ = False splitBlocks' :: [Block] -> [[Block]] -> [Block] -> Pres [[Block]] splitBlocks' cur acc [] = return $ acc ++ ([cur | not (null cur)]) splitBlocks' cur acc (HorizontalRule : blks) = splitBlocks' [] (acc ++ ([cur | not (null cur)])) blks splitBlocks' cur acc (h@(Header n _ _) : blks) = do slideLevel <- asks envSlideLevel let (nts, blks') = span isNotesDiv blks case compare n slideLevel of LT -> splitBlocks' [] (acc ++ ([cur | not (null cur)]) ++ [h : nts]) blks' EQ -> splitBlocks' (h:nts) (acc ++ ([cur | not (null cur)])) blks' GT -> splitBlocks' (cur ++ (h:nts)) acc blks' -- `blockToParagraphs` treats Plain and Para the same, so we can save -- some code duplication by treating them the same here. splitBlocks' cur acc (Plain ils : blks) = splitBlocks' cur acc (Para ils : blks) splitBlocks' cur acc (Para (il:ils) : blks) | isImage il = do slideLevel <- asks envSlideLevel let (nts, blks') = if null ils then span isNotesDiv blks else ([], blks) case cur of [Header n _ _] | n == slideLevel -> splitBlocks' [] (acc ++ [cur ++ [Para [il]] ++ nts]) (if null ils then blks' else Para ils : blks') _ -> splitBlocks' [] (acc ++ ([cur | not (null cur)]) ++ [Para [il] : nts]) (if null ils then blks' else Para ils : blks') splitBlocks' cur acc (tbl@Table{} : blks) = do slideLevel <- asks envSlideLevel let (nts, blks') = span isNotesDiv blks case cur of [Header n _ _] | n == slideLevel -> splitBlocks' [] (acc ++ [cur ++ [tbl] ++ nts]) blks' _ -> splitBlocks' [] (acc ++ ([cur | not (null cur)]) ++ [tbl : nts]) blks' splitBlocks' cur acc (d@(Div (_, classes, _) _): blks) | "columns" `elem` classes = do slideLevel <- asks envSlideLevel let (nts, blks') = span isNotesDiv blks case cur of [Header n _ _] | n == slideLevel -> splitBlocks' [] (acc ++ [cur ++ [d] ++ nts]) blks' _ -> splitBlocks' [] (acc ++ ([cur | not (null cur)]) ++ [d : nts]) blks' splitBlocks' cur acc (blk : blks) = splitBlocks' (cur ++ [blk]) acc blks splitBlocks :: [Block] -> Pres [[Block]] splitBlocks = splitBlocks' [] [] blocksToSlide' :: Int -> [Block] -> SpeakerNotes -> Pres Slide blocksToSlide' lvl (Header n (ident, _, _) ils : blks) spkNotes | n < lvl = do registerAnchorId ident sldId <- asks envCurSlideId hdr <- inlinesToParElems ils return $ Slide sldId (TitleSlide hdr) spkNotes | n == lvl = do registerAnchorId ident hdr <- inlinesToParElems ils -- Now get the slide without the header, and then add the header -- in. slide <- blocksToSlide' lvl blks spkNotes let layout = case slideLayout slide of ContentSlide _ cont -> ContentSlide hdr cont TwoColumnSlide _ contL contR -> TwoColumnSlide hdr contL contR layout' -> layout' return $ slide{slideLayout = layout} blocksToSlide' _ (blk : blks) spkNotes | Div (_, classes, _) divBlks <- blk , "columns" `elem` classes , Div (_, clsL, _) blksL : Div (_, clsR, _) blksR : remaining <- divBlks , "column" `elem` clsL, "column" `elem` clsR = do mapM_ (addLogMessage . BlockNotRendered) (blks ++ remaining) mbSplitBlksL <- splitBlocks blksL mbSplitBlksR <- splitBlocks blksR let blksL' = case mbSplitBlksL of bs : _ -> bs [] -> [] let blksR' = case mbSplitBlksR of bs : _ -> bs [] -> [] shapesL <- blocksToShapes blksL' shapesR <- blocksToShapes blksR' sldId <- asks envCurSlideId return $ Slide sldId (TwoColumnSlide [] shapesL shapesR) spkNotes blocksToSlide' _ (blk : blks) spkNotes = do inNoteSlide <- asks envInNoteSlide shapes <- if inNoteSlide then forceFontSize noteSize $ blocksToShapes (blk : blks) else blocksToShapes (blk : blks) sldId <- asks envCurSlideId return $ Slide sldId (ContentSlide [] shapes) spkNotes blocksToSlide' _ [] spkNotes = do sldId <- asks envCurSlideId return $ Slide sldId (ContentSlide [] []) spkNotes blockToSpeakerNotes :: Block -> Pres SpeakerNotes blockToSpeakerNotes (Div (_, ["notes"], _) blks) = local (\env -> env{envInSpeakerNotes=True}) $ SpeakerNotes <$> concatMapM blockToParagraphs blks blockToSpeakerNotes _ = return mempty handleSpeakerNotes :: Block -> Pres () handleSpeakerNotes blk = do spNotes <- blockToSpeakerNotes blk modify $ \st -> st{stSpeakerNotes = stSpeakerNotes st <> spNotes} handleAndFilterSpeakerNotes' :: [Block] -> Pres [Block] handleAndFilterSpeakerNotes' blks = do mapM_ handleSpeakerNotes blks return $ filter (not . isNotesDiv) blks handleAndFilterSpeakerNotes :: [Block] -> Pres ([Block], SpeakerNotes) handleAndFilterSpeakerNotes blks = do modify $ \st -> st{stSpeakerNotes = mempty} blks' <- walkM handleAndFilterSpeakerNotes' blks spkNotes <- gets stSpeakerNotes return (blks', spkNotes) blocksToSlide :: [Block] -> Pres Slide blocksToSlide blks = do (blks', spkNotes) <- handleAndFilterSpeakerNotes blks slideLevel <- asks envSlideLevel blocksToSlide' slideLevel blks' spkNotes makeNoteEntry :: (Int, [Block]) -> [Block] makeNoteEntry (n, blks) = let enum = Str (tshow n <> ".") in case blks of (Para ils : blks') -> (Para $ enum : Space : ils) : blks' _ -> Para [enum] : blks forceFontSize :: Pixels -> Pres a -> Pres a forceFontSize px x = do rpr <- asks envRunProps local (\r -> r {envRunProps = rpr{rPropForceSize = Just px}}) x -- We leave these as blocks because we will want to include them in -- the TOC. makeEndNotesSlideBlocks :: Pres [Block] makeEndNotesSlideBlocks = do noteIds <- gets stNoteIds slideLevel <- asks envSlideLevel exts <- writerExtensions <$> asks envOpts meta <- asks envMetadata -- Get identifiers so we can give the notes section a unique ident. anchorSet <- M.keysSet <$> gets stAnchorMap if M.null noteIds then return [] else let title = case lookupMetaInlines "notes-title" meta of [] -> [Str "Notes"] ls -> ls ident = Shared.uniqueIdent exts title anchorSet hdr = Header slideLevel (ident, [], []) title blks = concatMap makeNoteEntry $ M.toList noteIds in return $ hdr : blks getMetaSlide :: Pres (Maybe Slide) getMetaSlide = do meta <- asks envMetadata title <- inlinesToParElems $ docTitle meta subtitle <- inlinesToParElems $ lookupMetaInlines "subtitle" meta authors <- mapM inlinesToParElems $ docAuthors meta date <- inlinesToParElems $ docDate meta if null title && null subtitle && null authors && null date then return Nothing else return $ Just $ Slide metadataSlideId (MetadataSlide title subtitle authors date) mempty addSpeakerNotesToMetaSlide :: Slide -> [Block] -> Pres (Slide, [Block]) addSpeakerNotesToMetaSlide (Slide sldId layout@(MetadataSlide{}) spkNotes) blks = do let (ntsBlks, blks') = span isNotesDiv blks spkNotes' <- mconcat <$> mapM blockToSpeakerNotes ntsBlks return (Slide sldId layout (spkNotes <> spkNotes'), blks') addSpeakerNotesToMetaSlide sld blks = return (sld, blks) makeTOCSlide :: [Block] -> Pres Slide makeTOCSlide blks = local (\env -> env{envCurSlideId = tocSlideId}) $ do opts <- asks envOpts let contents = toTableOfContents opts blks meta <- asks envMetadata slideLevel <- asks envSlideLevel let tocTitle = case lookupMetaInlines "toc-title" meta of [] -> [Str "Table of Contents"] ls -> ls hdr = Header slideLevel nullAttr tocTitle blocksToSlide [hdr, contents] combineParaElems' :: Maybe ParaElem -> [ParaElem] -> [ParaElem] combineParaElems' mbPElem [] = maybeToList mbPElem combineParaElems' Nothing (pElem : pElems) = combineParaElems' (Just pElem) pElems combineParaElems' (Just pElem') (pElem : pElems) | Run rPr' s' <- pElem' , Run rPr s <- pElem , rPr == rPr' = combineParaElems' (Just $ Run rPr' $ s' <> s) pElems | otherwise = pElem' : combineParaElems' (Just pElem) pElems combineParaElems :: [ParaElem] -> [ParaElem] combineParaElems = combineParaElems' Nothing applyToParagraph :: Monad m => (ParaElem -> m ParaElem) -> Paragraph -> m Paragraph applyToParagraph f para = do paraElems' <- mapM f $ paraElems para return $ para {paraElems = paraElems'} applyToShape :: Monad m => (ParaElem -> m ParaElem) -> Shape -> m Shape applyToShape f (Pic pPr fp pes) = Pic pPr fp <$> mapM f pes applyToShape f (GraphicFrame gfx pes) = GraphicFrame gfx <$> mapM f pes applyToShape f (TextBox paras) = TextBox <$> mapM (applyToParagraph f) paras applyToShape _ (RawOOXMLShape str) = return $ RawOOXMLShape str applyToLayout :: Monad m => (ParaElem -> m ParaElem) -> Layout -> m Layout applyToLayout f (MetadataSlide title subtitle authors date) = do title' <- mapM f title subtitle' <- mapM f subtitle authors' <- mapM (mapM f) authors date' <- mapM f date return $ MetadataSlide title' subtitle' authors' date' applyToLayout f (TitleSlide title) = TitleSlide <$> mapM f title applyToLayout f (ContentSlide hdr content) = do hdr' <- mapM f hdr content' <- mapM (applyToShape f) content return $ ContentSlide hdr' content' applyToLayout f (TwoColumnSlide hdr contentL contentR) = do hdr' <- mapM f hdr contentL' <- mapM (applyToShape f) contentL contentR' <- mapM (applyToShape f) contentR return $ TwoColumnSlide hdr' contentL' contentR' applyToSlide :: Monad m => (ParaElem -> m ParaElem) -> Slide -> m Slide applyToSlide f slide = do layout' <- applyToLayout f $ slideLayout slide let paras = fromSpeakerNotes $ slideSpeakerNotes slide notes' <- SpeakerNotes <$> mapM (applyToParagraph f) paras return slide{slideLayout = layout', slideSpeakerNotes = notes'} replaceAnchor :: ParaElem -> Pres ParaElem replaceAnchor (Run rProps s) | Just (ExternalTarget (T.uncons -> Just ('#', anchor), _)) <- rLink rProps = do anchorMap <- gets stAnchorMap -- If the anchor is not in the anchormap, we just remove the -- link. let rProps' = case M.lookup anchor anchorMap of Just n -> rProps{rLink = Just $ InternalTarget n} Nothing -> rProps{rLink = Nothing} return $ Run rProps' s replaceAnchor pe = return pe emptyParaElem :: ParaElem -> Bool emptyParaElem (Run _ s) = T.null $ Shared.trim s emptyParaElem (MathElem _ ts) = T.null $ Shared.trim $ unTeXString ts emptyParaElem _ = False emptyParagraph :: Paragraph -> Bool emptyParagraph para = all emptyParaElem $ paraElems para emptyShape :: Shape -> Bool emptyShape (TextBox paras) = all emptyParagraph paras emptyShape _ = False emptyLayout :: Layout -> Bool emptyLayout layout = case layout of MetadataSlide title subtitle authors date -> all emptyParaElem title && all emptyParaElem subtitle && all (all emptyParaElem) authors && all emptyParaElem date TitleSlide hdr -> all emptyParaElem hdr ContentSlide hdr shapes -> all emptyParaElem hdr && all emptyShape shapes TwoColumnSlide hdr shapes1 shapes2 -> all emptyParaElem hdr && all emptyShape shapes1 && all emptyShape shapes2 emptySlide :: Slide -> Bool emptySlide (Slide _ layout notes) = (notes == mempty) && emptyLayout layout blocksToPresentationSlides :: [Block] -> Pres [Slide] blocksToPresentationSlides blks = do opts <- asks envOpts mbMetadataSlide <- getMetaSlide -- if the metadata slide exists, we try to add any speakerNotes -- which immediately follow it. We also convert from maybe to a -- list, so that it will be able to add together more easily with -- the other lists of slides. (metadataslides, blks') <- case mbMetadataSlide of Just sld -> do (s, bs) <- addSpeakerNotesToMetaSlide sld blks return ([s], bs) Nothing -> return ([], blks) -- As far as I can tell, if we want to have a variable-length toc in -- the future, we'll have to make it twice. Once to get the length, -- and a second time to include the notes slide. We can't make the -- notes slide before the body slides because we need to know if -- there are notes, and we can't make either before the toc slide, -- because we need to know its length to get slide numbers right. -- -- For now, though, since the TOC slide is only length 1, if it -- exists, we'll just get the length, and then come back to make the -- slide later blksLst <- splitBlocks blks' bodySlideIds <- mapM (\n -> runUniqueSlideId $ "BodySlide" <> tshow n) (take (length blksLst) [1..] :: [Integer]) bodyslides <- mapM (\(bs, ident) -> local (\st -> st{envCurSlideId = ident}) (blocksToSlide bs)) (zip blksLst bodySlideIds) endNotesSlideBlocks <- makeEndNotesSlideBlocks -- now we come back and make the real toc... tocSlides <- if writerTableOfContents opts then do toc <- makeTOCSlide $ blks' ++ endNotesSlideBlocks return [toc] else return [] -- ... and the notes slide. We test to see if the blocks are empty, -- because we don't want to make an empty slide. endNotesSlides <- if null endNotesSlideBlocks then return [] else do endNotesSlide <- local (\env -> env { envCurSlideId = endNotesSlideId , envInNoteSlide = True }) (blocksToSlide endNotesSlideBlocks) return [endNotesSlide] let slides = metadataslides ++ tocSlides ++ bodyslides ++ endNotesSlides slides' = filter (not . emptySlide) slides mapM (applyToSlide replaceAnchor) slides' metaToDocProps :: Meta -> DocProps metaToDocProps meta = let keywords = case lookupMeta "keywords" meta of Just (MetaList xs) -> Just $ map Shared.stringify xs _ -> Nothing authors = case map Shared.stringify $ docAuthors meta of [] -> Nothing ss -> Just $ T.intercalate "; " ss description = case map Shared.stringify $ lookupMetaBlocks "description" meta of [] -> Nothing ss -> Just $ T.intercalate "_x000d_\n" ss customProperties' = case [(k, lookupMetaString k meta) | k <- M.keys (unMeta meta) , k `notElem` ["title", "author", "keywords", "description" , "subject","lang","category"]] of [] -> Nothing ss -> Just ss in DocProps{ dcTitle = Shared.stringify <$> lookupMeta "title" meta , dcSubject = Shared.stringify <$> lookupMeta "subject" meta , dcCreator = authors , dcKeywords = keywords , dcDescription = description , cpCategory = Shared.stringify <$> lookupMeta "category" meta , dcCreated = Nothing , customProperties = customProperties' } documentToPresentation :: WriterOptions -> Pandoc -> (Presentation, [LogMessage]) documentToPresentation opts (Pandoc meta blks) = let env = def { envOpts = opts , envMetadata = meta , envSlideLevel = fromMaybe (getSlideLevel blks) (writerSlideLevel opts) } (presSlides, msgs) = runPres env def $ blocksToPresentationSlides blks docProps = metaToDocProps meta in (Presentation docProps presSlides, msgs) -- -------------------------------------------------------------- applyTokStyToRunProps :: TokenStyle -> RunProps -> RunProps applyTokStyToRunProps tokSty rProps = rProps{ rSolidFill = tokenColor tokSty <|> rSolidFill rProps , rPropBold = tokenBold tokSty || rPropBold rProps , rPropItalics = tokenItalic tokSty || rPropItalics rProps , rPropUnderline = tokenUnderline tokSty || rPropUnderline rProps } formatToken :: Style -> Token -> ParaElem formatToken sty (tokType, txt) = let rProps = def{rPropCode = True, rSolidFill = defaultColor sty} rProps' = case M.lookup tokType (tokenStyles sty) of Just tokSty -> applyTokStyToRunProps tokSty rProps Nothing -> rProps in Run rProps' txt formatSourceLine :: Style -> FormatOptions -> SourceLine -> [ParaElem] formatSourceLine sty _ srcLn = map (formatToken sty) srcLn formatSourceLines :: Style -> FormatOptions -> [SourceLine] -> [ParaElem] formatSourceLines sty opts srcLns = intercalate [Break] $ map (formatSourceLine sty opts) srcLns ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/RST.hs�������������������������������������������������������0000664�0000000�0000000�00000074773�13636304630�0020537�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.RST Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to reStructuredText. reStructuredText: <http://docutils.sourceforge.net/rst.html> -} module Text.Pandoc.Writers.RST ( writeRST, flatten ) where import Control.Monad.State.Strict import Data.Char (isSpace) import Data.List (transpose, intersperse) import Data.Maybe (fromMaybe) import qualified Data.Text as T import Data.Text (Text) import qualified Text.Pandoc.Builder as B import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared import Text.Pandoc.Walk type Refs = [([Inline], Target)] data WriterState = WriterState { stNotes :: [[Block]] , stLinks :: Refs , stImages :: [([Inline], (Attr, Text, Text, Maybe Text))] , stHasMath :: Bool , stHasRawTeX :: Bool , stOptions :: WriterOptions , stTopLevel :: Bool } type RST = StateT WriterState -- | Convert Pandoc to RST. writeRST :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeRST opts document = do let st = WriterState { stNotes = [], stLinks = [], stImages = [], stHasMath = False, stHasRawTeX = False, stOptions = opts, stTopLevel = True } evalStateT (pandocToRST document) st -- | Return RST representation of document. pandocToRST :: PandocMonad m => Pandoc -> RST m Text pandocToRST (Pandoc meta blocks) = do opts <- gets stOptions let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing let subtit = lookupMetaInlines "subtitle" meta title <- titleToRST (docTitle meta) subtit metadata <- metaToContext opts blockListToRST (fmap chomp . inlineListToRST) meta body <- blockListToRST' True $ case writerTemplate opts of Just _ -> normalizeHeadings 1 blocks Nothing -> blocks notes <- gets (reverse . stNotes) >>= notesToRST -- note that the notes may contain refs, so we do them first refs <- gets (reverse . stLinks) >>= refsToRST pics <- gets (reverse . stImages) >>= pictRefsToRST hasMath <- gets stHasMath rawTeX <- gets stHasRawTeX let main = vsep [body, notes, refs, pics] let context = defField "body" main $ defField "toc" (writerTableOfContents opts) $ defField "toc-depth" (tshow $ writerTOCDepth opts) $ defField "number-sections" (writerNumberSections opts) $ defField "math" hasMath $ defField "titleblock" (render Nothing title :: Text) $ defField "math" hasMath $ defField "rawtex" rawTeX metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context where normalizeHeadings lev (Header l a i:bs) = Header lev a i:normalizeHeadings (lev+1) cont ++ normalizeHeadings lev bs' where (cont,bs') = break (headerLtEq l) bs headerLtEq level (Header l' _ _) = l' <= level headerLtEq _ _ = False normalizeHeadings lev (b:bs) = b:normalizeHeadings lev bs normalizeHeadings _ [] = [] -- | Return RST representation of reference key table. refsToRST :: PandocMonad m => Refs -> RST m (Doc Text) refsToRST refs = vcat <$> mapM keyToRST refs -- | Return RST representation of a reference key. keyToRST :: PandocMonad m => ([Inline], (Text, Text)) -> RST m (Doc Text) keyToRST (label, (src, _)) = do label' <- inlineListToRST label let label'' = if (==':') `T.any` (render Nothing label' :: Text) then char '`' <> label' <> char '`' else label' return $ nowrap $ ".. _" <> label'' <> ": " <> literal src -- | Return RST representation of notes. notesToRST :: PandocMonad m => [[Block]] -> RST m (Doc Text) notesToRST notes = vsep <$> zipWithM noteToRST [1..] notes -- | Return RST representation of a note. noteToRST :: PandocMonad m => Int -> [Block] -> RST m (Doc Text) noteToRST num note = do contents <- blockListToRST note let marker = ".. [" <> text (show num) <> "]" return $ nowrap $ marker $$ nest 3 contents -- | Return RST representation of picture reference table. pictRefsToRST :: PandocMonad m => [([Inline], (Attr, Text, Text, Maybe Text))] -> RST m (Doc Text) pictRefsToRST refs = vcat <$> mapM pictToRST refs -- | Return RST representation of a picture substitution reference. pictToRST :: PandocMonad m => ([Inline], (Attr, Text, Text, Maybe Text)) -> RST m (Doc Text) pictToRST (label, (attr, src, _, mbtarget)) = do label' <- inlineListToRST label dims <- imageDimsToRST attr let (_, cls, _) = attr classes = case cls of [] -> empty ["align-right"] -> ":align: right" ["align-left"] -> ":align: left" ["align-center"] -> ":align: center" _ -> ":class: " <> literal (T.unwords cls) return $ nowrap $ ".. |" <> label' <> "| image:: " <> literal src $$ hang 3 empty (classes $$ dims) $$ case mbtarget of Nothing -> empty Just t -> " :target: " <> literal t -- | Escape special characters for RST. escapeText :: WriterOptions -> Text -> Text escapeText o = T.pack . escapeString' True o . T.unpack -- This ought to be parser where escapeString' _ _ [] = [] escapeString' firstChar opts (c:cs) = case c of _ | c `elemText` "\\`*_|" && (firstChar || null cs) -> '\\':c:escapeString' False opts cs '\'' | isEnabled Ext_smart opts -> '\\':'\'':escapeString' False opts cs '"' | isEnabled Ext_smart opts -> '\\':'"':escapeString' False opts cs '-' | isEnabled Ext_smart opts -> case cs of '-':_ -> '\\':'-':escapeString' False opts cs _ -> '-':escapeString' False opts cs '.' | isEnabled Ext_smart opts -> case cs of '.':'.':rest -> '\\':'.':'.':'.':escapeString' False opts rest _ -> '.':escapeString' False opts cs _ -> c : escapeString' False opts cs titleToRST :: PandocMonad m => [Inline] -> [Inline] -> RST m (Doc Text) titleToRST [] _ = return empty titleToRST tit subtit = do title <- inlineListToRST tit subtitle <- inlineListToRST subtit return $ bordered title '=' $$ bordered subtitle '-' bordered :: Doc Text -> Char -> Doc Text bordered contents c = if len > 0 then border $$ contents $$ border else empty where len = offset contents border = literal (T.replicate len $ T.singleton c) -- | Convert Pandoc block element to RST. blockToRST :: PandocMonad m => Block -- ^ Block element -> RST m (Doc Text) blockToRST Null = return empty blockToRST (Div ("",["title"],[]) _) = return empty -- this is generated by the rst reader and can safely be -- omitted when we're generating rst blockToRST (Div (ident,classes,_kvs) bs) = do contents <- blockListToRST bs let admonitions = ["attention","caution","danger","error","hint", "important","note","tip","warning","admonition"] let admonition = case classes of (cl:_) | cl `elem` admonitions -> ".. " <> literal cl <> "::" cls -> ".. container::" <> space <> literal (T.unwords (filter (/= "container") cls)) return $ blankline $$ admonition $$ (if T.null ident then blankline else " :name: " <> literal ident $$ blankline) $$ nest 3 contents $$ blankline blockToRST (Plain inlines) = inlineListToRST inlines -- title beginning with fig: indicates that the image is a figure blockToRST (Para [Image attr txt (src,T.stripPrefix "fig:" -> Just tit)]) = do capt <- inlineListToRST txt dims <- imageDimsToRST attr let fig = "figure:: " <> literal src alt = ":alt: " <> if T.null tit then capt else literal tit (_,cls,_) = attr classes = case cls of [] -> empty ["align-right"] -> ":align: right" ["align-left"] -> ":align: left" ["align-center"] -> ":align: center" _ -> ":figclass: " <> literal (T.unwords cls) return $ hang 3 ".. " (fig $$ alt $$ classes $$ dims $+$ capt) $$ blankline blockToRST (Para inlines) | LineBreak `elem` inlines = linesToLineBlock $ splitBy (==LineBreak) inlines | otherwise = do contents <- inlineListToRST inlines return $ contents <> blankline blockToRST (LineBlock lns) = linesToLineBlock lns blockToRST (RawBlock f@(Format f') str) | f == "rst" = return $ literal str | f == "tex" = blockToRST (RawBlock (Format "latex") str) | otherwise = return $ blankline <> ".. raw:: " <> literal (T.toLower f') $+$ nest 3 (literal str) $$ blankline blockToRST HorizontalRule = return $ blankline $$ "--------------" $$ blankline blockToRST (Header level (name,classes,_) inlines) = do contents <- inlineListToRST inlines -- we calculate the id that would be used by auto_identifiers -- so we know whether to print an explicit identifier opts <- gets stOptions let autoId = uniqueIdent (writerExtensions opts) inlines mempty isTopLevel <- gets stTopLevel if isTopLevel then do let headerChar = if level > 5 then ' ' else "=-~^'" !! (level - 1) let border = literal $ T.replicate (offset contents) $ T.singleton headerChar let anchor | T.null name || name == autoId = empty | otherwise = ".. _" <> literal name <> ":" $$ blankline return $ nowrap $ anchor $$ contents $$ border $$ blankline else do let rub = "rubric:: " <> contents let name' | T.null name = empty | otherwise = ":name: " <> literal name let cls | null classes = empty | otherwise = ":class: " <> literal (T.unwords classes) return $ nowrap $ hang 3 ".. " (rub $$ name' $$ cls) $$ blankline blockToRST (CodeBlock (_,classes,kvs) str) = do opts <- gets stOptions let startnum = maybe "" (\x -> " " <> literal x) $ lookup "startFrom" kvs let numberlines = if "numberLines" `elem` classes then " :number-lines:" <> startnum else empty if "haskell" `elem` classes && "literate" `elem` classes && isEnabled Ext_literate_haskell opts then return $ prefixed "> " (literal str) $$ blankline else return $ (case [c | c <- classes, c `notElem` ["sourceCode","literate","numberLines", "number-lines","example"]] of [] -> "::" (lang:_) -> (".. code:: " <> literal lang) $$ numberlines) $+$ nest 3 (literal str) $$ blankline blockToRST (BlockQuote blocks) = do contents <- blockListToRST blocks return $ nest 3 contents <> blankline blockToRST (Table caption aligns widths headers rows) = do caption' <- inlineListToRST caption let blocksToDoc opts bs = do oldOpts <- gets stOptions modify $ \st -> st{ stOptions = opts } result <- blockListToRST bs modify $ \st -> st{ stOptions = oldOpts } return result opts <- gets stOptions let isSimple = all (== 0) widths && length widths > 1 tbl <- if isSimple then do tbl' <- simpleTable opts blocksToDoc headers rows if offset tbl' > writerColumns opts then gridTable opts blocksToDoc (all null headers) (map (const AlignDefault) aligns) widths headers rows else return tbl' else gridTable opts blocksToDoc (all null headers) (map (const AlignDefault) aligns) widths headers rows return $ blankline $$ (if null caption then tbl else (".. table:: " <> caption') $$ blankline $$ nest 3 tbl) $$ blankline blockToRST (BulletList items) = do contents <- mapM bulletListItemToRST items -- ensure that sublists have preceding blank line return $ blankline $$ (if isTightList items then vcat else vsep) contents $$ blankline blockToRST (OrderedList (start, style', delim) items) = do let markers = if start == 1 && style' == DefaultStyle && delim == DefaultDelim then replicate (length items) "#." else take (length items) $ orderedListMarkers (start, style', delim) let maxMarkerLength = maximum $ map T.length markers let markers' = map (\m -> let s = maxMarkerLength - T.length m in m <> T.replicate s " ") markers contents <- zipWithM orderedListItemToRST markers' items -- ensure that sublists have preceding blank line return $ blankline $$ (if isTightList items then vcat else vsep) contents $$ blankline blockToRST (DefinitionList items) = do contents <- mapM definitionListItemToRST items -- ensure that sublists have preceding blank line return $ blankline $$ vcat contents $$ blankline -- | Convert bullet list item (list of blocks) to RST. bulletListItemToRST :: PandocMonad m => [Block] -> RST m (Doc Text) bulletListItemToRST items = do contents <- blockListToRST items return $ hang 3 "- " contents $$ if endsWithPlain items then cr else blankline -- | Convert ordered list item (a list of blocks) to RST. orderedListItemToRST :: PandocMonad m => Text -- ^ marker for list item -> [Block] -- ^ list item (list of blocks) -> RST m (Doc Text) orderedListItemToRST marker items = do contents <- blockListToRST items let marker' = marker <> " " return $ hang (T.length marker') (literal marker') contents $$ if endsWithPlain items then cr else blankline -- | Convert definition list item (label, list of blocks) to RST. definitionListItemToRST :: PandocMonad m => ([Inline], [[Block]]) -> RST m (Doc Text) definitionListItemToRST (label, defs) = do label' <- inlineListToRST label contents <- liftM vcat $ mapM blockListToRST defs return $ nowrap label' $$ nest 3 (nestle contents) $$ if isTightList defs then cr else blankline -- | Format a list of lines as line block. linesToLineBlock :: PandocMonad m => [[Inline]] -> RST m (Doc Text) linesToLineBlock inlineLines = do lns <- mapM inlineListToRST inlineLines return $ vcat (map (hang 2 (literal "| ")) lns) <> blankline -- | Convert list of Pandoc block elements to RST. blockListToRST' :: PandocMonad m => Bool -> [Block] -- ^ List of block elements -> RST m (Doc Text) blockListToRST' topLevel blocks = do -- insert comment between list and quoted blocks, see #4248 and #3675 let fixBlocks (b1:b2@(BlockQuote _):bs) | toClose b1 = b1 : commentSep : b2 : fixBlocks bs where toClose Plain{} = False toClose Header{} = False toClose LineBlock{} = False toClose HorizontalRule = False toClose (Para [Image _ _ (_,t)]) = "fig:" `T.isPrefixOf` t toClose Para{} = False toClose _ = True commentSep = RawBlock "rst" "..\n\n" fixBlocks (b:bs) = b : fixBlocks bs fixBlocks [] = [] tl <- gets stTopLevel modify (\s->s{stTopLevel=topLevel}) res <- vcat `fmap` mapM blockToRST (fixBlocks blocks) modify (\s->s{stTopLevel=tl}) return res blockListToRST :: PandocMonad m => [Block] -- ^ List of block elements -> RST m (Doc Text) blockListToRST = blockListToRST' False transformInlines :: [Inline] -> [Inline] transformInlines = insertBS . filter hasContents . removeSpaceAfterDisplayMath . concatMap (transformNested . flatten) where -- empty inlines are not valid RST syntax hasContents :: Inline -> Bool hasContents (Str "") = False hasContents (Emph []) = False hasContents (Strong []) = False hasContents (Strikeout []) = False hasContents (Superscript []) = False hasContents (Subscript []) = False hasContents (SmallCaps []) = False hasContents (Quoted _ []) = False hasContents (Cite _ []) = False hasContents (Span _ []) = False hasContents (Link _ [] ("", "")) = False hasContents (Image _ [] ("", "")) = False hasContents _ = True -- remove spaces after displaymath, as they screw up indentation: removeSpaceAfterDisplayMath (Math DisplayMath x : zs) = Math DisplayMath x : dropWhile (==Space) zs removeSpaceAfterDisplayMath (x:xs) = x : removeSpaceAfterDisplayMath xs removeSpaceAfterDisplayMath [] = [] insertBS :: [Inline] -> [Inline] -- insert '\ ' where needed insertBS (x:y:z:zs) | isComplex y && surroundComplex x z = x : y : insertBS (z : zs) insertBS (x:y:zs) | isComplex x && not (okAfterComplex y) = x : RawInline "rst" "\\ " : insertBS (y : zs) | isComplex y && not (okBeforeComplex x) = x : RawInline "rst" "\\ " : insertBS (y : zs) | otherwise = x : insertBS (y : zs) insertBS (x:ys) = x : insertBS ys insertBS [] = [] transformNested :: [Inline] -> [Inline] transformNested = map (mapNested stripLeadingTrailingSpace) surroundComplex :: Inline -> Inline -> Bool surroundComplex (Str s) (Str s') | Just (_, c) <- T.unsnoc s , Just (c', _) <- T.uncons s' = case (c, c') of ('\'','\'') -> True ('"','"') -> True ('<','>') -> True ('[',']') -> True ('{','}') -> True _ -> False surroundComplex _ _ = False okAfterComplex :: Inline -> Bool okAfterComplex Space = True okAfterComplex SoftBreak = True okAfterComplex LineBreak = True okAfterComplex (Str (T.uncons -> Just (c,_))) = isSpace c || c `elemText` "-.,:;!?\\/'\")]}>–—" okAfterComplex _ = False okBeforeComplex :: Inline -> Bool okBeforeComplex Space = True okBeforeComplex SoftBreak = True okBeforeComplex LineBreak = True okBeforeComplex (Str (T.unsnoc -> Just (_,c))) = isSpace c || c `elemText` "-:/'\"<([{–—" okBeforeComplex _ = False isComplex :: Inline -> Bool isComplex (Emph _) = True isComplex (Strong _) = True isComplex (SmallCaps _) = True isComplex (Strikeout _) = True isComplex (Superscript _) = True isComplex (Subscript _) = True isComplex Link{} = True isComplex Image{} = True isComplex (Code _ _) = True isComplex (Math _ _) = True isComplex (Cite _ (x:_)) = isComplex x isComplex (Span _ (x:_)) = isComplex x isComplex _ = False -- | Flattens nested inlines. Extracts nested inlines and goes through -- them either collapsing them in the outer inline container or -- pulling them out of it flatten :: Inline -> [Inline] flatten outer | null contents = [outer] | otherwise = combineAll contents where contents = dropInlineParent outer combineAll = foldl combine [] combine :: [Inline] -> Inline -> [Inline] combine f i = case (outer, i) of -- quotes are not rendered using RST inlines, so we can keep -- them and they will be readable and parsable (Quoted _ _, _) -> keep f i (_, Quoted _ _) -> keep f i -- spans are not rendered using RST inlines, so we can keep them (Span ("",[],[]) _, _) -> keep f i (_, Span ("",[],[]) _) -> keep f i -- inlineToRST handles this case properly so it's safe to keep ( Link{}, Image{}) -> keep f i -- parent inlines would prevent links from being correctly -- parsed, in this case we prioritise the content over the -- style (_, Link{}) -> emerge f i -- always give priority to strong text over emphasis (Emph _, Strong _) -> emerge f i -- drop all other nested styles (_, _) -> collapse f i emerge f i = f <> [i] keep f i = appendToLast f [i] collapse f i = appendToLast f $ dropInlineParent i appendToLast :: [Inline] -> [Inline] -> [Inline] appendToLast [] toAppend = [setInlineChildren outer toAppend] appendToLast flattened toAppend | isOuter lastFlat = init flattened <> [appendTo lastFlat toAppend] | otherwise = flattened <> [setInlineChildren outer toAppend] where lastFlat = last flattened appendTo o i = mapNested (<> i) o isOuter i = emptyParent i == emptyParent outer emptyParent i = setInlineChildren i [] mapNested :: ([Inline] -> [Inline]) -> Inline -> Inline mapNested f i = setInlineChildren i (f (dropInlineParent i)) dropInlineParent :: Inline -> [Inline] dropInlineParent (Link _ i _) = i dropInlineParent (Emph i) = i dropInlineParent (Strong i) = i dropInlineParent (Strikeout i) = i dropInlineParent (Superscript i) = i dropInlineParent (Subscript i) = i dropInlineParent (SmallCaps i) = i dropInlineParent (Cite _ i) = i dropInlineParent (Image _ i _) = i dropInlineParent (Span _ i) = i dropInlineParent (Quoted _ i) = i dropInlineParent i = [i] -- not a parent, like Str or Space setInlineChildren :: Inline -> [Inline] -> Inline setInlineChildren (Link a _ t) i = Link a i t setInlineChildren (Emph _) i = Emph i setInlineChildren (Strong _) i = Strong i setInlineChildren (Strikeout _) i = Strikeout i setInlineChildren (Superscript _) i = Superscript i setInlineChildren (Subscript _) i = Subscript i setInlineChildren (SmallCaps _) i = SmallCaps i setInlineChildren (Quoted q _) i = Quoted q i setInlineChildren (Cite c _) i = Cite c i setInlineChildren (Image a _ t) i = Image a i t setInlineChildren (Span a _) i = Span a i setInlineChildren leaf _ = leaf inlineListToRST :: PandocMonad m => [Inline] -> RST m (Doc Text) inlineListToRST = writeInlines . walk transformInlines -- | Convert list of Pandoc inline elements to RST. writeInlines :: PandocMonad m => [Inline] -> RST m (Doc Text) writeInlines lst = hcat <$> mapM inlineToRST lst -- | Convert Pandoc inline element to RST. inlineToRST :: PandocMonad m => Inline -> RST m (Doc Text) inlineToRST (Span (_,_,kvs) ils) = do contents <- writeInlines ils return $ case lookup "role" kvs of Just role -> ":" <> literal role <> ":`" <> contents <> "`" Nothing -> contents inlineToRST (Emph lst) = do contents <- writeInlines lst return $ "*" <> contents <> "*" inlineToRST (Strong lst) = do contents <- writeInlines lst return $ "**" <> contents <> "**" inlineToRST (Strikeout lst) = do contents <- writeInlines lst return $ "[STRIKEOUT:" <> contents <> "]" inlineToRST (Superscript lst) = do contents <- writeInlines lst return $ ":sup:`" <> contents <> "`" inlineToRST (Subscript lst) = do contents <- writeInlines lst return $ ":sub:`" <> contents <> "`" inlineToRST (SmallCaps lst) = writeInlines lst inlineToRST (Quoted SingleQuote lst) = do contents <- writeInlines lst opts <- gets stOptions if isEnabled Ext_smart opts then return $ "'" <> contents <> "'" else return $ "‘" <> contents <> "’" inlineToRST (Quoted DoubleQuote lst) = do contents <- writeInlines lst opts <- gets stOptions if isEnabled Ext_smart opts then return $ "\"" <> contents <> "\"" else return $ "“" <> contents <> "”" inlineToRST (Cite _ lst) = writeInlines lst inlineToRST (Code (_,["interpreted-text"],[("role",role)]) str) = return $ ":" <> literal role <> ":`" <> literal str <> "`" inlineToRST (Code _ str) = do opts <- gets stOptions -- we trim the string because the delimiters must adjoin a -- non-space character; see #3496 -- we use :literal: when the code contains backticks, since -- :literal: allows backslash-escapes; see #3974 return $ if '`' `elemText` str then ":literal:`" <> literal (escapeText opts (trim str)) <> "`" else "``" <> literal (trim str) <> "``" inlineToRST (Str str) = do opts <- gets stOptions return $ literal $ (if isEnabled Ext_smart opts then unsmartify opts else id) $ escapeText opts str inlineToRST (Math t str) = do modify $ \st -> st{ stHasMath = True } return $ if t == InlineMath then ":math:`" <> literal str <> "`" else if '\n' `elemText` str then blankline $$ ".. math::" $$ blankline $$ nest 3 (literal str) $$ blankline else blankline $$ (".. math:: " <> literal str) $$ blankline inlineToRST il@(RawInline f x) | f == "rst" = return $ literal x | f == "latex" || f == "tex" = do modify $ \st -> st{ stHasRawTeX = True } return $ ":raw-latex:`" <> literal x <> "`" | otherwise = empty <$ report (InlineNotRendered il) inlineToRST LineBreak = return cr -- there's no line break in RST (see Para) inlineToRST Space = return space inlineToRST SoftBreak = do wrapText <- gets $ writerWrapText . stOptions case wrapText of WrapPreserve -> return cr WrapAuto -> return space WrapNone -> return space -- autolink inlineToRST (Link _ [Str str] (src, _)) | isURI src && if "mailto:" `T.isPrefixOf` src then src == escapeURI ("mailto:" <> str) else src == escapeURI str = do let srcSuffix = fromMaybe src (T.stripPrefix "mailto:" src) return $ literal srcSuffix inlineToRST (Link _ [Image attr alt (imgsrc,imgtit)] (src, _tit)) = do label <- registerImage attr alt (imgsrc,imgtit) (Just src) return $ "|" <> label <> "|" inlineToRST (Link _ txt (src, tit)) = do useReferenceLinks <- gets $ writerReferenceLinks . stOptions linktext <- writeInlines $ B.toList . B.trimInlines . B.fromList $ txt if useReferenceLinks then do refs <- gets stLinks case lookup txt refs of Just (src',tit') -> if src == src' && tit == tit' then return $ "`" <> linktext <> "`_" else return $ "`" <> linktext <> " <" <> literal src <> ">`__" Nothing -> do modify $ \st -> st { stLinks = (txt,(src,tit)):refs } return $ "`" <> linktext <> "`_" else return $ "`" <> linktext <> " <" <> literal src <> ">`__" inlineToRST (Image attr alternate (source, tit)) = do label <- registerImage attr alternate (source,tit) Nothing return $ "|" <> label <> "|" inlineToRST (Note contents) = do -- add to notes in state notes <- gets stNotes modify $ \st -> st { stNotes = contents:notes } let ref = show $ length notes + 1 return $ " [" <> text ref <> "]_" registerImage :: PandocMonad m => Attr -> [Inline] -> Target -> Maybe Text -> RST m (Doc Text) registerImage attr alt (src,tit) mbtarget = do pics <- gets stImages txt <- case lookup alt pics of Just (a,s,t,mbt) | (a,s,t,mbt) == (attr,src,tit,mbtarget) -> return alt _ -> do let alt' = if null alt || alt == [Str ""] then [Str $ "image" <> tshow (length pics)] else alt modify $ \st -> st { stImages = (alt', (attr,src,tit, mbtarget)):stImages st } return alt' inlineListToRST txt imageDimsToRST :: PandocMonad m => Attr -> RST m (Doc Text) imageDimsToRST attr = do let (ident, _, _) = attr name = if T.null ident then empty else ":name: " <> literal ident showDim dir = let cols d = ":" <> text (show dir) <> ": " <> text (show d) in case dimension dir attr of Just (Percent a) -> case dir of Height -> empty Width -> cols (Percent a) Just dim -> cols dim Nothing -> empty return $ cr <> name $$ showDim Width $$ showDim Height simpleTable :: PandocMonad m => WriterOptions -> (WriterOptions -> [Block] -> m (Doc Text)) -> [[Block]] -> [[[Block]]] -> m (Doc Text) simpleTable opts blocksToDoc headers rows = do -- can't have empty cells in first column: let fixEmpties (d:ds) = if isEmpty d then literal "\\ " : ds else d : ds fixEmpties [] = [] headerDocs <- if all null headers then return [] else fixEmpties <$> mapM (blocksToDoc opts) headers rowDocs <- mapM (fmap fixEmpties . mapM (blocksToDoc opts)) rows let numChars [] = 0 numChars xs = maximum . map offset $ xs let colWidths = map numChars $ transpose (headerDocs : rowDocs) let toRow = mconcat . intersperse (lblock 1 " ") . zipWith lblock colWidths let hline = nowrap $ hsep (map (\n -> literal (T.replicate n "=")) colWidths) let hdr = if all null headers then mempty else hline $$ toRow headerDocs let bdy = vcat $ map toRow rowDocs return $ hdr $$ hline $$ bdy $$ hline �����pandoc-2.9.2.1/src/Text/Pandoc/Writers/RTF.hs�������������������������������������������������������0000664�0000000�0000000�00000040235�13636304630�0020504�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.RTF Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to RTF (rich text format). -} module Text.Pandoc.Writers.RTF ( writeRTF ) where import Control.Monad.Except (catchError, throwError) import Control.Monad import qualified Data.ByteString as B import Data.Char (chr, isDigit, ord) import qualified Data.Map as M import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import qualified Text.Pandoc.Class.PandocMonad as P import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.DocLayout (render, literal) import Text.Pandoc.Walk import Text.Pandoc.Writers.Math import Text.Pandoc.Writers.Shared import Text.Printf (printf) -- | Convert Image inlines into a raw RTF embedded image, read from a file, -- or a MediaBag, or the internet. -- If file not found or filetype not jpeg or png, leave the inline unchanged. rtfEmbedImage :: PandocMonad m => WriterOptions -> Inline -> m Inline rtfEmbedImage opts x@(Image attr _ (src,_)) = catchError (do result <- P.fetchItem src case result of (imgdata, Just mime) | mime == "image/jpeg" || mime == "image/png" -> do let bytes = map (T.pack . printf "%02x") $ B.unpack imgdata filetype <- case mime of "image/jpeg" -> return "\\jpegblip" "image/png" -> return "\\pngblip" _ -> throwError $ PandocShouldNeverHappenError $ "Unknown file type " <> mime sizeSpec <- case imageSize opts imgdata of Left msg -> do report $ CouldNotDetermineImageSize src msg return "" Right sz -> return $ "\\picw" <> tshow xpx <> "\\pich" <> tshow ypx <> "\\picwgoal" <> tshow (floor (xpt * 20) :: Integer) <> "\\pichgoal" <> tshow (floor (ypt * 20) :: Integer) -- twip = 1/1440in = 1/20pt where (xpx, ypx) = sizeInPixels sz (xpt, ypt) = desiredSizeInPoints opts attr sz let raw = "{\\pict" <> filetype <> sizeSpec <> "\\bin " <> T.concat bytes <> "}" if B.null imgdata then do report $ CouldNotFetchResource src "image contained no data" return x else return $ RawInline (Format "rtf") raw | otherwise -> do report $ CouldNotFetchResource src "image is not a jpeg or png" return x (_, Nothing) -> do report $ CouldNotDetermineMimeType src return x) (\e -> do report $ CouldNotFetchResource src $ tshow e return x) rtfEmbedImage _ x = return x -- | Convert Pandoc to a string in rich text format. writeRTF :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeRTF options doc = do -- handle images Pandoc meta@(Meta metamap) blocks <- walkM (rtfEmbedImage options) doc let spacer = not $ all null $ docTitle meta : docDate meta : docAuthors meta let toPlain (MetaBlocks [Para ils]) = MetaInlines ils toPlain x = x -- adjust title, author, date so we don't get para inside para let meta' = Meta $ M.adjust toPlain "title" . M.adjust toPlain "author" . M.adjust toPlain "date" $ metamap metadata <- metaToContext options (fmap (literal . T.concat) . mapM (blockToRTF 0 AlignDefault)) (fmap literal . inlinesToRTF) meta' body <- blocksToRTF 0 AlignDefault blocks toc <- blocksToRTF 0 AlignDefault [toTableOfContents options blocks] let context = defField "body" body $ defField "spacer" spacer $(if writerTableOfContents options then defField "table-of-contents" toc -- for backwards compatibility, -- we populate toc with the contents -- of the toc rather than a boolean: . defField "toc" toc else id) metadata return $ case writerTemplate options of Just tpl -> render Nothing $ renderTemplate tpl context Nothing -> case T.unsnoc body of Just (_,'\n') -> body _ -> body <> T.singleton '\n' -- | Convert unicode characters (> 127) into rich text format representation. handleUnicode :: Text -> Text handleUnicode = T.concatMap $ \c -> if ord c > 127 then if surrogate c then let x = ord c - 0x10000 (q, r) = x `divMod` 0x400 upper = q + 0xd800 lower = r + 0xDC00 in enc (chr upper) <> enc (chr lower) else enc c else T.singleton c where surrogate x = not ( (0x0000 <= ord x && ord x <= 0xd7ff) || (0xe000 <= ord x && ord x <= 0xffff) ) enc x = "\\u" <> tshow (ord x) <> "?" -- | Escape special characters. escapeSpecial :: Text -> Text escapeSpecial = escapeStringUsing $ [ ('\t',"\\tab ") , ('\8216',"\\u8216'") , ('\8217',"\\u8217'") , ('\8220',"\\u8220\"") , ('\8221',"\\u8221\"") , ('\8211',"\\u8211-") , ('\8212',"\\u8212-") ] <> backslashEscapes "{\\}" -- | Escape strings as needed for rich text format. stringToRTF :: Text -> Text stringToRTF = handleUnicode . escapeSpecial -- | Escape things as needed for code block in RTF. codeStringToRTF :: Text -> Text codeStringToRTF str = T.intercalate "\\line\n" $ T.lines (stringToRTF str) -- | Make a paragraph with first-line indent, block indent, and space after. rtfParSpaced :: Int -- ^ space after (in twips) -> Int -- ^ block indent (in twips) -> Int -- ^ first line indent (relative to block) (in twips) -> Alignment -- ^ alignment -> Text -- ^ string with content -> Text rtfParSpaced spaceAfter indent firstLineIndent alignment content = let alignString = case alignment of AlignLeft -> "\\ql " AlignRight -> "\\qr " AlignCenter -> "\\qc " AlignDefault -> "\\ql " in "{\\pard " <> alignString <> "\\f0 \\sa" <> tshow spaceAfter <> " \\li" <> T.pack (show indent) <> " \\fi" <> tshow firstLineIndent <> " " <> content <> "\\par}\n" -- | Default paragraph. rtfPar :: Int -- ^ block indent (in twips) -> Int -- ^ first line indent (relative to block) (in twips) -> Alignment -- ^ alignment -> Text -- ^ string with content -> Text rtfPar = rtfParSpaced 180 -- | Compact paragraph (e.g. for compact list items). rtfCompact :: Int -- ^ block indent (in twips) -> Int -- ^ first line indent (relative to block) (in twips) -> Alignment -- ^ alignment -> Text -- ^ string with content -> Text rtfCompact = rtfParSpaced 0 -- number of twips to indent indentIncrement :: Int indentIncrement = 720 listIncrement :: Int listIncrement = 360 -- | Returns appropriate bullet list marker for indent level. bulletMarker :: Int -> Text bulletMarker indent = case indent `mod` 720 of 0 -> "\\bullet " _ -> "\\endash " -- | Returns appropriate (list of) ordered list markers for indent level. orderedMarkers :: Int -> ListAttributes -> [Text] orderedMarkers indent (start, style, delim) = if style == DefaultStyle && delim == DefaultDelim then case indent `mod` 720 of 0 -> orderedListMarkers (start, Decimal, Period) _ -> orderedListMarkers (start, LowerAlpha, Period) else orderedListMarkers (start, style, delim) blocksToRTF :: PandocMonad m => Int -> Alignment -> [Block] -> m Text blocksToRTF indent align = fmap T.concat . mapM (blockToRTF indent align) -- | Convert Pandoc block element to RTF. blockToRTF :: PandocMonad m => Int -- ^ indent level -> Alignment -- ^ alignment -> Block -- ^ block to convert -> m Text blockToRTF _ _ Null = return "" blockToRTF indent alignment (Div _ bs) = blocksToRTF indent alignment bs blockToRTF indent alignment (Plain lst) = rtfCompact indent 0 alignment <$> inlinesToRTF lst blockToRTF indent alignment (Para lst) = rtfPar indent 0 alignment <$> inlinesToRTF lst blockToRTF indent alignment (LineBlock lns) = blockToRTF indent alignment $ linesToPara lns blockToRTF indent alignment (BlockQuote lst) = blocksToRTF (indent + indentIncrement) alignment lst blockToRTF indent _ (CodeBlock _ str) = return $ rtfPar indent 0 AlignLeft ("\\f1 " <> codeStringToRTF str) blockToRTF _ _ b@(RawBlock f str) | f == Format "rtf" = return str | otherwise = do report $ BlockNotRendered b return "" blockToRTF indent alignment (BulletList lst) = (spaceAtEnd . T.concat) <$> mapM (listItemToRTF alignment indent (bulletMarker indent)) lst blockToRTF indent alignment (OrderedList attribs lst) = (spaceAtEnd . T.concat) <$> zipWithM (listItemToRTF alignment indent) (orderedMarkers indent attribs) lst blockToRTF indent alignment (DefinitionList lst) = (spaceAtEnd . T.concat) <$> mapM (definitionListItemToRTF alignment indent) lst blockToRTF indent _ HorizontalRule = return $ rtfPar indent 0 AlignCenter "\\emdash\\emdash\\emdash\\emdash\\emdash" blockToRTF indent alignment (Header level _ lst) = do contents <- inlinesToRTF lst return $ rtfPar indent 0 alignment $ "\\b \\fs" <> tshow (40 - (level * 4)) <> " " <> contents blockToRTF indent alignment (Table caption aligns sizes headers rows) = do caption' <- inlinesToRTF caption header' <- if all null headers then return "" else tableRowToRTF True indent aligns sizes headers rows' <- T.concat <$> mapM (tableRowToRTF False indent aligns sizes) rows return $ header' <> rows' <> rtfPar indent 0 alignment caption' tableRowToRTF :: PandocMonad m => Bool -> Int -> [Alignment] -> [Double] -> [[Block]] -> m Text tableRowToRTF header indent aligns sizes' cols = do let totalTwips = 6 * 1440 -- 6 inches let sizes = if all (== 0) sizes' then replicate (length cols) (1.0 / fromIntegral (length cols)) else sizes' columns <- T.concat <$> zipWithM (tableItemToRTF indent) aligns cols let rightEdges = tail $ scanl (\sofar new -> sofar + floor (new * totalTwips)) (0 :: Integer) sizes let cellDefs = map (\edge -> (if header then "\\clbrdrb\\brdrs" else "") <> "\\cellx" <> tshow edge) rightEdges let start = "{\n\\trowd \\trgaph120\n" <> T.concat cellDefs <> "\n" <> "\\trkeep\\intbl\n{\n" let end = "}\n\\intbl\\row}\n" return $ start <> columns <> end tableItemToRTF :: PandocMonad m => Int -> Alignment -> [Block] -> m Text tableItemToRTF indent alignment item = do contents <- blocksToRTF indent alignment item return $ "{" <> T.replace "\\pard" "\\pard\\intbl" contents <> "\\cell}\n" -- | Ensure that there's the same amount of space after compact -- lists as after regular lists. spaceAtEnd :: Text -> Text spaceAtEnd str = maybe str (<> "\\sa180\\par}\n") $ T.stripSuffix "\\par}\n" str -- | Convert list item (list of blocks) to RTF. listItemToRTF :: PandocMonad m => Alignment -- ^ alignment -> Int -- ^ indent level -> Text -- ^ list start marker -> [Block] -- ^ list item (list of blocks) -> m Text listItemToRTF alignment indent marker [] = return $ rtfCompact (indent + listIncrement) (negate listIncrement) alignment (marker <> "\\tx" <> tshow listIncrement <> "\\tab ") listItemToRTF alignment indent marker (listFirst:listRest) = do let f = blockToRTF (indent + listIncrement) alignment first <- f listFirst rest <- mapM f listRest let listMarker = "\\fi" <> tshow (negate listIncrement) <> " " <> marker <> "\\tx" <> tshow listIncrement <> "\\tab" -- Find the first occurrence of \\fi or \\fi-, then replace it and the following -- digits with the list marker. let insertListMarker t = case popDigit $ optionDash $ T.drop 3 suff of Just suff' -> pref <> listMarker <> T.dropWhile isDigit suff' Nothing -> t where (pref, suff) = T.breakOn "\\fi" t optionDash x = case T.uncons x of Just ('-', xs) -> xs _ -> x popDigit x | Just (d, xs) <- T.uncons x , isDigit d = Just xs | otherwise = Nothing -- insert the list marker into the (processed) first block return $ insertListMarker first <> T.concat rest -- | Convert definition list item (label, list of blocks) to RTF. definitionListItemToRTF :: PandocMonad m => Alignment -- ^ alignment -> Int -- ^ indent level -> ([Inline],[[Block]]) -- ^ list item (list of blocks) -> m Text definitionListItemToRTF alignment indent (label, defs) = do labelText <- blockToRTF indent alignment (Plain label) itemsText <- blocksToRTF (indent + listIncrement) alignment (concat defs) return $ labelText <> itemsText -- | Convert list of inline items to RTF. inlinesToRTF :: PandocMonad m => [Inline] -- ^ list of inlines to convert -> m Text inlinesToRTF lst = T.concat <$> mapM inlineToRTF lst -- | Convert inline item to RTF. inlineToRTF :: PandocMonad m => Inline -- ^ inline to convert -> m Text inlineToRTF (Span _ lst) = inlinesToRTF lst inlineToRTF (Emph lst) = do contents <- inlinesToRTF lst return $ "{\\i " <> contents <> "}" inlineToRTF (Strong lst) = do contents <- inlinesToRTF lst return $ "{\\b " <> contents <> "}" inlineToRTF (Strikeout lst) = do contents <- inlinesToRTF lst return $ "{\\strike " <> contents <> "}" inlineToRTF (Superscript lst) = do contents <- inlinesToRTF lst return $ "{\\super " <> contents <> "}" inlineToRTF (Subscript lst) = do contents <- inlinesToRTF lst return $ "{\\sub " <> contents <> "}" inlineToRTF (SmallCaps lst) = do contents <- inlinesToRTF lst return $ "{\\scaps " <> contents <> "}" inlineToRTF (Quoted SingleQuote lst) = do contents <- inlinesToRTF lst return $ "\\u8216'" <> contents <> "\\u8217'" inlineToRTF (Quoted DoubleQuote lst) = do contents <- inlinesToRTF lst return $ "\\u8220\"" <> contents <> "\\u8221\"" inlineToRTF (Code _ str) = return $ "{\\f1 " <> codeStringToRTF str <> "}" inlineToRTF (Str str) = return $ stringToRTF str inlineToRTF (Math t str) = texMathToInlines t str >>= inlinesToRTF inlineToRTF (Cite _ lst) = inlinesToRTF lst inlineToRTF il@(RawInline f str) | f == Format "rtf" = return str | otherwise = do report $ InlineNotRendered il return "" inlineToRTF LineBreak = return "\\line " inlineToRTF SoftBreak = return " " inlineToRTF Space = return " " inlineToRTF (Link _ text (src, _)) = do contents <- inlinesToRTF text return $ "{\\field{\\*\\fldinst{HYPERLINK \"" <> codeStringToRTF src <> "\"}}{\\fldrslt{\\ul\n" <> contents <> "\n}}}\n" inlineToRTF (Image _ _ (source, _)) = return $ "{\\cf1 [image: " <> source <> "]\\cf0}" inlineToRTF (Note contents) = do body <- T.concat <$> mapM (blockToRTF 0 AlignDefault) contents return $ "{\\super\\chftn}{\\*\\footnote\\chftn\\~\\plain\\pard " <> body <> "}" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Roff.hs������������������������������������������������������0000664�0000000�0000000�00000011322�13636304630�0020740�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.Roff Copyright : Copyright (C) 2007-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Common functions for roff writers (man, ms). -} module Text.Pandoc.Writers.Roff ( WriterState(..) , defaultWriterState , MS , Note , EscapeMode(..) , escapeString , withFontFeature ) where import Data.Char (ord, isAscii) import Control.Monad.State.Strict import qualified Data.Map as Map import Data.Text (Text) import qualified Data.Text as Text import Data.String import Data.Maybe (fromMaybe, isJust, catMaybes) import Text.Pandoc.Class.PandocMonad (PandocMonad) import Text.Pandoc.Definition import Text.DocLayout import Text.Printf (printf) import Text.Pandoc.RoffChar (standardEscapes, characterCodes, combiningAccents) data WriterState = WriterState { stHasInlineMath :: Bool , stFirstPara :: Bool , stNotes :: [Note] , stSmallCaps :: Bool , stHighlighting :: Bool , stInHeader :: Bool , stFontFeatures :: Map.Map Char Bool , stHasTables :: Bool } defaultWriterState :: WriterState defaultWriterState = WriterState{ stHasInlineMath = False , stFirstPara = True , stNotes = [] , stSmallCaps = False , stHighlighting = False , stInHeader = False , stFontFeatures = Map.fromList [ ('I',False) , ('B',False) , ('C',False) ] , stHasTables = False } type Note = [Block] type MS = StateT WriterState data EscapeMode = AllowUTF8 -- ^ use preferred man escapes | AsciiOnly -- ^ escape everything deriving Show combiningAccentsMap :: Map.Map Char Text combiningAccentsMap = Map.fromList combiningAccents essentialEscapes :: Map.Map Char Text essentialEscapes = Map.fromList standardEscapes -- | Escape special characters for roff. escapeString :: EscapeMode -> Text -> Text escapeString e = Text.concat . escapeString' e . Text.unpack where escapeString' _ [] = [] escapeString' escapeMode ('\n':'.':xs) = "\n\\&." : escapeString' escapeMode xs escapeString' escapeMode (x:xs) = case Map.lookup x essentialEscapes of Just s -> s : escapeString' escapeMode xs Nothing | isAscii x -> Text.singleton x : escapeString' escapeMode xs | otherwise -> case escapeMode of AllowUTF8 -> Text.singleton x : escapeString' escapeMode xs AsciiOnly -> let accents = catMaybes $ takeWhile isJust (map (\c -> Map.lookup c combiningAccentsMap) xs) rest = drop (length accents) xs s = case Map.lookup x characterCodeMap of Just t -> "\\[" <> Text.unwords (t:accents) <> "]" Nothing -> "\\[" <> Text.unwords (Text.pack (printf "u%04X" (ord x)) : accents) <> "]" in s : escapeString' escapeMode rest characterCodeMap :: Map.Map Char Text characterCodeMap = Map.fromList characterCodes fontChange :: (HasChars a, IsString a, PandocMonad m) => MS m (Doc a) fontChange = do features <- gets stFontFeatures inHeader <- gets stInHeader let filling = ['C' | fromMaybe False $ Map.lookup 'C' features] ++ ['B' | inHeader || fromMaybe False (Map.lookup 'B' features)] ++ ['I' | fromMaybe False $ Map.lookup 'I' features] return $ if null filling then text "\\f[R]" else text $ "\\f[" ++ filling ++ "]" withFontFeature :: (HasChars a, IsString a, PandocMonad m) => Char -> MS m (Doc a) -> MS m (Doc a) withFontFeature c action = do modify $ \st -> st{ stFontFeatures = Map.adjust not c $ stFontFeatures st } begin <- fontChange d <- action modify $ \st -> st{ stFontFeatures = Map.adjust not c $ stFontFeatures st } end <- fontChange return $ begin <> d <> end ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Shared.hs����������������������������������������������������0000664�0000000�0000000�00000042224�13636304630�0021257�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.Shared Copyright : Copyright (C) 2013-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Shared utility functions for pandoc writers. -} module Text.Pandoc.Writers.Shared ( metaToContext , metaToContext' , addVariablesToContext , getField , setField , resetField , defField , tagWithAttrs , isDisplayMath , fixDisplayMath , unsmartify , gridTable , lookupMetaBool , lookupMetaBlocks , lookupMetaInlines , lookupMetaString , stripLeadingTrailingSpace , toSubscript , toSuperscript , toTableOfContents , endsWithPlain ) where import Safe (lastMay) import qualified Data.ByteString.Lazy as BL import Data.Maybe (fromMaybe, isNothing) import Control.Monad (zipWithM) import Data.Aeson (ToJSON (..), encode) import Data.Char (chr, ord, isSpace) import Data.List (groupBy, intersperse, transpose, foldl') import Data.Text.Conversions (FromText(..)) import qualified Data.Map as M import qualified Data.Text as T import qualified Text.Pandoc.Builder as Builder import Text.Pandoc.Definition import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared (stringify, makeSections, deNote, deLink) import Text.Pandoc.Walk (walk) import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.XML (escapeStringForXML) import Text.DocTemplates (Context(..), Val(..), TemplateTarget, ToContext(..), FromContext(..)) -- | Create template Context from a 'Meta' and an association list -- of variables, specified at the command line or in the writer. -- Variables overwrite metadata fields with the same names. -- If multiple variables are set with the same name, a list is -- assigned. Does nothing if 'writerTemplate' is Nothing. metaToContext :: (Monad m, TemplateTarget a) => WriterOptions -> ([Block] -> m (Doc a)) -> ([Inline] -> m (Doc a)) -> Meta -> m (Context a) metaToContext opts blockWriter inlineWriter meta = case writerTemplate opts of Nothing -> return mempty Just _ -> addVariablesToContext opts <$> metaToContext' blockWriter inlineWriter meta -- | Like 'metaToContext, but does not include variables and is -- not sensitive to 'writerTemplate'. metaToContext' :: (Monad m, TemplateTarget a) => ([Block] -> m (Doc a)) -> ([Inline] -> m (Doc a)) -> Meta -> m (Context a) metaToContext' blockWriter inlineWriter (Meta metamap) = Context <$> mapM (metaValueToVal blockWriter inlineWriter) metamap -- | Add variables to a template Context, using monoidal append. -- Also add `meta-json`. Note that metadata values are used -- in template contexts only when like-named variables aren't set. addVariablesToContext :: TemplateTarget a => WriterOptions -> Context a -> Context a addVariablesToContext opts c1 = c2 <> (fromText <$> writerVariables opts) <> c1 where c2 = Context $ M.insert "meta-json" (SimpleVal $ literal $ fromText jsonrep) mempty jsonrep = UTF8.toText $ BL.toStrict $ encode $ toJSON c1 metaValueToVal :: (Monad m, TemplateTarget a) => ([Block] -> m (Doc a)) -> ([Inline] -> m (Doc a)) -> MetaValue -> m (Val a) metaValueToVal blockWriter inlineWriter (MetaMap metamap) = MapVal . Context <$> mapM (metaValueToVal blockWriter inlineWriter) metamap metaValueToVal blockWriter inlineWriter (MetaList xs) = ListVal <$> mapM (metaValueToVal blockWriter inlineWriter) xs metaValueToVal _ _ (MetaBool True) = return $ SimpleVal "true" metaValueToVal _ _ (MetaBool False) = return NullVal metaValueToVal _ inlineWriter (MetaString s) = SimpleVal <$> inlineWriter (Builder.toList (Builder.text s)) metaValueToVal blockWriter _ (MetaBlocks bs) = SimpleVal <$> blockWriter bs metaValueToVal _ inlineWriter (MetaInlines is) = SimpleVal <$> inlineWriter is -- | Retrieve a field value from a template context. getField :: FromContext a b => T.Text -> Context a -> Maybe b getField field (Context m) = M.lookup field m >>= fromVal -- | Set a field of a template context. If the field already has a value, -- convert it into a list with the new value appended to the old value(s). -- This is a utility function to be used in preparing template contexts. setField :: ToContext a b => T.Text -> b -> Context a -> Context a setField field val (Context m) = Context $ M.insertWith combine field (toVal val) m where combine newval (ListVal xs) = ListVal (xs ++ [newval]) combine newval x = ListVal [x, newval] -- | Reset a field of a template context. If the field already has a -- value, the new value replaces it. -- This is a utility function to be used in preparing template contexts. resetField :: ToContext a b => T.Text -> b -> Context a -> Context a resetField field val (Context m) = Context (M.insert field (toVal val) m) -- | Set a field of a template context if it currently has no value. -- If it has a value, do nothing. -- This is a utility function to be used in preparing template contexts. defField :: ToContext a b => T.Text -> b -> Context a -> Context a defField field val (Context m) = Context (M.insertWith f field (toVal val) m) where f _newval oldval = oldval -- Produce an HTML tag with the given pandoc attributes. tagWithAttrs :: HasChars a => T.Text -> Attr -> Doc a tagWithAttrs tag (ident,classes,kvs) = hsep ["<" <> text (T.unpack tag) ,if T.null ident then empty else "id=" <> doubleQuotes (text $ T.unpack ident) ,if null classes then empty else "class=" <> doubleQuotes (text $ T.unpack (T.unwords classes)) ,hsep (map (\(k,v) -> text (T.unpack k) <> "=" <> doubleQuotes (text $ T.unpack (escapeStringForXML v))) kvs) ] <> ">" isDisplayMath :: Inline -> Bool isDisplayMath (Math DisplayMath _) = True isDisplayMath (Span _ [Math DisplayMath _]) = True isDisplayMath _ = False stripLeadingTrailingSpace :: [Inline] -> [Inline] stripLeadingTrailingSpace = go . reverse . go . reverse where go (Space:xs) = xs go (SoftBreak:xs) = xs go xs = xs -- Put display math in its own block (for ODT/DOCX). fixDisplayMath :: Block -> Block fixDisplayMath (Plain lst) | any isDisplayMath lst && not (all isDisplayMath lst) = -- chop into several paragraphs so each displaymath is its own Div ("",["math"],[]) $ map Plain $ filter (not . null) $ map stripLeadingTrailingSpace $ groupBy (\x y -> (isDisplayMath x && isDisplayMath y) || not (isDisplayMath x || isDisplayMath y)) lst fixDisplayMath (Para lst) | any isDisplayMath lst && not (all isDisplayMath lst) = -- chop into several paragraphs so each displaymath is its own Div ("",["math"],[]) $ map Para $ filter (not . null) $ map stripLeadingTrailingSpace $ groupBy (\x y -> (isDisplayMath x && isDisplayMath y) || not (isDisplayMath x || isDisplayMath y)) lst fixDisplayMath x = x unsmartify :: WriterOptions -> T.Text -> T.Text unsmartify opts = T.concatMap $ \c -> case c of '\8217' -> "'" '\8230' -> "..." '\8211' | isEnabled Ext_old_dashes opts -> "-" | otherwise -> "--" '\8212' | isEnabled Ext_old_dashes opts -> "--" | otherwise -> "---" '\8220' -> "\"" '\8221' -> "\"" '\8216' -> "'" _ -> T.singleton c gridTable :: (Monad m, HasChars a) => WriterOptions -> (WriterOptions -> [Block] -> m (Doc a)) -> Bool -- ^ headless -> [Alignment] -> [Double] -> [[Block]] -> [[[Block]]] -> m (Doc a) gridTable opts blocksToDoc headless aligns widths headers rows = do -- the number of columns will be used in case of even widths let numcols = maximum (length aligns : length widths : map length (headers:rows)) let officialWidthsInChars widths' = map ( (\x -> if x < 1 then 1 else x) . (\x -> x - 3) . floor . (fromIntegral (writerColumns opts) *) ) widths' -- handleGivenWidths wraps the given blocks in order for them to fit -- in cells with given widths. the returned content can be -- concatenated with borders and frames let handleGivenWidthsInChars widthsInChars' = do -- replace page width (in columns) in the options with a -- given width if smaller (adjusting by two) let useWidth w = opts{writerColumns = min (w - 2) (writerColumns opts)} -- prepare options to use with header and row cells let columnOptions = map useWidth widthsInChars' rawHeaders' <- zipWithM blocksToDoc columnOptions headers rawRows' <- mapM (\cs -> zipWithM blocksToDoc columnOptions cs) rows return (widthsInChars', rawHeaders', rawRows') let handleGivenWidths widths' = handleGivenWidthsInChars (officialWidthsInChars widths') -- handleFullWidths tries to wrap cells to the page width or even -- more in cases where `--wrap=none`. thus the content here is left -- as wide as possible let handleFullWidths widths' = do rawHeaders' <- mapM (blocksToDoc opts) headers rawRows' <- mapM (mapM (blocksToDoc opts)) rows let numChars [] = 0 numChars xs = maximum . map offset $ xs let minWidthsInChars = map numChars $ transpose (rawHeaders' : rawRows') let widthsInChars' = zipWith max minWidthsInChars (officialWidthsInChars widths') return (widthsInChars', rawHeaders', rawRows') -- handleZeroWidths calls handleFullWidths to check whether a wide -- table would fit in the page. if the produced table is too wide, -- it calculates even widths and passes the content to -- handleGivenWidths let handleZeroWidths widths' = do (widthsInChars', rawHeaders', rawRows') <- handleFullWidths widths' if foldl' (+) 0 widthsInChars' > writerColumns opts then do -- use even widths except for thin columns let evenCols = max 5 (((writerColumns opts - 1) `div` numcols) - 3) let (numToExpand, colsToExpand) = foldr (\w (n, tot) -> if w < evenCols then (n, tot + (evenCols - w)) else (n + 1, tot)) (0,0) widthsInChars' let expandAllowance = colsToExpand `div` numToExpand let newWidthsInChars = map (\w -> if w < evenCols then w else min (evenCols + expandAllowance) w) widthsInChars' handleGivenWidthsInChars newWidthsInChars else return (widthsInChars', rawHeaders', rawRows') -- render the contents of header and row cells differently depending -- on command line options, widths given in this specific table, and -- cells' contents let handleWidths | writerWrapText opts == WrapNone = handleFullWidths widths | all (== 0) widths = handleZeroWidths widths | otherwise = handleGivenWidths widths (widthsInChars, rawHeaders, rawRows) <- handleWidths let hpipeBlocks blocks = hcat [beg, middle, end] where sep' = vfill " | " beg = vfill "| " end = vfill " |" middle = chomp $ hcat $ intersperse sep' blocks let makeRow = hpipeBlocks . zipWith lblock widthsInChars let head' = makeRow rawHeaders let rows' = map (makeRow . map chomp) rawRows let borderpart ch align widthInChars = (if align == AlignLeft || align == AlignCenter then char ':' else char ch) <> text (replicate widthInChars ch) <> (if align == AlignRight || align == AlignCenter then char ':' else char ch) let border ch aligns' widthsInChars' = char '+' <> hcat (intersperse (char '+') (zipWith (borderpart ch) aligns' widthsInChars')) <> char '+' let body = vcat $ intersperse (border '-' (repeat AlignDefault) widthsInChars) rows' let head'' = if headless then empty else head' $$ border '=' aligns widthsInChars if headless then return $ border '-' aligns widthsInChars $$ body $$ border '-' (repeat AlignDefault) widthsInChars else return $ border '-' (repeat AlignDefault) widthsInChars $$ head'' $$ body $$ border '-' (repeat AlignDefault) widthsInChars -- | Retrieve the metadata value for a given @key@ -- and convert to Bool. lookupMetaBool :: T.Text -> Meta -> Bool lookupMetaBool key meta = case lookupMeta key meta of Just (MetaBlocks _) -> True Just (MetaInlines _) -> True Just (MetaString x) -> not (T.null x) Just (MetaBool True) -> True _ -> False -- | Retrieve the metadata value for a given @key@ -- and extract blocks. lookupMetaBlocks :: T.Text -> Meta -> [Block] lookupMetaBlocks key meta = case lookupMeta key meta of Just (MetaBlocks bs) -> bs Just (MetaInlines ils) -> [Plain ils] Just (MetaString s) -> [Plain [Str s]] _ -> [] -- | Retrieve the metadata value for a given @key@ -- and extract inlines. lookupMetaInlines :: T.Text -> Meta -> [Inline] lookupMetaInlines key meta = case lookupMeta key meta of Just (MetaString s) -> [Str s] Just (MetaInlines ils) -> ils Just (MetaBlocks [Plain ils]) -> ils Just (MetaBlocks [Para ils]) -> ils _ -> [] -- | Retrieve the metadata value for a given @key@ -- and convert to String. lookupMetaString :: T.Text -> Meta -> T.Text lookupMetaString key meta = case lookupMeta key meta of Just (MetaString s) -> s Just (MetaInlines ils) -> stringify ils Just (MetaBlocks bs) -> stringify bs Just (MetaBool b) -> T.pack (show b) _ -> "" toSuperscript :: Char -> Maybe Char toSuperscript '1' = Just '\x00B9' toSuperscript '2' = Just '\x00B2' toSuperscript '3' = Just '\x00B3' toSuperscript '+' = Just '\x207A' toSuperscript '-' = Just '\x207B' toSuperscript '=' = Just '\x207C' toSuperscript '(' = Just '\x207D' toSuperscript ')' = Just '\x207E' toSuperscript c | c >= '0' && c <= '9' = Just $ chr (0x2070 + (ord c - 48)) | isSpace c = Just c | otherwise = Nothing toSubscript :: Char -> Maybe Char toSubscript '+' = Just '\x208A' toSubscript '-' = Just '\x208B' toSubscript '=' = Just '\x208C' toSubscript '(' = Just '\x208D' toSubscript ')' = Just '\x208E' toSubscript c | c >= '0' && c <= '9' = Just $ chr (0x2080 + (ord c - 48)) | isSpace c = Just c | otherwise = Nothing -- | Construct table of contents (as a bullet list) from document body. toTableOfContents :: WriterOptions -> [Block] -> Block toTableOfContents opts bs = BulletList $ filter (not . null) $ map (sectionToListItem opts) $ makeSections (writerNumberSections opts) Nothing bs -- | Converts an Element to a list item for a table of contents, sectionToListItem :: WriterOptions -> Block -> [Block] sectionToListItem opts (Div (ident,_,_) (Header lev (_,classes,kvs) ils : subsecs)) | lev <= writerTOCDepth opts , not (isNothing (lookup "number" kvs) && "unlisted" `elem` classes) = Plain headerLink : [BulletList listContents | not (null listContents)] where num = fromMaybe "" $ lookup "number" kvs addNumber = if T.null num then id else (Span ("",["toc-section-number"],[]) [Str num] :) . (Space :) headerText' = addNumber $ walk (deLink . deNote) ils headerLink = if T.null ident then headerText' else [Link nullAttr headerText' ("#" <> ident, "")] listContents = filter (not . null) $ map (sectionToListItem opts) subsecs sectionToListItem _ _ = [] endsWithPlain :: [Block] -> Bool endsWithPlain xs = case lastMay xs of Just Plain{} -> True _ -> False ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/TEI.hs�������������������������������������������������������0000664�0000000�0000000�00000030702�13636304630�0020470�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE PatternGuards #-} {- | Module : Text.Pandoc.Writers.Docbook Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to Docbook XML. -} module Text.Pandoc.Writers.TEI (writeTEI) where import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Highlighting (languages, languagesByExtension) import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared import Text.Pandoc.XML -- | Convert Pandoc document to string in Docbook format. writeTEI :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeTEI opts (Pandoc meta blocks) = do let colwidth = if writerWrapText opts == WrapAuto then Just $ writerColumns opts else Nothing let startLvl = case writerTopLevelDivision opts of TopLevelPart -> -1 TopLevelChapter -> 0 TopLevelSection -> 1 TopLevelDefault -> 1 let fromBlocks = blocksToTEI opts . makeSections False (Just startLvl) metadata <- metaToContext opts fromBlocks (fmap chomp . inlinesToTEI opts) meta main <- fromBlocks blocks let context = defField "body" main $ defField "mathml" (case writerHTMLMathMethod opts of MathML -> True _ -> False) metadata return $ render colwidth $ case writerTemplate opts of Nothing -> main Just tpl -> renderTemplate tpl context -- | Convert a list of Pandoc blocks to TEI. blocksToTEI :: PandocMonad m => WriterOptions -> [Block] -> m (Doc Text) blocksToTEI opts bs = vcat <$> mapM (blockToTEI opts) bs -- | Auxiliary function to convert Plain block to Para. plainToPara :: Block -> Block plainToPara (Plain x) = Para x plainToPara x = x -- | Convert a list of pairs of terms and definitions into a TEI -- list with labels and items. deflistItemsToTEI :: PandocMonad m => WriterOptions -> [([Inline],[[Block]])] -> m (Doc Text) deflistItemsToTEI opts items = vcat <$> mapM (uncurry (deflistItemToTEI opts)) items -- | Convert a term and a list of blocks into a TEI varlistentry. deflistItemToTEI :: PandocMonad m => WriterOptions -> [Inline] -> [[Block]] -> m (Doc Text) deflistItemToTEI opts term defs = do term' <- inlinesToTEI opts term defs' <- blocksToTEI opts $ concatMap (map plainToPara) defs return $ inTagsIndented "label" term' $$ inTagsIndented "item" defs' -- | Convert a list of lists of blocks to a list of TEI list items. listItemsToTEI :: PandocMonad m => WriterOptions -> [[Block]] -> m (Doc Text) listItemsToTEI opts items = vcat <$> mapM (listItemToTEI opts) items -- | Convert a list of blocks into a TEI list item. listItemToTEI :: PandocMonad m => WriterOptions -> [Block] -> m (Doc Text) listItemToTEI opts item = inTagsIndented "item" <$> blocksToTEI opts (map plainToPara item) imageToTEI :: PandocMonad m => WriterOptions -> Attr -> Text -> m (Doc Text) imageToTEI opts attr src = return $ selfClosingTag "graphic" $ ("url", src) : idFromAttr opts attr ++ dims where dims = go Width "width" ++ go Height "height" go dir dstr = case dimension dir attr of Just a -> [(dstr, tshow a)] Nothing -> [] -- | Convert a Pandoc block element to TEI. blockToTEI :: PandocMonad m => WriterOptions -> Block -> m (Doc Text) blockToTEI _ Null = return empty blockToTEI opts (Div attr@(_,"section":_,_) (Header lvl _ ils : xs)) = do -- TEI doesn't allow sections with no content, so insert some if needed let xs' = if null xs then [Para []] else xs -- level numbering correspond to LaTeX internals divType = case lvl of n | n == -1 -> "part" | n == 0 -> "chapter" | n >= 1 && n <= 5 -> "level" <> tshow n | otherwise -> "section" titleContents <- inlinesToTEI opts ils contents <- blocksToTEI opts xs' return $ inTags True "div" (("type", divType) : idFromAttr opts attr) $ inTagsSimple "head" titleContents $$ contents -- Add ids to paragraphs in divs with ids - this is needed for -- pandoc-citeproc to get link anchors in bibliographies: blockToTEI opts (Div attr [Para lst]) = do let attribs = idFromAttr opts attr inTags False "p" attribs <$> inlinesToTEI opts lst blockToTEI opts (Div _ bs) = blocksToTEI opts $ map plainToPara bs blockToTEI _ h@Header{} = do -- should not occur after makeSections, except inside lists/blockquotes report $ BlockNotRendered h return empty -- For TEI simple, text must be within containing block element, so -- we use treat as Para to ensure that Plain text ends up contained by -- something: blockToTEI opts (Plain lst) = blockToTEI opts $ Para lst -- title beginning with fig: indicates that the image is a figure --blockToTEI opts (Para [Image attr txt (src,'f':'i':'g':':':_)]) = -- let alt = inlinesToTEI opts txt -- capt = if null txt -- then empty -- else inTagsSimple "title" alt -- in inTagsIndented "figure" $ -- capt $$ -- (inTagsIndented "mediaobject" $ -- (inTagsIndented "imageobject" -- (imageToTEI opts attr src)) $$ -- inTagsSimple "textobject" (inTagsSimple "phrase" alt)) blockToTEI opts (Para lst) = inTags False "p" [] <$> inlinesToTEI opts lst blockToTEI opts (LineBlock lns) = blockToTEI opts $ linesToPara lns blockToTEI opts (BlockQuote blocks) = inTagsIndented "quote" <$> blocksToTEI opts blocks blockToTEI _ (CodeBlock (_,classes,_) str) = return $ literal ("<ab type='codeblock " <> lang <> "'>") <> cr <> flush (literal (escapeStringForXML str) <> cr <> text "</ab>") where lang = if null langs then "" else escapeStringForXML (head langs) isLang l = T.toLower l `elem` map T.toLower languages langsFrom s = if isLang s then [s] else languagesByExtension . T.toLower $ s langs = concatMap langsFrom classes blockToTEI opts (BulletList lst) = do let attribs = [("type", "unordered")] inTags True "list" attribs <$> listItemsToTEI opts lst blockToTEI _ (OrderedList _ []) = return empty blockToTEI opts (OrderedList (start, numstyle, _) (first:rest)) = do let attribs = case numstyle of DefaultStyle -> [] Decimal -> [("type", "ordered:arabic")] Example -> [("type", "ordered:arabic")] UpperAlpha -> [("type", "ordered:upperalpha")] LowerAlpha -> [("type", "ordered:loweralpha")] UpperRoman -> [("type", "ordered:upperroman")] LowerRoman -> [("type", "ordered:lowerroman")] items <- if start == 1 then listItemsToTEI opts (first:rest) else do fi <- blocksToTEI opts $ map plainToPara first re <- listItemsToTEI opts rest return $ inTags True "item" [("n",tshow start)] fi $$ re return $ inTags True "list" attribs items blockToTEI opts (DefinitionList lst) = do let attribs = [("type", "definition")] inTags True "list" attribs <$> deflistItemsToTEI opts lst blockToTEI _ b@(RawBlock f str) | f == "tei" = return $ literal str -- raw TEI block (should such a thing exist). | otherwise = do report $ BlockNotRendered b return empty blockToTEI _ HorizontalRule = return $ selfClosingTag "milestone" [("unit","undefined") ,("type","separator") ,("rendition","line")] -- | TEI Tables -- TEI Simple's tables are composed of cells and rows; other -- table info in the AST is here lossily discard. blockToTEI opts (Table _ _ _ headers rows) = do headers' <- tableHeadersToTEI opts headers rows' <- mapM (tableRowToTEI opts) rows return $ inTags True "table" [] $ headers' $$ vcat rows' tableRowToTEI :: PandocMonad m => WriterOptions -> [[Block]] -> m (Doc Text) tableRowToTEI opts cols = (inTagsIndented "row" . vcat) <$> mapM (tableItemToTEI opts) cols tableHeadersToTEI :: PandocMonad m => WriterOptions -> [[Block]] -> m (Doc Text) tableHeadersToTEI opts cols = (inTags True "row" [("role","label")] . vcat) <$> mapM (tableItemToTEI opts) cols tableItemToTEI :: PandocMonad m => WriterOptions -> [Block] -> m (Doc Text) tableItemToTEI opts item = (inTags False "cell" [] . vcat) <$> mapM (blockToTEI opts) item -- | Convert a list of inline elements to TEI. inlinesToTEI :: PandocMonad m => WriterOptions -> [Inline] -> m (Doc Text) inlinesToTEI opts lst = hcat <$> mapM (inlineToTEI opts) lst -- | Convert an inline element to TEI. inlineToTEI :: PandocMonad m => WriterOptions -> Inline -> m (Doc Text) inlineToTEI _ (Str str) = return $ literal $ escapeStringForXML str inlineToTEI opts (Emph lst) = inTags False "hi" [("rendition","simple:italic")] <$> inlinesToTEI opts lst inlineToTEI opts (Strong lst) = inTags False "hi" [("rendition", "simple:bold")] <$> inlinesToTEI opts lst inlineToTEI opts (Strikeout lst) = inTags False "hi" [("rendition", "simple:strikethrough")] <$> inlinesToTEI opts lst inlineToTEI opts (Superscript lst) = inTags False "hi" [("rendition", "simple:superscript")] <$> inlinesToTEI opts lst inlineToTEI opts (Subscript lst) = inTags False "hi" [("rendition", "simple:subscript")] <$> inlinesToTEI opts lst inlineToTEI opts (SmallCaps lst) = inTags False "hi" [("rendition", "simple:smallcaps")] <$> inlinesToTEI opts lst inlineToTEI opts (Quoted _ lst) = inTagsSimple "quote" <$> inlinesToTEI opts lst inlineToTEI opts (Cite _ lst) = inlinesToTEI opts lst inlineToTEI opts (Span _ ils) = inlinesToTEI opts ils inlineToTEI _ (Code _ str) = return $ inTags False "seg" [("type","code")] $ literal (escapeStringForXML str) -- Distinguish display from inline math by wrapping the former in a "figure." inlineToTEI _ (Math t str) = return $ case t of InlineMath -> inTags False "formula" [("notation","TeX")] $ literal str DisplayMath -> inTags True "figure" [("type","math")] $ inTags False "formula" [("notation","TeX")] $ literal str inlineToTEI _ il@(RawInline f x) | f == "tei" = return $ literal x | otherwise = empty <$ report (InlineNotRendered il) inlineToTEI _ LineBreak = return $ selfClosingTag "lb" [] inlineToTEI _ Space = return space -- because we use \n for LineBreak, we can't do soft breaks: inlineToTEI _ SoftBreak = return space inlineToTEI opts (Link attr txt (src, _)) | Just email <- T.stripPrefix "mailto:" src = do let emailLink = literal $ escapeStringForXML email case txt of [Str s] | escapeURI s == email -> return emailLink _ -> do linktext <- inlinesToTEI opts txt return $ linktext <+> char '(' <> emailLink <> char ')' | otherwise = inTags False "ref" (("target", src) : idFromAttr opts attr) <$> inlinesToTEI opts txt inlineToTEI opts (Image attr description (src, tit)) = do let titleDoc = if T.null tit then empty else inTags False "figDesc" [] (literal $ escapeStringForXML tit) imageDesc <- if null description then return empty else inTags False "head" [] <$> inlinesToTEI opts description img <- imageToTEI opts attr src return $ inTagsIndented "figure" $ imageDesc $$ img $$ titleDoc inlineToTEI opts (Note contents) = inTagsIndented "note" <$> blocksToTEI opts contents idFromAttr :: WriterOptions -> Attr -> [(Text, Text)] idFromAttr opts (id',_,_) = [("xml:id", writerIdentifierPrefix opts <> id') | not (T.null id')] ��������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Texinfo.hs���������������������������������������������������0000664�0000000�0000000�00000041572�13636304630�0021472�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- | Module : Text.Pandoc.Writers.Texinfo Copyright : Copyright (C) 2008-2020 John MacFarlane 2012 Peter Wang License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' format into Texinfo. -} module Text.Pandoc.Writers.Texinfo ( writeTexinfo ) where import Control.Monad.Except (throwError) import Control.Monad.State.Strict import Data.Char (chr, ord) import Data.List (maximumBy, transpose) import Data.Ord (comparing) import qualified Data.Set as Set import Data.Text (Text) import qualified Data.Text as T import Network.URI (unEscapeString) import System.FilePath import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Error import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared import Text.Printf (printf) data WriterState = WriterState { stStrikeout :: Bool -- document contains strikeout , stEscapeComma :: Bool -- in a context where we need @comma , stIdentifiers :: Set.Set Text -- header ids used already , stOptions :: WriterOptions -- writer options } {- TODO: - internal cross references a la HTML - generated .texi files don't work when run through texi2dvi -} type TI m = StateT WriterState m -- | Convert Pandoc to Texinfo. writeTexinfo :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeTexinfo options document = evalStateT (pandocToTexinfo options $ wrapTop document) WriterState { stStrikeout = False, stEscapeComma = False, stIdentifiers = Set.empty, stOptions = options} -- | Add a "Top" node around the document, needed by Texinfo. wrapTop :: Pandoc -> Pandoc wrapTop (Pandoc meta blocks) = Pandoc meta (Header 0 nullAttr (docTitle meta) : blocks) pandocToTexinfo :: PandocMonad m => WriterOptions -> Pandoc -> TI m Text pandocToTexinfo options (Pandoc meta blocks) = do let titlePage = not $ all null $ docTitle meta : docDate meta : docAuthors meta let colwidth = if writerWrapText options == WrapAuto then Just $ writerColumns options else Nothing metadata <- metaToContext options blockListToTexinfo (fmap chomp .inlineListToTexinfo) meta body <- blockListToTexinfo blocks st <- get let context = defField "body" body $ defField "toc" (writerTableOfContents options) $ defField "titlepage" titlePage $ defField "strikeout" (stStrikeout st) metadata return $ render colwidth $ case writerTemplate options of Nothing -> body Just tpl -> renderTemplate tpl context -- | Escape things as needed for Texinfo. stringToTexinfo :: Text -> Text stringToTexinfo = escapeStringUsing texinfoEscapes where texinfoEscapes = [ ('{', "@{") , ('}', "@}") , ('@', "@@") , ('\160', "@ ") , ('\x2014', "---") , ('\x2013', "--") , ('\x2026', "@dots{}") , ('\x2019', "'") ] escapeCommas :: PandocMonad m => TI m (Doc Text) -> TI m (Doc Text) escapeCommas parser = do oldEscapeComma <- gets stEscapeComma modify $ \st -> st{ stEscapeComma = True } res <- parser modify $ \st -> st{ stEscapeComma = oldEscapeComma } return res -- | Puts contents into Texinfo command. inCmd :: Text -> Doc Text -> Doc Text inCmd cmd contents = char '@' <> literal cmd <> braces contents -- | Convert Pandoc block element to Texinfo. blockToTexinfo :: PandocMonad m => Block -- ^ Block to convert -> TI m (Doc Text) blockToTexinfo Null = return empty blockToTexinfo (Div _ bs) = blockListToTexinfo bs blockToTexinfo (Plain lst) = inlineListToTexinfo lst -- title beginning with fig: indicates that the image is a figure blockToTexinfo (Para [Image attr txt (src,tgt)]) | Just tit <- T.stripPrefix "fig:" tgt = do capt <- if null txt then return empty else (\c -> text "@caption" <> braces c) `fmap` inlineListToTexinfo txt img <- inlineToTexinfo (Image attr txt (src,tit)) return $ text "@float" $$ img $$ capt $$ text "@end float" blockToTexinfo (Para lst) = inlineListToTexinfo lst -- this is handled differently from Plain in blockListToTexinfo blockToTexinfo (LineBlock lns) = blockToTexinfo $ linesToPara lns blockToTexinfo (BlockQuote lst) = do contents <- blockListToTexinfo lst return $ text "@quotation" $$ contents $$ text "@end quotation" blockToTexinfo (CodeBlock _ str) = return $ blankline $$ text "@verbatim" $$ flush (literal str) $$ text "@end verbatim" <> blankline blockToTexinfo b@(RawBlock f str) | f == "texinfo" = return $ literal str | f == "latex" || f == "tex" = return $ text "@tex" $$ literal str $$ text "@end tex" | otherwise = do report $ BlockNotRendered b return empty blockToTexinfo (BulletList lst) = do items <- mapM listItemToTexinfo lst return $ text "@itemize" $$ vcat items $$ text "@end itemize" <> blankline blockToTexinfo (OrderedList (start, numstyle, _) lst) = do items <- mapM listItemToTexinfo lst return $ text "@enumerate " <> exemplar $$ vcat items $$ text "@end enumerate" <> blankline where exemplar = case numstyle of DefaultStyle -> decimal Decimal -> decimal Example -> decimal UpperRoman -> decimal -- Roman numerals not supported LowerRoman -> decimal UpperAlpha -> upperAlpha LowerAlpha -> lowerAlpha decimal = if start == 1 then empty else text (show start) upperAlpha = text [chr $ ord 'A' + start - 1] lowerAlpha = text [chr $ ord 'a' + start - 1] blockToTexinfo (DefinitionList lst) = do items <- mapM defListItemToTexinfo lst return $ text "@table @asis" $$ vcat items $$ text "@end table" <> blankline blockToTexinfo HorizontalRule = -- XXX can't get the equivalent from LaTeX.hs to work return $ text "@iftex" $$ text "@bigskip@hrule@bigskip" $$ text "@end iftex" $$ text "@ifnottex" $$ text (replicate 72 '-') $$ text "@end ifnottex" blockToTexinfo (Header 0 _ lst) = do txt <- if null lst then return $ text "Top" else inlineListToTexinfo lst return $ text "@node Top" $$ text "@top " <> txt <> blankline blockToTexinfo (Header level (ident,_,_) lst) | level < 1 || level > 4 = blockToTexinfo (Para lst) | otherwise = do node <- inlineListForNode lst txt <- inlineListToTexinfo lst idsUsed <- gets stIdentifiers opts <- gets stOptions let id' = if T.null ident then uniqueIdent (writerExtensions opts) lst idsUsed else ident modify $ \st -> st{ stIdentifiers = Set.insert id' idsUsed } sec <- seccmd level return $ if (level > 0) && (level <= 4) then blankline <> text "@node " <> node $$ literal sec <> txt $$ text "@anchor" <> braces (literal $ "#" <> id') else txt where seccmd :: PandocMonad m => Int -> TI m Text seccmd 1 = return "@chapter " seccmd 2 = return "@section " seccmd 3 = return "@subsection " seccmd 4 = return "@subsubsection " seccmd _ = throwError $ PandocSomeError "illegal seccmd level" blockToTexinfo (Table caption aligns widths heads rows) = do headers <- if all null heads then return empty else tableHeadToTexinfo aligns heads captionText <- inlineListToTexinfo caption rowsText <- mapM (tableRowToTexinfo aligns) rows colDescriptors <- if all (== 0) widths then do -- use longest entry instead of column widths cols <- mapM (mapM (liftM (T.unpack . render Nothing . hcat) . mapM blockToTexinfo)) $ transpose $ heads : rows return $ concatMap ((\x -> "{"++x++"} ") . maximumBy (comparing length)) cols else return $ "@columnfractions " ++ concatMap (printf "%.2f ") widths let tableBody = text ("@multitable " ++ colDescriptors) $$ headers $$ vcat rowsText $$ text "@end multitable" return $ if isEmpty captionText then tableBody <> blankline else text "@float" $$ tableBody $$ inCmd "caption" captionText $$ text "@end float" tableHeadToTexinfo :: PandocMonad m => [Alignment] -> [[Block]] -> TI m (Doc Text) tableHeadToTexinfo = tableAnyRowToTexinfo "@headitem " tableRowToTexinfo :: PandocMonad m => [Alignment] -> [[Block]] -> TI m (Doc Text) tableRowToTexinfo = tableAnyRowToTexinfo "@item " tableAnyRowToTexinfo :: PandocMonad m => Text -> [Alignment] -> [[Block]] -> TI m (Doc Text) tableAnyRowToTexinfo itemtype aligns cols = (literal itemtype $$) . foldl (\row item -> row $$ (if isEmpty row then empty else text " @tab ") <> item) empty <$> zipWithM alignedBlock aligns cols alignedBlock :: PandocMonad m => Alignment -> [Block] -> TI m (Doc Text) -- XXX @flushleft and @flushright text won't get word wrapped. Since word -- wrapping is more important than alignment, we ignore the alignment. alignedBlock _ = blockListToTexinfo {- alignedBlock AlignLeft col = do b <- blockListToTexinfo col return $ text "@flushleft" $$ b $$ text "@end flushleft" alignedBlock AlignRight col = do b <- blockListToTexinfo col return $ text "@flushright" $$ b $$ text "@end flushright" alignedBlock _ col = blockListToTexinfo col -} -- | Convert Pandoc block elements to Texinfo. blockListToTexinfo :: PandocMonad m => [Block] -> TI m (Doc Text) blockListToTexinfo [] = return empty blockListToTexinfo (x:xs) = do x' <- blockToTexinfo x case x of Header level _ _ -> do -- We need need to insert a menu for this node. let (before, after) = break isHeaderBlock xs before' <- blockListToTexinfo before let menu = if level < 4 then collectNodes (level + 1) after else [] lines' <- mapM makeMenuLine menu let menu' = if null lines' then empty else blankline $$ text "@menu" $$ vcat lines' $$ text "@end menu" after' <- blockListToTexinfo after return $ x' $$ before' $$ menu' $$ after' Para _ -> do xs' <- blockListToTexinfo xs case xs of (CodeBlock _ _:_) -> return $ x' $$ xs' _ -> return $ x' $+$ xs' _ -> do xs' <- blockListToTexinfo xs return $ x' $$ xs' collectNodes :: Int -> [Block] -> [Block] collectNodes _ [] = [] collectNodes level (x:xs) = case x of (Header hl _ _) | hl < level -> [] | hl == level -> x : collectNodes level xs | otherwise -> collectNodes level xs _ -> collectNodes level xs makeMenuLine :: PandocMonad m => Block -> TI m (Doc Text) makeMenuLine (Header _ _ lst) = do txt <- inlineListForNode lst return $ text "* " <> txt <> text "::" makeMenuLine _ = throwError $ PandocSomeError "makeMenuLine called with non-Header block" listItemToTexinfo :: PandocMonad m => [Block] -> TI m (Doc Text) listItemToTexinfo lst = do contents <- blockListToTexinfo lst let spacer = case reverse lst of (Para{}:_) -> blankline _ -> empty return $ text "@item" $$ contents <> spacer defListItemToTexinfo :: PandocMonad m => ([Inline], [[Block]]) -> TI m (Doc Text) defListItemToTexinfo (term, defs) = do term' <- inlineListToTexinfo term let defToTexinfo bs = do d <- blockListToTexinfo bs case reverse bs of (Para{}:_) -> return $ d <> blankline _ -> return d defs' <- mapM defToTexinfo defs return $ text "@item " <> term' $+$ vcat defs' -- | Convert list of inline elements to Texinfo. inlineListToTexinfo :: PandocMonad m => [Inline] -- ^ Inlines to convert -> TI m (Doc Text) inlineListToTexinfo lst = hcat <$> mapM inlineToTexinfo lst -- | Convert list of inline elements to Texinfo acceptable for a node name. inlineListForNode :: PandocMonad m => [Inline] -- ^ Inlines to convert -> TI m (Doc Text) inlineListForNode = return . literal . stringToTexinfo . T.filter (not . disallowedInNode) . stringify -- periods, commas, colons, and parentheses are disallowed in node names disallowedInNode :: Char -> Bool disallowedInNode c = c `elem` (".,:()" :: String) -- | Convert inline element to Texinfo inlineToTexinfo :: PandocMonad m => Inline -- ^ Inline to convert -> TI m (Doc Text) inlineToTexinfo (Span _ lst) = inlineListToTexinfo lst inlineToTexinfo (Emph lst) = inCmd "emph" <$> inlineListToTexinfo lst inlineToTexinfo (Strong lst) = inCmd "strong" <$> inlineListToTexinfo lst inlineToTexinfo (Strikeout lst) = do modify $ \st -> st{ stStrikeout = True } contents <- inlineListToTexinfo lst return $ text "@textstrikeout{" <> contents <> text "}" inlineToTexinfo (Superscript lst) = do contents <- inlineListToTexinfo lst return $ text "@sup{" <> contents <> char '}' inlineToTexinfo (Subscript lst) = do contents <- inlineListToTexinfo lst return $ text "@sub{" <> contents <> char '}' inlineToTexinfo (SmallCaps lst) = inCmd "sc" <$> inlineListToTexinfo lst inlineToTexinfo (Code _ str) = return $ literal $ "@code{" <> stringToTexinfo str <> "}" inlineToTexinfo (Quoted SingleQuote lst) = do contents <- inlineListToTexinfo lst return $ char '`' <> contents <> char '\'' inlineToTexinfo (Quoted DoubleQuote lst) = do contents <- inlineListToTexinfo lst return $ text "``" <> contents <> text "''" inlineToTexinfo (Cite _ lst) = inlineListToTexinfo lst inlineToTexinfo (Str str) = return $ literal (stringToTexinfo str) inlineToTexinfo (Math _ str) = return $ inCmd "math" $ literal str inlineToTexinfo il@(RawInline f str) | f == "latex" || f == "tex" = return $ text "@tex" $$ literal str $$ text "@end tex" | f == "texinfo" = return $ literal str | otherwise = do report $ InlineNotRendered il return empty inlineToTexinfo LineBreak = return $ text "@*" <> cr inlineToTexinfo SoftBreak = do wrapText <- gets (writerWrapText . stOptions) case wrapText of WrapAuto -> return space WrapNone -> return space WrapPreserve -> return cr inlineToTexinfo Space = return space inlineToTexinfo (Link _ txt (src, _)) | Just ('#', _) <- T.uncons src = do contents <- escapeCommas $ inlineListToTexinfo txt return $ text "@ref" <> braces (literal (stringToTexinfo src) <> text "," <> contents) | otherwise = case txt of [Str x] | escapeURI x == src -> -- autolink return $ literal $ "@url{" <> x <> "}" _ -> do contents <- escapeCommas $ inlineListToTexinfo txt let src1 = stringToTexinfo src return $ literal ("@uref{" <> src1 <> ",") <> contents <> char '}' inlineToTexinfo (Image attr alternate (source, _)) = do content <- escapeCommas $ inlineListToTexinfo alternate opts <- gets stOptions let showDim dim = case dimension dim attr of (Just (Pixel a)) -> showInInch opts (Pixel a) <> "in" (Just (Percent _)) -> "" (Just d) -> tshow d Nothing -> "" return $ literal ("@image{" <> base <> "," <> showDim Width <> "," <> showDim Height <> ",") <> content <> text "," <> literal (ext <> "}") where ext = T.drop 1 $ T.pack $ takeExtension source' base = T.pack $ dropExtension source' source' = if isURI source then T.unpack source else unEscapeString $ T.unpack source inlineToTexinfo (Note contents) = do contents' <- blockListToTexinfo contents return $ text "@footnote" <> braces contents' ��������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/Textile.hs���������������������������������������������������0000664�0000000�0000000�00000045454�13636304630�0021477�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.Textile Copyright : Copyright (C) 2010-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to Textile markup. Textile: <http://thresholdstate.com/articles/4312/the-textile-reference-manual> -} module Text.Pandoc.Writers.Textile ( writeTextile ) where import Control.Monad.State.Strict import Data.Char (isSpace) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options import Text.DocLayout (render, literal) import Text.Pandoc.Shared import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared import Text.Pandoc.XML (escapeStringForXML) data WriterState = WriterState { stNotes :: [Text] -- Footnotes , stListLevel :: [Char] -- String at beginning of list items, e.g. "**" , stStartNum :: Maybe Int -- Start number if first list item , stUseTags :: Bool -- True if we should use HTML tags because we're in a complex list } type TW = StateT WriterState -- | Convert Pandoc to Textile. writeTextile :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeTextile opts document = evalStateT (pandocToTextile opts document) WriterState { stNotes = [], stListLevel = [], stStartNum = Nothing, stUseTags = False } -- | Return Textile representation of document. pandocToTextile :: PandocMonad m => WriterOptions -> Pandoc -> TW m Text pandocToTextile opts (Pandoc meta blocks) = do metadata <- metaToContext opts (fmap literal . blockListToTextile opts) (fmap literal . inlineListToTextile opts) meta body <- blockListToTextile opts blocks notes <- gets $ T.unlines . reverse . stNotes let main = body <> if T.null notes then "" else "\n\n" <> notes let context = defField "body" main metadata return $ case writerTemplate opts of Nothing -> main Just tpl -> render Nothing $ renderTemplate tpl context withUseTags :: PandocMonad m => TW m a -> TW m a withUseTags action = do oldUseTags <- gets stUseTags modify $ \s -> s { stUseTags = True } result <- action modify $ \s -> s { stUseTags = oldUseTags } return result -- | Escape one character as needed for Textile. escapeCharForTextile :: Char -> Text escapeCharForTextile x = case x of '&' -> "&" '<' -> "<" '>' -> ">" '"' -> """ '*' -> "*" '_' -> "_" '@' -> "@" '+' -> "+" '-' -> "-" '|' -> "|" '\x2014' -> " -- " '\x2013' -> " - " '\x2019' -> "'" '\x2026' -> "..." c -> T.singleton c -- | Escape string as needed for Textile. escapeTextForTextile :: Text -> Text escapeTextForTextile = T.concatMap escapeCharForTextile -- | Convert Pandoc block element to Textile. blockToTextile :: PandocMonad m => WriterOptions -- ^ Options -> Block -- ^ Block element -> TW m Text blockToTextile _ Null = return "" blockToTextile opts (Div attr bs) = do let startTag = render Nothing $ tagWithAttrs "div" attr let endTag = "</div>" contents <- blockListToTextile opts bs return $ startTag <> "\n\n" <> contents <> "\n\n" <> endTag <> "\n" blockToTextile opts (Plain inlines) = inlineListToTextile opts inlines -- title beginning with fig: indicates that the image is a figure blockToTextile opts (Para [Image attr txt (src,T.stripPrefix "fig:" -> Just tit)]) = do capt <- blockToTextile opts (Para txt) im <- inlineToTextile opts (Image attr txt (src,tit)) return $ im <> "\n" <> capt blockToTextile opts (Para inlines) = do useTags <- gets stUseTags listLevel <- gets stListLevel contents <- inlineListToTextile opts inlines return $ if useTags then "<p>" <> contents <> "</p>" else contents <> if null listLevel then "\n" else "" blockToTextile opts (LineBlock lns) = blockToTextile opts $ linesToPara lns blockToTextile _ b@(RawBlock f str) | f == Format "html" || f == Format "textile" = return str | otherwise = do report $ BlockNotRendered b return "" blockToTextile _ HorizontalRule = return "<hr />\n" blockToTextile opts (Header level (ident,classes,keyvals) inlines) = do contents <- inlineListToTextile opts inlines let identAttr = if T.null ident then "" else "#" <> ident let attribs = if T.null identAttr && null classes then "" else "(" <> T.unwords classes <> identAttr <> ")" let lang = maybe "" (\x -> "[" <> x <> "]") $ lookup "lang" keyvals let styles = maybe "" (\x -> "{" <> x <> "}") $ lookup "style" keyvals let prefix = "h" <> tshow level <> attribs <> styles <> lang <> ". " return $ prefix <> contents <> "\n" blockToTextile _ (CodeBlock (_,classes,_) str) | any (T.all isSpace) (T.lines str) = return $ "<pre" <> classes' <> ">\n" <> escapeStringForXML str <> "\n</pre>\n" where classes' = if null classes then "" else " class=\"" <> T.unwords classes <> "\"" blockToTextile _ (CodeBlock (_,classes,_) str) = return $ "bc" <> classes' <> ". " <> str <> "\n\n" where classes' = if null classes then "" else "(" <> T.unwords classes <> ")" blockToTextile opts (BlockQuote bs@[Para _]) = do contents <- blockListToTextile opts bs return $ "bq. " <> contents <> "\n\n" blockToTextile opts (BlockQuote blocks) = do contents <- blockListToTextile opts blocks return $ "<blockquote>\n\n" <> contents <> "\n</blockquote>\n" blockToTextile opts (Table [] aligns widths headers rows') | all (==0) widths = do hs <- mapM (liftM (("_. " <>) . stripTrailingNewlines) . blockListToTextile opts) headers let cellsToRow cells = "|" <> T.intercalate "|" cells <> "|" let header = if all null headers then "" else cellsToRow hs <> "\n" let blocksToCell (align, bs) = do contents <- stripTrailingNewlines <$> blockListToTextile opts bs let alignMarker = case align of AlignLeft -> "<. " AlignRight -> ">. " AlignCenter -> "=. " AlignDefault -> "" return $ alignMarker <> contents let rowToCells = mapM blocksToCell . zip aligns bs <- mapM rowToCells rows' let body = T.unlines $ map cellsToRow bs return $ header <> body blockToTextile opts (Table capt aligns widths headers rows') = do let alignStrings = map alignmentToText aligns captionDoc <- if null capt then return "" else do c <- inlineListToTextile opts capt return $ "<caption>" <> c <> "</caption>\n" let percent w = tshow (truncate (100*w) :: Integer) <> "%" let coltags = if all (== 0.0) widths then "" else T.unlines $ map (\w -> "<col width=\"" <> percent w <> "\" />") widths head' <- if all null headers then return "" else do hs <- tableRowToTextile opts alignStrings 0 headers return $ "<thead>\n" <> hs <> "\n</thead>\n" body' <- zipWithM (tableRowToTextile opts alignStrings) [1..] rows' return $ "<table>\n" <> captionDoc <> coltags <> head' <> "<tbody>\n" <> T.unlines body' <> "</tbody>\n</table>\n" blockToTextile opts x@(BulletList items) = do oldUseTags <- gets stUseTags let useTags = oldUseTags || not (isSimpleList x) if useTags then do contents <- withUseTags $ mapM (listItemToTextile opts) items return $ "<ul>\n" <> vcat contents <> "\n</ul>\n" else do modify $ \s -> s { stListLevel = stListLevel s <> "*" } level <- gets $ length . stListLevel contents <- mapM (listItemToTextile opts) items modify $ \s -> s { stListLevel = init (stListLevel s) } return $ vcat contents <> (if level > 1 then "" else "\n") blockToTextile opts x@(OrderedList attribs@(start, _, _) items) = do oldUseTags <- gets stUseTags let useTags = oldUseTags || not (isSimpleList x) if useTags then do contents <- withUseTags $ mapM (listItemToTextile opts) items return $ "<ol" <> listAttribsToString attribs <> ">\n" <> vcat contents <> "\n</ol>\n" else do modify $ \s -> s { stListLevel = stListLevel s <> "#" , stStartNum = if start > 1 then Just start else Nothing } level <- gets $ length . stListLevel contents <- mapM (listItemToTextile opts) items modify $ \s -> s { stListLevel = init (stListLevel s), stStartNum = Nothing } return $ vcat contents <> (if level > 1 then "" else "\n") blockToTextile opts (DefinitionList items) = do contents <- withUseTags $ mapM (definitionListItemToTextile opts) items return $ "<dl>\n" <> vcat contents <> "\n</dl>\n" -- Auxiliary functions for lists: -- | Convert ordered list attributes to HTML attribute string listAttribsToString :: ListAttributes -> Text listAttribsToString (startnum, numstyle, _) = let numstyle' = camelCaseToHyphenated $ tshow numstyle in (if startnum /= 1 then " start=\"" <> tshow startnum <> "\"" else "") <> (if numstyle /= DefaultStyle then " style=\"list-style-type: " <> numstyle' <> ";\"" else "") -- | Convert bullet or ordered list item (list of blocks) to Textile. listItemToTextile :: PandocMonad m => WriterOptions -> [Block] -> TW m Text listItemToTextile opts items = do contents <- blockListToTextile opts items useTags <- gets stUseTags if useTags then return $ "<li>" <> contents <> "</li>" else do marker <- gets stListLevel mbstart <- gets stStartNum case mbstart of Just n -> do modify $ \s -> s{ stStartNum = Nothing } return $ T.pack marker <> tshow n <> " " <> contents Nothing -> return $ T.pack marker <> " " <> contents -- | Convert definition list item (label, list of blocks) to Textile. definitionListItemToTextile :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> TW m Text definitionListItemToTextile opts (label, items) = do labelText <- inlineListToTextile opts label contents <- mapM (blockListToTextile opts) items return $ "<dt>" <> labelText <> "</dt>\n" <> T.intercalate "\n" (map (\d -> "<dd>" <> d <> "</dd>") contents) -- | True if the list can be handled by simple wiki markup, False if HTML tags will be needed. isSimpleList :: Block -> Bool isSimpleList x = case x of BulletList items -> all isSimpleListItem items OrderedList (_, sty, _) items -> all isSimpleListItem items && sty `elem` [DefaultStyle, Decimal] _ -> False -- | True if list item can be handled with the simple wiki syntax. False if -- HTML tags will be needed. isSimpleListItem :: [Block] -> Bool isSimpleListItem [] = True isSimpleListItem [x] = case x of Plain _ -> True Para _ -> True BulletList _ -> isSimpleList x OrderedList _ _ -> isSimpleList x _ -> False isSimpleListItem [x, y] | isPlainOrPara x = case y of BulletList _ -> isSimpleList y OrderedList _ _ -> isSimpleList y _ -> False isSimpleListItem _ = False isPlainOrPara :: Block -> Bool isPlainOrPara (Plain _) = True isPlainOrPara (Para _) = True isPlainOrPara _ = False -- | Concatenates strings with line breaks between them. vcat :: [Text] -> Text vcat = T.intercalate "\n" -- Auxiliary functions for tables. (TODO: these are common to HTML, MediaWiki, -- and Textile writers, and should be abstracted out.) tableRowToTextile :: PandocMonad m => WriterOptions -> [Text] -> Int -> [[Block]] -> TW m Text tableRowToTextile opts alignStrings rownum cols' = do let celltype = if rownum == 0 then "th" else "td" let rowclass = case rownum of 0 -> "header" x | x `rem` 2 == 1 -> "odd" _ -> "even" cols'' <- zipWithM (\alignment item -> tableItemToTextile opts celltype alignment item) alignStrings cols' return $ "<tr class=\"" <> rowclass <> "\">\n" <> T.unlines cols'' <> "</tr>" alignmentToText :: Alignment -> Text alignmentToText alignment = case alignment of AlignLeft -> "left" AlignRight -> "right" AlignCenter -> "center" AlignDefault -> "left" tableItemToTextile :: PandocMonad m => WriterOptions -> Text -> Text -> [Block] -> TW m Text tableItemToTextile opts celltype align' item = do let mkcell x = "<" <> celltype <> " align=\"" <> align' <> "\">" <> x <> "</" <> celltype <> ">" contents <- blockListToTextile opts item return $ mkcell contents -- | Convert list of Pandoc block elements to Textile. blockListToTextile :: PandocMonad m => WriterOptions -- ^ Options -> [Block] -- ^ List of block elements -> TW m Text blockListToTextile opts blocks = vcat <$> mapM (blockToTextile opts) blocks -- | Convert list of Pandoc inline elements to Textile. inlineListToTextile :: PandocMonad m => WriterOptions -> [Inline] -> TW m Text inlineListToTextile opts lst = T.concat <$> mapM (inlineToTextile opts) lst -- | Convert Pandoc inline element to Textile. inlineToTextile :: PandocMonad m => WriterOptions -> Inline -> TW m Text inlineToTextile opts (Span _ lst) = inlineListToTextile opts lst inlineToTextile opts (Emph lst) = do contents <- inlineListToTextile opts lst return $ if '_' `elemText` contents then "<em>" <> contents <> "</em>" else "_" <> contents <> "_" inlineToTextile opts (Strong lst) = do contents <- inlineListToTextile opts lst return $ if '*' `elemText` contents then "<strong>" <> contents <> "</strong>" else "*" <> contents <> "*" inlineToTextile opts (Strikeout lst) = do contents <- inlineListToTextile opts lst return $ if '-' `elemText` contents then "<del>" <> contents <> "</del>" else "-" <> contents <> "-" inlineToTextile opts (Superscript lst) = do contents <- inlineListToTextile opts lst return $ if '^' `elemText` contents then "<sup>" <> contents <> "</sup>" else "[^" <> contents <> "^]" inlineToTextile opts (Subscript lst) = do contents <- inlineListToTextile opts lst return $ if '~' `elemText` contents then "<sub>" <> contents <> "</sub>" else "[~" <> contents <> "~]" inlineToTextile opts (SmallCaps lst) = inlineListToTextile opts lst inlineToTextile opts (Quoted SingleQuote lst) = do contents <- inlineListToTextile opts lst return $ "'" <> contents <> "'" inlineToTextile opts (Quoted DoubleQuote lst) = do contents <- inlineListToTextile opts lst return $ "\"" <> contents <> "\"" inlineToTextile opts (Cite _ lst) = inlineListToTextile opts lst inlineToTextile _ (Code _ str) = return $ if '@' `elemText` str then "<tt>" <> escapeStringForXML str <> "</tt>" else "@" <> str <> "@" inlineToTextile _ (Str str) = return $ escapeTextForTextile str inlineToTextile _ (Math _ str) = return $ "<span class=\"math\">" <> escapeStringForXML str <> "</span>" inlineToTextile opts il@(RawInline f str) | f == Format "html" || f == Format "textile" = return str | (f == Format "latex" || f == Format "tex") && isEnabled Ext_raw_tex opts = return str | otherwise = do report $ InlineNotRendered il return "" inlineToTextile _ LineBreak = return "\n" inlineToTextile _ SoftBreak = return " " inlineToTextile _ Space = return " " inlineToTextile opts (Link (_, cls, _) txt (src, _)) = do label <- case txt of [Code _ s] | s == src -> return "$" [Str s] | s == src -> return "$" _ -> inlineListToTextile opts txt let classes = if null cls || cls == ["uri"] && label == "$" then "" else "(" <> T.unwords cls <> ")" return $ "\"" <> classes <> label <> "\":" <> src inlineToTextile opts (Image attr@(_, cls, _) alt (source, tit)) = do alt' <- inlineListToTextile opts alt let txt = if T.null tit then if T.null alt' then "" else "(" <> alt' <> ")" else "(" <> tit <> ")" classes = if null cls then "" else "(" <> T.unwords cls <> ")" showDim dir = let toCss str = Just $ tshow dir <> ":" <> str <> ";" in case dimension dir attr of Just (Percent a) -> toCss $ tshow (Percent a) Just dim -> toCss $ showInPixel opts dim <> "px" Nothing -> Nothing styles = case (showDim Width, showDim Height) of (Just w, Just h) -> "{" <> w <> h <> "}" (Just w, Nothing) -> "{" <> w <> "height:auto;}" (Nothing, Just h) -> "{" <> "width:auto;" <> h <> "}" (Nothing, Nothing) -> "" return $ "!" <> classes <> styles <> source <> txt <> "!" inlineToTextile opts (Note contents) = do curNotes <- gets stNotes let newnum = length curNotes + 1 contents' <- blockListToTextile opts contents let thisnote = "fn" <> tshow newnum <> ". " <> contents' <> "\n" modify $ \s -> s { stNotes = thisnote : curNotes } return $ "[" <> tshow newnum <> "]" -- note - may not work for notes with multiple blocks ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/XWiki.hs�����������������������������������������������������0000664�0000000�0000000�00000022011�13636304630�0021074�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {- Copyright (C) 2008-2017 John MacFarlane <jgm@berkeley.edu> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -} {- | Module : Text.Pandoc.Writers.XWiki Copyright : Copyright (C) 2008-2017 John MacFarlane License : GNU GPL, version 2 or above Maintainer : Derek Chen-Becker <dchenbecker@gmail.com> Stability : alpha Portability : portable Conversion of 'Pandoc' documents to XWiki markup. XWiki: <http://www.xwiki.org/> XWiki Syntax: <http://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/XWikiSyntax/> -} module Text.Pandoc.Writers.XWiki ( writeXWiki ) where import Control.Monad.Reader (ReaderT, asks, local, runReaderT) import qualified Data.Set as Set import qualified Data.Text as Text import Data.Text (Text, intercalate, replace, split) import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.Logging import Text.Pandoc.Options import Text.Pandoc.Shared import Text.Pandoc.Writers.MediaWiki (highlightingLangs) data WriterState = WriterState { listLevel :: Text -- String at the beginning of items } type XWikiReader m = ReaderT WriterState m -- | Convert Pandoc to XWiki. writeXWiki :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeXWiki _ (Pandoc _ blocks) = let env = WriterState { listLevel = "" } in runReaderT (blockListToXWiki blocks) env -- | Concatenates strings with line breaks between them. vcat :: [Text] -> Text vcat = intercalate "\n" -- If an id is provided, we can generate an anchor using the id macro -- https://extensions.xwiki.org/xwiki/bin/view/Extension/Id%20Macro genAnchor :: Text -> Text genAnchor id' = if Text.null id' then "" else "{{id name=\"" <> id' <> "\" /}}" blockListToXWiki :: PandocMonad m => [Block] -> XWikiReader m Text blockListToXWiki blocks = vcat <$> mapM blockToXWiki blocks blockToXWiki :: PandocMonad m => Block -> XWikiReader m Text blockToXWiki Null = return "" blockToXWiki (Div (id', _, _) blocks) = do content <- blockListToXWiki blocks return $ genAnchor id' <> content blockToXWiki (Plain inlines) = inlineListToXWiki inlines blockToXWiki (Para inlines) = do contents <- inlineListToXWiki inlines return $ contents <> "\n" blockToXWiki (LineBlock lns) = blockToXWiki $ linesToPara lns blockToXWiki b@(RawBlock f str) | f == Format "xwiki" = return str | otherwise = "" <$ report (BlockNotRendered b) blockToXWiki HorizontalRule = return "\n----\n" blockToXWiki (Header level (id', _, _) inlines) = do contents <- inlineListToXWiki inlines let eqs = Text.replicate level "=" return $ eqs <> " " <> contents <> " " <> genAnchor id' <> eqs <> "\n" -- XWiki doesn't appear to differentiate between inline and block-form code, so we delegate -- We do amend the text to ensure that the code markers are on their own lines, since this is a block blockToXWiki (CodeBlock attrs str) = do contents <- inlineToXWiki (Code attrs ("\n" <> str <> "\n")) return $ "\n" <> contents <> "\n" blockToXWiki (BlockQuote blocks) = do blockText <- blockListToXWiki blocks let quoteLines = split (== '\n') blockText let prefixed = map (">" <>) quoteLines return $ vcat prefixed blockToXWiki (BulletList contents) = blockToXWikiList "*" contents blockToXWiki (OrderedList _ contents) = blockToXWikiList "1" contents blockToXWiki (DefinitionList items) = do lev <- asks listLevel contents <- local (\s -> s { listLevel = listLevel s <> ";" }) $ mapM definitionListItemToMediaWiki items return $ vcat contents <> if Text.null lev then "\n" else "" -- TODO: support more features blockToXWiki (Table _ _ _ headers rows') = do headers' <- mapM (tableCellXWiki True) headers otherRows <- mapM formRow rows' return $ Text.unlines (Text.unwords headers':otherRows) formRow :: PandocMonad m => [[Block]] -> XWikiReader m Text formRow row = do cellStrings <- mapM (tableCellXWiki False) row return $ Text.unwords cellStrings tableCellXWiki :: PandocMonad m => Bool -> [Block] -> XWikiReader m Text tableCellXWiki isHeader cell = do contents <- blockListToXWiki cell let isMultiline = (length . split (== '\n')) contents > 1 let contents' = intercalate contents $ if isMultiline then ["(((", ")))"] else [mempty, mempty] let cellBorder = if isHeader then "|=" else "|" return $ cellBorder <> contents' inlineListToXWiki :: PandocMonad m => [Inline] -> XWikiReader m Text inlineListToXWiki lst = mconcat <$> mapM inlineToXWiki lst inlineToXWiki :: PandocMonad m => Inline -> XWikiReader m Text inlineToXWiki (Str str) = return $ escapeXWikiString str inlineToXWiki Space = return " " -- Special syntax for XWiki 2.0. This won't break table cells inlineToXWiki LineBreak = return "\\\\" inlineToXWiki SoftBreak = return " " inlineToXWiki (Emph lst) = do contents <- inlineListToXWiki lst return $ "//" <> contents <> "//" inlineToXWiki (Strong lst) = do contents <- inlineListToXWiki lst return $ "**" <> contents <> "**" inlineToXWiki (Strikeout lst) = do contents <- inlineListToXWiki lst return $ "--" <> contents <> "--" inlineToXWiki (Superscript lst) = do contents <- inlineListToXWiki lst return $ "^^" <> contents <> "^^" inlineToXWiki (Subscript lst) = do contents <- inlineListToXWiki lst return $ ",," <> contents <> ",," -- TODO: Not supported. Maybe escape to HTML? inlineToXWiki (SmallCaps lst) = inlineListToXWiki lst inlineToXWiki (Quoted SingleQuote lst) = do contents <- inlineListToXWiki lst return $ "‘" <> contents <> "’" inlineToXWiki (Quoted DoubleQuote lst) = do contents <- inlineListToXWiki lst return $ "“" <> contents <> "”" inlineToXWiki (Code (_,classes,_) contents) = do let at = Set.fromList classes `Set.intersection` highlightingLangs return $ case Set.toList at of [] -> "{{code}}" <> contents <> "{{/code}}" (l:_) -> "{{code language=\"" <> l <> "\"}}" <> contents <> "{{/code}}" inlineToXWiki (Cite _ lst) = inlineListToXWiki lst -- FIXME: optionally support this (plugin?) inlineToXWiki (Math _ str) = return $ "{{formula}}" <> str <> "{{/formula}}" inlineToXWiki il@(RawInline frmt str) | frmt == Format "xwiki" = return str | otherwise = "" <$ report (InlineNotRendered il) -- TODO: Handle anchors inlineToXWiki (Link (id', _, _) txt (src, _)) = do label <- inlineListToXWiki txt case txt of [Str s] | isURI src && escapeURI s == src -> return $ src <> genAnchor id' _ -> return $ "[[" <> label <> ">>" <> src <> "]]" <> genAnchor id' inlineToXWiki (Image _ alt (source, tit)) = do alt' <- inlineListToXWiki alt let params = Text.unwords $ filter (not . Text.null) [ if Text.null alt' then "" else "alt=\"" <> alt' <> "\"", if Text.null tit then "" else "title=\"" <> tit <> "\"" ] return $ "[[image:" <> source <> (if Text.null params then "" else "||" <> params) <> "]]" inlineToXWiki (Note contents) = do contents' <- blockListToXWiki contents return $ "{{footnote}}" <> Text.strip contents' <> "{{/footnote}}" -- TODO: support attrs other than id (anchor) inlineToXWiki (Span (id', _, _) contents) = do contents' <- inlineListToXWiki contents return $ genAnchor id' <> contents' -- Utility method since (for now) all lists are handled the same way blockToXWikiList :: PandocMonad m => Text -> [[Block]] -> XWikiReader m Text blockToXWikiList marker contents = do lev <- asks listLevel contents' <- local (\s -> s { listLevel = listLevel s <> marker } ) $ mapM listItemToXWiki contents return $ vcat contents' <> if Text.null lev then "\n" else "" listItemToXWiki :: PandocMonad m => [Block] -> XWikiReader m Text listItemToXWiki contents = do marker <- asks listLevel contents' <- blockListToXWiki contents return $ marker <> ". " <> Text.strip contents' -- | Convert definition list item (label, list of blocks) to MediaWiki. definitionListItemToMediaWiki :: PandocMonad m => ([Inline],[[Block]]) -> XWikiReader m Text definitionListItemToMediaWiki (label, items) = do labelText <- inlineListToXWiki label contents <- mapM blockListToXWiki items marker <- asks listLevel return $ marker <> " " <> labelText <> "\n" <> intercalate "\n" (map (\d -> Text.init marker <> ": " <> d) contents) -- Escape the escape character, as well as formatting pairs escapeXWikiString :: Text -> Text escapeXWikiString s = foldr (uncurry replace) s $ zip ["--", "**", "//", "^^", ",,", "~"] ["~-~-", "~*~*", "~/~/", "~^~^", "~,~,", "~~"] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/Writers/ZimWiki.hs���������������������������������������������������0000664�0000000�0000000�00000035406�13636304630�0021440�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.Writers.ZimWiki Copyright : © 2008-2020 John MacFarlane, 2017-2019 Alex Ivkin License : GNU GPL, version 2 or above Maintainer : Alex Ivkin <alex@ivkin.net> Stability : beta Portability : portable Conversion of 'Pandoc' documents to ZimWiki markup. http://zim-wiki.org/manual/Help/Wiki_Syntax.html -} module Text.Pandoc.Writers.ZimWiki ( writeZimWiki ) where import Control.Monad (zipWithM) import Control.Monad.State.Strict (StateT, evalStateT, gets, modify) import Data.Default (Default (..)) import Data.List (transpose) import qualified Data.Map as Map import Text.DocLayout (render, literal) import Data.Maybe (fromMaybe) import Data.Text (Text) import qualified Data.Text as T import Text.Pandoc.Class.PandocMonad (PandocMonad, report) import Text.Pandoc.Definition import Text.Pandoc.ImageSize import Text.Pandoc.Logging import Text.Pandoc.Options (WrapOption (..), WriterOptions (writerTableOfContents, writerTemplate, writerWrapText)) import Text.Pandoc.Shared (escapeURI, isURI, linesToPara, removeFormatting, trimr) import Text.Pandoc.Templates (renderTemplate) import Text.Pandoc.Writers.Shared (defField, metaToContext) data WriterState = WriterState { stIndent :: Text, -- Indent after the marker at the beginning of list items stInTable :: Bool, -- Inside a table stInLink :: Bool -- Inside a link description } instance Default WriterState where def = WriterState { stIndent = "", stInTable = False, stInLink = False } type ZW = StateT WriterState -- | Convert Pandoc to ZimWiki. writeZimWiki :: PandocMonad m => WriterOptions -> Pandoc -> m Text writeZimWiki opts document = evalStateT (pandocToZimWiki opts document) def -- | Return ZimWiki representation of document. pandocToZimWiki :: PandocMonad m => WriterOptions -> Pandoc -> ZW m Text pandocToZimWiki opts (Pandoc meta blocks) = do metadata <- metaToContext opts (fmap (literal . trimr) . blockListToZimWiki opts) (fmap (literal . trimr) . inlineListToZimWiki opts) meta main <- blockListToZimWiki opts blocks --let header = "Content-Type: text/x-zim-wiki\nWiki-Format: zim 0.4\n" let context = defField "body" main $ defField "toc" (writerTableOfContents opts) metadata return $ case writerTemplate opts of Just tpl -> render Nothing $ renderTemplate tpl context Nothing -> main -- | Escape special characters for ZimWiki. escapeText :: Text -> Text escapeText = T.replace "__" "''__''" . T.replace "**" "''**''" . T.replace "~~" "''~~''" . T.replace "//" "''//''" -- | Convert Pandoc block element to ZimWiki. blockToZimWiki :: PandocMonad m => WriterOptions -> Block -> ZW m Text blockToZimWiki _ Null = return "" blockToZimWiki opts (Div _attrs bs) = do contents <- blockListToZimWiki opts bs return $ contents <> "\n" blockToZimWiki opts (Plain inlines) = inlineListToZimWiki opts inlines -- title beginning with fig: indicates that the image is a figure -- ZimWiki doesn't support captions - so combine together alt and caption into alt blockToZimWiki opts (Para [Image attr txt (src,T.stripPrefix "fig:" -> Just tit)]) = do capt <- if null txt then return "" else (" " <>) `fmap` inlineListToZimWiki opts txt let opt = if null txt then "" else "|" <> if T.null tit then capt else tit <> capt return $ "{{" <> src <> imageDims opts attr <> opt <> "}}\n" blockToZimWiki opts (Para inlines) = do indent <- gets stIndent -- useTags <- gets stUseTags contents <- inlineListToZimWiki opts inlines return $ contents <> if T.null indent then "\n" else "" blockToZimWiki opts (LineBlock lns) = blockToZimWiki opts $ linesToPara lns blockToZimWiki opts b@(RawBlock f str) | f == Format "zimwiki" = return str | f == Format "html" = indentFromHTML opts str | otherwise = do report $ BlockNotRendered b return "" blockToZimWiki _ HorizontalRule = return "\n----\n" blockToZimWiki opts (Header level _ inlines) = do contents <- inlineListToZimWiki opts $ removeFormatting inlines -- emphasis, links etc. not allowed in headers let eqs = T.replicate ( 7 - level ) "=" return $ eqs <> " " <> contents <> " " <> eqs <> "\n" blockToZimWiki _ (CodeBlock (_,classes,_) str) = do -- Remap languages into the gtksourceview2 convention that ZimWiki source code plugin is using let langal = [("javascript", "js"), ("bash", "sh"), ("winbatch", "dosbatch")] let langmap = Map.fromList langal return $ case classes of [] -> "'''\n" <> cleanupCode str <> "\n'''\n" -- turn no lang block into a quote block (x:_) -> "{{{code: lang=\"" <> fromMaybe x (Map.lookup x langmap) <> "\" linenumbers=\"True\"\n" <> str <> "\n}}}\n" -- for zim's code plugin, go verbatim on the lang spec blockToZimWiki opts (BlockQuote blocks) = do contents <- blockListToZimWiki opts blocks return $ T.unlines $ map ("> " <>) $ T.lines contents blockToZimWiki opts (Table capt aligns _ headers rows) = do captionDoc <- if null capt then return "" else do c <- inlineListToZimWiki opts capt return $ "" <> c <> "\n" headers' <- if all null headers then zipWithM (tableItemToZimWiki opts) aligns (head rows) else mapM (inlineListToZimWiki opts . removeFormatting)headers -- emphasis, links etc. are not allowed in table headers rows' <- mapM (zipWithM (tableItemToZimWiki opts) aligns) rows let widths = map (maximum . map T.length) $ transpose (headers':rows') let padTo (width, al) s = case width - T.length s of x | x > 0 -> if al == AlignLeft || al == AlignDefault then s <> T.replicate x " " else if al == AlignRight then T.replicate x " " <> s else T.replicate (x `div` 2) " " <> s <> T.replicate (x - x `div` 2) " " | otherwise -> s let borderCell (width, al) _ | al == AlignLeft = ":"<> T.replicate (width-1) "-" | al == AlignDefault = T.replicate width "-" | al == AlignRight = T.replicate (width-1) "-" <> ":" | otherwise = ":" <> T.replicate (width-2) "-" <> ":" let underheader = "|" <> T.intercalate "|" (zipWith borderCell (zip widths aligns) headers') <> "|" let renderRow cells = "|" <> T.intercalate "|" (zipWith padTo (zip widths aligns) cells) <> "|" return $ captionDoc <> (if null headers' then "" else renderRow headers' <> "\n") <> underheader <> "\n" <> T.unlines (map renderRow rows') blockToZimWiki opts (BulletList items) = do contents <- mapM (listItemToZimWiki opts) items indent <- gets stIndent return $ vcat contents <> if T.null indent then "\n" else "" blockToZimWiki opts (OrderedList _ items) = do contents <- zipWithM (orderedListItemToZimWiki opts) [1..] items indent <- gets stIndent return $ vcat contents <> if T.null indent then "\n" else "" blockToZimWiki opts (DefinitionList items) = do contents <- mapM (definitionListItemToZimWiki opts) items return $ vcat contents definitionListItemToZimWiki :: PandocMonad m => WriterOptions -> ([Inline],[[Block]]) -> ZW m Text definitionListItemToZimWiki opts (label, items) = do labelText <- inlineListToZimWiki opts label contents <- mapM (blockListToZimWiki opts) items indent <- gets stIndent return $ indent <> "* **" <> labelText <> "** " <> T.concat contents -- Auxiliary functions for lists: indentFromHTML :: PandocMonad m => WriterOptions -> Text -> ZW m Text indentFromHTML _ str = do indent <- gets stIndent if "<li>" `T.isInfixOf` str then return indent else if "</li>" `T.isInfixOf` str then return "\n" else if "<li value=" `T.isInfixOf` str then return "" else if "<ol>" `T.isInfixOf` str then do let olcount=countSubStrs "<ol>" str modify $ \s -> s { stIndent = stIndent s <> T.replicate olcount "\t" } return "" else if "</ol>" `T.isInfixOf` str then do let olcount=countSubStrs "/<ol>" str modify $ \s -> s{ stIndent = T.drop olcount (stIndent s) } return "" else return "" countSubStrs :: Text -> Text -> Int countSubStrs sub str = length $ T.breakOnAll sub str cleanupCode :: Text -> Text cleanupCode = T.replace "<nowiki>" "" . T.replace "</nowiki>" "" vcat :: [Text] -> Text vcat = T.intercalate "\n" -- | Convert bullet list item (list of blocks) to ZimWiki. listItemToZimWiki :: PandocMonad m => WriterOptions -> [Block] -> ZW m Text listItemToZimWiki opts items = do indent <- gets stIndent modify $ \s -> s { stIndent = indent <> "\t" } contents <- blockListToZimWiki opts items modify $ \s -> s{ stIndent = indent } return $ indent <> "* " <> contents -- | Convert ordered list item (list of blocks) to ZimWiki. orderedListItemToZimWiki :: PandocMonad m => WriterOptions -> Int -> [Block] -> ZW m Text orderedListItemToZimWiki opts itemnum items = do indent <- gets stIndent modify $ \s -> s { stIndent = indent <> "\t" } contents <- blockListToZimWiki opts items modify $ \s -> s{ stIndent = indent } return $ indent <> T.pack (show itemnum) <> ". " <> contents -- Auxiliary functions for tables: tableItemToZimWiki :: PandocMonad m => WriterOptions -> Alignment -> [Block] -> ZW m Text tableItemToZimWiki opts align' item = do let mkcell x = (if align' == AlignRight || align' == AlignCenter then " " else "") <> x <> (if align' == AlignLeft || align' == AlignCenter then " " else "") modify $ \s -> s { stInTable = True } contents <- blockListToZimWiki opts item modify $ \s -> s { stInTable = False } return $ mkcell contents -- | Convert list of Pandoc block elements to ZimWiki. blockListToZimWiki :: PandocMonad m => WriterOptions -> [Block] -> ZW m Text blockListToZimWiki opts blocks = vcat <$> mapM (blockToZimWiki opts) blocks -- | Convert list of Pandoc inline elements to ZimWiki. inlineListToZimWiki :: PandocMonad m => WriterOptions -> [Inline] -> ZW m Text inlineListToZimWiki opts lst = T.concat <$> mapM (inlineToZimWiki opts) lst -- | Convert Pandoc inline element to ZimWiki. inlineToZimWiki :: PandocMonad m => WriterOptions -> Inline -> ZW m Text inlineToZimWiki opts (Emph lst) = do contents <- inlineListToZimWiki opts lst return $ "//" <> contents <> "//" inlineToZimWiki opts (Strong lst) = do contents <- inlineListToZimWiki opts lst return $ "**" <> contents <> "**" inlineToZimWiki opts (Strikeout lst) = do contents <- inlineListToZimWiki opts lst return $ "~~" <> contents <> "~~" inlineToZimWiki opts (Superscript lst) = do contents <- inlineListToZimWiki opts lst return $ "^{" <> contents <> "}" inlineToZimWiki opts (Subscript lst) = do contents <- inlineListToZimWiki opts lst return $ "_{" <> contents <> "}" inlineToZimWiki opts (Quoted SingleQuote lst) = do contents <- inlineListToZimWiki opts lst return $ "\8216" <> contents <> "\8217" inlineToZimWiki opts (Quoted DoubleQuote lst) = do contents <- inlineListToZimWiki opts lst return $ "\8220" <> contents <> "\8221" inlineToZimWiki opts (Span _attrs ils) = inlineListToZimWiki opts ils inlineToZimWiki opts (SmallCaps lst) = inlineListToZimWiki opts lst inlineToZimWiki opts (Cite _ lst) = inlineListToZimWiki opts lst inlineToZimWiki _ (Code _ str) = return $ "''" <> str <> "''" inlineToZimWiki _ (Str str) = do inTable <- gets stInTable inLink <- gets stInLink if inTable then return $ T.replace "|" "\\|" . escapeText $ str else if inLink then return str else return $ escapeText str inlineToZimWiki _ (Math mathType str) = return $ delim <> str <> delim -- note: str should NOT be escaped where delim = case mathType of DisplayMath -> "$$" InlineMath -> "$" -- | f == Format "html" = return $ "<html>" <> str <> "</html>" inlineToZimWiki opts il@(RawInline f str) | f == Format "zimwiki" = return str | f == Format "html" = indentFromHTML opts str | otherwise = do report $ InlineNotRendered il return "" inlineToZimWiki _ LineBreak = do inTable <- gets stInTable if inTable then return "\\n" else return "\n" inlineToZimWiki opts SoftBreak = case writerWrapText opts of WrapNone -> return " " WrapAuto -> return " " WrapPreserve -> return "\n" inlineToZimWiki _ Space = return " " inlineToZimWiki opts (Link _ txt (src, _)) = do inTable <- gets stInTable modify $ \s -> s { stInLink = True } label <- inlineListToZimWiki opts $ removeFormatting txt -- zim does not allow formatting in link text, it takes the text verbatim, no need to escape it modify $ \s -> s { stInLink = False } let label'= if inTable then "" -- no label is allowed in a table else "|"<>label case txt of [Str s] | "mailto:" `T.isPrefixOf` src -> return $ "<" <> s <> ">" | escapeURI s == src -> return src _ -> if isURI src then return $ "[[" <> src <> label' <> "]]" else return $ "[[" <> src' <> label' <> "]]" where -- with leading / it's a link to a help page src' = fromMaybe src $ T.stripPrefix "/" src inlineToZimWiki opts (Image attr alt (source, tit)) = do alt' <- inlineListToZimWiki opts alt inTable <- gets stInTable let txt = case (tit, alt, inTable) of ("",[], _) -> "" ("", _, False ) -> "|" <> alt' (_ , _, False ) -> "|" <> tit (_ , _, True ) -> "" return $ "{{" <> source <> imageDims opts attr <> txt <> "}}" inlineToZimWiki opts (Note contents) = do -- no concept of notes in zim wiki, use a text block contents' <- blockListToZimWiki opts contents return $ " **{Note:** " <> trimr contents' <> "**}**" imageDims :: WriterOptions -> Attr -> Text imageDims opts attr = go (toPx $ dimension Width attr) (toPx $ dimension Height attr) where toPx = fmap (showInPixel opts) . checkPct checkPct (Just (Percent _)) = Nothing checkPct maybeDim = maybeDim go (Just w) Nothing = "?" <> w go (Just w) (Just h) = "?" <> w <> "x" <> h go Nothing (Just h) = "?0x" <> h go Nothing Nothing = "" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/src/Text/Pandoc/XML.hs���������������������������������������������������������������0000664�0000000�0000000�00000024676�13636304630�0017065�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ViewPatterns #-} {- | Module : Text.Pandoc.XML Copyright : Copyright (C) 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Functions for escaping and formatting XML. -} module Text.Pandoc.XML ( escapeCharForXML, escapeStringForXML, inTags, selfClosingTag, inTagsSimple, inTagsIndented, toEntities, toHtml5Entities, fromEntities, html4Attributes, html5Attributes, rdfaAttributes ) where import Data.Char (isAscii, isSpace, ord) import Data.Text (Text) import qualified Data.Text as T import Text.HTML.TagSoup.Entity (lookupEntity, htmlEntities) import Text.DocLayout import Text.Printf (printf) import qualified Data.Map as M import Data.String import qualified Data.Set as Set -- | Escape one character as needed for XML. escapeCharForXML :: Char -> Text escapeCharForXML x = case x of '&' -> "&" '<' -> "<" '>' -> ">" '"' -> """ c -> T.singleton c -- | Escape string as needed for XML. Entity references are not preserved. escapeStringForXML :: Text -> Text escapeStringForXML = T.concatMap escapeCharForXML . T.filter isLegalXMLChar where isLegalXMLChar c = c == '\t' || c == '\n' || c == '\r' || (c >= '\x20' && c <= '\xD7FF') || (c >= '\xE000' && c <= '\xFFFD') || (c >= '\x10000' && c <= '\x10FFFF') -- see https://www.w3.org/TR/xml/#charsets -- | Escape newline characters as escapeNls :: Text -> Text escapeNls = T.concatMap $ \x -> case x of '\n' -> " " c -> T.singleton c -- | Return a text object with a string of formatted XML attributes. attributeList :: (HasChars a, IsString a) => [(Text, Text)] -> Doc a attributeList = hcat . map (\(a, b) -> text (T.unpack $ " " <> escapeStringForXML a <> "=\"" <> escapeNls (escapeStringForXML b) <> "\"")) -- | Put the supplied contents between start and end tags of tagType, -- with specified attributes and (if specified) indentation. inTags :: (HasChars a, IsString a) => Bool -> Text -> [(Text, Text)] -> Doc a -> Doc a inTags isIndented tagType attribs contents = let openTag = char '<' <> text (T.unpack tagType) <> attributeList attribs <> char '>' closeTag = text "</" <> text (T.unpack tagType) <> char '>' in if isIndented then openTag $$ nest 2 contents $$ closeTag else openTag <> contents <> closeTag -- | Return a self-closing tag of tagType with specified attributes selfClosingTag :: (HasChars a, IsString a) => Text -> [(Text, Text)] -> Doc a selfClosingTag tagType attribs = char '<' <> text (T.unpack tagType) <> attributeList attribs <> text " />" -- | Put the supplied contents between start and end tags of tagType. inTagsSimple :: (HasChars a, IsString a) => Text -> Doc a -> Doc a inTagsSimple tagType = inTags False tagType [] -- | Put the supplied contents in indented block btw start and end tags. inTagsIndented :: (HasChars a, IsString a) => Text -> Doc a -> Doc a inTagsIndented tagType = inTags True tagType [] -- | Escape all non-ascii characters using numerical entities. toEntities :: Text -> Text toEntities = T.concatMap go where go c | isAscii c = T.singleton c | otherwise = T.pack (printf "&#x%X;" (ord c)) -- | Escape all non-ascii characters using HTML5 entities, falling -- back to numerical entities. toHtml5Entities :: Text -> Text toHtml5Entities = T.concatMap go where go c | isAscii c = T.singleton c | otherwise = case M.lookup c html5EntityMap of Just t -> T.singleton '&' <> t <> T.singleton ';' Nothing -> T.pack ("&#" ++ show (ord c) ++ ";") html5EntityMap :: M.Map Char Text html5EntityMap = foldr go mempty htmlEntities where go (ent, s) entmap = case s of [c] -> M.insertWith (\new old -> if T.length new > T.length old then old else new) c ent' entmap where ent' = T.takeWhile (/=';') (T.pack ent) _ -> entmap -- Unescapes XML entities fromEntities :: Text -> Text fromEntities = T.pack . fromEntities' fromEntities' :: Text -> String fromEntities' (T.uncons -> Just ('&', xs)) = case lookupEntity $ T.unpack ent' of Just c -> c <> fromEntities' rest Nothing -> "&" <> fromEntities' xs where (ent, rest) = case T.break (\c -> isSpace c || c == ';') xs of (zs,T.uncons -> Just (';',ys)) -> (zs,ys) (zs, ys) -> (zs,ys) ent' | Just ys <- T.stripPrefix "#X" ent = "#x" <> ys -- workaround tagsoup bug | Just ('#', _) <- T.uncons ent = ent | otherwise = ent <> ";" fromEntities' t = case T.uncons t of Just (x, xs) -> x : fromEntities' xs Nothing -> "" html5Attributes :: Set.Set Text html5Attributes = Set.fromList [ "abbr" , "accept" , "accept-charset" , "accesskey" , "action" , "allow" , "allowfullscreen" , "allowpaymentrequest" , "allowusermedia" , "alt" , "as" , "async" , "autocapitalize" , "autocomplete" , "autofocus" , "autoplay" , "charset" , "checked" , "cite" , "class" , "color" , "cols" , "colspan" , "content" , "contenteditable" , "controls" , "coords" , "crossorigin" , "data" , "datetime" , "decoding" , "default" , "defer" , "dir" , "dirname" , "disabled" , "download" , "draggable" , "enctype" , "enterkeyhint" , "for" , "form" , "formaction" , "formenctype" , "formmethod" , "formnovalidate" , "formtarget" , "headers" , "height" , "hidden" , "high" , "href" , "hreflang" , "http-equiv" , "id" , "imagesizes" , "imagesrcset" , "inputmode" , "integrity" , "is" , "ismap" , "itemid" , "itemprop" , "itemref" , "itemscope" , "itemtype" , "kind" , "label" , "lang" , "list" , "loading" , "loop" , "low" , "manifest" , "max" , "maxlength" , "media" , "method" , "min" , "minlength" , "multiple" , "muted" , "name" , "nomodule" , "nonce" , "novalidate" , "onabort" , "onafterprint" , "onauxclick" , "onbeforeprint" , "onbeforeunload" , "onblur" , "oncancel" , "oncanplay" , "oncanplaythrough" , "onchange" , "onclick" , "onclose" , "oncontextmenu" , "oncopy" , "oncuechange" , "oncut" , "ondblclick" , "ondrag" , "ondragend" , "ondragenter" , "ondragexit" , "ondragleave" , "ondragover" , "ondragstart" , "ondrop" , "ondurationchange" , "onemptied" , "onended" , "onerror" , "onfocus" , "onhashchange" , "oninput" , "oninvalid" , "onkeydown" , "onkeypress" , "onkeyup" , "onlanguagechange" , "onload" , "onloadeddata" , "onloadedmetadata" , "onloadend" , "onloadstart" , "onmessage" , "onmessageerror" , "onmousedown" , "onmouseenter" , "onmouseleave" , "onmousemove" , "onmouseout" , "onmouseover" , "onmouseup" , "onoffline" , "ononline" , "onpagehide" , "onpageshow" , "onpaste" , "onpause" , "onplay" , "onplaying" , "onpopstate" , "onprogress" , "onratechange" , "onrejectionhandled" , "onreset" , "onresize" , "onscroll" , "onsecuritypolicyviolation" , "onseeked" , "onseeking" , "onselect" , "onstalled" , "onstorage" , "onsubmit" , "onsuspend" , "ontimeupdate" , "ontoggle" , "onunhandledrejection" , "onunload" , "onvolumechange" , "onwaiting" , "onwheel" , "open" , "optimum" , "pattern" , "ping" , "placeholder" , "playsinline" , "poster" , "preload" , "readonly" , "referrerpolicy" , "rel" , "required" , "reversed" , "role" , "rows" , "rowspan" , "sandbox" , "scope" , "selected" , "shape" , "size" , "sizes" , "slot" , "span" , "spellcheck" , "src" , "srcdoc" , "srclang" , "srcset" , "start" , "step" , "style" , "tabindex" , "target" , "title" , "translate" , "type" , "typemustmatch" , "updateviacache" , "usemap" , "value" , "width" , "workertype" , "wrap" ] -- See https://en.wikipedia.org/wiki/RDFa, https://www.w3.org/TR/rdfa-primer/ rdfaAttributes :: Set.Set Text rdfaAttributes = Set.fromList [ "about" , "rel" , "rev" , "src" , "href" , "resource" , "property" , "content" , "datatype" , "typeof" , "vocab" , "prefix" ] html4Attributes :: Set.Set Text html4Attributes = Set.fromList [ "abbr" , "accept" , "accept-charset" , "accesskey" , "action" , "align" , "alink" , "alt" , "archive" , "axis" , "background" , "bgcolor" , "border" , "cellpadding" , "cellspacing" , "char" , "charoff" , "charset" , "checked" , "cite" , "class" , "classid" , "clear" , "code" , "codebase" , "codetype" , "color" , "cols" , "colspan" , "compact" , "content" , "coords" , "data" , "datetime" , "declare" , "defer" , "dir" , "disabled" , "enctype" , "face" , "for" , "frame" , "frameborder" , "headers" , "height" , "href" , "hreflang" , "hspace" , "http-equiv" , "id" , "ismap" , "label" , "lang" , "language" , "link" , "longdesc" , "marginheight" , "marginwidth" , "maxlength" , "media" , "method" , "multiple" , "name" , "nohref" , "noresize" , "noshade" , "nowrap" , "object" , "onblur" , "onchange" , "onclick" , "ondblclick" , "onfocus" , "onkeydown" , "onkeypress" , "onkeyup" , "onload" , "onmousedown" , "onmousemove" , "onmouseout" , "onmouseover" , "onmouseup" , "onreset" , "onselect" , "onsubmit" , "onunload" , "profile" , "prompt" , "readonly" , "rel" , "rev" , "rows" , "rowspan" , "rules" , "scheme" , "scope" , "scrolling" , "selected" , "shape" , "size" , "span" , "src" , "standby" , "start" , "style" , "summary" , "tabindex" , "target" , "text" , "title" , "usemap" , "valign" , "value" , "valuetype" , "version" , "vlink" , "vspace" , "width" ] ������������������������������������������������������������������pandoc-2.9.2.1/stack.yaml���������������������������������������������������������������������������0000664�0000000�0000000�00000001160�13636304630�0015122�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������flags: pandoc: trypandoc: false embed_data_files: true static: false pandoc-citeproc: bibutils: true embed_data_files: true unicode_collation: false test_citeproc: false debug: false packages: - '.' extra-deps: - pandoc-types-1.20 - texmath-0.12.0.1 - haddock-library-1.8.0 - skylighting-0.8.3.2 - skylighting-core-0.8.3.2 - regex-pcre-builtin-0.95.0.8.8.35 - doclayout-0.3 - emojis-0.1 - jira-wiki-markup-1.1.3 - HsYAML-0.2.0.0 - HsYAML-aeson-0.2.0.0 - doctemplates-0.8.1 - pandoc-citeproc-0.17 ghc-options: "$locals": -fhide-source-paths -Wno-missing-home-modules resolver: lts-14.6 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/��������������������������������������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0014112�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/��������������������������������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0015214�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Command.hs����������������������������������������������������������������0000664�0000000�0000000�00000010036�13636304630�0017126�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {- | Module : Tests.Command Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley@edu> Stability : alpha Portability : portable Run commands, and test results, defined in markdown files. -} module Tests.Command (findPandoc, runTest, tests) where import Prelude import Data.Algorithm.Diff import qualified Data.ByteString as BS import qualified Data.Text as T import Data.List (isSuffixOf) import System.Directory import System.Exit import System.FilePath (joinPath, splitDirectories, takeDirectory, (</>)) import System.IO (hPutStr, stderr) import System.IO.Unsafe (unsafePerformIO) import System.Process import Test.Tasty import Test.Tasty.HUnit import Tests.Helpers import Text.Pandoc import qualified Text.Pandoc.UTF8 as UTF8 -- | Run a test with normalize function, return True if test passed. runTest :: String -- ^ Title of test -> FilePath -- ^ Path to pandoc -> String -- ^ Shell command -> String -- ^ Input text -> String -- ^ Expected output -> TestTree runTest testname pandocpath cmd inp norm = testCase testname $ do let findDynlibDir [] = Nothing findDynlibDir ("build":xs) = Just $ joinPath (reverse xs) </> "build" findDynlibDir (_:xs) = findDynlibDir xs let mbDynlibDir = findDynlibDir (reverse $ splitDirectories $ takeDirectory $ takeWhile (/=' ') cmd) let dynlibEnv = case mbDynlibDir of Nothing -> [] Just d -> [("DYLD_LIBRARY_PATH", d), ("LD_LIBRARY_PATH", d)] let env' = dynlibEnv ++ [("PATH",takeDirectory pandocpath),("TMP","."),("LANG","en_US.UTF-8"),("HOME", "./"),("pandoc_datadir", "..")] let pr = (shell cmd){ env = Just env' } (ec, out', err') <- readCreateProcessWithExitCode pr inp -- filter \r so the tests will work on Windows machines let out = filter (/= '\r') $ err' ++ out' result <- if ec == ExitSuccess then if out == norm then return TestPassed else return $ TestFailed cmd "expected" $ getDiff (lines out) (lines norm) else do hPutStr stderr err' return $ TestError ec assertBool (show result) (result == TestPassed) tests :: FilePath -> TestTree {-# NOINLINE tests #-} tests pandocPath = unsafePerformIO $ do files <- filter (".md" `isSuffixOf`) <$> getDirectoryContents "command" let cmds = map (extractCommandTest pandocPath) files return $ testGroup "Command:" cmds isCodeBlock :: Block -> Bool isCodeBlock (CodeBlock _ _) = True isCodeBlock _ = False extractCode :: Block -> String extractCode (CodeBlock _ code) = T.unpack code extractCode _ = "" dropPercent :: String -> String dropPercent ('%':xs) = dropWhile (== ' ') xs dropPercent xs = xs runCommandTest :: FilePath -> Int -> String -> TestTree runCommandTest pandocpath num code = let codelines = lines code (continuations, r1) = span ("\\" `isSuffixOf`) codelines (cmd, r2) = (dropPercent (unwords (map init continuations ++ take 1 r1)), drop 1 r1) (inplines, r3) = break (=="^D") r2 normlines = takeWhile (/=".") (drop 1 r3) input = unlines inplines norm = unlines normlines shcmd = cmd -- trimr $ takeDirectory pandocpath </> cmd in runTest ("#" ++ show num) pandocpath shcmd input norm extractCommandTest :: FilePath -> FilePath -> TestTree extractCommandTest pandocpath fp = unsafePerformIO $ do contents <- UTF8.toText <$> BS.readFile ("command" </> fp) Pandoc _ blocks <- runIOorExplode (readMarkdown def{ readerExtensions = pandocExtensions } contents) let codeblocks = map extractCode $ filter isCodeBlock blocks let cases = zipWith (runCommandTest pandocpath) [1..] codeblocks return $ testGroup fp cases ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Helpers.hs����������������������������������������������������������������0000664�0000000�0000000�00000012226�13636304630�0017155�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE CPP #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeSynonymInstances #-} {- | Module : Tests.Helpers Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley@edu> Stability : alpha Portability : portable Utility functions for the test suite. -} module Tests.Helpers ( test , TestResult(..) , showDiff , findPandoc , (=?>) , purely , ToString(..) , ToPandoc(..) ) where import Prelude import Data.Algorithm.Diff import qualified Data.Map as M import Data.Text (Text, unpack) import System.Directory import System.Environment.Executable (getExecutablePath) import System.Exit import System.FilePath import Test.Tasty import Test.Tasty.HUnit import Text.Pandoc.Builder (Blocks, Inlines, doc, plain) import Text.Pandoc.Class import Text.Pandoc.Definition import Text.Pandoc.Options import Text.Pandoc.Shared (trimr) import Text.Pandoc.Writers.Native (writeNative) import Text.Printf test :: (ToString a, ToString b, ToString c) => (a -> b) -- ^ function to test -> String -- ^ name of test case -> (a, c) -- ^ (input, expected value) -> TestTree test fn name (input, expected) = testCase name' $ assertBool msg (actual' == expected') where msg = nl ++ dashes "input" ++ nl ++ input' ++ nl ++ dashes "result" ++ nl ++ unlines (map vividize diff) ++ dashes "" nl = "\n" name' = if length name > 54 then take 52 name ++ "..." -- avoid wide output else name input' = toString input actual' = lines $ toString $ fn input expected' = lines $ toString expected diff = getDiff expected' actual' dashes "" = replicate 72 '-' dashes x = replicate (72 - length x - 5) '-' ++ " " ++ x ++ " ---" data TestResult = TestPassed | TestError ExitCode | TestFailed String FilePath [Diff String] deriving (Eq) instance Show TestResult where show TestPassed = "PASSED" show (TestError ec) = "ERROR " ++ show ec show (TestFailed cmd file d) = '\n' : dash ++ "\n--- " ++ file ++ "\n+++ " ++ cmd ++ "\n" ++ showDiff (1,1) d ++ dash where dash = replicate 72 '-' showDiff :: (Int,Int) -> [Diff String] -> String showDiff _ [] = "" showDiff (l,r) (First ln : ds) = printf "+%4d " l ++ ln ++ "\n" ++ showDiff (l+1,r) ds showDiff (l,r) (Second ln : ds) = printf "-%4d " r ++ ln ++ "\n" ++ showDiff (l,r+1) ds showDiff (l,r) (Both _ _ : ds) = showDiff (l+1,r+1) ds -- | Find pandoc executable relative to test-pandoc findPandoc :: IO FilePath findPandoc = do testExePath <- getExecutablePath let pandocDir = case reverse (splitDirectories (takeDirectory testExePath)) of -- cabalv2 with --disable-optimization "test-pandoc" : "build" : "noopt" : "test-pandoc" : "t" : ps -> joinPath (reverse ps) </> "x" </> "pandoc" </> "noopt" </> "build" </> "pandoc" -- cabalv2 without --disable-optimization "test-pandoc" : "build" : "test-pandoc" : "t" : ps -> joinPath (reverse ps) </> "x" </> "pandoc" </> "build" </> "pandoc" -- cabalv1 "test-pandoc" : "build" : ps -> joinPath (reverse ps) </> "build" </> "pandoc" _ -> error $ "findPandoc: could not find pandoc executable" let pandocPath = pandocDir </> "pandoc" #ifdef _WINDOWS <.> "exe" #endif found <- doesFileExist pandocPath if found then return pandocPath else error $ "findPandoc: could not find pandoc executable at " ++ pandocPath vividize :: Diff String -> String vividize (Both s _) = " " ++ s vividize (First s) = "- " ++ s vividize (Second s) = "+ " ++ s purely :: (b -> PandocPure a) -> b -> a purely f = either (error . show) id . runPure . f infix 5 =?> (=?>) :: a -> b -> (a,b) x =?> y = (x, y) class ToString a where toString :: a -> String instance ToString Pandoc where toString d = unpack $ purely (writeNative def{ writerTemplate = s }) $ toPandoc d where s = case d of (Pandoc (Meta m) _) | M.null m -> Nothing | otherwise -> Just mempty -- need this to get meta output instance ToString Blocks where toString = unpack . purely (writeNative def) . toPandoc instance ToString Inlines where toString = unpack . trimr . purely (writeNative def) . toPandoc instance ToString String where toString = id instance ToString Text where toString = unpack class ToPandoc a where toPandoc :: a -> Pandoc instance ToPandoc Pandoc where toPandoc = id instance ToPandoc Blocks where toPandoc = doc instance ToPandoc Inlines where toPandoc = doc . plain ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Lua.hs��������������������������������������������������������������������0000664�0000000�0000000�00000022053�13636304630�0016273�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Lua Copyright : © 2017-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel <albert@zeitkraut.de> Stability : alpha Portability : portable Unit and integration tests for pandoc's Lua subsystem. -} module Tests.Lua ( runLuaTest, tests ) where import Prelude import Control.Monad (when) import System.FilePath ((</>)) import Test.Tasty (TestTree, localOption) import Test.Tasty.HUnit (Assertion, assertEqual, testCase) import Test.Tasty.QuickCheck (QuickCheckTests (..), ioProperty, testProperty) import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder (bulletList, definitionList, displayMath, divWith, doc, doubleQuoted, emph, header, lineBlock, linebreak, math, orderedList, para, plain, rawBlock, singleQuoted, space, str, strong, HasMeta (setMeta)) import Text.Pandoc.Class (runIOorExplode, setUserDataDir) import Text.Pandoc.Definition (Block (BlockQuote, Div, Para), Inline (Emph, Str), Attr, Meta, Pandoc, pandocTypesVersion) import Text.Pandoc.Filter (Filter (LuaFilter), applyFilters) import Text.Pandoc.Lua (runLua) import Text.Pandoc.Options (def) import Text.Pandoc.Shared (pandocVersion) import qualified Foreign.Lua as Lua import qualified Data.Text as T import qualified Data.Text.Encoding as TE tests :: [TestTree] tests = map (localOption (QuickCheckTests 20)) [ testProperty "inline elements can be round-tripped through the lua stack" $ \x -> ioProperty (roundtripEqual (x::Inline)) , testProperty "block elements can be round-tripped through the lua stack" $ \x -> ioProperty (roundtripEqual (x::Block)) , testProperty "meta blocks can be round-tripped through the lua stack" $ \x -> ioProperty (roundtripEqual (x::Meta)) , testProperty "documents can be round-tripped through the lua stack" $ \x -> ioProperty (roundtripEqual (x::Pandoc)) , testCase "macro expansion via filter" $ assertFilterConversion "a '{{helloworld}}' string is expanded" "strmacro.lua" (doc . para $ str "{{helloworld}}") (doc . para . emph $ str "Hello, World") , testCase "convert all plains to paras" $ assertFilterConversion "plains become para" "plain-to-para.lua" (doc $ bulletList [plain (str "alfa"), plain (str "bravo")]) (doc $ bulletList [para (str "alfa"), para (str "bravo")]) , testCase "convert display math to inline math" $ assertFilterConversion "display math becomes inline math" "math.lua" (doc $ para (displayMath "5+5")) (doc $ para (math "5+5")) , testCase "make hello world document" $ assertFilterConversion "Document contains 'Hello, World!'" "hello-world-doc.lua" (doc . para $ str "Hey!" <> linebreak <> str "What's up?") (doc . para $ str "Hello," <> space <> str "World!") , testCase "implicit doc filter" $ assertFilterConversion "Document contains 'Hello, World!'" "implicit-doc-filter.lua" (doc . plain $ linebreak) (doc . para $ str "Hello," <> space <> str "World!") , testCase "parse raw markdown blocks" $ assertFilterConversion "raw markdown block is converted" "markdown-reader.lua" (doc $ rawBlock "markdown" "*charly* **delta**") (doc . para $ emph "charly" <> space <> strong "delta") , testCase "allow shorthand functions for quote types" $ assertFilterConversion "single quoted becomes double quoted string" "single-to-double-quoted.lua" (doc . para . singleQuoted $ str "simple") (doc . para . doubleQuoted $ str "simple") , testCase "Count inlines via metatable catch-all" $ assertFilterConversion "filtering with metatable catch-all failed" "metatable-catch-all.lua" (doc . para $ "four words, three spaces") (doc . para $ str "7") , testCase "Count blocks via Block-specific catch-all" $ assertFilterConversion "filtering with Block catch-all failed" "block-count.lua" (doc $ para "one" <> para "two") (doc $ para "2") , testCase "Smart constructors" $ assertFilterConversion "smart constructors returned a wrong result" "smart-constructors.lua" (doc $ para "") (doc $ mconcat [ bulletList [para "Hello", para "World"] , definitionList [("foo", [para "placeholder"])] , lineBlock ["Moin", "Welt"] , orderedList [plain "one", plain "two"] ]) , testCase "Convert header upper case" $ assertFilterConversion "converting header to upper case failed" "uppercase-header.lua" (doc $ header 1 "les états-unis" <> para "text") (doc $ header 1 "LES ÉTATS-UNIS" <> para "text") , testCase "Attribute lists are convenient to use" $ let kv_before = [("one", "1"), ("two", "2"), ("three", "3")] kv_after = [("one", "eins"), ("three", "3"), ("five", "5")] in assertFilterConversion "Attr doesn't behave as expected" "attr-test.lua" (doc $ divWith ("", [], kv_before) (para "nil")) (doc $ divWith ("", [], kv_after) (para "nil")) , testCase "Filter list of inlines" $ assertFilterConversion "List of inlines" "inlines-filter.lua" (doc $ para ("Hello," <> linebreak <> "World! Wassup?")) (doc $ para "Hello, World! Wassup?") , testCase "Filter list of blocks" $ assertFilterConversion "List of blocks" "blocks-filter.lua" (doc $ para "one." <> para "two." <> para "three.") (doc $ plain "3") , testCase "Filter Meta" $ let setMetaBefore = setMeta "old" ("old" :: T.Text) . setMeta "bool" False setMetaAfter = setMeta "new" ("new" :: T.Text) . setMeta "bool" True in assertFilterConversion "Meta filtering" "meta.lua" (setMetaBefore . doc $ mempty) (setMetaAfter . doc $ mempty) , testCase "Script filename is set" $ assertFilterConversion "unexpected script name" "script-name.lua" (doc $ para "ignored") (doc $ para (str $ T.pack $ "lua" </> "script-name.lua")) , testCase "Pandoc version is set" . runLuaTest $ do Lua.getglobal "PANDOC_VERSION" Lua.liftIO . assertEqual "pandoc version is wrong" (TE.encodeUtf8 pandocVersion) =<< Lua.tostring' Lua.stackTop , testCase "Pandoc types version is set" . runLuaTest $ do Lua.getglobal "PANDOC_API_VERSION" Lua.liftIO . assertEqual "pandoc-types version is wrong" pandocTypesVersion =<< Lua.peek Lua.stackTop , testCase "Allow singleton inline in constructors" . runLuaTest $ do Lua.liftIO . assertEqual "Not the exptected Emph" (Emph [Str "test"]) =<< Lua.callFunc "pandoc.Emph" (Str "test") Lua.liftIO . assertEqual "Unexpected element" (Para [Str "test"]) =<< Lua.callFunc "pandoc.Para" ("test" :: String) Lua.liftIO . assertEqual "Unexptected element" (BlockQuote [Para [Str "foo"]]) =<< ( do Lua.getglobal' "pandoc.BlockQuote" Lua.push (Para [Str "foo"]) _ <- Lua.call 1 1 Lua.peek Lua.stackTop ) , testCase "Elements with Attr have `attr` accessor" . runLuaTest $ do Lua.push (Div ("hi", ["moin"], []) [Para [Str "ignored"]]) Lua.getfield Lua.stackTop "attr" Lua.liftIO . assertEqual "no accessor" (("hi", ["moin"], []) :: Attr) =<< Lua.peek Lua.stackTop , testCase "module `pandoc.system` is present" . runLuaTest $ do Lua.getglobal' "pandoc.system" ty <- Lua.ltype Lua.stackTop Lua.liftIO $ assertEqual "module should be a table" Lua.TypeTable ty , testCase "informative error messages" . runLuaTest $ do Lua.pushboolean True err <- Lua.peekEither Lua.stackTop case (err :: Either String Pandoc) of Left msg -> do let expectedMsg = "Could not get Pandoc value: " <> "table expected, got boolean" Lua.liftIO $ assertEqual "unexpected error message" expectedMsg msg Right _ -> error "Getting a Pandoc element from a bool should fail." ] assertFilterConversion :: String -> FilePath -> Pandoc -> Pandoc -> Assertion assertFilterConversion msg filterPath docIn expectedDoc = do actualDoc <- runIOorExplode $ do setUserDataDir (Just "../data") applyFilters def [LuaFilter ("lua" </> filterPath)] ["HTML"] docIn assertEqual msg expectedDoc actualDoc roundtripEqual :: (Eq a, Lua.Peekable a, Lua.Pushable a) => a -> IO Bool roundtripEqual x = (x ==) <$> roundtripped where roundtripped :: Lua.Peekable a => IO a roundtripped = runLuaTest $ do oldSize <- Lua.gettop Lua.push x size <- Lua.gettop when (size - oldSize /= 1) $ error ("not exactly one additional element on the stack: " ++ show size) res <- Lua.peekEither (-1) case res of Left e -> error (show e) Right y -> return y runLuaTest :: Lua.Lua a -> IO a runLuaTest op = runIOorExplode $ do setUserDataDir (Just "../data") res <- runLua op case res of Left e -> error (show e) Right x -> return x �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Lua/����������������������������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0015735�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Lua/Module.hs�������������������������������������������������������������0000664�0000000�0000000�00000001755�13636304630�0017526�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{- | Module : Tests.Lua.Module Copyright : © 2019-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel <albert@zeitkraut.de> Stability : alpha Portability : portable Lua module tests -} module Tests.Lua.Module (tests) where import System.FilePath ((</>)) import Test.Tasty (TestName, TestTree) import Test.Tasty.Lua (testLuaFile) import Tests.Lua (runLuaTest) tests :: [TestTree] tests = [ testPandocLua "pandoc" ("lua" </> "module" </> "pandoc.lua") , testPandocLua "pandoc.List" ("lua" </> "module" </> "pandoc-list.lua") , testPandocLua "pandoc.mediabag" ("lua" </> "module" </> "pandoc-mediabag.lua") , testPandocLua "pandoc.types" ("lua" </> "module" </> "pandoc-types.lua") , testPandocLua "pandoc.util" ("lua" </> "module" </> "pandoc-utils.lua") ] testPandocLua :: TestName -> FilePath -> TestTree testPandocLua = testLuaFile runLuaTest �������������������pandoc-2.9.2.1/test/Tests/Old.hs��������������������������������������������������������������������0000664�0000000�0000000�00000032624�13636304630�0016275�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {- | Module : Tests.Old Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley@edu> Stability : alpha Portability : portable "Old" style tests (comparing output to golden files). -} module Tests.Old (tests) where import Prelude import Data.Algorithm.Diff import Prelude hiding (readFile) import System.Exit import System.FilePath (joinPath, splitDirectories, (<.>), (</>)) import Text.Pandoc.Process (pipeProcess) import Test.Tasty (TestTree, testGroup) import Test.Tasty.Golden.Advanced (goldenTest) import Tests.Helpers hiding (test) import qualified Text.Pandoc.UTF8 as UTF8 tests :: FilePath -> [TestTree] tests pandocPath = [ testGroup "markdown" [ testGroup "writer" $ writerTests' "markdown" ++ lhsWriterTests' "markdown" , testGroup "reader" [ test' "basic" ["-r", "markdown", "-w", "native", "-s"] "testsuite.txt" "testsuite.native" , test' "tables" ["-r", "markdown", "-w", "native", "--columns=80"] "tables.txt" "tables.native" , test' "pipe tables" ["-r", "markdown", "-w", "native", "--columns=80"] "pipe-tables.txt" "pipe-tables.native" , test' "more" ["-r", "markdown", "-w", "native", "-s"] "markdown-reader-more.txt" "markdown-reader-more.native" , lhsReaderTest' "markdown+lhs" ] , testGroup "citations" [ test' "citations" ["-r", "markdown", "-w", "native"] "markdown-citations.txt" "markdown-citations.native" ] ] , testGroup "rst" [ testGroup "writer" (writerTests' "rst" ++ lhsWriterTests' "rst") , testGroup "reader" [ test' "basic" ["-r", "rst+smart", "-w", "native", "-s", "--columns=80"] "rst-reader.rst" "rst-reader.native" , test' "tables" ["-r", "rst", "-w", "native", "--columns=80"] "tables.rst" "tables-rstsubset.native" , lhsReaderTest' "rst+lhs" ] ] , testGroup "latex" [ testGroup "writer" (writerTests' "latex" ++ lhsWriterTests' "latex") , testGroup "reader" [ test' "basic" ["-r", "latex+raw_tex", "-w", "native", "-s"] "latex-reader.latex" "latex-reader.native" , lhsReaderTest' "latex+lhs" ] ] , testGroup "html" [ testGroup "writer" (writerTests' "html4" ++ writerTests' "html5" ++ lhsWriterTests' "html") , test' "reader" ["-r", "html", "-w", "native", "-s"] "html-reader.html" "html-reader.native" ] , testGroup "s5" [ s5WriterTest' "basic" ["-s"] "s5" , s5WriterTest' "fancy" ["-s","--mathjax","-i"] "s5" , s5WriterTest' "fragment" [] "html4" , s5WriterTest' "inserts" ["-s", "-H", "insert", "-B", "insert", "-A", "insert", "-c", "main.css"] "html4" ] , testGroup "textile" [ testGroup "writer" $ writerTests' "textile" , test' "reader" ["-r", "textile", "-w", "native", "-s"] "textile-reader.textile" "textile-reader.native" ] , testGroup "docbook" [ testGroup "writer" $ writerTests' "docbook4" , test' "reader" ["-r", "docbook", "-w", "native", "-s"] "docbook-reader.docbook" "docbook-reader.native" , test' "reader" ["-r", "docbook", "-w", "native", "-s"] "docbook-chapter.docbook" "docbook-chapter.native" , test' "reader" ["-r", "docbook", "-w", "native", "-s"] "docbook-xref.docbook" "docbook-xref.native" ] , testGroup "docbook5" [ testGroup "writer" $ writerTests' "docbook5" ] , testGroup "jats" [ testGroup "writer" [ testGroup "jats_archiving" $ writerTests' "jats_archiving" , testGroup "jats_articleauthoring" $ writerTests' "jats_articleauthoring" , testGroup "jats_publishing" $ writerTests' "jats_publishing" ] , test' "reader" ["-r", "jats", "-w", "native", "-s"] "jats-reader.xml" "jats-reader.native" ] , testGroup "jira" [ testGroup "writer" $ writerTests' "jira" , test' "reader" ["-r", "jira", "-w", "native", "-s"] "jira-reader.jira" "jira-reader.native" ] , testGroup "native" [ testGroup "writer" $ writerTests' "native" , test' "reader" ["-r", "native", "-w", "native", "-s"] "testsuite.native" "testsuite.native" ] , testGroup "fb2" [ fb2WriterTest' "basic" [] "fb2/basic.markdown" "fb2/basic.fb2" , fb2WriterTest' "titles" [] "fb2/titles.markdown" "fb2/titles.fb2" , fb2WriterTest' "images" [] "fb2/images.markdown" "fb2/images.fb2" , fb2WriterTest' "images-embedded" [] "fb2/images-embedded.html" "fb2/images-embedded.fb2" , fb2WriterTest' "math" [] "fb2/math.markdown" "fb2/math.fb2" , fb2WriterTest' "meta" [] "fb2/meta.markdown" "fb2/meta.fb2" , fb2WriterTest' "tables" [] "tables.native" "tables.fb2" , fb2WriterTest' "testsuite" [] "testsuite.native" "writer.fb2" ] , testGroup "mediawiki" [ testGroup "writer" $ writerTests' "mediawiki" , test' "reader" ["-r", "mediawiki", "-w", "native", "-s"] "mediawiki-reader.wiki" "mediawiki-reader.native" ] , testGroup "vimwiki" [ test' "reader" ["-r", "vimwiki", "-w", "native", "-s"] "vimwiki-reader.wiki" "vimwiki-reader.native" ] , testGroup "dokuwiki" [ testGroup "writer" $ writerTests' "dokuwiki" , test' "inline_formatting" ["-r", "native", "-w", "dokuwiki", "-s"] "dokuwiki_inline_formatting.native" "dokuwiki_inline_formatting.dokuwiki" , test' "multiblock table" ["-r", "native", "-w", "dokuwiki", "-s"] "dokuwiki_multiblock_table.native" "dokuwiki_multiblock_table.dokuwiki" , test' "external images" ["-r", "native", "-w", "dokuwiki", "-s"] "dokuwiki_external_images.native" "dokuwiki_external_images.dokuwiki" ] , testGroup "opml" [ test' "basic" ["-r", "native", "-w", "opml", "--columns=78", "-s"] "testsuite.native" "writer.opml" , test' "reader" ["-r", "opml", "-w", "native", "-s"] "opml-reader.opml" "opml-reader.native" ] , testGroup "haddock" [ testGroup "writer" $ writerTests' "haddock" , test' "reader" ["-r", "haddock", "-w", "native", "-s"] "haddock-reader.haddock" "haddock-reader.native" ] , testGroup "txt2tags" [ test' "reader" ["-r", "t2t", "-w", "native", "-s"] "txt2tags.t2t" "txt2tags.native" ] , testGroup "epub" [ test' "features" ["-r", "epub", "-w", "native"] "epub/features.epub" "epub/features.native" , test' "wasteland" ["-r", "epub", "-w", "native"] "epub/wasteland.epub" "epub/wasteland.native" , test' "formatting" ["-r", "epub", "-w", "native"] "epub/formatting.epub" "epub/formatting.native" ] , testGroup "twiki" [ test' "reader" ["-r", "twiki", "-w", "native", "-s"] "twiki-reader.twiki" "twiki-reader.native" ] , testGroup "tikiwiki" [ test' "reader" ["-r", "tikiwiki", "-w", "native", "-s"] "tikiwiki-reader.tikiwiki" "tikiwiki-reader.native" ] , testGroup "other writers" $ map (\f -> testGroup f $ writerTests' f) [ "opendocument" , "context" , "texinfo", "icml", "tei" , "man" , "plain" , "rtf", "org", "asciidoc", "asciidoctor" , "xwiki", "zimwiki" ] , testGroup "writers-lang-and-dir" [ test' "latex" ["-f", "native", "-t", "latex", "-s"] "writers-lang-and-dir.native" "writers-lang-and-dir.latex" , test' "context" ["-f", "native", "-t", "context", "-s"] "writers-lang-and-dir.native" "writers-lang-and-dir.context" ] , testGroup "muse" [ testGroup "writer" $ writerTests' "muse" ] , testGroup "ms" [ testGroup "writer" $ writerTests' "ms" ] , testGroup "creole" [ test' "reader" ["-r", "creole", "-w", "native", "-s"] "creole-reader.txt" "creole-reader.native" ] , testGroup "custom writer" [ test' "basic" ["-f", "native", "-t", "../data/sample.lua"] "testsuite.native" "writer.custom" , test' "tables" ["-f", "native", "-t", "../data/sample.lua"] "tables.native" "tables.custom" ] , testGroup "man" [ test' "reader" ["-r", "man", "-w", "native", "-s"] "man-reader.man" "man-reader.native" ] , testGroup "org" [ test' "reader" ["-r", "org", "-w", "native", "-s"] "org-select-tags.org" "org-select-tags.native" ] , testGroup "ipynb" [ test' "reader" ["-f", "ipynb-raw_html-raw_tex+raw_attribute", "-t", "native", "-s"] "ipynb/simple.ipynb" "ipynb/simple.out.native" , test' "writer" ["-f", "native", "-t", "ipynb-raw_html-raw_tex+raw_attribute", "-s"] "ipynb/simple.in.native" "ipynb/simple.ipynb" ] ] where test' = test pandocPath writerTests' = writerTests pandocPath s5WriterTest' = s5WriterTest pandocPath fb2WriterTest' = fb2WriterTest pandocPath lhsWriterTests' = lhsWriterTests pandocPath lhsReaderTest' = lhsReaderTest pandocPath -- makes sure file is fully closed after reading readFile' :: FilePath -> IO String readFile' f = do s <- UTF8.readFile f return $! (length s `seq` s) lhsWriterTests :: FilePath -> String -> [TestTree] lhsWriterTests pandocPath format = [ t "lhs to normal" format , t "lhs to lhs" (format ++ "+lhs") ] where t n f = test pandocPath n ["--wrap=preserve", "-r", "native", "-s", "-w", f] "lhs-test.native" ("lhs-test" <.> f) lhsReaderTest :: FilePath -> String -> TestTree lhsReaderTest pandocPath format = test pandocPath "lhs" ["-r", format, "-w", "native"] ("lhs-test" <.> format) norm where norm = if format == "markdown+lhs" then "lhs-test-markdown.native" else "lhs-test.native" writerTests :: FilePath -> String -> [TestTree] writerTests pandocPath format = [ test pandocPath "basic" (opts ++ ["-s"]) "testsuite.native" ("writer" <.> format) , test pandocPath "tables" opts "tables.native" ("tables" <.> format) ] where opts = ["-r", "native", "-w", format, "--columns=78", "--variable", "pandoc-version="] s5WriterTest :: FilePath -> String -> [String] -> String -> TestTree s5WriterTest pandocPath modifier opts format = test pandocPath (format ++ " writer (" ++ modifier ++ ")") (["-r", "native", "-w", format] ++ opts) "s5.native" ("s5-" ++ modifier <.> "html") fb2WriterTest :: FilePath -> String -> [String] -> String -> String -> TestTree fb2WriterTest pandocPath title opts inputfile normfile = testWithNormalize (ignoreBinary . formatXML) pandocPath title (["-t", "fb2"]++opts) inputfile normfile where formatXML xml = splitTags $ zip xml (drop 1 xml) splitTags [] = [] splitTags [end] = fst end : snd end : [] splitTags (('>','<'):rest) = ">\n" ++ splitTags rest splitTags ((c,_):rest) = c : splitTags rest ignoreBinary = unlines . filter (not . startsWith "<binary ") . lines startsWith tag str = all (uncurry (==)) $ zip tag str -- | Run a test without normalize function, return True if test passed. test :: FilePath -- ^ Path of pandoc executable -> String -- ^ Title of test -> [String] -- ^ Options to pass to pandoc -> String -- ^ Input filepath -> FilePath -- ^ Norm (for test results) filepath -> TestTree test = testWithNormalize id -- | Run a test with normalize function, return True if test passed. testWithNormalize :: (String -> String) -- ^ Normalize function for output -> FilePath -- ^ Path to pandoc executable -> String -- ^ Title of test -> [String] -- ^ Options to pass to pandoc -> String -- ^ Input filepath -> FilePath -- ^ Norm (for test results) filepath -> TestTree testWithNormalize normalizer pandocPath testname opts inp norm = goldenTest testname getExpected getActual (compareValues norm options) updateGolden where getExpected = normalizer <$> readFile' norm getActual = do let mbDynlibDir = findDynlibDir (reverse $ splitDirectories pandocPath) let dynlibEnv = case mbDynlibDir of Nothing -> [] Just d -> [("DYLD_LIBRARY_PATH", d), ("LD_LIBRARY_PATH", d)] let env = dynlibEnv ++ [("TMP","."),("LANG","en_US.UTF-8"),("HOME", "./")] (ec, out) <- pipeProcess (Just env) pandocPath options mempty if ec == ExitSuccess then return $ filter (/='\r') . normalizer $ UTF8.toStringLazy out -- filter \r so the tests will work on Windows machines else fail $ "Pandoc failed with error code " ++ show ec updateGolden = UTF8.writeFile norm options = ["--data-dir=../data","--quiet"] ++ [inp] ++ opts compareValues :: FilePath -> [String] -> String -> String -> IO (Maybe String) compareValues norm options expected actual = do pandocPath <- findPandoc let cmd = pandocPath ++ " " ++ unwords options let dash = replicate 72 '-' let diff = getDiff (lines actual) (lines expected) if expected == actual then return Nothing else return $ Just $ '\n' : dash ++ "\n--- " ++ norm ++ "\n+++ " ++ cmd ++ "\n" ++ showDiff (1,1) diff ++ dash findDynlibDir :: [FilePath] -> Maybe FilePath findDynlibDir [] = Nothing findDynlibDir ("build":xs) = Just $ joinPath (reverse xs) </> "build" findDynlibDir (_:xs) = findDynlibDir xs ������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Readers/������������������������������������������������������������������0000775�0000000�0000000�00000000000�13636304630�0016601�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Readers/Creole.hs���������������������������������������������������������0000664�0000000�0000000�00000033154�13636304630�0020354�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Creole Copyright : © 2017 Sascha Wilde 2017-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : Sascha Wilde <wilde@sha-bang.de> Stability : alpha Portability : portable Tests for the creole reader. -} module Tests.Readers.Creole (tests) where import Prelude import Data.Text (Text) import qualified Data.Text as T import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder creole :: Text -> Pandoc creole = purely $ readCreole def{ readerStandalone = True } infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test creole tests :: [TestTree] tests = [ testGroup "Basic Text Formatting" [ "bold, single line, fully delimited" =: "only **bold** is bold" =?> para ("only " <> strong "bold" <> " is bold") , "italics, single line, fully delimited" =: "only //this// is in italics" =?> para ("only " <> emph "this" <> " is in italics") , "bold in italics, fully delimited" =: "//**this**// is in bold italics" =?> para (emph (strong "this") <> " is in bold italics") , "italics in bold, fully delimited" =: "**//this//** is in bold italics" =?> para (strong (emph "this") <> " is in bold italics") , "escape bold marker" =: "~**not bold" =?> para "**not bold" , "escape italics marker" =: "~//not in italics" =?> para "//not in italics" , "inline nowiki, simple" =: "this is {{{**not** ~interpreted}}} at all" =?> para ("this is " <> code "**not** ~interpreted" <> " at all") , "inline nowiki, curly braces inside" =: "this is {{{{{{//including// some `}' chars}}}}}}" =?> para ("this is " <> code "{{{//including// some `}' chars}}}") , "placeholder" =: "foo <<<place holder>>> bar" =?> para "foo bar" , "placeholder escaped" =: "foo ~<<<no place holder>>> bar" =?> para "foo <<<no place holder>>> bar" ] , testGroup "Headers" [ "header level 1, no space, no trailing =" =: "= Top-Level Header" =?> header 1 (str "Top-Level Header") , "header level 1, leading space, trailing =" =: " = Top-Level Header = " =?> header 1 (str "Top-Level Header") , "header level 2, no space, no trailing =" =: "== Second Level" =?> header 2 (str "Second Level") , "header level 2, leading space, no trailing =" =: " == Second Level" =?> header 2 (str "Second Level") , "header level 3, no space, no trailing =" =: "=== Third" =?> header 3 (str "Third") , "header level 3, no space, > 3 trailing =" =: "=== Third =======" =?> header 3 (str "Third") , "header level 4, no space, no trailing =" =: "==== Fourth Level Heading" =?> header 4 (str "Fourth Level Heading") , "header level 4, no space, < 4 trailing =" =: "==== Fourth Level Heading ==" =?> header 4 (str "Fourth Level Heading") , "header level 5, no space, no trailing =" =: "===== Fifth" =?> header 5 (str "Fifth") , "header level 6, no space, no trailing =" =: "====== Sixth" =?> header 6 (str "Sixth") ] , testGroup "Paragraphs" [ "paragraphs: multiple, one line" =: "first line\n\nanother line\n" =?> para "first line" <> para "another line" ] , testGroup "Lists" [ "unordered list, two entries, one separating space" =: "* foo\n* bar" =?> bulletList [ plain "foo", plain "bar" ] , "unordered list, three entries, one separating space" =: "* foo\n* bar\n* baz" =?> bulletList [ plain "foo", plain "bar", plain "baz" ] , "para followed by, unordered list, two entries, one separating space" =: "blubber\n* foo\n* bar" =?> para "blubber" <> bulletList [ plain "foo", plain "bar" ] , "nested unordered list, one separating space" =: "* foo\n** bar\n** baz\n* blubb" =?> bulletList [ plain "foo" <> bulletList [ plain "bar", plain "baz" ] , plain "blubb" ] , "nested many unordered lists, one separating space" =: ("* foo\n** bar\n*** third\n*** third two\n** baz\n*** third again\n" <> "**** fourth\n***** fith\n* blubb") =?> bulletList [ plain "foo" <> bulletList [ plain "bar" <> bulletList [ plain "third" , plain "third two"] , plain "baz" <> bulletList [ plain "third again" <> bulletList [ plain "fourth" <> bulletList [ plain "fith" ] ] ] ] , plain "blubb" ] , "nested unordered list, mixed separating space" =: "*foo\n ** bar\n **baz\n * blubb" =?> bulletList [ plain "foo" <> bulletList [ plain "bar", plain "baz" ] , plain "blubb" ] , "nested unordered list, one separating space, trailing space" =: "* foo \n** bar \n** baz \n* blubb " =?> bulletList [ plain "foo" <> bulletList [ plain "bar", plain "baz" ] , plain "blubb" ] , "ordered list, two entries, one separating space" =: "# foo\n# bar" =?> orderedList [ plain "foo", plain "bar" ] , "ordered list, three entries, one separating space" =: "# foo\n# bar\n# baz" =?> orderedList [ plain "foo", plain "bar", plain "baz" ] , "para followed by, ordered list, two entries, one separating space" =: "blubber\n# foo\n# bar" =?> para "blubber" <> orderedList [ plain "foo", plain "bar" ] , "nested ordered list, one separating space" =: "# foo\n## bar\n## baz\n# blubb" =?> orderedList [ plain "foo" <> orderedList [ plain "bar", plain "baz" ] , plain "blubb" ] , "nested ordered list, one separating space, trailing space" =: "# foo \n## bar \n## baz \n# blubb " =?> orderedList [ plain "foo" <> orderedList [ plain "bar", plain "baz" ] , plain "blubb" ] , "nested many ordered lists, one separating space" =: ("# foo\n## bar\n### third\n### third two\n## baz\n### third again\n" <> "#### fourth\n##### fith\n# blubb") =?> orderedList [ plain "foo" <> orderedList [ plain "bar" <> orderedList [ plain "third" , plain "third two"] , plain "baz" <> orderedList [ plain "third again" <> orderedList [ plain "fourth" <> orderedList [ plain "fith" ] ] ] ] , plain "blubb" ] , "nested ordered list, mixed separating space" =: "#foo\n ## bar\n ##baz\n # blubb" =?> orderedList [ plain "foo" <> orderedList [ plain "bar", plain "baz" ] , plain "blubb" ] , "mixed nested ordered and unordered lists, one separating space" =: ("# foo\n** bar\n### third\n### third two\n** baz\n### third again\n" <> "#### fourth\n***** fith\n# blubb") =?> orderedList [ plain "foo" <> bulletList [ plain "bar" <> orderedList [ plain "third" , plain "third two"] , plain "baz" <> orderedList [ plain "third again" <> orderedList [ plain "fourth" <> bulletList [ plain "fith" ] ] ] ] , plain "blubb" ] ] , testGroup "NoWiki" [ "quoted block, simple" =: "{{{\nfoo bar\n //baz//\n}}}" =?> codeBlock "foo bar\n //baz//" , "quoted block, curly bracket exception" =: "{{{\nfoo bar\n }}}\nbaz\n }}}\n}}}" =?> codeBlock "foo bar\n }}}\nbaz\n}}}" , "forced line breaks" =: "{{{no break!\\\\here}}} but a break\\\\here!" =?> para (code "no break!\\\\here" <> " but a break" <> linebreak <> "here!"), "quoted block, after trailing white space" =: "this is a paragraph \n{{{\nfoo bar\n //baz//\n}}}" =?> para "this is a paragraph" <> codeBlock "foo bar\n //baz//" ] , testGroup "Images and Links" [ "image simple" =: "{{foo.png}}" =?> para (image "foo.png" "" (str "")) , "image with alt text" =: "Image of a bar: {{/path/to/bar.png|A Bar}} look at it!" =?> para ("Image of a bar: " <> image "/path/to/bar.png" "" (str "A Bar") <> " look at it!") , "auto link" =: "foo http://foo.example.com/bar/baz.html bar" =?> para ("foo " <> link "http://foo.example.com/bar/baz.html" "" (str "http://foo.example.com/bar/baz.html") <> " bar") , "escaped auto link" =: "foo ~http://foo.example.com/bar/baz.html bar" =?> para "foo http://foo.example.com/bar/baz.html bar" , "wiki link simple" =: "foo [[http://foo.example.com/foo.png]] bar" =?> para ("foo " <> link "http://foo.example.com/foo.png" "" (str "http://foo.example.com/foo.png") <> " bar") , "wiki link with name" =: "foo [[http://foo.example.com/foo.png|my link]] bar" =?> para ("foo " <> link "http://foo.example.com/foo.png" "" (str "my link") <> " bar") , "image link" =: "[[http://foo.example.com/|{{foo.png}}]]" =?> para (link "http://foo.example.com/" "" (image "foo.png" "" (str ""))) ] , testGroup "Table" [ "Table with Header" =: T.unlines [ "|= Foo |= Bar |= Baz |" , "| One | Two | Three |" , "| 1 | 2 | 3 |" , "| A | B | C |" ] =?> simpleTable [plain "Foo", plain "Bar" , plain "Baz"] [[plain "One", plain "Two" , plain "Three"] ,[plain "1", plain "2" , plain "3"] ,[plain "A", plain "B" , plain "C"]] , "Table without Header" =: T.unlines [ "| One | Two | Three |" , "| 1 | 2 | 3 |" , "| A | B | C |" ] =?> simpleTable [mempty] [[plain "One", plain "Two" , plain "Three"] ,[plain "1", plain "2" , plain "3"] ,[plain "A", plain "B" , plain "C"]] , "Table without Header, no markers at line ends" =: T.unlines [ "| One | Two | Three" , "| 1 | 2 | 3" , "| A | B | C " ] =?> simpleTable [mempty] [[plain "One", plain "Two" , plain "Three"] ,[plain "1", plain "2" , plain "3"] ,[plain "A", plain "B" , plain "C"]] , "Table with Header, with formatting" =: T.unlines [ "|= **Foo** |= **Bar** |= **Baz** |" , "|//one// element |//second// elt|Three |" , "| {{{1}}} | {{{{}}}} | [[link]] |" ] =?> simpleTable [plain $ strong "Foo", plain $ strong "Bar" , plain $ strong "Baz"] [[plain (emph "one" <> " element"), plain (emph "second" <> " elt") ,plain "Three"] ,[plain $ code "1", plain $ code "{}" ,plain $ link "link" "" (str "link")]] ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Readers/Docx.hs�����������������������������������������������������������0000664�0000000�0000000�00000042624�13636304630�0020042�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Docx Copyright : © 2017-2020 Jesse Rosenthal, John MacFarlane License : GNU GPL, version 2 or above Maintainer : Jesse Rosenthal <jrosenthal@jhu.edu> Stability : alpha Portability : portable Tests for the word docx reader. -} module Tests.Readers.Docx (tests) where import Prelude import Codec.Archive.Zip import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as B import qualified Data.Map as M import qualified Data.Text as T import Data.Maybe import System.IO.Unsafe import Test.Tasty import Test.Tasty.HUnit import Tests.Helpers import Text.Pandoc import qualified Text.Pandoc.Class as P import Text.Pandoc.MediaBag (MediaBag, lookupMedia, mediaDirectory) import Text.Pandoc.UTF8 as UTF8 -- We define a wrapper around pandoc that doesn't normalize in the -- tests. Since we do our own normalization, we want to make sure -- we're doing it right. data NoNormPandoc = NoNormPandoc {unNoNorm :: Pandoc} deriving Show noNorm :: Pandoc -> NoNormPandoc noNorm = NoNormPandoc defopts :: ReaderOptions defopts = def{ readerExtensions = getDefaultExtensions "docx" } instance ToString NoNormPandoc where toString d = T.unpack $ purely (writeNative def{ writerTemplate = s }) $ toPandoc d where s = case d of NoNormPandoc (Pandoc (Meta m) _) | M.null m -> Nothing | otherwise -> Just mempty -- need this to get meta output instance ToPandoc NoNormPandoc where toPandoc = unNoNorm compareOutput :: ReaderOptions -> FilePath -> FilePath -> IO (NoNormPandoc, NoNormPandoc) compareOutput opts docxFile nativeFile = do df <- B.readFile docxFile nf <- UTF8.toText <$> BS.readFile nativeFile p <- runIOorExplode $ readDocx opts df df' <- runIOorExplode $ readNative def nf return (noNorm p, noNorm df') testCompareWithOptsIO :: ReaderOptions -> String -> FilePath -> FilePath -> IO TestTree testCompareWithOptsIO opts name docxFile nativeFile = do (dp, np) <- compareOutput opts docxFile nativeFile return $ test id name (dp, np) testCompareWithOpts :: ReaderOptions -> String -> FilePath -> FilePath -> TestTree testCompareWithOpts opts name docxFile nativeFile = unsafePerformIO $ testCompareWithOptsIO opts name docxFile nativeFile testCompare :: String -> FilePath -> FilePath -> TestTree testCompare = testCompareWithOpts defopts testForWarningsWithOptsIO :: ReaderOptions -> String -> FilePath -> [String] -> IO TestTree testForWarningsWithOptsIO opts name docxFile expected = do df <- B.readFile docxFile logs <- runIOorExplode $ setVerbosity ERROR >> readDocx opts df >> P.getLog let warns = [m | DocxParserWarning m <- logs] return $ test id name (T.unlines warns, unlines expected) testForWarningsWithOpts :: ReaderOptions -> String -> FilePath -> [String] -> TestTree testForWarningsWithOpts opts name docxFile expected = unsafePerformIO $ testForWarningsWithOptsIO opts name docxFile expected -- testForWarnings :: String -> FilePath -> [String] -> TestTree -- testForWarnings = testForWarningsWithOpts defopts getMedia :: FilePath -> FilePath -> IO (Maybe B.ByteString) getMedia archivePath mediaPath = do zf <- toArchive <$> B.readFile archivePath return $ fromEntry <$> findEntryByPath ("word/" ++ mediaPath) zf compareMediaPathIO :: FilePath -> MediaBag -> FilePath -> IO Bool compareMediaPathIO mediaPath mediaBag docxPath = do docxMedia <- getMedia docxPath mediaPath let mbBS = case lookupMedia mediaPath mediaBag of Just (_, bs) -> bs Nothing -> error ("couldn't find " ++ mediaPath ++ " in media bag") docxBS = fromMaybe (error ("couldn't find " ++ mediaPath ++ " in media bag")) docxMedia return $ mbBS == docxBS compareMediaBagIO :: FilePath -> IO Bool compareMediaBagIO docxFile = do df <- B.readFile docxFile mb <- runIOorExplode $ readDocx defopts df >> P.getMediaBag bools <- mapM (\(fp, _, _) -> compareMediaPathIO fp mb docxFile) (mediaDirectory mb) return $ and bools testMediaBagIO :: String -> FilePath -> IO TestTree testMediaBagIO name docxFile = do outcome <- compareMediaBagIO docxFile return $ testCase name (assertBool ("Media didn't match media bag in file " ++ docxFile) outcome) testMediaBag :: String -> FilePath -> TestTree testMediaBag name docxFile = unsafePerformIO $ testMediaBagIO name docxFile tests :: [TestTree] tests = [ testGroup "document" [ testCompare "allow different document.xml file as defined in _rels/.rels" "docx/alternate_document_path.docx" "docx/alternate_document_path.native" ] , testGroup "inlines" [ testCompare "font formatting" "docx/inline_formatting.docx" "docx/inline_formatting.native" , testCompare "font formatting with character styles" "docx/char_styles.docx" "docx/char_styles.native" , testCompare "hyperlinks" "docx/links.docx" "docx/links.native" , testCompare "hyperlinks in <w:instrText> tag" "docx/instrText_hyperlink.docx" "docx/instrText_hyperlink.native" , testCompare "inline image" "docx/image.docx" "docx/image_no_embed.native" , testCompare "VML image" "docx/image_vml.docx" "docx/image_vml.native" , testCompare "inline image in links" "docx/inline_images.docx" "docx/inline_images.native" , testCompare "handling unicode input" "docx/unicode.docx" "docx/unicode.native" , testCompare "literal tabs" "docx/tabs.docx" "docx/tabs.native" , testCompare "special punctuation" "docx/special_punctuation.docx" "docx/special_punctuation.native" , testCompare "normalizing inlines" "docx/normalize.docx" "docx/normalize.native" , testCompare "normalizing inlines deep inside blocks" "docx/deep_normalize.docx" "docx/deep_normalize.native" , testCompare "move trailing spaces outside of formatting" "docx/trailing_spaces_in_formatting.docx" "docx/trailing_spaces_in_formatting.native" , testCompare "remove trailing spaces from last inline" "docx/trim_last_inline.docx" "docx/trim_last_inline.native" , testCompare "inline code (with VerbatimChar style)" "docx/inline_code.docx" "docx/inline_code.native" , testCompare "inline code in subscript and superscript" "docx/verbatim_subsuper.docx" "docx/verbatim_subsuper.native" , testCompare "inlines inside of Structured Document Tags" "docx/sdt_elements.docx" "docx/sdt_elements.native" , testCompare "Structured Document Tags in footnotes" "docx/sdt_in_footnote.docx" "docx/sdt_in_footnote.native" , testCompare "nested Structured Document Tags" "docx/nested_sdt.docx" "docx/nested_sdt.native" , testCompare "nested Smart Tags" "docx/nested_smart_tags.docx" "docx/nested_smart_tags.native" , testCompare "remove anchor spans with nothing pointing to them" "docx/unused_anchors.docx" "docx/unused_anchors.native" , testCompare "collapse overlapping targets (anchor spans)" "docx/overlapping_targets.docx" "docx/overlapping_targets.native" ] , testGroup "blocks" [ testCompare "headers" "docx/headers.docx" "docx/headers.native" , testCompare "headers already having auto identifiers" "docx/already_auto_ident.docx" "docx/already_auto_ident.native" , testCompare "avoid zero-level headers" "docx/0_level_headers.docx" "docx/0_level_headers.native" , testCompare "nested anchor spans in header" "docx/nested_anchors_in_header.docx" "docx/nested_anchors_in_header.native" , testCompare "single numbered item not made into list" "docx/numbered_header.docx" "docx/numbered_header.native" , testCompare "enumerated headers not made into numbered list" "docx/enumerated_headings.docx" "docx/enumerated_headings.native" , testCompare "i18n blocks (headers and blockquotes)" "docx/i18n_blocks.docx" "docx/i18n_blocks.native" , testCompare "lists" "docx/lists.docx" "docx/lists.native" , testCompare "compact lists" "docx/lists-compact.docx" "docx/lists-compact.native" , testCompare "lists with level overrides" "docx/lists_level_override.docx" "docx/lists_level_override.native" , testCompare "lists continuing after interruption" "docx/lists_continuing.docx" "docx/lists_continuing.native" , testCompare "lists restarting after interruption" "docx/lists_restarting.docx" "docx/lists_restarting.native" , testCompare "sublists reset numbering to 1" "docx/lists_sublist_reset.docx" "docx/lists_sublist_reset.native" , testCompare "definition lists" "docx/definition_list.docx" "docx/definition_list.native" , testCompare "custom defined lists in styles" "docx/german_styled_lists.docx" "docx/german_styled_lists.native" , testCompare "user deletes bullet after list item (=> part of item par)" "docx/dummy_item_after_list_item.docx" "docx/dummy_item_after_list_item.native" , testCompare "user deletes bullet after par (=> new par)" "docx/dummy_item_after_paragraph.docx" "docx/dummy_item_after_paragraph.native" , testCompare "footnotes and endnotes" "docx/notes.docx" "docx/notes.native" , testCompare "links in footnotes and endnotes" "docx/link_in_notes.docx" "docx/link_in_notes.native" , testCompare "blockquotes (parsing indent as blockquote)" "docx/block_quotes.docx" "docx/block_quotes_parse_indent.native" , testCompare "hanging indents" "docx/hanging_indent.docx" "docx/hanging_indent.native" , testCompare "tables" "docx/tables.docx" "docx/tables.native" , testCompare "tables with lists in cells" "docx/table_with_list_cell.docx" "docx/table_with_list_cell.native" , testCompare "tables with one row" "docx/table_one_row.docx" "docx/table_one_row.native" , testCompare "tables with variable width" "docx/table_variable_width.docx" "docx/table_variable_width.native" , testCompare "code block" "docx/codeblock.docx" "docx/codeblock.native" , testCompare "combine adjacent code blocks" "docx/adjacent_codeblocks.docx" "docx/adjacent_codeblocks.native" , testCompare "dropcap paragraphs" "docx/drop_cap.docx" "docx/drop_cap.native" ] , testGroup "track changes" [ testCompare "insertion (default)" "docx/track_changes_insertion.docx" "docx/track_changes_insertion_accept.native" , testCompareWithOpts def{readerTrackChanges=AcceptChanges} "insert insertion (accept)" "docx/track_changes_insertion.docx" "docx/track_changes_insertion_accept.native" , testCompareWithOpts def{readerTrackChanges=RejectChanges} "remove insertion (reject)" "docx/track_changes_insertion.docx" "docx/track_changes_insertion_reject.native" , testCompare "deletion (default)" "docx/track_changes_deletion.docx" "docx/track_changes_deletion_accept.native" , testCompareWithOpts def{readerTrackChanges=AcceptChanges} "remove deletion (accept)" "docx/track_changes_deletion.docx" "docx/track_changes_deletion_accept.native" , testCompareWithOpts def{readerTrackChanges=RejectChanges} "insert deletion (reject)" "docx/track_changes_deletion.docx" "docx/track_changes_deletion_reject.native" , testCompareWithOpts def{readerTrackChanges=AllChanges} "keep insertion (all)" "docx/track_changes_deletion.docx" "docx/track_changes_deletion_all.native" , testCompareWithOpts def{readerTrackChanges=AllChanges} "keep deletion (all)" "docx/track_changes_deletion.docx" "docx/track_changes_deletion_all.native" , testCompareWithOpts def{readerTrackChanges=AcceptChanges} "move text (accept)" "docx/track_changes_move.docx" "docx/track_changes_move_accept.native" , testCompareWithOpts def{readerTrackChanges=RejectChanges} "move text (reject)" "docx/track_changes_move.docx" "docx/track_changes_move_reject.native" , testCompareWithOpts def{readerTrackChanges=AllChanges} "move text (all)" "docx/track_changes_move.docx" "docx/track_changes_move_all.native" , testCompareWithOpts def{readerTrackChanges=AcceptChanges} "comments (accept -- no comments)" "docx/comments.docx" "docx/comments_no_comments.native" , testCompareWithOpts def{readerTrackChanges=RejectChanges} "comments (reject -- comments)" "docx/comments.docx" "docx/comments_no_comments.native" , testCompareWithOpts def{readerTrackChanges=AllChanges} "comments (all comments)" "docx/comments.docx" "docx/comments.native" , testCompareWithOpts def{readerTrackChanges=AcceptChanges} "paragraph insertion/deletion (accept)" "docx/paragraph_insertion_deletion.docx" "docx/paragraph_insertion_deletion_accept.native" , testCompareWithOpts def{readerTrackChanges=RejectChanges} "paragraph insertion/deletion (reject)" "docx/paragraph_insertion_deletion.docx" "docx/paragraph_insertion_deletion_reject.native" , testCompareWithOpts def{readerTrackChanges=AllChanges} "paragraph insertion/deletion (all)" "docx/paragraph_insertion_deletion.docx" "docx/paragraph_insertion_deletion_all.native" , testForWarningsWithOpts def{readerTrackChanges=AcceptChanges} "comment warnings (accept -- no warnings)" "docx/comments_warning.docx" [] , testForWarningsWithOpts def{readerTrackChanges=RejectChanges} "comment warnings (reject -- no warnings)" "docx/comments_warning.docx" [] , testForWarningsWithOpts def{readerTrackChanges=AllChanges} "comment warnings (all)" "docx/comments_warning.docx" ["Docx comment 1 will not retain formatting"] ] , testGroup "media" [ testMediaBag "image extraction" "docx/image.docx" ] , testGroup "custom styles" [ testCompare "custom styles (`+styles`) not enabled (default)" "docx/custom-style-reference.docx" "docx/custom-style-no-styles.native" , testCompareWithOpts def{readerExtensions=extensionsFromList [Ext_styles]} "custom styles (`+styles`) enabled" "docx/custom-style-reference.docx" "docx/custom-style-with-styles.native" , testCompareWithOpts def{readerExtensions=extensionsFromList [Ext_styles]} "custom styles (`+styles`): Compact style is removed from output" "docx/compact-style-removal.docx" "docx/compact-style-removal.native" ] , testGroup "metadata" [ testCompareWithOpts def{readerStandalone=True} "metadata fields" "docx/metadata.docx" "docx/metadata.native" , testCompareWithOpts def{readerStandalone=True} "stop recording metadata with normal text" "docx/metadata_after_normal.docx" "docx/metadata_after_normal.native" ] ] ������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Readers/DokuWiki.hs�������������������������������������������������������0000664�0000000�0000000�00000034204�13636304630�0020666�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Tests.Readers.DokuWiki Copyright : © 2018-2020 Alexander Krotov License : GNU GPL, version 2 or above Maintainer : Alexander Krotov Stability : alpha Portability : portable Tests for DokuWiki reader. -} module Tests.Readers.DokuWiki (tests) where import Prelude import Data.Text (Text) import qualified Data.Text as T import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder import Text.Pandoc.Shared (underlineSpan) dokuwiki :: Text -> Pandoc dokuwiki = purely $ readDokuWiki def{ readerStandalone = True } infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test dokuwiki tests :: [TestTree] tests = [ testGroup "inlines" [ "Bold" =: "**bold**" =?> para (strong "bold") , "Italic" =: "//italic//" =?> para (emph "italic") , "Underlined" =: "__underlined__" =?> para (underlineSpan "underlined") , "Monospaced" =: "''monospaced''" =?> para (code "monospaced") , "Monospaced with nowiki" =: "''%%monospaced%%''" =?> para (code "monospaced") , "Combined" =: "**__//''combine''//__**" =?> para (strong $ underlineSpan $ emph $ code "combine") , "Nowiki" =: T.unlines [ "<nowiki>" , "This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it." , "</nowiki>" ] =?> para "This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it." , "Percent" =: "The same is true for %%//__this__ text// with a smiley ;-)%%." =?> para "The same is true for //__this__ text// with a smiley ;-)." , "Subscript" =: "<sub>subscript</sub>" =?> para (subscript "subscript") , "Superscript" =: "<sup>superscript</sup>" =?> para (superscript "superscript") , "Deleted" =: "<del>deleted</del>" =?> para (strikeout "deleted") , "Inline code" =: "foo <code java>public static void main</code> bar" =?> para (text "foo " <> codeWith ("", ["java"], []) "public static void main" <> text " bar") , "Inline file" =: "foo <file></code></file> bar" =?> para (text "foo " <> code "</code>" <> text " bar") , "Inline HTML" =: "<html>\nThis is some <span style=\"color:red;font-size:150%;\">inline HTML</span>\n</html>" =?> para (rawInline "html" "\nThis is some <span style=\"color:red;font-size:150%;\">inline HTML</span>\n") , "Inline PHP" =: "<php>echo '<p>Hello World</p>';</php>" =?> para (codeWith ("", ["php"], []) "echo '<p>Hello World</p>';") , "Linebreak" =: T.unlines [ "This is some text with some linebreaks\\\\ Note that the" , "two backslashes are only recognized at the end of a line\\\\" , "or followed by\\\\ a whitespace \\\\this happens without it." ] =?> para ("This is some text with some linebreaks" <> linebreak <> "Note that the\n" <> "two backslashes are only recognized at the end of a line" <> linebreak <> "or followed by" <> linebreak <> "a whitespace \\\\this happens without it.") , testGroup "External links" [ "Autolink" =: "http://www.google.com" =?> para (link "http://www.google.com" "" (str "http://www.google.com")) , "Link without description" =: "[[https://example.com]]" =?> para (link "https://example.com" "" (str "https://example.com")) , "Link with description" =: "[[http://www.google.com|This Link points to google]]" =?> para (link "http://www.google.com" "" (text "This Link points to google")) , "Trim whitespace around link and description" =: "[[ http://www.google.com | This Link points to google ]]" =?> para (link "http://www.google.com" "" (text "This Link points to google")) , "Email address" =: "<andi@splitbrain.org>" =?> para (link "mailto:andi@splitbrain.org" "" (str "andi@splitbrain.org")) ] , testGroup "Internal links" [ "Current namespace" =: "[[example]]" =?> para (link "example" "" (str "example")) , "Current namespace starting with dot" =: "[[.example]]" =?> para (link "example" "" (str ".example")) , "Current namespace starting with dot and colon" =: "[[.:example]]" =?> para (link "example" "" (str "example")) , "Root namespace" =: "[[:example]]" =?> para (link "/example" "" (str "example")) , "Parent namespace" =: "[[..example]]" =?> para (link "../example" "" (str "..example")) , "Parent namespace with colon" =: "[[..:example]]" =?> para (link "../example" "" (str "example")) , "Beneath the root namespace" =: "[[wiki:example]]" =?> para (link "/wiki/example" "" (str "example")) , "Explicitly beneath the root namespace" =: "[[:wiki:example]]" =?> para (link "/wiki/example" "" (str "example")) ] , testGroup "Interwiki links" [ "Interwiki without description" =: "[[doku>DokuWiki]]" =?> para (link "https://www.dokuwiki.org/DokuWiki" "" (str "DokuWiki")) , "Interwiki link with description" =: "[[doku>toolbar|quickbuttons]]" =?> para (link "https://www.dokuwiki.org/toolbar" "" (str "quickbuttons")) ] , "Footnote" =: "((This is a footnote))" =?> para (note (para "This is a footnote")) , testGroup "Images" [ "Image" =: "{{image.jpg}}" =?> para (image "image.jpg" "" (str "image.jpg")) , "Image with caption" =: "{{image.png|This is the caption}}" =?> para (image "image.png" "" "This is the caption") , "Image with } in caption" =: "{{image.png|There is an } in the caption}}" =?> para (image "image.png" "" "There is an } in the caption") , "Wiki namespace starting with dot" =: "{{.wiki:image.jpg}}" =?> para (image "wiki/image.jpg" "" (str "image.jpg")) , "Left aligned image" =: "{{wiki:dokuwiki-128.png }}" =?> para (imageWith ("", ["align-left"], []) "/wiki/dokuwiki-128.png" "" (str "dokuwiki-128.png")) , "Right aligned image" =: "{{ wiki:dokuwiki-128.png}}" =?> para (imageWith ("", ["align-right"], []) "/wiki/dokuwiki-128.png" "" (str "dokuwiki-128.png")) , "Centered image" =: "{{ wiki:dokuwiki-128.png }}" =?> para (imageWith ("", ["align-center"], []) "/wiki/dokuwiki-128.png" "" (str "dokuwiki-128.png")) , "Image with width" =: "{{wiki:dokuwiki-128.png?50}}" =?> para (imageWith ("", [], [("width", "50")]) "/wiki/dokuwiki-128.png" "" (str "dokuwiki-128.png")) , "Image with width and height" =: "{{wiki:dokuwiki-128.png?nocache&50x100}}" =?> para (imageWith ("", [], [("width", "50"), ("height", "100")]) "/wiki/dokuwiki-128.png" "" (str "dokuwiki-128.png")) , "Linkonly" =: "{{wiki:dokuwiki-128.png?linkonly}}" =?> para (link "/wiki/dokuwiki-128.png" "" (str "dokuwiki-128.png")) ] , "Ignore ~~NOTOC~~" =: "Here is a ~~NOTOC~~ macro" =?> para "Here is a macro" , "Ignore ~~NOCACHE~~" =: "Here is a ~~NOCACHE~~ macro" =?> para "Here is a macro" ] , testGroup "Sectioning" [ "Headline level 1" =: "====== Headline Level 1 ======" =?> header 1 "Headline Level 1" , "Headline level 2" =: "===== Headline Level 2 =====" =?> header 2 "Headline Level 2" , "Headline level 3" =: "==== Headline Level 3 ====" =?> header 3 "Headline Level 3" , "Headline level 4" =: "=== Headline Level 4 ===" =?> header 4 "Headline Level 4" , "Headline level 5" =: "== Headline Level 5 ==" =?> header 5 "Headline Level 5" , "Only two closing = are required" =: "====== Headline Level 1 ==" =?> header 1 "Headline Level 1" , "One closing = is not enough" =: "====== Headline Level 1 =" =?> para "====== Headline Level 1 =" , "One closing = is not enough" =: "== Headline with = sign ==" =?> header 5 "Headline with = sign" ] , "Horizontal line" =: "----" =?> horizontalRule , testGroup "Lists" [ "Unordered list" =: T.unlines [ " * This is a list" , " * The second item" , " * You may have different levels" , " * Another item" ] =?> bulletList [ plain "This is a list" , plain "The second item" <> bulletList [ plain "You may have different levels" ] , plain "Another item" ] , "Ordered list" =: T.unlines [ " - The same list but ordered" , " - Another item" , " - Just use indention for deeper levels" , " - That's it" ] =?> orderedList [ plain "The same list but ordered" , plain "Another item" <> orderedList [ plain "Just use indention for deeper levels" ] , plain "That's it" ] , "Multiline list items" =: -- https://www.dokuwiki.org/faq:lists T.unlines [ " - first item" , " - second item with linebreak\\\\ second line" , " - third item with code: <code>" , "some code" , "comes here" , "</code>" , " - fourth item" ] =?> orderedList [ plain "first item" , plain ("second item with linebreak" <> linebreak <> " second line") , plain ("third item with code: " <> code "some code\ncomes here\n") , plain "fourth item" ] ] , "Block HTML" =: T.unlines [ "<HTML>" , "<p style=\"border:2px dashed red;\">And this is some block HTML</p>" , "</HTML>" ] =?> rawBlock "html" "<p style=\"border:2px dashed red;\">And this is some block HTML</p>\n" , "Block PHP" =: T.unlines [ "<PHP>" , "echo '<p>Hello World</p>';" , "</PHP>" ] =?> codeBlockWith ("", ["php"], []) "echo '<p>Hello World</p>';\n" , "Quote" =: T.unlines [ "> foo" , ">no space is required after >" , "> bar" , ">> baz" , "> bat" ] =?> blockQuote (plain "foo" <> plain "no space is required after >" <> plain "bar" <> blockQuote (plain "baz") <> plain "bat") , "Code block" =: T.unlines [ "<code>" , "foo bar baz" , "</code>" ] =?> codeBlock "foo bar baz\n" , "Java code block" =: T.unlines [ "<code java>" , "public static void main" , "</code>" ] =?> codeBlockWith ("", ["java"], []) "public static void main\n" , "File with filename and no language" =: T.unlines [ "<file - foo.bar>" , "file contents" , "</file>" ] =?> codeBlock "file contents\n" , "Table" =: T.unlines [ "| foo | bar |" , "| bat | baz |" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[plain "foo", plain "bar"] ,[plain "bat", plain "baz"]] , "Table with header" =: T.unlines [ "^ foo ^ bar ^" , "| bat | baz |" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [plain "foo", plain "bar"] [[plain "bat", plain "baz"]] , "Table with colspan" =: T.unlines [ "^ 0,0 ^ 0,1 ^ 0,2 ^" , "| 1,0 | 1,1 ||" , "| 2,0 | 2,1 | 2,2 |" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0), (AlignDefault, 0.0)] [plain "0,0", plain "0,1", plain "0,2"] [[plain "1,0", plain "1,1", mempty] ,[plain "2,0", plain "2,1", plain "2,2"] ] , "Indented code block" =: T.unlines [ "foo" , " bar" , " bat" , "baz" ] =?> para "foo" <> codeBlock "bar\n bat\n" <> para "baz" ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Readers/EPUB.hs�����������������������������������������������������������0000664�0000000�0000000�00000005617�13636304630�0017701�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {- | Module : Tests.Readers.EPUB Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.eu> Stability : alpha Portability : portable Tests for the EPUB mediabag. -} module Tests.Readers.EPUB (tests) where import Prelude import qualified Data.ByteString.Lazy as BL import qualified Data.Text as T import Test.Tasty import Test.Tasty.HUnit import qualified Text.Pandoc.Class as P import Text.Pandoc.MediaBag (MediaBag, mediaDirectory) import Text.Pandoc.Options import Text.Pandoc.Readers.EPUB getMediaBag :: FilePath -> IO MediaBag getMediaBag fp = do bs <- BL.readFile fp P.runIOorExplode $ do readEPUB def bs P.getMediaBag testMediaBag :: FilePath -> [(String, String, Int)] -> IO () testMediaBag fp bag = do actBag <- mediaDirectory <$> getMediaBag fp assertBool (show "MediaBag did not match:\nExpected: " ++ show bag ++ "\nActual: " ++ show actBag) (actBag == packBag bag) where packBag = map $ \(x, y, z) -> (x, T.pack y, z) featuresBag :: [(String, String, Int)] featuresBag = [("img/check.gif","image/gif",1340) ,("img/check.jpg","image/jpeg",2661) ,("img/check.png","image/png",2815) ,("img/multiscripts_and_greek_alphabet.png","image/png",10060) ] -- with additional meta tag for cover in EPUB2 format epub3CoverBag :: [(String, String, Int)] epub3CoverBag = [("wasteland-cover.jpg","image/jpeg",103477)] epub3NoCoverBag :: [(String, String, Int)] epub3NoCoverBag = [("img/check.gif","image/gif",1340) ,("img/check.jpg","image/jpeg",2661) ,("img/check.png","image/png",2815) ] -- content.opf uses the word `picture` to refer to the cover as much as validly possible -- to check if references are resolved correctly epub2PictureBag :: [(String, String, Int)] epub2PictureBag = [("image/image.jpg","image/jpeg",9713)] -- content.opf contains the word `cover` as much as possible, to check if possible multiple matches cause errors epub2CoverBag :: [(String, String, Int)] epub2CoverBag = [("image/cover.jpg","image/jpeg",9713)] epub2NoCoverBag :: [(String, String, Int)] epub2NoCoverBag = [] tests :: [TestTree] tests = [ testGroup "EPUB Mediabag" [ testCase "features bag" (testMediaBag "epub/img.epub" featuresBag), testCase "EPUB3 cover bag" (testMediaBag "epub/wasteland.epub" epub3CoverBag), testCase "EPUB3 no cover bag" (testMediaBag "epub/img_no_cover.epub" epub3NoCoverBag), testCase "EPUB2 picture bag" (testMediaBag "epub/epub2_picture.epub" epub2PictureBag), testCase "EPUB2 cover bag" (testMediaBag "epub/epub2_cover.epub" epub2CoverBag), testCase "EPUB2 no cover bag" (testMediaBag "epub/epub2_no_cover.epub" epub2NoCoverBag) ] ] �����������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Readers/FB2.hs������������������������������������������������������������0000664�0000000�0000000�00000002457�13636304630�0017516�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {- | Module : Tests.Readers.FB2 Copyright : © 2018-2020 Alexander Krotov License : GNU GPL, version 2 or above Maintainer : © 2018-2020 Alexander Krotov <ilabdsf@gmail.com> Stability : alpha Portability : portable Tests for the EPUB mediabag. -} module Tests.Readers.FB2 (tests) where import Prelude import Test.Tasty import Tests.Helpers import Test.Tasty.Golden (goldenVsString) import qualified Data.ByteString as BS import Text.Pandoc import Text.Pandoc.UTF8 (toText, fromStringLazy) import Data.Text (Text, unpack) import System.FilePath (replaceExtension) fb2ToNative :: Text -> Text fb2ToNative = purely (writeNative def{ writerTemplate = Just mempty }) . purely (readFB2 def) fb2Test :: TestName -> FilePath -> TestTree fb2Test name path = goldenVsString name native (fromStringLazy . filter (/='\r') . unpack . fb2ToNative . toText <$> BS.readFile path) where native = replaceExtension path ".native" tests :: [TestTree] tests = [ fb2Test "Emphasis" "fb2/reader/emphasis.fb2" , fb2Test "Titles" "fb2/reader/titles.fb2" , fb2Test "Epigraph" "fb2/reader/epigraph.fb2" , fb2Test "Poem" "fb2/reader/poem.fb2" , fb2Test "Meta" "fb2/reader/meta.fb2" , fb2Test "Notes" "fb2/reader/notes.fb2" ] �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Readers/HTML.hs�����������������������������������������������������������0000664�0000000�0000000�00000012321�13636304630�0017700�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.HTML Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane <jgm@berkeley.edu> Stability : alpha Portability : portable Tests for the HTML reader. -} module Tests.Readers.HTML (tests) where import Prelude import Data.Text (Text) import qualified Data.Text as T import Test.Tasty import Test.Tasty.QuickCheck import Test.Tasty.Options (IsOption(defaultValue)) import Tests.Helpers import Text.Pandoc import Text.Pandoc.Shared (isHeaderBlock) import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder import Text.Pandoc.Walk (walk) html :: Text -> Pandoc html = purely $ readHtml def htmlNativeDivs :: Text -> Pandoc htmlNativeDivs = purely $ readHtml def { readerExtensions = enableExtension Ext_native_divs $ readerExtensions def } makeRoundTrip :: Block -> Block makeRoundTrip CodeBlock{} = Para [Str "code block was here"] makeRoundTrip LineBlock{} = Para [Str "line block was here"] makeRoundTrip RawBlock{} = Para [Str "raw block was here"] makeRoundTrip (Div attr bs) = Div attr $ filter (not . isHeaderBlock) bs -- avoids round-trip failures related to makeSections -- e.g. with [Div ("loc",[],[("a","11"),("b_2","a b c")]) [Header 3 ("",[],[]) []]] makeRoundTrip x = x removeRawInlines :: Inline -> Inline removeRawInlines RawInline{} = Str "raw inline was here" removeRawInlines x = x roundTrip :: Blocks -> Bool roundTrip b = d'' == d''' where d = walk removeRawInlines $ walk makeRoundTrip $ Pandoc nullMeta $ toList b d' = rewrite d d'' = rewrite d' d''' = rewrite d'' rewrite = html . T.pack . (++ "\n") . T.unpack . purely (writeHtml5String def { writerWrapText = WrapPreserve }) tests :: [TestTree] tests = [ testGroup "base tag" [ test html "simple" $ "<head><base href=\"http://www.w3schools.com/images/foo\" ></head><body><img src=\"stickman.gif\" alt=\"Stickman\"></head>" =?> plain (image "http://www.w3schools.com/images/stickman.gif" "" (text "Stickman")) , test html "slash at end of base" $ "<head><base href=\"http://www.w3schools.com/images/\" ></head><body><img src=\"stickman.gif\" alt=\"Stickman\"></head>" =?> plain (image "http://www.w3schools.com/images/stickman.gif" "" (text "Stickman")) , test html "slash at beginning of href" $ "<head><base href=\"http://www.w3schools.com/images/\" ></head><body><img src=\"/stickman.gif\" alt=\"Stickman\"></head>" =?> plain (image "http://www.w3schools.com/stickman.gif" "" (text "Stickman")) , test html "absolute URL" $ "<head><base href=\"http://www.w3schools.com/images/\" ></head><body><img src=\"http://example.com/stickman.gif\" alt=\"Stickman\"></head>" =?> plain (image "http://example.com/stickman.gif" "" (text "Stickman")) ] , testGroup "anchors" [ test html "anchor without href" $ "<a name=\"anchor\"/>" =?> plain (spanWith ("anchor",[],[]) mempty) ] , testGroup "lang" [ test html "lang on <html>" $ "<html lang=\"es\">hola" =?> setMeta "lang" (text "es") (doc (plain (text "hola"))) , test html "xml:lang on <html>" $ "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"es\"><head></head><body>hola</body></html>" =?> setMeta "lang" (text "es") (doc (plain (text "hola"))) ] , testGroup "main" [ test htmlNativeDivs "<main> becomes <div role=main>" $ "<main>hello</main>" =?> doc (divWith ("", [], [("role", "main")]) (plain (text "hello"))) , test htmlNativeDivs "<main role=X> becomes <div role=X>" $ "<main role=foobar>hello</main>" =?> doc (divWith ("", [], [("role", "foobar")]) (plain (text "hello"))) , test htmlNativeDivs "<main> has attributes preserved" $ "<main id=foo class=bar data-baz=qux>hello</main>" =?> doc (divWith ("foo", ["bar"], [("role", "main"), ("baz", "qux")]) (plain (text "hello"))) , test htmlNativeDivs "<main> closes <p>" $ "<p>hello<main>main content</main>" =?> doc (para (text "hello") <> divWith ("", [], [("role", "main")]) (plain (text "main content"))) , test htmlNativeDivs "<main> followed by text" $ "<main>main content</main>non-main content" =?> doc (divWith ("", [], [("role", "main")]) (plain (text "main content")) <> plain (text "non-main content")) ] , testGroup "samp" [ test html "inline samp block" $ "<samp>Answer is 42</samp>" =?> plain (codeWith ("",["sample"],[]) "Answer is 42") ] , testGroup "var" [ test html "inline var block" $ "<var>result</var>" =?> plain (codeWith ("",["variable"],[]) "result") ] , askOption $ \(QuickCheckTests numtests) -> testProperty "Round trip" $ withMaxSuccess (if QuickCheckTests numtests == defaultValue then 25 else numtests) roundTrip ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������pandoc-2.9.2.1/test/Tests/Readers/JATS.hs�����������������������������������������������������������0000664�0000000�0000000�00000012610�13636304630�0017676�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.JATS Copyright : © 2017 Hamish Mackenzie License : GNU GPL, version 2 or above Maintainer : Hamish Mackenzie <Hamish.K.Mackenzie@googlemail.com> Stability : alpha Portability : portable Tests for the JATS reader. -} module Tests.Readers.JATS (tests) where import Prelude import Data.Text (Text) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder jats :: Text -> Pandoc jats = purely $ readJATS def tests :: [TestTree] tests = [ testGroup "inline code" [ test jats "basic" $ "<p>\n <monospace>@&</monospace>\n</p>" =?> para (code "@&") , test jats "lang" $ "<p>\n <code language=\"c\">@&</code>\n</p>" =?> para (codeWith ("", ["c"], []) "@&") ] , testGroup "block code" [ test jats "basic" $ "<preformat>@&</preformat>" =?> codeBlock "@&" , test jats "lang" $ "<code language=\"c\">@&</code>" =?> codeBlockWith ("", ["c"], []) "@&" ] , testGroup "images" [ test jats "basic" $ "<graphic mimetype=\"image\" mime-subtype=\"\" xlink:href=\"/url\" xlink:title=\"title\" />" =?> para (image "/url" "title" mempty) ] , test jats "bullet list" $ "<list list-type=\"bullet\">\n\ \ <list-item>\n\ \ <p>\n\ \ first\n\ \ </p>\n\ \ </list-item>\n\ \ <list-item>\n\ \ <p>\n\ \ second\n\ \ </p>\n\ \ </list-item>\n\ \ <list-item>\n\ \ <p>\n\ \ third\n\ \ </p>\n\ \ </list-item>\n\ \</list>" =?> bulletList [ para $ text "first" , para $ text "second" , para $ text "third" ] , testGroup "definition lists" [ test jats "with internal link" $ "<def-list>\n\ \ <def-item>\n\ \ <term>\n\ \ <xref alt=\"testing\" rid=\"go\">testing</xref>\n\ \ </term>\n\ \ <def>\n\ \ <p>\n\ \ hi there\n\ \ </p>\n\ \ </def>\n\ \ </def-item>\n\ \</def-list>" =?> definitionList [(link "#go" "" (str "testing"), [para (text "hi there")])] ] , testGroup "math" [ test jats "escape |" $ "<p>\n\ \ <inline-formula><alternatives>\n\ \ <tex-math><![CDATA[\\sigma|_{\\{x\\}}]]></tex-math>\n\ \ <mml:math display=\"inline\" xmlns:mml=\"http://www.w3.org/1998/Math/MathML\"><mml:mrow><mml:mi>σ</mml:mi><mml:msub><mml:mo stretchy=\"false\" form=\"prefix\">|</mml:mo><mml:mrow><mml:mo stretchy=\"false\" form=\"prefix\">{</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy=\"false\" form=\"postfix\">}</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:math></alternatives></inline-formula>\n\ \</p>" =?> para (math "\\sigma|_{\\{x\\}}") , test jats "tex-math only" $ "<p>\n\ \ <inline-formula><alternatives>\n\ \ <tex-math><![CDATA[\\sigma|_{\\{x\\}}]]></tex-math>\n\ \</p>" =?> para (math "\\sigma|_{\\{x\\}}") , test jats "math ml only" $ "<p>\n\ \ <inline-formula><alternatives>\n\ \ <mml:math display=\"inline\" xmlns:mml=\"http://www.w3.org/1998/Math/MathML\"><mml:mrow><mml:mi>σ</mml:mi><mml:msub><mml:mo stretchy=\"false\" form=\"prefix\">|</mml:mo><mml:mrow><mml:mo stretchy=\"false\" form=\"prefix\">{</mml:mo><mml:mi>x</mml:mi><mml:mo stretchy=\"false\" form=\"postfix\">}</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:math></alternatives></inline-formula>\n\ \</p>" =?> para (math "\\sigma|_{\\{ x\\}}") ] , testGroup "headers" -- TODO fix footnotes in headers -- [ test jats "unnumbered header" $ -- "<sec>\n\ -- \ <title>Header 1<fn>\n\ -- \ <p>\n\ -- \ note\n\ -- \ </p>\n\ -- \ </fn>\n\ -- \" -- =?> header 1 -- (text "Header 1" <> note (plain $ text "note")) [ test jats "unnumbered sub header" $ "\n\ \ Header\n\ \ \n\ \ Sub-Header\n\ \ \n\ \" =?> headerWith ("foo", [], []) 1 (text "Header") <> headerWith ("foo2", [], []) 2 (text "Sub-Header") , test jats "containing image" $ "\n\ \ <inline-graphic mimetype=\"image\" mime-subtype=\"jpeg\" xlink:href=\"imgs/foo.jpg\" />\n\ \" =?> header 1 (image "imgs/foo.jpg" "" mempty) ] ] pandoc-2.9.2.1/test/Tests/Readers/Jira.hs000066400000000000000000000065131363630463000200270ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Tests.Readers.Jira Copyright : © 2019-2020 Albert Krewinel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Tests for the RST reader. -} module Tests.Readers.Jira (tests) where import Prelude import Data.Text (Text) import Test.Tasty (TestTree, testGroup) import Tests.Helpers (ToString, purely, test, (=?>)) import Text.Pandoc (def) import Text.Pandoc.Readers.Jira (readJira) import Text.Pandoc.Builder jira :: Text -> Pandoc jira = purely $ readJira def infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test jira tests :: [TestTree] tests = [ testGroup "para" [ "Simple sentence" =: "Hello, World!" =?> para "Hello, World!" ] , testGroup "header" [ "header" =: "h1. Main\n" =?> header 1 "Main" ] , testGroup "list" [ "simple list" =: "* foo\n* bar\n" =?> bulletList [para "foo", para "bar"] , "list with minus as bullets" =: "- foo\n- bar\n" =?> bulletList [para "foo", para "bar"] , "ordered list / enumeration" =: "# first\n# second\n" =?> orderedList [para "first", para "second"] ] , testGroup "block quote" [ "simple block quote" =: "bq. _Don't_ quote me on this." =?> blockQuote (para $ emph "Don't" <> space <> "quote me on this.") ] , testGroup "table" [ "table without header" =: "| one | two |\n| three | four |\n" =?> simpleTable [] [ [para "one", para "two"] , [para "three", para "four"]] , "table with header" =: "|| one || two ||\n| three | four |\n| five | six |\n" =?> simpleTable [para "one", para "two"] [ [para "three", para "four"] , [para "five", para "six"]] , "table with column header" =: "|| language | haskell | lua |\n|| type | static | dynamic |\n" =?> simpleTable [] [ [para "language", para "haskell", para "lua"] , [para "type", para "static", para "dynamic"]] , "table after paragraph" =: "*tabletest*\n||Name|\n|Test|\n" =?> para (strong "tabletest") <> simpleTable [para "Name"] [[para "Test"]] ] , testGroup "inlines" [ "emphasis" =: "*quid pro quo*" =?> para (strong "quid pro quo") , "deleted" =: "-old-" =?> para (strikeout "old") , "monospaced" =: "{{this *is* monospace}}" =?> para (code "this is monospace") , "sub- and superscript" =: "HCO ~3~^-^" =?> para ("HCO " <> subscript "3" <> superscript "-") , "color" =: "This is {color:red}red{color}." =?> para ("This is " <> spanWith ("", [], [("color", "red")]) "red" <> ".") , "linebreak" =: "first\nsecond" =?> para ("first" <> linebreak <> "second") , "link" =: "[Example|https://example.org]" =?> para (link "https://example.org" "" "Example") , "image" =: "!https://example.com/image.jpg!" =?> para (image "https://example.com/image.jpg" "" mempty) , "HTML entity" =: "me & you" =?> para "me & you" , "non-strikeout dashes" =: "20.09-15 2-678" =?> para "20.09-15 2-678" ] ] pandoc-2.9.2.1/test/Tests/Readers/LaTeX.hs000066400000000000000000000422541363630463000201210ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.LaTeX Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Tests for the LaTeX reader. -} module Tests.Readers.LaTeX (tests) where import Prelude import Data.Text (Text) import qualified Data.Text as T import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Readers.LaTeX (tokenize, untokenize) import Test.Tasty import Test.Tasty.HUnit import Test.Tasty.QuickCheck import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder latex :: Text -> Pandoc latex = purely $ readLaTeX def{ readerExtensions = getDefaultExtensions "latex" } infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test latex simpleTable' :: [Alignment] -> [[Blocks]] -> Blocks simpleTable' aligns = table "" (zip aligns (repeat 0.0)) (map (const mempty) aligns) tokUntokRt :: String -> Bool tokUntokRt s = untokenize (tokenize "random" t) == t where t = T.pack s tests :: [TestTree] tests = [ testGroup "tokenization" [ testCase "tokenizer round trip on test case" $ do orig <- T.pack <$> UTF8.readFile "../test/latex-reader.latex" let new = untokenize $ tokenize "../test/latex-reader.latex" orig assertEqual "untokenize . tokenize is identity" orig new , testProperty "untokenize . tokenize is identity" tokUntokRt ] , testGroup "basic" [ "simple" =: "word" =?> para "word" , "space" =: "some text" =?> para "some text" , "emphasized" =: "\\emph{emphasized}" =?> para (emph "emphasized") ] , testGroup "headers" [ "level 1" =: "\\section{header}" =?> headerWith ("header",[],[]) 1 "header" , "level 2" =: "\\subsection{header}" =?> headerWith ("header",[],[]) 2 "header" , "level 3" =: "\\subsubsection{header}" =?> headerWith ("header",[],[]) 3 "header" , "emph" =: "\\section{text \\emph{emph}}" =?> headerWith ("text-emph",[],[]) 1 ("text" <> space <> emph "emph") , "link" =: "\\section{text \\href{/url}{link}}" =?> headerWith ("text-link",[],[]) 1 ("text" <> space <> link "/url" "" "link") ] , testGroup "math" [ "escaped $" =: "$x=\\$4$" =?> para (math "x=\\$4") ] , testGroup "space and comments" [ "blank lines + space at beginning" =: "\n \n hi" =?> para "hi" , "blank lines + space + comments" =: "% my comment\n\n \n % another\n\nhi" =?> para "hi" , "comment in paragraph" =: "hi % this is a comment\nthere\n" =?> para ("hi" <> softbreak <> "there") ] , testGroup "code blocks" [ "identifier" =: "\\begin{lstlisting}[label=test]\\end{lstlisting}" =?> codeBlockWith ("test", [], [("label","test")]) "" , "no identifier" =: "\\begin{lstlisting}\\end{lstlisting}" =?> codeBlock "" ] , testGroup "tables" [ "Single cell table" =: "\\begin{tabular}{|l|}Test\\\\\\end{tabular}" =?> simpleTable' [AlignLeft] [[plain "Test"]] , "Multi cell table" =: "\\begin{tabular}{|rl|}One & Two\\\\ \\end{tabular}" =?> simpleTable' [AlignRight,AlignLeft] [[plain "One", plain "Two"]] , "Multi line table" =: T.unlines [ "\\begin{tabular}{|c|}" , "One\\\\" , "Two\\\\" , "Three\\\\" , "\\end{tabular}" ] =?> simpleTable' [AlignCenter] [[plain "One"], [plain "Two"], [plain "Three"]] , "Empty table" =: "\\begin{tabular}{}\\end{tabular}" =?> simpleTable' [] [] , "Table with fixed column width" =: "\\begin{tabular}{|p{5cm}r|}One & Two\\\\ \\end{tabular}" =?> simpleTable' [AlignLeft,AlignRight] [[plain "One", plain "Two"]] , "Table with empty column separators" =: "\\begin{tabular}{@{}r@{}l}One & Two\\\\ \\end{tabular}" =?> simpleTable' [AlignRight,AlignLeft] [[plain "One", plain "Two"]] , "Table with custom column separators" =: T.unlines [ "\\begin{tabular}{@{($\\to$)}r@{\\hspace{2cm}}l}" , "One&Two\\\\" , "\\end{tabular}" ] =?> simpleTable' [AlignRight,AlignLeft] [[plain "One", plain "Two"]] , "Table with vertical alignment argument" =: "\\begin{tabular}[t]{r|r}One & Two\\\\ \\end{tabular}" =?> simpleTable' [AlignRight,AlignRight] [[plain "One", plain "Two"]] ] , testGroup "citations" [ natbibCitations , biblatexCitations ] , testGroup "images" [ "Basic image" =: "\\includegraphics{foo.png}" =?> para (image "foo.png" "" (text "image")) , "Basic image with blank options" =: "\\includegraphics[]{foo.png}" =?> para (image "foo.png" "" (text "image")) , "Image with both width and height" =: "\\includegraphics[width=17cm,height=5cm]{foo.png}" =?> para (imageWith ("", [], [("width", "17cm"), ("height", "5cm")]) "foo.png" "" "image") , "Image with width and height and a bunch of other options" =: "\\includegraphics[width=17cm,height=5cm,clip,keepaspectratio]{foo.png}" =?> para (imageWith ("", [], [("width", "17cm"), ("height", "5cm")]) "foo.png" "" "image") , "Image with just width" =: "\\includegraphics[width=17cm]{foo.png}" =?> para (imageWith ("", [], [("width", "17cm")]) "foo.png" "" "image") , "Image with just height" =: "\\includegraphics[height=17cm]{foo.png}" =?> para (imageWith ("", [], [("height", "17cm")]) "foo.png" "" "image") , "Image width relative to textsize" =: "\\includegraphics[width=0.6\\textwidth]{foo.png}" =?> para (imageWith ("", [], [("width", "60%")]) "foo.png" "" "image") , "Image with options with spaces" =: "\\includegraphics[width=12cm, height = 5cm]{foo.png}" =?> para (imageWith ("", [], [("width", "12cm"), ("height", "5cm")]) "foo.png" "" "image") ] , let hex = ['0'..'9']++['a'..'f'] in testGroup "Character Escapes" [ "Two-character escapes" =: mconcat ["^^" <> T.pack [i,j] | i <- hex, j <- hex] =?> para (str $ T.pack ['\0'..'\255']) , "One-character escapes" =: mconcat ["^^" <> T.pack [i] | i <- hex] =?> para (str $ T.pack $ ['p'..'y']++['!'..'&']) ] , testGroup "memoir scene breaks" [ "plainbreak" =: "hello\\plainbreak{2}goodbye" =?> para (str "hello") <> horizontalRule <> para (str "goodbye") , "plainbreak*" =: "hello\\plainbreak*{2}goodbye" =?> para (str "hello") <> horizontalRule <> para (str "goodbye") , "fancybreak" =: "hello\\fancybreak{b r e a k}goodbye" =?> para (str "hello") <> horizontalRule <> para (str "goodbye") , "fancybreak*" =: "hello\\fancybreak*{b r e a k}goodbye" =?> para (str "hello") <> horizontalRule <> para (str "goodbye") , "plainfancybreak" =: "hello\\plainfancybreak{4}{2}{b r e a k}goodbye" =?> para (str "hello") <> horizontalRule <> para (str "goodbye") , "plainfancybreak*" =: "hello\\plainfancybreak*{4}{2}{b r e a k}goodbye" =?> para (str "hello") <> horizontalRule <> para (str "goodbye") , "pfbreak" =: "hello\\pfbreak{}goodbye" =?> para (str "hello") <> horizontalRule <> para (str "goodbye") , "pfbreak*" =: "hello\\pfbreak*{}goodbye" =?> para (str "hello") <> horizontalRule <> para (str "goodbye") ] , testGroup "biblatex roman numerals" [ "upper" =: "number \\RN{12}" =?> para (str "number" <> space <> str "XII") , "lower" =: "number \\Rn{29}" =?> para (str "number" <> space <> str "xxix") , "leading zero" =: "\\Rn{014}" =?> para (str "xiv") , "surrounding spaces" =: "number \\Rn{ 41 }" =?> para (str "number" <> space <> str "xli") , "zero" =: "\\RN{0}" =?> para (str "") , "space then unbraced argument" =: "\\RN 7 ok" =?> para (str "VII" <> space <> str "ok") , "space before braced argument" =: "\\Rn {13}ok" =?> para (str "xiiiok") ] , testGroup "polyglossia language spans" [ "french" =: "hello \\textfrench{bonjour}" =?> para (str "hello" <> space <> spanWith ("", [], [("lang", "fr")]) (str "bonjour")) , "nested" =: "\\textfrench{quelle c'est \\textlatin{primus}?}" =?> para (spanWith ("", [], [("lang", "fr")]) $ str "quelle" <> space <> str "c\8217est" <> space <> spanWith ("", [], [("lang", "la")]) (str "primus") <> str "?") , "with formatting" =: "\\textgerman{wie \\emph{spaet} ist es?}" =?> para (spanWith ("", [], [("lang", "de")]) $ str "wie" <> space <> emph (str "spaet") <> space <> str "ist" <> space <> str "es?") , "language options" =: "\\textgerman[variant=swiss]{hoechdeutsche}" =?> para (spanWith ("", [], [("lang", "de-CH")]) $ str "hoechdeutsche") , "unknown option fallback" =: "\\textgerman[variant=moon]{ueberhoechdeutsche}" =?> para (spanWith ("", [], [("lang", "de")]) $ str "ueberhoechdeutsche") ] ] baseCitation :: Citation baseCitation = Citation{ citationId = "item1" , citationPrefix = [] , citationSuffix = [] , citationMode = AuthorInText , citationNoteNum = 0 , citationHash = 0 } rt :: String -> Inlines rt = rawInline "latex" . T.pack natbibCitations :: TestTree natbibCitations = testGroup "natbib" [ "citet" =: "\\citet{item1}" =?> para (cite [baseCitation] (rt "\\citet{item1}")) , "suffix" =: "\\citet[p.~30]{item1}" =?> para (cite [baseCitation{ citationSuffix = toList $ text "p.\160\&30" }] (rt "\\citet[p.~30]{item1}")) , "suffix long" =: "\\citet[p.~30, with suffix]{item1}" =?> para (cite [baseCitation{ citationSuffix = toList $ text "p.\160\&30, with suffix" }] (rt "\\citet[p.~30, with suffix]{item1}")) , "multiple" =: "\\citeauthor{item1} \\citetext{\\citeyear{item1}; \\citeyear[p.~30]{item2}; \\citealp[see also][]{item3}}" =?> para (cite [baseCitation{ citationMode = AuthorInText } ,baseCitation{ citationMode = SuppressAuthor , citationSuffix = [Str "p.\160\&30"] , citationId = "item2" } ,baseCitation{ citationId = "item3" , citationPrefix = [Str "see",Space,Str "also"] , citationMode = NormalCitation } ] (rt "\\citetext{\\citeyear{item1}; \\citeyear[p.~30]{item2}; \\citealp[see also][]{item3}}")) , "group" =: "\\citetext{\\citealp[see][p.~34--35]{item1}; \\citealp[also][chap. 3]{item3}}" =?> para (cite [baseCitation{ citationMode = NormalCitation , citationPrefix = [Str "see"] , citationSuffix = [Str "p.\160\&34\8211\&35"] } ,baseCitation{ citationMode = NormalCitation , citationId = "item3" , citationPrefix = [Str "also"] , citationSuffix = [Str "chap.",Space,Str "3"] } ] (rt "\\citetext{\\citealp[see][p.~34--35]{item1}; \\citealp[also][chap. 3]{item3}}")) , "suffix and locator" =: "\\citep[pp.~33, 35--37, and nowhere else]{item1}" =?> para (cite [baseCitation{ citationMode = NormalCitation , citationSuffix = [Str "pp.\160\&33,",Space,Str "35\8211\&37,",Space,Str "and",Space,Str "nowhere",Space, Str "else"] }] (rt "\\citep[pp.~33, 35--37, and nowhere else]{item1}")) , "suffix only" =: "\\citep[and nowhere else]{item1}" =?> para (cite [baseCitation{ citationMode = NormalCitation , citationSuffix = toList $ text "and nowhere else" }] (rt "\\citep[and nowhere else]{item1}")) , "no author" =: "\\citeyearpar{item1}, and now Doe with a locator \\citeyearpar[p.~44]{item2}" =?> para (cite [baseCitation{ citationMode = SuppressAuthor }] (rt "\\citeyearpar{item1}") <> text ", and now Doe with a locator " <> cite [baseCitation{ citationMode = SuppressAuthor , citationSuffix = [Str "p.\160\&44"] , citationId = "item2" }] (rt "\\citeyearpar[p.~44]{item2}")) , "markup" =: "\\citep[\\emph{see}][p. \\textbf{32}]{item1}" =?> para (cite [baseCitation{ citationMode = NormalCitation , citationPrefix = [Emph [Str "see"]] , citationSuffix = [Str "p.",Space, Strong [Str "32"]] }] (rt "\\citep[\\emph{see}][p. \\textbf{32}]{item1}")) ] biblatexCitations :: TestTree biblatexCitations = testGroup "biblatex" [ "textcite" =: "\\textcite{item1}" =?> para (cite [baseCitation] (rt "\\textcite{item1}")) , "suffix" =: "\\textcite[p.~30]{item1}" =?> para (cite [baseCitation{ citationSuffix = toList $ text "p.\160\&30" }] (rt "\\textcite[p.~30]{item1}")) , "suffix long" =: "\\textcite[p.~30, with suffix]{item1}" =?> para (cite [baseCitation{ citationSuffix = toList $ text "p.\160\&30, with suffix" }] (rt "\\textcite[p.~30, with suffix]{item1}")) , "multiple" =: "\\textcites{item1}[p.~30]{item2}[see also][]{item3}" =?> para (cite [baseCitation{ citationMode = AuthorInText } ,baseCitation{ citationMode = NormalCitation , citationSuffix = [Str "p.\160\&30"] , citationId = "item2" } ,baseCitation{ citationId = "item3" , citationPrefix = [Str "see",Space,Str "also"] , citationMode = NormalCitation } ] (rt "\\textcites{item1}[p.~30]{item2}[see also][]{item3}")) , "group" =: "\\autocites[see][p.~34--35]{item1}[also][chap. 3]{item3}" =?> para (cite [baseCitation{ citationMode = NormalCitation , citationPrefix = [Str "see"] , citationSuffix = [Str "p.\160\&34\8211\&35"] } ,baseCitation{ citationMode = NormalCitation , citationId = "item3" , citationPrefix = [Str "also"] , citationSuffix = [Str "chap.",Space,Str "3"] } ] (rt "\\autocites[see][p.~34--35]{item1}[also][chap. 3]{item3}")) , "suffix and locator" =: "\\autocite[pp.~33, 35--37, and nowhere else]{item1}" =?> para (cite [baseCitation{ citationMode = NormalCitation , citationSuffix = [Str "pp.\160\&33,",Space,Str "35\8211\&37,",Space,Str "and",Space,Str "nowhere",Space, Str "else"] }] (rt "\\autocite[pp.~33, 35--37, and nowhere else]{item1}")) , "suffix only" =: "\\autocite[and nowhere else]{item1}" =?> para (cite [baseCitation{ citationMode = NormalCitation , citationSuffix = toList $ text "and nowhere else" }] (rt "\\autocite[and nowhere else]{item1}")) , "no author" =: "\\autocite*{item1}, and now Doe with a locator \\autocite*[p.~44]{item2}" =?> para (cite [baseCitation{ citationMode = SuppressAuthor }] (rt "\\autocite*{item1}") <> text ", and now Doe with a locator " <> cite [baseCitation{ citationMode = SuppressAuthor , citationSuffix = [Str "p.\160\&44"] , citationId = "item2" }] (rt "\\autocite*[p.~44]{item2}")) , "markup" =: "\\autocite[\\emph{see}][p. \\textbf{32}]{item1}" =?> para (cite [baseCitation{ citationMode = NormalCitation , citationPrefix = [Emph [Str "see"]] , citationSuffix = [Str "p.",Space, Strong [Str "32"]] }] (rt "\\autocite[\\emph{see}][p. \\textbf{32}]{item1}")) , "parencite" =: "\\parencite{item1}" =?> para (cite [baseCitation{ citationMode = NormalCitation }] (rt "\\parencite{item1}")) ] pandoc-2.9.2.1/test/Tests/Readers/Man.hs000066400000000000000000000101721363630463000176510ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Man Copyright : © 2018-2019 Yan Pas , 2018-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Tests for the Man reader. -} module Tests.Readers.Man (tests) where import Prelude import Data.Text (Text) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder import Text.Pandoc.Readers.Man man :: Text -> Pandoc man = purely $ readMan def infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test man tests :: [TestTree] tests = [ -- .SH "HEllo bbb" "aaa"" as" testGroup "Macros" [ "Bold" =: ".B foo" =?> para (strong "foo") , "Italic" =: ".I bar\n" =?> para (emph "bar") , "BoldItalic" =: ".BI foo bar" =?> para (strong (str "foo") <> emph (str "bar")) , "H1" =: ".SH The header\n" =?> header 1 (text "The header") , "H2" =: ".SS \"The header 2\"" =?> header 2 (text "The header 2") , "Macro args" =: ".B \"single arg with \"\"Q\"\"\"" =?>para (strong $ text "single arg with \"Q\"") , "Argument from next line" =: ".B\nsingle arg with \"Q\"" =?>para (strong $ text "single arg with \"Q\"") , "comment" =: ".\\\"bla\naaa" =?>para (str "aaa") , "link" =: ".BR aa (1)" =?> para (strong (str "aa") <> str "(1)") ], testGroup "Escapes" [ "fonts" =: "aa\\fIbb\\fRcc" =?>para (str "aa" <> (emph $ str "bb") <> str "cc") , "nested fonts" =: "\\f[BI]hi\\f[I] there\\f[R]" =?> para (emph (strong (text "hi") <> text " there")) , "nested fonts 2" =: "\\f[R]hi \\f[I]there \\f[BI]bold\\f[R] ok" =?> para (text "hi " <> emph (text "there " <> strong (text "bold")) <> text " ok") , "skip" =: "a\\%\\\n\\:b\\0" =?>para (str "ab\8199") , "replace" =: "\\-\\ \\\\\\[lq]\\[rq]\\[em]\\[en]\\*(lq\\*(rq" =?>para (text "- \\“”—–“”") , "replace2" =: "\\t\\e\\`\\^\\|\\'" =?>para (text "\\`\8202\8198'") , "comment with \\\"" =: "Foo \\\" bar\n" =?>para (text "Foo") , "comment with \\#" =: "Foo\\#\nbar\n" =?>para (text "Foobar") , "two letter escapes" =: "\\(oA\\(~O" =?>para (text "ÅÕ") , "bracketed escapes" =: "\\[oA]\\[~O]\\[Do]\\[Ye]\\[product]\\[ul]" =?>para (text "ÅÕ$¥∏_") , "unicode escapes" =: "\\[u2020]" =?>para (text "†") , "unicode escapes (combined)" =: "\\[u0075_u0301]" =?>para (text "\250") , "unknown escape (#5034)" =: "\\9" =?>para (text "9") ], testGroup "Lists" [ "bullet" =: ".IP \"\\[bu]\"\nfirst\n.IP \"\\[bu]\"\nsecond" =?> bulletList [para $ str "first", para $ str "second"] , "ordered" =: ".IP 2 a\nfirst\n.IP 3 a\nsecond" =?> orderedListWith (2,Decimal,DefaultDelim) [para $ str "first", para $ str "second"] , "upper" =: ".IP A) a\nfirst\n.IP B) a\nsecond" =?> orderedListWith (1,UpperAlpha,OneParen) [para $ str "first", para $ str "second"] , "nested" =: ".IP \"\\[bu]\"\nfirst\n.RS\n.IP \"\\[bu]\"\n1a\n.IP \"\\[bu]\"\n1b\n.RE" =?> bulletList [para (str "first") <> bulletList [para $ str "1a", para $ str "1b"]] , "change in list style" =: ".IP \\[bu]\nfirst\n.IP 1\nsecond" =?> bulletList [para (str "first")] <> orderedListWith (1,Decimal,DefaultDelim) [para (str "second")] ], testGroup "CodeBlocks" [ "cb1"=: ".nf\naa\n\tbb\n.fi" =?> codeBlock "aa\n\tbb" ], testGroup "Tables" [ "t1" =: ".TS\nallbox;\nl l l.\na\tb\tc\nd\te\tf\n.TE" =?> table mempty (replicate 3 (AlignLeft, 0.0)) [] [ map (plain . str ) ["a", "b", "c"], map (plain . str ) ["d", "e", "f"] ], "longcell" =: ".TS\n;\nr.\nT{\na\nb\nc d\nT}\nf\n.TE" =?> table mempty [(AlignRight, 0.0)] [] [[plain $ text "a b c d"], [plain $ str "f"]] ] ] pandoc-2.9.2.1/test/Tests/Readers/Markdown.hs000066400000000000000000000537011363630463000207250ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Markdown Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Tests for the Markdown reader. -} module Tests.Readers.Markdown (tests) where import Prelude import Data.Text (Text, unpack) import qualified Data.Text as T import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder markdown :: Text -> Pandoc markdown = purely $ readMarkdown def { readerExtensions = disableExtension Ext_smart pandocExtensions } markdownSmart :: Text -> Pandoc markdownSmart = purely $ readMarkdown def { readerExtensions = enableExtension Ext_smart pandocExtensions } markdownCDL :: Text -> Pandoc markdownCDL = purely $ readMarkdown def { readerExtensions = enableExtension Ext_compact_definition_lists pandocExtensions } markdownGH :: Text -> Pandoc markdownGH = purely $ readMarkdown def { readerExtensions = githubMarkdownExtensions } infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test markdown testBareLink :: (Text, Inlines) -> TestTree testBareLink (inp, ils) = test (purely $ readMarkdown def{ readerExtensions = extensionsFromList [Ext_autolink_bare_uris, Ext_raw_html] }) (unpack inp) (inp, doc $ para ils) autolink :: String -> Inlines autolink = autolinkWith ("",["uri"],[]) autolinkWith :: Attr -> String -> Inlines autolinkWith attr s = linkWith attr s' "" (str s') where s' = T.pack s bareLinkTests :: [(Text, Inlines)] bareLinkTests = [ ("http://google.com is a search engine.", autolink "http://google.com" <> " is a search engine.") , ("http://foo.bar.baz", rawInline "html" "" <> "http://foo.bar.baz" <> rawInline "html" "") , ("Try this query: http://google.com?search=fish&time=hour.", "Try this query: " <> autolink "http://google.com?search=fish&time=hour" <> ".") , ("HTTPS://GOOGLE.COM,", autolink "HTTPS://GOOGLE.COM" <> ",") , ("http://el.wikipedia.org/wiki/Τεχνολογία,", autolink "http://el.wikipedia.org/wiki/Τεχνολογία" <> ",") , ("doi:10.1000/182,", autolink "doi:10.1000/182" <> ",") , ("git://github.com/foo/bar.git,", autolink "git://github.com/foo/bar.git" <> ",") , ("file:///Users/joe/joe.txt, and", autolink "file:///Users/joe/joe.txt" <> ", and") , ("mailto:someone@somedomain.com.", autolink "mailto:someone@somedomain.com" <> ".") , ("Use http: this is not a link!", "Use http: this is not a link!") , ("(http://google.com).", "(" <> autolink "http://google.com" <> ").") , ("http://en.wikipedia.org/wiki/Sprite_(computer_graphics)", autolink "http://en.wikipedia.org/wiki/Sprite_(computer_graphics)") , ("http://en.wikipedia.org/wiki/Sprite_[computer_graphics]", linkWith ("",["uri"],[]) "http://en.wikipedia.org/wiki/Sprite_%5Bcomputer_graphics%5D" "" (str "http://en.wikipedia.org/wiki/Sprite_[computer_graphics]")) , ("http://en.wikipedia.org/wiki/Sprite_{computer_graphics}", linkWith ("",["uri"],[]) "http://en.wikipedia.org/wiki/Sprite_%7Bcomputer_graphics%7D" "" (str "http://en.wikipedia.org/wiki/Sprite_{computer_graphics}")) , ("http://example.com/Notification_Center-GitHub-20101108-140050.jpg", autolink "http://example.com/Notification_Center-GitHub-20101108-140050.jpg") , ("https://github.com/github/hubot/blob/master/scripts/cream.js#L20-20", autolink "https://github.com/github/hubot/blob/master/scripts/cream.js#L20-20") , ("http://www.rubyonrails.com", autolink "http://www.rubyonrails.com") , ("http://www.rubyonrails.com:80", autolink "http://www.rubyonrails.com:80") , ("http://www.rubyonrails.com/~minam", autolink "http://www.rubyonrails.com/~minam") , ("https://www.rubyonrails.com/~minam", autolink "https://www.rubyonrails.com/~minam") , ("http://www.rubyonrails.com/~minam/url%20with%20spaces", autolink "http://www.rubyonrails.com/~minam/url%20with%20spaces") , ("http://www.rubyonrails.com/foo.cgi?something=here", autolink "http://www.rubyonrails.com/foo.cgi?something=here") , ("http://www.rubyonrails.com/foo.cgi?something=here&and=here", autolink "http://www.rubyonrails.com/foo.cgi?something=here&and=here") , ("http://www.rubyonrails.com/contact;new", autolink "http://www.rubyonrails.com/contact;new") , ("http://www.rubyonrails.com/contact;new%20with%20spaces", autolink "http://www.rubyonrails.com/contact;new%20with%20spaces") , ("http://www.rubyonrails.com/contact;new?with=query&string=params", autolink "http://www.rubyonrails.com/contact;new?with=query&string=params") , ("http://www.rubyonrails.com/~minam/contact;new?with=query&string=params", autolink "http://www.rubyonrails.com/~minam/contact;new?with=query&string=params") , ("http://en.wikipedia.org/wiki/Wikipedia:Today%27s_featured_picture_%28animation%29/January_20%2C_2007", autolink "http://en.wikipedia.org/wiki/Wikipedia:Today%27s_featured_picture_%28animation%29/January_20%2C_2007") , ("http://www.mail-archive.com/rails@lists.rubyonrails.org/", autolink "http://www.mail-archive.com/rails@lists.rubyonrails.org/") , ("http://www.amazon.com/Testing-Equal-Sign-In-Path/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1198861734&sr=8-1", autolink "http://www.amazon.com/Testing-Equal-Sign-In-Path/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1198861734&sr=8-1") , ("http://en.wikipedia.org/wiki/Texas_hold%27em", autolink "http://en.wikipedia.org/wiki/Texas_hold%27em") , ("https://www.google.com/doku.php?id=gps:resource:scs:start", autolink "https://www.google.com/doku.php?id=gps:resource:scs:start") , ("http://www.rubyonrails.com", autolink "http://www.rubyonrails.com") , ("http://manuals.ruby-on-rails.com/read/chapter.need_a-period/103#page281", autolink "http://manuals.ruby-on-rails.com/read/chapter.need_a-period/103#page281") , ("http://foo.example.com/controller/action?parm=value&p2=v2#anchor123", autolink "http://foo.example.com/controller/action?parm=value&p2=v2#anchor123") , ("http://foo.example.com:3000/controller/action", autolink "http://foo.example.com:3000/controller/action") , ("http://foo.example.com:3000/controller/action+pack", autolink "http://foo.example.com:3000/controller/action+pack") , ("http://business.timesonline.co.uk/article/0,,9065-2473189,00.html", autolink "http://business.timesonline.co.uk/article/0,,9065-2473189,00.html") , ("http://www.mail-archive.com/ruby-talk@ruby-lang.org/", autolink "http://www.mail-archive.com/ruby-talk@ruby-lang.org/") , ("https://example.org/?anchor=lala-", autolink "https://example.org/?anchor=lala-") , ("https://example.org/?anchor=-lala", autolink "https://example.org/?anchor=-lala") ] {- p_markdown_round_trip :: Block -> Bool p_markdown_round_trip b = matches d' d'' where d' = normalize $ Pandoc (Meta [] [] []) [b] d'' = normalize $ readMarkdown def { readerSmart = True } $ writeMarkdown def d' matches (Pandoc _ [Plain []]) (Pandoc _ []) = True matches (Pandoc _ [Para []]) (Pandoc _ []) = True matches (Pandoc _ [Plain xs]) (Pandoc _ [Para xs']) = xs == xs' matches x y = x == y -} tests :: [TestTree] tests = [ testGroup "inline code" [ "with attribute" =: "`document.write(\"Hello\");`{.javascript}" =?> para (codeWith ("",["javascript"],[]) "document.write(\"Hello\");") , "with attribute space" =: "`*` {.haskell .special x=\"7\"}" =?> para (code "*" <> space <> str "{.haskell" <> space <> str ".special" <> space <> str "x=\"7\"}") ] , testGroup "emph and strong" [ "two strongs in emph" =: "***a**b **c**d*" =?> para (emph (strong (str "a") <> str "b" <> space <> strong (str "c") <> str "d")) , "emph and strong emph alternating" =: "*xxx* ***xxx*** xxx\n*xxx* ***xxx*** xxx" =?> para (emph "xxx" <> space <> strong (emph "xxx") <> space <> "xxx" <> softbreak <> emph "xxx" <> space <> strong (emph "xxx") <> space <> "xxx") , "emph with spaced strong" =: "*x **xx** x*" =?> para (emph ("x" <> space <> strong "xx" <> space <> "x")) , "intraword underscore with opening underscore (#1121)" =: "_foot_ball_" =?> para (emph (text "foot_ball")) ] , testGroup "raw LaTeX" [ "in URL" =: "\\begin\n" =?> para (text "\\begin") ] , testGroup "raw HTML" [ "nesting (issue #1330)" =: "test" =?> rawBlock "html" "" <> plain (str "test") <> rawBlock "html" "" , "invalid tag (issue #1820" =: "" =?> para (text "") , "technically invalid comment" =: "" =?> rawBlock "html" "" , test markdownGH "issue 2469" $ "<\n\na>" =?> para (text "<") <> para (text "a>") ] , testGroup "raw email addresses" [ test markdownGH "issue 2940" $ "**@user**" =?> para (strong (text "@user")) ] , testGroup "emoji" [ test markdownGH "emoji symbols" $ ":smile: and :+1:" =?> para (spanWith ("", ["emoji"], [("data-emoji", "smile")]) "😄" <> space <> str "and" <> space <> spanWith ("", ["emoji"], [("data-emoji", "+1")]) "👍") ] , "unbalanced brackets" =: "[[[[[[[[[[[[hi" =?> para (text "[[[[[[[[[[[[hi") , testGroup "backslash escapes" [ "in URL" =: "[hi](/there\\))" =?> para (link "/there)" "" "hi") , "in title" =: "[hi](/there \"a\\\"a\")" =?> para (link "/there" "a\"a" "hi") , "in reference link title" =: "[hi]\n\n[hi]: /there (a\\)a)" =?> para (link "/there" "a)a" "hi") , "in reference link URL" =: "[hi]\n\n[hi]: /there\\.0" =?> para (link "/there.0" "" "hi") ] , testGroup "bare URIs" (map testBareLink bareLinkTests) , testGroup "autolinks" [ "with unicode dash following" =: "\8212" =?> para (autolink "http://foo.bar" <> str "\8212") , "a partial URL (#2277)" =: "" =?> para (text "") , "with some attributes" =: "{#i .j .z k=v}" =?> para (autolinkWith ("i", ["j", "z"], [("k", "v")]) "http://foo.bar") , "with some attributes and spaces" =: " {#i .j .z k=v}" =?> para (autolink "http://foo.bar" <> space <> text "{#i .j .z k=v}") ] , testGroup "links" [ "no autolink inside link" =: "[](url)" =?> para (link "url" "" (text "")) , "no inline link inside link" =: "[[a](url2)](url)" =?> para (link "url" "" (text "[a](url2)")) , "no bare URI inside link" =: "[https://example.org(](url)" =?> para (link "url" "" (text "https://example.org(")) ] , testGroup "Headers" [ "blank line before header" =: "\n# Header\n" =?> headerWith ("header",[],[]) 1 "Header" , "bracketed text (#2062)" =: "# [hi]\n" =?> headerWith ("hi",[],[]) 1 "[hi]" , "ATX header without trailing #s" =: "# Foo bar\n\n" =?> headerWith ("foo-bar",[],[]) 1 "Foo bar" , "ATX header without trailing #s" =: "# Foo bar with # #" =?> headerWith ("foo-bar-with",[],[]) 1 "Foo bar with #" , "setext header" =: "Foo bar\n=\n\n Foo bar 2 \n=" =?> headerWith ("foo-bar",[],[]) 1 "Foo bar" <> headerWith ("foo-bar-2",[],[]) 1 "Foo bar 2" ] , testGroup "Implicit header references" [ "ATX header without trailing #s" =: "# Header\n[header]\n\n[header ]\n\n[ header]" =?> headerWith ("header",[],[]) 1 "Header" <> para (link "#header" "" (text "header")) <> para (link "#header" "" (text "header")) <> para (link "#header" "" (text "header")) , "ATX header with trailing #s" =: "# Foo bar #\n[foo bar]\n\n[foo bar ]\n\n[ foo bar]" =?> headerWith ("foo-bar",[],[]) 1 "Foo bar" <> para (link "#foo-bar" "" (text "foo bar")) <> para (link "#foo-bar" "" (text "foo bar")) <> para (link "#foo-bar" "" (text "foo bar")) , "setext header" =: " Header \n=\n\n[header]\n\n[header ]\n\n[ header]" =?> headerWith ("header",[],[]) 1 "Header" <> para (link "#header" "" (text "header")) <> para (link "#header" "" (text "header")) <> para (link "#header" "" (text "header")) ] , testGroup "smart punctuation" [ test markdownSmart "quote before ellipses" ("'...hi'" =?> para (singleQuoted "…hi")) , test markdownSmart "apostrophe before emph" ("D'oh! A l'*aide*!" =?> para ("D’oh! A l’" <> emph "aide" <> "!")) , test markdownSmart "apostrophe in French" ("À l'arrivée de la guerre, le thème de l'«impossibilité du socialisme»" =?> para "À l’arrivée de la guerre, le thème de l’«impossibilité du socialisme»") , test markdownSmart "apostrophe after math" $ -- issue #1909 "The value of the $x$'s and the systems' condition." =?> para (text "The value of the " <> math "x" <> text "\8217s and the systems\8217 condition.") , test markdownSmart "unclosed double quote" ("**this should \"be bold**" =?> para (strong "this should \"be bold")) ] , testGroup "footnotes" [ "indent followed by newline and flush-left text" =: "[^1]\n\n[^1]: my note\n\n \nnot in note\n" =?> para (note (para "my note")) <> para "not in note" , "indent followed by newline and indented text" =: "[^1]\n\n[^1]: my note\n \n in note\n" =?> para (note (para "my note" <> para "in note")) , "recursive note" =: "[^1]\n\n[^1]: See [^1]\n" =?> para (note (para "See [^1]")) ] , testGroup "lhs" [ test (purely $ readMarkdown def{ readerExtensions = enableExtension Ext_literate_haskell pandocExtensions }) "inverse bird tracks and html" $ "> a\n\n< b\n\n

    \n" =?> codeBlockWith ("",["haskell","literate"],[]) "a" <> codeBlockWith ("",["haskell"],[]) "b" <> rawBlock "html" "
    \n\n" ] -- the round-trip properties frequently fail -- , testGroup "round trip" -- [ property "p_markdown_round_trip" p_markdown_round_trip -- ] , testGroup "definition lists" [ "no blank space" =: "foo1\n : bar\n\nfoo2\n : bar2\n : bar3\n" =?> definitionList [ (text "foo1", [plain (text "bar")]) , (text "foo2", [plain (text "bar2"), plain (text "bar3")]) ] , "blank space before first def" =: "foo1\n\n : bar\n\nfoo2\n\n : bar2\n : bar3\n" =?> definitionList [ (text "foo1", [para (text "bar")]) , (text "foo2", [para (text "bar2"), plain (text "bar3")]) ] , "blank space before second def" =: "foo1\n : bar\n\nfoo2\n : bar2\n\n : bar3\n" =?> definitionList [ (text "foo1", [plain (text "bar")]) , (text "foo2", [plain (text "bar2"), para (text "bar3")]) ] , "laziness" =: "foo1\n : bar\nbaz\n : bar2\n" =?> definitionList [ (text "foo1", [plain (text "bar" <> softbreak <> text "baz"), plain (text "bar2")]) ] , "no blank space before first of two paragraphs" =: "foo1\n : bar\n\n baz\n" =?> definitionList [ (text "foo1", [para (text "bar") <> para (text "baz")]) ] , "first line not indented" =: "foo\n: bar\n" =?> definitionList [ (text "foo", [plain (text "bar")]) ] , "list in definition" =: "foo\n: - bar\n" =?> definitionList [ (text "foo", [bulletList [plain (text "bar")]]) ] , "in div" =: "
    foo\n: - bar\n
    " =?> divWith nullAttr (definitionList [ (text "foo", [bulletList [plain (text "bar")]]) ]) ] , testGroup "+compact_definition_lists" [ test markdownCDL "basic compact list" $ "foo1\n: bar\n baz\nfoo2\n: bar2\n" =?> definitionList [ (text "foo1", [plain (text "bar" <> softbreak <> text "baz")]) , (text "foo2", [plain (text "bar2")]) ] ] , testGroup "lists" [ "issue #1154" =: " -
    \n first div breaks\n
    \n\n \n\n
    \n with this div too.\n
    \n" =?> bulletList [divWith nullAttr (para $ text "first div breaks") <> rawBlock "html" "" <> divWith nullAttr (para $ text "with this div too.")] , test markdownGH "issue #1636" $ T.unlines [ "* a" , "* b" , "* c" , " * d" ] =?> bulletList [ plain "a" , plain "b" , plain "c" <> bulletList [plain "d"] ] ] , testGroup "entities" [ "character references" =: "⟨ ö" =?> para (text "\10216 ö") , "numeric" =: ",DD" =?> para (text ",DD") , "in link title" =: "[link](/url \"title ⟨ ö ,\")" =?> para (link "/url" "title \10216 ö ," (text "link")) ] , testGroup "citations" [ "simple" =: "@item1" =?> para (cite [ Citation{ citationId = "item1" , citationPrefix = [] , citationSuffix = [] , citationMode = AuthorInText , citationNoteNum = 0 , citationHash = 0 } ] "@item1") , "key starts with digit" =: "@1657:huyghens" =?> para (cite [ Citation{ citationId = "1657:huyghens" , citationPrefix = [] , citationSuffix = [] , citationMode = AuthorInText , citationNoteNum = 0 , citationHash = 0 } ] "@1657:huyghens") ] , let citation = cite [Citation "cita" [] [] AuthorInText 0 0] (str "@cita") in testGroup "footnote/link following citation" -- issue #2083 [ "footnote" =: T.unlines [ "@cita[^note]" , "" , "[^note]: note" ] =?> para ( citation <> note (para $ str "note") ) , "normal link" =: "@cita [link](http://www.com)" =?> para ( citation <> space <> link "http://www.com" "" (str "link") ) , "reference link" =: T.unlines [ "@cita [link][link]" , "" , "[link]: http://www.com" ] =?> para ( citation <> space <> link "http://www.com" "" (str "link") ) , "short reference link" =: T.unlines [ "@cita [link]" , "" , "[link]: http://www.com" ] =?> para ( citation <> space <> link "http://www.com" "" (str "link") ) , "implicit header link" =: T.unlines [ "# Header" , "@cita [Header]" ] =?> headerWith ("header",[],[]) 1 (str "Header") <> para ( citation <> space <> link "#header" "" (str "Header") ) , "regular citation" =: "@cita [foo]" =?> para ( cite [Citation "cita" [] [Str "foo"] AuthorInText 0 0] (str "@cita" <> space <> str "[foo]") ) ] ] pandoc-2.9.2.1/test/Tests/Readers/Muse.hs000066400000000000000000001710561363630463000200600ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Muse Copyright : © 2017-2020 Alexander Krotov License : GNU GPL, version 2 or above Maintainer : Alexander Krotov Stability : alpha Portability : portable Tests for the Muse reader. -} module Tests.Readers.Muse (tests) where import Prelude import Data.List (intersperse) import Data.Monoid (Any (..)) import Data.Text (Text) import qualified Data.Text as T import Test.Tasty import Test.Tasty.QuickCheck import Test.Tasty.Options (IsOption(defaultValue)) import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder import Text.Pandoc.Shared (underlineSpan) import Text.Pandoc.Walk amuse :: Text -> Pandoc amuse = purely $ readMuse def { readerExtensions = extensionsFromList [Ext_amuse]} emacsMuse :: Text -> Pandoc emacsMuse = purely $ readMuse def { readerExtensions = emptyExtensions } infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test amuse spcSep :: [Inlines] -> Inlines spcSep = mconcat . intersperse space -- Tables don't round-trip yet -- makeRoundTrip :: Block -> Block makeRoundTrip t@(Table _caption aligns widths headers rows) = if isSimple && numcols > 1 then t else Para [Str "table was here"] where numcols = maximum (length aligns : length widths : map length (headers:rows)) hasSimpleCells = all isSimpleCell (concat (headers:rows)) isLineBreak LineBreak = Any True isLineBreak _ = Any False hasLineBreak = getAny . query isLineBreak isSimple = hasSimpleCells && all (== 0) widths isSimpleCell [Plain ils] = not (hasLineBreak ils) isSimpleCell [Para ils ] = not (hasLineBreak ils) isSimpleCell [] = True isSimpleCell _ = False makeRoundTrip (OrderedList (start, LowerAlpha, _) items) = OrderedList (start, Decimal, Period) items makeRoundTrip (OrderedList (start, UpperAlpha, _) items) = OrderedList (start, Decimal, Period) items makeRoundTrip x = x -- Demand that any AST produced by Muse reader and written by Muse writer can be read back exactly the same way. -- Currently we remove tables and compare first rewrite to the second. roundTrip :: Blocks -> Bool roundTrip b = d' == d'' where d = walk makeRoundTrip $ Pandoc nullMeta $ toList b d' = rewrite d d'' = rewrite d' rewrite = amuse . T.pack . (++ "\n") . T.unpack . purely (writeMuse def { writerExtensions = extensionsFromList [Ext_amuse] , writerWrapText = WrapPreserve }) tests :: [TestTree] tests = [ testGroup "Inlines" [ "Plain String" =: "Hello, World" =?> para "Hello, World" , "Muse is not XML" =: "<" =?> para "<" , "Emphasis" =: "*Foo bar*" =?> para (emph . spcSep $ ["Foo", "bar"]) , "Newline in the beginning of emphasis" =: "*\nFoo bar*" =?> para (text "*\nFoo bar*") , "Newline in the end of emphasis" =: "*Foo bar\n*" =?> para (text "*Foo bar\n*") , "Comma after closing *" =: "Foo *bar*, baz" =?> para ("Foo " <> emph "bar" <> ", baz") , "Letter after closing *" =: "Foo *bar*x baz" =?> para "Foo *bar*x baz" , "Letter before opening *" =: "Foo x*bar* baz" =?> para "Foo x*bar* baz" , "Digit after closing *" =: "Foo *bar*0 baz" =?> para "Foo *bar*0 baz" , "Emphasis tag" =: "Foo bar" =?> para (emph . spcSep $ ["Foo", "bar"]) , "Strong" =: "**Cider**" =?> para (strong "Cider") , "Strong tag" =: "Strong" =?> para (strong "Strong") , "Strong Emphasis" =: "***strength***" =?> para (strong . emph $ "strength") , "Strong inside emphasis" =: "*foo **bar** baz*" =?> para (emph (text "foo " <> strong (text "bar") <> text " baz")) , "Emphasis inside strong" =: "**foo *bar* baz**" =?> para (strong (text "foo " <> emph (text "bar") <> text " baz")) , "Opening asterisk can't be preceded by another one" =: "**foo*" =?> para "**foo*" , "Asterisk between words does not terminate emphasis" =: "*foo*bar*" =?> para (emph "foo*bar") , "Two asterisks between words do not terminate emphasis" =: "*foo**bar*" =?> para (emph "foo**bar") , "Three asterisks between words do not terminate emphasis" =: "*foo***bar*" =?> para (emph "foo***bar") , "Two asterisks between words do not terminate strong" =: "**foo**bar**" =?> para (strong "foo**bar") , "Three asterisks between words do not terminate strong" =: "**foo***bar**" =?> para (strong "foo***bar") , "Three asterisks between words do not terminate strong emphasis" =: "***foo***bar***" =?> para (strong . emph $ "foo***bar") , "Six asterisks between words do not terminate strong emphasis" =: "***foo******bar***" =?> para (strong . emph $ "foo******bar") , test emacsMuse "Underline" ("_Underline_" =?> para (underlineSpan "Underline")) , "Superscript tag" =: "Superscript" =?> para (superscript "Superscript") , "Subscript tag" =: "Subscript" =?> para (subscript "Subscript") , "Strikeout tag" =: "Strikeout" =?> para (strikeout "Strikeout") , "Opening inline tags" =: "foo bar baz" =?> para "foo bar baz" , "Closing inline tags" =: "foo bar baz" =?> para "foo bar baz" , "Tag soup" =: "foo bar
    baz" =?> para "foo bar baz" -- Both inline tags must be within the same paragraph , "No multiparagraph inline tags" =: T.unlines [ "First line" , "Second line" , "" , "Fourth line" ] =?> para "First line\nSecond line" <> para "Fourth line" , "Linebreak" =: "Line
    break" =?> para ("Line" <> linebreak <> "break") , "Trailing whitespace inside paragraph" =: T.unlines [ "First line " -- trailing whitespace here , "second line" ] =?> para "First line\nsecond line" , "Non-breaking space" =: "Foo~~bar" =?> para "Foo\160bar" , "Single ~" =: "Foo~bar" =?> para "Foo~bar" , testGroup "Code markup" [ "Code" =: "=foo(bar)=" =?> para (code "foo(bar)") , "Not code" =: "a=b= =c=d" =?> para (text "a=b= =c=d") -- Emacs Muse 3.20 parses this as code, we follow Amusewiki , "Not code if closing = is detached" =: "=this is not a code =" =?> para "=this is not a code =" , "Not code if opening = is detached" =: "= this is not a code=" =?> para "= this is not a code=" , "Code if followed by comma" =: "Foo =bar=, baz" =?> para (text "Foo " <> code "bar" <> text ", baz") , "Not code if followed by digit" =: "Foo =bar=0 baz" =?> para (text "Foo =bar=0 baz") , "One character code" =: "=c=" =?> para (code "c") , "Code with equal sign" =: "=foo = bar=" =?> para (code "foo = bar") , "Three = characters is not a code" =: "===" =?> para "===" , "Multiline code markup" =: "foo =bar\nbaz= end of code" =?> para (text "foo " <> code "bar\nbaz" <> text " end of code") {- Emacs Muse 3.20 has a bug: it publishes -

    foo bar - - baz foo

    - which is displayed as one paragraph by browsers. - We follow Amusewiki here and avoid joining paragraphs. -} , "No multiparagraph code" =: T.unlines [ "foo =bar" , "" , "baz= foo" ] =?> para "foo =bar" <> para "baz= foo" , "Code at the beginning of paragraph but not first column" =: " - =foo=" =?> bulletList [ para $ code "foo" ] ] , "Code tag" =: "foo(bar)" =?> para (code "foo(bar)") , "Math tag" =: "\\sum_{i=0}^n i^2" =?> para (math "\\sum_{i=0}^n i^2") , "Verbatim tag" =: "***" =?> para (emph "*") , "Verbatim inside code" =: "foo" =?> para (code "foo") , "Verbatim tag after text" =: "Foo bar" =?> para "Foo bar" , "Verbatim tag escapes block level markup" =: T.unlines [ "Foo bar" , "* Not a heading" , "baz" ] =?> para "Foo bar\n* Not a heading\nbaz" , "Class tag" =: "bar" =?> para (spanWith ("", ["foo"], []) "bar") , "Class tag without name" =: "foobar" =?> para (spanWith ("", [], []) "foobar") , "RTL" =: "<<>>" =?> para (spanWith ("", [], [("dir", "rtl")]) "foo bar") , "LTR" =: ">>>foo bar<<<" =?> para (spanWith ("", [], [("dir", "ltr")]) "foo bar") -- tag should match with the last tag, not verbatim one , "Nested \"
    \" inside em tag" =: "foobar
    " =?> para (emph "foobar") , testGroup "Links" [ "Link without description" =: "[[https://amusewiki.org/]]" =?> para (link "https://amusewiki.org/" "" (str "https://amusewiki.org/")) , "Link with description" =: "[[https://amusewiki.org/][A Muse Wiki]]" =?> para (link "https://amusewiki.org/" "" (text "A Muse Wiki")) , "Link with empty description" =: "[[https://amusewiki.org/][]]" =?> para (link "https://amusewiki.org/" "" (text "")) , "Image" =: "[[image.jpg]]" =?> para (image "image.jpg" "" mempty) , "Closing bracket is not allowed in image filename" =: "[[foo]bar.jpg]]" =?> para (text "[[foo]bar.jpg]]") , "Image with description" =: "[[image.jpg][Image]]" =?> para (image "image.jpg" "" (text "Image")) , "Image with space in filename" =: "[[image name.jpg]]" =?> para (image "image name.jpg" "" mempty) , "Image with width" =: "[[image.jpg 60]]" =?> para (imageWith ("", [], [("width", "60%")]) "image.jpg" mempty mempty) , "At least one space is required between image filename and width" =: "[[image.jpg60]]" =?> para (link "image.jpg60" mempty (str "image.jpg60")) , "Left-aligned image with width" =: "[[image.png 60 l][Image]]" =?> para (imageWith ("", ["align-left"], [("width", "60%")]) "image.png" "" (str "Image")) , "Right-aligned image with width" =: "[[image.png 60 r][Image]]" =?> para (imageWith ("", ["align-right"], [("width", "60%")]) "image.png" "" (str "Image")) , "Image link" =: "[[URL:image.jpg]]" =?> para (link "image.jpg" "" (str "image.jpg")) , "Image link with description" =: "[[URL:image.jpg][Image]]" =?> para (link "image.jpg" "" (text "Image")) -- Implicit links are supported in Emacs Muse, but not in Amusewiki: -- https://github.com/melmothx/text-amuse/issues/18 -- -- This test also makes sure '=' without whitespace is not treated as code markup , "No implicit links" =: "http://example.org/index.php?action=view&id=1" =?> para "http://example.org/index.php?action=view&id=1" , "Link with empty URL" =: "[[][empty URL]]" =?> para (link "" "" (text "empty URL")) , "No footnotes inside links" =: "[[https://amusewiki.org/][foo[1]]" =?> para (link "https://amusewiki.org/" "" (text "foo[1")) , "Image inside link" =: "[[https://amusewiki.org/][Image [[image.png][with it's own description]] inside link description]]" =?> para (link "https://amusewiki.org/" "" (text "Image " <> image "image.png" "" (text "with it's own description") <> text " inside link description")) , "Link inside image description" =: "[[image.jpg][Image from [[https://amusewiki.org/]]]]" =?> para (image "image.jpg" "" (text "Image from " <> link "https://amusewiki.org/" "" (str "https://amusewiki.org/"))) ] , testGroup "Literal" [ test emacsMuse "Inline literal" ("Foolitbar" =?> para (text "Foo" <> rawInline "html" "lit" <> text "bar")) , test emacsMuse "Single inline literal in paragraph" ("lit" =?> para (rawInline "html" "lit")) ] ] , testGroup "Blocks" [ askOption $ \(QuickCheckTests numtests) -> testProperty "Round trip" $ withMaxSuccess (if QuickCheckTests numtests == defaultValue then 25 else numtests) roundTrip , "Block elements end paragraphs" =: T.unlines [ "First paragraph" , "----" , "Second paragraph" ] =?> para (text "First paragraph") <> horizontalRule <> para (text "Second paragraph") , testGroup "Horizontal rule" [ "Less than 4 dashes is not a horizontal rule" =: "---" =?> para (text "---") , "4 dashes is a horizontal rule" =: "----" =?> horizontalRule , "5 dashes is a horizontal rule" =: "-----" =?> horizontalRule , "4 dashes with spaces is a horizontal rule" =: "---- " =?> horizontalRule ] , testGroup "Page breaks" [ "Page break" =: " * * * * *" =?> divWith ("", [], [("style", "page-break-before: always;")]) mempty , "Page break with trailing space" =: " * * * * * " =?> divWith ("", [], [("style", "page-break-before: always;")]) mempty ] , testGroup "Paragraphs" [ "Simple paragraph" =: T.unlines [ "First line" , "second line." ] =?> para "First line\nsecond line." , "Indented paragraph" =: T.unlines [ " First line" , "second line." ] =?> para "First line\nsecond line." -- Emacs Muse starts a blockquote on the second line. -- We copy Amusewiki behavior and require a blank line to start a blockquote. , "Indentation in the middle of paragraph" =: T.unlines [ "First line" , " second line" , "third line" ] =?> para "First line\nsecond line\nthird line" , "Quote" =: " This is a quotation\n" =?> blockQuote (para "This is a quotation") , "Indentation does not indicate quote inside quote tag" =: T.unlines [ "" , " Not a nested quote" , "" ] =?> blockQuote (para "Not a nested quote") , "Multiline quote" =: T.unlines [ " This is a quotation" , " with a continuation" ] =?> blockQuote (para "This is a quotation\nwith a continuation") , testGroup "Div" [ "Div without id" =: T.unlines [ "
    " , "Foo bar" , "
    " ] =?> divWith nullAttr (para "Foo bar") , "Div with id" =: T.unlines [ "
    " , "Foo bar" , "
    " ] =?> divWith ("foo", [], []) (para "Foo bar") ] , "Biblio" =: T.unlines [ "" , "" , "Author, *Title*, description" , "" , "Another author, *Another title*, another description" , "" , "" ] =?> divWith ("", ["biblio"], []) (para (text "Author, " <> emph "Title" <> ", description") <> para (text "Another author, " <> emph "Another title" <> text ", another description")) , "Play" =: T.unlines [ "" , "Foo bar" , "" ] =?> divWith ("", ["play"], []) (para "Foo bar") , "Verse" =: T.unlines [ "> This is" , "> First stanza" , ">" -- Emacs produces verbatim ">" here, we follow Amusewiki , "> And this is" , "> Second stanza" , ">" , "" , ">" , "" , "> Another verse" , "> is here" ] =?> lineBlock [ "This is" , "First stanza" , "" , "And this is" , "\160\160Second stanza" , "" ] <> lineBlock [ "" ] <> lineBlock [ "Another verse" , "\160\160\160is here" ] ] , "Verse in list" =: " - > foo" =?> bulletList [ lineBlock [ "foo" ] ] , "Verse line starting with emphasis" =: "> *foo* bar" =?> lineBlock [ emph "foo" <> text " bar" ] , "Multiline verse in list" =: T.unlines [ " - > foo" , " > bar" ] =?> bulletList [ lineBlock [ "foo", "bar" ] ] , "Paragraph after verse in list" =: T.unlines [ " - > foo" , " bar" ] =?> bulletList [ lineBlock [ "foo" ] <> para "bar" ] , "Empty quote tag" =: T.unlines [ "" , "" ] =?> blockQuote mempty , "Quote tag" =: T.unlines [ "" , "Hello, world" , "" ] =?> blockQuote (para $ text "Hello, world") , "Nested quote tag" =: T.unlines [ "" , "foo" , "" , "bar" , "" , "baz" , "" ] =?> blockQuote (para "foo" <> blockQuote (para "bar") <> para "baz") , "Indented quote inside list" =: T.unlines [ " - " , " foo" , " " ] =?> bulletList [ blockQuote (para "foo") ] , "Verse tag" =: T.unlines [ "" , "" , "Foo bar baz" , " One two three" , "" , "" ] =?> lineBlock [ "" , text "Foo bar baz" , text "\160\160One two three" , "" ] , "Verse tag with empty line inside" =: T.unlines [ "" , "" , "" ] =?> lineBlock [ "" ] , "Verse tag with verbatim close tag inside" =: T.unlines [ "" , "" , "" ] =?> lineBlock [ "" ] , testGroup "Example" [ "Braces on separate lines" =: T.unlines [ "{{{" , "Example line" , "}}}" ] =?> codeBlock "Example line" , "Spaces after opening braces" =: T.unlines [ "{{{ " , "Example line" , "}}}" ] =?> codeBlock "Example line" , "One blank line in the beginning" =: T.unlines [ "{{{" , "" , "Example line" , "}}}" ] =?> codeBlock "\nExample line" , "One blank line in the end" =: T.unlines [ "{{{" , "Example line" , "" , "}}}" ] =?> codeBlock "Example line\n" , "Indented braces" =: T.unlines [ " - {{{" , " Example line" , " }}}" ] =?> bulletList [ codeBlock "Example line" ] , "Tabs" =: T.unlines [ "{{{" , "\t foo" , "\t\t" , "\t bar" , "}}}" ] =?> codeBlock " foo\n\t\n bar" -- Amusewiki requires braces to be on separate line, -- this is an extension. , "One line" =: "{{{Example line}}}" =?> codeBlock "Example line" ] , testGroup "Example tag" [ "Tags on separate lines" =: T.unlines [ "" , "Example line" , "" ] =?> codeBlock "Example line" , "One line" =: "Example line" =?> codeBlock "Example line" , "One blank line in the beginning" =: T.unlines [ "" , "" , "Example line" , "" ] =?> codeBlock "\nExample line" , "One blank line in the end" =: T.unlines [ "" , "Example line" , "" , "" ] =?> codeBlock "Example line\n" , "Example inside list" =: T.unlines [ " - " , " foo" , " " ] =?> bulletList [ codeBlock "foo" ] , "Empty example inside list" =: T.unlines [ " - " , " " ] =?> bulletList [ codeBlock "" ] , "Example inside list with empty lines" =: T.unlines [ " - " , " foo" , " " , "" , " bar" , "" , " " , " baz" , " " ] =?> bulletList [ codeBlock "foo" <> para "bar" <> codeBlock "baz" ] , "Indented example inside list" =: T.unlines [ " - " , " foo" , " " ] =?> bulletList [ codeBlock "foo" ] , "Example inside definition list" =: T.unlines [ " foo :: " , " bar" , " " ] =?> definitionList [ ("foo", [codeBlock "bar"]) ] , "Example inside list definition with empty lines" =: T.unlines [ " term :: " , " foo" , " " , "" , " bar" , "" , " " , " baz" , " " ] =?> definitionList [ ("term", [codeBlock "foo" <> para "bar" <> codeBlock "baz"]) ] , "Example inside note" =: T.unlines [ "Foo[1]" , "" , "[1] " , " bar" , " " ] =?> para ("Foo" <> note (codeBlock "bar")) ] , testGroup "Literal blocks" [ test emacsMuse "Literal block" (T.unlines [ "" , "\\newpage" , "" ] =?> rawBlock "latex" "\\newpage") ] , "Center" =: T.unlines [ "
    " , "Hello, world" , "
    " ] =?> para (text "Hello, world") , "Right" =: T.unlines [ "" , "Hello, world" , "" ] =?> para (text "Hello, world") , testGroup "Comments" [ "Comment tag" =: "\nThis is a comment\n" =?> (mempty::Blocks) , "Line comment" =: "; Comment" =?> (mempty::Blocks) , "Empty comment" =: ";" =?> (mempty::Blocks) , "Text after empty comment" =: ";\nfoo" =?> para "foo" -- Make sure we don't consume newline while looking for whitespace , "Not a comment (does not start with a semicolon)" =: " ; Not a comment" =?> para (text "; Not a comment") , "Not a comment (has no space after semicolon)" =: ";Not a comment" =?> para (text ";Not a comment") , "Not a comment (semicolon not in the first column)" =: " - ; foo" =?> bulletList [para "; foo"] ] , testGroup "Headers" [ "Part" =: "* First level" =?> header 1 "First level" , "Chapter" =: "** Second level" =?> header 2 "Second level" , "Section" =: "*** Third level" =?> header 3 "Third level" , "Subsection" =: "**** Fourth level" =?> header 4 "Fourth level" , "Subsubsection" =: "***** Fifth level" =?> header 5 "Fifth level" , "Whitespace is required after *" =: "**Not a header" =?> para "**Not a header" , "No headers in footnotes" =: T.unlines [ "Foo[1]" , "[1] * Bar" ] =?> para (text "Foo" <> note (para "* Bar")) , "No headers in quotes" =: T.unlines [ "" , "* Hi" , "" ] =?> blockQuote (para "* Hi") , "Headers consume anchors" =: T.unlines [ "; A comment to make sure anchor is not parsed as a directive" , "#bar" , "** Foo" ] =?> headerWith ("bar",[],[]) 2 "Foo" , "Headers don't consume anchors separated with a blankline" =: T.unlines [ "; A comment to make sure anchor is not parsed as a directive" , "#bar" , "" , "** Foo" ] =?> para (spanWith ("bar", [], []) mempty) <> header 2 "Foo" , "Headers terminate paragraph" =: T.unlines [ "foo" , "* bar" ] =?> para "foo" <> header 1 "bar" , "Headers terminate lists" =: T.unlines [ " - foo" , "* bar" ] =?> bulletList [ para "foo" ] <> header 1 "bar" , test emacsMuse "Paragraphs terminate Emacs Muse headers" (T.unlines [ "* Foo" , "bar" ] =?> header 1 "Foo" <> para "bar") , "Paragraphs don't terminate Text::Amuse headers" =: T.unlines [ "* Foo" , "bar" ] =?> header 1 "Foo\nbar" , "Empty header" =: T.unlines [ "Foo" , "" , "* " , "" , "bar" ] =?> para (text "Foo") <> header 1 "" <> para (text "bar") , test (purely $ readMuse def { readerExtensions = extensionsFromList [Ext_amuse, Ext_auto_identifiers]}) "Auto identifiers" (T.unlines [ "* foo" , "** Foo" , "* bar" , "** foo" , "* foo" ] =?> headerWith ("foo",[],[]) 1 "foo" <> headerWith ("foo-1",[],[]) 2 "Foo" <> headerWith ("bar",[],[]) 1 "bar" <> headerWith ("foo-2",[],[]) 2 "foo" <> headerWith ("foo-3",[],[]) 1 "foo") ] , testGroup "Directives" [ "Title" =: "#title Document title" =?> let titleInline = toList "Document title" meta = setMeta "title" (MetaInlines titleInline) nullMeta in Pandoc meta mempty -- Emacs Muse documentation says that "You can use any combination -- of uppercase and lowercase letters for directives", -- but also allows '-', which is not documented, but used for disable-tables. , test emacsMuse "Disable tables" ("#disable-tables t" =?> Pandoc (setMeta "disable-tables" (MetaInlines $ toList "t") nullMeta) mempty) , "Multiple directives" =: T.unlines [ "#title Document title" , "#subtitle Document subtitle" ] =?> Pandoc (setMeta "title" (MetaInlines $ toList "Document title") $ setMeta "subtitle" (MetaInlines $ toList "Document subtitle") nullMeta) mempty , "Multiline directive" =: T.unlines [ "#title Document title" , "#notes First line" , "and second line" , "#author Name" ] =?> Pandoc (setMeta "title" (MetaInlines $ toList "Document title") $ setMeta "notes" (MetaInlines $ toList "First line\nand second line") $ setMeta "author" (MetaInlines $ toList "Name") nullMeta) mempty , "Amusewiki's #cover is translated to pandoc's #cover-image" =: "#cover cover.png" =?> let titleInline = toList "cover.png" meta = setMeta "cover-image" (MetaInlines titleInline) nullMeta in Pandoc meta mempty ] , testGroup "Anchors" [ "Anchor" =: T.unlines [ "; A comment to make sure anchor is not parsed as a directive" , "#anchor Target" ] =?> para (spanWith ("anchor", [], []) mempty <> "Target") , "Anchor cannot start with a number" =: T.unlines [ "; A comment to make sure anchor is not parsed as a directive" , "#0notanchor Target" ] =?> para "#0notanchor Target" , "Not anchor if starts with a space" =: " #notanchor Target" =?> para "#notanchor Target" , "Anchor inside a paragraph" =: T.unlines [ "Paragraph starts here" , "#anchor and ends here." ] =?> para ("Paragraph starts here\n" <> spanWith ("anchor", [], []) mempty <> "and ends here.") , "Anchor with \"-\"" =: T.unlines [ "; A comment to make sure anchor is not parsed as a directive" , "#anchor-id Target" ] =?> para (spanWith ("anchor-id", [], []) mempty <> "Target") ] , testGroup "Footnotes" [ "Simple footnote" =: T.unlines [ "Here is a footnote[1]." , "" , "[1] Footnote contents" ] =?> para (text "Here is a footnote" <> note (para "Footnote contents") <> str ".") , "Simple secondary footnote" =: T.unlines [ "Here is a secondary note{1}." , "" , "{1} Secondary note contents" ] =?> para (text "Here is a secondary note" <> note (para "Secondary note contents") <> str ".") , "Missing footnote" =: "Foo[1]" =?> para "Foo[1]" , "Missing secondary note" =: "Foo{1}" =?> para "Foo{1}" , "Wrong note type" =: T.unlines [ "Here is a secondary note{1}" , "" , "Footnote contents[1]" ] =?> para "Here is a secondary note{1}" <> para "Footnote contents[1]" , "Recursive footnote" =: T.unlines [ "Start recursion here[1]" , "" , "[1] Recursion continues here[1]" ] =?> para (text "Start recursion here" <> note (para "Recursion continues here[1]")) , "Nested footnotes" =: T.unlines [ "Footnote: [1]" , "" , "[1] Nested: [2]" , "" , "[2] No recursion: [1]" ] =?> para (text "Footnote: " <> note (para (text "Nested: " <> note (para $ text "No recursion: [1]")))) , "No zero footnotes" =: T.unlines [ "Here is a footnote[0]." , "" , "[0] Footnote contents" ] =?> para "Here is a footnote[0]." <> para "[0] Footnote contents" , "Footnotes can't start with zero" =: T.unlines [ "Here is a footnote[01]." , "" , "[01] Footnote contents" ] =?> para "Here is a footnote[01]." <> para "[01] Footnote contents" , testGroup "Multiparagraph footnotes" [ "Amusewiki multiparagraph footnotes" =: T.unlines [ "Multiparagraph[1] footnotes[2]" , "" , "[1] First footnote paragraph" , "" , " Second footnote paragraph" , "with continuation" , "" , "Not a note" , "[2] Second footnote" ] =?> para (text "Multiparagraph" <> note (para "First footnote paragraph" <> para "Second footnote paragraph\nwith continuation") <> text " footnotes" <> note (para "Second footnote")) <> para (text "Not a note") -- Verse requires precise indentation, so it is good to test indentation requirements , "Note continuation with verse" =: T.unlines [ "Foo[1]" , "" , "[1] Bar" , "" , " > Baz" ] =?> para ("Foo" <> note (para "Bar" <> lineBlock ["Baz"])) , "Footnote ending in self-terminating element and followed by paragraph" =: T.unlines [ "Foo[1]" , "" , "[1] > bar" , "baz" ] =?> para (str "Foo" <> note (lineBlock ["bar"])) <> para (str "baz") , "Footnote starting with empty line" =: T.unlines [ "Foo[1]" , "" , "[1]" -- No space character after note marker , "" , " Bar" ] =?> para (str "Foo" <> note (para $ text "Bar")) , "Indentation in footnote starting with empty line" =: T.unlines [ "Foo[1]" , "" , "[1]" -- No space character after note marker , "" , " Bar" ] =?> para (str "Foo" <> note mempty) <> blockQuote (para $ text "Bar") , test emacsMuse "Emacs multiparagraph footnotes" (T.unlines [ "First footnote reference[1] and second footnote reference[2]." , "" , "[1] First footnote paragraph" , "" , "Second footnote" , "paragraph" , "" , "[2] Third footnote paragraph" , "" , "Fourth footnote paragraph" ] =?> para (text "First footnote reference" <> note (para "First footnote paragraph" <> para "Second footnote\nparagraph") <> text " and second footnote reference" <> note (para "Third footnote paragraph" <> para "Fourth footnote paragraph") <> text ".")) ] ] ] , testGroup "Tables" [ "Two cell table" =: "One | Two" =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[plain "One", plain "Two"]] , "Table with multiple words" =: "One two | three four" =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[plain "One two", plain "three four"]] , "Not a table" =: "One| Two" =?> para (text "One| Two") , "Not a table again" =: "One |Two" =?> para (text "One |Two") , "Two line table" =: T.unlines [ "One | Two" , "Three | Four" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[plain "One", plain "Two"], [plain "Three", plain "Four"]] , "Table with one header" =: T.unlines [ "First || Second" , "Third | Fourth" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [plain "First", plain "Second"] [[plain "Third", plain "Fourth"]] , "Table with two headers" =: T.unlines [ "First || header" , "Second || header" , "Foo | bar" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [plain "First", plain "header"] [[plain "Second", plain "header"], [plain "Foo", plain "bar"]] , "Header and footer reordering" =: T.unlines [ "Foo ||| bar" , "Baz || foo" , "Bar | baz" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [plain "Baz", plain "foo"] [[plain "Bar", plain "baz"], [plain "Foo", plain "bar"]] , "Table with caption" =: T.unlines [ "Foo || bar || baz" , "First | row | here" , "Second | row | there" , "|+ Table caption +|" ] =?> table (text "Table caption") (replicate 3 (AlignDefault, 0.0)) [plain "Foo", plain "bar", plain "baz"] [[plain "First", plain "row", plain "here"], [plain "Second", plain "row", plain "there"]] , "Table caption with +" =: T.unlines [ "Foo | bar" , "|+ Table + caption +|" ] =?> table (text "Table + caption") (replicate 2 (AlignDefault, 0.0)) [] [[plain "Foo", plain "bar"]] , "Caption without table" =: "|+ Foo bar baz +|" =?> table (text "Foo bar baz") [] [] [] , "Table indented with space" =: T.unlines [ " Foo | bar" , " Baz | foo" , " Bar | baz" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[plain "Foo", plain "bar"], [plain "Baz", plain "foo"], [plain "Bar", plain "baz"]] , "Empty cells" =: T.unlines [ " | Foo" , " |" , " bar |" , " || baz" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [plain "", plain "baz"] [[plain "", plain "Foo"], [plain "", plain ""], [plain "bar", plain ""]] , "Empty cell in the middle" =: T.unlines [ " 1 | 2 | 3" , " 4 | | 6" , " 7 | 8 | 9" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[plain "1", plain "2", plain "3"], [plain "4", mempty, plain "6"], [plain "7", plain "8", plain "9"]] , "Grid table" =: T.unlines [ "+-----+-----+" , "| foo | bar |" , "+-----+-----+" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[para "foo", para "bar"]] , "Grid table inside list" =: T.unlines [ " - +-----+-----+" , " | foo | bar |" , " +-----+-----+" ] =?> bulletList [table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[para "foo", para "bar"]]] , "Grid table with two rows" =: T.unlines [ "+-----+-----+" , "| foo | bar |" , "+-----+-----+" , "| bat | baz |" , "+-----+-----+" ] =?> table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[para "foo", para "bar"] ,[para "bat", para "baz"]] , "Grid table inside grid table" =: T.unlines [ "+-----+" , "|+---+|" , "||foo||" , "|+---+|" , "+-----+" ] =?> table mempty [(AlignDefault, 0.0)] [] [[table mempty [(AlignDefault, 0.0)] [] [[para "foo"]]]] , "Grid table with example" =: T.unlines [ "+------------+" , "| |" , "| foo |" , "| |" , "+------------+" ] =?> table mempty [(AlignDefault, 0.0)] [] [[codeBlock "foo"]] ] , testGroup "Lists" [ "Bullet list" =: T.unlines [ " - Item1" , "" , " - Item2" ] =?> bulletList [ para "Item1" , para "Item2" ] , "Ordered list" =: T.unlines [ " 1. Item1" , "" , " 2. Item2" ] =?> orderedListWith (1, Decimal, Period) [ para "Item1" , para "Item2" ] , "Ordered list with implicit numbers" =: T.unlines [ " 1. Item1" , "" , " 1. Item2" , "" , " 1. Item3" ] =?> orderedListWith (1, Decimal, Period) [ para "Item1" , para "Item2" , para "Item3" ] , "Ordered list with roman numerals" =: T.unlines [ " i. First" , " ii. Second" , " iii. Third" , " iv. Fourth" ] =?> orderedListWith (1, LowerRoman, Period) [ para "First" , para "Second" , para "Third" , para "Fourth" ] , "Bullet list with empty items" =: T.unlines [ " -" , "" , " - Item2" ] =?> bulletList [ mempty , para "Item2" ] , "Ordered list with empty items" =: T.unlines [ " 1." , "" , " 2." , "" , " 3. Item3" ] =?> orderedListWith (1, Decimal, Period) [ mempty , mempty , para "Item3" ] , "Bullet list with last item empty" =: T.unlines [ " -" , "" , "foo" ] =?> bulletList [ mempty ] <> para "foo" , testGroup "Nested lists" [ "Nested bullet list" =: T.unlines [ " - Item1" , " - Item2" , " - Item3" , " - Item4" , " - Item5" , " - Item6" ] =?> bulletList [ para "Item1" <> bulletList [ para "Item2" <> bulletList [ para "Item3" ] , para "Item4" <> bulletList [ para "Item5" ] ] , para "Item6" ] , "Nested ordered list" =: T.unlines [ " 1. Item1" , " 1. Item2" , " 1. Item3" , " 2. Item4" , " 1. Item5" , " 2. Item6" ] =?> orderedListWith (1, Decimal, Period) [ para "Item1" <> orderedListWith (1, Decimal, Period) [ para "Item2" <> orderedListWith (1, Decimal, Period) [ para "Item3" ] , para "Item4" <> orderedListWith (1, Decimal, Period) [ para "Item5" ] ] , para "Item6" ] , "Mixed nested list" =: T.unlines [ " - Item1" , " - Item2" , " - Item3" , " - Item4" , " 1. Nested" , " 2. Ordered" , " 3. List" ] =?> bulletList [ mconcat [ para "Item1" , bulletList [ para "Item2" , para "Item3" ] ] , mconcat [ para "Item4" , orderedListWith (1, Decimal, Period) [ para "Nested" , para "Ordered" , para "List" ] ] ] , "Text::Amuse includes only one space in list marker" =: T.unlines [ " - First item" , " - Nested item" ] =?> bulletList [ para "First item" <> bulletList [ para "Nested item"]] ] , "List continuation" =: T.unlines [ " - a" , "" , " b" , "" , " c" ] =?> bulletList [ mconcat [ para "a" , para "b" , para "c" ] ] , "List continuation after nested list" =: T.unlines [ " - - foo" , "" , " bar" ] =?> bulletList [ bulletList [ para "foo" ] <> para "bar" ] -- Emacs Muse allows to separate lists with two or more blank lines. -- Text::Amuse (Amusewiki engine) always creates a single list as of version 0.82. -- pandoc follows Emacs Muse behavior , testGroup "Blank lines" [ "Blank lines between list items are not required" =: T.unlines [ " - Foo" , " - Bar" ] =?> bulletList [ para "Foo" , para "Bar" ] , "One blank line between list items is allowed" =: T.unlines [ " - Foo" , "" , " - Bar" ] =?> bulletList [ para "Foo" , para "Bar" ] , "Two blank lines separate lists" =: T.unlines [ " - Foo" , "" , "" , " - Bar" ] =?> bulletList [ para "Foo" ] <> bulletList [ para "Bar" ] , "No blank line after multiline first item" =: T.unlines [ " - Foo" , " bar" , " - Baz" ] =?> bulletList [ para "Foo\nbar" , para "Baz" ] , "One blank line after multiline first item" =: T.unlines [ " - Foo" , " bar" , "" , " - Baz" ] =?> bulletList [ para "Foo\nbar" , para "Baz" ] , "Two blank lines after multiline first item" =: T.unlines [ " - Foo" , " bar" , "" , "" , " - Baz" ] =?> bulletList [ para "Foo\nbar" ] <> bulletList [ para "Baz" ] , "No blank line after list continuation" =: T.unlines [ " - Foo" , "" , " bar" , " - Baz" ] =?> bulletList [ para "Foo" <> para "bar" , para "Baz" ] , "One blank line after list continuation" =: T.unlines [ " - Foo" , "" , " bar" , "" , " - Baz" ] =?> bulletList [ para "Foo" <> para "bar" , para "Baz" ] , "Two blank lines after list continuation" =: T.unlines [ " - Foo" , "" , " bar" , "" , "" , " - Baz" ] =?> bulletList [ para "Foo" <> para "bar" ] <> bulletList [ para "Baz" ] , "No blank line after blockquote" =: T.unlines [ " - " , " foo" , " " , " - bar" ] =?> bulletList [ blockQuote $ para "foo", para "bar" ] , "One blank line after blockquote" =: T.unlines [ " - " , " foo" , " " , "" , " - bar" ] =?> bulletList [ blockQuote $ para "foo", para "bar" ] , "Two blank lines after blockquote" =: T.unlines [ " - " , " foo" , " " , "" , "" , " - bar" ] =?> bulletList [ blockQuote $ para "foo" ] <> bulletList [ para "bar" ] , "No blank line after verse" =: T.unlines [ " - > foo" , " - bar" ] =?> bulletList [ lineBlock [ "foo" ], para "bar" ] , "One blank line after verse" =: T.unlines [ " - > foo" , "" , " - bar" ] =?> bulletList [ lineBlock [ "foo" ], para "bar" ] , "Two blank lines after verse" =: T.unlines [ " - > foo" , "" , "" , " - bar" ] =?> bulletList [ lineBlock [ "foo" ] ] <> bulletList [ para "bar" ] ] , "List ending in self-terminating element and followed by paragraph" =: T.unlines [ " - > Foo" , "bar" ] =?> bulletList [lineBlock ["Foo"]] <> para (str "bar") -- Test that definition list requires a leading space. -- Emacs Muse does not require a space, we follow Amusewiki here. , "Not a definition list" =: T.unlines [ "First :: second" , "Foo :: bar" ] =?> para "First :: second\nFoo :: bar" , test emacsMuse "Emacs Muse definition list" (T.unlines [ "First :: second" , "Foo :: bar" ] =?> definitionList [ ("First", [ para "second" ]) , ("Foo", [ para "bar" ]) ]) , "Definition list" =: T.unlines [ " First :: second" , " Foo :: bar" ] =?> definitionList [ ("First", [ para "second" ]) , ("Foo", [ para "bar" ]) ] , "Definition list term cannot include newline" =: T.unlines [ " Foo" -- "Foo" is not a part of the definition list term , " Bar :: baz" ] =?> para "Foo" <> definitionList [ ("Bar", [ para "baz" ]) ] , "One-line definition list" =: " foo :: bar" =?> definitionList [ ("foo", [ para "bar" ]) ] , "Definition list term may include single colon" =: " foo:bar :: baz" =?> definitionList [ ("foo:bar", [ para "baz" ]) ] , "Definition list term with emphasis" =: " *Foo* :: bar\n" =?> definitionList [ (emph "Foo", [ para "bar" ]) ] , "Definition list term with :: inside code" =: " foo :: :: bar :: baz\n" =?> definitionList [ ("foo " <> code " :: ", [ para $ "bar " <> code " :: " <> " baz" ]) ] , "Multi-line definition lists" =: T.unlines [ " First term :: Definition of first term" , "and its continuation." , " Second term :: Definition of second term." ] =?> definitionList [ ("First term", [ para "Definition of first term\nand its continuation." ]) , ("Second term", [ para "Definition of second term." ]) ] , "Definition list with verse" =: T.unlines [ " First term :: Definition of first term" , " > First verse" , " > Second line of first verse" , "" , " > Second verse" , " > Second line of second verse" ] =?> definitionList [ ("First term", [ para "Definition of first term" <> lineBlock [ text "First verse" , text "Second line of first verse" ] <> lineBlock [ text "Second verse" , text "Second line of second verse" ] ]) ] , "Definition list with table" =: " foo :: bar | baz" =?> definitionList [ ("foo", [ table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[plain "bar", plain "baz"]] ])] , "Definition list with table inside bullet list" =: " - foo :: bar | baz" =?> bulletList [definitionList [ ("foo", [ table mempty [(AlignDefault, 0.0), (AlignDefault, 0.0)] [] [[plain "bar", plain "baz"]] ])]] , test emacsMuse "Multi-line definition lists from Emacs Muse manual" (T.unlines [ "Term1 ::" , " This is a first definition" , " And it has two lines;" , "no, make that three." , "" , "Term2 :: This is a second definition" ] =?> definitionList [ ("Term1", [ para "This is a first definition\nAnd it has two lines;\nno, make that three."]) , ("Term2", [ para "This is a second definition"]) ]) -- Text::Amuse requires indentation with one space , "Multi-line definition lists from Emacs Muse manual with initial space" =: (T.unlines [ " Term1 ::" , " This is a first definition" , " And it has two lines;" , "no, make that three." , "" , " Term2 :: This is a second definition" ] =?> definitionList [ ("Term1", [ para "This is a first definition\nAnd it has two lines;\nno, make that three."]) , ("Term2", [ para "This is a second definition"]) ]) , "One-line nested definition list" =: " Foo :: bar :: baz" =?> definitionList [ ("Foo", [ definitionList [ ("bar", [ para "baz" ])]])] , "Nested definition list" =: T.unlines [ " First :: Second :: Third" , " Fourth :: Fifth :: Sixth" , " Seventh :: Eighth" ] =?> definitionList [ ("First", [ definitionList [ ("Second", [ para "Third" ]), ("Fourth", [ definitionList [ ("Fifth", [ para "Sixth"] ) ] ] ) ] ] ) , ("Seventh", [ para "Eighth" ]) ] , testGroup "Definition lists with multiple descriptions" [ "Correctly indented second description" =: T.unlines [ " First term :: first description" , " :: second description" ] =?> definitionList [ ("First term", [ para "first description" , para "second description" ]) ] , "Incorrectly indented second description" =: T.unlines [ " First term :: first description" , " :: second description" ] =?> definitionList [ ("First term", [ para "first description" ]) , ("", [ para "second description" ]) ] ] , "Two blank lines separate definition lists" =: T.unlines [ " First :: list" , "" , "" , " Second :: list" ] =?> definitionList [ ("First", [ para "list" ]) ] <> definitionList [ ("Second", [ para "list" ]) ] -- Headers in first column of list continuation are not allowed , "No headers in list continuation" =: T.unlines [ " - Foo" , "" , " * Bar" ] =?> bulletList [ mconcat [ para "Foo" , para "* Bar" ] ] , "Bullet list inside a tag" =: T.unlines [ "" , " - First" , "" , " - Second" , "" , " - Third" , "" ] =?> blockQuote (bulletList [ para "First" , para "Second" , para "Third" ]) , "Ordered list inside a tag" =: T.unlines [ "" , " 1. First" , "" , " 2. Second" , "" , " 3. Third" , "" ] =?> blockQuote (orderedListWith (1, Decimal, Period) [ para "First" , para "Second" , para "Third" ]) -- Regression test for a bug caught by round-trip test , "Do not consume whitespace while looking for end tag" =: T.unlines [ "" , " - " , " foo" , " " , " bar" -- Do not consume whitespace while looking for arbitrarily indented , "" ] =?> blockQuote (bulletList [ blockQuote $ para "foo" ] <> para "bar") , "Unclosed quote tag" =: T.unlines [ "" , "" , "" , "" ] =?> para "" <> lineBlock [ "" ] , "Unclosed quote tag inside list" =: T.unlines [ " - " , " " , " " , " " ] =?> bulletList [ para "" <> lineBlock [ "" ] ] -- Allowing indented closing tags is dangerous, -- as they may terminate lists , "No indented closing tags" =: T.unlines [ "" , "" , " - Foo" , "" , " " , "" , " bar" , "" , " " , " " , " " , "" ] =?> blockQuote (bulletList [ para "Foo" <> para "" <> para "bar" <> lineBlock [ "" ] ]) ] ] pandoc-2.9.2.1/test/Tests/Readers/Odt.hs000066400000000000000000000157261363630463000176760ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Odt Copyright : © 2015-2020 John MacFarlane 2015 Martin Linnemann License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Tests for the ODT reader. -} module Tests.Readers.Odt (tests) where import Prelude import Control.Monad (liftM) import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as B import qualified Data.Map as M import Data.Text (unpack) import System.IO.Unsafe (unsafePerformIO) import Test.Tasty import Tests.Helpers import Text.Pandoc import qualified Text.Pandoc.UTF8 as UTF8 defopts :: ReaderOptions defopts = def{ readerExtensions = getDefaultExtensions "odt" } tests :: [TestTree] tests = testsComparingToMarkdown ++ testsComparingToNative testsComparingToMarkdown :: [TestTree] testsComparingToMarkdown = map nameToTest namesOfTestsComparingToMarkdown where nameToTest name = createTest compareOdtToMarkdown name (toOdtPath name) (toMarkdownPath name) toOdtPath name = "odt/odt/" ++ name ++ ".odt" toMarkdownPath name = "odt/markdown/" ++ name ++ ".md" testsComparingToNative :: [TestTree] testsComparingToNative = map nameToTest namesOfTestsComparingToNative where nameToTest name = createTest compareOdtToNative name (toOdtPath name) (toNativePath name) toOdtPath name = "odt/odt/" ++ name ++ ".odt" toNativePath name = "odt/native/" ++ name ++ ".native" newtype NoNormPandoc = NoNormPandoc {unNoNorm :: Pandoc} deriving ( Show ) instance ToString NoNormPandoc where toString d = unpack $ purely (writeNative def{ writerTemplate = s }) $ toPandoc d where s = case d of NoNormPandoc (Pandoc (Meta m) _) | M.null m -> Nothing | otherwise -> Just mempty -- need this for Meta output instance ToPandoc NoNormPandoc where toPandoc = unNoNorm getNoNormVia :: (a -> Pandoc) -> String -> Either PandocError a -> NoNormPandoc getNoNormVia _ readerName (Left _) = error (readerName ++ " reader failed") getNoNormVia f _ (Right a) = NoNormPandoc (f a) type TestCreator = ReaderOptions -> FilePath -> FilePath -> IO (NoNormPandoc, NoNormPandoc) compareOdtToNative :: TestCreator compareOdtToNative opts odtPath nativePath = do nativeFile <- UTF8.toText <$> BS.readFile nativePath odtFile <- B.readFile odtPath native <- getNoNormVia id "native" <$> runIO (readNative def nativeFile) odt <- getNoNormVia id "odt" <$> runIO (readOdt opts odtFile) return (odt,native) compareOdtToMarkdown :: TestCreator compareOdtToMarkdown opts odtPath markdownPath = do markdownFile <- UTF8.toText <$> BS.readFile markdownPath odtFile <- B.readFile odtPath markdown <- getNoNormVia id "markdown" <$> runIO (readMarkdown def{ readerExtensions = pandocExtensions } markdownFile) odt <- getNoNormVia id "odt" <$> runIO (readOdt opts odtFile) return (odt,markdown) createTest :: TestCreator -> TestName -> FilePath -> FilePath -> TestTree createTest creator name path1 path2 = unsafePerformIO $ liftM (test id name) (creator defopts path1 path2) {- -- getMedia :: FilePath -> FilePath -> IO (Maybe B.ByteString) getMedia archivePath mediaPath = do zf <- B.readFile archivePath >>= return . toArchive return $ findEntryByPath ("Pictures/" ++ mediaPath) zf >>= (Just . fromEntry) compareMediaPathIO :: FilePath -> MediaBag -> FilePath -> IO Bool compareMediaPathIO mediaPath mediaBag odtPath = do odtMedia <- getMedia odtPath mediaPath let mbBS = case lookupMedia mediaPath mediaBag of Just (_, bs) -> bs Nothing -> error ("couldn't find " ++ mediaPath ++ " in media bag") odtBS = case odtMedia of Just bs -> bs Nothing -> error ("couldn't find " ++ mediaPath ++ " in media bag") return $ mbBS == odtBS compareMediaBagIO :: FilePath -> IO Bool compareMediaBagIO odtFile = do df <- B.readFile odtFile let (_, mb) = readOdt def df bools <- mapM (\(fp, _, _) -> compareMediaPathIO fp mb odtFile) (mediaDirectory mb) return $ and bools testMediaBagIO :: String -> FilePath -> IO TestTree testMediaBagIO name odtFile = do outcome <- compareMediaBagIO odtFile return $ testCase name (assertBool ("Media didn't match media bag in file " ++ odtFile) outcome) testMediaBag :: String -> FilePath -> TestTree testMediaBag name odtFile = buildTest $ testMediaBagIO name odtFile -} -- namesOfTestsComparingToMarkdown :: [ String ] namesOfTestsComparingToMarkdown = [ "bold" -- , "citation" , "endnote" , "externalLink" , "footnote" , "formula" , "headers" -- , "horizontalRule" , "italic" -- , "listBlocks" , "paragraph" , "strikeout" -- , "trackedChanges" , "underlined" ] namesOfTestsComparingToNative :: [ String ] namesOfTestsComparingToNative = [ "blockquote" , "image" , "imageIndex" , "imageWithCaption" , "inlinedCode" , "orderedListMixed" , "orderedListRoman" , "orderedListSimple" , "referenceToChapter" , "referenceToListItem" , "referenceToText" , "simpleTable" , "simpleTableWithCaption" -- , "table" , "textMixedStyles" , "tableWithContents" , "unicode" , "unorderedList" ] pandoc-2.9.2.1/test/Tests/Readers/Org.hs000066400000000000000000000014171363630463000176670ustar00rootroot00000000000000{-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Shared Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Tests of the org reader. -} module Tests.Readers.Org (tests) where import Test.Tasty (TestTree, testGroup) import qualified Tests.Readers.Org.Block as Block import qualified Tests.Readers.Org.Directive as Directive import qualified Tests.Readers.Org.Inline as Inline import qualified Tests.Readers.Org.Meta as Meta tests :: [TestTree] tests = [ testGroup "Inlines" Inline.tests , testGroup "Basic Blocks" Block.tests , testGroup "Meta Information" Meta.tests , testGroup "Directives" Directive.tests ] pandoc-2.9.2.1/test/Tests/Readers/Org/000077500000000000000000000000001363630463000173305ustar00rootroot00000000000000pandoc-2.9.2.1/test/Tests/Readers/Org/Block.hs000066400000000000000000000151071363630463000207220ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Block Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Tests parsing of org blocks. -} module Tests.Readers.Org.Block (tests) where import Prelude import Test.Tasty (TestTree, testGroup) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:), spcSep) import Text.Pandoc.Builder import qualified Data.Text as T import qualified Tests.Readers.Org.Block.CodeBlock as CodeBlock import qualified Tests.Readers.Org.Block.Figure as Figure import qualified Tests.Readers.Org.Block.Header as Header import qualified Tests.Readers.Org.Block.List as List import qualified Tests.Readers.Org.Block.Table as Table tests :: [TestTree] tests = [ "Paragraph" =: "Paragraph\n" =?> para "Paragraph" , "Paragraph starting with an asterisk" =: "*five" =?> para "*five" , "Paragraph containing asterisk at beginning of line" =: T.unlines [ "lucky" , "*star" ] =?> para ("lucky" <> softbreak <> "*star") , "Example block" =: T.unlines [ ": echo hello" , ": echo dear tester" ] =?> codeBlockWith ("", ["example"], []) "echo hello\necho dear tester\n" , "Example block surrounded by text" =: T.unlines [ "Greetings" , ": echo hello" , ": echo dear tester" , "Bye" ] =?> mconcat [ para "Greetings" , codeBlockWith ("", ["example"], []) "echo hello\necho dear tester\n" , para "Bye" ] , "Horizontal Rule" =: T.unlines [ "before" , "-----" , "after" ] =?> mconcat [ para "before" , horizontalRule , para "after" ] , "Not a Horizontal Rule" =: "----- em and en dash" =?> para "\8212\8211 em and en dash" , testGroup "Comments" [ "Comment Block" =: T.unlines [ "#+BEGIN_COMMENT" , "stuff" , "bla" , "#+END_COMMENT"] =?> (mempty::Blocks) , "Comment line" =: T.unlines [ "# this is a comment" ] =?> (mempty :: Blocks) , "Empty comment line" =: T.unlines [ " #" ] =?> (mempty :: Blocks) ] , testGroup "Blocks and fragments" [ "HTML block" =: T.unlines [ "#+BEGIN_HTML" , "" , "#+END_HTML" ] =?> rawBlock "html" "\n" , "Quote block" =: T.unlines [ "#+BEGIN_QUOTE" , "/Niemand/ hat die Absicht, eine Mauer zu errichten!" , "#+END_QUOTE" ] =?> blockQuote (para (spcSep [ emph "Niemand", "hat", "die", "Absicht," , "eine", "Mauer", "zu", "errichten!" ])) , "Verse block" =: T.unlines [ "The first lines of Goethe's /Faust/:" , "#+begin_verse" , "Habe nun, ach! Philosophie," , "Juristerei und Medizin," , "Und leider auch Theologie!" , "Durchaus studiert, mit heißem Bemühn." , "#+end_verse" ] =?> mconcat [ para $ spcSep [ "The", "first", "lines", "of" , "Goethe's", emph "Faust" <> ":"] , lineBlock [ "Habe nun, ach! Philosophie," , "Juristerei und Medizin," , "Und leider auch Theologie!" , "Durchaus studiert, mit heißem Bemühn." ] ] , "Verse block with blank lines" =: T.unlines [ "#+BEGIN_VERSE" , "foo" , "" , "bar" , "#+END_VERSE" ] =?> lineBlock [ "foo", mempty, "bar" ] , "Verse block with varying indentation" =: T.unlines [ "#+BEGIN_VERSE" , " hello darkness" , "my old friend" , "#+END_VERSE" ] =?> lineBlock [ "\160\160hello darkness", "my old friend" ] , "Raw block LaTeX" =: T.unlines [ "#+BEGIN_LaTeX" , "The category $\\cat{Set}$ is adhesive." , "#+END_LaTeX" ] =?> rawBlock "latex" "The category $\\cat{Set}$ is adhesive.\n" , "Raw LaTeX line" =: "#+LATEX: \\let\\foo\\bar" =?> rawBlock "latex" "\\let\\foo\\bar" , "Raw Beamer line" =: "#+beamer: \\pause" =?> rawBlock "beamer" "\\pause" , "Raw HTML line" =: "#+HTML: " =?> rawBlock "html" "" , "Export block HTML" =: T.unlines [ "#+BEGIN_export html" , "Hello, World!" , "#+END_export" ] =?> rawBlock "html" "Hello, World!\n" , "LaTeX fragment" =: T.unlines [ "\\begin{equation}" , "X_i = \\begin{cases}" , " G_{\\alpha(i)} & \\text{if }\\alpha(i-1) = \\alpha(i)\\\\" , " C_{\\alpha(i)} & \\text{otherwise}" , " \\end{cases}" , "\\end{equation}" ] =?> rawBlock "latex" (T.unlines [ "\\begin{equation}" , "X_i = \\begin{cases}" , " G_{\\alpha(i)} & \\text{if }\\alpha(i-1) =" <> " \\alpha(i)\\\\" , " C_{\\alpha(i)} & \\text{otherwise}" , " \\end{cases}" , "\\end{equation}" ]) , "Convert blank lines in blocks to single newlines" =: T.unlines [ "#+begin_html" , "" , "boring" , "" , "#+end_html" ] =?> rawBlock "html" "\nboring\n\n" , "Accept `ATTR_HTML` attributes for generic block" =: T.unlines [ "#+ATTR_HTML: :title hello, world :id test :class fun code" , "#+BEGIN_TEST" , "nonsense" , "#+END_TEST" ] =?> let attr = ("test", ["fun", "code", "TEST"], [("title", "hello, world")]) in divWith attr (para "nonsense") ] , testGroup "Headers" Header.tests , testGroup "Figures" Figure.tests , testGroup "Lists" List.tests , testGroup "CodeBlocks" CodeBlock.tests , testGroup "Tables" Table.tests ] pandoc-2.9.2.1/test/Tests/Readers/Org/Block/000077500000000000000000000000001363630463000203625ustar00rootroot00000000000000pandoc-2.9.2.1/test/Tests/Readers/Org/Block/CodeBlock.hs000066400000000000000000000171471363630463000225550ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Block.CodeBlock Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Test parsing of org code blocks. -} module Tests.Readers.Org.Block.CodeBlock (tests) where import Prelude import Test.Tasty (TestTree) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:), spcSep) import Text.Pandoc.Builder import qualified Data.Text as T tests :: [TestTree] tests = [ "Source block" =: T.unlines [ " #+BEGIN_SRC haskell" , " main = putStrLn greeting" , " where greeting = \"moin\"" , " #+END_SRC" ] =?> let attr' = ("", ["haskell"], []) code' = "main = putStrLn greeting\n" <> " where greeting = \"moin\"\n" in codeBlockWith attr' code' , "Source block with indented code" =: T.unlines [ " #+BEGIN_SRC haskell" , " main = putStrLn greeting" , " where greeting = \"moin\"" , " #+END_SRC" ] =?> let attr' = ("", ["haskell"], []) code' = "main = putStrLn greeting\n" <> " where greeting = \"moin\"\n" in codeBlockWith attr' code' , "Source block with tab-indented code" =: T.unlines [ "\t#+BEGIN_SRC haskell" , "\tmain = putStrLn greeting" , "\t where greeting = \"moin\"" , "\t#+END_SRC" ] =?> let attr' = ("", ["haskell"], []) code' = "main = putStrLn greeting\n" <> " where greeting = \"moin\"\n" in codeBlockWith attr' code' , "Empty source block" =: T.unlines [ " #+BEGIN_SRC haskell" , " #+END_SRC" ] =?> let attr' = ("", ["haskell"], []) code' = "" in codeBlockWith attr' code' , "Source block between paragraphs" =: T.unlines [ "Low German greeting" , " #+BEGIN_SRC haskell" , " main = putStrLn greeting" , " where greeting = \"Moin!\"" , " #+END_SRC" ] =?> let attr' = ("", ["haskell"], []) code' = "main = putStrLn greeting\n" <> " where greeting = \"Moin!\"\n" in mconcat [ para $ spcSep [ "Low", "German", "greeting" ] , codeBlockWith attr' code' ] , "Source block with babel arguments" =: T.unlines [ "#+BEGIN_SRC emacs-lisp :exports both" , "(progn (message \"Hello, World!\")" , " (+ 23 42))" , "#+END_SRC" ] =?> let classes = [ "commonlisp" ] -- as kate doesn't know emacs-lisp syntax params = [ ("org-language", "emacs-lisp") , ("exports", "both") ] code' = T.unlines [ "(progn (message \"Hello, World!\")" , " (+ 23 42))" ] in codeBlockWith ("", classes, params) code' , "Source block with results and :exports both" =: T.unlines [ "#+BEGIN_SRC emacs-lisp :exports both" , "(progn (message \"Hello, World!\")" , " (+ 23 42))" , "#+END_SRC" , "" , "#+RESULTS:" , ": 65"] =?> let classes = [ "commonlisp" ] params = [ ("org-language", "emacs-lisp") , ("exports", "both") ] code' = T.unlines [ "(progn (message \"Hello, World!\")" , " (+ 23 42))" ] results' = "65\n" in codeBlockWith ("", classes, params) code' <> codeBlockWith ("", ["example"], []) results' , "Source block with results and :exports code" =: T.unlines [ "#+BEGIN_SRC emacs-lisp :exports code" , "(progn (message \"Hello, World!\")" , " (+ 23 42))" , "#+END_SRC" , "" , "#+RESULTS:" , ": 65" ] =?> let classes = [ "commonlisp" ] params = [ ("org-language", "emacs-lisp") , ("exports", "code") ] code' = T.unlines [ "(progn (message \"Hello, World!\")" , " (+ 23 42))" ] in codeBlockWith ("", classes, params) code' , "Source block with results and :exports results" =: T.unlines [ "#+BEGIN_SRC emacs-lisp :exports results" , "(progn (message \"Hello, World!\")" , " (+ 23 42))" , "#+END_SRC" , "" , "#+RESULTS:" , ": 65" ] =?> let results' = "65\n" in codeBlockWith ("", ["example"], []) results' , "Source block with results and :exports none" =: T.unlines [ "#+BEGIN_SRC emacs-lisp :exports none" , "(progn (message \"Hello, World!\")" , " (+ 23 42))" , "#+END_SRC" , "" , "#+RESULTS:" , ": 65" ] =?> (mempty :: Blocks) , "Source block with toggling header arguments" =: T.unlines [ "#+BEGIN_SRC sh :noeval" , "echo $HOME" , "#+END_SRC" ] =?> let classes = [ "bash" ] params = [ ("org-language", "sh"), ("noeval", "yes") ] in codeBlockWith ("", classes, params) "echo $HOME\n" , "Source block with line number switch" =: T.unlines [ "#+BEGIN_SRC sh -n 10" , ":() { :|:& };:" , "#+END_SRC" ] =?> let classes = [ "bash", "numberLines" ] params = [ ("org-language", "sh"), ("startFrom", "10") ] in codeBlockWith ("", classes, params) ":() { :|:& };:\n" , "Source block with multi-word parameter values" =: T.unlines [ "#+BEGIN_SRC dot :cmdline -Kdot -Tpng " , "digraph { id [label=\"ID\"] }" , "#+END_SRC" ] =?> let classes = [ "dot" ] params = [ ("cmdline", "-Kdot -Tpng") ] in codeBlockWith ("", classes, params) "digraph { id [label=\"ID\"] }\n" , "Example block" =: T.unlines [ "#+begin_example" , "A chosen representation of" , "a rule." , "#+eND_exAMPle" ] =?> codeBlockWith ("", ["example"], []) "A chosen representation of\na rule.\n" , "Code block with caption" =: T.unlines [ "#+CAPTION: Functor laws in Haskell" , "#+NAME: functor-laws" , "#+BEGIN_SRC haskell" , "fmap id = id" , "fmap (p . q) = (fmap p) . (fmap q)" , "#+END_SRC" ] =?> divWith nullAttr (mappend (plain $ spanWith ("", ["label"], []) (spcSep [ "Functor", "laws", "in", "Haskell" ])) (codeBlockWith ("functor-laws", ["haskell"], []) (T.unlines [ "fmap id = id" , "fmap (p . q) = (fmap p) . (fmap q)" ]))) , "Non-letter chars in source block parameters" =: T.unlines [ "#+BEGIN_SRC C :tangle xxxx.c :city Zürich" , "code body" , "#+END_SRC" ] =?> let params = [ ("org-language", "C") , ("tangle", "xxxx.c") , ("city", "Zürich") ] in codeBlockWith ( "", ["c"], params) "code body\n" ] pandoc-2.9.2.1/test/Tests/Readers/Org/Block/Figure.hs000066400000000000000000000051201363630463000221350ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Block.Figure Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Test parsing of org figures. -} module Tests.Readers.Org.Block.Figure (tests) where import Prelude import Test.Tasty (TestTree) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:)) import Text.Pandoc.Builder (image, imageWith, para) import qualified Data.Text as T tests :: [TestTree] tests = [ "Figure" =: T.unlines [ "#+caption: A very courageous man." , "#+name: goodguy" , "[[file:edward.jpg]]" ] =?> para (image "edward.jpg" "fig:goodguy" "A very courageous man.") , "Figure with no name" =: T.unlines [ "#+caption: I've been through the desert on this" , "[[file:horse.png]]" ] =?> para (image "horse.png" "fig:" "I've been through the desert on this") , "Figure with `fig:` prefix in name" =: T.unlines [ "#+caption: Used as a metapher in evolutionary biology." , "#+name: fig:redqueen" , "[[./the-red-queen.jpg]]" ] =?> para (image "./the-red-queen.jpg" "fig:redqueen" "Used as a metapher in evolutionary biology.") , "Figure with HTML attributes" =: T.unlines [ "#+CAPTION: mah brain just explodid" , "#+NAME: lambdacat" , "#+ATTR_HTML: :style color: blue :role button" , "[[file:lambdacat.jpg]]" ] =?> let kv = [("style", "color: blue"), ("role", "button")] name = "fig:lambdacat" caption = "mah brain just explodid" in para (imageWith (mempty, mempty, kv) "lambdacat.jpg" name caption) , "LaTeX attributes are ignored" =: T.unlines [ "#+CAPTION: Attribute after caption" , "#+ATTR_LATEX: :float nil" , "[[file:test.png]]" ] =?> para (image "test.png" "fig:" "Attribute after caption") , "Labelled figure" =: T.unlines [ "#+CAPTION: My figure" , "#+LABEL: fig:myfig" , "[[file:blub.png]]" ] =?> let attr = ("fig:myfig", mempty, mempty) in para (imageWith attr "blub.png" "fig:" "My figure") , "Figure with empty caption" =: T.unlines [ "#+CAPTION:" , "[[file:guess.jpg]]" ] =?> para (image "guess.jpg" "fig:" "") ] pandoc-2.9.2.1/test/Tests/Readers/Org/Block/Header.hs000066400000000000000000000230401363630463000221050ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Block.Header Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Test parsing of org header blocks. -} module Tests.Readers.Org.Block.Header (tests) where import Prelude import Test.Tasty (TestTree, testGroup) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:), spcSep, tagSpan) import Text.Pandoc.Builder import qualified Data.Text as T tests :: [TestTree] tests = [ "First Level Header" =: "* Headline\n" =?> headerWith ("headline", [], []) 1 "Headline" , "Third Level Header" =: "*** Third Level Headline\n" =?> headerWith ("third-level-headline", [], []) 3 ("Third" <> space <> "Level" <> space <> "Headline") , "Compact Headers with Paragraph" =: T.unlines [ "* First Level" , "** Second Level" , " Text" ] =?> mconcat [ headerWith ("first-level", [], []) 1 ("First" <> space <> "Level") , headerWith ("second-level", [], []) 2 ("Second" <> space <> "Level") , para "Text" ] , "Separated Headers with Paragraph" =: T.unlines [ "* First Level" , "" , "** Second Level" , "" , " Text" ] =?> mconcat [ headerWith ("first-level", [], []) 1 ("First" <> space <> "Level") , headerWith ("second-level", [], []) 2 ("Second" <> space <> "Level") , para "Text" ] , "Headers not preceded by a blank line" =: T.unlines [ "** eat dinner" , "Spaghetti and meatballs tonight." , "** walk dog" ] =?> mconcat [ headerWith ("eat-dinner", [], []) 2 ("eat" <> space <> "dinner") , para $ spcSep [ "Spaghetti", "and", "meatballs", "tonight." ] , headerWith ("walk-dog", [], []) 2 ("walk" <> space <> "dog") ] , testGroup "Todo keywords" [ "Header with known todo keyword" =: "* TODO header" =?> let todoSpan = spanWith ("", ["todo", "TODO"], []) "TODO" in headerWith ("header", [], []) 1 (todoSpan <> space <> "header") , "Header marked as done" =: "* DONE header" =?> let todoSpan = spanWith ("", ["done", "DONE"], []) "DONE" in headerWith ("header", [], []) 1 (todoSpan <> space <> "header") , "emphasis in first word" =: "** TODO /fix/ this" =?> let todoSpan = spanWith ("", ["todo", "TODO"], []) "TODO" in headerWith ("fix-this", [], []) 2 (todoSpan <> space <> emph "fix" <> space <> "this") , "Header with unknown todo keyword" =: "* WAITING header" =?> headerWith ("waiting-header", [], []) 1 "WAITING header" , "Custom todo keywords" =: T.unlines [ "#+TODO: WAITING CANCELLED" , "* WAITING compile" , "* CANCELLED lunch" ] =?> let todoSpan = spanWith ("", ["todo", "WAITING"], []) "WAITING" doneSpan = spanWith ("", ["done", "CANCELLED"], []) "CANCELLED" in headerWith ("compile", [], []) 1 (todoSpan <> space <> "compile") <> headerWith ("lunch", [], []) 1 (doneSpan <> space <> "lunch") , "Custom todo keywords with multiple done-states" =: T.unlines [ "#+TODO: WAITING | DONE CANCELLED " , "* WAITING compile" , "* CANCELLED lunch" , "* DONE todo-feature" ] =?> let waiting = spanWith ("", ["todo", "WAITING"], []) "WAITING" cancelled = spanWith ("", ["done", "CANCELLED"], []) "CANCELLED" done = spanWith ("", ["done", "DONE"], []) "DONE" in headerWith ("compile", [], []) 1 (waiting <> space <> "compile") <> headerWith ("lunch", [], []) 1 (cancelled <> space <> "lunch") <> headerWith ("todo-feature", [], []) 1 (done <> space <> "todo-feature") ] , "Tagged headers" =: T.unlines [ "* Personal :PERSONAL:" , "** Call Mom :@PHONE:" , "** Call John :@PHONE:JOHN: " ] =?> mconcat [ headerWith ("personal", [], []) 1 ("Personal " <> tagSpan "PERSONAL") , headerWith ("call-mom", [], []) 2 ("Call Mom " <> tagSpan "@PHONE") , headerWith ("call-john", [], []) 2 ("Call John " <> tagSpan "@PHONE" <> "\160" <> tagSpan "JOHN") ] , "Untagged header containing colons" =: "* This: is not: tagged" =?> headerWith ("this-is-not-tagged", [], []) 1 "This: is not: tagged" , "Untagged header time followed by colon" =: "** Meeting at 5:23: free food" =?> let attr = ("meeting-at-523-free-food", [], []) in headerWith attr 2 "Meeting at 5:23: free food" , "tag followed by text" =: "*** Looks like a :tag: but isn't" =?> let attr = ("looks-like-a-tag-but-isnt", [], []) in headerWith attr 3 "Looks like a :tag: but isn't" , "Header starting with strokeout text" =: T.unlines [ "foo" , "" , "* +thing+ other thing" ] =?> mconcat [ para "foo" , headerWith ("thing-other-thing", [], []) 1 (strikeout "thing" <> " other thing") ] , "Comment Trees" =: T.unlines [ "* COMMENT A comment tree" , " Not much going on here" , "** This will be dropped" , "* Comment tree above" ] =?> headerWith ("comment-tree-above", [], []) 1 "Comment tree above" , "Nothing but a COMMENT header" =: "* COMMENT Test" =?> (mempty::Blocks) , "Tree with :noexport:" =: T.unlines [ "* Should be ignored :archive:noexport:old:" , "** Old stuff" , " This is not going to be exported" ] =?> (mempty::Blocks) , "Subtree with :noexport:" =: T.unlines [ "* Exported" , "** This isn't exported :noexport:" , "*** This neither" , "** But this is" ] =?> mconcat [ headerWith ("exported", [], []) 1 "Exported" , headerWith ("but-this-is", [], []) 2 "But this is" ] , "Preferences are treated as header attributes" =: T.unlines [ "* foo" , " :PROPERTIES:" , " :custom_id: fubar" , " :bar: baz" , " :END:" ] =?> headerWith ("fubar", [], [("bar", "baz")]) 1 "foo" , "Headers marked with a unnumbered property get a class of the same name" =: T.unlines [ "* Not numbered" , " :PROPERTIES:" , " :UNNUMBERED: t" , " :END:" ] =?> headerWith ("not-numbered", ["unnumbered"], []) 1 "Not numbered" , testGroup "planning information" [ "Planning info is not included in output" =: T.unlines [ "* important" , T.unwords [ "CLOSED: [2018-09-05 Wed 13:58]" , "DEADLINE: <2018-09-17 Mon>" , "SCHEDULED: <2018-09-10 Mon>" ] ] =?> headerWith ("important", [], []) 1 "important" , "Properties after planning info are recognized" =: T.unlines [ "* important " , " " <> T.unwords [ "CLOSED: [2018-09-05 Wed 13:58]" , "DEADLINE: <2018-09-17 Mon>" , "SCHEDULED: <2018-09-10 Mon>" ] , " :PROPERTIES:" , " :custom_id: look" , " :END:" ] =?> headerWith ("look", [], []) 1 "important" , "Planning info followed by test" =: T.unlines [ "* important " , " " <> T.unwords [ "CLOSED: [2018-09-05 Wed 13:58]" , "DEADLINE: <2018-09-17 Mon>" , "SCHEDULED: <2018-09-10 Mon>" ] , " :PROPERTIES:" , " :custom_id: look" , " :END:" ] =?> headerWith ("look", [], []) 1 "important" , "third and forth level headers" =: T.unlines [ "#+OPTIONS: p:t h:3" , "*** Third" , " CLOSED: [2018-09-05 Wed 13:58]" , " Text 3" , "**** Fourth" , "SCHEDULED: <2019-05-13 Mon 22:42>" , "Text 4" ] =?> mconcat [ headerWith ("third", [], mempty) 3 "Third" , plain $ strong "CLOSED:" <> space <> emph (str "[2018-09-05 Wed 13:58]") , para "Text 3" , orderedList [ mconcat [ para "Fourth" , plain $ strong "SCHEDULED:" <> space <> emph (str "<2019-05-13 Mon 22:42>") , para "Text 4" ]] ] ] ] pandoc-2.9.2.1/test/Tests/Readers/Org/Block/List.hs000066400000000000000000000216561363630463000216430ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Block.Header Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Test parsing of org lists. -} module Tests.Readers.Org.Block.List (tests) where import Prelude import Test.Tasty (TestTree) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:), spcSep) import Text.Pandoc.Builder import qualified Data.Text as T tests :: [TestTree] tests = [ "Simple Bullet Lists" =: ("- Item1\n" <> "- Item2\n") =?> bulletList [ plain "Item1" , plain "Item2" ] , "Indented Bullet Lists" =: (" - Item1\n" <> " - Item2\n") =?> bulletList [ plain "Item1" , plain "Item2" ] , "Unindented *" =: ("- Item1\n" <> "* Item2\n") =?> bulletList [ plain "Item1" ] <> headerWith ("item2", [], []) 1 "Item2" , "Multi-line Bullet Lists" =: ("- *Fat\n" <> " Tony*\n" <> "- /Sideshow\n" <> " Bob/") =?> bulletList [ plain $ strong ("Fat" <> softbreak <> "Tony") , plain $ emph ("Sideshow" <> softbreak <> "Bob") ] , "Nested Bullet Lists" =: ("- Discovery\n" <> " + One More Time\n" <> " + Harder, Better, Faster, Stronger\n" <> "- Homework\n" <> " + Around the World\n"<> "- Human After All\n" <> " + Technologic\n" <> " + Robot Rock\n") =?> bulletList [ mconcat [ plain "Discovery" , bulletList [ plain ("One" <> space <> "More" <> space <> "Time") , plain ("Harder," <> space <> "Better," <> space <> "Faster," <> space <> "Stronger") ] ] , mconcat [ plain "Homework" , bulletList [ plain ("Around" <> space <> "the" <> space <> "World") ] ] , mconcat [ plain ("Human" <> space <> "After" <> space <> "All") , bulletList [ plain "Technologic" , plain ("Robot" <> space <> "Rock") ] ] ] , "Bullet List with Decreasing Indent" =: " - Discovery\n\ \ - Human After All\n" =?> mconcat [ bulletList [ plain "Discovery" ] , bulletList [ plain ("Human" <> space <> "After" <> space <> "All")] ] , "Header follows Bullet List" =: " - Discovery\n\ \ - Human After All\n\ \* Homework" =?> mconcat [ bulletList [ plain "Discovery" , plain ("Human" <> space <> "After" <> space <> "All") ] , headerWith ("homework", [], []) 1 "Homework" ] , "Bullet List Unindented with trailing Header" =: "- Discovery\n\ \- Homework\n\ \* NotValidListItem" =?> mconcat [ bulletList [ plain "Discovery" , plain "Homework" ] , headerWith ("notvalidlistitem", [], []) 1 "NotValidListItem" ] , "Empty bullet points" =: T.unlines [ "-" , "- " ] =?> bulletList [ plain "", plain "" ] , "Simple Ordered List" =: ("1. Item1\n" <> "2. Item2\n") =?> let listStyle = (1, DefaultStyle, DefaultDelim) listStructure = [ plain "Item1" , plain "Item2" ] in orderedListWith listStyle listStructure , "Simple Ordered List with Parens" =: ("1) Item1\n" <> "2) Item2\n") =?> let listStyle = (1, DefaultStyle, DefaultDelim) listStructure = [ plain "Item1" , plain "Item2" ] in orderedListWith listStyle listStructure , "Indented Ordered List" =: (" 1. Item1\n" <> " 2. Item2\n") =?> let listStyle = (1, DefaultStyle, DefaultDelim) listStructure = [ plain "Item1" , plain "Item2" ] in orderedListWith listStyle listStructure , "Empty ordered list item" =: T.unlines [ "1." , "3. " ] =?> orderedList [ plain "", plain "" ] , "Nested Ordered Lists" =: ("1. One\n" <> " 1. One-One\n" <> " 2. One-Two\n" <> "2. Two\n" <> " 1. Two-One\n"<> " 2. Two-Two\n") =?> let listStyle = (1, DefaultStyle, DefaultDelim) listStructure = [ mconcat [ plain "One" , orderedList [ plain "One-One" , plain "One-Two" ] ] , mconcat [ plain "Two" , orderedList [ plain "Two-One" , plain "Two-Two" ] ] ] in orderedListWith listStyle listStructure , "Ordered List in Bullet List" =: ("- Emacs\n" <> " 1. Org\n") =?> bulletList [ plain "Emacs" <> orderedList [ plain "Org"] ] , "Bullet List in Ordered List" =: ("1. GNU\n" <> " - Freedom\n") =?> orderedList [ plain "GNU" <> bulletList [ plain "Freedom" ] ] , "Definition List" =: T.unlines [ "- PLL :: phase-locked loop" , "- TTL ::" , " transistor-transistor logic" , "- PSK :: phase-shift keying" , "" , " a digital modulation scheme" ] =?> definitionList [ ("PLL", [ plain $ "phase-locked" <> space <> "loop" ]) , ("TTL", [ plain $ "transistor-transistor" <> space <> "logic" ]) , ("PSK", [ mconcat [ para $ "phase-shift" <> space <> "keying" , para $ spcSep [ "a", "digital" , "modulation", "scheme" ] ] ]) ] , "Definition list with multi-word term" =: " - Elijah Wood :: He plays Frodo" =?> definitionList [ ("Elijah" <> space <> "Wood", [plain $ "He" <> space <> "plays" <> space <> "Frodo"])] , "Compact definition list" =: T.unlines [ "- ATP :: adenosine 5' triphosphate" , "- DNA :: deoxyribonucleic acid" , "- PCR :: polymerase chain reaction" , "" ] =?> definitionList [ ("ATP", [ plain $ spcSep [ "adenosine", "5'", "triphosphate" ] ]) , ("DNA", [ plain $ spcSep [ "deoxyribonucleic", "acid" ] ]) , ("PCR", [ plain $ spcSep [ "polymerase", "chain", "reaction" ] ]) ] , "Definition List With Trailing Header" =: "- definition :: list\n\ \- cool :: defs\n\ \* header" =?> mconcat [ definitionList [ ("definition", [plain "list"]) , ("cool", [plain "defs"]) ] , headerWith ("header", [], []) 1 "header" ] , "Definition lists double-colon markers must be surrounded by whitespace" =: "- std::cout" =?> bulletList [ plain "std::cout" ] , "Loose bullet list" =: T.unlines [ "- apple" , "" , "- orange" , "" , "- peach" ] =?> bulletList [ para "apple" , para "orange" , para "peach" ] , "Recognize preceding paragraphs in non-list contexts" =: T.unlines [ "CLOSED: [2015-10-19 Mon 15:03]" , "- Note taken on [2015-10-19 Mon 13:24]" ] =?> mconcat [ para "CLOSED: [2015-10-19 Mon 15:03]" , bulletList [ plain "Note taken on [2015-10-19 Mon 13:24]" ] ] , "Markup after header and list" =: T.unlines [ "* headline" , "- list" , "" , "~variable name~" ] =?> mconcat [ headerWith ("headline", [], []) 1 "headline" , bulletList [ plain "list" ] , para (code "variable name") ] ] pandoc-2.9.2.1/test/Tests/Readers/Org/Block/Table.hs000066400000000000000000000123751363630463000217550ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Block.Table Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Test parsing of org tables. -} module Tests.Readers.Org.Block.Table (tests) where import Prelude import Test.Tasty (TestTree) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:), spcSep) import Text.Pandoc.Builder import qualified Data.Text as T simpleTable' :: Int -> [Blocks] -> [[Blocks]] -> Blocks simpleTable' n = table "" (replicate n (AlignDefault, 0.0)) tests :: [TestTree] tests = [ "Single cell table" =: "|Test|" =?> simpleTable' 1 mempty [[plain "Test"]] , "Multi cell table" =: "| One | Two |" =?> simpleTable' 2 mempty [ [ plain "One", plain "Two" ] ] , "Multi line table" =: T.unlines [ "| One |" , "| Two |" , "| Three |" ] =?> simpleTable' 1 mempty [ [ plain "One" ] , [ plain "Two" ] , [ plain "Three" ] ] , "Empty table" =: "||" =?> simpleTable' 1 mempty [[mempty]] , "Glider Table" =: T.unlines [ "| 1 | 0 | 0 |" , "| 0 | 1 | 1 |" , "| 1 | 1 | 0 |" ] =?> simpleTable' 3 mempty [ [ plain "1", plain "0", plain "0" ] , [ plain "0", plain "1", plain "1" ] , [ plain "1", plain "1", plain "0" ] ] , "Table between Paragraphs" =: T.unlines [ "Before" , "| One | Two |" , "After" ] =?> mconcat [ para "Before" , simpleTable' 2 mempty [ [ plain "One", plain "Two" ] ] , para "After" ] , "Table with Header" =: T.unlines [ "| Species | Status |" , "|--------------+--------------|" , "| cervisiae | domesticated |" , "| paradoxus | wild |" ] =?> simpleTable [ plain "Species", plain "Status" ] [ [ plain "cervisiae", plain "domesticated" ] , [ plain "paradoxus", plain "wild" ] ] , "Table with final hline" =: T.unlines [ "| cervisiae | domesticated |" , "| paradoxus | wild |" , "|--------------+--------------|" ] =?> simpleTable' 2 mempty [ [ plain "cervisiae", plain "domesticated" ] , [ plain "paradoxus", plain "wild" ] ] , "Table in a box" =: T.unlines [ "|---------|---------|" , "| static | Haskell |" , "| dynamic | Lisp |" , "|---------+---------|" ] =?> simpleTable' 2 mempty [ [ plain "static", plain "Haskell" ] , [ plain "dynamic", plain "Lisp" ] ] , "Table with empty cells" =: "|||c|" =?> simpleTable' 3 mempty [[mempty, mempty, plain "c"]] , "Table with empty rows" =: T.unlines [ "| first |" , "| |" , "| third |" ] =?> simpleTable' 1 mempty [[plain "first"], [mempty], [plain "third"]] , "Table with alignment row" =: T.unlines [ "| Numbers | Text | More |" , "| | | |" , "| 1 | One | foo |" , "| 2 | Two | bar |" ] =?> table "" (zip [AlignCenter, AlignRight, AlignDefault] [0, 0, 0]) [] [ [ plain "Numbers", plain "Text", plain "More" ] , [ plain "1" , plain "One" , plain "foo" ] , [ plain "2" , plain "Two" , plain "bar" ] ] , "Pipe within text doesn't start a table" =: "Ceci n'est pas une | pipe " =?> para (spcSep [ "Ceci", "n'est", "pas", "une", "|", "pipe" ]) , "Missing pipe at end of row" =: "|incomplete-but-valid" =?> simpleTable' 1 mempty [ [ plain "incomplete-but-valid" ] ] , "Table with differing row lengths" =: T.unlines [ "| Numbers | Text " , "|-" , "| | |" , "| 1 | One | foo |" , "| 2" ] =?> table "" (zip [AlignCenter, AlignRight] [0, 0]) [ plain "Numbers", plain "Text" ] [ [ plain "1" , plain "One" , plain "foo" ] , [ plain "2" ] ] , "Table with caption" =: T.unlines [ "#+CAPTION: Hitchhiker's Multiplication Table" , "| x | 6 |" , "| 9 | 42 |" ] =?> table "Hitchhiker's Multiplication Table" [(AlignDefault, 0), (AlignDefault, 0)] [] [ [ plain "x", plain "6" ] , [ plain "9", plain "42" ] ] , "named table" =: T.unlines [ "#+NAME: x-marks-the-spot" , "| x |" ] =?> divWith ("x-marks-the-spot", mempty, mempty) (simpleTable' 1 mempty [ [ plain "x" ] ]) ] pandoc-2.9.2.1/test/Tests/Readers/Org/Directive.hs000066400000000000000000000214621363630463000216070ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Directive Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Tests parsing of org directives (like @#+OPTIONS@). -} module Tests.Readers.Org.Directive (tests) where import Prelude import Data.Time (UTCTime (UTCTime), secondsToDiffTime) import Data.Time.Calendar (Day (ModifiedJulianDay)) import Test.Tasty (TestTree, testGroup) import Tests.Helpers ((=?>), ToString, purely, test) import Tests.Readers.Org.Shared ((=:), tagSpan) import Text.Pandoc import Text.Pandoc.Builder import qualified Data.ByteString as BS import qualified Data.Text as T testWithFiles :: (ToString c) => [(FilePath, BS.ByteString)] -> String -- ^ name of test case -> (T.Text, c) -- ^ (input, expected value) -> TestTree testWithFiles fileDefs = test (orgWithFiles fileDefs) where orgWithFiles :: [(FilePath, BS.ByteString)] -> T.Text -> Pandoc orgWithFiles fileDefs input = let readOrg' = readOrg def{ readerExtensions = getDefaultExtensions "org" } in flip purely input $ \inp -> do modifyPureState (\st -> st { stFiles = files fileDefs }) readOrg' inp files :: [(FilePath, BS.ByteString)] -> FileTree files fileDefs = let dummyTime = UTCTime (ModifiedJulianDay 125) (secondsToDiffTime 0) in foldr (\(fp, bs) -> insertInFileTree fp (FileInfo dummyTime bs)) mempty fileDefs tests :: [TestTree] tests = [ testGroup "export options" [ "disable simple sub/superscript syntax" =: T.unlines [ "#+OPTIONS: ^:nil" , "a^b" ] =?> para "a^b" , "directly select drawers to be exported" =: T.unlines [ "#+OPTIONS: d:(\"IMPORTANT\")" , ":IMPORTANT:" , "23" , ":END:" , ":BORING:" , "very boring" , ":END:" ] =?> divWith (mempty, ["IMPORTANT", "drawer"], mempty) (para "23") , "exclude drawers from being exported" =: T.unlines [ "#+OPTIONS: d:(not \"BORING\")" , ":IMPORTANT:" , "5" , ":END:" , ":BORING:" , "very boring" , ":END:" ] =?> divWith (mempty, ["IMPORTANT", "drawer"], mempty) (para "5") , "don't include archive trees" =: T.unlines [ "#+OPTIONS: arch:nil" , "* old :ARCHIVE:" ] =?> (mempty ::Blocks) , "include complete archive trees" =: T.unlines [ "#+OPTIONS: arch:t" , "* old :ARCHIVE:" , " boring" ] =?> mconcat [ headerWith ("old", [], mempty) 1 ("old" <> space <> tagSpan "ARCHIVE") , para "boring" ] , "include archive tree header only" =: T.unlines [ "#+OPTIONS: arch:headline" , "* old :ARCHIVE:" , " boring" ] =?> headerWith ("old", [], mempty) 1 ("old" <> space <> tagSpan "ARCHIVE") , "limit headline depth" =: T.unlines [ "#+OPTIONS: H:2" , "* top-level section" , "** subsection" , "*** list item 1" , "*** list item 2" ] =?> mconcat [ headerWith ("top-level-section", [], []) 1 "top-level section" , headerWith ("subsection", [], []) 2 "subsection" , orderedList [ para "list item 1", para "list item 2" ] ] , "turn all headlines into lists" =: T.unlines [ "#+OPTIONS: H:0" , "first block" , "* top-level section 1" , "** subsection" , "* top-level section 2" ] =?> mconcat [ para "first block" , orderedList [ para "top-level section 1" <> orderedList [ para "subsection" ] , para "top-level section 2" ] ] , "preserve linebreaks as hard breaks" =: T.unlines [ "#+OPTIONS: \\n:t" , "first" , "second" ] =?> para ("first" <> linebreak <> "second") , "disable author export" =: T.unlines [ "#+OPTIONS: author:nil" , "#+AUTHOR: ShyGuy" ] =?> Pandoc nullMeta mempty , "disable creator export" =: T.unlines [ "#+OPTIONS: creator:nil" , "#+creator: The Architect" ] =?> Pandoc nullMeta mempty , "disable email export" =: T.unlines [ "#+OPTIONS: email:nil" , "#+email: no-mail-please@example.com" ] =?> Pandoc nullMeta mempty , "disable inclusion of todo keywords" =: T.unlines [ "#+OPTIONS: todo:nil" , "** DONE todo export" ] =?> headerWith ("todo-export", [], []) 2 "todo export" , "remove tags from headlines" =: T.unlines [ "#+OPTIONS: tags:nil" , "* Headline :hello:world:" ] =?> headerWith ("headline", [], mempty) 1 "Headline" , testGroup "planning information" [ "include planning info after headlines" =: T.unlines [ "#+OPTIONS: p:t" , "* important" , " DEADLINE: <2018-10-01 Mon> SCHEDULED: <2018-09-15 Sat>" ] =?> mconcat [ headerWith ("important", mempty, mempty) 1 "important" , plain $ strong "DEADLINE:" <> space <> emph (str "<2018-10-01 Mon>") <> space <> strong "SCHEDULED:" <> space <> emph (str "<2018-09-15 Sat>") ] , "empty planning info is not included" =: T.unlines [ "#+OPTIONS: p:t" , "* Wichtig" ] =?> headerWith ("wichtig", mempty, mempty) 1 "Wichtig" ] , testGroup "unknown options" [ "unknown options are ignored" =: T.unlines [ "#+OPTIONS: does-not-exist:t "] =?> (mempty :: Pandoc) , "highlighting after unknown option" =: T.unlines [ "#+OPTIONS: nope" , "/yup/" ] =?> para (emph "yup") , "unknown option interleaved with known" =: T.unlines [ "#+OPTIONS: tags:nil foo:bar todo:nil" , "* DONE ignore things :easy:" ] =?> headerWith ("ignore-things", [], mempty) 1 "ignore things" ] ] , testGroup "Include" [ testWithFiles [("./other.org", "content of other file\n")] "file inclusion" (T.unlines [ "#+include: \"other.org\"" ] =?> plain "content of other file") , testWithFiles [("./world.org", "World\n\n")] "Included file belongs to item" (T.unlines [ "- Hello,\n #+include: \"world.org\"" ] =?> bulletList [para "Hello," <> para "World"]) , testWithFiles [("./level3.org", "*** Level3\n\n")] "Default include preserves level" (T.unlines [ "#+include: \"level3.org\"" ] =?> headerWith ("level3", [], []) 3 "Level3") , testWithFiles [("./level3.org", "*** Level3\n\n")] "Minlevel shifts level leftward" (T.unlines [ "#+include: \"level3.org\" :minlevel 1" ] =?> headerWith ("level3", [], []) 1 "Level3") , testWithFiles [("./level1.org", "* Level1\n\n")] "Minlevel shifts level rightward" (T.unlines [ "#+include: \"level1.org\" :minlevel 3" ] =?> headerWith ("level1", [], []) 3 "Level1") , testWithFiles [("./src.hs", "putStrLn outString\n")] "Include file as source code snippet" (T.unlines [ "#+include: \"src.hs\" src haskell" ] =?> codeBlockWith ("", ["haskell"], []) "putStrLn outString\n") , testWithFiles [("./export-latex.org", "\\emph{Hello}\n")] "Include file as export snippet" (T.unlines [ "#+include: \"export-latex.org\" export latex" ] =?> rawBlock "latex" "\\emph{Hello}\n") , testWithFiles [("./subdir/foo-bar.latex", "foo\n"), ("./hello.lisp", "(print \"Hello!\")\n") ] "include directive is limited to one line" (T.unlines [ "#+INCLUDE: \"hello.lisp\" src lisp" , "#+include: \"subdir/foo-bar.latex\" export latex" , "bar" ] =?> mconcat [ codeBlockWith ("", ["lisp"], []) "(print \"Hello!\")\n" , rawBlock "latex" "foo\n" , para "bar" ] ) ] ] pandoc-2.9.2.1/test/Tests/Readers/Org/Inline.hs000066400000000000000000000262631363630463000211130ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Inline Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Tests parsing of org inlines. -} module Tests.Readers.Org.Inline (tests) where import Prelude import Data.List (intersperse) import Test.Tasty (TestTree, testGroup) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:), spcSep) import Text.Pandoc.Builder import Text.Pandoc.Shared (underlineSpan) import qualified Data.Text as T import qualified Tests.Readers.Org.Inline.Citation as Citation import qualified Tests.Readers.Org.Inline.Note as Note import qualified Tests.Readers.Org.Inline.Smart as Smart tests :: [TestTree] tests = [ "Plain String" =: "Hello, World" =?> para (spcSep [ "Hello,", "World" ]) , "Emphasis" =: "/Planet Punk/" =?> para (emph . spcSep $ ["Planet", "Punk"]) , "Strong" =: "*Cider*" =?> para (strong "Cider") , "Strong Emphasis" =: "/*strength*/" =?> para (emph . strong $ "strength") , "Emphasized Strong preceded by space" =: " */super/*" =?> para (strong . emph $ "super") , "Underline" =: "_underline_" =?> para (underlineSpan "underline") , "Strikeout" =: "+Kill Bill+" =?> para (strikeout . spcSep $ [ "Kill", "Bill" ]) , "Verbatim" =: "=Robot.rock()=" =?> para (code "Robot.rock()") , "Code" =: "~word for word~" =?> para (code "word for word") , "Math $..$" =: "$E=mc^2$" =?> para (math "E=mc^2") , "Math $$..$$" =: "$$E=mc^2$$" =?> para (displayMath "E=mc^2") , "Math \\[..\\]" =: "\\[E=ℎν\\]" =?> para (displayMath "E=ℎν") , "Math \\(..\\)" =: "\\(σ_x σ_p ≥ \\frac{ℏ}{2}\\)" =?> para (math "σ_x σ_p ≥ \\frac{ℏ}{2}") , "Symbol" =: "A * symbol" =?> para (str "A" <> space <> str "*" <> space <> "symbol") , "Superscript simple expression" =: "2^-λ" =?> para (str "2" <> superscript "-λ") , "Superscript multi char" =: "2^{n-1}" =?> para (str "2" <> superscript "n-1") , "Subscript simple expression" =: "a_n" =?> para (str "a" <> subscript "n") , "Subscript multi char" =: "a_{n+1}" =?> para (str "a" <> subscript "n+1") , "Linebreak" =: "line \\\\ \nbreak" =?> para ("line" <> linebreak <> "break") , "Inline note" =: "[fn::Schreib mir eine E-Mail]" =?> para (note $ para "Schreib mir eine E-Mail") , "Markup-chars not occurring on word break are symbols" =: T.unlines [ "this+that+ +so+on" , "seven*eight* nine*" , "+not+funny+" ] =?> para ("this+that+ +so+on" <> softbreak <> "seven*eight* nine*" <> softbreak <> strikeout "not+funny") , "No empty markup" =: "// ** __ <> == ~~ $$" =?> para (spcSep [ "//", "**", "__", "<>", "==", "~~", "$$" ]) , "Adherence to Org's rules for markup borders" =: "/t/& a/ / ./r/ (*l*) /e/! /b/." =?> para (spcSep [ emph $ "t/&" <> space <> "a" , "/" , "./r/" , "(" <> strong "l" <> ")" , emph "e" <> "!" , emph "b" <> "." ]) , "Quotes are allowed border chars" =: "/'yep/ *sure\"*" =?> para (emph "'yep" <> space <> strong "sure\"") , "Spaces are forbidden border chars" =: "/nada /" =?> para "/nada /" , "Markup should work properly after a blank line" =: T.unlines ["foo", "", "/bar/"] =?> para (text "foo") <> para (emph $ text "bar") , "Inline math must stay within three lines" =: T.unlines [ "$a", "b", "c$", "$d", "e", "f", "g$" ] =?> para (math "a\nb\nc" <> softbreak <> "$d" <> softbreak <> "e" <> softbreak <> "f" <> softbreak <> "g$") , "Single-character math" =: "$a$ $b$! $c$?" =?> para (spcSep [ math "a" , "$b$!" , math "c" <> "?" ]) , "Markup may not span more than two lines" =: "/this *is +totally\nnice+ not*\nemph/" =?> para ("/this" <> space <> strong ("is" <> space <> strikeout ("totally" <> softbreak <> "nice") <> space <> "not") <> softbreak <> "emph/") , "Sub- and superscript expressions" =: T.unlines [ "a_(a(b)(c)d)" , "e^(f(g)h)" , "i_(jk)l)" , "m^()n" , "o_{p{q{}r}}" , "s^{t{u}v}" , "w_{xy}z}" , "1^{}2" , "3_{{}}" , "4^(a(*b(c*)d))" ] =?> para (mconcat $ intersperse softbreak [ "a" <> subscript "(a(b)(c)d)" , "e" <> superscript "(f(g)h)" , "i" <> subscript "(jk)" <> "l)" , "m" <> superscript "()" <> "n" , "o" <> subscript "p{q{}r}" , "s" <> superscript "t{u}v" , "w" <> subscript "xy" <> "z}" , "1" <> superscript "" <> "2" , "3" <> subscript "{}" , "4" <> superscript ("(a(" <> strong "b(c" <> ")d))") ]) , "Verbatim text can contain equal signes (=)" =: "=is_subst = True=" =?> para (code "is_subst = True") , testGroup "Images" [ "Image" =: "[[./sunset.jpg]]" =?> para (image "./sunset.jpg" "" "") , "Image with explicit file: prefix" =: "[[file:sunrise.jpg]]" =?> para (image "sunrise.jpg" "" "") , "Multiple images within a paragraph" =: T.unlines [ "[[file:sunrise.jpg]]" , "[[file:sunset.jpg]]" ] =?> para (image "sunrise.jpg" "" "" <> softbreak <> image "sunset.jpg" "" "") , "Image with html attributes" =: T.unlines [ "#+ATTR_HTML: :width 50%" , "[[file:guinea-pig.gif]]" ] =?> para (imageWith ("", [], [("width", "50%")]) "guinea-pig.gif" "" "") ] , "Explicit link" =: "[[http://zeitlens.com/][pseudo-random /nonsense/]]" =?> para (link "http://zeitlens.com/" "" ("pseudo-random" <> space <> emph "nonsense")) , "Self-link" =: "[[http://zeitlens.com/]]" =?> para (link "http://zeitlens.com/" "" "http://zeitlens.com/") , "Internal self-link (reference)" =: "[[#rabbit]]" =?> para (link "#rabbit" "" "#rabbit") , "Absolute file link" =: "[[/url][hi]]" =?> para (link "file:///url" "" "hi") , "Link to file in parent directory" =: "[[../file.txt][moin]]" =?> para (link "../file.txt" "" "moin") , "Empty link (for gitit interop)" =: "[[][New Link]]" =?> para (link "" "" "New Link") , "Image link" =: "[[sunset.png][file:dusk.svg]]" =?> para (link "sunset.png" "" (image "dusk.svg" "" "")) , "Image link with non-image target" =: "[[http://example.com][./logo.png]]" =?> para (link "http://example.com" "" (image "./logo.png" "" "")) , "Link to image" =: "[[https://example.com/image.jpg][Look!]]" =?> para (link "https://example.com/image.jpg" "" (str "Look!")) , "Plain link" =: "Posts on http://zeitlens.com/ can be funny at times." =?> para (spcSep [ "Posts", "on" , link "http://zeitlens.com/" "" "http://zeitlens.com/" , "can", "be", "funny", "at", "times." ]) , "Angle link" =: "Look at for fnords." =?> para (spcSep [ "Look", "at" , link "http://moltkeplatz.de" "" "http://moltkeplatz.de" , "for", "fnords." ]) , "Absolute file link" =: "[[file:///etc/passwd][passwd]]" =?> para (link "file:///etc/passwd" "" "passwd") , "File link" =: "[[file:target][title]]" =?> para (link "target" "" "title") , "Anchor" =: "<> Link here later." =?> para (spanWith ("anchor", [], []) mempty <> "Link" <> space <> "here" <> space <> "later.") , "Inline code block" =: "src_emacs-lisp{(message \"Hello\")}" =?> para (codeWith ( "" , [ "commonlisp" ] , [ ("org-language", "emacs-lisp") ]) "(message \"Hello\")") , "Inline code block with arguments" =: "src_sh[:export both :results output]{echo 'Hello, World'}" =?> para (codeWith ( "" , [ "bash" ] , [ ("org-language", "sh") , ("export", "both") , ("results", "output") ] ) "echo 'Hello, World'") , "Inline code block with a blank argument array" =: "src_sh[]{echo 'Hello, World'}" =?> para (codeWith ( "" , [ "bash" ] , [ ("org-language", "sh") ]) "echo 'Hello, World'") , "Inline code block with toggle" =: "src_sh[:toggle]{echo $HOME}" =?> para (codeWith ( "" , [ "bash" ] , [ ("org-language", "sh") , ("toggle", "yes") ] ) "echo $HOME") , "Inline LaTeX symbol" =: "\\dots" =?> para "…" , "Inline LaTeX command" =: "\\textit{Emphasised}" =?> para (emph "Emphasised") , "Inline LaTeX command with spaces" =: "\\emph{Emphasis mine}" =?> para (emph "Emphasis mine") , "Inline math symbols" =: "\\tau \\oplus \\alpha" =?> para "τ ⊕ α" , "Inline LaTeX math command" =: "\\crarr" =?> para "↵" , "Unknown inline LaTeX command" =: "\\notacommand{foo}" =?> para (rawInline "latex" "\\notacommand{foo}") , "Export snippet" =: "@@html:M-x org-agenda@@" =?> para (rawInline "html" "M-x org-agenda") , "MathML symbol in LaTeX-style" =: "There is a hackerspace in Lübeck, Germany, called nbsp (unicode symbol: '\\nbsp')." =?> para "There is a hackerspace in Lübeck, Germany, called nbsp (unicode symbol: ' ')." , "MathML symbol in LaTeX-style, including braces" =: "\\Aacute{}stor" =?> para "Ástor" , "MathML copy sign" =: "\\copy" =?> para "©" , "MathML symbols, space separated" =: "\\ForAll \\Auml" =?> para "∀ Ä" , "Macro" =: T.unlines [ "#+MACRO: HELLO /Hello, $1/" , "{{{HELLO(World)}}}" ] =?> para (emph "Hello, World") , "Macro repeting its argument" =: T.unlines [ "#+MACRO: HELLO $1$1" , "{{{HELLO(moin)}}}" ] =?> para "moinmoin" , "Macro called with too few arguments" =: T.unlines [ "#+MACRO: HELLO Foo $1 $2 Bar" , "{{{HELLO()}}}" ] =?> para "Foo Bar" , testGroup "Citations" Citation.tests , testGroup "Footnotes" Note.tests , testGroup "Smart punctuation" Smart.tests ] pandoc-2.9.2.1/test/Tests/Readers/Org/Inline/000077500000000000000000000000001363630463000205465ustar00rootroot00000000000000pandoc-2.9.2.1/test/Tests/Readers/Org/Inline/Citation.hs000066400000000000000000000154661363630463000226700ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Inline.Citation Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Test parsing of citations in org input. -} module Tests.Readers.Org.Inline.Citation (tests) where import Prelude import Test.Tasty (TestTree, testGroup) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:)) import Text.Pandoc.Builder tests :: [TestTree] tests = [ testGroup "Markdown-style citations" [ "Citation" =: "[@nonexistent]" =?> let citation = Citation { citationId = "nonexistent" , citationPrefix = [] , citationSuffix = [] , citationMode = NormalCitation , citationNoteNum = 0 , citationHash = 0} in (para $ cite [citation] "[@nonexistent]") , "Citation containing text" =: "[see @item1 p. 34-35]" =?> let citation = Citation { citationId = "item1" , citationPrefix = [Str "see"] , citationSuffix = [Space ,Str "p.",Space,Str "34-35"] , citationMode = NormalCitation , citationNoteNum = 0 , citationHash = 0} in (para $ cite [citation] "[see @item1 p. 34-35]") ] , testGroup "org-ref citations" [ "simple citation" =: "cite:pandoc" =?> let citation = Citation { citationId = "pandoc" , citationPrefix = mempty , citationSuffix = mempty , citationMode = AuthorInText , citationNoteNum = 0 , citationHash = 0 } in (para $ cite [citation] "cite:pandoc") , "simple citation with underscores" =: "cite:pandoc_org_ref" =?> let citation = Citation { citationId = "pandoc_org_ref" , citationPrefix = mempty , citationSuffix = mempty , citationMode = AuthorInText , citationNoteNum = 0 , citationHash = 0 } in (para $ cite [citation] "cite:pandoc_org_ref") , "simple citation succeeded by comma" =: "cite:pandoc," =?> let citation = Citation { citationId = "pandoc" , citationPrefix = mempty , citationSuffix = mempty , citationMode = AuthorInText , citationNoteNum = 0 , citationHash = 0 } in (para $ cite [citation] "cite:pandoc" <> str ",") , "simple citation succeeded by dot" =: "cite:pandoc." =?> let citation = Citation { citationId = "pandoc" , citationPrefix = mempty , citationSuffix = mempty , citationMode = AuthorInText , citationNoteNum = 0 , citationHash = 0 } in (para $ cite [citation] "cite:pandoc" <> str ".") , "simple citation succeeded by colon" =: "cite:pandoc:" =?> let citation = Citation { citationId = "pandoc" , citationPrefix = mempty , citationSuffix = mempty , citationMode = AuthorInText , citationNoteNum = 0 , citationHash = 0 } in (para $ cite [citation] "cite:pandoc" <> str ":") , "simple citep citation" =: "citep:pandoc" =?> let citation = Citation { citationId = "pandoc" , citationPrefix = mempty , citationSuffix = mempty , citationMode = NormalCitation , citationNoteNum = 0 , citationHash = 0 } in (para $ cite [citation] "citep:pandoc") , "extended citation" =: "[[citep:Dominik201408][See page 20::, for example]]" =?> let citation = Citation { citationId = "Dominik201408" , citationPrefix = toList "See page 20" , citationSuffix = toList ", for example" , citationMode = NormalCitation , citationNoteNum = 0 , citationHash = 0 } in (para $ cite [citation] "[[citep:Dominik201408][See page 20::, for example]]") ] , testGroup "Berkeley-style citations" $ let pandocCite = Citation { citationId = "Pandoc" , citationPrefix = mempty , citationSuffix = mempty , citationMode = NormalCitation , citationNoteNum = 0 , citationHash = 0 } pandocInText = pandocCite { citationMode = AuthorInText } dominikCite = Citation { citationId = "Dominik201408" , citationPrefix = mempty , citationSuffix = mempty , citationMode = NormalCitation , citationNoteNum = 0 , citationHash = 0 } dominikInText = dominikCite { citationMode = AuthorInText } in [ "Berkeley-style in-text citation" =: "See @Dominik201408." =?> para ("See " <> cite [dominikInText] "@Dominik201408" <> ".") , "Berkeley-style parenthetical citation list" =: "[(cite): see; @Dominik201408;also @Pandoc; and others]" =?> let pandocCite' = pandocCite { citationPrefix = toList "also" , citationSuffix = toList "and others" } dominikCite' = dominikCite { citationPrefix = toList "see" } in (para $ cite [dominikCite', pandocCite'] "") , "Berkeley-style plain citation list" =: "[cite: See; @Dominik201408; and @Pandoc; and others]" =?> let pandocCite' = pandocInText { citationPrefix = toList "and" } in (para $ "See " <> cite [dominikInText] "" <> "," <> space <> cite [pandocCite'] "" <> "," <> space <> "and others") ] , "LaTeX citation" =: "\\cite{Coffee}" =?> let citation = Citation { citationId = "Coffee" , citationPrefix = [] , citationSuffix = [] , citationMode = NormalCitation , citationNoteNum = 0 , citationHash = 0} in (para . cite [citation] $ rawInline "latex" "\\cite{Coffee}") ] pandoc-2.9.2.1/test/Tests/Readers/Org/Inline/Note.hs000066400000000000000000000053251363630463000220140ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Inline.Note Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Test parsing of footnotes in org input. -} module Tests.Readers.Org.Inline.Note (tests) where import Prelude import Test.Tasty (TestTree) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:)) import Text.Pandoc.Builder import qualified Data.Text as T tests :: [TestTree] tests = [ "Footnote" =: T.unlines [ "A footnote[1]" , "" , "[1] First paragraph" , "" , "second paragraph" ] =?> para (mconcat [ "A", space, "footnote" , note $ mconcat [ para ("First" <> space <> "paragraph") , para ("second" <> space <> "paragraph") ] ]) , "Two footnotes" =: T.unlines [ "Footnotes[fn:1][fn:2]" , "" , "[fn:1] First note." , "" , "[fn:2] Second note." ] =?> para (mconcat [ "Footnotes" , note $ para ("First" <> space <> "note.") , note $ para ("Second" <> space <> "note.") ]) , "Emphasized text before footnote" =: T.unlines [ "/text/[fn:1]" , "" , "[fn:1] unicorn" ] =?> para (mconcat [ emph "text" , note . para $ "unicorn" ]) , "Footnote that starts with emphasized text" =: T.unlines [ "text[fn:1]" , "" , "[fn:1] /emphasized/" ] =?> para (mconcat [ "text" , note . para $ emph "emphasized" ]) , "Footnote followed by header" =: T.unlines [ "Another note[fn:yay]" , "" , "[fn:yay] This is great!" , "" , "** Headline" ] =?> mconcat [ para (mconcat [ "Another", space, "note" , note $ para ("This" <> space <> "is" <> space <> "great!") ]) , headerWith ("headline", [], []) 2 "Headline" ] , "Footnote followed by two blank lines" =: T.unlines [ "footnote[fn:blanklines]" , "" , "[fn:blanklines] followed by blank lines" , "" , "" , "next" ] =?> mconcat [ para ("footnote" <> note (para "followed by blank lines")) , para "next" ] ] pandoc-2.9.2.1/test/Tests/Readers/Org/Inline/Smart.hs000066400000000000000000000037511363630463000221760ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Inline.Smart Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Test smart parsing of quotes, apostrophe, etc. -} module Tests.Readers.Org.Inline.Smart (tests) where import Prelude import Data.Text (Text) import Test.Tasty (TestTree) import Tests.Helpers ((=?>), purely, test) import Text.Pandoc (ReaderOptions (readerExtensions), Extension (Ext_smart), def, enableExtension, getDefaultExtensions, readOrg) import Text.Pandoc.Builder orgSmart :: Text -> Pandoc orgSmart = purely $ let extensionsSmart = enableExtension Ext_smart (getDefaultExtensions "org") in readOrg def{ readerExtensions = extensionsSmart } tests :: [TestTree] tests = [ test orgSmart "quote before ellipses" ("'...hi'" =?> para (singleQuoted "…hi")) , test orgSmart "apostrophe before emph" ("D'oh! A l'/aide/!" =?> para ("D’oh! A l’" <> emph "aide" <> "!")) , test orgSmart "apostrophe in French" ("À l'arrivée de la guerre, le thème de l'«impossibilité du socialisme»" =?> para "À l’arrivée de la guerre, le thème de l’«impossibilité du socialisme»") , test orgSmart "Quotes cannot occur at the end of emphasized text" ("/say \"yes\"/" =?> para ("/say" <> space <> doubleQuoted "yes" <> "/")) , test orgSmart "Dashes are allowed at the borders of emphasis'" ("/foo---/" =?> para (emph "foo—")) , test orgSmart "Single quotes can be followed by emphasized text" ("Singles on the '/meat market/'" =?> para ("Singles on the " <> singleQuoted (emph "meat market"))) , test orgSmart "Double quotes can be followed by emphasized text" ("Double income, no kids: \"/DINK/\"" =?> para ("Double income, no kids: " <> doubleQuoted (emph "DINK"))) ] pandoc-2.9.2.1/test/Tests/Readers/Org/Meta.hs000066400000000000000000000154261363630463000205620ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Meta Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Tests parsing of org meta data (mostly lines starting with @#+@). -} module Tests.Readers.Org.Meta (tests) where import Prelude import Test.Tasty (TestTree, testGroup) import Tests.Helpers ((=?>)) import Tests.Readers.Org.Shared ((=:), spcSep) import Text.Pandoc import Text.Pandoc.Builder import qualified Data.Text as T tests :: [TestTree] tests = [ "Comment" =: "# Nothing to see here" =?> (mempty::Blocks) , "Not a comment" =: "#-tag" =?> para "#-tag" , "Comment surrounded by Text" =: T.unlines [ "Before" , "# Comment" , "After" ] =?> mconcat [ para "Before" , para "After" ] , "Title" =: "#+TITLE: Hello, World" =?> let titleInline = toList $ "Hello," <> space <> "World" meta = setMeta "title" (MetaInlines titleInline) nullMeta in Pandoc meta mempty , "Author" =: "#+author: John /Emacs-Fanboy/ Doe" =?> let author = toList . spcSep $ [ "John", emph "Emacs-Fanboy", "Doe" ] meta = setMeta "author" (MetaList [MetaInlines author]) nullMeta in Pandoc meta mempty , "Multiple authors" =: "#+author: James Dewey Watson, Francis Harry Compton Crick " =?> let watson = MetaInlines $ toList "James Dewey Watson" crick = MetaInlines $ toList "Francis Harry Compton Crick" meta = setMeta "author" (MetaList [watson, crick]) nullMeta in Pandoc meta mempty , "Date" =: "#+Date: Feb. *28*, 2014" =?> let date = toList . spcSep $ [ "Feb.", strong "28" <> ",", "2014" ] meta = setMeta "date" (MetaInlines date) nullMeta in Pandoc meta mempty , "Description" =: "#+DESCRIPTION: Explanatory text" =?> let description = "Explanatory text" meta = setMeta "description" (MetaString description) nullMeta in Pandoc meta mempty , "Properties drawer" =: T.unlines [ " :PROPERTIES:" , " :setting: foo" , " :END:" ] =?> (mempty::Blocks) , "LaTeX_headers options are translated to header-includes" =: "#+LaTeX_header: \\usepackage{tikz}" =?> let latexInlines = rawInline "latex" "\\usepackage{tikz}" inclList = MetaList [MetaInlines (toList latexInlines)] meta = setMeta "header-includes" inclList nullMeta in Pandoc meta mempty , "LaTeX_class option is translated to documentclass" =: "#+LATEX_CLASS: article" =?> let meta = setMeta "documentclass" (MetaString "article") nullMeta in Pandoc meta mempty , "LaTeX_class_options is translated to classoption" =: "#+LATEX_CLASS_OPTIONS: [a4paper]" =?> let meta = setMeta "classoption" (MetaString "a4paper") nullMeta in Pandoc meta mempty , "LaTeX_class_options is translated to classoption" =: "#+html_head: " =?> let html = rawInline "html" "" inclList = MetaList [MetaInlines (toList html)] meta = setMeta "header-includes" inclList nullMeta in Pandoc meta mempty , "later meta definitions take precedence" =: T.unlines [ "#+AUTHOR: this will not be used" , "#+author: Max" ] =?> let author = MetaInlines [Str "Max"] meta = setMeta "author" (MetaList [author]) nullMeta in Pandoc meta mempty , "Logbook drawer" =: T.unlines [ " :LogBook:" , " - State \"DONE\" from \"TODO\" [2014-03-03 Mon 11:00]" , " :END:" ] =?> (mempty::Blocks) , "Drawer surrounded by text" =: T.unlines [ "Before" , ":PROPERTIES:" , ":END:" , "After" ] =?> para "Before" <> para "After" , "Drawer markers must be the only text in the line" =: T.unlines [ " :LOGBOOK: foo" , " :END: bar" ] =?> para (":LOGBOOK: foo" <> softbreak <> ":END: bar") , "Drawers can be arbitrary" =: T.unlines [ ":FOO:" , "/bar/" , ":END:" ] =?> divWith (mempty, ["FOO", "drawer"], mempty) (para $ emph "bar") , "Anchor reference" =: T.unlines [ "<> Target." , "" , "[[link-here][See here!]]" ] =?> (para (spanWith ("link-here", [], []) mempty <> "Target.") <> para (link "#link-here" "" ("See" <> space <> "here!"))) , "Search links are read as emph" =: "[[Wally][Where's Wally?]]" =?> para (emph $ "Where's" <> space <> "Wally?") , "Link to nonexistent anchor" =: T.unlines [ "<> Target." , "" , "[[link$here][See here!]]" ] =?> (para (spanWith ("link-here", [], []) mempty <> "Target.") <> para (emph ("See" <> space <> "here!"))) , "Link abbreviation" =: T.unlines [ "#+LINK: wp https://en.wikipedia.org/wiki/%s" , "[[wp:Org_mode][Wikipedia on Org-mode]]" ] =?> para (link "https://en.wikipedia.org/wiki/Org_mode" "" ("Wikipedia" <> space <> "on" <> space <> "Org-mode")) , "Link abbreviation, defined after first use" =: T.unlines [ "[[zl:non-sense][Non-sense articles]]" , "#+LINK: zl http://zeitlens.com/tags/%s.html" ] =?> para (link "http://zeitlens.com/tags/non-sense.html" "" ("Non-sense" <> space <> "articles")) , "Link abbreviation, URL encoded arguments" =: T.unlines [ "#+link: expl http://example.com/%h/foo" , "[[expl:Hello, World!][Moin!]]" ] =?> para (link "http://example.com/Hello%2C%20World%21/foo" "" "Moin!") , "Link abbreviation, append arguments" =: T.unlines [ "#+link: expl http://example.com/" , "[[expl:foo][bar]]" ] =?> para (link "http://example.com/foo" "" "bar") , testGroup "emphasis config" [ "Changing pre and post chars for emphasis" =: T.unlines [ "#+pandoc-emphasis-pre: \"[)\"" , "#+pandoc-emphasis-post: \"]\\n\"" , "([/emph/])*foo*" ] =?> para ("([" <> emph "emph" <> "])" <> strong "foo") , "setting an invalid value restores the default" =: T.unlines [ "#+pandoc-emphasis-pre: \"[\"" , "#+pandoc-emphasis-post: \"]\"" , "#+pandoc-emphasis-pre:" , "#+pandoc-emphasis-post:" , "[/noemph/]" ] =?> para "[/noemph/]" ] ] pandoc-2.9.2.1/test/Tests/Readers/Org/Shared.hs000066400000000000000000000022241363630463000210720ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Org.Shared Copyright : © 2014-2020 Albert Krewinkel License : GNU GPL, version 2 or above Maintainer : Albert Krewinkel Stability : alpha Portability : portable Helper functions used by other org tests. -} module Tests.Readers.Org.Shared ( (=:) , org , spcSep , tagSpan ) where import Prelude import Data.List (intersperse) import Data.Text (Text) import Tests.Helpers (ToString, purely, test) import Test.Tasty (TestTree) import Text.Pandoc (Pandoc, ReaderOptions (readerExtensions), def, getDefaultExtensions, readOrg) import Text.Pandoc.Builder (Inlines, smallcaps, space, spanWith, str) org :: Text -> Pandoc org = purely $ readOrg def{ readerExtensions = getDefaultExtensions "org" } infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test org spcSep :: [Inlines] -> Inlines spcSep = mconcat . intersperse space -- | Create a span for the given tag. tagSpan :: Text -> Inlines tagSpan t = spanWith ("", ["tag"], [("tag-name", t)]) . smallcaps $ str t pandoc-2.9.2.1/test/Tests/Readers/RST.hs000066400000000000000000000221331363630463000176060ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} {- | Module : Tests.Readers.RST Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Tests for the RST reader. -} module Tests.Readers.RST (tests) where import Prelude import Data.Text (Text) import qualified Data.Text as T import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder rst :: Text -> Pandoc rst = purely $ readRST def{ readerStandalone = True } infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test rst tests :: [TestTree] tests = [ "line block with blank line" =: "| a\n|\n| b" =?> lineBlock [ "a", mempty, "\160b" ] , testGroup "field list" [ "general" =: T.unlines [ "para" , "" , ":Hostname: media08" , ":IP address: 10.0.0.19" , ":Size: 3ru" , ":Version: 1" , ":Indentation: Since the field marker may be quite long, the second" , " and subsequent lines of the field body do not have to line up" , " with the first line, but they must be indented relative to the" , " field name marker, and they must line up with each other." , ":Parameter i: integer" , ":Final: item" , " on two lines" ] =?> doc (para "para" <> definitionList [ (str "Hostname", [para "media08"]) , (text "IP address", [para "10.0.0.19"]) , (str "Size", [para "3ru"]) , (str "Version", [para "1"]) , (str "Indentation", [para "Since the field marker may be quite long, the second\nand subsequent lines of the field body do not have to line up\nwith the first line, but they must be indented relative to the\nfield name marker, and they must line up with each other."]) , (text "Parameter i", [para "integer"]) , (str "Final", [para "item\non two lines"]) ]) , "metadata" =: T.unlines [ "=====" , "Title" , "=====" , "--------" , "Subtitle" , "--------" , "" , ":Version: 1" ] =?> setMeta "version" (para "1") (setMeta "title" ("Title" :: Inlines) $ setMeta "subtitle" ("Subtitle" :: Inlines) $ doc mempty) , "with inline markup" =: T.unlines [ ":*Date*: today" , "" , ".." , "" , ":*one*: emphasis" , ":two_: reference" , ":`three`_: another one" , ":``four``: literal" , "" , ".. _two: http://example.com" , ".. _three: http://example.org" ] =?> setMeta "date" (str "today") (doc $ definitionList [ (emph "one", [para "emphasis"]) , (link "http://example.com" "" "two", [para "reference"]) , (link "http://example.org" "" "three", [para "another one"]) , (code "four", [para "literal"]) ]) ] , "URLs with following punctuation" =: ("http://google.com, http://yahoo.com; http://foo.bar.baz.\n" <> "http://foo.bar/baz_(bam) (http://foo.bar)") =?> para (link "http://google.com" "" "http://google.com" <> ", " <> link "http://yahoo.com" "" "http://yahoo.com" <> "; " <> link "http://foo.bar.baz" "" "http://foo.bar.baz" <> ". " <> softbreak <> link "http://foo.bar/baz_(bam)" "" "http://foo.bar/baz_(bam)" <> " (" <> link "http://foo.bar" "" "http://foo.bar" <> ")") , "Reference names with special characters" =: ("A-1-B_2_C:3:D+4+E.5.F_\n\n" <> ".. _A-1-B_2_C:3:D+4+E.5.F: https://example.com\n") =?> para (link "https://example.com" "" "A-1-B_2_C:3:D+4+E.5.F") , "Code directive with class and number-lines" =: T.unlines [ ".. code::python" , " :number-lines: 34" , " :class: class1 class2 class3" , "" , " def func(x):" , " return y" ] =?> doc (codeBlockWith ( "" , ["python", "numberLines", "class1", "class2", "class3"] , [ ("startFrom", "34") ] ) "def func(x):\n return y") , "Code directive with number-lines, no line specified" =: T.unlines [ ".. code::python" , " :number-lines:" , "" , " def func(x):" , " return y" ] =?> doc (codeBlockWith ( "" , ["python", "numberLines"] , [] ) "def func(x):\n return y") , testGroup "literal / line / code blocks" [ "indented literal block" =: T.unlines [ "::" , "" , " block quotes" , "" , " can go on for many lines" , "but must stop here"] =?> doc ( codeBlock "block quotes\n\ncan go on for many lines" <> para "but must stop here") , "line block with 3 lines" =: "| a\n| b\n| c" =?> lineBlock ["a", "b", "c"] , "line blocks with blank lines" =: T.unlines [ "|" , "" , "|" , "| a" , "| b" , "|" , "" , "|" ] =?> lineBlock [""] <> lineBlock ["", "a", "b", ""] <> lineBlock [""] , "quoted literal block using >" =: "::\n\n> quoted\n> block\n\nOrdinary paragraph" =?> codeBlock "> quoted\n> block" <> para "Ordinary paragraph" , "quoted literal block using | (not a line block)" =: "::\n\n| quoted\n| block\n\nOrdinary paragraph" =?> codeBlock "| quoted\n| block" <> para "Ordinary paragraph" , "class directive with single paragraph" =: ".. class:: special\n\nThis is a \"special\" paragraph." =?> divWith ("", ["special"], []) (para "This is a \"special\" paragraph.") , "class directive with two paragraphs" =: ".. class:: exceptional remarkable\n\n First paragraph.\n\n Second paragraph." =?> divWith ("", ["exceptional", "remarkable"], []) (para "First paragraph." <> para "Second paragraph.") , "class directive around literal block" =: ".. class:: classy\n\n::\n\n a\n b" =?> divWith ("", ["classy"], []) (codeBlock "a\nb")] , testGroup "interpreted text roles" [ "literal role prefix" =: ":literal:`a`" =?> para (code "a") , "literal role postfix" =: "`a`:literal:" =?> para (code "a") , "literal text" =: "``text``" =?> para (code "text") , "code role" =: ":code:`a`" =?> para (codeWith ("", [], []) "a") , "inherited code role" =: ".. role:: codeLike(code)\n\n:codeLike:`a`" =?> para (codeWith ("", ["codeLike"], []) "a") , "custom code role with language field" =: ".. role:: lhs(code)\n :language: haskell\n\n:lhs:`a`" =?> para (codeWith ("", ["lhs", "haskell"], []) "a") , "custom role with unspecified parent role" =: ".. role:: classy\n\n:classy:`text`" =?> para (spanWith ("", ["classy"], []) "text") , "role with recursive inheritance" =: ".. role:: haskell(code)\n.. role:: lhs(haskell)\n\n:lhs:`text`" =?> para (codeWith ("", ["lhs", "haskell"], []) "text") , "unknown role" =: ":unknown:`text`" =?> para (codeWith ("",["interpreted-text"],[("role","unknown")]) "text") ] , testGroup "footnotes" [ "remove space before note" =: T.unlines [ "foo [1]_" , "" , ".. [1]" , " bar" ] =?> para ("foo" <> note (para "bar")) ] , testGroup "inlines" [ "links can contain an URI without being parsed twice (#4581)" =: "`http://loc `__" =?> para (link "http://loc" "" "http://loc") , "inline markup cannot be nested" =: "**a*b*c**" =?> para (strong "a*b*c") , "bare URI parsing disabled inside emphasis (#4561)" =: "*http://location*" =?> para (emph (text "http://location")) , "include newlines" =: "**before\nafter**" =?> para (strong (text "before\nafter")) ] ] pandoc-2.9.2.1/test/Tests/Readers/Txt2Tags.hs000066400000000000000000000355561363630463000206330ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Readers.Txt2Tags Copyright : © 2014-2020 John MacFarlane, © 2014 Matthew Pickering License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Tests for the Txt2Tags reader. -} module Tests.Readers.Txt2Tags (tests) where import Prelude import Data.List (intersperse) import Data.Text (Text) import qualified Data.Text as T import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder import Text.Pandoc.Shared (underlineSpan) t2t :: Text -> Pandoc -- t2t = handleError . readTxt2Tags (T2TMeta "date" "mtime" "in" "out") def t2t = purely $ \s -> do setInputFiles ["in"] setOutputFile (Just "out") readTxt2Tags def s infix 4 =: (=:) :: ToString c => String -> (Text, c) -> TestTree (=:) = test t2t spcSep :: [Inlines] -> Inlines spcSep = mconcat . intersperse space simpleTable' :: Int -> [Blocks] -> [[Blocks]] -> Blocks simpleTable' n = table "" (replicate n (AlignCenter, 0.0)) tests :: [TestTree] tests = [ testGroup "Inlines" [ "Plain String" =: "Hello, World" =?> para (spcSep [ "Hello,", "World" ]) , "Emphasis" =: "//Planet Punk//" =?> para (emph . spcSep $ ["Planet", "Punk"]) , "Strong" =: "**Cider**" =?> para (strong "Cider") , "Strong Emphasis" =: "//**strength**//" =?> para (emph . strong $ "strength") , "Strikeout" =: "--Kill Bill--" =?> para (strikeout . spcSep $ [ "Kill", "Bill" ]) , "Verbatim" =: "``Robot.rock()``" =?> para (code "Robot.rock()") , "Symbol" =: "A * symbol" =?> para (str "A" <> space <> str "*" <> space <> "symbol") , "No empty markup" =: "//// **** ____ ---- ```` \"\"\"\" ''''" =?> para (spcSep [ "////", "****", "____", "----", "````", "\"\"\"\"", "''''" ]) , "Inline markup is greedy" =: "***** ///// _____ ----- ````` \"\"\"\"\" '''''" =?> para (spcSep [strong "*", emph "/", underlineSpan "_" , strikeout "-", code "`", text "\"" , rawInline "html" "'"]) , "Markup must be greedy" =: "********** ////////// __________ ---------- `````````` \"\"\"\"\"\"\"\"\"\" ''''''''''" =?> para (spcSep [strong "******", emph "//////", underlineSpan "______" , strikeout "------", code "``````", text "\"\"\"\"\"\"" , rawInline "html" "''''''"]) , "Inlines must be glued" =: "** a** **a ** ** a **" =?> para (text "** a** **a ** ** a **") , "Macros: Date" =: "%%date" =?> para "1970-01-01" , "Macros: Mod Time" =: "%%mtime" =?> para (str "") , "Macros: Infile" =: "%%infile" =?> para "in" , "Macros: Outfile" =: "%%outfile" =?> para "out" , "Autolink" =: "http://www.google.com" =?> para (link "http://www.google.com" "" (str "http://www.google.com")) , "JPEG Image" =: "[image.jpg]" =?> para (image "image.jpg" "" mempty) , "PNG Image" =: "[image.png]" =?> para (image "image.png" "" mempty) , "Link" =: "[title http://google.com]" =?> para (link "http://google.com" "" (str "title")) , "Image link" =: "[[image.jpg] abc]" =?> para (link "abc" "" (image "image.jpg" "" mempty)) , "Invalid link: No trailing space" =: "[title invalid ]" =?> para (text "[title invalid ]") ] , testGroup "Basic Blocks" ["Paragraph, lines grouped together" =: "A paragraph\n A blank line ends the \n current paragraph\n" =?> para "A paragraph\n A blank line ends the\n current paragraph" , "Paragraph, ignore leading and trailing spaces" =: " Leading and trailing spaces are ignored. \n" =?> para "Leading and trailing spaces are ignored." , "Comment line in paragraph" =: "A comment line can be placed inside a paragraph.\n% this comment will be ignored \nIt will not affect it.\n" =?> para "A comment line can be placed inside a paragraph.\nIt will not affect it." , "Paragraph" =: "Paragraph\n" =?> para "Paragraph" , "First Level Header" =: "+ Headline +\n" =?> header 1 "Headline" , "Third Level Header" =: "=== Third Level Headline ===\n" =?> header 3 ("Third" <> space <> "Level" <> space <> "Headline") , "Header with label" =: "= header =[label]" =?> headerWith ("label", [], []) 1 "header" , "Invalid header, mismatched delimiters" =: "== header =" =?> para (text "== header =") , "Invalid header, spaces in label" =: "== header ==[ haha ]" =?> para (text "== header ==[ haha ]") , "Invalid header, invalid label character" =: "== header ==[lab/el]" =?> para (text "== header ==[lab/el]") , "Headers not preceded by a blank line" =: T.unlines [ "++ eat dinner ++" , "Spaghetti and meatballs tonight." , "== walk dog ==" ] =?> mconcat [ header 2 ("eat" <> space <> "dinner") , para $ spcSep [ "Spaghetti", "and", "meatballs", "tonight." ] , header 2 ("walk" <> space <> "dog") ] , "Paragraph starting with an equals" =: "=five" =?> para "=five" , "Paragraph containing asterisk at beginning of line" =: T.unlines [ "lucky" , "*star" ] =?> para ("lucky" <> softbreak <> "*star") , "Horizontal Rule" =: T.unlines [ "before" , T.replicate 20 "-" , T.replicate 20 "=" , T.replicate 20 "_" , "after" ] =?> mconcat [ para "before" , horizontalRule , horizontalRule , horizontalRule , para "after" ] , "Comment Block" =: T.unlines [ "%%%" , "stuff" , "bla" , "%%%"] =?> (mempty::Blocks) ] , testGroup "Lists" [ "Simple Bullet Lists" =: ("- Item1\n" <> "- Item2\n") =?> bulletList [ plain "Item1" , plain "Item2" ] , "Indented Bullet Lists" =: (" - Item1\n" <> " - Item2\n") =?> bulletList [ plain "Item1" , plain "Item2" ] , "Nested Bullet Lists" =: ("- Discovery\n" <> " + One More Time\n" <> " + Harder, Better, Faster, Stronger\n" <> "- Homework\n" <> " + Around the World\n"<> "- Human After All\n" <> " + Technologic\n" <> " + Robot Rock\n") =?> bulletList [ mconcat [ plain "Discovery" , orderedList [ plain ("One" <> space <> "More" <> space <> "Time") , plain ("Harder," <> space <> "Better," <> space <> "Faster," <> space <> "Stronger") ] ] , mconcat [ plain "Homework" , orderedList [ plain ("Around" <> space <> "the" <> space <> "World") ] ] , mconcat [ plain ("Human" <> space <> "After" <> space <> "All") , orderedList [ plain "Technologic" , plain ("Robot" <> space <> "Rock") ] ] ] , "Simple Ordered List" =: ("+ Item1\n" <> "+ Item2\n") =?> let listStyle = (1, DefaultStyle, DefaultDelim) listStructure = [ plain "Item1" , plain "Item2" ] in orderedListWith listStyle listStructure , "Indented Ordered List" =: (" + Item1\n" <> " + Item2\n") =?> let listStyle = (1, DefaultStyle, DefaultDelim) listStructure = [ plain "Item1" , plain "Item2" ] in orderedListWith listStyle listStructure , "Nested Ordered Lists" =: ("+ One\n" <> " + One-One\n" <> " + One-Two\n" <> "+ Two\n" <> " + Two-One\n"<> " + Two-Two\n") =?> let listStyle = (1, DefaultStyle, DefaultDelim) listStructure = [ mconcat [ plain "One" , orderedList [ plain "One-One" , plain "One-Two" ] ] , mconcat [ plain "Two" , orderedList [ plain "Two-One" , plain "Two-Two" ] ] ] in orderedListWith listStyle listStructure , "Ordered List in Bullet List" =: ("- Emacs\n" <> " + Org\n") =?> bulletList [ plain "Emacs" <> orderedList [ plain "Org"] ] , "Bullet List in Ordered List" =: ("+ GNU\n" <> " - Freedom\n") =?> orderedList [ plain "GNU" <> bulletList [ plain "Freedom" ] ] , "Definition List" =: T.unlines [ ": PLL" , " phase-locked loop" , ": TTL" , " transistor-transistor logic" , ": PSK" , " a digital" ] =?> definitionList [ ("PLL", [ plain $ "phase-locked" <> space <> "loop" ]) , ("TTL", [ plain $ "transistor-transistor" <> space <> "logic" ]) , ("PSK", [ plain $ "a" <> space <> "digital" ]) ] , "Loose bullet list" =: T.unlines [ "- apple" , "" , "- orange" , "" , "- peach" ] =?> bulletList [ para "apple" , para "orange" , para "peach" ] ] , testGroup "Tables" [ "Single cell table" =: "| Test " =?> simpleTable' 1 mempty [[plain "Test"]] , "Multi cell table" =: "| One | Two |" =?> simpleTable' 2 mempty [ [ plain "One", plain "Two" ] ] , "Multi line table" =: T.unlines [ "| One |" , "| Two |" , "| Three |" ] =?> simpleTable' 1 mempty [ [ plain "One" ] , [ plain "Two" ] , [ plain "Three" ] ] , "Empty table" =: "| |" =?> simpleTable' 1 mempty [[mempty]] , "Glider Table" =: T.unlines [ "| 1 | 0 | 0 |" , "| 0 | 1 | 1 |" , "| 1 | 1 | 0 |" ] =?> simpleTable' 3 mempty [ [ plain "1", plain "0", plain "0" ] , [ plain "0", plain "1", plain "1" ] , [ plain "1", plain "1", plain "0" ] ] , "Table with Header" =: T.unlines [ "|| Species | Status |" , "| cervisiae | domesticated |" , "| paradoxus | wild |" ] =?> simpleTable [ plain "Species", plain "Status" ] [ [ plain "cervisiae", plain "domesticated" ] , [ plain "paradoxus", plain "wild" ] ] , "Table alignment determined by spacing" =: T.unlines [ "| Numbers | Text | More |" , "| 1 | One | foo |" , "| 2 | Two | bar |" ] =?> table "" (zip [AlignCenter, AlignRight, AlignDefault] [0, 0, 0]) [] [ [ plain "Numbers", plain "Text", plain "More" ] , [ plain "1" , plain "One" , plain "foo" ] , [ plain "2" , plain "Two" , plain "bar" ] ] , "Pipe within text doesn't start a table" =: "Ceci n'est pas une | pipe " =?> para (spcSep [ "Ceci", "n'est", "pas", "une", "|", "pipe" ]) , "Table with differing row lengths" =: T.unlines [ "|| Numbers | Text " , "| 1 | One | foo |" , "| 2 " ] =?> table "" (zip [AlignCenter, AlignLeft, AlignLeft] [0, 0, 0]) [ plain "Numbers", plain "Text" , plain mempty ] [ [ plain "1" , plain "One" , plain "foo" ] , [ plain "2" , plain mempty , plain mempty ] ] ] , testGroup "Blocks and fragments" [ "Source block" =: T.unlines [ "```" , "main = putStrLn greeting" , " where greeting = \"moin\"" , "```" ] =?> let code' = "main = putStrLn greeting\n" <> " where greeting = \"moin\"\n" in codeBlock code' , "tagged block" =: T.unlines [ "'''" , "" , "'''" ] =?> rawBlock "html" "\n" , "Quote block" =: T.unlines ["\t//Niemand// hat die Absicht, eine Mauer zu errichten!" ] =?> blockQuote (para (spcSep [ emph "Niemand", "hat", "die", "Absicht," , "eine", "Mauer", "zu", "errichten!" ])) ] ] pandoc-2.9.2.1/test/Tests/Shared.hs000066400000000000000000000046351363630463000167660ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Tests.Shared Copyright : © 2006-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Tests for functions used in many parts of the library. -} module Tests.Shared (tests) where import Prelude import System.FilePath.Posix (joinPath) import Test.Tasty import Test.Tasty.HUnit (assertBool, testCase, (@?=)) import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder import Text.Pandoc.Shared tests :: [TestTree] tests = [ testGroup "compactifyDL" [ testCase "compactifyDL with empty def" $ assertBool "compactifyDL" (let x = [(str "word", [para (str "def"), mempty])] in compactifyDL x == x) ] , testGroup "collapseFilePath" testCollapse ] testCollapse :: [TestTree] testCollapse = map (testCase "collapse") [ collapseFilePath (joinPath [ ""]) @?= (joinPath [ ""]) , collapseFilePath (joinPath [ ".","foo"]) @?= (joinPath [ "foo"]) , collapseFilePath (joinPath [ ".",".","..","foo"]) @?= (joinPath [ joinPath ["..", "foo"]]) , collapseFilePath (joinPath [ "..","foo"]) @?= (joinPath [ "..","foo"]) , collapseFilePath (joinPath [ "","bar","..","baz"]) @?= (joinPath [ "","baz"]) , collapseFilePath (joinPath [ "","..","baz"]) @?= (joinPath [ "","..","baz"]) , collapseFilePath (joinPath [ ".","foo","..",".","bar","..",".",".","baz"]) @?= (joinPath [ "baz"]) , collapseFilePath (joinPath [ ".",""]) @?= (joinPath [ ""]) , collapseFilePath (joinPath [ ".",".",""]) @?= (joinPath [ ""]) , collapseFilePath (joinPath [ "..",""]) @?= (joinPath [ ".."]) , collapseFilePath (joinPath [ "..",".",""]) @?= (joinPath [ ".."]) , collapseFilePath (joinPath [ ".","..",""]) @?= (joinPath [ ".."]) , collapseFilePath (joinPath [ "..","..",""]) @?= (joinPath [ "..",".."]) , collapseFilePath (joinPath [ "parent","foo","baz","..","bar"]) @?= (joinPath [ "parent","foo","bar"]) , collapseFilePath (joinPath [ "parent","foo","baz","..","..","bar"]) @?= (joinPath [ "parent","bar"]) , collapseFilePath (joinPath [ "parent","foo",".."]) @?= (joinPath [ "parent"]) , collapseFilePath (joinPath [ "","parent","foo","..","..","bar"]) @?= (joinPath [ "","bar"]) , collapseFilePath (joinPath [ "",".","parent","foo"]) @?= (joinPath [ "","parent","foo"])] pandoc-2.9.2.1/test/Tests/Writers/000077500000000000000000000000001363630463000166535ustar00rootroot00000000000000pandoc-2.9.2.1/test/Tests/Writers/AsciiDoc.hs000066400000000000000000000047331363630463000206740ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.AsciiDoc (tests) where import Prelude import Data.Text (unpack) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder asciidoc :: (ToPandoc a) => a -> String asciidoc = unpack . purely (writeAsciiDoc def{ writerWrapText = WrapNone }) . toPandoc testAsciidoc :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree testAsciidoc = test asciidoc tests :: [TestTree] tests = [ testGroup "emphasis" [ testAsciidoc "emph word before" $ para (text "foo" <> emph (text "bar")) =?> "foo__bar__" , testAsciidoc "emph word after" $ para (emph (text "foo") <> text "bar") =?> "__foo__bar" , testAsciidoc "emph quoted" $ para (doubleQuoted (emph (text "foo"))) =?> "``__foo__''" , testAsciidoc "strong word before" $ para (text "foo" <> strong (text "bar")) =?> "foo**bar**" , testAsciidoc "strong word after" $ para (strong (text "foo") <> text "bar") =?> "**foo**bar" , testAsciidoc "strong quoted" $ para (singleQuoted (strong (text "foo"))) =?> "`**foo**'" ] , testGroup "tables" [ testAsciidoc "empty cells" $ simpleTable [] [[mempty],[mempty]] =?> unlines [ "[cols=\"\",]" , "|===" , "|" , "|" , "|===" ] , test asciidoc "multiblock cells" $ simpleTable [] [[para (text "Para 1") <> para (text "Para 2")]] =?> unlines [ "[cols=\"\",]" , "|===" , "a|" , "Para 1" , "" , "Para 2" , "" , "|===" ] ] ] pandoc-2.9.2.1/test/Tests/Writers/ConTeXt.hs000066400000000000000000000142661363630463000205440ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.ConTeXt (tests) where import Prelude import Data.Text (unpack, pack) import Test.Tasty import Test.Tasty.QuickCheck import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder context :: (ToPandoc a) => a -> String context = unpack . purely (writeConTeXt def) . toPandoc context' :: (ToPandoc a) => a -> String context' = unpack . purely (writeConTeXt def{ writerWrapText = WrapNone }) . toPandoc contextNtb :: (ToPandoc a) => a -> String contextNtb = unpack . purely (writeConTeXt def{ writerExtensions = enableExtension Ext_ntb pandocExtensions }) . toPandoc contextDiv :: (ToPandoc a) => a -> String contextDiv = unpack . purely (writeConTeXt def{ writerSectionDivs = True }) . toPandoc {- "my test" =: X =?> Y is shorthand for test context "my test" $ X =?> Y which is in turn shorthand for test context "my test" (X,Y) -} infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test context tests :: [TestTree] tests = [ testGroup "inline code" [ "with '}'" =: code "}" =?> "\\mono{\\}}" , "without '}'" =: code "]" =?> "\\type{]}" , testProperty "code property" $ \s -> null s || '\n' `elem` s || if '{' `elem` s || '}' `elem` s then context' (code $ pack s) == "\\mono{" ++ context' (str $ pack s) ++ "}" else context' (code $ pack s) == "\\type{" ++ s ++ "}" ] , testGroup "headers" [ "level 1" =: headerWith ("my-header",[],[]) 1 "My header" =?> "\\section[title={My header},reference={my-header}]" , test contextDiv "section-divs" $ ( headerWith ("header1", [], []) 1 (text "Header1") <> headerWith ("header2", [], []) 2 (text "Header2") <> headerWith ("header3", [], []) 3 (text "Header3") <> headerWith ("header4", [], []) 4 (text "Header4") <> headerWith ("header5", [], []) 5 (text "Header5") <> headerWith ("header6", [], []) 6 (text "Header6")) =?> unlines [ "\\startsection[title={Header1},reference={header1}]\n" , "\\startsubsection[title={Header2},reference={header2}]\n" , "\\startsubsubsection[title={Header3},reference={header3}]\n" , "\\startsubsubsubsection[title={Header4},reference={header4}]\n" , "\\startsubsubsubsubsection[title={Header5},reference={header5}]\n" , "\\startsubsubsubsubsubsection[title={Header6},reference={header6}]\n" , "\\stopsubsubsubsubsubsection\n" , "\\stopsubsubsubsubsection\n" , "\\stopsubsubsubsection\n" , "\\stopsubsubsection\n" , "\\stopsubsection\n" , "\\stopsection" ] ] , testGroup "bullet lists" [ "nested" =: bulletList [ plain (text "top") <> bulletList [ plain (text "next") <> bulletList [plain (text "bot")] ] ] =?> unlines [ "\\startitemize[packed]" , "\\item" , " top" , " \\startitemize[packed]" , " \\item" , " next" , " \\startitemize[packed]" , " \\item" , " bot" , " \\stopitemize" , " \\stopitemize" , "\\stopitemize" ] ] , testGroup "natural tables" [ test contextNtb "table with header and caption" $ let caption = text "Table 1" aligns = [(AlignRight, 0.0), (AlignLeft, 0.0), (AlignCenter, 0.0), (AlignDefault, 0.0)] headers = [plain $ text "Right", plain $ text "Left", plain $ text "Center", plain $ text "Default"] rows = [[plain $ text "1.1", plain $ text "1.2", plain $ text "1.3", plain $ text "1.4"] ,[plain $ text "2.1", plain $ text "2.2", plain $ text "2.3", plain $ text "2.4"] ,[plain $ text "3.1", plain $ text "3.2", plain $ text "3.3", plain $ text "3.4"]] in table caption aligns headers rows =?> unlines [ "\\startplacetable[title={Table 1}]" , "\\startTABLE" , "\\startTABLEhead" , "\\NC[align=left] Right" , "\\NC[align=right] Left" , "\\NC[align=middle] Center" , "\\NC Default" , "\\NC\\NR" , "\\stopTABLEhead" , "\\startTABLEbody" , "\\NC[align=left] 1.1" , "\\NC[align=right] 1.2" , "\\NC[align=middle] 1.3" , "\\NC 1.4" , "\\NC\\NR" , "\\NC[align=left] 2.1" , "\\NC[align=right] 2.2" , "\\NC[align=middle] 2.3" , "\\NC 2.4" , "\\NC\\NR" , "\\stopTABLEbody" , "\\startTABLEfoot" , "\\NC[align=left] 3.1" , "\\NC[align=right] 3.2" , "\\NC[align=middle] 3.3" , "\\NC 3.4" , "\\NC\\NR" , "\\stopTABLEfoot" , "\\stopTABLE" , "\\stopplacetable" ] ] ] pandoc-2.9.2.1/test/Tests/Writers/Docbook.hs000066400000000000000000000332421363630463000205730ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.Docbook (tests) where import Prelude import Data.Text (unpack) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder docbook :: (ToPandoc a) => a -> String docbook = docbookWithOpts def{ writerWrapText = WrapNone } docbookWithOpts :: ToPandoc a => WriterOptions -> a -> String docbookWithOpts opts = unpack . purely (writeDocbook4 opts) . toPandoc {- "my test" =: X =?> Y is shorthand for test docbook "my test" $ X =?> Y which is in turn shorthand for test docbook "my test" (X,Y) -} infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test docbook lineblock :: Blocks lineblock = para ("some text" <> linebreak <> "and more lines" <> linebreak <> "and again") lineblock_out :: [String] lineblock_out = [ "some text" , "and more lines" , "and again" ] tests :: [TestTree] tests = [ testGroup "line blocks" [ "none" =: para "This is a test" =?> unlines [ "" , " This is a test" , "" ] , "basic" =: lineblock =?> unlines lineblock_out , "blockquote" =: blockQuote lineblock =?> unlines ( [ "
    " ] ++ lineblock_out ++ [ "
    " ] ) , "footnote" =: para ("This is a test" <> note lineblock <> " of footnotes") =?> unlines ( [ "" , " This is a test" ] ++ lineblock_out ++ [ " of footnotes" , "" ] ) ] , testGroup "compact lists" [ testGroup "bullet" [ "compact" =: bulletList [plain "a", plain "b", plain "c"] =?> unlines [ "" , " " , " " , " a" , " " , " " , " " , " " , " b" , " " , " " , " " , " " , " c" , " " , " " , "" ] , "loose" =: bulletList [para "a", para "b", para "c"] =?> unlines [ "" , " " , " " , " a" , " " , " " , " " , " " , " b" , " " , " " , " " , " " , " c" , " " , " " , "" ] ] , testGroup "ordered" [ "compact" =: orderedList [plain "a", plain "b", plain "c"] =?> unlines [ "" , " " , " " , " a" , " " , " " , " " , " " , " b" , " " , " " , " " , " " , " c" , " " , " " , "" ] , "loose" =: orderedList [para "a", para "b", para "c"] =?> unlines [ "" , " " , " " , " a" , " " , " " , " " , " " , " b" , " " , " " , " " , " " , " c" , " " , " " , "" ] ] , testGroup "definition" [ "compact" =: definitionList [ ("an", [plain "apple" ]) , ("a", [plain "banana"]) , ("an", [plain "orange"])] =?> unlines [ "" , " " , " " , " an" , " " , " " , " " , " apple" , " " , " " , " " , " " , " " , " a" , " " , " " , " " , " banana" , " " , " " , " " , " " , " " , " an" , " " , " " , " " , " orange" , " " , " " , " " , "" ] , "loose" =: definitionList [ ("an", [para "apple" ]) , ("a", [para "banana"]) , ("an", [para "orange"])] =?> unlines [ "" , " " , " " , " an" , " " , " " , " " , " apple" , " " , " " , " " , " " , " " , " a" , " " , " " , " " , " banana" , " " , " " , " " , " " , " " , " an" , " " , " " , " " , " orange" , " " , " " , " " , "" ] ] ] , testGroup "writer options" [ testGroup "top-level division" $ let headers = header 1 (text "header1") <> header 2 (text "header2") <> header 3 (text "header3") docbookTopLevelDiv :: (ToPandoc a) => TopLevelDivision -> a -> String docbookTopLevelDiv division = docbookWithOpts def{ writerTopLevelDivision = division } in [ test (docbookTopLevelDiv TopLevelSection) "sections as top-level" $ headers =?> unlines [ "" , " header1" , " " , " header2" , " " , " header3" , " " , " " , " " , " " , "" ] , test (docbookTopLevelDiv TopLevelChapter) "chapters as top-level" $ headers =?> unlines [ "" , " header1" , " " , " header2" , " " , " header3" , " " , " " , " " , " " , "" ] , test (docbookTopLevelDiv TopLevelPart) "parts as top-level" $ headers =?> unlines [ "" , " header1" , " " , " header2" , " " , " header3" , " " , " " , " " , " " , "" ] , test (docbookTopLevelDiv TopLevelDefault) "default top-level" $ headers =?> unlines [ "" , " header1" , " " , " header2" , " " , " header3" , " " , " " , " " , " " , "" ] ] ] ] pandoc-2.9.2.1/test/Tests/Writers/Docx.hs000066400000000000000000000130431363630463000201050ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} module Tests.Writers.Docx (tests) where import Prelude import Text.Pandoc import Test.Tasty import Tests.Writers.OOXML import Test.Tasty.HUnit import Data.List (isPrefixOf) -- we add an extra check to make sure that we're not writing in the -- toplevel docx directory. We don't want to accidentally overwrite an -- Word-generated docx file used to test the reader. docxTest :: String -> WriterOptions -> FilePath -> FilePath -> TestTree docxTest testName opts nativeFP goldenFP = if "docx/golden/" `isPrefixOf` goldenFP then ooxmlTest writeDocx testName opts nativeFP goldenFP else testCase testName $ assertFailure $ goldenFP ++ " is not in `test/docx/golden`" tests :: [TestTree] tests = [ testGroup "inlines" [ docxTest "font formatting" def "docx/inline_formatting.native" "docx/golden/inline_formatting.docx" , docxTest "hyperlinks" def "docx/links.native" "docx/golden/links.docx" , docxTest "inline image" def "docx/image_writer_test.native" "docx/golden/image.docx" , docxTest "inline images" def "docx/inline_images_writer_test.native" "docx/golden/inline_images.docx" , docxTest "handling unicode input" def "docx/unicode.native" "docx/golden/unicode.docx" , docxTest "inline code" def "docx/inline_code.native" "docx/golden/inline_code.docx" , docxTest "inline code in subscript and superscript" def "docx/verbatim_subsuper.native" "docx/golden/verbatim_subsuper.docx" ] , testGroup "blocks" [ docxTest "headers" def "docx/headers.native" "docx/golden/headers.docx" , docxTest "nested anchor spans in header" def "docx/nested_anchors_in_header.native" "docx/golden/nested_anchors_in_header.docx" , docxTest "lists" def "docx/lists.native" "docx/golden/lists.docx" , docxTest "lists continuing after interruption" def "docx/lists_continuing.native" "docx/golden/lists_continuing.docx" , docxTest "lists restarting after interruption" def "docx/lists_restarting.native" "docx/golden/lists_restarting.docx" , docxTest "definition lists" def "docx/definition_list.native" "docx/golden/definition_list.docx" , docxTest "footnotes and endnotes" def "docx/notes.native" "docx/golden/notes.docx" , docxTest "links in footnotes and endnotes" def "docx/link_in_notes.native" "docx/golden/link_in_notes.docx" , docxTest "blockquotes" def "docx/block_quotes_parse_indent.native" "docx/golden/block_quotes.docx" , docxTest "tables" def "docx/tables.native" "docx/golden/tables.docx" , docxTest "tables with lists in cells" def "docx/table_with_list_cell.native" "docx/golden/table_with_list_cell.docx" , docxTest "tables with one row" def "docx/table_one_row.native" "docx/golden/table_one_row.docx" , docxTest "code block" def "docx/codeblock.native" "docx/golden/codeblock.docx" ] , testGroup "track changes" [ docxTest "insertion" def "docx/track_changes_insertion_all.native" "docx/golden/track_changes_insertion.docx" , docxTest "deletion" def "docx/track_changes_deletion_all.native" "docx/golden/track_changes_deletion.docx" , docxTest "move text" def "docx/track_changes_move_all.native" "docx/golden/track_changes_move.docx" , docxTest "comments" def "docx/comments.native" "docx/golden/comments.docx" ] , testGroup "custom styles" [ docxTest "custom styles without reference.docx" def "docx/custom_style.native" "docx/golden/custom_style_no_reference.docx" , docxTest "custom styles with reference.docx" def{writerReferenceDoc = Just "docx/custom-style-reference.docx"} "docx/custom_style.native" "docx/golden/custom_style_reference.docx" , docxTest "suppress custom style for headers and blockquotes" def "docx/custom-style-preserve.native" "docx/golden/custom_style_preserve.docx" ] , testGroup "metadata" [ docxTest "document properties (core, custom)" def "docx/document-properties.native" "docx/golden/document-properties.docx" , docxTest "document properties (short description)" def "docx/document-properties-short-desc.native" "docx/golden/document-properties-short-desc.docx" ] ] pandoc-2.9.2.1/test/Tests/Writers/FB2.hs000066400000000000000000000027451363630463000175700ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.FB2 (tests) where import Prelude import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder fb2 :: String -> String fb2 x = "\n" ++ "unrecognisedpandoc<p />
    " ++ x ++ "
    " infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test (purely (writeFB2 def) . toPandoc) tests :: [TestTree] tests = [ testGroup "block elements" ["para" =: para "Lorem ipsum cetera." =?> fb2 "

    Lorem ipsum cetera.

    " ] , testGroup "inlines" [ "Emphasis" =: para (emph "emphasized") =?> fb2 "

    emphasized

    " ] , "bullet list" =: bulletList [ plain $ text "first" , plain $ text "second" , plain $ text "third" ] =?> fb2 "

    \x2022 first

    \x2022 second

    \x2022 third

    " ] pandoc-2.9.2.1/test/Tests/Writers/HTML.hs000066400000000000000000000062531363630463000177610ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.HTML (tests) where import Prelude import Data.Text (unpack) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder html :: (ToPandoc a) => a -> String html = unpack . purely (writeHtml4String def{ writerWrapText = WrapNone }) . toPandoc htmlQTags :: (ToPandoc a) => a -> String htmlQTags = unpack . purely (writeHtml4String def{ writerWrapText = WrapNone, writerHtmlQTags = True }) . toPandoc {- "my test" =: X =?> Y is shorthand for test html "my test" $ X =?> Y which is in turn shorthand for test html "my test" (X,Y) -} infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test html tests :: [TestTree] tests = [ testGroup "inline code" [ "basic" =: code "@&" =?> "@&" , "haskell" =: codeWith ("",["haskell"],[]) ">>=" =?> ">>=" , "nolanguage" =: codeWith ("",["nolanguage"],[]) ">>=" =?> ">>=" ] , testGroup "images" [ "alt with formatting" =: image "/url" "title" ("my " <> emph "image") =?> "\"my" ] , testGroup "blocks" [ "definition list with empty
    " =: definitionList [(mempty, [para $ text "foo bar"])] =?> "

    foo bar

    " ] , testGroup "quotes" [ "quote with cite attribute (without q-tags)" =: doubleQuoted (spanWith ("", [], [("cite", "http://example.org")]) (str "examples")) =?> "“examples”" , tQ "quote with cite attribute (with q-tags)" $ doubleQuoted (spanWith ("", [], [("cite", "http://example.org")]) (str "examples")) =?> "examples" ] , testGroup "sample" [ "sample should be rendered correctly" =: plain (codeWith ("",["sample"],[]) "Answer is 42") =?> "Answer is 42" ] , testGroup "variable" [ "variable should be rendered correctly" =: plain (codeWith ("",["variable"],[]) "result") =?> "result" ] , testGroup "sample with style" [ "samp should wrap highlighted code" =: codeWith ("",["sample","haskell"],[]) ">>=" =?> ("" ++ ">>=") ] , testGroup "variable with style" [ "var should wrap highlighted code" =: codeWith ("",["haskell","variable"],[]) ">>=" =?> ("" ++ ">>=") ] ] where tQ :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree tQ = test htmlQTags pandoc-2.9.2.1/test/Tests/Writers/JATS.hs000066400000000000000000000107741363630463000177610ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.JATS (tests) where import Prelude import Data.Text (unpack) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder jats :: (ToPandoc a) => a -> String jats = unpack . purely (writeJATS def{ writerWrapText = WrapNone }) . toPandoc jatsArticleAuthoring :: (ToPandoc a) => a -> String jatsArticleAuthoring = unpack . purely (writeJatsArticleAuthoring def{ writerWrapText = WrapNone }) . toPandoc {- "my test" =: X =?> Y is shorthand for test jats "my test" $ X =?> Y which is in turn shorthand for test jats "my test" (X,Y) -} infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test jats tests :: [TestTree] tests = [ testGroup "inline code" [ "basic" =: code "@&" =?> "

    @&

    " , "lang" =: codeWith ("", ["c"], []) "@&" =?> "

    @&

    " ] , testGroup "block code" [ "basic" =: codeBlock "@&" =?> "@&" , "lang" =: codeBlockWith ("", ["c"], []) "@&" =?> "@&" ] , testGroup "images" [ "basic" =: image "/url" "title" mempty =?> "" ] , testGroup "inlines" [ "Emphasis" =: emph "emphasized" =?> "

    emphasized

    " , test jatsArticleAuthoring "footnote in articleauthoring tag set" ("test" <> note (para "footnote") =?> unlines [ "

    test" , "

    footnote

    " , "

    " ]) ] , "bullet list" =: bulletList [ plain $ text "first" , plain $ text "second" , plain $ text "third" ] =?> "\n\ \ \n\ \

    first

    \n\ \
    \n\ \ \n\ \

    second

    \n\ \
    \n\ \ \n\ \

    third

    \n\ \
    \n\ \
    " , testGroup "definition lists" [ "with internal link" =: definitionList [(link "#go" "" (str "testing"), [plain (text "hi there")])] =?> "\n\ \ \n\ \ testing\n\ \ \n\ \

    hi there

    \n\ \
    \n\ \
    \n\ \
    " ] , testGroup "math" [ "escape |" =: para (math "\\sigma|_{\\{x\\}}") =?> "

    \n\ \\n\ \σ|{x}

    " ] , testGroup "headers" [ "unnumbered header" =: headerWith ("foo",["unnumbered"],[]) 1 (text "Header 1" <> note (plain $ text "note")) =?> "\n\ \ Header 1<xref ref-type=\"fn\" rid=\"fn1\">1</xref>\n\ \" , "unnumbered sub header" =: headerWith ("foo",["unnumbered"],[]) 1 (text "Header") <> headerWith ("foo",["unnumbered"],[]) 2 (text "Sub-Header") =?> "\n\ \ Header\n\ \ \n\ \ Sub-Header\n\ \ \n\ \" , "containing image" =: header 1 (image "imgs/foo.jpg" "" (text "Alt text")) =?> "\n\ \ <inline-graphic mimetype=\"image\" mime-subtype=\"jpeg\" xlink:href=\"imgs/foo.jpg\" />\n\ \" ] ] pandoc-2.9.2.1/test/Tests/Writers/LaTeX.hs000066400000000000000000000172031363630463000201670ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.LaTeX (tests) where import Prelude import Data.Text (unpack) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder latex :: (ToPandoc a) => a -> String latex = latexWithOpts def latexListing :: (ToPandoc a) => a -> String latexListing = latexWithOpts def{ writerListings = True } latexWithOpts :: (ToPandoc a) => WriterOptions -> a -> String latexWithOpts opts = unpack . purely (writeLaTeX opts) . toPandoc beamerWithOpts :: (ToPandoc a) => WriterOptions -> a -> String beamerWithOpts opts = unpack . purely (writeBeamer opts) . toPandoc {- "my test" =: X =?> Y is shorthand for test latex "my test" $ X =?> Y which is in turn shorthand for test latex "my test" (X,Y) -} infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test latex tests :: [TestTree] tests = [ testGroup "code blocks" [ "in footnotes" =: note (para "hi" <> codeBlock "hi") =?> "\\footnote{hi\n\n\\begin{Verbatim}\nhi\n\\end{Verbatim}\n}" , test latexListing "identifier" $ codeBlockWith ("id",[],[]) "hi" =?> ("\\begin{lstlisting}[label=id]\nhi\n\\end{lstlisting}" :: String) , test latexListing "no identifier" $ codeBlock "hi" =?> ("\\begin{lstlisting}\nhi\n\\end{lstlisting}" :: String) ] , testGroup "definition lists" [ "with internal link" =: definitionList [(link "#go" "" (str "testing"), [plain (text "hi there")])] =?> "\\begin{description}\n\\tightlist\n\\item[{\\protect\\hyperlink{go}{testing}}]\nhi there\n\\end{description}" ] , testGroup "math" [ "escape |" =: para (math "\\sigma|_{\\{x\\}}") =?> "\\(\\sigma|_{\\{x\\}}\\)" ] , testGroup "headers" [ "unnumbered header" =: headerWith ("foo",["unnumbered"],[]) 1 (text "Header 1" <> note (plain $ text "note")) =?> "\\hypertarget{foo}{%\n\\section*{\\texorpdfstring{Header 1\\footnote{note}}{Header 1}}\\label{foo}}\n\\addcontentsline{toc}{section}{Header 1}\n" , "in list item" =: bulletList [header 2 (text "foo")] =?> "\\begin{itemize}\n\\item ~\n \\subsection{foo}\n\\end{itemize}" , "in definition list item" =: definitionList [(text "foo", [header 2 (text "bar"), para $ text "baz"])] =?> "\\begin{description}\n\\item[foo] ~ \n\\subsection{bar}\n\nbaz\n\\end{description}" , "containing image" =: header 1 (image "imgs/foo.jpg" "" (text "Alt text")) =?> "\\section{\\texorpdfstring{\\protect\\includegraphics{imgs/foo.jpg}}{Alt text}}" ] , testGroup "inline code" [ "struck out and highlighted" =: strikeout (codeWith ("",["haskell"],[]) "foo" <> space <> str "bar") =?> "\\sout{\\mbox{\\VERB|\\NormalTok{foo}|} bar}" , "struck out and not highlighted" =: strikeout (code "foo" <> space <> str "bar") =?> "\\sout{\\mbox{\\texttt{foo}} bar}" , "single quotes" =: code "dog's" =?> "\\texttt{dog\\textquotesingle{}s}" , "backtick" =: code "`nu?`" =?> "\\texttt{\\textasciigrave{}nu?\\textasciigrave{}}" ] , testGroup "writer options" [ testGroup "top-level division" $ let headers = header 1 (text "header1") <> header 2 (text "header2") <> header 3 (text "header3") latexTopLevelDiv :: (ToPandoc a) => TopLevelDivision -> a -> String latexTopLevelDiv division = latexWithOpts def{ writerTopLevelDivision = division } beamerTopLevelDiv :: (ToPandoc a) => TopLevelDivision -> a -> String beamerTopLevelDiv division = beamerWithOpts def { writerTopLevelDivision = division } in [ test (latexTopLevelDiv TopLevelSection) "sections as top-level" $ headers =?> unlines [ "\\section{header1}\n" , "\\subsection{header2}\n" , "\\subsubsection{header3}" ] , test (latexTopLevelDiv TopLevelChapter) "chapters as top-level" $ headers =?> unlines [ "\\chapter{header1}\n" , "\\section{header2}\n" , "\\subsection{header3}" ] , test (latexTopLevelDiv TopLevelPart) "parts as top-level" $ headers =?> unlines [ "\\part{header1}\n" , "\\chapter{header2}\n" , "\\section{header3}" ] , test (latexTopLevelDiv TopLevelDefault) "default top-level" $ headers =?> unlines [ "\\section{header1}\n" , "\\subsection{header2}\n" , "\\subsubsection{header3}" ] , test (beamerTopLevelDiv TopLevelSection) "sections as top-level in beamer" $ headers =?> unlines [ "\\section{header1}\n" , "\\subsection{header2}\n" , "\\subsubsection{header3}" ] , test (beamerTopLevelDiv TopLevelChapter) "chapters are as part in beamer" $ headers =?> unlines [ "\\part{header1}\n" , "\\section{header2}\n" , "\\subsection{header3}" ] , test (beamerTopLevelDiv TopLevelPart) "parts as top-level in beamer" $ headers =?> unlines [ "\\part{header1}\n" , "\\section{header2}\n" , "\\subsection{header3}" ] , test (beamerTopLevelDiv TopLevelDefault) "default top-level in beamer" $ headers =?> unlines [ "\\section{header1}\n" , "\\subsection{header2}\n" , "\\subsubsection{header3}" ] , test (latexTopLevelDiv TopLevelPart) "part top-level, section not in toc" $ ( headerWith ("", ["unnumbered"], []) 1 (text "header1") <> headerWith ("", ["unnumbered"], []) 2 (text "header2") <> headerWith ("", ["unnumbered"], []) 3 (text "header3") <> headerWith ("", ["unnumbered"], []) 4 (text "header4") <> headerWith ("", ["unnumbered"], []) 5 (text "header5") <> headerWith ("", ["unnumbered"], []) 6 (text "header6")) =?> unlines [ "\\part*{header1}" , "\\addcontentsline{toc}{part}{header1}\n" , "\\chapter*{header2}" , "\\addcontentsline{toc}{chapter}{header2}\n" , "\\section*{header3}" , "\\addcontentsline{toc}{section}{header3}\n" , "\\subsection*{header4}" , "\\addcontentsline{toc}{subsection}{header4}\n" , "\\subsubsection*{header5}" , "\\addcontentsline{toc}{subsubsection}{header5}\n" , "\\paragraph*{header6}" , "\\addcontentsline{toc}{paragraph}{header6}" ] ] ] ] pandoc-2.9.2.1/test/Tests/Writers/Markdown.hs000066400000000000000000000216631363630463000210010ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-} module Tests.Writers.Markdown (tests) where import Prelude import Data.Text (unpack) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder defopts :: WriterOptions defopts = def{ writerExtensions = pandocExtensions } markdown :: (ToPandoc a) => a -> String markdown = unpack . purely (writeMarkdown defopts) . toPandoc markdownWithOpts :: (ToPandoc a) => WriterOptions -> a -> String markdownWithOpts opts x = unpack . purely (writeMarkdown opts) $ toPandoc x {- "my test" =: X =?> Y is shorthand for test markdown "my test" $ X =?> Y which is in turn shorthand for test markdown "my test" (X,Y) -} infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test markdown tests :: [TestTree] tests = [ "indented code after list" =: (orderedList [ para "one" <> para "two" ] <> codeBlock "test") =?> "1. one\n\n two\n\n```{=html}\n\n```\n test" , "list with tight sublist" =: bulletList [ plain "foo" <> bulletList [ plain "bar" ], plain "baz" ] =?> "- foo\n - bar\n- baz\n" ] ++ [noteTests] ++ [shortcutLinkRefsTests] {- Testing with the following text: First Header ============ This is a footnote.[^1] And this is a [link](https://www.google.com). > A note inside a block quote.[^2] > > A second paragraph. Second Header ============= Some more text. [^1]: Down here. [^2]: The second note. -} noteTestDoc :: Blocks noteTestDoc = header 1 "First Header" <> para ("This is a footnote." <> note (para "Down here.") <> " And this is a " <> link "https://www.google.com" "" "link" <> ".") <> blockQuote (para ("A note inside a block quote." <> note (para "The second note.")) <> para "A second paragraph.") <> header 1 "Second Header" <> para "Some more text." noteTests :: TestTree noteTests = testGroup "note and reference location" [ test (markdownWithOpts defopts) "footnotes at the end of a document" $ noteTestDoc =?> unlines [ "First Header" , "============" , "" , "This is a footnote.[^1] And this is a [link](https://www.google.com)." , "" , "> A note inside a block quote.[^2]" , ">" , "> A second paragraph." , "" , "Second Header" , "=============" , "" , "Some more text." , "" , "[^1]: Down here." , "" , "[^2]: The second note." ] , test (markdownWithOpts defopts{writerReferenceLocation=EndOfBlock}) "footnotes at the end of blocks" $ noteTestDoc =?> unlines [ "First Header" , "============" , "" , "This is a footnote.[^1] And this is a [link](https://www.google.com)." , "" , "[^1]: Down here." , "" , "> A note inside a block quote.[^2]" , ">" , "> A second paragraph." , "" , "[^2]: The second note." , "" , "Second Header" , "=============" , "" , "Some more text." ] , test (markdownWithOpts defopts{writerReferenceLocation=EndOfBlock, writerReferenceLinks=True}) "footnotes and reference links at the end of blocks" $ noteTestDoc =?> unlines [ "First Header" , "============" , "" , "This is a footnote.[^1] And this is a [link]." , "" , "[^1]: Down here." , "" , " [link]: https://www.google.com" , "" , "> A note inside a block quote.[^2]" , ">" , "> A second paragraph." , "" , "[^2]: The second note." , "" , "Second Header" , "=============" , "" , "Some more text." ] , test (markdownWithOpts defopts{writerReferenceLocation=EndOfSection}) "footnotes at the end of section" $ noteTestDoc =?> unlines [ "First Header" , "============" , "" , "This is a footnote.[^1] And this is a [link](https://www.google.com)." , "" , "> A note inside a block quote.[^2]" , ">" , "> A second paragraph." , "" , "[^1]: Down here." , "" , "[^2]: The second note." , "" , "Second Header" , "=============" , "" , "Some more text." ] ] shortcutLinkRefsTests :: TestTree shortcutLinkRefsTests = let infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test (purely (writeMarkdown defopts{writerReferenceLinks = True}) . toPandoc) in testGroup "Shortcut reference links" [ "Simple link (shortcutable)" =: para (link "/url" "title" "foo") =?> "[foo]\n\n [foo]: /url \"title\"" , "Followed by another link (unshortcutable)" =: para (link "/url1" "title1" "first" <> link "/url2" "title2" "second") =?> unlines [ "[first][][second]" , "" , " [first]: /url1 \"title1\"" , " [second]: /url2 \"title2\"" ] , "Followed by space and another link (unshortcutable)" =: para (link "/url1" "title1" "first" <> " " <> link "/url2" "title2" "second") =?> unlines [ "[first][] [second]" , "" , " [first]: /url1 \"title1\"" , " [second]: /url2 \"title2\"" ] , "Reference link is used multiple times (unshortcutable)" =: para (link "/url1" "" "foo" <> link "/url2" "" "foo" <> link "/url3" "" "foo") =?> unlines [ "[foo][][foo][1][foo][2]" , "" , " [foo]: /url1" , " [1]: /url2" , " [2]: /url3" ] , "Reference link is used multiple times (unshortcutable)" =: para (link "/url1" "" "foo" <> " " <> link "/url2" "" "foo" <> " " <> link "/url3" "" "foo") =?> unlines [ "[foo][] [foo][1] [foo][2]" , "" , " [foo]: /url1" , " [1]: /url2" , " [2]: /url3" ] , "Reference link is followed by text in brackets" =: para (link "/url" "" "link" <> "[text in brackets]") =?> unlines [ "[link][]\\[text in brackets\\]" , "" , " [link]: /url" ] , "Reference link is followed by space and text in brackets" =: para (link "/url" "" "link" <> " [text in brackets]") =?> unlines [ "[link][] \\[text in brackets\\]" , "" , " [link]: /url" ] , "Reference link is followed by RawInline" =: para (link "/url" "" "link" <> rawInline "markdown" "[rawText]") =?> unlines [ "[link][][rawText]" , "" , " [link]: /url" ] , "Reference link is followed by space and RawInline" =: para (link "/url" "" "link" <> space <> rawInline "markdown" "[rawText]") =?> unlines [ "[link][] [rawText]" , "" , " [link]: /url" ] , "Reference link is followed by RawInline with space" =: para (link "/url" "" "link" <> rawInline "markdown" " [rawText]") =?> unlines [ "[link][] [rawText]" , "" , " [link]: /url" ] , "Reference link is followed by citation" =: para (link "/url" "" "link" <> cite [Citation "author" [] [] NormalCitation 0 0] (str "[@author]")) =?> unlines [ "[link][][@author]" , "" , " [link]: /url" ] , "Reference link is followed by space and citation" =: para (link "/url" "" "link" <> space <> cite [Citation "author" [] [] NormalCitation 0 0] (str "[@author]")) =?> unlines [ "[link][] [@author]" , "" , " [link]: /url" ] ] pandoc-2.9.2.1/test/Tests/Writers/Muse.hs000066400000000000000000001045171363630463000201300ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.Muse (tests) where import Prelude hiding (unlines) import Data.Text (Text, unlines) import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder defopts :: WriterOptions defopts = def{ writerWrapText = WrapPreserve, writerExtensions = extensionsFromList [Ext_amuse, Ext_auto_identifiers] } muse :: (ToPandoc a) => a -> Text muse = museWithOpts defopts museWithOpts :: (ToPandoc a) => WriterOptions -> a -> Text museWithOpts opts = purely (writeMuse opts) . toPandoc infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, Text) -> TestTree (=:) = test muse noteLocationTestDoc :: Blocks noteLocationTestDoc = header 1 "First Header" <> para ("This is a footnote." <> note (para "First note.")) <> blockQuote (para ("A note inside a block quote." <> note (para "The second note.")) <> para "A second paragraph.") <> header 1 "Second Header" <> para "Some more text." noteLocationTests :: TestTree noteLocationTests = testGroup "note location" [ test (museWithOpts defopts {writerReferenceLocation=EndOfDocument}) "footnotes at the end of document" $ noteLocationTestDoc =?> unlines [ "* First Header" , "" , "This is a footnote.[1]" , "" , "" , "A note inside a block quote.[2]" , "" , "A second paragraph." , "" , "" , "* Second Header" , "" , "Some more text." , "" , "[1] First note." , "" , "[2] The second note." ] , test (museWithOpts defopts {writerReferenceLocation=EndOfBlock}) "footnotes at the end of block" $ noteLocationTestDoc =?> unlines [ "* First Header" , "" , "This is a footnote.[1]" , "" , "[1] First note." , "" , "" , "A note inside a block quote.[2]" , "" , "[2] The second note." , "" , "A second paragraph." , "" , "" , "* Second Header" , "" , "Some more text." ] , test (museWithOpts defopts {writerReferenceLocation=EndOfSection}) "footnotes at the end of section" $ noteLocationTestDoc =?> unlines [ "* First Header" , "" , "This is a footnote.[1]" , "" , "" , "A note inside a block quote.[2]" , "" , "A second paragraph." , "" , "" , "[1] First note." , "" , "[2] The second note." , "" , "* Second Header" , "" , "Some more text." ] ] tests :: [TestTree] tests = [ testGroup "block elements" [ "plain" =: plain "Foo bar." =?> "Foo bar." , testGroup "paragraphs" [ "single paragraph" =: para "Sample paragraph." =?> "Sample paragraph." , "two paragraphs" =: para "First paragraph." <> para "Second paragraph." =?> unlines [ "First paragraph." , "" , "Second paragraph." ] ] , "line block" =: lineBlock ["Foo", "bar", "baz"] =?> unlines [ "> Foo" , "> bar" , "> baz" ] , "code block" =: codeBlock "int main(void) {\n\treturn 0;\n}" =?> unlines [ "" , "int main(void) {" , "\treturn 0;" , "}" , "" ] , "html raw block" =: rawBlock "html" "
    " =?> unlines [ "" , "
    " , "
    " ] , "block quote" =: blockQuote (para "Foo") =?> unlines [ "" , "Foo" , "" ] , testGroup "lists" [ testGroup "simple lists" [ "ordered list" =: orderedList [ plain "first" , plain "second" , plain "third" ] =?> unlines [ " 1. first" , " 2. second" , " 3. third" ] , "ordered list with Roman numerals" =: orderedListWith (1, UpperRoman, DefaultDelim) [ plain "first" , plain "second" , plain "third" ] =?> unlines [ " I. first" , " II. second" , " III. third" ] , "bullet list" =: bulletList [ plain "first" , plain "second" , plain "third" ] =?> unlines [ " - first" , " - second" , " - third" ] , "definition list" =: definitionList [ ("first definition", [plain "first description"]) , ("second definition", [plain "second description"]) , ("third definition", [plain "third description"]) ] =?> unlines [ " first definition :: first description" , " second definition :: second description" , " third definition :: third description" ] , "definition list with multiple descriptions" =: definitionList [ ("first definition", [ plain "first description" , plain "second description" ]) , ("second definition", [plain "third description"]) ] =?> unlines [ " first definition :: first description" , " :: second description" , " second definition :: third description" ] , "definition list with empty term" =: definitionList [ ("first definition", [plain "first description"]) , (mempty, [plain "second description"]) , (str "", [plain "third description"]) ] =?> unlines [ " first definition :: first description" , " :: second description" , " :: third description" ] , "definition list terms starting with space" =: definitionList [ ("first definition", [plain "first description"]) , (space <> str "foo", [plain "second description"]) , (str " > bar", [plain "third description"]) ] =?> unlines [ " first definition :: first description" , " foo :: second description" , " > bar :: third description" ] , "definition list terms starting with list markers" =: definitionList [ ("first definition", [plain "first description"]) , (str "-", [plain "second description"]) , (str "1.", [plain "third description"]) ] =?> unlines [ " first definition :: first description" , " - :: second description" , " 1. :: third description" ] ] -- Test that lists of the same type and style are separated with two blanklines , testGroup "sequential lists" [ "bullet lists" =: bulletList [ para "First" , para "Second" , para "Third" ] <> bulletList [ para "Fourth" , para "Fifth" ] =?> unlines [ " - First" , " - Second" , " - Third" , "" , "" , " - Fourth" , " - Fifth" ] , "ordered lists of the same style" =: orderedListWith (1, UpperRoman, DefaultDelim) [ para "First" , para "Second" ] <> orderedListWith (1, UpperRoman, DefaultDelim) [ para "Third" , para "Fourth" ] =?> unlines [ " I. First" , " II. Second" , "" , "" , " I. Third" , " II. Fourth" ] , "ordered lists with equal styles" =: orderedList [ para "First" , para "Second" ] <> orderedListWith (1, Decimal, DefaultDelim) [ para "Third" , para "Fourth" ] =?> unlines [ " 1. First" , " 2. Second" , "" , "" , " 1. Third" , " 2. Fourth" ] , "bullet and ordered lists" =: bulletList [ para "First" , para "Second" ] <> orderedListWith (1, UpperRoman, DefaultDelim) [ para "Third" , para "Fourth" ] =?> unlines [ " - First" , " - Second" , "" , " I. Third" , " II. Fourth" ] , "different style ordered lists" =: orderedListWith (1, UpperRoman, DefaultDelim) [ para "First" , para "Second" ] <> orderedListWith (1, Decimal, DefaultDelim) [ para "Third" , para "Fourth" ] =?> unlines [ " I. First" , " II. Second" , "" , " 1. Third" , " 2. Fourth" ] ] , testGroup "nested lists" [ "nested ordered list" =: orderedList [ plain "First outer" , plain "Second outer:" <> orderedList [ plain "first" , plain "second" ] , plain "Third outer" ] =?> unlines [ " 1. First outer" , " 2. Second outer:" , " 1. first" , " 2. second" , " 3. Third outer" ] , "nested bullet lists" =: bulletList [ plain "First outer" , plain "Second outer:" <> bulletList [ plain "first" , plain "second" ] , plain "Third outer" ] =?> unlines [ " - First outer" , " - Second outer:" , " - first" , " - second" , " - Third outer" ] , "nested definition lists" =: definitionList [ ("first definition", [plain "first description"]) , ("second definition", [ plain "second description" <> definitionList [ ("first inner definition" , [plain "first inner description"]) , ( "second inner definition" , [plain "second inner description"]) ] ] ) ] =?> unlines [ " first definition :: first description" , " second definition :: second description" , " first inner definition :: first inner description" , " second inner definition :: second inner description" ] , "list item starting with list" =: bulletList [ bulletList [ plain "foo"] ] =?> " - - foo" ] -- Check that list is intended with one space even inside a quote , "List inside block quote" =: blockQuote (orderedList [ plain "first" , plain "second" , plain "third" ]) =?> unlines [ "" , " 1. first" , " 2. second" , " 3. third" , "" ] ] , testGroup "headings" [ "normal heading" =: header 1 "foo" =?> "* foo" , "heading levels" =: header 1 "First level" <> header 3 "Third level" =?> unlines [ "* First level" , "" , "*** Third level" ] , "heading with ID" =: headerWith ("bar", [], []) 2 "Foo" =?> unlines [ "#bar" , "** Foo" ] , "empty heading" =: header 4 mempty =?> "**** " ] , "horizontal rule" =: horizontalRule =?> "----" , "escape horizontal rule" =: para "----" =?> "----" , "escape long horizontal rule" =: para "----------" =?> "----------" , "don't escape horizontal inside paragraph" =: para "foo ---- bar" =?> "foo ---- bar" , "escape nonbreaking space" =: para "~~" =?> "~~" , "escape > in the beginning of line" =: para "> foo bar" =?> "> foo bar" , "escape string with > and space in the beginning of line" =: para (str "> foo bar") =?> "> foo bar" , testGroup "tables" [ "table without header" =: let rows = [[para "Para 1.1", para "Para 1.2"] ,[para "Para 2.1", para "Para 2.2"]] in table mempty [(AlignDefault,0.0),(AlignDefault,0.0)] [mempty, mempty] rows =?> unlines [ " Para 1.1 | Para 1.2" , " Para 2.1 | Para 2.2" ] , "table with header" =: let headers = [plain "header 1", plain "header 2"] rows = [[para "Para 1.1", para "Para 1.2"] ,[para "Para 2.1", para "Para 2.2"]] in simpleTable headers rows =?> unlines [ " header 1 || header 2" , " Para 1.1 | Para 1.2" , " Para 2.1 | Para 2.2" ] , "table with header and caption" =: let caption = "Table 1" headers = [plain "header 1", plain "header 2"] rows = [[para "Para 1.1", para "Para 1.2"] ,[para "Para 2.1", para "Para 2.2"]] in table caption [(AlignDefault,0.0),(AlignDefault,0.0)] headers rows =?> unlines [ " header 1 || header 2" , " Para 1.1 | Para 1.2" , " Para 2.1 | Para 2.2" , " |+ Table 1 +|" ] , "table inside bullet list" =: bulletList [simpleTable [] [[para "foo", para "bar"] ,[para "bat", para "baz"]]] =?> unlines [ " - foo | bar" , " bat | baz" ] , "table with one column" =: let headers = [] rows = [[para "Para 1"] ,[para "Para 2"]] in simpleTable headers rows =?> unlines [ "+--------+" , "| Para 1 |" , "+--------+" , "| Para 2 |" , "+--------+" ] ] , "div with bullet list" =: divWith nullAttr (bulletList [para "foo"]) =?> unlines [ " - foo" ] -- Making sure bullets are indented -- Null is trivial ] , testGroup "inline elements" [ testGroup "string" [ "string" =: str "foo" =?> "foo" , "escape footnote" =: str "[1]" =?> "[1]" , "escape secondary note" =: str "{1}" =?> "{1}" , "do not escape brackets" =: str "[12ab]" =?> "[12ab]" , "escape verbatim close tag" =: str "foobar" =?> "foo</verbatim>bar" , "escape link-like text" =: str "[[https://www.example.org]]" =?> "[[https://www.example.org]]" , "escape pipe to avoid accidental tables" =: str "foo | bar" =?> "foo | bar" , "escape hash to avoid accidental anchors" =: text "#foo bar" =?> "#foo bar" , "escape definition list markers" =: str "::" =?> "::" , "normalize strings before escaping" =: fromList [Str ":", Str ":"] =?> "::" -- We don't want colons to be escaped if they can't be confused -- with definition list item markers. , "do not escape colon" =: str ":" =?> ":" , "escape - to avoid accidental unordered lists" =: text " - foo" =?> " - foo" , "escape - inside a list to avoid accidental nested unordered lists" =: bulletList [ para "foo" <> para "- bar" ] =?> unlines [ " - foo" , "" , " - bar" ] , "escape strings starting with - inside a list" =: bulletList [ para (str "foo") <> para (str "- bar") ] =?> unlines [ " - foo" , "" , " - bar" ] , "escape - inside a note" =: note (para "- foo") =?> unlines [ "[1]" , "" , "[1] - foo" ] , "escape - after softbreak in note" =: note (para (str "foo" <> softbreak <> str "- bar")) =?> unlines [ "[1]" , "" , "[1] foo" , " - bar" ] , "escape ; to avoid accidental comments" =: text "; foo" =?> "; foo" , "escape strings starting with ; and space" =: str "; foo" =?> "; foo" , "escape ; after softbreak" =: "foo" <> softbreak <> "; bar" =?> "foo\n; bar" , "escape ; after linebreak" =: "foo" <> linebreak <> "; bar" =?> "foo
    \n; bar" , "do not escape ; inside paragraph" =: text "foo ; bar" =?> "foo ; bar" , "escape newlines" =: str "foo\nbar" =?> "foo bar" ] , testGroup "emphasis" [ "emphasis" =: emph "foo" =?> "*foo*" , "emphasis inside word" =: "foo" <> emph "bar" <> "baz" =?> "foobarbaz" , "emphasis before comma" =: emph "foo" <> ", bar" =?> "*foo*, bar" , "emphasis before period" =: emph "foobar" <> "." =?> "*foobar*." , "empty emphasis" =: emph mempty =?> "" , "empty strong" =: strong mempty =?> "" , "empty strong emphasis" =: strong (emph mempty) =?> "****" , "empty emphasized strong" =: emph (strong mempty) =?> "**" , "emphasized empty string" =: emph (str "") =?> "" , "strong empty string" =: strong (str "") =?> "" , "strong emphasized empty string" =: strong (emph (str "")) =?> "****" , "emphasized strong empty string" =: emph (strong (str "")) =?> "**" , "emphasized string with space" =: emph (str " ") =?> " " , "emphasized string ending with space" =: emph (str "foo ") =?> "foo " , "emphasized string with tab" =: emph (str "\t") =?> "\t" , "emphasized space between empty strings" =: emph (str "" <> space <> str "") =?> " " , "strong" =: strong "foo" =?> "**foo**" , "strong inside word" =: "foo" <> strong "bar" <> "baz" =?> "foobarbaz" , "strong emphasis" =: strong (emph "foo") =?> "***foo***" , "strong after emphasis" =: emph "foo" <> strong "bar" =?> "*foo*bar" , "strong emphasis after emphasis" =: emph "foo" <> strong (emph "bar") =?> "*foo**bar*" , "strong in the end of emphasis" =: emph ("foo" <> strong "bar") =?> "*foobar*" , "switch to lightweight markup after tag" =: strong (str "foo") <> emph (str "bar") <> strong (str "baz") =?> "**foo**bar**baz**" , "strikeout" =: strikeout "foo" =?> "foo" , "space at the beginning of emphasis" =: emph " foo" =?> " foo" , "space at the end of emphasis" =: emph "foo " =?> "foo " , "space at the beginning of strong" =: strong " foo" =?> " foo" , "space at the end of strong" =: strong "foo " =?> "foo " , "space at the beginning of strong emphasis" =: strong (emph " foo") =?> "** foo**" , "space at the end of strong emphasis" =: strong (emph "foo ") =?> "**foo **" , "space at the beginning of emphasiszed strong" =: emph (strong " foo") =?> "* foo*" , "space at the end of emphasized strong" =: emph (strong "foo ") =?> "*foo *" ] , "superscript" =: superscript "foo" =?> "foo" , "subscript" =: subscript "foo" =?> "foo" , "smallcaps" =: smallcaps "foo" =?> "*foo*" , "smallcaps near emphasis" =: emph (str "foo") <> smallcaps (str "bar") =?> "*foobar*" , "single quoted" =: singleQuoted "foo" =?> "‘foo’" , "double quoted" =: doubleQuoted "foo" =?> "“foo”" -- Cite is trivial , testGroup "code" [ "simple" =: code "foo" =?> "=foo=" , "empty" =: code "" =?> "" , "space" =: code " " =?> " " , "space at the beginning" =: code " foo" =?> " foo" , "space at the end" =: code "foo " =?> "foo " , "use tags for =" =: code "foo = bar" =?> "foo = bar" , "escape tag" =: code "foo = bar baz" =?> "foo = bar</code> baz" , "normalization with attributes" =: codeWith ("",["haskell"],[]) "foo" <> code "bar" =?> "=foobar=" , "code tag" =: code "foo" =?> "=foo=" , "normalization" =: code " code "de>" <> code "=" =?> "</code>=" , "normalization with empty string" =: code " str "" <> code "de>" <> code "=" =?> "</code>=" , "emphasized code" =: emph (code "foo") =?> "*=foo=*" , "strong code" =: strong (code "foo") =?> "**=foo=**" ] , testGroup "spaces" [ "space" =: "a" <> space <> "b" =?> "a b" , "soft break" =: "a" <> softbreak <> "b" =?> "a\nb" , test (museWithOpts def{ writerWrapText = WrapNone }) "remove soft break" $ "a" <> softbreak <> "b" =?> ("a b" :: String) , "line break" =: "a" <> linebreak <> "b" =?> "a
    \nb" , "line break at the end" =: "a" <> linebreak =?> "a
    " , "no newline after line break in header" =: header 1 ("a" <> linebreak <> "b") =?> "* a
    b" , "no softbreak in header" =: header 1 ("a" <> softbreak <> "b") =?> "* a b" ] , testGroup "math" [ "inline math" =: math "2^3" =?> "23" , "display math" =: displayMath "2^3" =?> "23" , "multiple letters in inline math" =: math "abc" =?> "*abc*" , "expand math before normalization" =: math "[" <> str "2]" =?> "[2]" , "multiple math expressions inside one inline list" =: math "5_4" <> ", " <> displayMath "3^2" =?> "54, 32" ] , "raw inline" =: rawInline "html" "marked text" =?> "marked text" , testGroup "links" [ "link with description" =: link "https://example.com" "" (str "Link 1") =?> "[[https://example.com][Link 1]]" , "link without description" =: link "https://example.com" "" (str "https://example.com") =?> "[[https://example.com]]" -- Internal links in Muse include '#' , "link to anchor" =: link "#intro" "" (str "Introduction") =?> "[[#intro][Introduction]]" -- According to Emacs Muse manual, links to images should be prefixed with "URL:" , "link to image with description" =: link "1.png" "" (str "Link to image") =?> "[[URL:1.png][Link to image]]" , "link to image without description" =: link "1.png" "" (str "1.png") =?> "[[URL:1.png]]" , testGroup "escape brackets in links" [ "link with description" =: link "https://example.com/foo].txt" "" (str "Description") =?> "[[https://example.com/foo%5D.txt][Description]]" , "link without description" =: link "https://example.com/foo].txt" "" (str "https://example.com/foo].txt") =?> "[[https://example.com/foo%5D.txt][https://example.com/foo].txt]]" , "image link with description" =: link "foo]bar.png" "" (str "Image link") =?> "[[URL:foo%5Dbar.png][Image link]]" , "image link without description" =: link "foo]bar.png" "" (str "foo]bar.png") =?> "[[URL:foo%5Dbar.png][foo]bar.png]]" ] ] , "image" =: image "image.png" "Image 1" (str "") =?> "[[image.png][Image 1]]" , "image with width" =: imageWith ("", [], [("width", "60%")]) "image.png" "Image" (str "") =?> "[[image.png 60][Image]]" , "left-aligned image with width" =: imageWith ("", ["align-left"], [("width", "60%")]) "image.png" "Image" (str "") =?> "[[image.png 60 l][Image]]" , "right-aligned image with width" =: imageWith ("", ["align-right"], [("width", "60%")]) "image.png" "Image" (str "") =?> "[[image.png 60 r][Image]]" , "escape brackets in image title" =: image "image.png" "Foo]bar" (str "") =?> "[[image.png][Foo]bar]]" , "note" =: note (plain "Foo") =?> unlines [ "[1]" , "" , "[1] Foo" ] , noteLocationTests , "span with class" =: spanWith ("",["foobar"],[]) "Some text" =?> "Some text" , "span without class" =: spanWith ("",[],[]) "Some text" =?> "Some text" , "span with anchor" =: spanWith ("anchor", [], []) mempty <> "Foo bar" =?> "#anchor Foo bar" , "empty span with anchor" =: spanWith ("anchor", [], []) mempty =?> "#anchor" , "empty span without class and anchor" =: spanWith ("", [], []) mempty =?> "" , "span with class and anchor" =: spanWith ("anchor", ["foo"], []) "bar" =?> "#anchor bar" , "adjacent spans" =: spanWith ("", ["syllable"], []) (str "wa") <> spanWith ("", ["syllable"], []) (str "ter") =?> "water" , testGroup "RTL" [ "RTL span" =: spanWith ("",[],[("dir", "rtl")]) (text "foo bar") =?> "<<>>" , "LTR span" =: spanWith ("",[],[("dir", "ltr")]) (text "foo bar") =?> ">>>foo bar<<<" , "RTL span with a class" =: spanWith ("",["foobar"],[("dir", "rtl")]) (text "foo bar") =?> "<<>>" , "LTR span with a class" =: spanWith ("",["foobar"],[("dir", "ltr")]) (text "foo bar") =?> ">>>foo bar<<<" , "Escape <<< and >>>" =: plain (text "<<< foo bar >>>") =?> "<<< foo bar >>>" ] , testGroup "combined" [ "emph word before" =: para ("foo" <> emph "bar") =?> "foobar" , "emph word after" =: para (emph "foo" <> "bar") =?> "foobar" , "emph quoted" =: para (doubleQuoted (emph "foo")) =?> "“*foo*”" , "strong word before" =: para ("foo" <> strong "bar") =?> "foobar" , "strong word after" =: para (strong "foo" <> "bar") =?> "foobar" , "strong quoted" =: para (singleQuoted (strong "foo")) =?> "‘**foo**’" ] ] ] pandoc-2.9.2.1/test/Tests/Writers/Native.hs000066400000000000000000000012611363630463000204350ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} module Tests.Writers.Native (tests) where import Prelude import Data.Text (unpack) import Test.Tasty import Test.Tasty.QuickCheck import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () p_write_rt :: Pandoc -> Bool p_write_rt d = read (unpack $ purely (writeNative def{ writerTemplate = Just mempty }) d) == d p_write_blocks_rt :: [Block] -> Bool p_write_blocks_rt bs = read (unpack $ purely (writeNative def) (Pandoc nullMeta bs)) == bs tests :: [TestTree] tests = [ testProperty "p_write_rt" p_write_rt , testProperty "p_write_blocks_rt" $ mapSize (\x -> if x > 3 then 3 else x) p_write_blocks_rt ] pandoc-2.9.2.1/test/Tests/Writers/OOXML.hs000066400000000000000000000154071363630463000201140ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE PatternGuards #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.OOXML (ooxmlTest) where import Prelude import Text.Pandoc import Test.Tasty import Test.Tasty.Golden.Advanced import Codec.Archive.Zip import Text.XML.Light import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as BL import qualified Data.Text.IO as T import Data.List (isSuffixOf, sort, (\\), intercalate, union) import Data.Maybe (catMaybes, mapMaybe) import Tests.Helpers import Data.Algorithm.Diff import System.FilePath.Glob (compile, match) compareXMLBool :: Content -> Content -> Bool -- We make a special exception for times at the moment, and just pass -- them because we can't control the utctime when running IO. Besides, -- so long as we have two times, we're okay. compareXMLBool (Elem myElem) (Elem goodElem) | (QName "created" _ (Just "dcterms")) <- elName myElem , (QName "created" _ (Just "dcterms")) <- elName goodElem = True compareXMLBool (Elem myElem) (Elem goodElem) | (QName "modified" _ (Just "dcterms")) <- elName myElem , (QName "modified" _ (Just "dcterms")) <- elName goodElem = True compareXMLBool (Elem myElem) (Elem goodElem) = elName myElem == elName goodElem && elAttribs myElem == elAttribs goodElem && and (zipWith compareXMLBool (elContent myElem) (elContent goodElem)) compareXMLBool (Text myCData) (Text goodCData) = cdVerbatim myCData == cdVerbatim goodCData && cdData myCData == cdData goodCData && cdLine myCData == cdLine goodCData compareXMLBool (CRef myStr) (CRef goodStr) = myStr == goodStr compareXMLBool _ _ = False displayDiff :: Content -> Content -> String displayDiff elemA elemB = showDiff (1,1) $ getDiff (lines $ ppContent elemA) (lines $ ppContent elemB) goldenArchive :: FilePath -> IO Archive goldenArchive fp = (toArchive . BL.fromStrict) <$> BS.readFile fp testArchive :: (WriterOptions -> Pandoc -> PandocIO BL.ByteString) -> WriterOptions -> FilePath -> IO Archive testArchive writerFn opts fp = do txt <- T.readFile fp bs <- runIOorExplode $ readNative def txt >>= writerFn opts return $ toArchive bs compareFileList :: FilePath -> Archive -> Archive -> Maybe String compareFileList goldenFP goldenArch testArch = let testFiles = filesInArchive testArch goldenFiles = filesInArchive goldenArch diffTestGolden = testFiles \\ goldenFiles diffGoldenTest = goldenFiles \\ testFiles results = [ if null diffGoldenTest then Nothing else Just $ "Files in " ++ goldenFP ++ " but not in generated archive:\n" ++ intercalate ", " diffGoldenTest , if null diffTestGolden then Nothing else Just $ "Files in generated archive but not in " ++ goldenFP ++ ":\n" ++ intercalate ", " diffTestGolden ] in if null $ catMaybes results then Nothing else Just $ intercalate "\n" $ catMaybes results compareXMLFile' :: FilePath -> Archive -> Archive -> Either String () compareXMLFile' fp goldenArch testArch = do testEntry <- case findEntryByPath fp testArch of Just entry -> Right entry Nothing -> Left $ "Can't extract " ++ fp ++ " from generated archive" testXMLDoc <- case parseXMLDoc $ fromEntry testEntry of Just doc -> Right doc Nothing -> Left $ "Can't parse xml in " ++ fp ++ " from generated archive" goldenEntry <- case findEntryByPath fp goldenArch of Just entry -> Right entry Nothing -> Left $ "Can't extract " ++ fp ++ " from archive in stored file" goldenXMLDoc <- case parseXMLDoc $ fromEntry goldenEntry of Just doc -> Right doc Nothing -> Left $ "Can't parse xml in " ++ fp ++ " from archive in stored file" let testContent = Elem testXMLDoc goldenContent = Elem goldenXMLDoc if compareXMLBool goldenContent testContent then Right () else Left $ "Non-matching xml in " ++ fp ++ ":\n" ++ displayDiff testContent goldenContent compareXMLFile :: FilePath -> Archive -> Archive -> Maybe String compareXMLFile fp goldenArch testArch = case compareXMLFile' fp goldenArch testArch of Right _ -> Nothing Left s -> Just s compareAllXMLFiles :: Archive -> Archive -> Maybe String compareAllXMLFiles goldenArch testArch = let allFiles = filesInArchive goldenArch `union` filesInArchive testArch allXMLFiles = sort $ filter (\fp -> ".xml" `isSuffixOf` fp || ".rels" `isSuffixOf` fp) allFiles results = mapMaybe (\fp -> compareXMLFile fp goldenArch testArch) allXMLFiles in if null results then Nothing else Just $ unlines results compareMediaFile' :: FilePath -> Archive -> Archive -> Either String () compareMediaFile' fp goldenArch testArch = do testEntry <- case findEntryByPath fp testArch of Just entry -> Right entry Nothing -> Left $ "Can't extract " ++ fp ++ " from generated archive" goldenEntry <- case findEntryByPath fp goldenArch of Just entry -> Right entry Nothing -> Left $ "Can't extract " ++ fp ++ " from archive in stored file" if fromEntry testEntry == fromEntry goldenEntry then Right () else Left $ "Non-matching binary file: " ++ fp compareMediaFile :: FilePath -> Archive -> Archive -> Maybe String compareMediaFile fp goldenArch testArch = case compareMediaFile' fp goldenArch testArch of Right _ -> Nothing Left s -> Just s compareAllMediaFiles :: Archive -> Archive -> Maybe String compareAllMediaFiles goldenArch testArch = let allFiles = filesInArchive goldenArch `union` filesInArchive testArch mediaPattern = compile "*/media/*" allMediaFiles = sort $ filter (match mediaPattern) allFiles results = mapMaybe (\fp -> compareMediaFile fp goldenArch testArch) allMediaFiles in if null results then Nothing else Just $ unlines results ooxmlTest :: (WriterOptions -> Pandoc -> PandocIO BL.ByteString) -> String -> WriterOptions -> FilePath -> FilePath -> TestTree ooxmlTest writerFn testName opts nativeFP goldenFP = goldenTest testName (goldenArchive goldenFP) (testArchive writerFn opts nativeFP) (\goldenArch testArch -> let res = catMaybes [ compareFileList goldenFP goldenArch testArch , compareAllXMLFiles goldenArch testArch , compareAllMediaFiles goldenArch testArch ] in return $ if null res then Nothing else Just $ unlines res) (\a -> BL.writeFile goldenFP $ fromArchive a) pandoc-2.9.2.1/test/Tests/Writers/Org.hs000066400000000000000000000013641363630463000177420ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.Org (tests) where import Prelude import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test (purely (writeOrg def . toPandoc)) tests :: [TestTree] tests = [ testGroup "links" -- See http://orgmode.org/manual/Internal-links.html#Internal-links [ "simple link" =: link "/url" "" "foo" =?> "[[/url][foo]]" , "internal link to anchor" =: link "#my-custom-id" "" "#my-custom-id" =?> "[[#my-custom-id]]" ] ] pandoc-2.9.2.1/test/Tests/Writers/Plain.hs000066400000000000000000000011771363630463000202600ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.Plain (tests) where import Prelude import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test (purely (writePlain def{ writerExtensions = enableExtension Ext_gutenberg plainExtensions }) . toPandoc) tests :: [TestTree] tests = [ "strongly emphasized text to uppercase" =: strong "Straße" =?> "STRASSE" ] pandoc-2.9.2.1/test/Tests/Writers/Powerpoint.hs000066400000000000000000000130041363630463000213530ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} module Tests.Writers.Powerpoint (tests) where import Prelude import Tests.Writers.OOXML (ooxmlTest) import Text.Pandoc import Test.Tasty import System.FilePath import Text.DocTemplates (ToContext(toVal), Context(..)) import qualified Data.Map as M import Data.Text (pack) -- templating is important enough, and can break enough things, that -- we want to run all our tests with both default formatting and a -- template. modifyPptxName :: FilePath -> FilePath modifyPptxName fp = addExtension (dropExtension fp ++ "_templated") "pptx" pptxTests :: String -> WriterOptions -> FilePath -> FilePath -> (TestTree, TestTree) pptxTests name opts native pptx = let referenceDoc = "pptx/reference_depth.pptx" in ( ooxmlTest writePowerpoint name opts{writerReferenceDoc=Nothing} native pptx , ooxmlTest writePowerpoint name opts{writerReferenceDoc=Just referenceDoc} native (modifyPptxName pptx) ) groupPptxTests :: [(TestTree, TestTree)] -> [TestTree] groupPptxTests pairs = let (noRefs, refs) = unzip pairs in [ testGroup "Default slide formatting" noRefs , testGroup "With `--reference-doc` pptx file" refs ] tests :: [TestTree] tests = groupPptxTests [ pptxTests "Inline formatting" def "pptx/inline_formatting.native" "pptx/inline_formatting.pptx" , pptxTests "Slide breaks (default slide-level)" def "pptx/slide_breaks.native" "pptx/slide_breaks.pptx" , pptxTests "slide breaks (slide-level set to 1)" def{ writerSlideLevel = Just 1 } "pptx/slide_breaks.native" "pptx/slide_breaks_slide_level_1.pptx" , pptxTests "lists" def "pptx/lists.native" "pptx/lists.pptx" , pptxTests "start ordered list at specified num" def "pptx/start_numbering_at.native" "pptx/start_numbering_at.pptx" , pptxTests "tables" def "pptx/tables.native" "pptx/tables.pptx" , pptxTests "table of contents" def{ writerTableOfContents = True } "pptx/slide_breaks.native" "pptx/slide_breaks_toc.pptx" , pptxTests "end notes" def "pptx/endnotes.native" "pptx/endnotes.pptx" , pptxTests "end notes, with table of contents" def { writerTableOfContents = True } "pptx/endnotes.native" "pptx/endnotes_toc.pptx" , pptxTests "images" def "pptx/images.native" "pptx/images.pptx" , pptxTests "two-column layout" def "pptx/two_column.native" "pptx/two_column.pptx" , pptxTests "speaker notes" def "pptx/speaker_notes.native" "pptx/speaker_notes.pptx" , pptxTests "speaker notes after a separating block" def "pptx/speaker_notes_afterseps.native" "pptx/speaker_notes_afterseps.pptx" , pptxTests "speaker notes after a separating header" def "pptx/speaker_notes_afterheader.native" "pptx/speaker_notes_afterheader.pptx" , pptxTests "speaker notes after metadata" def "pptx/speaker_notes_after_metadata.native" "pptx/speaker_notes_after_metadata.pptx" , pptxTests "remove empty slides" def "pptx/remove_empty_slides.native" "pptx/remove_empty_slides.pptx" , pptxTests "raw ooxml" def "pptx/raw_ooxml.native" "pptx/raw_ooxml.pptx" , pptxTests "metadata, custom properties" def "pptx/document-properties.native" "pptx/document-properties.pptx" , pptxTests "metadata, short description" def "pptx/document-properties-short-desc.native" "pptx/document-properties-short-desc.pptx" , pptxTests "inline code and code blocks" def "pptx/code.native" "pptx/code.pptx" , pptxTests "inline code and code blocks, custom formatting" def { writerVariables = Context $ M.fromList [(pack "monofont", toVal $ pack "Consolas")] } "pptx/code.native" "pptx/code-custom.pptx" ] pandoc-2.9.2.1/test/Tests/Writers/RST.hs000066400000000000000000000152561363630463000176700ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.RST (tests) where import Prelude import Control.Monad.Identity import Test.Tasty import Test.Tasty.HUnit import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder import Text.Pandoc.Writers.RST import qualified Data.Text as T infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test (purely (writeRST def . toPandoc)) testTemplate :: (ToString a, ToString c, ToPandoc a) => String -> String -> (a, c) -> TestTree testTemplate t = case runIdentity (compileTemplate [] (T.pack t)) of Left e -> error $ "Could not compile RST template: " ++ e Right templ -> test (purely (writeRST def{ writerTemplate = Just templ }) . toPandoc) bodyTemplate :: Template T.Text bodyTemplate = case runIdentity (compileTemplate [] "$body$\n") of Left e -> error $ "Could not compile RST bodyTemplate" ++ e Right templ -> templ tests :: [TestTree] tests = [ testGroup "rubrics" [ "in list item" =: bulletList [header 2 (text "foo")] =?> "- .. rubric:: foo" , "in definition list item" =: definitionList [(text "foo", [header 2 (text "bar"), para $ text "baz"])] =?> unlines [ "foo" , " .. rubric:: bar" , "" , " baz"] , "in block quote" =: blockQuote (header 1 (text "bar")) =?> " .. rubric:: bar" , "with id" =: blockQuote (headerWith ("foo",[],[]) 1 (text "bar")) =?> unlines [ " .. rubric:: bar" , " :name: foo"] , "with id class" =: blockQuote (headerWith ("foo",["baz"],[]) 1 (text "bar")) =?> unlines [ " .. rubric:: bar" , " :name: foo" , " :class: baz"] ] , testGroup "ligatures" -- handling specific sequences of blocks [ "a list is closed by a comment before a quote" =: -- issue 4248 bulletList [plain "bulleted"] <> blockQuote (plain "quoted") =?> unlines [ "- bulleted" , "" , ".." , "" , " quoted"] ] , testGroup "flatten" [ testCase "emerges nested styles as expected" $ flatten (Emph [Str "1", Strong [Str "2"], Str "3"]) @?= [Emph [Str "1"], Strong [Str "2"], Emph [Str "3"]] , testCase "could introduce trailing spaces" $ flatten (Emph [Str "f", Space, Strong [Str "2"]]) @?= [Emph [Str "f", Space], Strong [Str "2"]] -- the test above is the reason why we call -- stripLeadingTrailingSpace through transformNested after -- flatten , testCase "preserves empty parents" $ flatten (Image ("",[],[]) [] ("loc","title")) @?= [Image ("",[],[]) [] ("loc","title")] ] , testGroup "inlines" [ "are removed when empty" =: -- #4434 plain (strong (str "")) =?> "" , "do not cause the introduction of extra spaces when removed" =: plain (strong (str "") <> emph (str "text")) =?> "*text*" , "spaces are stripped at beginning and end" =: -- pandoc issue 4327 "The text within inline markup may not -- begin or end with whitespace" -- http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#inline-markup strong (space <> str "text" <> space <> space) =?> "**text**" , "single space stripped" =: strong space =?> "" , "give priority to strong style over emphasis" =: strong (emph (strong (str "s"))) =?> "**s**" , "links are not elided by outer style" =: strong (emph (link "loc" "" (str "text"))) =?> "`text `__" , "RST inlines cannot start nor end with spaces" =: emph (str "f" <> space <> strong (str "d") <> space <> str "l") =?> "*f*\\ **d**\\ *l*" , "keeps quotes" =: strong (str "f" <> doubleQuoted (str "d") <> str "l") =?> "**f“d”l**" , "backslash inserted between str and code" =: str "/api?query=" <> code "foo" =?> "/api?query=\\ ``foo``" ] , testGroup "headings" [ "normal heading" =: header 1 (text "foo") =?> unlines [ "foo" , "==="] -- note: heading normalization is only done in standalone mode , test (purely (writeRST def{ writerTemplate = Just bodyTemplate }) . toPandoc) "heading levels" $ header 1 (text "Header 1") <> header 3 (text "Header 2") <> header 2 (text "Header 2") <> header 1 (text "Header 1") <> header 4 (text "Header 2") <> header 5 (text "Header 3") <> header 3 (text "Header 2") =?> unlines [ "Header 1" , "========" , "" , "Header 2" , "--------" , "" , "Header 2" , "--------" , "" , "Header 1" , "========" , "" , "Header 2" , "--------" , "" , "Header 3" , "~~~~~~~~" , "" , "Header 2" , "--------"] , test (purely (writeRST def{ writerTemplate = Just bodyTemplate }) . toPandoc) "minimal heading levels" $ header 2 (text "Header 1") <> header 3 (text "Header 2") <> header 2 (text "Header 1") <> header 4 (text "Header 2") <> header 5 (text "Header 3") <> header 3 (text "Header 2") =?> unlines [ "Header 1" , "========" , "" , "Header 2" , "--------" , "" , "Header 1" , "========" , "" , "Header 2" , "--------" , "" , "Header 3" , "~~~~~~~~" , "" , "Header 2" , "--------"] ] , testTemplate "$subtitle$\n" "subtitle" $ setMeta "subtitle" ("subtitle" :: Inlines) (doc $ plain "") =?> ("subtitle" :: String) ] pandoc-2.9.2.1/test/Tests/Writers/TEI.hs000066400000000000000000000025251363630463000176340ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} module Tests.Writers.TEI (tests) where import Prelude import Test.Tasty import Tests.Helpers import Text.Pandoc import Text.Pandoc.Arbitrary () import Text.Pandoc.Builder {- "my test" =: X =?> Y is shorthand for test html "my test" $ X =?> Y which is in turn shorthand for test html "my test" (X,Y) -} infix 4 =: (=:) :: (ToString a, ToPandoc a) => String -> (a, String) -> TestTree (=:) = test (purely (writeTEI def) . toPandoc) tests :: [TestTree] tests = [ testGroup "block elements" ["para" =: para "Lorem ipsum cetera." =?> "

    Lorem ipsum cetera.

    " ] , testGroup "inlines" [ "Emphasis" =: emph "emphasized" =?> "

    emphasized

    " ,"SingleQuoted" =: singleQuoted (text "quoted material") =?> "

    quoted material

    " ,"DoubleQuoted" =: doubleQuoted (text "quoted material") =?> "

    quoted material

    " ,"NestedQuoted" =: doubleQuoted (singleQuoted (text "quoted material")) =?> "

    quoted material

    " ] ] pandoc-2.9.2.1/test/bodybg.gif000066400000000000000000000236071363630463000160570ustar00rootroot00000000000000GIF89aN絽ֽ!,N!u@BlM|?) Bc(, Fo1DEe,pmg٢pڈԸ< (8 e= qXdK Pq<8k:a D9U3 G  ;W[hQ[ L H5 2"A0g#p~T+uABU*4QmWJ`P2PUB t 恭tIJm!P:h( |!u nE Y$PLB,&^ C[b0KvsLP$ ԙ, x³(c- + f OR4ZC 7%# \ ;]?Z Cp6h,8X@7BUF-J@pFgyr_8`@Yh6Ɂbts%!QZP!uUw&H XBb Hw`aS,eF|@|< u%`2VNx@ژJU%T$M^;Ҁ<d$!^" p!{UsїbLg7p04X #SVksEA5CAd 玐**3haߎ4< E9X9{04C)މ{@,g#4o+'cp眫Z\M#@ 8L)o@^<YA~ N(7qfh(3B\a)ihƠ0@X(>$Qy)@"YL {4(Icɣg0.BQJC.!B%8 G?a FP^Tc e$WY5\8B9Ⳗdry#f E&dp Tk02o47q9m,4A_Q ![3PBkHF/ ~*@a:+9u?BFcŒ znB#RX"$ x8h|M8Ih^hTEbXmrBjl Hp`&Low`VGT@preXf[6@C$-42x'%ɐ\KQ4PX`n>|#^8t3/pB8[`X=T- =mF)z13NpAJkh!y8U&C+,C# `Plc!Lh6(=(J wڃ] 6g[DvY~롙 zTt0)O(UVix~6fzLC#P@ h7rʛr8uޭZ3am3ƍ) qDErg P;JB"@ɑ#ۦj0 +Cr(#R֐l$/P eY9;.}0FЙ[:/ Xl$X'p`8Qsp$l(\B [uVwzBfAs;8S%$:p 7C$ȿ\9f0m0 \jmDV-GzmrUtR<P:0:J mƼN1ރ `5P]~re"1~OM 3@"À u(JJ9P RSCRFsF` 4#4qA| PU9%# ԭ]*OֿB(C:z1NW <l$uauYC 0"j) u@ujϯģuZ([B1;@D4PD`  L2Z^ cf Fa'J3GP0ju<ǖPApP-G3?VBN,(t4yّmyzw1krݼM~ o:*uZ\g$0 M}zŭ}6gx鍹@1AGb.i.[pX. F1'v)*2DCF( &hf;ELJAv09#OT?jęH~l "pWQ)#^ !2¤U~. L%+ >Iu+LGAx{ُ#N!HnFp 0L[ʃ+AcY(KdH)Q ]Ao$%HyQaMVj tJ;cz QG(lT~_ MsH A$Do[|ohj`z1Z!~K J0a Z / 8D;4.?C !Sq[(I[ `">hm h 4RgY&L岙<(&m3eRH`)jb`tD`> qh DEaP @@|$P00H%$)PT$%,Ply~,Q-A8P=<)M-,yBXX5B@,,4r%QPp&v{R%Ԫ94<0@ شD$JT҆" Wes \8 vp; <*Hd5CÃզ4L>r@fΙy:Da*$g+0G n<vj&Pxv. J;z3pp zY0V+m>p-1Tʃ$Qع.߼ iv@&J;\l8P_!LnCR83 r{84l_= \}X@IA7l1"VJ<ޒOV? M5L[xKih?3n e m5ې3 C{GFژgd݃G.B+N^=xgќ z .Oq4ؾ/*Ңҭ]n|&xfg!;ɳHCOӻam] hmF30 㯠 vdG$/߫Dcȧ8oy , ;] l44zB#BD>]J8aFD;%B rHm5 ܠ/ѲWd$pU8EhxkPC]V >zTPKZ`$H 0%%eB頀*(٨Bl'3 j2IƈF]rXe(,- /r0n&z$&sH(Zgf 00L6@^f8P-m'ic_(cUf`d3J"i+(R]d  (ʤ VHK w+D ,X2lԧr3FsbXa+ ZD 5 9s*FgU>ؕ'R&)OcZ`VD\M4p'R*D"HnD3ֶnFe)in  `0\ui0s*:vaaDz4oT Z ņ`Y%WwB0v5HH  &a<)RrBx%"a*h.E 7αi@[ e7@rH>iz S*!RLQ l3$ 5%#9P[8/`n}~gOTE۠e" )atDĐpY@4PRi/KYh9FF@?TRڀFCaNN]v)}T  4.P~uA(_[vuh,Լ@U<dN؁G m&`_˷f9Ճ{y^!.ۜqe8,T7REō|&,5=YZXB`C48(X~ED `C^ D`t 7 bcY `PpAi|C)' 8(!Z3m`Ef[5a2 A] ufCf>L '" JP,z &$9pOu$"P񕔴G"UDb(ً̢qI -a !%(rb)>i>@,>#+ :E/fI)`h" ![c~.^F:I`<^m":^c11_N z=b>7y0$$e#"!E睢Vf$ɣz]mfZUPh2 wӽWej'M)L]s*}~RNP}'q%c-mڌ'"|.h~Vd0 ԧ>m8焖<\_'vΰh(]P [g-\u5a(2'e(3f (Y7h >ߎeV wf(B v v ܭYY(0X+5 6'A]]OliNQb6 m_¡(qU&>Vd_hƩi+t6"8VqcDʌ2ԜY1JF<@>]NL6+dD֌f(Ky<&7Yb)Pݤ՟9"-g[X(bfR d$<\He>LVah~?:,'|-#[E7i ebGYJl>`2Q}k (O)֙PRW!~e(a֞ î΋db\V)r=S$)µ NKEHl]aݵfTr^f=Z-iv!ōӣ$-Zkǒ&n[(F[вJ-n`4j*KR[:b&[!ł`n1֝&:d!1f\- -6˨2"B\^Bw*( c zG/ܪbY6 Qo͹R*V],$}Ʌa¡ѥ^ hwT/f҂9PL/(pUOlZN0-yX O=^́p:%1Pff\eڠf"b bިMnGs%X܂%H0[*f c`5 O.p+\Qo ZRZdO$$K.e8$%U()';pandoc-2.9.2.1/test/command/000077500000000000000000000000001363630463000155305ustar00rootroot00000000000000pandoc-2.9.2.1/test/command/1126.md000066400000000000000000000006371363630463000164510ustar00rootroot00000000000000``` % pandoc -f html -t latex \begin{eqnarray} A&=&B,\\ C&=&D \end{eqnarray} ^D \textbackslash begin\{eqnarray\} A\&=\&B,\textbackslash\textbackslash{} C\&=\&D \textbackslash end\{eqnarray\} ``` ``` % pandoc -f html+raw_tex -t latex

    See \eqref{myeq}.

    \begin{eqnarray} A&=&B,\\ C&=&D \\label{myeq} \end{eqnarray} ^D See \eqref{myeq}. \begin{eqnarray} A&=&B,\\ C&=&D \\label{myeq} \end{eqnarray} ``` pandoc-2.9.2.1/test/command/1166.md000066400000000000000000000016341363630463000164530ustar00rootroot00000000000000See #1166 and . ``` % pandoc -f rst -t html5 ===== ===== col 1 col 2 ===== ===== 1 Second column of row 1. 2 Second column of row 2. Second line of paragraph. 3 - Second column of row 3. - Second item in bullet list (row 3, column 2). \ Row 4; column 1 will be empty. ===== ===== ^D
    col 1 col 2
    1 Second column of row 1.

    2

    Second column of row 2. Second line of paragraph.

    3

    • Second column of row 3.
    • Second item in bullet list (row 3, column 2).
    Row 4; column 1 will be empty.
    ``` pandoc-2.9.2.1/test/command/1279.md000066400000000000000000000003261363630463000164550ustar00rootroot00000000000000``` pandoc -s -t markdown --- author: 'John Doe[^1]' date: 2014 title: My Article --- [^1]: Dept. of This and That ^D --- author: 'John Doe[^1]' date: 2014 title: My Article --- [^1]: Dept. of This and That ``` pandoc-2.9.2.1/test/command/1390.md000066400000000000000000000005201363630463000164430ustar00rootroot00000000000000``` % pandoc -f latex -t native \newcommand\foo{+} Testing: $\mu\foo\eta$. ^D [Para [Str "Testing:",Space,Math InlineMath "\\mu+\\eta",Str "."]] ``` pandoc-2.9.2.1/test/command/1592.md000066400000000000000000000013021363630463000164460ustar00rootroot00000000000000``` % pandoc -t native [hi]{.smallcaps} ^D [Para [SmallCaps [Str "hi"]]] ``` ``` % pandoc -t native [hi]{style="font-variant: small-caps;"} ^D [Para [SmallCaps [Str "hi"]]] ``` ``` % pandoc -t native hi ^D [Para [SmallCaps [Str "hi"]]] ``` ``` % pandoc -f html -t native

    hi

    ^D [Para [SmallCaps [Str "hi"]]] ``` ``` % pandoc -f html -t native

    hi

    ^D [Para [SmallCaps [Str "hi"]]] ``` ``` % pandoc -f native -t html [Para [SmallCaps [Str "hi"]]] ^D

    hi

    ``` ``` pandoc -f native -t markdown [Para [SmallCaps [Str "hi"]]] ^D [hi]{.smallcaps} ``` pandoc-2.9.2.1/test/command/1629.md000066400000000000000000000002451363630463000164540ustar00rootroot00000000000000``` % pandoc -t latex --listings bla bla `a % b` *bla bla `a % b`* ^D bla bla \passthrough{\lstinline!a \% b!} \emph{bla bla \passthrough{\lstinline!a \% b!}} ``` pandoc-2.9.2.1/test/command/168.md000066400000000000000000000014021363630463000163650ustar00rootroot00000000000000``` % pandoc -t native :::::::::: warning :::::::::::: This is the warning! 1. list 2. another ::: {#myid .class key=val} nested div ::: ::::::::::::::::::::::::::::::: ^D [Div ("",["warning"],[]) [Para [Str "This",Space,Str "is",Space,Str "the",Space,Str "warning!"] ,OrderedList (1,Decimal,Period) [[Plain [Str "list"]] ,[Plain [Str "another"]]] ,Div ("myid",["class"],[("key","val")]) [Para [Str "nested",Space,Str "div"]]]] ``` ``` % pandoc -t native foo ::: bar ^D [Para [Str "foo",SoftBreak,Str ":::",SoftBreak,Str "bar"]] ``` ``` % pandoc -t native ::::: Warning Here is a paragraph. And another. ::::: ^D [Div ("",["Warning"],[]) [Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "paragraph."] ,Para [Str "And",Space,Str "another."]]] ``` pandoc-2.9.2.1/test/command/1710.md000066400000000000000000000021211363630463000164360ustar00rootroot00000000000000``` % pandoc -t revealjs # Slide one
    - a - b
    - c - d
    ok
    ^D

    Slide one

    • a
    • b
    • c
    • d

    ok

    ``` ``` % pandoc -t beamer # Slide one
    - a - b
    - c - d
    ok
    ^D \begin{frame}{Slide one} \protect\hypertarget{slide-one}{} \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{itemize} \tightlist \item a \item b \end{itemize} \end{column} \begin{column}{0.4\textwidth} \begin{itemize} \tightlist \item c \item d \end{itemize} \end{column} \begin{column}{0.1\textwidth} ok \end{column} \end{columns} \end{frame} ``` pandoc-2.9.2.1/test/command/1718.md000066400000000000000000000003751363630463000164570ustar00rootroot00000000000000``` % pandoc -t native Note[^1]. [^1]: the first note. [^2]: the second, unused, note. ^D [WARNING] Note with key '2' defined at line 5 column 1 but not used. [Para [Str "Note",Note [Para [Str "the",Space,Str "first",Space,Str "note."]],Str "."]] ``` pandoc-2.9.2.1/test/command/1745.md000066400000000000000000000005541363630463000164560ustar00rootroot00000000000000``` % pandoc -f latex+auto_identifiers -t html \section{Six favourite beers} \subsection{Jovaru Alus}\label{jovaru-alus} \section{Farmhouse brewers} \subsection{Jovaru Alus} ^D

    Six favourite beers

    Jovaru Alus

    Farmhouse brewers

    Jovaru Alus

    ``` pandoc-2.9.2.1/test/command/1762.md000066400000000000000000000004351363630463000164530ustar00rootroot00000000000000``` % pandoc -t latex # One {.unlisted} # Two {.unnumbered} # Three {.unlisted .unnumbered} ^D \hypertarget{one}{% \section{One}\label{one}} \hypertarget{two}{% \section*{Two}\label{two}} \addcontentsline{toc}{section}{Two} \hypertarget{three}{% \section*{Three}\label{three}} ``` pandoc-2.9.2.1/test/command/1773.md000066400000000000000000000001671363630463000164570ustar00rootroot00000000000000``` % pandoc -f latex+raw_tex -t native \noindent hi ^D [Para [RawInline (Format "latex") "\\noindent ",Str "hi"]] ``` pandoc-2.9.2.1/test/command/1841.md000066400000000000000000000006661363630463000164570ustar00rootroot00000000000000``` % pandoc
    *one* [a link](http://google.com)
    ^D
    one a link
    ``` ``` % pandoc
    *one* [a link](http://google.com)
    ^D
    one a link
    ``` pandoc-2.9.2.1/test/command/1881.md000066400000000000000000000022171363630463000164550ustar00rootroot00000000000000``` % pandoc -f html -t native
    Demonstration of simple table syntax.
    Right Left Center Default
    12 12 12 12
    ^D [Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]]]] ``` ``` % pandoc -f html -t native
    12 12 12 12
    ^D [Table [] [AlignRight,AlignLeft,AlignCenter,AlignRight] [0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]]]] ``` pandoc-2.9.2.1/test/command/1905.md000066400000000000000000000006631363630463000164550ustar00rootroot00000000000000``` % pandoc -f latex-auto_identifiers -t html \chapter{chapone} \part{partone} \chapter{chaptwo} \section{secone} ^D

    chapone

    partone

    chaptwo

    secone

    ``` ``` % pandoc -f latex-auto_identifiers -t html \chapter{chapone} \chapter{chaptwo} \section{secone} ^D

    chapone

    chaptwo

    secone

    ``` ``` % pandoc -f latex-auto_identifiers -t html \section{secone} ^D

    secone

    ``` pandoc-2.9.2.1/test/command/2118.md000066400000000000000000000005051363630463000164450ustar00rootroot00000000000000``` % pandoc -f latex -t native \newcommand{\inclgraph}{\includegraphics[width=0.8\textwidth]} \begin{figure}[ht] \inclgraph{setminus.png} \caption{Set subtraction} \label{fig:setminus} \end{figure} ^D [Para [Image ("fig:setminus",[],[("width","80%")]) [Str "Set",Space,Str "subtraction"] ("setminus.png","fig:")]] ``` pandoc-2.9.2.1/test/command/2228.md000066400000000000000000000001261363630463000164460ustar00rootroot00000000000000``` % pandoc -f markdown+smart -t latex+smart *foo*'s 'foo' ^D \emph{foo}'s `foo' ``` pandoc-2.9.2.1/test/command/2378.md000066400000000000000000000006611363630463000164600ustar00rootroot00000000000000Ensure that we don't get duplicated footnotes when a note occurs in a header cell and `\endfirsthead` is used. ``` % pandoc -t latex | x | y[^fn] | |-|-| |1|2| : a table [^fn]: a footnote ^D \begin{longtable}[]{@{}ll@{}} \caption{a table}\tabularnewline \toprule x & y\footnote{a footnote}\tabularnewline \midrule \endfirsthead \toprule x & y{}\tabularnewline \midrule \endhead 1 & 2\tabularnewline \bottomrule \end{longtable} ``` pandoc-2.9.2.1/test/command/2397.md000066400000000000000000000003151363630463000164550ustar00rootroot00000000000000``` % pandoc -f markdown_mmd # Chapter 1: A long name of chapter [Chapter 1] See [Chapter 1]. ^D

    Chapter 1: A long name of chapter

    See Chapter 1.

    ``` pandoc-2.9.2.1/test/command/2434.md000066400000000000000000000025151363630463000164510ustar00rootroot00000000000000``` % pandoc -t opendocument 1. a 2. b 1. alpha 2. beta * gamma ^D a b alpha beta gamma ``` ``` % pandoc -t opendocument (@) text some text a) sub item 1 b) sub item 2 more text -- this line is missing in the odt output ^D text some text sub item 1 sub item 2 more text – this line is missing in the odt output ``` pandoc-2.9.2.1/test/command/2549.md000066400000000000000000000011141363630463000164520ustar00rootroot00000000000000``` % pandoc -f latex -t native \hypertarget{foo}{% \section{A section}\label{foo} } ^D [Header 1 ("foo",[],[]) [Str "A",Space,Str "section"]] ``` ``` % pandoc -f latex -t native \hypertarget{bar}{% \section{A section}\label{foo} } ^D [Div ("bar",[],[]) [Header 1 ("foo",[],[]) [Str "A",Space,Str "section"]]] ``` ``` % pandoc -f latex -t native Bar \hypertarget{foo}{Foo} ^D [Para [Str "Bar",Space,Span ("foo",[],[]) [Str "Foo"]]] ``` ``` % pandoc -f latex -t native \hypertarget{foo}{% \begin{verbatim} bar \end{verbatim} } ^D [Div ("foo",[],[]) [CodeBlock ("",[],[]) "bar"]] ``` pandoc-2.9.2.1/test/command/2552.md000066400000000000000000000001721363630463000164470ustar00rootroot00000000000000``` % pandoc --strip-comments Foo bar bazboop ^D

    Foo

    bar

    bazboop

    ``` pandoc-2.9.2.1/test/command/256.md000066400000000000000000000006761363630463000163770ustar00rootroot00000000000000``` % pandoc --abbreviations=command/abbrevs -t native Foo. bar baz h.k. and e.g. and Mr. Brown. ^D [Para [Str "Foo.\160bar",Space,Str "baz",Space,Str "h.k.\160and",Space,Str "e.g.",Space,Str "and",Space,Str "Mr.",Space,Str "Brown."]] ``` ``` % pandoc -t native Foo. bar baz h.k. and e.g. and Mr. Brown. ^D [Para [Str "Foo.",Space,Str "bar",Space,Str "baz",Space,Str "h.k.",Space,Str "and",Space,Str "e.g.\160and",Space,Str "Mr.\160Brown."]] ``` pandoc-2.9.2.1/test/command/2602.md000066400000000000000000000002531363630463000164430ustar00rootroot00000000000000``` % pandoc [a] [b] [b]: url ^D

    [a] b

    ``` ``` % pandoc -f markdown+spaced_reference_links [a] [b] [b]: url ^D

    a

    ``` pandoc-2.9.2.1/test/command/2606.md000066400000000000000000000010111363630463000164400ustar00rootroot00000000000000``` % pandoc -f mediawiki -t html5 {| | * hello |} ^D

    * hello

    ``` ``` % pandoc -f mediawiki -t html5 {| | * hello |} ^D
    • hello
    ``` ``` % pandoc -f mediawiki -t html5 {| | * hello |} ^D

    * hello

    ``` ``` % pandoc -f mediawiki -t html5 * * hi ^D
    • * hi
    ``` pandoc-2.9.2.1/test/command/262.md000066400000000000000000000005751363630463000163720ustar00rootroot00000000000000``` % pandoc -f rst `hello`_ and `goodbye`_ .. _hello: .. _goodbye: example.com ^D

    hello and goodbye

    ``` ``` % pandoc -f rst `hello`_ `goodbye`_ .. _hello: .. _goodbye: paragraph ^D

    hello goodbye

    paragraph

    ``` pandoc-2.9.2.1/test/command/2649.md000066400000000000000000000041061363630463000164570ustar00rootroot00000000000000``` % pandoc -f mediawiki -t html5 {| class="wikitable" style="line-height: 1.0" |- bgcolor="#efefef" |} ^D
    ``` ``` % pandoc -f mediawiki -t html5 {| border="4" cellspacing="2" cellpadding="0" WIDTH="100%" |----- | peildatum Simbase || november 2005 || '''uitslagen Flohrgambiet''' || |----- | totaal aantal partijen Simbase || 7.316.773 | wit wint || 53% |----- | percentage (en partijen) Flohrgambiet | 0.023 % (1.699) || zwart wint || 27% |----- | percentage Flohrgambiet in aug 2003 | 0.035 % || remise || 20% |} ^D

    peildatum Simbase

    november 2005

    uitslagen Flohrgambiet

    totaal aantal partijen Simbase

    7.316.773

    wit wint

    53%

    percentage (en partijen) Flohrgambiet

    0.023 % (1.699)

    zwart wint

    27%

    percentage Flohrgambiet in aug 2003

    0.035 %

    remise

    20%

    ``` ``` % pandoc -f mediawiki -t html5 {| class="wikitable" style="text-align:center; font-size:95%" valign="top" | ! Plaats ! Rijder ! Aantal |- | 1 |align=left| {{FR-VLAG}} [[Sébastien Loeb]] | 78 |- | 2 |align=left| {{FR-VLAG}} '''[[Sébastien Ogier]]''' | 38 |- | 10 |align=left| {{FI-VLAG}} [[Hannu Mikkola]] | 18 |} ^D

    Plaats

    Rijder

    Aantal

    1

    Sébastien Loeb

    78

    2

    Sébastien Ogier

    38

    10

    Hannu Mikkola

    18

    ``` pandoc-2.9.2.1/test/command/2662.md000066400000000000000000000004451363630463000164540ustar00rootroot00000000000000``` % pandoc -t html -f rst --wrap=none .. image:: http://url.to.image/foo.png :align: left :height: 100px :width: 200 px :scale: 300 % :alt: alternate text ^D

    alternate text

    ``` pandoc-2.9.2.1/test/command/2834.md000066400000000000000000000015141363630463000164530ustar00rootroot00000000000000Nested grid tables. ``` % pandoc -f html -t markdown --columns=72
    some text
    ^D +-----------------------------------------------------------------------+ | +------------------------------------------------------------------+ | | | ----------- | | | | some text | | | | ----------- | | | +------------------------------------------------------------------+ | +-----------------------------------------------------------------------+ ``` pandoc-2.9.2.1/test/command/2874.md000066400000000000000000000002301363630463000164510ustar00rootroot00000000000000``` % pandoc -f html -t latex
    ^D {}~\\ ``` ``` % pandoc -f html -t latex
    ^D \protect\hypertarget{foo}{}{}~\\ ``` pandoc-2.9.2.1/test/command/2994.md000066400000000000000000000006361363630463000164660ustar00rootroot00000000000000``` % pandoc -f markdown -t docx -o - | pandoc -f docx -t markdown --track-changes=all I want [I left a comment.]{.comment-start id="0" author="Jesse Rosenthal" date="2016-05-09T16:13:00Z"}some text to have a comment []{.comment-end id="0"}on it. ^D I want [I left a comment.]{.comment-start id="0" author="Jesse Rosenthal" date="2016-05-09T16:13:00Z"}some text to have a comment []{.comment-end id="0"}on it. ``` pandoc-2.9.2.1/test/command/3113.md000066400000000000000000000004021363630463000164350ustar00rootroot00000000000000``` % pandoc -f latex -t native \begin{eqnarray} A&=&B,\\ C&=&D,\\ %\end{eqnarray} %\begin{eqnarray} E&=&F \end{eqnarray} ^D [Para [Math DisplayMath "\\begin{aligned}\nA&=&B,\\\\\nC&=&D,\\\\\n%\\end{eqnarray}\n%\\begin{eqnarray}\nE&=&F\\end{aligned}"]] ``` pandoc-2.9.2.1/test/command/3123.md000066400000000000000000000003641363630463000164450ustar00rootroot00000000000000``` % pandoc -f markdown -t native ^D [RawBlock (Format "html") ""] ``` ``` % pandoc -f markdown -t native a ^D [Para [Str "a",RawInline (Format "html") ""]] ``` pandoc-2.9.2.1/test/command/3236.md000066400000000000000000000004311363630463000164450ustar00rootroot00000000000000``` pandoc -f latex -t native \newcommand{\mycolor}{red} \includegraphics[width=17cm]{\mycolor /header} Magnificent \mycolor{} header. ^D [Para [Image ("",[],[("width","17cm")]) [Str "image"] ("red/header",""),SoftBreak,Str "Magnificent",Space,Str "red",Space,Str "header."]] ``` pandoc-2.9.2.1/test/command/3257.md000066400000000000000000000002111363630463000164440ustar00rootroot00000000000000``` % pandoc -t native (ik ^D [Para [Str "ik"]] ``` pandoc-2.9.2.1/test/command/3309.md000066400000000000000000000013571363630463000164560ustar00rootroot00000000000000Certain environments should be treated as inline unless they are surrounded by blank lines: ``` % pandoc -t latex --wrap=preserve Lorem ipsum dolor sit amet, \begin{equation} E = mc^2, \end{equation} consectetur adipiscing elit. ^D Lorem ipsum dolor sit amet, \begin{equation} E = mc^2, \end{equation} consectetur adipiscing elit. ``` ``` % pandoc -t latex --wrap=preserve Lorem ipsum dolor sit amet, \begin{equation} E = mc^2, \end{equation} consectetur adipiscing elit. ^D Lorem ipsum dolor sit amet, \begin{equation} E = mc^2, \end{equation} consectetur adipiscing elit. ``` ``` % pandoc -t latex --wrap=preserve The formula \begin{math} x = y \end{math} should be inline. ^D The formula \begin{math} x = y \end{math} should be inline. ``` pandoc-2.9.2.1/test/command/3314.md000066400000000000000000000013131363630463000164420ustar00rootroot00000000000000See #3315 and . ``` % pandoc -f org -t html5 +-----------+-------+----------+ | First | 12.0 | Example | | | | row | | | | spanning | | | | lines | +-----------+-------+----------+ | Second | 5.0 | Another | +-----------+-------+----------+ ^D
    First 12.0 Example row spanning lines
    Second 5.0 Another
    ``` pandoc-2.9.2.1/test/command/3324.md000066400000000000000000000003551363630463000164500ustar00rootroot00000000000000``` pandoc -t latex Signatures \ \ ___________________________\ Peter Foobar\ *The Foo Company* ^D Signatures \hfill\break \hfill\break \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\ Peter Foobar\\ \emph{The Foo Company} ``` pandoc-2.9.2.1/test/command/3337.md000066400000000000000000000002171363630463000164510ustar00rootroot00000000000000``` % pandoc -f html -t markdown
    a
    12
    ^D --- --- a 1 2 --- --- ``` pandoc-2.9.2.1/test/command/3348.md000066400000000000000000000007601363630463000164560ustar00rootroot00000000000000``` % pandoc -t native --columns=72 ----- ------------------------------------------------ foo bar foo this is a long line of text ----- ------------------------------------------------ ^D [Table [] [AlignRight,AlignLeft] [8.333333333333333e-2,0.6805555555555556] [[] ,[]] [[[Plain [Str "foo"]] ,[Plain [Str "bar"]]] ,[[Plain [Str "foo"]] ,[Plain [Str "this",Space,Str "is",Space,Str "a",Space,Str "long",SoftBreak,Str "line",Space,Str "of",Space,Str "text"]]]]] ``` pandoc-2.9.2.1/test/command/3401.md000066400000000000000000000004641363630463000164450ustar00rootroot00000000000000See #3401 and ``` % pandoc -f org -t native #+MACRO: HELLO /Hello, $1/ {{{HELLO(World)}}} ^D [Para [Emph [Str "Hello,",Space,Str "World"]]] ``` Inverted argument order ``` % pandoc -f org -t native #+MACRO: A $2,$1 {{{A(1,2)}}} ^D [Para [Str "2,1"]] ``` pandoc-2.9.2.1/test/command/3407.md000066400000000000000000000003431363630463000164470ustar00rootroot00000000000000``` % pandoc -f native -t rst [Para [Code ("",["interpreted-text"],[("role","foo")]) "text"]] ^D :foo:`text` ``` ``` % pandoc -f rst -t native :foo:`text` ^D [Para [Code ("",["interpreted-text"],[("role","foo")]) "text"]] ``` pandoc-2.9.2.1/test/command/3422.md000066400000000000000000000002601363630463000164420ustar00rootroot00000000000000See #3422 ``` % pandoc -t latex --listings `int main(int argc, const char *argv[]);`{.c} ^D \passthrough{\lstinline[language=C]!int main(int argc, const char *argv[]);!} ``` pandoc-2.9.2.1/test/command/3432.md000066400000000000000000000116441363630463000164530ustar00rootroot00000000000000List-table with header-rows and widths options. ``` % pandoc -f rst .. list-table:: Frozen Delights! :widths: 15 10 30 :header-rows: 1 * - Treat - Quantity - Description * - Albatross - 2.99 - On a stick! * - Crunchy Frog - 1.49 - If we took the bones out, it wouldn't be crunchy, now would it? * - Gannet Ripple - 1.99 - On a stick! ^D
    Frozen Delights!
    Treat Quantity Description
    Albatross 2.99 On a stick!
    Crunchy Frog 1.49 If we took the bones out, it wouldn't be crunchy, now would it?
    Gannet Ripple 1.99 On a stick!
    ``` List-table whose widths is "auto". ``` % pandoc -f rst .. list-table:: Frozen Delights! :header-rows: 1 :widths: auto * - Treat - Quantity - Description * - Albatross - 2.99 - On a stick! * - Crunchy Frog - 1.49 - If we took the bones out, it wouldn't be crunchy, now would it? * - Gannet Ripple - 1.99 - On a stick! ^D
    Frozen Delights!
    Treat Quantity Description
    Albatross 2.99 On a stick!
    Crunchy Frog 1.49 If we took the bones out, it wouldn't be crunchy, now would it?
    Gannet Ripple 1.99 On a stick!
    ``` List-table with header-rows which is bigger than 1. Only the first row is treated as a header. ``` % pandoc -f rst .. list-table:: Frozen Delights! :header-rows: 2 * - Treat - Quantity - Description * - Albatross - 2.99 - On a stick! * - Crunchy Frog - 1.49 - If we took the bones out, it wouldn't be crunchy, now would it? * - Gannet Ripple - 1.99 - On a stick! ^D
    Frozen Delights!
    Treat Quantity Description
    Albatross 2.99 On a stick!
    Crunchy Frog 1.49 If we took the bones out, it wouldn't be crunchy, now would it?
    Gannet Ripple 1.99 On a stick!
    ``` List-table without header-rows. ``` % pandoc -f rst .. list-table:: Frozen Delights! * - Albatross - 2.99 - On a stick! * - Crunchy Frog - 1.49 - If we took the bones out, it wouldn't be crunchy, now would it? * - Gannet Ripple - 1.99 - On a stick! ^D
    Frozen Delights!
    Albatross 2.99 On a stick!
    Crunchy Frog 1.49 If we took the bones out, it wouldn't be crunchy, now would it?
    Gannet Ripple 1.99 On a stick!
    ``` List-table with empty cells. You need a space after '-', otherwise the row will disappear. Parser for Bulletlists causes this restriction. ``` % pandoc -f rst .. list-table:: Frozen Delights! :header-rows: 2 * - Treat - Quantity - Description * - Albatross - 2.99 - * - Crunchy Frog - - If we took the bones out, it wouldn't be crunchy, now would it? * - Gannet Ripple - 1.99 - On a stick! ^D
    Frozen Delights!
    Treat Quantity Description
    Albatross 2.99
    Crunchy Frog If we took the bones out, it wouldn't be crunchy, now would it?
    Gannet Ripple 1.99 On a stick!
    ``` List-table with a cell having a bulletlist ``` % pandoc -f rst .. list-table:: Frozen Delights! * - Albatross - 2.99 - + On a stick! + In a cup! * - Crunchy Frog - 1.49 - If we took the bones out, it wouldn't be crunchy, now would it? * - Gannet Ripple - 1.99 - On a stick! ^D
    Frozen Delights!
    Albatross 2.99
    • On a stick!
    • In a cup!
    Crunchy Frog 1.49 If we took the bones out, it wouldn't be crunchy, now would it?
    Gannet Ripple 1.99 On a stick!
    ``` pandoc-2.9.2.1/test/command/3432a.md000066400000000000000000000002231363630463000166030ustar00rootroot00000000000000``` % pandoc -f rst * - a - b * - c - d ^D
      • a
      • b
      • c
      • d
    ``` pandoc-2.9.2.1/test/command/3450.md000066400000000000000000000004441363630463000164470ustar00rootroot00000000000000``` % pandoc -fmarkdown-implicit_figures ![image](lalune.jpg){height=2em} ^D

    image

    ``` ``` % pandoc -fmarkdown-implicit_figures -t latex ![image](lalune.jpg){height=2em} ^D \includegraphics[width=\textwidth,height=2em]{lalune.jpg} ``` pandoc-2.9.2.1/test/command/3475.md000066400000000000000000000011551363630463000164560ustar00rootroot00000000000000RST implicit internal links to headers: ``` pandoc -f rst Years ----- Years_ ^D

    Years

    Years

    ``` ``` pandoc -f rst Years_ Years ----- ^D

    Years

    Years

    ``` ``` pandoc -f rst Years and years --------------- `Years and years`_ ^D

    Years and years

    Years and years

    ``` ``` pandoc -f rst Years and *years* ----------------- `Years and years`_ ^D

    Years and years

    Years and years

    ``` pandoc-2.9.2.1/test/command/3487.md000066400000000000000000000001451363630463000164570ustar00rootroot00000000000000``` % pandoc -f html -t markdown Some text
    • element
    ^D Some text - element ``` pandoc-2.9.2.1/test/command/3494.md000066400000000000000000000020101363630463000164460ustar00rootroot00000000000000``` % pandoc -f latex --quiet \begin{table}[h!] \begin{tabular}{r|l|l} {\large \textbf{ﺍ}} && \\ \textbf{ﺄﺤﺴﻨﺘـ(ﻭﺍ) IV} & \em{ʾaḥsant(ū)} & thank you \\ \newpage \emph{blah} & \emph{blah} & \emph{blah} \\ blah & blah & blah \\ \end{tabular} \end{table} ^D
    ﺄﺤﺴﻨﺘـ(ﻭﺍ) IV ʾaḥsant(ū) thank you
    blah blah blah
    blah blah blah
    ``` pandoc-2.9.2.1/test/command/3497.md000066400000000000000000000006021363630463000164560ustar00rootroot00000000000000Escape list markers at beginning of paragraph: ``` % pandoc -t markdown \* ok \+ ok \- ok 1\. ok a\. ok ^D \* ok \+ ok \- ok 1\. ok a\. ok ``` Here we don't need to escape because there's no space: ``` % pandoc -t markdown \+ok \-ok 1.ok ^D +ok -ok 1.ok ``` Also escape things that might become line blocks or tables: ``` % pandoc -t markdown \| hi \| ^D \| hi \| ``` pandoc-2.9.2.1/test/command/3499.md000066400000000000000000000003401363630463000164570ustar00rootroot00000000000000Org-mode tables can't be on the same line as list markers: ``` % pandoc -f org - |something| - |else| ^D
    • |something|
    • else
    ``` pandoc-2.9.2.1/test/command/3510-export.latex000066400000000000000000000000141363630463000204710ustar00rootroot00000000000000\emph{Hello}pandoc-2.9.2.1/test/command/3510-src.hs000066400000000000000000000000231363630463000172340ustar00rootroot00000000000000putStrLn outString pandoc-2.9.2.1/test/command/3510-subdoc.org000066400000000000000000000000521363630463000201030ustar00rootroot00000000000000* Subsection Included text Lorem ipsum. pandoc-2.9.2.1/test/command/3510.md000066400000000000000000000010131363630463000164350ustar00rootroot00000000000000See ``` % pandoc -f org -t native Text #+include: "command/3510-subdoc.org" #+INCLUDE: "command/3510-src.hs" src haskell #+INCLUDE: "command/3510-export.latex" export latex More text ^D [Para [Str "Text"] ,Header 1 ("subsection",[],[]) [Str "Subsection"] ,Para [Str "Included",Space,Str "text"] ,Plain [Str "Lorem",Space,Str "ipsum."] ,CodeBlock ("",["haskell"],[]) "putStrLn outString\n" ,RawBlock (Format "latex") "\\emph{Hello}" ,Para [Str "More",Space,Str "text"]] ``` pandoc-2.9.2.1/test/command/3511.md000066400000000000000000000012371363630463000164460ustar00rootroot00000000000000``` % pandoc -t native - a - b - c - code 1000. one not continuation ^D [BulletList [[Plain [Str "a"] ,BulletList [[Plain [Str "b"] ,BulletList [[Plain [Str "c"]]]]]] ,[CodeBlock ("",[],[]) "code"]] ,OrderedList (1000,Decimal,Period) [[Plain [Str "one"]]] ,CodeBlock ("",[],[]) "not continuation"] ``` ``` % pandoc -t native -f markdown+four_space_rule - a - b - c - not code 1000. one continuation ^D [BulletList [[Plain [Str "a"]] ,[Plain [Str "b"] ,BulletList [[Plain [Str "c"]]]] ,[CodeBlock ("",[],[]) "not code"]] ,OrderedList (1000,Decimal,Period) [[Para [Str "one"] ,Para [Str "continuation"]]]] ``` pandoc-2.9.2.1/test/command/3512.md000066400000000000000000000002261363630463000164440ustar00rootroot00000000000000``` % pandoc -f markdown-auto_identifiers #hi ^D

    #hi

    ``` ``` % pandoc -f markdown-auto_identifiers-space_in_atx_header #hi ^D

    hi

    ``` pandoc-2.9.2.1/test/command/3516.md000066400000000000000000000013231363630463000164470ustar00rootroot00000000000000Correctly handle empty row: ``` % pandoc -f markdown -t rst +---+---+ | 1 | 2 | +---+---+ | | | +---+---+ ^D +---+---+ | 1 | 2 | +---+---+ | | | +---+---+ ``` Temporarily added these to figure out what is happening on Windows builds. ``` % pandoc -f markdown -t native +---+---+ | 1 | 2 | +---+---+ | | | +---+---+ ^D [Table [] [AlignDefault,AlignDefault] [5.555555555555555e-2,5.555555555555555e-2] [[] ,[]] [[[Plain [Str "1"]] ,[Plain [Str "2"]]] ,[[] ,[]]]] ``` ``` % pandoc -f native -t rst [Table [] [AlignDefault,AlignDefault] [5.555555555555555e-2,5.555555555555555e-2] [[] ,[]] [[[Para [Str "1"]] ,[Para [Str "2"]]] ,[[] ,[]]]] ^D +---+---+ | 1 | 2 | +---+---+ | | | +---+---+ ``` pandoc-2.9.2.1/test/command/3518.md000066400000000000000000000001751363630463000164550ustar00rootroot00000000000000``` pandoc -f latex -t plain $\alpha^2 \cdot \alpha^{2+3} \equiv \alpha^7$ ^D α² ⋅ α² ⁺ ³ ≡ α⁷ ``` pandoc-2.9.2.1/test/command/3523.md000066400000000000000000000017251363630463000164530ustar00rootroot00000000000000``` % pandoc -f latex -t html \documentclass{article} \usepackage{epigraph} \begin{document} \epigraph{ Das Recht hat kein Dasein f{\"u}r sich, sein Wesen vielmehr ist das Leben des Menschen selbst, von einer besonderen Seite angesehen. Das Recht hat kein Dasein f{\"u}r sich, sein Wesen vielmehr ist das Leben des Menschen selbst, von einer besonderen Seite angesehen. \begin{itemize} \item hey \item hey \item hey \end{itemize} }{ Friedrich Carl von Savigny } \end{document} ^D

    Das Recht hat kein Dasein für sich, sein Wesen vielmehr ist das Leben des Menschen selbst, von einer besonderen Seite angesehen.

    Das Recht hat kein Dasein für sich, sein Wesen vielmehr ist das Leben des Menschen selbst, von einer besonderen Seite angesehen.

    • hey

    • hey

    • hey

    Friedrich Carl von Savigny

    ``` pandoc-2.9.2.1/test/command/3526.md000066400000000000000000000001721363630463000164510ustar00rootroot00000000000000``` % pandoc -t rst +--+---+ | | | +--+---+ | | | +--+---+ ^D +---+---+ | | | +---+---+ | | | +---+---+ ``` pandoc-2.9.2.1/test/command/3529.md000066400000000000000000000002501363630463000164510ustar00rootroot00000000000000``` % pandoc -t markdown-simple_tables-pipe_tables-grid_tables+multiline_tables A B -- -- 7 8 9 10 ^D -------- A B --- ---- 7 8 9 10 -------- ``` pandoc-2.9.2.1/test/command/3530.md000066400000000000000000000014571363630463000164530ustar00rootroot00000000000000``` % pandoc -f latex -t native \subfile{command/sub-file-chapter-1} \subfile{command/sub-file-chapter-2} ^D [Header 1 ("chapter-1",[],[]) [Str "Chapter",Space,Str "1"] ,Para [Str "This",Space,Str "is",Space,Str "Chapter",Space,Str "1,",Space,Str "provided",Space,Str "in",Space,Str "a",Space,Str "sub",Space,Str "file."] ,Header 1 ("chapter-2",[],[]) [Str "Chapter",Space,Str "2"] ,Para [Str "This",Space,Str "is",Space,Str "Chapter",Space,Str "2,",Space,Str "provided",Space,Str "in",Space,Str "a",Space,Str "second",Space,Str "sub",Space,Str "file."]] ``` ``` % pandoc -flatex+raw_tex -t native \subfile{command/sub-file-chapter-1} \subfile{command/sub-file-chapter-2} ^D [RawBlock (Format "latex") "\\subfile{command/sub-file-chapter-1}" ,RawBlock (Format "latex") "\\subfile{command/sub-file-chapter-2}"] ``` pandoc-2.9.2.1/test/command/3531.md000066400000000000000000000007451363630463000164530ustar00rootroot00000000000000``` % pandoc -t mediawiki --wrap=preserve * This is a list item. * This is a list item in Markdown. It is continued in the next line. * It has a sub-item. * This is the next list item. A paragraph can span multiple lines without being broken into pieces. ^D * This is a list item. * This is a list item in Markdown. It is continued in the next line. ** It has a sub-item. * This is the next list item. A paragraph can span multiple lines without being broken into pieces. ``` pandoc-2.9.2.1/test/command/3533-rst-csv-tables.csv000066400000000000000000000001721363630463000215110ustar00rootroot00000000000000"Albatross", 2.99, "On a stick!" "Crunchy Frog", 1.49, "If we took the bones out, it wouldn't be crunchy, now would it?" pandoc-2.9.2.1/test/command/3533-rst-csv-tables.md000066400000000000000000000024601363630463000213200ustar00rootroot00000000000000``` % pandoc -f rst -t native .. csv-table:: Test :widths: 10, 5, 10 :header: Flavor,Price,Slogan :file: command/3533-rst-csv-tables.csv ^D [Table [Str "Test"] [AlignDefault,AlignDefault,AlignDefault] [0.4,0.2,0.4] [[Plain [Str "Flavor"]] ,[Plain [Str "Price"]] ,[Plain [Str "Slogan"]]] [[[Plain [Str "Albatross"]] ,[Plain [Str "2.99"]] ,[Plain [Str "On",Space,Str "a",Space,Str "stick!"]]] ,[[Plain [Str "Crunchy",Space,Str "Frog"]] ,[Plain [Str "1.49"]] ,[Plain [Str "If",Space,Str "we",Space,Str "took",Space,Str "the",Space,Str "bones",Space,Str "out,",Space,Str "it",Space,Str "wouldn't",Space,Str "be",SoftBreak,Str "crunchy,",Space,Str "now",Space,Str "would",Space,Str "it?"]]]]] ``` ``` % pandoc -f rst -t native .. csv-table:: Test :header-rows: 1 :quote: ' :delim: space '' 'a' 'b' 'cat''s' 3 4 'dog''s' 2 3 ^D [Table [Str "Test"] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[Plain [Str "a"]] ,[Plain [Str "b"]]] [[[Plain [Str "cat's"]] ,[Plain [Str "3"]] ,[Plain [Str "4"]]] ,[[Plain [Str "dog's"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]]]] ``` ``` % pandoc -f rst -t native .. csv-table:: Test :escape: \ "1","\"" ^D [Table [Str "Test"] [AlignDefault,AlignDefault] [0.0,0.0] [[] ,[]] [[[Plain [Str "1"]] ,[Plain [Str "\""]]]]] ``` pandoc-2.9.2.1/test/command/3534.md000066400000000000000000000030731363630463000164530ustar00rootroot00000000000000``` % pandoc -f latex -t html I want to explain the interface of \lstinline[language=Java]{public class MyClass}. ^D

    I want to explain the interface of public class MyClass.

    ``` ``` % pandoc -f latex -t html I want to explain the interface of \lstinline{public class MyClass}. ^D

    I want to explain the interface of public class MyClass.

    ``` ``` % pandoc -f latex -t native I want to explain the interface of \lstinline[language=Java]{public class MyClass}. ^D [Para [Str "I",Space,Str "want",Space,Str "to",Space,Str "explain",Space,Str "the",Space,Str "interface",Space,Str "of",Space,Code ("",["java"],[]) "public class MyClass",Str "."]] ``` ``` % pandoc -f latex -t html I want to explain the interface of \mintinline{java}{public class MyClass}. ^D

    I want to explain the interface of public class MyClass.

    ``` ``` % pandoc -f latex -t html I want to explain the interface of \mintinline{java}|public class MyClass|. ^D

    I want to explain the interface of public class MyClass.

    ``` ``` % pandoc -f latex -t native I want to explain the interface of \mintinline[linenos]{java}{public class MyClass}. ^D [Para [Str "I",Space,Str "want",Space,Str "to",Space,Str "explain",Space,Str "the",Space,Str "interface",Space,Str "of",Space,Code ("",["java"],[]) "public class MyClass",Str "."]] ``` pandoc-2.9.2.1/test/command/3537.md000066400000000000000000000005371363630463000164600ustar00rootroot00000000000000Generalized raw attributes. ```` % pandoc -t native ```{=ms} .MACRO foo bar ``` ^D [RawBlock (Format "ms") ".MACRO\nfoo bar"] ```` ```` % pandoc -t native Hi `there`{=ms}. ^D [Para [Str "Hi",Space,RawInline (Format "ms") "there",Str "."]] ```` ```` % pandoc -t native ~~~ {=ms} .MACRO foo bar ~~~ ^D [RawBlock (Format "ms") ".MACRO\nfoo bar"] ```` pandoc-2.9.2.1/test/command/3539.md000066400000000000000000000055031363630463000164600ustar00rootroot00000000000000# Commands of [glossaries package](ftp://ftp.tu-chemnitz.de/pub/tex/macros/latex/contrib/glossaries/glossaries-code.pdf) ``` % pandoc -f latex -t native Many programming languages provide \glspl{API}. Each \gls{API} should provide a documentation. ^D [Para [Str "Many",Space,Str "programming",Space,Str "languages",Space,Str "provide",Space,Span ("",[],[("acronym-label","API"),("acronym-form","plural+short")]) [Str "APIs"],Str ".",Space,Str "Each",Space,Span ("",[],[("acronym-label","API"),("acronym-form","singular+short")]) [Str "API"],Space,Str "should",Space,Str "provide",Space,Str "a",Space,Str "documentation."]] ``` ``` % pandoc -f latex -t native \Glsdesc{API} XYZ ist not as performant as \glsdesc{API} ZXY. ^D [Para [Span ("",[],[("acronym-label","API"),("acronym-form","singular+long")]) [Str "API"],Space,Str "XYZ",Space,Str "ist",Space,Str "not",Space,Str "as",Space,Str "performant",Space,Str "as",Space,Span ("",[],[("acronym-label","API"),("acronym-form","singular+long")]) [Str "API"],Space,Str "ZXY."]] ``` ``` % pandoc -f latex -t native \Acrlong{API} XYZ ist not as performant as \acrlong{API} ZXY. ^D [Para [Span ("",[],[("acronym-label","API"),("acronym-form","singular+long")]) [Str "API"],Space,Str "XYZ",Space,Str "ist",Space,Str "not",Space,Str "as",Space,Str "performant",Space,Str "as",Space,Span ("",[],[("acronym-label","API"),("acronym-form","singular+long")]) [Str "API"],Space,Str "ZXY."]] ``` ``` % pandoc -f latex -t native \Acrfull{API} XYZ ist not as performant as \acrfull{API} ZXY. ^D [Para [Span ("",[],[("acronym-label","API"),("acronym-form","singular+full")]) [Str "API"],Space,Str "XYZ",Space,Str "ist",Space,Str "not",Space,Str "as",Space,Str "performant",Space,Str "as",Space,Span ("",[],[("acronym-label","API"),("acronym-form","singular+full")]) [Str "API"],Space,Str "ZXY."]] ``` ``` % pandoc -f latex -t native \Acrshort{API} XYZ ist not as performant as \acrshort{API} ZXY. ^D [Para [Span ("",[],[("acronym-label","API"),("acronym-form","singular+abbrv")]) [Str "API"],Space,Str "XYZ",Space,Str "ist",Space,Str "not",Space,Str "as",Space,Str "performant",Space,Str "as",Space,Span ("",[],[("acronym-label","API"),("acronym-form","singular+abbrv")]) [Str "API"],Space,Str "ZXY."]] ``` # Commands of [acronym package](ftp://ftp.mpi-sb.mpg.de/pub/tex/mirror/ftp.dante.de/pub/tex/macros/latex/contrib/acronym/acronym.pdf) ``` % pandoc -f latex -t native Many programming languages provide \acp{API}. Each \ac{API} should provide a documentation. ^D [Para [Str "Many",Space,Str "programming",Space,Str "languages",Space,Str "provide",Space,Span ("",[],[("acronym-label","API"),("acronym-form","plural+short")]) [Str "APIs"],Str ".",Space,Str "Each",Space,Span ("",[],[("acronym-label","API"),("acronym-form","singular+short")]) [Str "API"],Space,Str "should",Space,Str "provide",Space,Str "a",Space,Str "documentation."]] ``` pandoc-2.9.2.1/test/command/3558.md000066400000000000000000000002251363630463000164550ustar00rootroot00000000000000``` % pandoc -t native \multi hello \endmulti ^D [RawBlock (Format "tex") "\\multi" ,Para [Str "hello"] ,RawBlock (Format "tex") "\\endmulti"] ``` pandoc-2.9.2.1/test/command/3568.md000066400000000000000000000005031363630463000164550ustar00rootroot00000000000000``` % pandoc -t man normal *italic **bold in the middle** only italic* normal. normal **bold `code` more bold** normal. normal `code` normal. ^D .PP normal \f[I]italic \f[BI]bold in the middle\f[I] only italic\f[R] normal. .PP normal \f[B]bold \f[CB]code\f[B] more bold\f[R] normal. .PP normal \f[C]code\f[R] normal. ``` pandoc-2.9.2.1/test/command/3570.md000066400000000000000000000001351363630463000164470ustar00rootroot00000000000000``` % pandoc -f markdown+autolink_bare_uris **Notes:** ^D

    Notes:

    ``` pandoc-2.9.2.1/test/command/3577.md000066400000000000000000000014031363630463000164550ustar00rootroot00000000000000``` % pandoc -f latex -t html5 --quiet \begin{figure}[ht] \begin{subfigure}{0.45\textwidth} \centering \includegraphics{img1.jpg} \caption{Caption 1} \end{subfigure} \begin{subfigure}{0.45\textwidth} \centering \includegraphics{img2.jpg} \caption{Caption 2} \end{subfigure} \caption{Subfigure with Subfloat} \end{figure} ^D
    Caption 1
    Caption 2
    ``` ``` % pandoc -f latex -t html5 \begin{figure}[ht] \includegraphics{img1.jpg} \caption{Caption 3} \end{figure} ^D
    Caption 3
    ``` pandoc-2.9.2.1/test/command/3585.md000066400000000000000000000012421363630463000164550ustar00rootroot00000000000000``` % pandoc -f mediawiki+smart -t native "Hello" Same but bzip2 it and nice it zfs send tank/storage/data/svn@daily-2014-03-20_00.00.00--2w | nice -15 bzip2 | ssh user@hyper.somewhere.org "> /storage/c-3po/tank-storage-data-svn.dmp.bz2" ^D [Para [Quoted DoubleQuote [Str "Hello"]] ,Para [Str "Same",Space,Str "but",Space,Str "bzip2",Space,Str "it",Space,Str "and",Space,Str "nice",Space,Str "it",Space,Code ("",[],[]) "zfs send tank/storage/data/svn@daily-2014-03-20_00.00.00--2w | nice -15 bzip2 | ssh user@hyper.somewhere.org \"> /storage/c-3po/tank-storage-data-svn.dmp.bz2\""]] ``` ``` % pandoc -f mediawiki -t native "Hello" ^D [Para [Str "\"Hello\""]] ``` pandoc-2.9.2.1/test/command/3587.md000066400000000000000000000016571363630463000164710ustar00rootroot00000000000000``` % pandoc -f latex -t native \SI[round-precision=2]{1}{m} is equal to \SI{1000}{mm} ^D [Para [Str "1\160m",Space,Str "is",Space,Str "equal",Space,Str "to",Space,Str "1000\160mm"]] ``` ``` % pandoc -f latex -t native \SI[round-precision=2]{1}[\$]{} is equal to \SI{0.938094}{\euro} ^D [Para [Str "$\160\&1",Space,Str "is",Space,Str "equal",Space,Str "to",Space,Str "0.938094\160\8364"]] ``` ``` % pandoc -f latex -t native \SI[round-precision=2]{\{\}}[\{\}]{\{\}} ^D [Para [Str "{}\160{}\160{}"]] ``` ``` % pandoc -f latex -t native \SI{30}{\milli\meter} ^D [Para [Str "30\160mm"]] ``` ``` % pandoc -f latex -t native \SI{6}{\gram} ^D [Para [Str "6\160g"]] ``` ``` % pandoc -f latex -t native \SI{25}{\square\meter} ^D [Para [Str "25\160m\178"]] ``` ``` % pandoc -f latex -t native \SI{18.2}{\degreeCelsius} ^D [Para [Str "18.2\160\176C"]] ``` ``` % pandoc -f latex -t native \SI{18.2}{\celsius} ^D [Para [Str "18.2\160\176C"]] ``` pandoc-2.9.2.1/test/command/3596.md000066400000000000000000000012251363630463000164600ustar00rootroot00000000000000``` % pandoc -f html -t markdown-raw_html-bracketed_spans-native_spans
    • foo
    • bar
    • baz
    ^D - foo - bar - baz ``` ``` % pandoc -f html -t markdown-raw_html-bracketed_spans-native_spans
    • foo
    • bar
      • subbar
    • baz
    ^D - foo - bar - subbar - baz ``` ``` % pandoc -f html -t markdown
    • foo
    • bar
    • baz
    ^D - foo - [bar]{#id} - baz ``` ``` % pandoc -f html -t markdown
    • foo

    • bar

    • baz

    ^D - foo - ::: {#id} bar ::: - baz ``` pandoc-2.9.2.1/test/command/3615.md000066400000000000000000000004051363630463000164470ustar00rootroot00000000000000``` % pandoc -f html -t markdown --reference-links foo Foo ^D [foo][] [Foo][1] [foo]: a [1]: b ``` ``` % pandoc -f html -t markdown --reference-links foo Foo ^D [foo][] [Foo] [foo]: a ``` pandoc-2.9.2.1/test/command/3619.md000066400000000000000000000005661363630463000164630ustar00rootroot00000000000000``` % pandoc -f html -t markdown --reference-links bar: baz ^D [bar][]: baz [bar]: foo ``` ``` % pandoc -f html -t markdown --reference-links bar(baz) ^D [bar][](baz) [bar]: foo ``` ``` % pandoc -f html -t markdown_strict --reference-links foo
    bar ^D [foo][] [bar] [foo]: a [bar]: b ``` pandoc-2.9.2.1/test/command/3630.md000066400000000000000000000001661363630463000164500ustar00rootroot00000000000000``` % pandoc -f markdown -t markdown --reference-links ![foo](bar.png){#myId} ^D ![foo] [foo]: bar.png {#myId} ``` pandoc-2.9.2.1/test/command/3667.md000066400000000000000000000002621363630463000164570ustar00rootroot00000000000000``` % pandoc -f textile | "link text":http://example.com/ | ^D
    link text
    ``` pandoc-2.9.2.1/test/command/3674.md000066400000000000000000000006541363630463000164620ustar00rootroot00000000000000Make sure we don't get duplicate reference links, even with `--reference-location=section`. ``` % pandoc --reference-links -t markdown --reference-location=section --atx-headers # a ![](a) # b ![](b) ^D # a ![][1] [1]: a # b ![][2] [2]: b ``` Subsidiary issue: allow line break between reference link url/title and attributes: ``` % pandoc [a] [a]: url {.class} ^D

    a

    ``` pandoc-2.9.2.1/test/command/3675.md000066400000000000000000000002001363630463000164460ustar00rootroot00000000000000```` % pandoc -t rst ```python print("hello") ``` > block quote ^D .. code:: python print("hello") .. block quote ```` pandoc-2.9.2.1/test/command/3681.md000066400000000000000000000016131363630463000164540ustar00rootroot00000000000000``` % pandoc -f latex -t native \newcommand{\cicd}{CI/CD\xspace} Software developers create \cicd pipelines to… Following issue can be resolved by \cicd: ^D [Para [Str "Software",Space,Str "developers",Space,Str "create",Space,Str "CI/CD",Space,Str "pipelines",Space,Str "to\8230",Space,Str "Following",Space,Str "issue",Space,Str "can",Space,Str "be",Space,Str "resolved",Space,Str "by",Space,Str "CI/CD:"]] ``` ``` % pandoc -f latex -t native \newcommand{\cicd}{CI/CD\xspace} \cicd\footnote{\url{https://en.wikipedia.org/wiki/CI/CD}} is awesome. ^D [Para [Str "CI/CD",Note [Para [Link ("",[],[]) [Str "https://en.wikipedia.org/wiki/CI/CD"] ("https://en.wikipedia.org/wiki/CI/CD","")]],Space,Str "is",Space,Str "awesome."]] ``` ``` % pandoc -f latex -t native \newcommand{\cicd}{CI/CD\xspace} \newcommand{\pipeline}{pipeline\xspace} \cicd\pipeline. ^D [Para [Str "CI/CD",Space,Str "pipeline."]] ``` pandoc-2.9.2.1/test/command/3690.md000066400000000000000000000001031363630463000164450ustar00rootroot00000000000000``` % pandoc - [o] _hi_ ^D
    • [o] hi
    ``` pandoc-2.9.2.1/test/command/3701.md000066400000000000000000000010171363630463000164430ustar00rootroot00000000000000``` % pandoc --reference-location=block -t markdown --reference-links --wrap=preserve [a](u) [a](u) [a](u2) [A](u) [a](u){.foo} [a](u3) ^D [a] [a]: u [a] [a]: u [a][1] [A][] [a][2] [1]: u2 [A]: u [2]: u {.foo} [a][3] [3]: u3 ``` ``` % pandoc [a] [a]: u [a] [a]: u [a][1] [A][] [a][2] [1]: u2 [A]: u [2]: u {.foo} [a][3] [3]: u3 ^D

    a

    a

    a A a

    a

    ``` pandoc-2.9.2.1/test/command/3706.md000066400000000000000000000014521363630463000164530ustar00rootroot00000000000000Results marker can be hidden in block attributes (#3706) ``` pandoc -f org -t native #+BEGIN_SRC R :exports results :colnames yes data.frame(Id = 1:3, Desc = rep("La",3)) #+END_SRC #+CAPTION: Lalelu. #+LABEL: tab #+RESULTS: | Id | Desc | |----+------| | 1 | La | | 2 | La | | 3 | La | ^D [Div ("tab",[],[]) [Table [Str "Lalelu."] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str "Id"]] ,[Plain [Str "Desc"]]] [[[Plain [Str "1"]] ,[Plain [Str "La"]]] ,[[Plain [Str "2"]] ,[Plain [Str "La"]]] ,[[Plain [Str "3"]] ,[Plain [Str "La"]]]]]] ``` ``` pandoc -f org -t native #+BEGIN_SRC R :exports none :colnames yes data.frame(Id = 1:2, Desc = rep("La",2)) #+END_SRC #+CAPTION: Lalelu. #+LABEL: tab #+RESULTS: | Id | Desc | |----+------| | 1 | La | | 2 | La | ^D [] ``` pandoc-2.9.2.1/test/command/3708.md000066400000000000000000000003661363630463000164600ustar00rootroot00000000000000``` % pandoc -f latex -t native \begin{tabular}{cc} A & B\&1 \\ C & D \end{tabular} ^D [Table [] [AlignCenter,AlignCenter] [0.0,0.0] [[] ,[]] [[[Plain [Str "A"]] ,[Plain [Str "B&1"]]] ,[[Plain [Str "C"]] ,[Plain [Str "D"]]]]] ``` pandoc-2.9.2.1/test/command/3715.md000066400000000000000000000002161363630463000164500ustar00rootroot00000000000000``` % pandoc -t markdown -f html --wrap=preserve xx yy zz ww qq ^D xx yy zz ww qq ``` pandoc-2.9.2.1/test/command/3716.md000066400000000000000000000001661363630463000164550ustar00rootroot00000000000000``` % pandoc {.foo} ^D

    http://example.com

    ``` pandoc-2.9.2.1/test/command/3730.md000066400000000000000000000002541363630463000164470ustar00rootroot00000000000000```` % pandoc nice line\ ``` code ``` ^D

    nice line

    code
    ```` ``` % pandoc # hi\ there ^D

    hi

    there

    ``` pandoc-2.9.2.1/test/command/3733.md000066400000000000000000000002561363630463000164540ustar00rootroot00000000000000```` % pandoc -t native - Item1 - Item2 ```yaml some: code ``` ^D [BulletList [[Plain [Str "Item1"]] ,[Plain [Str "Item2"]]] ,CodeBlock ("",["yaml"],[]) "some: code"] ```` pandoc-2.9.2.1/test/command/3734.md000066400000000000000000000036241363630463000164570ustar00rootroot00000000000000``` % pandoc -t markdown_strict+pipe_tables | aaaaaaaaaaaa | bbbbb | ccccccccccc | |--------------|-------|--------------------------------------------------------------------------| | aaaaaaaaaaaa | | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | ^D | aaaaaaaaaaaa | bbbbb | ccccccccccc | |--------------|-------|--------------------------------------------------------------------------| | aaaaaaaaaaaa | | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | ``` ``` % pandoc -t markdown_strict+pipe_tables-raw_html | aaaaaaaaaaaa | bbbbb | ccccccccccc | |--------------|-------|--------------------------------------------------------------------------| | aaaaaaaaaaaa | | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | ^D | aaaaaaaaaaaa | bbbbb | ccccccccccc | |--------------|-------|--------------------------------------------------------------------------| | aaaaaaaaaaaa | | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | ``` ``` % pandoc -t gfm | aaaaaaaaaaaa | bbbbb | ccccccccccc | |--------------|-------|--------------------------------------------------------------------------| | aaaaaaaaaaaa | | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | ^D | aaaaaaaaaaaa | bbbbb | ccccccccccc | | ------------ | ----- | ------------------------------------------------------------------------ | | aaaaaaaaaaaa | | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc | ``` pandoc-2.9.2.1/test/command/3736.md000066400000000000000000000004701363630463000164550ustar00rootroot00000000000000``` % pandoc --wrap=preserve -f html -t markdown

    hi there

    ^D hi there -------- ``` ``` % pandoc --wrap=preserve -f html -t markdown

    hi there again

    ^D hi *there again* ---------------- ``` ``` % pandoc --wrap=preserve -f html -t markdown

    hi
    there

    ^D hi there -------- ``` pandoc-2.9.2.1/test/command/3755.md000066400000000000000000000007661363630463000164660ustar00rootroot00000000000000``` % pandoc -t native -s --- title: 'Titel' date: '22. Juni 2017' --- ^D Pandoc (Meta {unMeta = fromList [("date",MetaInlines [Str "22.",Space,Str "Juni",Space,Str "2017"]),("title",MetaInlines [Str "Titel"])]}) [] ``` ``` % pandoc -t native -s --- title: '
    foo
    ' date: | 22. Juni 2017 --- ^D Pandoc (Meta {unMeta = fromList [("date",MetaBlocks [OrderedList (22,Decimal,Period) [[Plain [Str "Juni",Space,Str "2017"]]]]),("title",MetaBlocks [Div ("",[],[]) [Plain [Str "foo"]]])]}) [] ``` pandoc-2.9.2.1/test/command/3771.md000066400000000000000000000003101363630463000164450ustar00rootroot00000000000000``` % pandoc -f html -t org
    Today is a nice day.
    Tomorrow will be rainy.
    ^D Today is a nice day. <> Tomorrow will be rainy. ``` pandoc-2.9.2.1/test/command/3773.md000066400000000000000000000001561363630463000164570ustar00rootroot00000000000000``` % pandoc -t markdown A. \# B. \+ C. \* D. o E. o or \* ^D A. \# B. \+ C. \* D. o E. o or \* ``` pandoc-2.9.2.1/test/command/3779.md000066400000000000000000000010711363630463000164620ustar00rootroot00000000000000``` % pandoc -f latex -t native \newcommand{\fakeitemize}[1]{ \begin{itemize} #1 \end{itemize} } \newcommand{\testcmd}[1]{ #1 } \fakeitemize{ \item Pandoc is 100\% awesome. } \begin{itemize} \item Pandoc is 200\% awesome. \end{itemize} \testcmd{ Pandoc is 300\% awesome. } ^D [BulletList [[Para [Str "Pandoc",Space,Str "is",Space,Str "100%",Space,Str "awesome."]]] ,BulletList [[Para [Str "Pandoc",Space,Str "is",Space,Str "200%",Space,Str "awesome."]]] ,Para [Str "Pandoc",Space,Str "is",Space,Str "300%",Space,Str "awesome."]] ``` pandoc-2.9.2.1/test/command/3792.md000066400000000000000000000002571363630463000164620ustar00rootroot00000000000000Make sure metadata values are treated as strings, and properly escaped. ``` % pandoc -t markdown -s -M title=" *that*" ok ^D --- title: '\ \*that\*' --- ok ``` pandoc-2.9.2.1/test/command/3794.md000066400000000000000000000001411363630463000164540ustar00rootroot00000000000000``` % pandoc -f html -t native

    hello

    ^D [Div ("",[],[]) [Para [Str "hello"]]] ``` pandoc-2.9.2.1/test/command/3803.md000066400000000000000000000001571363630463000164520ustar00rootroot00000000000000``` % pandoc -f markdown+raw_tex -t latex \begin{blah*} *ok* \end{blah*} ^D \begin{blah*} *ok* \end{blah*} ``` pandoc-2.9.2.1/test/command/3804.md000066400000000000000000000004031363630463000164450ustar00rootroot00000000000000``` % pandoc -t native \titleformat{\chapter}[display]{\normalfont\large\bfseries}{第\thechapter{}章}{20pt}{\Huge} ^D [RawBlock (Format "tex") "\\titleformat{\\chapter}[display]{\\normalfont\\large\\bfseries}{\31532\\thechapter{}\31456}{20pt}{\\Huge}"] ``` pandoc-2.9.2.1/test/command/3816.md000066400000000000000000000012461363630463000164560ustar00rootroot00000000000000``` % pandoc --mathjax -t html5 --wrap=preserve This is an equation: \begin{equation} y+2 = 3 \end{equation} This is a system of equations: \begin{align*} x^2+y^2 & = 2 \\ \sin(y) & = 0.5 \end{align*} This is Euler's formula: \begin{eqnarray*} e^{i\pi} + 1 & = & 0. \end{eqnarray*} ^D

    This is an equation: \[\begin{equation} y+2 = 3 \end{equation}\]

    This is a system of equations: \[\begin{align*} x^2+y^2 & = 2 \\ \sin(y) & = 0.5 \end{align*}\]

    This is Euler’s formula: \[\begin{eqnarray*} e^{i\pi} + 1 & = & 0. \end{eqnarray*}\]

    ``` pandoc-2.9.2.1/test/command/3824.md000066400000000000000000000002451363630463000164530ustar00rootroot00000000000000``` % pandoc -f native -t dokuwiki [BulletList [[Para [Str "hi"] ,CodeBlock ("",[],[]) " there"] ,[Para [Str "ok"]]]] ^D * hi there * ok ``` pandoc-2.9.2.1/test/command/3840.md000066400000000000000000000005411363630463000164500ustar00rootroot00000000000000``` % pandoc [@Alhazen1572-qk, V.9]: "competentius est" ^D

    [@Alhazen1572-qk, V.9]: “competentius est”

    ``` ``` % pandoc -f markdown-citations [@Alhazen1572-qk, V.9]: "competentius est" [@Alhazen1572-qk, V.9] ^D

    @Alhazen1572-qk, V.9

    ``` pandoc-2.9.2.1/test/command/3853.md000066400000000000000000000005611363630463000164560ustar00rootroot00000000000000``` % pandoc -f latex -t native \newtoggle{ebook} \toggletrue{ebook} \iftoggle{ebook}{ ebook }% { not ebook }% more \togglefalse{ebook} \iftoggle{ebook}{% ebook }{ not ebook }% more hello \iftoggle{ebook}{ebook}{noebook} ^D [Para [Str "ebook",SoftBreak,Str "more"] ,Para [Str "not",Space,Str "ebook",SoftBreak,Str "more"] ,Para [Str "hello",Space,Str "noebook"]] ``` pandoc-2.9.2.1/test/command/3880.md000066400000000000000000000001231363630463000164500ustar00rootroot00000000000000``` pandoc -f rst -t native .. include:: command/3880.txt ^D [Para [Str "hi"]] ``` pandoc-2.9.2.1/test/command/3880.txt000066400000000000000000000000031363630463000166640ustar00rootroot00000000000000hi pandoc-2.9.2.1/test/command/3916.md000066400000000000000000000003331363630463000164530ustar00rootroot00000000000000``` % pandoc -f textile -t native # text text
    blabla
    # more ^D [OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "text",Space,Str "text"] ,CodeBlock ("",[],[]) "blabla"] ,[Plain [Str "more"]]]] ``` pandoc-2.9.2.1/test/command/3937.md000066400000000000000000000002321363630463000164540ustar00rootroot00000000000000``` % pandoc -t rst # My Great Section {#mysection} # Other section ^D .. _mysection: My Great Section ================ Other section ============= ``` pandoc-2.9.2.1/test/command/3947.md000066400000000000000000000002501363630463000164550ustar00rootroot00000000000000``` % pandoc -t native \newpage Code block Another Code block ^D [RawBlock (Format "tex") "\\newpage" ,CodeBlock ("",[],[]) "Code block\n\nAnother Code block"] ``` pandoc-2.9.2.1/test/command/3958.md000066400000000000000000000004251363630463000164630ustar00rootroot00000000000000``` % pandoc -f latex -t native \texttt{"hi"} ^D [Para [Code ("",[],[]) "\"hi\""]] ``` ``` % pandoc -f latex -t native \texttt{``hi''} ^D [Para [Code ("",[],[]) "\8220hi\8221"]] ``` ``` % pandoc -f latex -t native \texttt{`hi'} ^D [Para [Code ("",[],[]) "\8216hi\8217"]] ``` pandoc-2.9.2.1/test/command/3968.md000066400000000000000000000002571363630463000164670ustar00rootroot00000000000000``` % pandoc --top-level-division=chapter -t context # Chapter ## Section ^D \chapter[title={Chapter},reference={chapter}] \section[title={Section},reference={section}] ``` pandoc-2.9.2.1/test/command/3971.md000066400000000000000000000002141363630463000164520ustar00rootroot00000000000000``` % pandoc -f latex -t native \documentclass{article} \include{command/3971b} \code{f} \end{document} ^D [Para [Code ("",[],[]) "f"]] ``` pandoc-2.9.2.1/test/command/3971b.tex000066400000000000000000000000641363630463000170170ustar00rootroot00000000000000\newcommand{\code}[1]{\texttt{#1}} \begin{document} pandoc-2.9.2.1/test/command/3974.md000066400000000000000000000001141363630463000164540ustar00rootroot00000000000000``` % pandoc -f native -t rst [Code ("",[],[]) "``"] ^D :literal:`\`\`` ``` pandoc-2.9.2.1/test/command/3978.md000066400000000000000000000000631363630463000164630ustar00rootroot00000000000000``` % pandoc -t rst foo_bar*baz ^D foo_bar*baz ``` pandoc-2.9.2.1/test/command/3983.md000066400000000000000000000012131363630463000164550ustar00rootroot00000000000000``` pandoc -f latex+raw_tex -t native \def\filename@area{foo:bar:baz} \makeatletter \graphicspath\expandafter{\expandafter{\filename@area}}% \makeatother ^D [RawBlock (Format "latex") "\\makeatletter" ,RawBlock (Format "latex") "\\makeatother"] ``` ``` pandoc -f latex+raw_tex -t native \makeatletter \newcommand\urlfootnote@[1]{\footnote{\url@{#1}}} \DeclareRobustCommand{\urlfootnote}{\hyper@normalise\urlfootnote@} \makeatother ^D [RawBlock (Format "latex") "\\makeatletter" ,RawBlock (Format "latex") "\\makeatother"] ``` ``` pandoc -f latex+raw_tex -t native \def\foo{bar} \expandafter\bam\foo ^D [RawBlock (Format "latex") "\\bambar"] ``` pandoc-2.9.2.1/test/command/3989.md000066400000000000000000000005301363630463000164640ustar00rootroot00000000000000``` pandoc -f markdown -t native foo foo ^D [Para [Span ("",[],[("title","1st line of text
    2nd line of text")]) [Str "foo"],SoftBreak,Span ("",[],[("title","1st line of text
    2nd line of text")]) [Str "foo"]]] ``` pandoc-2.9.2.1/test/command/4007.md000066400000000000000000000005111363630463000164410ustar00rootroot00000000000000``` pandoc -f latex -t native \newcommand\arrow\to $a\arrow b$ ^D [Para [Math InlineMath "a\\to b"]] ``` ``` pandoc -f latex -t native \newcommand\pfeil[1]{\to #1} $a\pfeil b$ ^D [Para [Math InlineMath "a\\to b"]] ``` ``` pandoc -f latex -t native \newcommand\fleche{\to} $a\fleche b$ ^D [Para [Math InlineMath "a\\to b"]] ``` pandoc-2.9.2.1/test/command/4012.md000066400000000000000000000002771363630463000164460ustar00rootroot00000000000000``` pandoc -f markdown-implicit_figures ![image] [image]: http://example.com/image.jpg {height=35mm} ^D

    image

    ``` pandoc-2.9.2.1/test/command/4016.md000066400000000000000000000012061363630463000164430ustar00rootroot00000000000000``` pandoc -t beamer # Level 2 blocks
    ## Block one - Item
    ## Block two - Item
    ^D \begin{frame}{Level 2 blocks} \protect\hypertarget{level-2-blocks}{} \begin{columns}[T] \begin{column}{0.4\textwidth} \begin{block}{Block one} \protect\hypertarget{block-one}{} \begin{itemize} \tightlist \item Item \end{itemize} \end{block} \end{column} \begin{column}{0.6\textwidth} \begin{block}{Block two} \protect\hypertarget{block-two}{} \begin{itemize} \tightlist \item Item \end{itemize} \end{block} \end{column} \end{columns} \end{frame} ``` pandoc-2.9.2.1/test/command/4019.md000066400000000000000000000002251363630463000164460ustar00rootroot00000000000000``` pandoc --wrap=preserve This works! This fails? ^D

    This works! This fails?

    ``` pandoc-2.9.2.1/test/command/4038.md000066400000000000000000000000741363630463000164510ustar00rootroot00000000000000``` % pandoc -f gfm -t gfm # ~~Header~~ ^D # ~~Header~~ ``` pandoc-2.9.2.1/test/command/4054.md000066400000000000000000000004021363630463000164420ustar00rootroot00000000000000``` % pandoc -t native -s -M title=New % Old ^D Pandoc (Meta {unMeta = fromList [("title",MetaString "New")]}) [] ``` ``` % pandoc -t native -s -M foo=1 -M foo=2 ^D Pandoc (Meta {unMeta = fromList [("foo",MetaList [MetaString "1",MetaString "2"])]}) [] ``` pandoc-2.9.2.1/test/command/4056.md000066400000000000000000000006661363630463000164600ustar00rootroot00000000000000``` % pandoc -f markdown -t native \parbox[t]{0.4\textwidth}{ \begin{shaded} \end{shaded} } ^D [RawBlock (Format "tex") "\\parbox[t]{0.4\\textwidth}{\n\\begin{shaded}\n\\end{shaded}\n}"] ``` ``` % pandoc -f latex -t native \begin{tabular}{l*{2}{r}} Blah & Foo & Bar \\ \end{tabular} ^D [Table [] [AlignLeft,AlignRight,AlignRight] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "Blah"]] ,[Plain [Str "Foo"]] ,[Plain [Str "Bar"]]]]] ``` pandoc-2.9.2.1/test/command/4061.md000066400000000000000000000005211363630463000164420ustar00rootroot00000000000000``` % pandoc -t markdown-simple_tables-multiline_tables-pipe_tables +-----------------------------------+ | Text [^1] | +-----------------------------------+ [^1]: Footnote. ^D +-----------------------------------+ | Text [^1] | +-----------------------------------+ [^1]: Footnote. ``` pandoc-2.9.2.1/test/command/4062.md000066400000000000000000000001771363630463000164520ustar00rootroot00000000000000``` % pandoc -t latex Sentence blah.\footnote[][-.5in]{I'm a footnote} ^D Sentence blah.\footnote[][-.5in]{I'm a footnote} ``` pandoc-2.9.2.1/test/command/4068.md000066400000000000000000000006741363630463000164620ustar00rootroot00000000000000``` pandoc -f mediawiki -t native [https://domain.com/script.php?a=1&b=2&c=&d=4 open productname bugs] [http://domain.com?a=. open productname bugs] ^D [Para [Link ("",[],[]) [Str "open",Space,Str "productname",Space,Str "bugs"] ("https://domain.com/script.php?a=1&b=2&c=&d=4","")] ,Para [Str "[",Link ("",[],[]) [Str "http://domain.com?a="] ("http://domain.com?a=",""),Str ".",Space,Str "open",Space,Str "productname",Space,Str "bugs]"]] ``` pandoc-2.9.2.1/test/command/4091.md000066400000000000000000000001221363630463000164420ustar00rootroot00000000000000``` % pandoc -f latex \alert<3>{foo} ^D

    foo

    ``` pandoc-2.9.2.1/test/command/4113.md000066400000000000000000000001741363630463000164440ustar00rootroot00000000000000``` % pandoc -t gfm ::::{.bug} I am a [bug]{#bug}. :::: ^D
    I am a bug.
    ``` pandoc-2.9.2.1/test/command/4119.md000066400000000000000000000005301363630463000164460ustar00rootroot00000000000000``` pandoc -t native | col1 | col2 | | ---- | ---- | | 1 | 2 | ::: {.notes} ::: not a caption! :::::::::::::::: ^D [Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str "col1"]] ,[Plain [Str "col2"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]]]] ,Div ("",["notes"],[]) [Para [Str "not",Space,Str "a",Space,Str "caption!"]]] ``` pandoc-2.9.2.1/test/command/4125.md000066400000000000000000000000661363630463000164470ustar00rootroot00000000000000``` % pandoc ^D ``` pandoc-2.9.2.1/test/command/4134.md000066400000000000000000000004271363630463000164500ustar00rootroot00000000000000``` % pandoc -f latex -t native Hello.\ world. ^D [Para [Str "Hello.\160world."]] ``` ``` % pandoc -f latex -t native Hello.\ world. ^D [Para [Str "Hello.\160world."]] ``` ``` % pandoc -f latex -t native Hello.\ World. ^D [Para [Str "Hello.\160"] ,Para [Str "World."]] ``` pandoc-2.9.2.1/test/command/4156.md000066400000000000000000000001221363630463000164440ustar00rootroot00000000000000``` % pandoc -f rst .. _`SOMEID`: foo ^D

    foo

    ``` pandoc-2.9.2.1/test/command/4159.md000066400000000000000000000002321363630463000164510ustar00rootroot00000000000000``` % pandoc -f markdown -t native \newcommand{\gen}{a\ Gen\ b} abc ^D [RawBlock (Format "tex") "\\newcommand{\\gen}{a\\ Gen\\ b}" ,Para [Str "abc"]] ``` pandoc-2.9.2.1/test/command/4162.md000066400000000000000000000002141363630463000164430ustar00rootroot00000000000000``` % pandoc -f html -t native
    hi

     there
    ^D [LineBlock [[Str "hi"] ,[] ,[Str "\160there"]]] ``` pandoc-2.9.2.1/test/command/4164.md000066400000000000000000000014131363630463000164470ustar00rootroot00000000000000``` % pandoc -f opml -t markdown test ^D test ==== try --- Here is inline html:
    ``{=html} bla bla
    ``` ``` % pandoc -f opml-raw_html-native_divs -t markdown test ^D test ==== try --- Here is inline html: \ \ bla bla \ ``` pandoc-2.9.2.1/test/command/4171.md000066400000000000000000000012161363630463000164460ustar00rootroot00000000000000``` % pandoc -f org -t org Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [fn:1] a [fn:1] b ^D Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [fn:1] a [fn:1] b ``` ``` % pandoc -f org -t org Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [fn:1] a [fn:1] b ^D Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [fn:1] a [fn:1] b ``` Similar bug: "-" should not be wrapped: ``` % pandoc -f org -t org aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - abc ^D aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - abc ``` pandoc-2.9.2.1/test/command/4172.md000066400000000000000000000010351363630463000164460ustar00rootroot00000000000000Test that text wrapping does not move note reference [1] to the beginning of the line, where it would become a note. ``` % pandoc -f muse -t muse Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [1] a [1] b ^D Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [1] a [1] b ``` SoftBreak test: ``` % pandoc -f muse -t muse Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [1] a [1] b ^D Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [1] a [1] b ``` pandoc-2.9.2.1/test/command/4183.md000066400000000000000000000010011363630463000164410ustar00rootroot00000000000000``` % pandoc -f html -t native
    bar
    ^D [Para [Image ("",[],[]) [] ("foo","fig:")]] ``` ``` % pandoc -f html -t native
    bar
    baz
    ^D [Para [Image ("",[],[]) [Str "baz"] ("foo","fig:")]] ``` ``` % pandoc -f html -t native

    baz

    ^D [Para [Image ("",[],[]) [Emph [Str "baz"]] ("foo","fig:")]] ``` pandoc-2.9.2.1/test/command/4186.md000066400000000000000000000047311363630463000164610ustar00rootroot00000000000000``` % pandoc -f org -t native #+BEGIN_EXAMPLE -i This should retain the four leading spaces #+END_EXAMPLE ^D [CodeBlock ("",["example"],[]) " This should retain the four leading spaces\n"] ``` ``` % pandoc -f org -t html - depth 1 #+NAME: bob #+BEGIN_EXAMPLE -i Vertical alignment is four spaces beyond the appearance of the word "depth". #+END_EXAMPLE - depth 2 #+begin_example Vertically aligned with the second appearance of the word "depth". #+end_example #+begin_example -i Vertical alignment is four spaces beyond the second appearance of the word "depth". The "begin" portion is a component of this deeper list element, so that guarantees that the entire block must be a component of the inner list element. #+end_example Still inside the inner list element #+NAME: carrie #+BEGIN_EXAMPLE This belongs to the outer list element, and is aligned accordingly, since the NAME attribute is not indented deeply enough. It is not enough for the BEGIN alone to be aligned deeply if the block is meant to have a NAME. #+END_EXAMPLE Still in the shallower list element since the preceding example block forced the deeper list element to terminate. Outside all lists. ^D
    • depth 1

          Vertical alignment is four spaces beyond the appearance of the word "depth".
      
      • depth 2

        Vertically aligned with the second appearance of the word "depth".
        
            Vertical alignment is four spaces beyond the second
            appearance of the word "depth".
            The "begin" portion is a component of
            this deeper list element, so that guarantees
            that the entire block must be a component of the
            inner list element.
        

        Still inside the inner list element

      This belongs to the outer list element, and is aligned accordingly, since the NAME attribute is not indented deeply enough. It is not enough for the BEGIN alone to be aligned deeply if the block is meant to have a NAME.
      

      Still in the shallower list element since the preceding example block forced the deeper list element to terminate.

    Outside all lists.

    ``` pandoc-2.9.2.1/test/command/4193.md000066400000000000000000000001441363630463000164510ustar00rootroot00000000000000``` % pandoc -f rst -t native - a - b ^D [BulletList [[Plain [Str "a"]] ,[Plain [Str "b"]]]] ``` pandoc-2.9.2.1/test/command/4199.md000066400000000000000000000001731363630463000164610ustar00rootroot00000000000000``` % pandoc -f latex -t native \foreignlanguage{ngerman}{foo} ^D [Para [Span ("",[],[("lang","de-DE")]) [Str "foo"]]] ``` pandoc-2.9.2.1/test/command/4208.md000066400000000000000000000010741363630463000164510ustar00rootroot00000000000000``` % pandoc -t latex What is a _piffle_? Mark the correct answer(s): \begin{TAB}(@)[6pt]{|l|c|}{|c|c|c|} (a) a subnormal woffle & $\Box$ \\ (b) an infinite-dimensional baffle & $\Box$ \\ (c) an inverted first-order triffle & $\Box$ \\ \end{TAB} ^D What is a \emph{piffle}? Mark the correct answer(s): \begin{TAB}(@)[6pt]{|l|c|}{|c|c|c|} (a) a subnormal woffle & $\Box$ \\ (b) an infinite-dimensional baffle & $\Box$ \\ (c) an inverted first-order triffle & $\Box$ \\ \end{TAB} ``` pandoc-2.9.2.1/test/command/4235.md000066400000000000000000000005671363630463000164570ustar00rootroot00000000000000``` % pandoc --id-prefix=foo This.^[Has a footnote.] ^D

    This.1


    1. Has a footnote.↩︎

    ``` pandoc-2.9.2.1/test/command/4240.md000066400000000000000000000007461363630463000164520ustar00rootroot00000000000000``` % pandoc -f rst -s -t native ===== Title ===== -------- Subtitle -------- header1 ======= header2 ------- .. _id: header3 ~~~~~~~ .. _id2: .. _id3: header4 ~~~~~~~ ^D Pandoc (Meta {unMeta = fromList [("subtitle",MetaInlines [Str "Subtitle"]),("title",MetaInlines [Str "Title"])]}) [Header 1 ("header1",[],[]) [Str "header1"] ,Header 2 ("header2",[],[]) [Str "header2"] ,Header 3 ("id",[],[]) [Str "header3"] ,Header 3 ("id3",[],[]) [Str "header4",Span ("id2",[],[]) []]] ``` pandoc-2.9.2.1/test/command/4253.md000066400000000000000000000001741363630463000164510ustar00rootroot00000000000000``` % pandoc -f latex -t native \newcommand{\noop}[1]{#1} \noop{\newcommand{\foo}[1]{#1}} \foo{hi} ^D [Para [Str "hi"]] ``` pandoc-2.9.2.1/test/command/4254.md000066400000000000000000000001671363630463000164540ustar00rootroot00000000000000``` % pandoc -f rst -t latex .. math:: x &= y\\ y &= z ^D \[\begin{aligned} x &= y\\ y &= z \end{aligned}\] ``` pandoc-2.9.2.1/test/command/4280.md000066400000000000000000000001371363630463000164500ustar00rootroot00000000000000``` % pandoc -f rst -t native Driver ------ ^D [Header 1 ("driver",[],[]) [Str "Driver"]] ``` pandoc-2.9.2.1/test/command/4281.md000066400000000000000000000003351363630463000164510ustar00rootroot00000000000000``` % pandoc -t native :::: {.a} - ::: {.b} text ::: ::: {.c} text ::: :::: ^D [Div ("",["a"],[]) [BulletList [[Div ("",["b"],[]) [Para [Str "text"]] ,Div ("",["c"],[]) [Para [Str "text"]]]]]] ``` pandoc-2.9.2.1/test/command/4284.md000066400000000000000000000041121363630463000164510ustar00rootroot00000000000000``` % pandoc -f org -t native #+EXCLUDE_TAGS:apple cat bye dog % * This should not appear :apple: * NOEXPORT should appear if not specified in EXCLUDE_TAGS :noexport: * This should not appear :cat:hi:laptop: ** Children of headers with excluded tags should not appear :xylophone: * This should not appear :%: ^D [Header 1 ("noexport-should-appear-if-not-specified-in-excludetags",[],[]) [Str "NOEXPORT",Space,Str "should",Space,Str "appear",Space,Str "if",Space,Str "not",Space,Str "specified",Space,Str "in",Space,Str "EXCLUDE",Subscript [Str "TAGS"],Space,Span ("",["tag"],[("tag-name","noexport")]) [SmallCaps [Str "noexport"]]]] ``` ``` % pandoc -f org -t native #+EXCLUDE_TAGS:elephant * This should not appear :elephant: * This should appear :fawn: ^D [Header 1 ("this-should-appear",[],[]) [Str "This",Space,Str "should",Space,Str "appear",Space,Span ("",["tag"],[("tag-name","fawn")]) [SmallCaps [Str "fawn"]]]] ``` ``` % pandoc -f org -t native #+EXCLUDE_TAGS: giraffe #+EXCLUDE_TAGS: hippo * This should not appear :giraffe: * This should not appear :hippo: * This should appear :noexport: ^D [Header 1 ("this-should-appear",[],[]) [Str "This",Space,Str "should",Space,Str "appear",Space,Span ("",["tag"],[("tag-name","noexport")]) [SmallCaps [Str "noexport"]]]] ``` ``` % pandoc -f org -t native #+EXCLUDE_TAGS: * NOEXPORT should appear if not specified in EXCLUDE_TAGS :noexport: ^D [Header 1 ("noexport-should-appear-if-not-specified-in-excludetags",[],[]) [Str "NOEXPORT",Space,Str "should",Space,Str "appear",Space,Str "if",Space,Str "not",Space,Str "specified",Space,Str "in",Space,Str "EXCLUDE",Subscript [Str "TAGS"],Space,Span ("",["tag"],[("tag-name","noexport")]) [SmallCaps [Str "noexport"]]]] ``` pandoc-2.9.2.1/test/command/4306.md000066400000000000000000000004131363630463000164440ustar00rootroot00000000000000``` pandoc -f latex -t native \documentclass{article} \usepackage{hyperref} \begin{document} The file id is \nolinkurl{ESP_123_5235}. \end{document} ^D [Para [Str "The",Space,Str "file",Space,Str "id",Space,Str "is",Space,Code ("",[],[]) "ESP_123_5235",Str "."]] ``` pandoc-2.9.2.1/test/command/4320.md000066400000000000000000000010441363630463000164410ustar00rootroot00000000000000``` % pandoc -f native -t rst --wrap=none [Table [] [AlignDefault,AlignDefault] [0.3,0.3] [[Plain [Str "one"]] ,[Plain [Str "two"]]] [[[Plain [Str "ports"]] ,[BlockQuote [Para [Strong [Str "thisIsGoingToBeTooLongAnyway"]]]]]]] ^D +--------------------+-------------------------------------+ | one | two | +====================+=====================================+ | ports | **thisIsGoingToBeTooLongAnyway** | +--------------------+-------------------------------------+ ``` pandoc-2.9.2.1/test/command/4374.md000066400000000000000000000003721363630463000164550ustar00rootroot00000000000000``` % pandoc -f latex -t native \cite{a% } ^D [Para [Cite [Citation {citationId = "a", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cite{a%\n}"]]] ``` pandoc-2.9.2.1/test/command/4382.md000066400000000000000000000001211363630463000164440ustar00rootroot00000000000000``` % pandoc -f rst -t native - ===== ^D [BulletList [[]] ,HorizontalRule] ``` pandoc-2.9.2.1/test/command/4420.md000066400000000000000000000006121363630463000164420ustar00rootroot00000000000000``` % pandoc -f native -t rst [Image ("",["align-right"],[("width","100px")]) [Str "image"] ("foo.png","")] ^D |image| .. |image| image:: foo.png :align: right :width: 100px ``` ``` % pandoc -f native -t rst [Para [Image ("",["align-right"],[("width","100px")]) [Str "image"] ("foo.png","fig:test")]] ^D .. figure:: foo.png :alt: test :align: right :width: 100px image ``` pandoc-2.9.2.1/test/command/4424.md000066400000000000000000000002401363630463000164430ustar00rootroot00000000000000``` % pandoc -f latex -t native \documentclass{article} \usepackage[sortlocale=en_GB]{biblatex} \begin{document} Test \end{document} ^D [Para [Str "Test"]] ``` pandoc-2.9.2.1/test/command/4442.md000066400000000000000000000002661363630463000164530ustar00rootroot00000000000000``` % pandoc -f markdown -t latex \newcommand{\myFruit}{Mango\xspace} \myFruit is the king of fruits. ^D \newcommand{\myFruit}{Mango\xspace} Mango\xspace is the king of fruits. ``` pandoc-2.9.2.1/test/command/4454.md000066400000000000000000000001471363630463000164540ustar00rootroot00000000000000``` % pandoc -f rst -t native • a • b ^D [BulletList [[Plain [Str "a"]] ,[Plain [Str "b"]]]] ``` pandoc-2.9.2.1/test/command/4499.md000066400000000000000000000022351363630463000164650ustar00rootroot00000000000000``` % pandoc -f latex -t html \mbox{abc def} ghi ^D

    abc def ghi

    ``` ``` % pandoc -f latex+raw_tex -t native \mbox{abc def} ^D [Para [RawInline (Format "latex") "\\mbox{abc def}"]] ``` ``` % pandoc -f latex -t html abc \mbox{\textit{def ghi} jkl} mno ^D

    abc def ghi jkl mno

    ``` ``` % pandoc -f latex -t html abc \mbox{def \\ ghi} jkl ^D

    abc defghi jkl

    ``` ``` % pandoc -f latex -t html abc \mbox{def ghi} ^D

    abc def ghi

    ``` ``` % pandoc -f latex -t html abc \mbox{def \textit{ghi \\ jkl} mno} pqr ^D

    abc def ghijkl mno pqr

    ``` ``` % pandoc -f latex -t html \hbox{abc def} ghi ^D

    abc def ghi

    ``` ``` % pandoc -f latex+raw_tex -t native \hbox{abc def} ^D [Para [RawInline (Format "latex") "\\hbox{abc def}"]] ``` ``` % pandoc -f latex -t html abc \hbox{\textit{def ghi} jkl} mno ^D

    abc def ghi jkl mno

    ``` ``` % pandoc -f latex -t html abc \hbox{def \\ ghi} jkl ^D

    abc defghi jkl

    ``` ``` % pandoc -f latex -t html abc \hbox{def ghi} ^D

    abc def ghi

    ``` ``` % pandoc -f latex -t html abc \hbox{def \textit{ghi \\ jkl} mno} pqr ^D

    abc def ghijkl mno pqr

    ``` pandoc-2.9.2.1/test/command/4513.md000066400000000000000000000003141363630463000164440ustar00rootroot00000000000000``` % pandoc -f textile -t native |_. heading 1 |_. heading 2| ^D [Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str "heading",Space,Str "1"]] ,[Plain [Str "heading",Space,Str "2"]]] []] ``` pandoc-2.9.2.1/test/command/4527.md000066400000000000000000000005771363630463000164640ustar00rootroot00000000000000# Raw TeX blocks in CommonMark with and without raw_tex ``` % pandoc -f latex+raw_tex -t commonmark-raw_tex \someunknowncommand Hello. ^D Hello. ``` ``` % pandoc -f latex+raw_tex -t commonmark+raw_tex \someunknowncommand Hello. ^D \someunknowncommand Hello. ``` ``` % pandoc -f latex -t native \maketitle ^D [] ``` ``` % pandoc -f latex -t rst \maketitle Hello. ^D Hello. ``` pandoc-2.9.2.1/test/command/4528.md000066400000000000000000000075411363630463000164630ustar00rootroot00000000000000# Rendering small caps, superscripts and subscripts with and without `raw_html` ## Small caps ``` % pandoc --wrap=none -f latex -t commonmark-raw_html This has \textsc{small caps} in it. ^D This has SMALL CAPS in it. ``` ``` % pandoc --wrap=none -f latex -t commonmark+raw_html This has \textsc{small caps} in it. ^D This has small caps in it. ``` ``` ``` % pandoc --wrap=none -f latex -t markdown_strict+raw_html This has \textsc{small caps} in it. ^D This has small caps in it. ``` ## Strikeout ``` % pandoc --wrap=none -f html -t commonmark-raw_html-strikeout This has strikeout in it. ^D This has strikeout in it. ``` % pandoc --wrap=none -f html -t commonmark+raw_html-strikeout This has strikeout in it. ^D This has strikeout in it. ``` ``` % pandoc --wrap=none -f html -t commonmark-raw_html+strikeout This has strikeout in it. ^D This has ~~strikeout~~ in it. ``` ``` % pandoc --wrap=none -f html -t commonmark+raw_html+strikeout This has strikeout in it. ^D This has ~~strikeout~~ in it. ``` ``` % pandoc --wrap=none -f html -t markdown_strict-raw_html-strikeout This has strikeout in it. ^D This has strikeout in it. ``` ``` % pandoc --wrap=none -f html -t markdown_strict+raw_html-strikeout This has strikeout in it. ^D This has strikeout in it. ``` ``` % pandoc --wrap=none -f html -t markdown_strict-raw_html+strikeout This has strikeout in it. ^D This has ~~strikeout~~ in it. ``` ``` % pandoc --wrap=none -f html -t markdown_strict+raw_html+strikeout This has strikeout in it. ^D This has ~~strikeout~~ in it. ``` ## Superscript ``` % pandoc --wrap=none -f html -t commonmark-raw_html This has superscript in it and 2 3 again. With emphasis: 2 3. With letters: foo. With a span: 2. ^D This has ^(superscript) in it and ² ³ again. With emphasis: ^(*2* 3). With letters: ^(foo). With a span: ². ``` ``` % pandoc --wrap=none -f html -t commonmark+raw_html This has superscript in it and 2 again. ^D This has superscript in it and 2 again. ``` ``` % pandoc --wrap=none -f html -t markdown_strict-raw_html-superscript This has superscript in it and 2 again. ^D This has ^(superscript) in it and ² again. ``` ``` % pandoc --wrap=none -f html -t markdown_strict+raw_html-superscript This has superscript in it and 2 again. ^D This has superscript in it and 2 again. ``` ``` % pandoc --wrap=none -f html -t markdown_strict+raw_html+superscript This has superscript in it and 2 again. ^D This has ^superscript^ in it and ^2^ again. ``` ## Subscript ``` % pandoc --wrap=none -f html -t commonmark-raw_html This has subscript in it and 2 3 again. With emphasis: 2 3. With letters: foo. With a span: 2. ^D This has \_(subscript) in it and ₂ ₃ again. With emphasis: \_(*2* 3). With letters: \_(foo). With a span: ₂. ``` ``` % pandoc --wrap=none -f html -t commonmark+raw_html This has subscript in it and 2 again. ^D This has subscript in it and 2 again. ``` ``` % pandoc --wrap=none -f html -t markdown_strict-raw_html-subscript This has subscript in it and 2 again. ^D This has _(subscript) in it and ₂ again. ``` ``` % pandoc --wrap=none -f html -t markdown_strict+raw_html-subscript This has subscript in it and 2 again. ^D This has subscript in it and 2 again. ``` ``` % pandoc --wrap=none -f html -t markdown_strict+raw_html+subscript This has subscript in it and 2 again. ^D This has ~subscript~ in it and ~2~ again. ``` pandoc-2.9.2.1/test/command/4529.md000066400000000000000000000011561363630463000164600ustar00rootroot00000000000000``` % pandoc -f latex -t plain+gutenberg \chapter{First chapter}\label{sec:chp1} The next chapter is Chapter~\ref{sec:chp2}. \section{First section}\label{sec:chp1sec1} The next section is Section~\ref{sec:chp2sec1}. \chapter{Second chapter}\label{sec:chp2} The previous chapter is Chapter~\ref{sec:chp1}. \section{First section}\label{sec:chp2sec1} The previous section is Section~\ref{sec:chp1sec1}. ^D FIRST CHAPTER The next chapter is Chapter 2. First section The next section is Section 2.1. SECOND CHAPTER The previous chapter is Chapter 1. First section The previous section is Section 1.1. ``` pandoc-2.9.2.1/test/command/4545.md000066400000000000000000000002211363630463000164460ustar00rootroot00000000000000``` % pandoc -t asciidoc Test 1 [my text] Test 2 ^D Test 1 {empty}[my text] Test 2 ``` ``` % pandoc -t asciidoc 4\. foo ^D {empty}4. foo ``` pandoc-2.9.2.1/test/command/4550.md000066400000000000000000000001421363630463000164440ustar00rootroot00000000000000``` % pandoc -f markdown-smart -t ms A ‘simple’ example ^D .LP A \[oq]simple\[cq] example ``` pandoc-2.9.2.1/test/command/4553.md000066400000000000000000000003661363630463000164570ustar00rootroot00000000000000``` pandoc -f latex -t native foo \include{command/bar} ^D [Para [Str "foo"] ,Para [Emph [Str "hi",Space,Str "there"]]] ``` ``` pandoc -f latex -t native foo \input{command/bar} ^D [Para [Str "foo",Space,Emph [Str "hi",Space,Str "there"]]] ``` pandoc-2.9.2.1/test/command/4576.md000066400000000000000000000001641363630463000164600ustar00rootroot00000000000000``` % pandoc -f latex -t native $\rho_\text{D$_2$O}=866$ ^D [Para [Math InlineMath "\\rho_\\text{D$_2$O}=866"]] ``` pandoc-2.9.2.1/test/command/4578.md000066400000000000000000000007321363630463000164630ustar00rootroot00000000000000``` % pandoc -t markdown ------ ------- --------------- --------------------- One row 12.0 Example of a row that spans multiple lines. ------ ------- --------------- --------------------- ^D ------ ------- --------------- --------------------- One row 12.0 Example of a row that spans multiple lines. ------ ------- --------------- --------------------- ``` pandoc-2.9.2.1/test/command/4579.md000066400000000000000000000004001363630463000164540ustar00rootroot00000000000000``` % pandoc -f rst -t native .. list-table:: :header-rows: 1 * - Foo - Bar * - spam - ham ^D [Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str "Foo"]] ,[Plain [Str "Bar"]]] [[[Plain [Str "spam"]] ,[Plain [Str "ham"]]]]] ``` pandoc-2.9.2.1/test/command/4589.md000066400000000000000000000005361363630463000164670ustar00rootroot00000000000000``` % pandoc -f markdown -t latex \newcommand{\one}[1]{#1} \newcommand{\two}[1]{#1} Formatting *is* working **here**. But sticking \one{two }\two{commands} together *breaks* formatting. ^D \newcommand{\one}[1]{#1} \newcommand{\two}[1]{#1} Formatting \emph{is} working \textbf{here}. But sticking two commands together \emph{breaks} formatting. ``` pandoc-2.9.2.1/test/command/4594.md000066400000000000000000000006331363630463000164610ustar00rootroot00000000000000``` % pandoc -f markdown -t latex Some **bold** text here. \begin{figure}[htbp] \centering \def\svgwidth{\columnwidth} \import{img/}{vectors.pdf_tex} \caption{Some caption.} \end{figure} Some *italic* text here. ^D Some \textbf{bold} text here. \begin{figure}[htbp] \centering \def\svgwidth{\columnwidth} \import{img/}{vectors.pdf_tex} \caption{Some caption.} \end{figure} Some \emph{italic} text here. ``` pandoc-2.9.2.1/test/command/4598.md000066400000000000000000000001511363630463000164600ustar00rootroot00000000000000``` % pandoc -f rst `x`__ __ `xy`_ .. _`xy`: http://xy.org ^D

    x

    ``` pandoc-2.9.2.1/test/command/4624.md000066400000000000000000000007161363630463000164550ustar00rootroot00000000000000``` % pandoc -f latex -t native \begin{Verbatim}[key1=value1] code1 \end{Verbatim} \begin{lstlisting}[key2=value2] code2 \end{lstlisting} \begin{verbatim} code3 \end{verbatim} \begin{verbatim} code4 \end{verbatim} \begin{verbatim} code5\end{verbatim} ^D [CodeBlock ("",[],[("key1","value1")]) "code1\n" ,CodeBlock ("",[],[("key2","value2")]) "code2\n " ,CodeBlock ("",[],[]) "code3" ,CodeBlock ("",[],[]) "code4" ,CodeBlock ("",[],[]) "code5"] ``` pandoc-2.9.2.1/test/command/4635.md000066400000000000000000000006171363630463000164570ustar00rootroot00000000000000``` % pandoc -f markdown -t native (cf. foo) ^D [Para [Str "(cf.",SoftBreak,Str "foo)"]] ``` ``` % pandoc -f markdown -t native a (cf. foo) ^D [Para [Str "a",Space,Str "(cf.",SoftBreak,Str "foo)"]] ``` ``` % pandoc -f markdown -t native cf. foo ^D [Para [Str "cf.",SoftBreak,Str "foo"]] ``` ``` % pandoc -f markdown -t native a cf. foo ^D [Para [Str "a",Space,Str "cf.",SoftBreak,Str "foo"]] ``` pandoc-2.9.2.1/test/command/4637.md000066400000000000000000000001711363630463000164540ustar00rootroot00000000000000``` % pandoc -t latex more \indextext{dogs}' than \indextext{cats}' ^D more \indextext{dogs}' than \indextext{cats}' ``` pandoc-2.9.2.1/test/command/4639.md000066400000000000000000000002451363630463000164600ustar00rootroot00000000000000``` % pandoc -t html --mathjax \begin{equation} E=mc^2 \end{equation} ^D

    \[\begin{equation} E=mc^2 \end{equation}\]

    ``` pandoc-2.9.2.1/test/command/4653.md000066400000000000000000000001711363630463000164520ustar00rootroot00000000000000``` % pandoc -t latex \let\tex\TeX \renewcommand{\TeX}{\tex\xspace} ^D \let\tex\TeX \renewcommand{\TeX}{\tex\xspace} ``` pandoc-2.9.2.1/test/command/4667.md000066400000000000000000000003351363630463000164610ustar00rootroot00000000000000``` pandoc -t latex --- header-includes: - \newcommand{\blandscape}{\begin{landscape}} - \newcommand{\elandscape}{\end{landscape}} ... \blandscape testing \elandscape ^D \begin{landscape} testing \end{landscape} ``` pandoc-2.9.2.1/test/command/4669.md000066400000000000000000000007341363630463000164660ustar00rootroot00000000000000``` % pandoc -f latex -t native {\tt <-} \begin{verbatim} while (n > 0) { \end{verbatim} ^D [Para [Span ("",[],[]) [Code ("",[],[]) "<-"]] ,CodeBlock ("",[],[]) " while (n > 0) {"] ``` ``` % pandoc -f latex -t native \begin{itemize} \item<1> one \item<2-3,5> two \item<2| @alert> three \item four \item five \end{itemize} ^D [BulletList [[Para [Str "one"]] ,[Para [Str "two"]] ,[Para [Str "three"]] ,[Para [Str "four"]] ,[Para [Str "five"]]]] ``` pandoc-2.9.2.1/test/command/4677.md000066400000000000000000000005021363630463000164560ustar00rootroot00000000000000``` % pandoc --to "markdown-bracketed_spans-fenced_divs-link_attributes-simple_tables-multiline_tables-grid_tables-pipe_tables-fenced_code_attributes-markdown_in_html_blocks-table_captions-smart" ![Caption](img.png){#img:1} ^D
    Caption
    ``` pandoc-2.9.2.1/test/command/4690.md000066400000000000000000000005221363630463000164530ustar00rootroot00000000000000``` % pandoc -t beamer # title :::: {.columns} ::: {.column width="8%"} content ::: ::: {.column width="84%"} content2 ::: :::: ^D \begin{frame}{title} \protect\hypertarget{title}{} \begin{columns}[T] \begin{column}{0.08\textwidth} content \end{column} \begin{column}{0.84\textwidth} content2 \end{column} \end{columns} \end{frame} ``` pandoc-2.9.2.1/test/command/4715.md000066400000000000000000000006621363630463000164560ustar00rootroot00000000000000``` % pandoc -f rst -t native .. toctree:: :name: tree1 :class: foo bar :caption: Indice dei contenuti :numbered: :maxdepth: 3 premessa.rst acquisizione-software.rst riuso-software.rst ^D [Div ("tree1",["toctree","foo","bar"],[("caption","Indice dei contenuti"),("numbered",""),("maxdepth","3")]) [Para [Str "premessa.rst",SoftBreak,Str "acquisizione-software.rst",SoftBreak,Str "riuso-software.rst"]]] ``` pandoc-2.9.2.1/test/command/4722.md000066400000000000000000000013651363630463000164550ustar00rootroot00000000000000``` % pandoc -f tikiwiki -t native *Level 1 *Level 1 **Level 2 ***Level 3 *Level 1 ^D [BulletList [[Plain [Str "Level",Space,Str "1"]] ,[Plain [Str "Level",Space,Str "1"] ,BulletList [[Plain [Str "Level",Space,Str "2"] ,BulletList [[Plain [Str "Level",Space,Str "3"]]]]]] ,[Plain [Str "Level",Space,Str "1"]]]] ``` ``` % pandoc -f tikiwiki -t native #Level 1 #Level 1 ##Level 2 ###Level 3 #Level 1 ^D [OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Level",Space,Str "1"]] ,[Plain [Str "Level",Space,Str "1"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Level",Space,Str "2"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Level",Space,Str "3"]]]]]] ,[Plain [Str "Level",Space,Str "1"]]]] ``` pandoc-2.9.2.1/test/command/4742.md000066400000000000000000000020221363630463000164460ustar00rootroot00000000000000Check that the commonmark reader handles the `ascii_identifiers` extension properly. ``` % pandoc -f commonmark+auto_identifiers+gfm_auto_identifiers+ascii_identifiers -t native # non ascii ⚠️ räksmörgås ^D [Header 1 ("non-ascii--raksmorgas",[],[]) [Str "non",Space,Str "ascii",Space,Str "\9888\65039",Space,Str "r\228ksm\246rg\229s"]] ``` Note that the emoji here is actually a composite character, formed from \9888 and \65039. The latter is a combining mark, so it survives... ``` % pandoc -f commonmark+auto_identifiers+gfm_auto_identifiers-ascii_identifiers -t native # non ascii ⚠️ räksmörgås ^D [Header 1 ("non-ascii-\65039-r\228ksm\246rg\229s",[],[]) [Str "non",Space,Str "ascii",Space,Str "\9888\65039",Space,Str "r\228ksm\246rg\229s"]] ``` `gfm` should have `ascii_identifiers` disabled by default. ``` % pandoc -f gfm -t native # non ascii ⚠️ räksmörgås ^D [Header 1 ("non-ascii-\65039-r\228ksm\246rg\229s",[],[]) [Str "non",Space,Str "ascii",Space,Str "\9888\65039",Space,Str "r\228ksm\246rg\229s"]] ``` pandoc-2.9.2.1/test/command/4743.md000066400000000000000000000015471363630463000164620ustar00rootroot00000000000000Test that emojis are wrapped in Span ``` % pandoc -f commonmark+emoji -t native My:thumbsup:emoji:heart: ^D [Para [Str "My",Span ("",["emoji"],[("data-emoji","thumbsup")]) [Str "\128077"],Str "emoji",Span ("",["emoji"],[("data-emoji","heart")]) [Str "\10084\65039"]]] ``` ``` % pandoc -f markdown+emoji -t native My:thumbsup:emoji:heart: ^D [Para [Str "My",Span ("",["emoji"],[("data-emoji","thumbsup")]) [Str "\128077"],Str "emoji",Span ("",["emoji"],[("data-emoji","heart")]) [Str "\10084\65039"]]] ``` ``` % pandoc -f commonmark+emoji -t html :zero: header ============= My:thumbsup:emoji:heart:x :hearts: xyz ^D

    0️⃣ header

    My👍emoji❤️x ♥️ xyz

    ``` pandoc-2.9.2.1/test/command/4748.md000066400000000000000000000003311363630463000164550ustar00rootroot00000000000000``` % pandoc -f org -t rst Before example block. #+begin_example This is in an example block. #+end_example After example block. ^D Before example block. :: This is in an example block. After example block. ``` pandoc-2.9.2.1/test/command/4768.md000066400000000000000000000001641363630463000164630ustar00rootroot00000000000000``` % pandoc -f latex -t plain \def\foo#1!#2!#3{#1 or #2 and #3} \foo aa!bbb bbb!{ccc} ^D aa or bbb bbb and ccc ``` pandoc-2.9.2.1/test/command/4781.md000066400000000000000000000007401363630463000164560ustar00rootroot00000000000000``` % pandoc -t native Markdown parsed *here* \include{command/bar} *But not here* ^D [Para [Str "Markdown",Space,Str "parsed",Space,Emph [Str "here"]] ,RawBlock (Format "tex") "\\include{command/bar}" ,Para [Emph [Str "But",Space,Str "not",Space,Str "here"]]] ``` ``` % pandoc -t native *here* \input{command/bar} *But not here* ^D [Para [Emph [Str "here"],Space,RawInline (Format "tex") "\\input{command/bar}"] ,Para [Emph [Str "But",Space,Str "not",Space,Str "here"]]] ``` pandoc-2.9.2.1/test/command/4794.md000066400000000000000000000003051363630463000164570ustar00rootroot00000000000000``` % pandoc -f markdown -t mediawiki | Column1 | Column2 | Column3 | | ------- | ------- | ------- | | text | | text | ^D {| ! Column1 ! Column2 ! Column3 |- | text | | text |} ``` pandoc-2.9.2.1/test/command/4811.md000066400000000000000000000015051363630463000164500ustar00rootroot00000000000000No blank lines in inline interpreted roles: ``` % pandoc -f rst -t native `no blank`:myrole: ^D [Para [Str "`no"] ,Para [Str "blank`:myrole:"]] ``` Backslash escape behaves properly in interpreted roles: ``` % pandoc -f rst -t native `hi\ there`:sup: `hi\ there`:code: ^D [Para [Superscript [Str "hithere"]] ,Para [Code ("",[],[]) "hi\\ there"]] ``` Backtick followed by alphanumeric doesn't end the span: ``` % pandoc -f rst -t native `hi`there`:myrole: ^D [Para [Code ("",["interpreted-text"],[("role","myrole")]) "hi`there"]] ``` Newline is okay, as long as not blank: ``` % pandoc -f rst -t native `hi there`:myrole: ^D [Para [Code ("",["interpreted-text"],[("role","myrole")]) "hi\nthere"]] ``` Use span for title-reference: ``` % pandoc -f rst -t native `default` ^D [Para [Span ("",["title-ref"],[]) [Str "default"]]] ``` pandoc-2.9.2.1/test/command/4817.md000066400000000000000000000002501363630463000164520ustar00rootroot00000000000000``` % pandoc -t native -s --- foo: - bar: bam ... ^D Pandoc (Meta {unMeta = fromList [("foo",MetaList [MetaMap (fromList [("bar",MetaInlines [Str "bam"])])])]}) [] ``` pandoc-2.9.2.1/test/command/4819.md000066400000000000000000000012011363630463000164510ustar00rootroot00000000000000``` % pandoc -f markdown -t native -s --- foo: 42 ... ^D Pandoc (Meta {unMeta = fromList [("foo",MetaInlines [Str "42"])]}) [] ``` ``` % pandoc -f markdown -t native -s --- foo: true ... ^D Pandoc (Meta {unMeta = fromList [("foo",MetaBool True)]}) [] ``` ``` % pandoc -f markdown -t native -s --- foo: True ... ^D Pandoc (Meta {unMeta = fromList [("foo",MetaBool True)]}) [] ``` ``` % pandoc -f markdown -t native -s --- foo: FALSE ... ^D Pandoc (Meta {unMeta = fromList [("foo",MetaBool False)]}) [] ``` ``` % pandoc -f markdown -t native -s --- foo: no ... ^D Pandoc (Meta {unMeta = fromList [("foo",MetaInlines [Str "no"])]}) [] ``` pandoc-2.9.2.1/test/command/4832.md000066400000000000000000000010171363630463000164510ustar00rootroot00000000000000``` % pandoc -f latex -t native \url{http://example.com/foo%20bar.htm} ^D [Para [Link ("",[],[]) [Str "http://example.com/foo%20bar.htm"] ("http://example.com/foo%20bar.htm","")]] ``` ``` % pandoc -f latex -t native \url{http://example.com/foo{bar}.htm} ^D [Para [Link ("",[],[]) [Str "http://example.com/foo{bar}.htm"] ("http://example.com/foo{bar}.htm","")]] ``` ``` % pandoc -f latex -t native \href{http://example.com/foo%20bar}{Foobar} ^D [Para [Link ("",[],[]) [Str "Foobar"] ("http://example.com/foo%20bar","")]] ``` pandoc-2.9.2.1/test/command/4833.md000066400000000000000000000004031363630463000164500ustar00rootroot00000000000000``` pandoc -f native -t rst [Div ("",["warning"],[]) [Div ("",["title"],[]) [Para [Str "Warning"]] ,Para [Str "Hi"]]] ^D .. warning:: Hi ``` ``` pandoc -f native -t rst [Div ("",["unknown"],[]) [Para [Str "Hi"]]] ^D .. container:: unknown Hi ``` pandoc-2.9.2.1/test/command/4842.md000066400000000000000000000000741363630463000164540ustar00rootroot00000000000000``` pandoc -f latex -t native \l ^D [Para [Str "\322"]] ``` pandoc-2.9.2.1/test/command/4845.md000066400000000000000000000003151363630463000164550ustar00rootroot00000000000000``` % pandoc -f html -t native x leading trailing space x ^D [Plain [Str "x",Space,Link ("",[],[]) [Str "leading",Space,Str "trailing",Space,Str "space"] ("/foo",""),Space,Str "x"]] ``` pandoc-2.9.2.1/test/command/4848.md000066400000000000000000000024041363630463000164610ustar00rootroot00000000000000``` % pandoc -f latex -t native \enquote*{hi} ^D [Para [Quoted SingleQuote [Str "hi"]]] ``` ``` % pandoc -f latex -t native \foreignquote{italian}{hi} ^D [Para [Quoted DoubleQuote [Span ("",[],[("lang","it")]) [Str "hi"]]]] ``` ``` % pandoc -f latex -t native \hyphenquote*{italian}{hi} ^D [Para [Quoted SingleQuote [Span ("",[],[("lang","it")]) [Str "hi"]]]] ``` ``` % pandoc -f latex -t native Lorem ipsum \blockquote{dolor sit amet} consectetuer. ^D [Para [Str "Lorem",Space,Str "ipsum"] ,BlockQuote [Para [Str "dolor",Space,Str "sit",Space,Str "amet"]] ,Para [Str "consectetuer."]] ``` ``` % pandoc -f latex -t native Lorem ipsum \blockcquote[198]{Knu86}{dolor sit amet} consectetuer. ^D [Para [Str "Lorem",Space,Str "ipsum"] ,BlockQuote [Para [Str "dolor",Space,Str "sit",Space,Str "amet"] ,Para [Cite [Citation {citationId = "Knu86", citationPrefix = [], citationSuffix = [Str "198"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] []]] ,Para [Str "consectetuer."]] ``` ``` % pandoc -f latex -t native Lorem ipsum \foreignblockquote{italian}{dolor sit amet} consectetuer. ^D [Para [Str "Lorem",Space,Str "ipsum"] ,BlockQuote [Div ("",[],[("lang","it")]) [Para [Str "dolor",Space,Str "sit",Space,Str "amet"]]] ,Para [Str "consectetuer."]] ``` pandoc-2.9.2.1/test/command/4860.md000066400000000000000000000003371363630463000164560ustar00rootroot00000000000000``` % pandoc -f rst -t native This is broken_. .. ***** REFERENCES FOLLOW ***** .. _broken: http://google.com ^D [Para [Str "This",Space,Str "is",Space,Link ("",[],[]) [Str "broken"] ("http://google.com",""),Str "."]] ``` pandoc-2.9.2.1/test/command/4877.md000066400000000000000000000004321363630463000164620ustar00rootroot00000000000000``` % pandoc -f html -t native My ^D [Plain [Str "My",Space,Math InlineMath "\\mathcal{D}"]] ``` ``` % pandoc -f html -t native ^D [Plain [Math DisplayMath "\\mathcal{D}"]] ``` pandoc-2.9.2.1/test/command/4880.md000066400000000000000000000000741363630463000164560ustar00rootroot00000000000000``` % pandoc -t latex $x=y%comment$ ^D \(x=y%comment \) ``` pandoc-2.9.2.1/test/command/4885.md000066400000000000000000000004661363630463000164700ustar00rootroot00000000000000``` % pandoc -f org -t markdown This won't show the command. src_maxima[:exports none :results raw]{tex('integrate(sin((e^x)/pi),x,0,inf));} $$\int_{0}^{\infty }{\sin \left({{e^{x}}\over{\pi}}\right)\;dx}$$ ^D This won\'t show the command. $$\int_{0}^{\infty }{\sin \left({{e^{x}}\over{\pi}}\right)\;dx}$$ ``` pandoc-2.9.2.1/test/command/4908.md000066400000000000000000000003151363630463000164550ustar00rootroot00000000000000``` % pandoc -f markdown_mmd+fancy_lists+example_lists -t native -t plain (@) Example one (@) Example two some text (@) Example three ^D (1) Example one (2) Example two some text (3) Example three ``` pandoc-2.9.2.1/test/command/4913.md000066400000000000000000000012111363630463000164450ustar00rootroot00000000000000``` % pandoc -f markdown -t html [https://pandoc.org](https://pandoc.org) ^D

    https://pandoc.org

    ``` ``` % pandoc -f markdown -t markdown [https://pandoc.org](https://pandoc.org) ^D ``` ``` % pandoc -f markdown -t html ^D

    https://pandoc.org

    ``` ``` % pandoc -f markdown -t html {.foo} ^D

    https://pandoc.org

    ``` ``` % pandoc -f markdown -t html ^D

    ``` pandoc-2.9.2.1/test/command/4919.md000066400000000000000000000002751363630463000164640ustar00rootroot00000000000000``` % pandoc -f rst -t native .. _`tgtmath`: .. math:: :name: V = \frac{K}{r^2} ^D [Div ("tgtmath",[],[]) [BlockQuote [Para [Math DisplayMath "V = \\frac{K}{r^2}"]]]] ``` pandoc-2.9.2.1/test/command/4928.md000066400000000000000000000070511363630463000164630ustar00rootroot00000000000000``` % pandoc -f latex -t native \cites(Multiprenote)(multipostnote)[23][42]{Knu86}[65]{Nie72} ^D [Para [Cite [Citation {citationId = "Knu86", citationPrefix = [Str "Multiprenote",Space,Str "23"], citationSuffix = [Str "42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "Nie72", citationPrefix = [], citationSuffix = [Str "65",Str ",",Space,Str "multipostnote"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cites(Multiprenote)(multipostnote)[23][42]{Knu86}[65]{Nie72}"]]] ``` ``` % pandoc -f latex -t native \cites(Multiprenote)()[23][42]{Knu86}[65]{Nie72} ^D [Para [Cite [Citation {citationId = "Knu86", citationPrefix = [Str "Multiprenote",Space,Str "23"], citationSuffix = [Str "42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "Nie72", citationPrefix = [], citationSuffix = [Str "65"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cites(Multiprenote)()[23][42]{Knu86}[65]{Nie72}"]]] ``` ``` % pandoc -f latex -t native \cites()(multipostnote)[23][42]{Knu86}[65]{Nie72} ^D [Para [Cite [Citation {citationId = "Knu86", citationPrefix = [Str "23"], citationSuffix = [Str "42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "Nie72", citationPrefix = [], citationSuffix = [Str "65",Str ",",Space,Str "multipostnote"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cites()(multipostnote)[23][42]{Knu86}[65]{Nie72}"]]] ``` ``` % pandoc -f latex -t native \cites()()[23][42]{Knu86}[65]{Nie72} ^D [Para [Cite [Citation {citationId = "Knu86", citationPrefix = [Str "23"], citationSuffix = [Str "42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "Nie72", citationPrefix = [], citationSuffix = [Str "65"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cites()()[23][42]{Knu86}[65]{Nie72}"]]] ``` ``` % pandoc -f latex -t native \cites(multipostnote)[23][42]{Knu86}[65]{Nie72} ^D [Para [Cite [Citation {citationId = "Knu86", citationPrefix = [Str "23"], citationSuffix = [Str "42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "Nie72", citationPrefix = [], citationSuffix = [Str "65",Str ",",Space,Str "multipostnote"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cites(multipostnote)[23][42]{Knu86}[65]{Nie72}"]]] ``` ``` % pandoc -f latex -t native \cites(Multiprenote)(multipostnote){Knu86} ^D [Para [Cite [Citation {citationId = "Knu86", citationPrefix = [Str "Multiprenote"], citationSuffix = [Str ",",Space,Str "multipostnote"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cites(Multiprenote)(multipostnote){Knu86}"]]] ``` ``` % pandoc -f latex -t native \footcites(Multiprenote)(multipostnote)[23][42]{Knu86}[65]{Nie72} ^D [Para [Note [Para [Cite [Citation {citationId = "Knu86", citationPrefix = [Str "Multiprenote",Space,Str "23"], citationSuffix = [Str "42"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "Nie72", citationPrefix = [], citationSuffix = [Str "65",Str ",",Space,Str "multipostnote"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\footcites(Multiprenote)(multipostnote)[23][42]{Knu86}[65]{Nie72}"],Str "."]]]] ``` pandoc-2.9.2.1/test/command/4933.md000066400000000000000000000001721363630463000164540ustar00rootroot00000000000000``` % pandoc -f latex -t native \includegraphics{lalune} ^D [Para [Image ("",[],[]) [Str "image"] ("lalune.jpg","")]] ``` pandoc-2.9.2.1/test/command/4960.md000066400000000000000000000003761363630463000164620ustar00rootroot00000000000000``` % pandoc -t latex --biblatex [@a1;@a2;@a3] ^D \autocite{a1,a2,a3} ``` ``` % pandoc -t latex --biblatex @a1 [@a2;@a3] ^D \textcite{a1,a2,a3} ``` ``` % pandoc -t latex --biblatex [@a1, blah; @a2; see @a3] ^D \autocites[blah]{a1}{a2}[see][]{a3} ``` pandoc-2.9.2.1/test/command/5010.md000066400000000000000000000005441363630463000164420ustar00rootroot00000000000000``` % pandoc -f latex -t latex \(\left\{ \begin{matrix} y\,\,\,\, \geqq \,\,\, f\,(\, x\,)\,\, \\ y\,\,\, \leqq \,\,\, g\,(\, x\,)\, \\ \end{matrix} \right.\ \) ^D \(\left\{ \begin{matrix} y\,\,\,\, \geqq \,\,\, f\,(\, x\,)\,\, \\ y\,\,\, \leqq \,\,\, g\,(\, x\,)\, \\ \end{matrix} \right.\ \) ``` ``` % pandoc -f markdown -t latex $x\ $ ^D \(x\ \) ``` pandoc-2.9.2.1/test/command/5014.md000066400000000000000000000004171363630463000164450ustar00rootroot00000000000000``` % pandoc -f html -t native
    Name
    Accounts
    ^D [Table [] [AlignDefault] [0.0] [[Plain [Str "Name"]]] [[[Plain [Str "Accounts"]]]]] ``` pandoc-2.9.2.1/test/command/5039.md000066400000000000000000000004351363630463000164540ustar00rootroot00000000000000``` % pandoc -f man -t plain .ds foo bar .ds bar baz \*[\*[foo]] ^D baz ``` ``` % pandoc -f man -t plain .ds foo [bar] .ds bar baz \*\*[foo] ^D baz ``` ``` % pandoc -f man -t html .ds B-Font B .ds I-Font I .ds R-Font R \f\*[B-Font]certtool\fP ^D

    certtool

    ``` pandoc-2.9.2.1/test/command/5050.md000066400000000000000000000000471363630463000164440ustar00rootroot00000000000000``` pandoc -t rst x ^D x ``` pandoc-2.9.2.1/test/command/5053.md000066400000000000000000000002371363630463000164500ustar00rootroot00000000000000``` % pandoc —_legibility_— ^D

    legibility

    ``` ``` % pandoc _filename_|_filetype_ ^D

    filename|filetype

    ``` pandoc-2.9.2.1/test/command/5072.md000066400000000000000000000002241363630463000164450ustar00rootroot00000000000000``` % pandoc -t latex -i 1. one 2. two ^D \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item one \item two \end{enumerate} ``` pandoc-2.9.2.1/test/command/5079.md000066400000000000000000000002621363630463000164560ustar00rootroot00000000000000``` % pandoc -f html -t native
    Cell
    ^D [Table [] [AlignDefault] [0.0] [[]] [[[Plain [Str "Cell"]]]]] ``` pandoc-2.9.2.1/test/command/5080.md000066400000000000000000000002441363630463000164460ustar00rootroot00000000000000``` pandoc -t asciidoc [foo *bar*]{.small .red key=val} ^D [.small .red]#foo _bar_# ``` ``` pandoc -f html -t asciidoc SMALL ^D [.small]#SMALL# ``` pandoc-2.9.2.1/test/command/5099.md000066400000000000000000000005031363630463000164560ustar00rootroot00000000000000``` % pandoc -t native (@citation ^D [Para [Str "(",Cite [Citation {citationId = "citation", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@citation"]]] ``` ``` % pandoc -t native ('asd') ^D [Para [Str "(",Quoted SingleQuote [Str "asd"],Str ")"]] ``` pandoc-2.9.2.1/test/command/5107.md000066400000000000000000000003001363630463000164370ustar00rootroot00000000000000``` % pandoc -f muse -t dokuwiki - foo 1. bar - baz ^D * foo - bar * baz ``` ``` % pandoc -f muse -t dokuwiki - foo 1. bar 2. baz ^D * foo - bar - baz ``` pandoc-2.9.2.1/test/command/5119.md000066400000000000000000000000741363630463000164520ustar00rootroot00000000000000``` % pandoc -t docbook hi ^D hi ``` pandoc-2.9.2.1/test/command/512.md000066400000000000000000000012561363630463000163650ustar00rootroot00000000000000``` % pandoc -f rst `click here`__ or `click here`__ .. _link1: http://www.example.com/ .. _link2: http://johnmacfarlane.net/pandoc/ __ link1_ __ link2_ ^D

    click here or click here

    ``` Multiple indirection: ``` % pandoc -f rst `click here`__ .. _link1: link2_ .. _link2: http://johnmacfarlane.net/pandoc/ __ link1_ ^D

    click here

    ``` Loop detection: ``` % pandoc -f rst `click here`__ .. _link1: link2_ .. _link2: link1_ __ link1_ ^D [WARNING] Circular reference 'link1' at line 1 column 15

    click here

    ``` pandoc-2.9.2.1/test/command/5121.md000066400000000000000000000003461363630463000164450ustar00rootroot00000000000000``` % pandoc -f markdown -t markdown_strict ![My caption](./my-figure.jpg){width=500px} ## Header 2 ^D
    My caption
    Header 2 -------- ``` pandoc-2.9.2.1/test/command/5128.md000066400000000000000000000050411363630463000164510ustar00rootroot00000000000000``` pandoc -f org -t rst --columns=78 | Option | Meaning | |--------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | =<= | Left alignment, additional characters are added to the right (default for string). | | =>= | Right alignment, additional characters are added to the left. | | =^= | Centered , the same amount of characters is added to the left and the right. | | === | Padding. If a numeric value is printed with a sign, then additional characters are added after the sign. Otherwise it behaves like "=>=". This option is only available for numbers (default for numbers). | ^D +--------+------------------------------------------------------------------+ | Option | Meaning | +========+==================================================================+ | ``<`` | Left alignment, additional characters are added to the right | | | (default for string). | +--------+------------------------------------------------------------------+ | ``>`` | Right alignment, additional characters are added to the left. | +--------+------------------------------------------------------------------+ | ``^`` | Centered , the same amount of characters is added to the left | | | and the right. | +--------+------------------------------------------------------------------+ | ``=`` | Padding. If a numeric value is printed with a sign, then | | | additional characters are added after the sign. Otherwise it | | | behaves like "``>``". This option is only available for numbers | | | (default for numbers). | +--------+------------------------------------------------------------------+ ``` pandoc-2.9.2.1/test/command/5177.md000066400000000000000000000001741363630463000164570ustar00rootroot00000000000000This should not give a "Prelude.read: no parse" error: ``` % pandoc -M foo=1e -s -t markdown hi ^D --- foo: 1e --- hi ``` pandoc-2.9.2.1/test/command/5178.md000066400000000000000000000016421363630463000164610ustar00rootroot00000000000000``` % pandoc -f rst -t org .. code:: haskell :number-lines: 42 main = putStrLn "Hello World!" unsafePerformIO main ^D #+BEGIN_SRC haskell -n 42 main = putStrLn "Hello World!" unsafePerformIO main #+END_SRC ``` ``` % pandoc -f org -t native #+BEGIN_SRC lisp -n 20 (+ 1 1) #+END_SRC #+BEGIN_SRC lisp +n 10 (+ 2 2) #+END_SRC ^D [CodeBlock ("",["commonlisp","numberLines"],[("org-language","lisp"),("startFrom","20")]) "(+ 1 1)\n" ,CodeBlock ("",["commonlisp","numberLines","continuedSourceBlock"],[("org-language","lisp"),("startFrom","10")]) "(+ 2 2)\n"] ``` ``` % pandoc -f native -t org [CodeBlock ("",["commonlisp","numberLines"],[("org-language","lisp"),("startFrom","20")]) "(+ 1 1)\n" ,CodeBlock ("",["commonlisp","numberLines","continuedSourceBlock"],[("org-language","lisp"),("startFrom","10")]) "(+ 2 2)\n"] ^D #+BEGIN_SRC lisp -n 20 (+ 1 1) #+END_SRC #+BEGIN_SRC lisp +n 10 (+ 2 2) #+END_SRC ``` pandoc-2.9.2.1/test/command/5182.md000066400000000000000000000002111363630463000164430ustar00rootroot00000000000000``` pandoc -f rst -t native .. include:: command/5182.txt ^D [CodeBlock ("",["python","numberLines"],[]) "def func(x):\n return y"] ``` pandoc-2.9.2.1/test/command/5182.txt000066400000000000000000000000771363630463000166740ustar00rootroot00000000000000.. code::python :number-lines: def func(x): return y pandoc-2.9.2.1/test/command/5195.md000066400000000000000000000001271363630463000164550ustar00rootroot00000000000000``` % pandoc -f markdown_strict -t gfm+hard_line_breaks Hello there ^D Hello there ``` pandoc-2.9.2.1/test/command/5233.md000066400000000000000000000000751363630463000164500ustar00rootroot00000000000000``` % pandoc -f latex -t plain foo \endinput bar ^D foo ``` pandoc-2.9.2.1/test/command/5241.md000066400000000000000000000001611363630463000164430ustar00rootroot00000000000000``` % pandoc -f markdown -t html5 ^D ``` pandoc-2.9.2.1/test/command/5271.md000066400000000000000000000005371363630463000164550ustar00rootroot00000000000000``` % pandoc -f markdown -t native -s --- abstract: | This is the abstract. It consists of two paragraphs. ... ^D Pandoc (Meta {unMeta = fromList [("abstract",MetaBlocks [Para [Str "This",Space,Str "is",Space,Str "the",Space,Str "abstract."],Para [Str "It",Space,Str "consists",Space,Str "of",Space,Str "two",Space,Str "paragraphs."]])]}) [] ``` pandoc-2.9.2.1/test/command/5285.md000066400000000000000000000004641363630463000164610ustar00rootroot00000000000000``` % pandoc -t native - a b - a - b ^D [BulletList [[Para [Str "a"] ,Para [Str "b"]] ,[Para [Str "a"]] ,[Para [Str "b"]]]] ``` ``` % pandoc -t native - foo foo - foo > foo ^D [BulletList [[Para [Str "foo"] ,Para [Str "foo"]] ,[Para [Str "foo"] ,BlockQuote [Para [Str "foo"]]]]] ``` pandoc-2.9.2.1/test/command/5304.md000066400000000000000000000003661363630463000164520ustar00rootroot00000000000000```` % pandoc -f markdown -t markdown ``` {.markdown} `«sträng»` `` «sträng» `` ``` «sträng» ``` ````«sträng»```` ... ``` ^D ``` {.markdown} `«sträng»` `` «sträng» `` ``` «sträng» ``` ````«sträng»```` ... ``` ```` pandoc-2.9.2.1/test/command/5321.md000066400000000000000000000007401363630463000164450ustar00rootroot00000000000000``` % pandoc -f jats -t native

    bar

    ^D [Para [Image ("fig-1",[],[]) [Str "bar"] ("foo.png","fig:")]] ``` ``` % pandoc -f jats -t native foo

    bar

    ^D [Para [Image ("fig-1",[],[]) [Str "foo",LineBreak,Str "bar"] ("foo.png","fig:")]] ``` pandoc-2.9.2.1/test/command/5340.md000066400000000000000000000011431363630463000164440ustar00rootroot00000000000000``` % pandoc -f html -t latex --wrap=preserve https://example.com/foo-bar https://example.com/foo--bar https://example.com/foo-bar https://example.com/foo--bar https://example.com/foo%2D%2Dbar ^D \url{https://example.com/foo-bar} \url{https://example.com/foo--bar} \url{https://example.com/foo\%2Dbar} \url{https://example.com/foo\%2D\%2Dbar} \url{https://example.com/foo\%2D\%2Dbar} ``` pandoc-2.9.2.1/test/command/5360.md000066400000000000000000000005301363630463000164450ustar00rootroot00000000000000``` % pandoc -t native ::: {.foo}
    hi
    ::: ^D [Div ("",["foo"],[]) [RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "
    " ,Plain [Str "hi"] ,RawBlock (Format "html") "
    "]] ``` pandoc-2.9.2.1/test/command/5367.md000066400000000000000000000014671363630463000164660ustar00rootroot00000000000000``` % pandoc -t latex hello[^1] : Sample table.[^2] ----------- Fruit[^3] ----------- Bans[^4] ----------- dolly[^5] [^1]: doc footnote [^2]: caption footnote [^3]: header footnote [^4]: table cell footnote [^5]: doc footnote ^D hello\footnote{doc footnote} \begin{longtable}[]{@{}c@{}} \caption[Sample table.]{Sample table.\footnote{caption footnote}}\tabularnewline \toprule \begin{minipage}[b]{0.16\columnwidth}\centering Fruit\footnote{header footnote}\strut \end{minipage}\tabularnewline \midrule \endfirsthead \toprule \begin{minipage}[b]{0.16\columnwidth}\centering Fruit{}\strut \end{minipage}\tabularnewline \midrule \endhead \begin{minipage}[t]{0.16\columnwidth}\centering Bans\footnote{table cell footnote}\strut \end{minipage}\tabularnewline \bottomrule \end{longtable} dolly\footnote{doc footnote} ``` pandoc-2.9.2.1/test/command/5368.md000066400000000000000000000006501363630463000164600ustar00rootroot00000000000000``` % pandoc -t native 1. foo ![bar](bar.png) 2. foo2 ![bar2](bar2.png) 3. foo3 ![foo3](foo3.png) Quux. ^D [OrderedList (1,Decimal,Period) [[Para [Str "foo"] ,Para [Image ("",[],[]) [Str "bar"] ("bar.png","fig:")]] ,[Para [Str "foo2"] ,Para [Image ("",[],[]) [Str "bar2"] ("bar2.png","fig:")]] ,[Para [Str "foo3"] ,Para [Image ("",[],[]) [Str "foo3"] ("foo3.png","fig:")]]] ,Para [Str "Quux."]] ``` pandoc-2.9.2.1/test/command/5369.md000066400000000000000000000002021363630463000164520ustar00rootroot00000000000000``` % pandoc -f native -t markdown [Div ("",[],[("tags","[\"o\\ne\",\"two\"]")]) [] ] ^D ::: {tags="[\"o\\ne\",\"two\"]"} ::: ``` pandoc-2.9.2.1/test/command/5407.md000066400000000000000000000002531363630463000164510ustar00rootroot00000000000000``` % pandoc -t latex --wrap=preserve hi there?“ hi there!“ hi there?‘ hi there!‘ hi there! ^D hi there?{}`` hi there!{}`` hi there?{}` hi there!{}` hi there! ``` pandoc-2.9.2.1/test/command/5410.md000066400000000000000000000001101363630463000164330ustar00rootroot00000000000000``` % pandoc -f man -t native .ie n \{\ 'br\} ^D [Para [LineBreak]] ``` pandoc-2.9.2.1/test/command/5416.md000066400000000000000000000001751363630463000164540ustar00rootroot00000000000000``` % pandoc -f dokuwiki -t native { ^D [Para [Str "{"]] ``` ``` % pandoc -f dokuwiki -t native {{ ^D [Para [Str "{{"]] ``` pandoc-2.9.2.1/test/command/5420.md000066400000000000000000000002051363630463000164410ustar00rootroot00000000000000``` % pandoc --listings -t latex `int a = 1;`{.cpp style=cpp} ^D \passthrough{\lstinline[language={C++}, style=cpp]!int a = 1;!} ``` pandoc-2.9.2.1/test/command/5439.md000066400000000000000000000001231363630463000164520ustar00rootroot00000000000000``` % pandoc -t latex namespace\fshyp{}container ^D namespace\fshyp{}container ``` pandoc-2.9.2.1/test/command/5446.md000066400000000000000000000001031363630463000164460ustar00rootroot00000000000000``` % pandoc -f latex -t rst {\em test test \/} ^D *test test* ``` pandoc-2.9.2.1/test/command/5474-figures.md000066400000000000000000000016501363630463000201210ustar00rootroot00000000000000``` % pandoc -t opendocument+native_numbering ![First image](lalune.jpg) ![Second image](lalune.jpg) ^D Figure 1: First image Figure 2: Second image ``` pandoc-2.9.2.1/test/command/5474-tables.md000066400000000000000000000050121363630463000177230ustar00rootroot00000000000000``` % pandoc -t opendocument+native_numbering Right Left ------- ------ 12 11 : First table Right Left ------- ------ 13 14 : Second Table ^D Table 1: First table Right Left 12 11 Table 2: Second Table Right Left 13 14 ``` pandoc-2.9.2.1/test/command/5476.md000066400000000000000000000003071363630463000164570ustar00rootroot00000000000000``` % pandoc -t latex ![moon^[the moon]](test/lalune.jpg) ^D \begin{figure} \centering \includegraphics{test/lalune.jpg} \caption[moon]{moon\footnotemark{}} \end{figure} \footnotetext{the moon} ``` pandoc-2.9.2.1/test/command/5495.md000066400000000000000000000004251363630463000164610ustar00rootroot00000000000000``` % pandoc -t markdown --reference-links All because of [1](#one) link... [This](#foo) will break Pandoc. [This](#bar) will make you laugh. ^D All because of [1] link... [This] will break Pandoc. [This][2] will make you laugh. [1]: #one [This]: #foo [2]: #bar ``` pandoc-2.9.2.1/test/command/5519.md000066400000000000000000000001471363630463000164570ustar00rootroot00000000000000~~~ % pandoc -t markdown ``````{.attr} ``` code ``` `````` ^D ```` {.attr} ``` code ``` ```` ~~~ pandoc-2.9.2.1/test/command/5529.md000066400000000000000000000002241363630463000164540ustar00rootroot00000000000000``` % pandoc -t latex ~~`hello world`~~ ~~_`hello world`_~~ ^D \sout{\mbox{\texttt{hello\ world}}} \sout{\emph{\mbox{\texttt{hello\ world}}}} ``` pandoc-2.9.2.1/test/command/5540.md000066400000000000000000000003031363630463000164430ustar00rootroot00000000000000``` % pandoc -f latex -t native \begin{lstlisting}[language=myfunnylanguage] Stay pure! \end{lstlisting} ^D [CodeBlock ("",["myfunnylanguage"],[("language","myfunnylanguage")]) "Stay pure!"] ``` pandoc-2.9.2.1/test/command/5543.md000066400000000000000000000001221363630463000164450ustar00rootroot00000000000000``` % pandoc -t markdown 1\. item : description ^D 1\. item : description ``` pandoc-2.9.2.1/test/command/5549.md000066400000000000000000000001261363630463000164570ustar00rootroot00000000000000``` % pandoc -t native ## [] ^D [Header 2 ("section",[],[]) [] ,Para [Str "[]"]] ``` pandoc-2.9.2.1/test/command/5565.md000066400000000000000000000000601363630463000164520ustar00rootroot00000000000000``` % pandoc -t asciidoc ***hi*** ^D *_hi_* ``` pandoc-2.9.2.1/test/command/5566.md000066400000000000000000000003021363630463000164520ustar00rootroot00000000000000``` % pandoc -t asciidoc -f html foo foo foo foo ^D fo[.c]##o## f[.c]##o##o [.c]##f##oo [.c]#foo# ``` pandoc-2.9.2.1/test/command/5574.md000066400000000000000000000002301363630463000164510ustar00rootroot00000000000000No highlighting inside heading: ``` % pandoc -t latex # `foo`{.cpp} ^D \hypertarget{foo}{% \section{\texorpdfstring{\texttt{foo}}{foo}}\label{foo}} ``` pandoc-2.9.2.1/test/command/5619.md000066400000000000000000000006561363630463000164650ustar00rootroot00000000000000``` % pandoc -f rst -t native .. figure:: img1.jpg :width: 1in :name: test The caption. Here's what piggybacking on caption would look like {#fig:1} ^D [Para [Image ("test",[],[("width","1in")]) [Str "The",Space,Str "caption.",Space,Str "Here's",Space,Str "what",Space,Str "piggybacking",Space,Str "on",Space,Str "caption",Space,Str "would",Space,Str "look",Space,Str "like",Space,Str "{#fig:1}"] ("img1.jpg","fig:")]] ``` pandoc-2.9.2.1/test/command/5620.md000066400000000000000000000003711363630463000164470ustar00rootroot00000000000000``` % pandoc -t man `-o`, `--output=`*OUTFILE* : Write output to *OUTFILE* instead of `stdout`(3) ^D .TP \f[B]\f[CB]-o\f[B]\f[R], \f[B]\f[CB]--output=\f[B]\f[R]\f[I]OUTFILE\f[R] Write output to \f[I]OUTFILE\f[R] instead of \f[C]stdout\f[R](3) ``` pandoc-2.9.2.1/test/command/5627.md000066400000000000000000000040401363630463000164530ustar00rootroot00000000000000``` % pandoc -t html ## Example 1. One 2. Two `-->somethingsomethingsomethingsomething elseonetwo image/svg+xml pandoc-2.9.2.1/test/command/latex-color.md000066400000000000000000000051041363630463000203030ustar00rootroot00000000000000# `\textcolor{}{}` ``` % pandoc -f latex -t native Hello \textcolor{red}{World} ^D [Para [Str "Hello",Space,Span ("",[],[("style","color: red")]) [Str "World"]]] ``` ``` % pandoc -f latex -t native \textcolor{red}{Hello} World ^D [Para [Span ("",[],[("style","color: red")]) [Str "Hello"],Space,Str "World"]] ``` ``` % pandoc -f latex -t native Hello \textcolor{blue}{\textbf{World}} ^D [Para [Str "Hello",Space,Span ("",[],[("style","color: blue")]) [Strong [Str "World"]]]] ``` ``` % pandoc -f latex -t native Hello \textcolor{blue}{\textbf{World}}. ^D [Para [Str "Hello",Space,Span ("",[],[("style","color: blue")]) [Strong [Str "World"]],Str "."]] ``` ``` % pandoc -f latex -t native \textcolor{orange}{ \begin{itemize} \item Item 1 \item Item 2 \end{itemize} } ^D [Div ("",[],[("style","color: orange")]) [BulletList [[Para [Str "Item",Space,Str "1"]] ,[Para [Str "Item",Space,Str "2"]]]]] ``` ``` % pandoc -f latex -t native \textcolor{blue}{ \begin{itemize} \item Item 1 \item Item 2 \end{itemize} } some more text ^D [Div ("",[],[("style","color: blue")]) [BulletList [[Para [Str "Item",Space,Str "1"]] ,[Para [Str "Item",Space,Str "2"]]]] ,Para [Str "some",Space,Str "more",Space,Str "text"]] ``` # `\colorbox{}{}` ``` % pandoc -f latex -t native Hello \colorbox{red}{World} ^D [Para [Str "Hello",Space,Span ("",[],[("style","background-color: red")]) [Str "World"]]] ``` ``` % pandoc -f latex -t native \colorbox{red}{Hello} World ^D [Para [Span ("",[],[("style","background-color: red")]) [Str "Hello"],Space,Str "World"]] ``` ``` % pandoc -f latex -t native Hello \colorbox{blue}{\textbf{World}} ^D [Para [Str "Hello",Space,Span ("",[],[("style","background-color: blue")]) [Strong [Str "World"]]]] ``` ``` % pandoc -f latex -t native Hello \colorbox{blue}{\textbf{World}}. ^D [Para [Str "Hello",Space,Span ("",[],[("style","background-color: blue")]) [Strong [Str "World"]],Str "."]] ``` ``` % pandoc -f latex -t native \colorbox{orange}{ \begin{minipage}{\textwidth} \begin{itemize} \item Item 1 \item Item 2 \end{itemize} \end{minipage} } ^D [Div ("",[],[("style","background-color: orange")]) [BulletList [[Para [Str "Item",Space,Str "1"]] ,[Para [Str "Item",Space,Str "2"]]]]] ``` ``` % pandoc -f latex -t native \colorbox{blue}{ \begin{minipage}{\textwidth} \begin{itemize} \item Item 1 \item Item 2 \end{itemize} \end{minipage} } some more text ^D [Div ("",[],[("style","background-color: blue")]) [BulletList [[Para [Str "Item",Space,Str "1"]] ,[Para [Str "Item",Space,Str "2"]]]] ,Para [Str "some",Space,Str "more",Space,Str "text"]] ``` pandoc-2.9.2.1/test/command/latex-command-comment.md000066400000000000000000000001121363630463000222350ustar00rootroot00000000000000``` pandoc -f latex -t native \emph% {hi} ^D [Para [Emph [Str "hi"]]] ``` pandoc-2.9.2.1/test/command/latex-fontawesome.md000066400000000000000000000003011363630463000215060ustar00rootroot00000000000000``` % pandoc -f latex -t native Check: \faCheck ^D [Para [Str "Check:",Space,Str "\10003"]] ``` ``` % pandoc -f latex -t native Close: \faClose ^D [Para [Str "Close:",Space,Str "\10007"]] ``` pandoc-2.9.2.1/test/command/latex-tabular-column-specs.md000066400000000000000000000011651363630463000232300ustar00rootroot00000000000000See https://groups.google.com/forum/#!topic/pandoc-discuss/_VXtqihCyDU. ``` % pandoc -f latex -t native \begin{tabular}{>{$}l<{$}>{$}l<{$} >{$}l<{$}} \toprule & f1 & f2 \\ \midrule e & 0.5 & 4 \\ f & 0.5 & 5,5 \\ \bottomrule \end{tabular} ^D [Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Plain [Math InlineMath ""]] ,[Plain [Math InlineMath "f1"]] ,[Plain [Math InlineMath "f2"]]] [[[Plain [Math InlineMath "e"]] ,[Plain [Math InlineMath "0.5"]] ,[Plain [Math InlineMath "4"]]] ,[[Plain [Math InlineMath "f"]] ,[Plain [Math InlineMath "0.5"]] ,[Plain [Math InlineMath "5,5"]]]]] ``` pandoc-2.9.2.1/test/command/lettrine.md000066400000000000000000000004411363630463000176770ustar00rootroot00000000000000``` % pandoc -f latex -t native \lettrine{A}{category} is \lettrine[lhang=0.17]{A}{category} is ^D [Para [Span ("",["lettrine"],[]) [Str "A"],Span ("",[],[]) [Str "category"],Space,Str "is"] ,Para [Span ("",["lettrine"],[]) [Str "A"],Span ("",[],[]) [Str "category"],Space,Str "is"]] ``` pandoc-2.9.2.1/test/command/lstlisting.md000066400000000000000000000020041363630463000202420ustar00rootroot00000000000000``` % pandoc -f latex -t native \begin{lstlisting}[language=Java, caption={Java Example}, label=lst:Hello-World] public class World { public static void main(String[] args) { System.out.println("Hello World"); } } \end{lstlisting} ^D [CodeBlock ("lst:Hello-World",["java"],[("language","Java"),("caption","Java Example"),("label","lst:Hello-World")]) "public class World {\n public static void main(String[] args) {\n System.out.println(\"Hello World\");\n }\n}"] ``` ``` % pandoc -f latex -t native \begin{lstlisting}[language=Java, escapechar=|, caption={Java Example}, label=lst:Hello-World] public class World { public static void main(String[] args) { System.out.println("Hello World"); } } \end{lstlisting} ^D [CodeBlock ("lst:Hello-World",["java"],[("language","Java"),("escapechar","|"),("caption","Java Example"),("label","lst:Hello-World")]) "public class World {\n public static void main(String[] args) {\n System.out.println(\"Hello World\");\n }\n}"] ``` pandoc-2.9.2.1/test/command/lua-pandoc-state.lua000066400000000000000000000010021363630463000213650ustar00rootroot00000000000000function report (what, value) print(string.format('%16s: %s', what, value)) end report('# input files', #PANDOC_STATE.input_files) report('output file', PANDOC_STATE.output_file) report('# request header', #PANDOC_STATE.request_headers) report('resource path', table.concat(PANDOC_STATE.resource_path, ', ')) report('source URL', PANDOC_STATE.source_url) report('user data dir', PANDOC_STATE.user_data_dir and 'defined' or 'unset') report('trace', PANDOC_STATE.trace) report('verbosity', PANDOC_STATE.verbosity) pandoc-2.9.2.1/test/command/lua-pandoc-state.md000066400000000000000000000004241363630463000212130ustar00rootroot00000000000000``` % pandoc --lua-filter=command/lua-pandoc-state.lua --data-dir=foo Hello ^D # input files: 1 output file: nil # request header: 0 resource path: . source URL: nil user data dir: defined trace: false verbosity: WARNING

    Hello

    ``` pandoc-2.9.2.1/test/command/macro-defs-in-preamble.md000066400000000000000000000005641363630463000222700ustar00rootroot00000000000000``` % pandoc -s -f latex-latex_macros -t native \documentclass[11pt]{article} \newcommand{\vara}{\alpha} \newcommand{\varb}{b} \begin{document} $\vara \varb$ \end{document} ^D Pandoc (Meta {unMeta = fromList []}) [RawBlock (Format "latex") "\\newcommand{\\vara}{\\alpha}" ,RawBlock (Format "latex") "\\newcommand{\\varb}{b}" ,Para [Math InlineMath "\\vara \\varb"]] ``` pandoc-2.9.2.1/test/command/macros.md000066400000000000000000000032641363630463000173430ustar00rootroot00000000000000``` % pandoc -f markdown+latex_macros -t markdown+raw_tex-raw_attribute \newcommand{\my}{\phi} $\my+\my$ ^D \newcommand{\my}{\phi} $\phi+\phi$ ``` ``` % pandoc -f markdown-latex_macros -t markdown+raw_tex-raw_attribute \newcommand{\my}{\phi} $\my+\my$ ^D \newcommand{\my}{\phi} $\my+\my$ ``` `\let` macros should be expanded at point of definition, while `\newcommand` macros should be expanded at point of use: ``` % pandoc -f latex -t latex \let\a\b \newcommand{\b}{\emph{ouk}} \a a ^D a̱ ``` ``` % pandoc -f latex -t latex \newcommand{\a}{\b} \newcommand{\b}{\emph{ouk}} \a a ^D \emph{ouk}a ``` ``` % pandoc -f latex -t latex \def\BDpos{} \def\BDneg{-} \def\beq{\begin{align}} \def\eeq{\end{align}} \def\e#1{\emph{#1}} \def\f#1#2{\emph{#1--#2}} $5\BDneg 6\BDpos 7$ \beq x &= y\\ \eeq \e{hi} \f{hi}{ok} ^D \(5-67\) \[\begin{aligned} x &= y\\\end{aligned}\] \emph{hi} \emph{hi--ok} ``` ``` % pandoc -f markdown+latex_macros -t markdown+raw_tex-raw_attribute \newcommand{\my}{\phi} \begin{equation} \my+\my \end{equation} ^D \newcommand{\my}{\phi} \begin{equation} \phi+\phi \end{equation} ``` ``` % pandoc -f markdown-latex_macros -t markdown+raw_tex-raw_attribute \newcommand{\my}{\phi} \begin{equation} \my+\my \end{equation} ^D \newcommand{\my}{\phi} \begin{equation} \my+\my \end{equation} ``` ``` % pandoc -f markdown+latex_macros -t markdown+raw_tex-raw_attribute \newcommand{\my}{\emph{a}} \my ^D \newcommand{\my}{\emph{a}} \emph{a} ``` ``` % pandoc -f latex -t plain \def\bar{hello} \let\fooi\bar \def\fooii{\bar} \fooi +\fooii \def\bar{goodbye} \fooi +\fooii ^D hello+hello hello+goodbye ``` pandoc-2.9.2.1/test/command/make-section-column-divs.md000066400000000000000000000005261363630463000226720ustar00rootroot00000000000000For reference see https://groups.google.com/d/msgid/pandoc-discuss/cef24253-7731-417c-a1ee-48153c4344bf%40googlegroups.com ``` % pandoc ::: columns ::: column # A a ::: ::: column # B b ::: ::: ^D

    A

    a

    B

    b

    ``` pandoc-2.9.2.1/test/command/md-abbrevs.md000066400000000000000000000005771363630463000201050ustar00rootroot00000000000000Pandoc recognizes an abbreviation and inserts a nonbreaking space (among other things, this prevents a sentence-ending space from being inserted in LaTeX output). ``` % pandoc -t native Mr. Bob ^D [Para [Str "Mr.\160Bob"]] ``` If you don't want this to happen you can escape the period: ``` % pandoc -t native Hi Mr\. Bob ^D [Para [Str "Hi",Space,Str "Mr.",Space,Str "Bob"]] ``` pandoc-2.9.2.1/test/command/multiple-metadata-blocks.md000066400000000000000000000003021363630463000227310ustar00rootroot00000000000000If multiple blocks define a field, the first is used. ``` % pandoc -s -t native --- foo: bar ... --- foo: bim ... ^D Pandoc (Meta {unMeta = fromList [("foo",MetaInlines [Str "bim"])]}) [] ``` pandoc-2.9.2.1/test/command/parse-raw.md000066400000000000000000000005731363630463000177600ustar00rootroot00000000000000``` % pandoc -f latex+raw_tex -t markdown \emph{Hi \foo{there}} ^D *Hi `\foo{there}`{=latex}* ``` ``` % pandoc -f latex -t markdown \emph{Hi \foo{there}} ^D *Hi* ``` ``` % pandoc -f html+raw_html -t markdown Hi there ^D *Hi ``{=html}there``{=html}* ``` ``` % pandoc -f html -t markdown Hi there ^D *Hi there* ``` pandoc-2.9.2.1/test/command/refs.md000066400000000000000000000065421363630463000170200ustar00rootroot00000000000000``` % pandoc -f latex -t native Figure \ref{fig:1} ^D [Para [Str "Figure",Space,Link ("",[],[("reference-type","ref"),("reference","fig:1")]) [Str "[fig:1]"] ("#fig:1","")]] ``` ``` % pandoc -f latex -t native Figure \cref{fig:1} ^D [Para [Str "Figure",Space,Link ("",[],[("reference-type","ref"),("reference","fig:1")]) [Str "[fig:1]"] ("#fig:1","")]] ``` ``` % pandoc -f latex -t native Figure \vref{fig:1} ^D [Para [Str "Figure",Space,Link ("",[],[("reference-type","ref+page"),("reference","fig:1")]) [Str "[fig:1]"] ("#fig:1","")]] ``` ``` % pandoc -f latex -t native Accuracy~\eqref{eq:Accuracy} is the proportion, measuring true results among all results. \begin{equation} \label{eq:Accuracy} Accuracy = \frac{t_p + t_n}{t_p + f_p + f_n + t_n} \end{equation} ^D [Para [Str "Accuracy\160",Link ("",[],[("reference-type","eqref"),("reference","eq:Accuracy")]) [Str "[eq:Accuracy]"] ("#eq:Accuracy",""),Space,Str "is",Space,Str "the",Space,Str "proportion,",Space,Str "measuring",Space,Str "true",Space,Str "results",Space,Str "among",Space,Str "all",Space,Str "results."] ,Para [Math DisplayMath "\\label{eq:Accuracy}\n Accuracy = \\frac{t_p + t_n}{t_p + f_p + f_n + t_n}"]] ``` ``` % pandoc -f latex -t native \begin{figure} \includegraphics{command/SVG_logo.svg} \caption{Logo} \label{fig:Logo} \end{figure} Figure \ref{fig:Logo} illustrated the SVG logo ^D [Para [Image ("fig:Logo",[],[]) [Str "Logo"] ("command/SVG_logo.svg","fig:")] ,Para [Str "Figure",Space,Link ("",[],[("reference-type","ref"),("reference","fig:Logo")]) [Str "1"] ("#fig:Logo",""),Space,Str "illustrated",Space,Str "the",Space,Str "SVG",Space,Str "logo"]] ``` ``` % pandoc -f latex -t native \chapter{One} \begin{figure} \includegraphics{command/SVG_logo.svg} \caption{Logo} \label{fig:Logo} \end{figure} \begin{figure} \includegraphics{command/SVG_logo2.svg} \caption{Logo2} \label{fig:Logo2} \end{figure} \chapter{Two} \section{Subone} \begin{figure} \includegraphics{command/SVG_logo3.svg} \caption{Logo3} \label{fig:Logo3} \end{figure} Figure \ref{fig:Logo} illustrated the SVG logo Figure \ref{fig:Logo2} illustrated the SVG logo Figure \ref{fig:Logo3} illustrated the SVG logo ^D [Header 1 ("one",[],[]) [Str "One"] ,Para [Image ("fig:Logo",[],[]) [Str "Logo"] ("command/SVG_logo.svg","fig:")] ,Para [Image ("fig:Logo2",[],[]) [Str "Logo2"] ("command/SVG_logo2.svg","fig:")] ,Header 1 ("two",[],[]) [Str "Two"] ,Header 2 ("subone",[],[]) [Str "Subone"] ,Para [Image ("fig:Logo3",[],[]) [Str "Logo3"] ("command/SVG_logo3.svg","fig:")] ,Para [Str "Figure",Space,Link ("",[],[("reference-type","ref"),("reference","fig:Logo")]) [Str "1.1"] ("#fig:Logo",""),Space,Str "illustrated",Space,Str "the",Space,Str "SVG",Space,Str "logo"] ,Para [Str "Figure",Space,Link ("",[],[("reference-type","ref"),("reference","fig:Logo2")]) [Str "1.2"] ("#fig:Logo2",""),Space,Str "illustrated",Space,Str "the",Space,Str "SVG",Space,Str "logo"] ,Para [Str "Figure",Space,Link ("",[],[("reference-type","ref"),("reference","fig:Logo3")]) [Str "2.1"] ("#fig:Logo3",""),Space,Str "illustrated",Space,Str "the",Space,Str "SVG",Space,Str "logo"]] ``` ``` % pandoc -f latex -t native \label{section} Section \ref{section} ^D [Para [Span ("section",[],[("label","section")]) [Str "[section]"],Space,Str "Section",Space,Link ("",[],[("reference-type","ref"),("reference","section")]) [Str "[section]"] ("#section","")]] ``` pandoc-2.9.2.1/test/command/rst-links.md000066400000000000000000000002461363630463000200020ustar00rootroot00000000000000``` % pandoc -f rst `*ab*`_ .. _`*ab*`: foo ^D

    *ab*

    ``` ``` % pandoc -f rst `A B c`_ .. _A B C: foo ^D

    A B c

    ``` pandoc-2.9.2.1/test/command/section-divs.md000066400000000000000000000005101363630463000204550ustar00rootroot00000000000000``` % pandoc --section-divs ::: {#hi .section .level1} # Hi ::: {#there .section .level2} ## there ::: ::: ::: {#ok .section .level1} Ok == ::: ^D

    Hi

    there

    Ok

    ``` pandoc-2.9.2.1/test/command/setext-fenced-div.md000066400000000000000000000001331363630463000213650ustar00rootroot00000000000000``` % pandoc -t native ::: {.cell} --- ::: ^D [Div ("",["cell"],[]) [HorizontalRule]] ``` pandoc-2.9.2.1/test/command/shift-heading-level-by.md000066400000000000000000000012161363630463000223010ustar00rootroot00000000000000``` % pandoc --shift-heading-level-by 1 -t native -s --- title: My title ... # First heading ## Second ^D Pandoc (Meta {unMeta = fromList [("title",MetaInlines [Str "My",Space,Str "title"])]}) [Header 2 ("first-heading",[],[]) [Str "First",Space,Str "heading"] ,Header 3 ("second",[],[]) [Str "Second"]] ``` ``` % pandoc --shift-heading-level-by -1 -t native -s --- title: Old title ... # First heading ## Second # Another top-level heading ^D Pandoc (Meta {unMeta = fromList [("title",MetaInlines [Str "First",Space,Str "heading"])]}) [Header 1 ("second",[],[]) [Str "Second"] ,Para [Str "Another",Space,Str "top-level",Space,Str "heading"]] ``` pandoc-2.9.2.1/test/command/sloppypar.md000066400000000000000000000050071363630463000201050ustar00rootroot00000000000000``` % pandoc -f latex+raw_tex -t native \begin{sloppypar} Sequi id qui facere et incidunt ut. Et fuga ut voluptate enim qui. Odit unde magni ipsam dicta modi. Modi soluta velit est aut aut possimus. Qui et temporibus explicabo. Esse ab ut quidem. Vel qui perspiciatis quae odio consectetur alias non sed. Quo consectetur libero omnis quos eius ad vel. \end{sloppypar} ^D [Para [Str "Sequi",Space,Str "id",Space,Str "qui",Space,Str "facere",Space,Str "et",Space,Str "incidunt",Space,Str "ut.",Space,Str "Et",Space,Str "fuga",Space,Str "ut",Space,Str "voluptate",Space,Str "enim",Space,Str "qui.",Space,Str "Odit",Space,Str "unde",Space,Str "magni",Space,Str "ipsam",Space,Str "dicta",Space,Str "modi.",Space,Str "Modi",Space,Str "soluta",Space,Str "velit",Space,Str "est",Space,Str "aut",Space,Str "aut",Space,Str "possimus."] ,Para [Str "Qui",Space,Str "et",Space,Str "temporibus",Space,Str "explicabo.",Space,Str "Esse",Space,Str "ab",Space,Str "ut",Space,Str "quidem.",Space,Str "Vel",Space,Str "qui",Space,Str "perspiciatis",Space,Str "quae",Space,Str "odio",Space,Str "consectetur",Space,Str "alias",Space,Str "non",Space,Str "sed.",Space,Str "Quo",Space,Str "consectetur",Space,Str "libero",Space,Str "omnis",Space,Str "quos",Space,Str "eius",Space,Str "ad",Space,Str "vel."]] ``` ``` % pandoc -f latex -t native \begin{sloppypar} Sequi id qui facere et incidunt ut. Et fuga ut voluptate enim qui. Odit unde magni ipsam dicta modi. Modi soluta velit est aut aut possimus. Qui et temporibus explicabo. Esse ab ut quidem. Vel qui perspiciatis quae odio consectetur alias non sed. Quo consectetur libero omnis quos eius ad vel. \end{sloppypar} ^D [Para [Str "Sequi",Space,Str "id",Space,Str "qui",Space,Str "facere",Space,Str "et",Space,Str "incidunt",Space,Str "ut.",Space,Str "Et",Space,Str "fuga",Space,Str "ut",Space,Str "voluptate",Space,Str "enim",Space,Str "qui.",Space,Str "Odit",Space,Str "unde",Space,Str "magni",Space,Str "ipsam",Space,Str "dicta",Space,Str "modi.",Space,Str "Modi",Space,Str "soluta",Space,Str "velit",Space,Str "est",Space,Str "aut",Space,Str "aut",Space,Str "possimus."] ,Para [Str "Qui",Space,Str "et",Space,Str "temporibus",Space,Str "explicabo.",Space,Str "Esse",Space,Str "ab",Space,Str "ut",Space,Str "quidem.",Space,Str "Vel",Space,Str "qui",Space,Str "perspiciatis",Space,Str "quae",Space,Str "odio",Space,Str "consectetur",Space,Str "alias",Space,Str "non",Space,Str "sed.",Space,Str "Quo",Space,Str "consectetur",Space,Str "libero",Space,Str "omnis",Space,Str "quos",Space,Str "eius",Space,Str "ad",Space,Str "vel."]] ``` pandoc-2.9.2.1/test/command/smart.md000066400000000000000000000014341363630463000172020ustar00rootroot00000000000000``` % pandoc -f markdown+smart -t markdown-smart "hi"...dog's breath---cat 5--6 ^D “hi”…dog’s breath—cat 5–6 ``` ``` % pandoc -f markdown+smart -t markdown+smart "hi"...dog's breath---cat 5--6 ^D "hi"...dog's breath---cat 5--6 ``` When we render literal quotes without smart, we need to escape: ``` % pandoc -f markdown-smart \ -t markdown+smart "hi"...dog's breath---cat 5--6 ^D \"hi\"\...dog\'s breath\-\--cat 5\--6 ``` ``` % pandoc -f markdown+smart -t rst-smart "hi"...dog's breath---cat 5--6 ^D “hi”…dog’s breath—cat 5–6 ``` ``` % pandoc -f markdown+smart -t rst+smart "hi"...dog's breath---cat 5--6 ^D "hi"...dog's breath---cat 5--6 ``` ``` % pandoc -f markdown-smart -t rst+smart "hi"...dog's breath---cat 5--6 ^D \"hi\"\...dog\'s breath\-\--cat 5\--6 ``` pandoc-2.9.2.1/test/command/sub-file-chapter-1.tex000066400000000000000000000002061363630463000215400ustar00rootroot00000000000000\documentclass[main.tex]{subfiles} \begin{document} \section{Chapter 1} This is Chapter 1, provided in a sub file. \end{document} pandoc-2.9.2.1/test/command/sub-file-chapter-2.tex000066400000000000000000000002151363630463000215410ustar00rootroot00000000000000\documentclass[main.tex]{subfiles} \begin{document} \section{Chapter 2} This is Chapter 2, provided in a second sub file. \end{document} pandoc-2.9.2.1/test/command/svg.md000066400000000000000000000125241363630463000166550ustar00rootroot00000000000000``` % pandoc -f latex -t icml \includegraphics{command/corrupt.svg} ^D [WARNING] Could not determine image size for 'command/corrupt.svg': could not determine image type $ID/Embedded ``` ``` % pandoc -f latex -t icml \includegraphics{command/SVG_logo.svg} ^D [WARNING] Could not determine image size for 'command/SVG_logo.svg': could not determine SVG size $ID/Embedded ``` ``` % pandoc -f latex -t icml \includegraphics{command/SVG_logo-without-xml-declaration.svg} ^D [WARNING] Could not determine image size for 'command/SVG_logo-without-xml-declaration.svg': could not determine SVG size $ID/Embedded ``` ``` % pandoc -f latex -t icml \includegraphics{command/inkscape-cube.svg} ^D $ID/Embedded ``` pandoc-2.9.2.1/test/command/tabularx.md000066400000000000000000000054121363630463000176760ustar00rootroot00000000000000``` % pandoc -f latex -t native --quiet \begin{tabularx}{\linewidth}{|c|c|c|} \hline Column Heading 1 & Column Heading 2 & Column Heading 3 \\ \hline Cell 1.1 & Cell 1.2 & Cell 1.3 \\ \hline Cell 2.1 & Cell 2.2 & Cell 2.3 \\ \hline Cell 3.1 & Cell 3.2 & Cell 3.3 \\ \hline \end{tabularx} ^D [Table [] [AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0] [[Plain [Str "Column",Space,Str "Heading",Space,Str "1"]] ,[Plain [Str "Column",Space,Str "Heading",Space,Str "2"]] ,[Plain [Str "Column",Space,Str "Heading",Space,Str "3"]]] [[[Plain [Str "Cell",Space,Str "1.1"]] ,[Plain [Str "Cell",Space,Str "1.2"]] ,[Plain [Str "Cell",Space,Str "1.3"]]] ,[[Plain [Str "Cell",Space,Str "2.1"]] ,[Plain [Str "Cell",Space,Str "2.2"]] ,[Plain [Str "Cell",Space,Str "2.3"]]] ,[[Plain [Str "Cell",Space,Str "3.1"]] ,[Plain [Str "Cell",Space,Str "3.2"]] ,[Plain [Str "Cell",Space,Str "3.3"]]]]] ``` ``` % pandoc -f latex -t native --quiet \begin{tabularx}{\linewidth}{|X|c|p{0.25\linewidth}|} \hline Column Heading 1 & Column Heading 2 & Column Heading 3 \\ \hline Cell 1.1 & Cell 1.2 & Cell 1.3 \\ \hline Cell 2.1 & Cell 2.2 & Cell 2.3 \\ \hline Cell 3.1 & Cell 3.2 & Cell 3.3 \\ \hline \end{tabularx} ^D [Table [] [AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.25] [[Plain [Str "Column",Space,Str "Heading",Space,Str "1"]] ,[Plain [Str "Column",Space,Str "Heading",Space,Str "2"]] ,[Plain [Str "Column",Space,Str "Heading",Space,Str "3"]]] [[[Plain [Str "Cell",Space,Str "1.1"]] ,[Plain [Str "Cell",Space,Str "1.2"]] ,[Plain [Str "Cell",Space,Str "1.3"]]] ,[[Plain [Str "Cell",Space,Str "2.1"]] ,[Plain [Str "Cell",Space,Str "2.2"]] ,[Plain [Str "Cell",Space,Str "2.3"]]] ,[[Plain [Str "Cell",Space,Str "3.1"]] ,[Plain [Str "Cell",Space,Str "3.2"]] ,[Plain [Str "Cell",Space,Str "3.3"]]]]] ``` ``` % pandoc -f latex -t native --quiet \begin{tabularx}{\linewidth}{|b{0.25\linewidth}|c|m{0.25\linewidth}|} \hline Column Heading 1 & Column Heading 2 & Column Heading 3 \\ \hline Cell 1.1 & Cell 1.2 & Cell 1.3 \\ \hline Cell 2.1 & Cell 2.2 & Cell 2.3 \\ \hline Cell 3.1 & Cell 3.2 & Cell 3.3 \\ \hline \end{tabularx} ^D [Table [] [AlignLeft,AlignCenter,AlignLeft] [0.25,0.0,0.25] [[Plain [Str "Column",Space,Str "Heading",Space,Str "1"]] ,[Plain [Str "Column",Space,Str "Heading",Space,Str "2"]] ,[Plain [Str "Column",Space,Str "Heading",Space,Str "3"]]] [[[Plain [Str "Cell",Space,Str "1.1"]] ,[Plain [Str "Cell",Space,Str "1.2"]] ,[Plain [Str "Cell",Space,Str "1.3"]]] ,[[Plain [Str "Cell",Space,Str "2.1"]] ,[Plain [Str "Cell",Space,Str "2.2"]] ,[Plain [Str "Cell",Space,Str "2.3"]]] ,[[Plain [Str "Cell",Space,Str "3.1"]] ,[Plain [Str "Cell",Space,Str "3.2"]] ,[Plain [Str "Cell",Space,Str "3.3"]]]]] ``` pandoc-2.9.2.1/test/command/tasklist.md000066400000000000000000000032401363630463000177070ustar00rootroot00000000000000tests adapted from ``` % pandoc - [ ] foo - [x] bar ^D
    • foo
    • bar
    ``` ``` % pandoc - [x] foo - [ ] bar - [x] baz - [ ] bim ^D
    • foo
      • bar
      • baz
    • bim
    ``` custom html task list test: ``` % pandoc - [ ] unchecked - plain item - [x] checked paragraph 1. [ ] ordered unchecked 2. [] plain item 3. [x] ordered checked paragraph - [ ] list item with a second paragraph - [x] checked ^D
    • unchecked
    • plain item
    • checked

    paragraph

    1. ordered unchecked
    2. [] plain item
    3. ordered checked

    paragraph

    • list item with a

      second paragraph

    • checked

    ``` latex task list test: ``` % pandoc -t latex - [ ] foo bar baz - [x] ok ^D \begin{itemize} \item[$\square$] foo bar baz \item[$\boxtimes$] ok \end{itemize} ``` round trip: ``` % pandoc -f markdown -t markdown - [ ] foo - [x] bar ^D - [ ] foo - [x] bar ``` pandoc-2.9.2.1/test/command/tex-group.md000066400000000000000000000002021363630463000177760ustar00rootroot00000000000000``` % pandoc -f latex -t html \newenvironment{foo}% {\emph\bgroup}% {\egroup} \begin{foo} hi \end{foo} ^D

    hi

    ``` pandoc-2.9.2.1/test/command/toc.md000066400000000000000000000004371363630463000166430ustar00rootroot00000000000000``` % pandoc -s --toc -t markdown # A ## b # B ## b ::: interior # C ## cc # D ::: ::: blue # E ## e ::: ^D - [A](#a) - [b](#b) - [B](#b-1) - [b](#b-2) - [E](#e) - [e](#e-1) A = b - B = b - ::: {.interior} C = cc -- D = ::: ::: {.blue} E = e - ::: ``` pandoc-2.9.2.1/test/command/translations.md000066400000000000000000000006701363630463000205760ustar00rootroot00000000000000``` % pandoc -f latex -t native -M lang=en \figurename\ 2 ^D [Para [Str "Figure\160\&2"]] ``` ``` % pandoc -f latex -t native -M lang=de-DE \figurename\ 2 ^D [Para [Str "Abbildung\160\&2"]] ``` ``` % pandoc -f latex -t native -M lang=en \setmainlanguage{german} \figurename 2 ^D [Para [Str "Abbildung2"]] ``` ``` % pandoc -f latex -t native -M lang=sr \figurename~2 \figurename. ^D [Para [Str "Slika\160\&2",SoftBreak,Str "Slika."]] ``` pandoc-2.9.2.1/test/command/vars-and-metadata.md000066400000000000000000000002331363630463000213410ustar00rootroot00000000000000Variables should not leak into metadata in the Markdown writer: ``` % pandoc -t markdown -Vfoo=1 -Vbar=2 -s --- foo: x ... zib ^D --- foo: x --- zib ``` pandoc-2.9.2.1/test/command/video-audio.md000066400000000000000000000010431363630463000202550ustar00rootroot00000000000000``` % pandoc -f markdown-implicit_figures -t html ![](./test.mp4) ![Your browser does not support video.](foo/test.webm){width=300} ![](test.mp3) ![](./test.pdf) ![](./test.jpg) ^D

    ``` pandoc-2.9.2.1/test/command/write18.md000066400000000000000000000004121363630463000173520ustar00rootroot00000000000000Handle \write18{..} as raw tex: ``` % pandoc -t native \write18{git --version} ^D [RawBlock (Format "tex") "\\write18{git --version}"] ``` ``` % pandoc -f latex+raw_tex -t native \write18{git --version} ^D [RawBlock (Format "latex") "\\write18{git --version}"] ``` pandoc-2.9.2.1/test/command/yaml-metadata-blocks.md000066400000000000000000000033271363630463000220520ustar00rootroot00000000000000``` % pandoc -s -t native --- foobar_: this should be ignored foo: bar_: as should this --- ^D Pandoc (Meta {unMeta = fromList [("foo",MetaMap (fromList []))]}) [] ``` ``` % pandoc -s -t native --- # For precedence, see multiple-metadata-blocks.md and vars-and-metadata.md # For Bools, see also 4819.md # For Multiline strings, see yaml-with-chomp.md int: 7 float: 1.5 scientific: 3.7e-5 bool: true more: False nothing: null emtpy: [] nested: int: 8 float: 2.5 bool: true more: False nothing: null emtpy: [] scientific: 3.7e-5 --- ^D Pandoc (Meta {unMeta = fromList [("bool",MetaBool True),("emtpy",MetaList []),("float",MetaInlines [Str "1.5"]),("int",MetaInlines [Str "7"]),("more",MetaBool False),("nested",MetaMap (fromList [("bool",MetaBool True),("emtpy",MetaList []),("float",MetaInlines [Str "2.5"]),("int",MetaInlines [Str "8"]),("more",MetaBool False),("nothing",MetaInlines [Str "null"]),("scientific",MetaInlines [Str "3.7e-5"])])),("nothing",MetaInlines [Str "null"]),("scientific",MetaInlines [Str "3.7e-5"])]}) [] ``` ``` % pandoc -s -t native --- array: - foo: bar - bool: True --- ^D Pandoc (Meta {unMeta = fromList [("array",MetaList [MetaMap (fromList [("foo",MetaInlines [Str "bar"])]),MetaMap (fromList [("bool",MetaBool True)])])]}) [] ``` ``` % pandoc -s -t native --metadata-file command/yaml-metadata.yaml --- title: document --- ^D Pandoc (Meta {unMeta = fromList [("other",MetaInlines [Emph [Str "markdown"],Space,Str "value"]),("title",MetaInlines [Str "document"])]}) [] ``` ``` % pandoc -s -t native --metadata-file command/yaml-metadata.yaml -M title=cmdline ^D Pandoc (Meta {unMeta = fromList [("other",MetaInlines [Emph [Str "markdown"],Space,Str "value"]),("title",MetaString "cmdline")]}) [] ``` pandoc-2.9.2.1/test/command/yaml-metadata.yaml000066400000000000000000000000541363630463000211330ustar00rootroot00000000000000--- title: file other: _markdown_ value --- pandoc-2.9.2.1/test/command/yaml-with-chomp.md000066400000000000000000000002451363630463000210720ustar00rootroot00000000000000``` % pandoc -s -t native --- ml: |- TEST BLOCK ... ^D Pandoc (Meta {unMeta = fromList [("ml",MetaBlocks [Para [Str "TEST"],Plain [Str "BLOCK"]])]}) [] ``` pandoc-2.9.2.1/test/creole-reader.native000066400000000000000000000224371363630463000200430ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("",[],[]) [Str "Top-level heading (1)"] ,Header 2 ("",[],[]) [Str "This a test for creole 0.1 (2)"] ,Header 3 ("",[],[]) [Str "This is a Subheading (3)"] ,Header 4 ("",[],[]) [Str "Subsub (4)"] ,Header 5 ("",[],[]) [Str "Subsubsub (5)"] ,Para [Str "The",Space,Str "ending",Space,Str "equal",Space,Str "signs",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "displayed:"] ,Header 1 ("",[],[]) [Str "Top-level heading (1)"] ,Header 2 ("",[],[]) [Str "This a test for creole 0.1 (2)"] ,Header 3 ("",[],[]) [Str "This is a Subheading (3)"] ,Header 4 ("",[],[]) [Str "Subsub (4)"] ,Header 5 ("",[],[]) [Str "Subsubsub (5)"] ,Para [Str "You",Space,Str "can",Space,Str "make",Space,Str "things",Space,Strong [Str "bold"],Space,Str "or",Space,Emph [Str "italic"],Space,Str "or",Space,Strong [Emph [Str "both"]],Space,Str "or",Space,Emph [Strong [Str "both"]],Str "."] ,Para [Str "Character",Space,Str "formatting",Space,Str "extends",Space,Str "across",Space,Str "line",Space,Str "breaks:",Space,Strong [Str "bold,",Space,Str "this",Space,Str "is",Space,Str "still",Space,Str "bold.",Space,Str "This",Space,Str "line",Space,Str "deliberately",Space,Str "does",Space,Str "not",Space,Str "end",Space,Str "in",Space,Str "star-star."]] ,Para [Str "Not",Space,Str "bold.",Space,Str "Character",Space,Str "formatting",Space,Str "does",Space,Str "not",Space,Str "cross",Space,Str "paragraph",Space,Str "boundaries."] ,Para [Str "You",Space,Str "can",Space,Str "use",Space,Link ("",[],[]) [Str "internal links"] ("internal links",""),Space,Str "or",Space,Link ("",[],[]) [Str "external links"] ("http://www.wikicreole.org",""),Str ",",Space,Str "give",Space,Str "the",Space,Str "link",Space,Str "a",Space,Link ("",[],[]) [Str "different"] ("internal links",""),Space,Str "name."] ,Para [Str "Here's",Space,Str "another",Space,Str "sentence:",Space,Str "This",Space,Str "wisdom",Space,Str "is",Space,Str "taken",Space,Str "from",Space,Link ("",[],[]) [Str "Ward Cunningham's"] ("Ward Cunningham's",""),Space,Link ("",[],[]) [Str "Presentation at the Wikisym 06"] ("http://www.c2.com/doc/wikisym/WikiSym2006.pdf",""),Str "."] ,Para [Str "Here's",Space,Str "a",Space,Str "external",Space,Str "link",Space,Str "without",Space,Str "a",Space,Str "description:",Space,Link ("",[],[]) [Str "http://www.wikicreole.org"] ("http://www.wikicreole.org","")] ,Para [Str "Be",Space,Str "careful",Space,Str "that",Space,Str "italic",Space,Str "links",Space,Str "are",Space,Str "rendered",Space,Str "properly:",Space,Emph [Link ("",[],[]) [Str "My Book Title"] ("http://my.book.example/","")]] ,Para [Str "Free",Space,Str "links",Space,Str "without",Space,Str "braces",Space,Str "should",Space,Str "be",Space,Str "rendered",Space,Str "as",Space,Str "well,",Space,Str "like",Space,Link ("",[],[]) [Str "http://www.wikicreole.org/"] ("http://www.wikicreole.org/",""),Space,Str "and",Space,Link ("",[],[]) [Str "http://www.wikicreole.org/users/~example"] ("http://www.wikicreole.org/users/~example",""),Str "."] ,Para [Str "Creole1.0",Space,Str "specifies",Space,Str "that",Space,Link ("",[],[]) [Str "http://bar"] ("http://bar",""),Space,Str "and",Space,Link ("",[],[]) [Str "ftp://bar"] ("ftp://bar",""),Space,Str "should",Space,Str "not",Space,Str "render",Space,Str "italic,",Space,Str "something",Space,Str "like",Space,Str "foo:",Emph [Str "bar",Space,Str "should",Space,Str "render",Space,Str "as",Space,Str "italic."]] ,Para [Str "You",Space,Str "can",Space,Str "use",Space,Str "this",Space,Str "to",Space,Str "draw",Space,Str "a",Space,Str "line",Space,Str "to",Space,Str "separate",Space,Str "the",Space,Str "page:"] ,HorizontalRule ,Para [Str "You",Space,Str "can",Space,Str "use",Space,Str "lists,",Space,Str "start",Space,Str "it",Space,Str "at",Space,Str "the",Space,Str "first",Space,Str "column",Space,Str "for",Space,Str "now,",Space,Str "please..."] ,Para [Str "unnumbered",Space,Str "lists",Space,Str "are",Space,Str "like"] ,BulletList [[Plain [Str "item",Space,Str "a"]] ,[Plain [Str "item",Space,Str "b"]] ,[Plain [Strong [Str "bold",Space,Str "item",Space,Str "c"]]]] ,Para [Str "blank",Space,Str "space",Space,Str "is",Space,Str "also",Space,Str "permitted",Space,Str "before",Space,Str "lists",Space,Str "like:"] ,BulletList [[Plain [Str "item",Space,Str "a"]] ,[Plain [Str "item",Space,Str "b"]] ,[Plain [Str "item",Space,Str "c"] ,BulletList [[Plain [Str "item",Space,Str "c.a"]]]]] ,Para [Str "or",Space,Str "you",Space,Str "can",Space,Str "number",Space,Str "them"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Link ("",[],[]) [Str "item 1"] ("item 1","")]] ,[Plain [Str "item",Space,Str "2"]] ,[Plain [Emph [Space,Str "italic",Space,Str "item",Space,Str "3",Space]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "item",Space,Str "3.1"]] ,[Plain [Str "item",Space,Str "3.2"]]]]] ,Para [Str "up",Space,Str "to",Space,Str "five",Space,Str "levels"] ,BulletList [[Plain [Str "1"] ,BulletList [[Plain [Str "2"] ,BulletList [[Plain [Str "3"] ,BulletList [[Plain [Str "4"] ,BulletList [[Plain [Str "5"]]]]]]]]]]] ,BulletList [[Plain [Str "You",Space,Str "can",Space,Str "have",Space,Str "multiline",Space,Str "list",Space,Str "items"]] ,[Plain [Str "this",Space,Str "is",Space,Str "a",Space,Str "second",Space,Str "multiline",Space,Str "list",Space,Str "item"]]] ,Para [Str "You",Space,Str "can",Space,Str "use",Space,Str "nowiki",Space,Str "syntax",Space,Str "if",Space,Str "you",Space,Str "would",Space,Str "like",Space,Str "do",Space,Str "stuff",Space,Str "like",Space,Str "this:"] ,CodeBlock ("",[],[]) "Guitar Chord C:\n\n||---|---|---|\n||-0-|---|---|\n||---|---|---|\n||---|-0-|---|\n||---|---|-0-|\n||---|---|---|" ,Para [Str "You",Space,Str "can",Space,Str "also",Space,Str "use",Space,Str "it",Space,Str "inline",Space,Str "nowiki",Space,Code ("",[],[]) " in a sentence ",Space,Str "like",Space,Str "this."] ,Header 1 ("",[],[]) [Str "Escapes"] ,Para [Str "Normal",Space,Str "Link:",Space,Link ("",[],[]) [Str "http://wikicreole.org/"] ("http://wikicreole.org/",""),Space,Str "-",Space,Str "now",Space,Str "same",Space,Str "link,",Space,Str "but",Space,Str "escaped:",Space,Str "http://wikicreole.org/"] ,Para [Str "Normal",Space,Str "asterisks:",Space,Str "**not",Space,Str "bold**"] ,Para [Str "a",Space,Str "tilde",Space,Str "alone:",Space,Str "~"] ,Para [Str "a",Space,Str "tilde",Space,Str "escapes",Space,Str "itself:",Space,Str "~xxx"] ,Header 3 ("",[],[]) [Str "Creole 0.2"] ,Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "flower",Space,Str "with",Space,Str "the",Space,Str "ALT",Space,Str "text",Space,Str "\"this",Space,Str "is",Space,Str "a",Space,Str "flower\"",Space,Str "if",Space,Str "your",Space,Str "wiki",Space,Str "supports",Space,Str "ALT",Space,Str "text",Space,Str "on",Space,Str "images:"] ,Para [Image ("",[],[]) [Str "here is a red flower"] ("Red-Flower.jpg","")] ,Header 3 ("",[],[]) [Str "Creole 0.4"] ,Para [Str "Tables",Space,Str "are",Space,Str "done",Space,Str "like",Space,Str "this:"] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str "header",Space,Str "col1"]] ,[Plain [Str "header",Space,Str "col2"]]] [[[Plain [Str "col1"]] ,[Plain [Str "col2"]]] ,[[Plain [Str "you"]] ,[Plain [Str "can"]]] ,[[Plain [Str "also"]] ,[Plain [Str "align",LineBreak,Str "it."]]]] ,Para [Str "You",Space,Str "can",Space,Str "format",Space,Str "an",Space,Str "address",Space,Str "by",Space,Str "simply",Space,Str "forcing",Space,Str "linebreaks:"] ,Para [Str "My",Space,Str "contact",Space,Str "dates:",LineBreak,Str "Pone:",Space,Str "xyz",LineBreak,Str "Fax:",Space,Str "+45",LineBreak,Str "Mobile:",Space,Str "abc"] ,Header 3 ("",[],[]) [Str "Creole 0.5"] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str "Header",Space,Str "title"]] ,[Plain [Str "Another",Space,Str "header",Space,Str "title"]]] [[[Plain [Code ("",[],[]) " //not italic text// "]] ,[Plain [Code ("",[],[]) " **not bold text** "]]] ,[[Plain [Emph [Str "italic",Space,Str "text"]]] ,[Plain [Strong [Space,Str "bold",Space,Str "text",Space]]]]] ,Header 3 ("",[],[]) [Str "Creole 1.0"] ,Para [Str "If",Space,Str "interwiki",Space,Str "links",Space,Str "are",Space,Str "setup",Space,Str "in",Space,Str "your",Space,Str "wiki,",Space,Str "this",Space,Str "links",Space,Str "to",Space,Str "the",Space,Str "WikiCreole",Space,Str "page",Space,Str "about",Space,Str "Creole",Space,Str "1.0",Space,Str "test",Space,Str "cases:",Space,Link ("",[],[]) [Str "WikiCreole:Creole1.0TestCases"] ("WikiCreole:Creole1.0TestCases",""),Str "."] ,HorizontalRule ,Para [Str "The",Space,Str "above",Space,Str "test",Space,Str "document",Space,Str "was",Space,Str "found",Space,Str "on",Space,Link ("",[],[]) [Str "http://www.wikicreole.org/wiki/Creole1.0TestCases"] ("http://www.wikicreole.org/wiki/Creole1.0TestCases",""),Space,Str "and",Space,Str "downloaded",Space,Str "from",Space,Link ("",[],[]) [Str "http://www.wikicreole.org/attach/Creole1.0TestCases/creole1.0test.txt"] ("http://www.wikicreole.org/attach/Creole1.0TestCases/creole1.0test.txt",""),Str "."] ,Para [Str "The",Space,Str "Creole",Space,Str "Wiki",Space,Str "is",Space,Str "licensed:",Space,Str "Copyright",Space,Str "(C)",Space,Str "by",Space,Str "the",Space,Str "contributors.",Space,Str "Some",Space,Str "rights",Space,Str "reserved,",Space,Str "license",Space,Link ("",[],[]) [Str "https://creativecommons.org/licenses/by-sa/1.0/"] ("BY-SA",""),Str "."]] pandoc-2.9.2.1/test/creole-reader.txt000066400000000000000000000065021363630463000173670ustar00rootroot00000000000000= Top-level heading (1) == This a test for creole 0.1 (2) === This is a Subheading (3) ==== Subsub (4) ===== Subsubsub (5) The ending equal signs should not be displayed: = Top-level heading (1) = == This a test for creole 0.1 (2) == === This is a Subheading (3) === ==== Subsub (4) ==== ===== Subsubsub (5) ===== You can make things **bold** or //italic// or **//both//** or //**both**//. Character formatting extends across line breaks: **bold, this is still bold. This line deliberately does not end in star-star. Not bold. Character formatting does not cross paragraph boundaries. You can use [[internal links]] or [[http://www.wikicreole.org|external links]], give the link a [[internal links|different]] name. Here's another sentence: This wisdom is taken from [[Ward Cunningham's]] [[http://www.c2.com/doc/wikisym/WikiSym2006.pdf|Presentation at the Wikisym 06]]. Here's a external link without a description: [[http://www.wikicreole.org]] Be careful that italic links are rendered properly: //[[http://my.book.example/|My Book Title]]// Free links without braces should be rendered as well, like http://www.wikicreole.org/ and http://www.wikicreole.org/users/~example. Creole1.0 specifies that http://bar and ftp://bar should not render italic, something like foo://bar should render as italic. You can use this to draw a line to separate the page: ---- You can use lists, start it at the first column for now, please... unnumbered lists are like * item a * item b * **bold item c** blank space is also permitted before lists like: * item a * item b * item c ** item c.a or you can number them # [[item 1]] # item 2 # // italic item 3 // ## item 3.1 ## item 3.2 up to five levels * 1 ** 2 *** 3 **** 4 ***** 5 * You can have multiline list items * this is a second multiline list item You can use nowiki syntax if you would like do stuff like this: {{{ Guitar Chord C: ||---|---|---| ||-0-|---|---| ||---|---|---| ||---|-0-|---| ||---|---|-0-| ||---|---|---| }}} You can also use it inline nowiki {{{ in a sentence }}} like this. = Escapes = Normal Link: http://wikicreole.org/ - now same link, but escaped: ~http://wikicreole.org/ Normal asterisks: ~**not bold~** a tilde alone: ~ a tilde escapes itself: ~~xxx === Creole 0.2 === This should be a flower with the ALT text "this is a flower" if your wiki supports ALT text on images: {{Red-Flower.jpg|here is a red flower}} === Creole 0.4 === Tables are done like this: |=header col1|=header col2| |col1|col2| |you |can | |also |align\\ it. | You can format an address by simply forcing linebreaks: My contact dates:\\ Pone: xyz\\ Fax: +45\\ Mobile: abc === Creole 0.5 === |= Header title |= Another header title | | {{{ //not italic text// }}} | {{{ **not bold text** }}} | | //italic text// | ** bold text ** | === Creole 1.0 === If interwiki links are setup in your wiki, this links to the WikiCreole page about Creole 1.0 test cases: [[WikiCreole:Creole1.0TestCases]]. ---- The above test document was found on http://www.wikicreole.org/wiki/Creole1.0TestCases and downloaded from http://www.wikicreole.org/attach/Creole1.0TestCases/creole1.0test.txt. The Creole Wiki is licensed: Copyright (C) by the contributors. Some rights reserved, license [[BY-SA|https://creativecommons.org/licenses/by-sa/1.0/]]. pandoc-2.9.2.1/test/docbook-chapter.docbook000066400000000000000000000021001363630463000205110ustar00rootroot00000000000000 Test Chapter This chapter uses recursive sections.
    Like a Sect1 This section is like a Sect1.
    Like a Sect2 This section is like a Sect2.
    Like a Sect3 This section is like a Sect3.
    Like a Sect4 This section is like a Sect4.
    Like a Sect5 This section is like a Sect5.
    Would be like a Sect6 This section would be like a Sect6, if there was one.
    Would be like a Sect7 This section would be like a Sect7, if there was one.
    pandoc-2.9.2.1/test/docbook-chapter.native000066400000000000000000000031201363630463000203620ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("",[],[]) [Str "Test",Space,Str "Chapter"] ,Para [Str "This",Space,Str "chapter",Space,Str "uses",Space,Str "recursive",Space,Str "sections."] ,Header 2 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect1"] ,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect1."] ,Header 3 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect2"] ,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect2."] ,Header 4 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect3"] ,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect3."] ,Header 5 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect4"] ,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect4."] ,Header 6 ("",[],[]) [Str "Like",Space,Str "a",Space,Str "Sect5"] ,Para [Str "This",Space,Str "section",Space,Str "is",Space,Str "like",Space,Str "a",Space,Str "Sect5."] ,Header 7 ("",[],[]) [Str "Would",Space,Str "be",Space,Str "like",Space,Str "a",Space,Str "Sect6"] ,Para [Str "This",Space,Str "section",Space,Str "would",Space,Str "be",Space,Str "like",Space,Str "a",Space,Str "Sect6,",Space,Str "if",Space,Str "there",Space,Str "was",Space,Str "one."] ,Header 8 ("",[],[]) [Str "Would",Space,Str "be",Space,Str "like",Space,Str "a",Space,Str "Sect7"] ,Para [Str "This",Space,Str "section",Space,Str "would",Space,Str "be",Space,Str "like",Space,Str "a",Space,Str "Sect7,",Space,Str "if",Space,Str "there",Space,Str "was",Space,Str "one."]] pandoc-2.9.2.1/test/docbook-reader.docbook000066400000000000000000001006701363630463000203400ustar00rootroot00000000000000
    Pandoc Test Suite John MacFarlane Anonymous July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. Headers Level 2 with an <ulink url="/url">embedded link</ulink> Level 3 with <emphasis>emphasis</emphasis> Level 4 Level 5 Hi. Level 1 Level 2 with <emphasis>emphasis</emphasis> Level 3 with no blank line Level 2 with no blank line Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. Block Quotes E-mail style:
    This is a block quote. It is pretty short.
    Code in a block quote: sub status { print "working"; } % ls A list: item one item two Nested block quotes:
    nested
    nested
    This should not be a block quote: 2 > 1. And a following paragraph.
    Code Blocks Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ Lists Unordered Asterisks loose: asterisk 1 asterisk 2 asterisk 3 Pluses loose: Plus 1 Plus 2 Plus 3 Minuses loose: Minus 1 Minus 2 Minus 3 Ordered First Second Third and using spaces: One Two Three Multiple paragraphs: Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. Item 2. Item 3. Nested Tab Tab Tab Here’s another: First Second: Fee Fie Foe Third Same thing but with paragraphs: First Second: Fee Fie Foe Third Tabs and spaces this is a list item indented with tabs this is a list item indented with spaces this is an example list item indented with tabs this is an example list item indented with spaces Fancy list markers begins with 2 and now 3 with a continuation sublist with roman numerals, starting with 4 more items a subsublist a subsublist Nesting: Upper Alpha Upper Roman. Decimal start with 6 Lower alpha with paren Autonumbering: Autonumber. More. Nested. Should not be a list item: M.A. 2007 B. Williams Callout Simple. A __letrec is equivalent to a normal Haskell &let;. &GHC; compiled the body of our list comprehension into a loop named go_s1YC. If our &case; expression matches the empty list, we return the empty list. This is reassuringly familiar. Definition Lists apple red fruit orange orange fruit banana yellow fruit Multiple blocks with italics: apple red fruit contains seeds, crisp, pleasant to taste orange orange fruit { orange code block }
    orange block quote
    Multiple definitions, loose: apple red fruit computer orange orange fruit bank Blank line after term, indented marker, alternate markers: apple red fruit computer orange orange fruit sublist sublist
    Inline Markup This is emphasized, and so is this. This is strong, and so is this. An emphasized link. This is strong and em. So is this word. This is strong and em. So is this word. This is code: >, $, \, \$, <html>. More code: Class and Type This is strikeout. Superscripts: abcd ahello ahello there. Subscripts: H2O, H23O, Hmany of themO. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. Smart quotes, ellipses, dashes Hello, said the spider. Shelob is my name. A, B, and C are letters. He said, I want to go. Were you alive in the 70’s? Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. e = m c 2 1 e = m c 2 e = m c 2 Special Characters Here is some unicode: I hat: Î o umlaut: ö section: § set membership: ∈ copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - Links Explicit Just a URL. URL and title. URL and title. URL and title. URL and title URL and title with_underscore nobody@nowhere.net Empty. Reference Foo bar. Foo bar. Foo bar. With embedded [brackets]. b by itself should be a link. Indented once. Indented twice. Indented thrice. This should [not][] be a link. [not]: /url Foo bar. Foo biz. With ampersands Here’s a link with an ampersand in the URL. Here’s a link with an amersand in the link text: AT&T. Here’s an inline link. Here’s an inline link in pointy braces. Autolinks With an ampersand: http://example.com/?foo=1&bar=2 In a list? http://example.com/ It should. An e-mail address: nobody@nowhere.net
    Blockquoted: http://example.com/
    Auto-links should not occur here: <http://example.com/> or here: <http://example.com/>
    Images From Voyage dans la Lune by Georges Melies (1902):
    lalune fig caption lalune alt text shadowed by fig caption
    Here is a movie icon. And here a second movie alt text icon. And here a third movie alt text icon. lalune no figure alt text
    Footnotes Here is a footnote reference, Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. and another. Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). { <code> } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note. This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].
    Notes can go in quotes. In quote.
    And in list items. In list. This paragraph should not be part of the note, as it is not indented.
    Tables Simple table with caption: Demonstration of simple table syntax. Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1
    Simple table without caption: Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1 Simple table indented two spaces: Demonstration of simple table syntax. Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1
    Multiline table with caption: Here's the caption. It may span multiple lines. Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows.
    Multiline table without caption: Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. Table without column headers: 12 12 12 12 123 123 123 123 1 1 1 1 Multiline table without column headers: First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows.
    pandoc-2.9.2.1/test/docbook-reader.native000066400000000000000000000642411363630463000202110ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "John",SoftBreak,Str "MacFarlane"],MetaInlines [Str "Anonymous"]]),("date",MetaInlines [Str "July",Space,Str "17,",Space,Str "2006"]),("title",MetaInlines [Str "Pandoc",Space,Str "Test",Space,Str "Suite"])]}) [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",SoftBreak,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."] ,Header 1 ("headers",[],[]) [Str "Headers"] ,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link ("",[],[]) [Str "embedded",Space,Str "link"] ("/url","")] ,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 4 ("level-4",[],[]) [Str "Level",Space,Str "4"] ,Header 5 ("level-5",[],[]) [Str "Level",Space,Str "5"] ,Para [Str "Hi."] ,Header 1 ("level-1",[],[]) [Str "Level",Space,Str "1"] ,Header 2 ("level-2-with-emphasis",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 3 ("level-3",[],[]) [Str "Level",Space,Str "3"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,Header 2 ("level-2",[],[]) [Str "Level",Space,Str "2"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",SoftBreak,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",SoftBreak,Str "a",Space,Str "list",Space,Str "item."] ,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."] ,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "E-mail",Space,Str "style:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]] ,BlockQuote [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ,CodeBlock ("",[],[]) "% ls" ,Para [Str "A",Space,Str "list:"] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "item",Space,Str "one"]] ,[Para [Str "item",Space,Str "two"]]] ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"] ,BlockQuote [Para [Str "nested"]] ,BlockQuote [Para [Str "nested"]]] ,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."] ,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."] ,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab" ,Para [Str "And:"] ,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{" ,Header 1 ("lists",[],[]) [Str "Lists"] ,Header 2 ("unordered",[],[]) [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "loose:"] ,BulletList [[Para [Str "asterisk",Space,Str "1"]] ,[Para [Str "asterisk",Space,Str "2"]] ,[Para [Str "asterisk",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "loose:"] ,BulletList [[Para [Str "Plus",Space,Str "1"]] ,[Para [Str "Plus",Space,Str "2"]] ,[Para [Str "Plus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "loose:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Header 2 ("ordered",[],[]) [Str "Ordered"] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "and",Space,Str "using",Space,Str "spaces:"] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "One"]] ,[Para [Str "Two"]] ,[Para [Str "Three"]]] ,Para [Str "Multiple",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."] ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog\8217s",SoftBreak,Str "back."]] ,[Para [Str "Item",Space,Str "2."]] ,[Para [Str "Item",Space,Str "3."]]] ,Header 2 ("nested",[],[]) [Str "Nested"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"]]]]]]] ,Para [Str "Here\8217s",Space,Str "another:"] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Header 2 ("tabs-and-spaces",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]] ,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"] ,OrderedList (2,Decimal,DefaultDelim) [[Para [Str "begins",Space,Str "with",Space,Str "2"]] ,[Para [Str "and",Space,Str "now",Space,Str "3"] ,Para [Str "with",Space,Str "a",Space,Str "continuation"] ,OrderedList (4,LowerRoman,DefaultDelim) [[Para [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"]] ,[Para [Str "more",Space,Str "items"] ,OrderedList (1,UpperAlpha,DefaultDelim) [[Para [Str "a",Space,Str "subsublist"]] ,[Para [Str "a",Space,Str "subsublist"]]]]]]] ,Para [Str "Nesting:"] ,OrderedList (1,UpperAlpha,DefaultDelim) [[Para [Str "Upper",Space,Str "Alpha"] ,OrderedList (1,UpperRoman,DefaultDelim) [[Para [Str "Upper",Space,Str "Roman."] ,OrderedList (6,Decimal,DefaultDelim) [[Para [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"] ,OrderedList (3,LowerAlpha,DefaultDelim) [[Para [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]] ,Para [Str "Autonumbering:"] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "Autonumber."]] ,[Para [Str "More."] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "Nested."]]]]] ,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"] ,Para [Str "M.A.\160\&2007"] ,Para [Str "B.",Space,Str "Williams"] ,Header 2 ("callout",[],[]) [Str "Callout"] ,Para [Str "Simple."] ,BulletList [[Para [Str "A",Space,Code ("",[],[]) "__letrec",Space,Str "is",Space,Str "equivalent",Space,Str "to",Space,Str "a",Space,Str "normal",SoftBreak,Str "Haskell",Space,Str "LET."]] ,[Para [Str "GHC",Space,Str "compiled",Space,Str "the",Space,Str "body",Space,Str "of",Space,Str "our",Space,Str "list",Space,Str "comprehension",Space,Str "into",SoftBreak,Str "a",Space,Str "loop",Space,Str "named",Space,Code ("",[],[]) "go_s1YC",Str "."]] ,[Para [Str "If",Space,Str "our",Space,Str "CASE",Space,Str "expression",Space,Str "matches",Space,Str "the",Space,Str "empty",Space,Str "list,",Space,Str "we",SoftBreak,Str "return",Space,Str "the",Space,Str "empty",Space,Str "list.",Space,Str "This",Space,Str "is",Space,Str "reassuringly",SoftBreak,Str "familiar."]]] ,Header 1 ("definition-lists",[],[]) [Str "Definition",Space,Str "Lists"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Para [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"] ,DefinitionList [([Emph [Str "apple"]], [[Para [Str "red",Space,Str "fruit"] ,Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]]) ,([Emph [Str "orange"]], [[Para [Str "orange",Space,Str "fruit"] ,CodeBlock ("",[],[]) "{ orange code block }" ,BlockQuote [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])] ,Para [Str "Multiple",Space,Str "definitions,",Space,Str "loose:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]] ,[Para [Str "computer"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]] ,[Para [Str "bank"]]])] ,Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term,",Space,Str "indented",Space,Str "marker,",Space,Str "alternate",Space,Str "markers:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]] ,[Para [Str "computer"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "sublist"]] ,[Para [Str "sublist"]]]]])] ,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",SoftBreak,Str "this"],Str "."] ,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",SoftBreak,Strong [Str "is",Space,Str "this"],Str "."] ,Para [Str "An",Space,Emph [Link ("",[],[]) [Str "emphasized",Space,Str "link"] ("/url","")],Str "."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",SoftBreak,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",SoftBreak,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",SoftBreak,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",SoftBreak,Code ("",[],[]) "",Str "."] ,Para [Str "More",Space,Str "code:",Space,Code ("",[],[]) "Class",Space,Str "and",Space,Code ("",[],[]) "Type"] ,Para [Strikeout [Str "This",Space,Str "is",SoftBreak,Emph [Str "strikeout"],Str "."]] ,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",SoftBreak,Str "a",Superscript [Emph [Str "hello"]],SoftBreak,Str "a",Superscript [Str "hello\160there"],Str "."] ,Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",SoftBreak,Str "H",Subscript [Str "many\160of\160them"],Str "O."] ,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",SoftBreak,Str "spaces:",Space,Str "a^b",Space,Str "c^d,",Space,Str "a~b",Space,Str "c~d."] ,Header 1 ("smart-quotes-ellipses-dashes",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"] ,Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",SoftBreak,Str "name."]] ,Para [Quoted DoubleQuote [Str "A"],Str ",",Space,Quoted DoubleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted DoubleQuote [Str "C"],Space,Str "are",Space,Str "letters."] ,Para [Quoted DoubleQuote [Str "He",Space,Str "said,",Space,Quoted SingleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",SoftBreak,Str "70\8217s?"] ,Para [Str "Some",Space,Str "dashes:",Space,Str "one\8212two",Space,Str "\8212",Space,Str "three\8212four",Space,Str "\8212",Space,Str "five."] ,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."] ,Para [Str "Ellipses\8230and\8230and\8230."] ,Header 1 ("math",[],[]) [] ,Para [Math DisplayMath "e = mc^{2}",Math DisplayMath "1",SoftBreak,Math InlineMath "e = mc^{2}",SoftBreak,Math DisplayMath "e = mc^{2}"] ,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"] ,BulletList [[Para [Str "I",Space,Str "hat:",Space,Str "\206"]] ,[Para [Str "o",Space,Str "umlaut:",Space,Str "\246"]] ,[Para [Str "section:",Space,Str "\167"]] ,[Para [Str "set",Space,Str "membership:",Space,Str "\8712"]] ,[Para [Str "copyright:",Space,Str "\169"]]] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."] ,Para [Str "This",Space,Str "&",Space,Str "that."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "`"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,Header 1 ("links",[],[]) [Str "Links"] ,Header 2 ("explicit",[],[]) [Str "Explicit"] ,Para [Str "Just",Space,Str "a",Space,Link ("",[],[]) [Str "URL"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")] ,Para [Link ("",[],[]) [Str "with_underscore"] ("/url/with_underscore","")] ,Para [Link ("",[],[]) [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")] ,Para [Link ("",[],[]) [Str "Empty"] ("",""),Str "."] ,Header 2 ("reference",[],[]) [Str "Reference"] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "once"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "twice"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "thrice"] ("/url",""),Str "."] ,Para [Str "This",Space,Str "should",Space,Str "[not][]",Space,Str "be",Space,Str "a",Space,Str "link."] ,CodeBlock ("",[],[]) "[not]: /url" ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "biz"] ("/url/",""),Str "."] ,Header 2 ("with-ampersands",[],[]) [Str "With",Space,Str "ampersands"] ,Para [Str "Here\8217s",Space,Str "a",Space,Link ("",[],[]) [Str "link",Space,Str "with",Space,Str "an",SoftBreak,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",SoftBreak,Link ("",[],[]) [Str "AT&T"] ("http://att.com/",""),Str "."] ,Para [Str "Here\8217s",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",SoftBreak,Str "braces"] ("/script?foo=1&bar=2",""),Str "."] ,Header 2 ("autolinks",[],[]) [Str "Autolinks"] ,Para [Str "With",Space,Str "an",Space,Str "ampersand:",SoftBreak,Link ("",[],[]) [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")] ,BulletList [[Para [Str "In",Space,Str "a",Space,Str "list?"]] ,[Para [Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,[Para [Str "It",Space,Str "should."]]] ,Para [Str "An",Space,Str "e-mail",Space,Str "address:",Space,Link ("",[],[]) [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")] ,BlockQuote [Para [Str "Blockquoted:",SoftBreak,Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",SoftBreak,Code ("",[],[]) ""] ,CodeBlock ("",[],[]) "or here: " ,Header 1 ("images",[],[]) [Str "Images"] ,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"] ,Para [Image ("",[],[]) [Str "lalune",Space,Str "fig",Space,Str "caption"] ("lalune.jpg","fig:")] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image ("",[],[]) [] ("movie.jpg",""),Space,Str "icon.",SoftBreak,Str "And",Space,Str "here",Space,Str "a",Space,Str "second",Space,Str "movie",Space,Image ("",[],[]) [Str "alt",Space,Str "text"] ("movie.jpg",""),Space,Str "icon.",SoftBreak,Str "And",Space,Str "here",Space,Str "a",Space,Str "third",Space,Str "movie",Space,Image ("",[],[]) [Str "alt",Space,Str "text"] ("movie.jpg",""),Space,Str "icon."] ,Para [Image ("",[],[]) [Str "lalune",Space,Str "no",Space,Str "figure",Space,Str "alt",Space,Str "text"] ("lalune.jpg","")] ,Header 1 ("footnotes",[],[]) [Str "Footnotes"] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",Space,Str "reference.",SoftBreak,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here\8217s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",SoftBreak,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",Space,Str "and",SoftBreak,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",SoftBreak,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space.[^my",Space,Str "note]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",SoftBreak,Link ("",[],[]) [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",SoftBreak,Str "verbatim",Space,Str "characters,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "[bracketed",Space,Str "text]."]]] ,BlockQuote [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]] ,OrderedList (1,Decimal,DefaultDelim) [[Para [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]]]] ,Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented."] ,Header 1 ("tables",[],[]) [Str "Tables"] ,Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption:"] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignRight,AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Simple",Space,Str "table",Space,Str "indented",Space,Str "two",Space,Str "spaces:"] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption:"] ,Table [Str "Here's",Space,Str "the",Space,Str "caption.",Space,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines."] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.2,0.2,0.3,0.3] [[Plain [Str "Centered",Space,Str "Header"]] ,[Plain [Str "Left",Space,Str "Aligned"]] ,[Plain [Str "Right",Space,Str "Aligned"]] ,[Plain [Str "Default",Space,Str "aligned"]]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.1,0.2,0.3,0.4] [[Plain [Str "Centered",Space,Str "Header"]] ,[Plain [Str "Left",Space,Str "Aligned"]] ,[Plain [Str "Right",Space,Str "Aligned"]] ,[Plain [Str "Default",Space,Str "aligned"]]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]] ,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers:"] ,Table [] [AlignRight,AlignLeft,AlignCenter,AlignRight] [0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "column",Space,Str "headers:"] ,Table [] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.25,0.25,0.25,0.25] [[] ,[] ,[] ,[]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here's",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]] pandoc-2.9.2.1/test/docbook-xref.docbook000066400000000000000000000035661363630463000200500ustar00rootroot00000000000000 An Example Book XRef Samples This paragraph demonstrates several features of XRef. A straight link generates the cross-reference text: . A link to an element with an XRefLabel: . A link with an EndTerm: . A link to an cmdsynopsis element: . A link to an funcsynopsis element: . The Second Chapter Some content here The Third Chapter Some content here The Fourth Chapter Chapter 4 Some content here chgrp -R -H -L -P -f group file int max int int1 int int2 pandoc-2.9.2.1/test/docbook-xref.native000066400000000000000000000036761363630463000177200ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("title",MetaInlines [Str "An",Space,Str "Example",Space,Str "Book"])]}) [Header 1 ("ch01",[],[]) [Str "XRef",Space,Str "Samples"] ,Para [Str "This",Space,Str "paragraph",Space,Str "demonstrates",Space,Str "several",Space,Str "features",Space,Str "of",SoftBreak,Str "XRef."] ,BulletList [[Para [Str "A",Space,Str "straight",Space,Str "link",Space,Str "generates",Space,Str "the",SoftBreak,Str "cross-reference",Space,Str "text:",Space,Link ("",[],[]) [Str "The",Space,Str "Second",Space,Str "Chapter"] ("#ch02",""),Str "."]] ,[Para [Str "A",Space,Str "link",Space,Str "to",Space,Str "an",Space,Str "element",Space,Str "with",Space,Str "an",SoftBreak,Str "XRefLabel:",SoftBreak,Link ("",[],[]) [Str "Chapter",Space,Str "the",Space,Str "Third"] ("#ch03",""),Str "."]] ,[Para [Str "A",Space,Str "link",Space,Str "with",Space,Str "an",SoftBreak,Str "EndTerm:",SoftBreak,Link ("",[],[]) [Str "Chapter",Space,Str "4"] ("#ch04",""),Str "."]] ,[Para [Str "A",Space,Str "link",Space,Str "to",Space,Str "an",SoftBreak,Str "cmdsynopsis",Space,Str "element:",Space,Link ("",[],[]) [Str "chgrp"] ("#cmd01",""),Str "."]] ,[Para [Str "A",Space,Str "link",Space,Str "to",Space,Str "an",SoftBreak,Str "funcsynopsis",Space,Str "element:",Space,Link ("",[],[]) [Str "max"] ("#func01",""),Str "."]]] ,Header 1 ("ch02",[],[]) [Str "The",Space,Str "Second",Space,Str "Chapter"] ,Para [Str "Some",Space,Str "content",Space,Str "here"] ,Header 1 ("ch03",[],[]) [Str "The",Space,Str "Third",Space,Str "Chapter"] ,Para [Str "Some",Space,Str "content",Space,Str "here"] ,Header 1 ("ch04",[],[]) [Str "The",Space,Str "Fourth",Space,Str "Chapter"] ,Para [Str "Some",Space,Str "content",Space,Str "here"] ,Plain [Str "chgrp"] ,Plain [Str "-R"] ,Plain [Str "-H"] ,Plain [Str "-L"] ,Plain [Str "-P"] ,Plain [Str "-f"] ,Plain [Str "group"] ,Plain [Str "file"] ,Plain [Str "int"] ,Plain [Str "max"] ,Plain [Str "int"] ,Plain [Str "int1"] ,Plain [Str "int"] ,Plain [Str "int2"]] pandoc-2.9.2.1/test/docx/000077500000000000000000000000001363630463000150475ustar00rootroot00000000000000pandoc-2.9.2.1/test/docx/0_level_headers.docx000066400000000000000000001045121363630463000207520ustar00rootroot00000000000000PK!r  [Content_Types].xml (ĖQo0ߑ"NBMDMcۑ} GR)9߽z4Ur>hgsv-XV:6g7VYZY5mYX<JH~k!-="XL`g(ĮH"f3\ȾTI SWY ig@X6_]7~ fˉao.b*lIrj),l0%b 6iD_, |uZ^t٢yǯ;!Y,}{C/h>PK!h̶ word/_rels/document.xml.rels (MO0 H*wuuҮ0,u?DTߓX]rdGvm? @BɘD J m|sGL&TbC K&/*[IX=PjxPU I`hMъOwѝ2^&6j[ȗViZpxT|#@bO 2 '+3<$!dȁ%[:69ߛt\^E0-imWJBh\.h蛢[ ;#'g$غTC\. *ȍX-傈&>sW>A%>ljZSK = W@Iʎ)KS8ߜp85ЯO9ol֍vZbȕM2@^`S'GLܟYM.:81:'GKѣl PK!Q '/word/document.xmlXn8}_`{bK]$Nh NgZm!(icodgx%vҸ`/\3>kEґMFr|$ IR:rT8a3 Y'4 P& FJll`E"(L<XdEܖqP!ބk".2 e3!.ώ@{Fd4HnAwkհth:*%Cy|'=v34X*VQV ĕuiT$rw!?g8V w#ԋX[Cn`̎‡Pi=IHj~*p"^YNLezWƒyg:yA vlE24`xL'<ڸ~3YYŧq͟p3ry`zJK4ge,= I`jMbP?Ա7̪IMMNX'@wJk)t gSݾGMABts OjA-kE$Y=I_##Q?hHU8n߲jH0 ̂ 2 ^xO2#l|S-d3u61ȒJ Jt7xV}=;I3!0C^(z-o[4.( LFn&]uTVs6,4A \M #\0mE룠Y.d=pLW  K~؛5 *mBvmPe yW>WMSJc3&m,1 ѧ7ԞGAq8ɗ ({oAqY *:#O!?&n}閪ޣz~R9T\ϖ97$[AeZZ5;zپa@TVp=V.|2E3U}Wu{@8SIDǗ 9P$ sןMX]s6+?|L fMo[OEmnhoz_ i={o_C`oycn42os ;zZ%ddn6L43XKp3;y0N9[iz`nq횔$qImmݙ1|<k9[ 7x.Yrjkbn 5`[ϖzk ,gIvGi^&Ze %p4X $X Tx: @Bӑi[=oTQ?#2٬mYkyƪɴjwW["' ׳xsko+ZxAܔ/ # deaQ`/~]tȵ8AGjT$E֦ è(L |]v_.Yl GEpioU}."U:n0dO~Uq.Ԑ妯Fg:V ^@#uo39wdrVNv*F~RW"saWK*QfNSi^qUVӉHzs3>ʚuílI%ɫ<7m;̄dO3#,w-s\3z+vNP -sPiB,?/8&GuAwy<'^fSq;9Ry<ˠfC7|w؃PK! word/header3.xml]o0'? _m ТCjj*wUK ~$U#89y6ߔx[$,<b9/08ҐpC ܧ_,۸.g['ZľQ+^yΩo, 읐0(}滟0a"bpN ˬ94lk'1:ښnO,X؝wؚ: 0ٺ iلe&T؈4"t]B58\\SN]8Enex S) 8:qsIVs. BZ q ;G,FA6%ː!']Q\󴢈鶢+18S%6.AR^5%C\#`Rol%l( 3.;T'{Q)kJ(l\f͡f3\}=בeʼE[Sg&[wSBC`\„E89'ӄ|ɞ#y GkÊ7mƓldBkH"Ś K m]?oT[W?ˊ3Yn5\Ĵr9&!R[k7Cv,zX!&}'X/6(G1g2`LO@Gnj~:?PK!N 9word/footer3.xmlUn@}=xBRY ŬE |}g}J Q_lk/gΙ93؊p0 zx\&jUD~g7w3%+qCF_ܗaj҄N"YC7I3='Jm/QWi'/,[KJ1 3hJsRYS׵Atlȋ[5Ȱ!trWšPjow7*Y .m^ %M뽌Ĭ9'b#\IN%5+{w/΃ᆰ#"p -r|,5f@uGGC{+ayU'1͉'y%Eʠ9G !Η寈Pڿo] {`:Ab^x{Ê̔vR`ǀ[%0)$<:I-Z 8BV&e `-iX#CBlŢBw ߺ98]qnjn;\pG%ȹ4(h n8l8𻃟k#)(sx0*y+CbP*m2Sgݎns4SWWgWs֎qN&t<9CUB9\!ׂʈXQzdW[U69KڶOPK!`?Zword/header2.xmln0E`hB!Qը]8Dz 4_dx;|)EP1c9a(d\mRv?AuDeDb)2ˋy |Ii tĆSrRSk0}(֧#"prL͔ϕKb>J=tM_sֳYF%;AAPtvKaF.~E)fĆ -8-/ZQz2G_uARtuhObefב1h9{%p5`N+aq0s zy'1k58{'6ml}U>2UB Np+4R68 #R rT~ړxL[4֚> `4U8<R!n TTsv$YPN~ o+F5KhY]Ϯf-H ֳ +ZAJÀKS Tbv^]88ۆ{BR&u*`#xm"CK GMϒo[z[TmH4P3 Hݽm SeV"Z ȹ6h@+#T,DZKC3Evd^x'@ʤLu3l ζ v UGtc 7Rc?PK!HnKOword/footer2.xmlUn0?ےZȁ7A.8@KԂpÐP: b=Q g޼7nv{5S*pDcyX*Sʕd13C_6QfCoiF'1)Ց`(PFev(,+7 R[0c0=55hJ32Z3Uk'-%/bRzBs:B1xwv+TIFq䠤)J}q)J,JG"jFx`ROIF9 P?#1}E3Z'~U鑎.C{#3v򎥙NFO$S.-GFM8\G 5WL`v3_pb=zi=v֔A)ˀ%*cB1M2)e;.EzvK^_Dě=&g%]x8+si!Ģ9Fij!`eyRpG.#rwM~YM٩`4A_$+\9j/7T%be9F]F{ρ?۶CsJFHy hG,j^$YET'~k¦[ђL e/)a~uD9JӐm3 8v-wmTmվ.s|B[P۷7PK!nword/header4.xmlUn0w@. EYUlS^DK XIeO?SQUI[߰MS#0gpKyY_k( Y g(mê L:iJE*-jNq*⹞ SZCVCz8:E1ÕsIVs. BXAP[0<da/h6 %a' rޮrӊ"[FW"b4pJ,6^f,%5%þFo|N66G 3ad]%]Ǯ{/;b!F H8Phk[6{8b3y2oٞE+@ix_0.aB; 6 4d?#yο"zfkn/M-N25$cMpkX{ϔƛe÷i͙ƬBg+GSjL`%.Jm$`٧<];V3-~_~JY5mvN»vt)P7 j~^_PK!fword/footnotes.xmln 4e~Qj9o?Zmu1:oC;0{e)cF" 3|?I<2%fV'9E.HII(uV¢܏jy5ڌޱOƢ΅OܑNih$X9Zͽ]QWeFnWT~la0%d'4ꅚ%VhwVAGnW.PTZo#R+ eiR,:$ֺ& )Su(8ٌlH}h껯_bN%HQ3\Annhkutflvaj"u n$H+@?`TǓ#ഈoL{$ ,%hk8ה0'q3ZȜW?Ҡmsqt>X;jj(]TPK!0C)word/theme/theme1.xmlYOo6w toc'vuر-MniP@I}úama[إ4:lЯGRX^6؊>$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3N)cbJ uV4(Tn 7_?m-ٛ{UBwznʜ"Z xJZp; {/<P;,)''KQk5qpN8KGbe Sd̛\17 pa>SR! 3K4'+rzQ TTIIvt]Kc⫲K#v5+|D~O@%\w_nN[L9KqgVhn R!y+Un;*&/HrT >>\ t=.Tġ S; Z~!P9giCڧ!# B,;X=ۻ,I2UWV9$lk=Aj;{AP79|s*Y;̠[MCۿhf]o{oY=1kyVV5E8Vk+֜\80X4D)!!?*|fv u"xA@T_q64)kڬuV7 t '%;i9s9x,ڎ-45xd8?ǘd/Y|t &LILJ`& -Gt/PK!eword/settings.xmlY[s~?U?ySqnk'~րf2 J޳/Эn}}SS=rW\ٟo QVr.?Vgbmj3W~>=W gMq:(խ/.oa >aa tLU۪cYt5AIySRbZvUf O%SQ oB0?T]?kk600+y;#z^w[9{|'@'Eԣ 5Nы?/ƽ/*-kAhQ1̐ESl[CRmw2/!㲀 A:ZB3(8׵Ϣ {ȬH12L)yX83˕*Qik~Z̫Zq F,֚Y]obhfTqdTW3:Y͖˷T}r$/ԈRW =I/6;bV*'W(ёf=V}}ۂaX36*7$+n#G߱VbA)ʪ>KթdGo*3fϳ?TUWk@&Uۃ VmDaAo:V1R3(cpPBx(:v_>u D8{\'( ^V :rW {\9j {N o pJ8 ٸ Qhx:9k,Y zq1=վ8YSkd"ǯw7/E JLa1F;U[QǤ2Cjy,9{1@!z#iYw't^ 1y.+u+٫R@-Z^dnaoMhu S G]b7 Ǧ]#gvU[Bju4[T?hÀ8j 4j bfLi[ZZ(^I8KN|FSb^=q)Ds`~Q-R{-u@xXdVð^ !ah}5[7œ^cV#ܛ6 '©6u#JAVx-`=4(TnXBC:Q浖44wPrK2/ebvuIbl׋Bx4፶ȲcHh'('/72+8R"q8qCx4 <c\&v\?FerhLfc~D6?h!EJpmxdM}ANy4Csv3' Pmq(7s^Q"'o^HIFQ$|NpK 7F8$DQسʢhjCr(0mN}IphϷ7R;(j?ǖ(A9h;vF;t'E*$pkyxA.xVvHn, Zh#L+er/ PD [BEQG#'sT&p YG 'Vc J88Q9q#Al9QĶr4cB\sCġkeGR'-8Qm'`9 S<)-2q AZ~'I)qQԶ)~ H];+ AY4hEQ1,9AfWzޑ2&f$/ьھb?oBYh[pµ% r;99BV pRHz) 䑛(I wwy)$^%?'y J^\/y2^RoPŃY]SEZ~;uO2mR}ِ<3/`PA!G`ЁCg jkX6=O29O*e^Ĩ#X)7DUGl]q.| %!S.Vyqptb?lL-3fٌt=4#۟\v$:>Q#N#~%ĕgwёn}L(JӬ\)n\=nl'D't^SX0RU-b@Żt&*Y? n>M'W5WFZ5YļH|qP֠V#=ڗ<\l7*[5P5RWs+gYspVj9;m4-XfvAzΙԧJj xe[->?vg"dpB;('m=`:4G:NQxW¶זWY[ߣ &xl_%;`a7(4EQKkz|nQ_NVˉ O6Ք?Ů4܂SG <| Fi;A"rH)d{2v4+aX&k1S3uơlDhsw Kemd$p@PSng@rOޮPpL˓d|YXUm0BM3d` :3XPg$\z}vzJʕ?TBoXq>چM{|#m; O5klSs?Ug8W0CB\Oyn{oU,"zH 1k_x$ܒγkXln0`>)_ڇ} IVxmA]g54XǩZ VVpM'\;xⅮ}rؘxq#Yp ǟPwb%Vyah 񸎼֛Ƙdڸo/[Ea- l$P 5O#|Ue]@`؎ԙ;o֝yPn;4`Qq\ Z ؟|R ĸ-cjr]2r]Rlh뾾L#ѵ/t(ҲobO61kÊ7N\cWi sLP1!#ѮV?jb]˝Ip1>Ԯ*WK+r q[)/tZL$TUQ;)mYrبΐmҬbU.9AgfBu vt`}?:ZڊNZG\P-gǾpU"D+;Z˴kl ; in# 6Sc0uBH_hx>ӫv~jSڵ0z 鳋1yH]6|ZoKV$ GmDfW {aMY6lVCN]j Jވk"?D"Q Xc VH{ __@ARWŅ3v׋sE]B}%hnԗ  ]fcTx4svvKs*;03e  nX9'$`ЄiVȷ{FO!&4q ޚA$k3=n kXp]*X@ .a.gI1ahOpaetyU( >\T_ͅ}j(֫4cpMܷFۻHCDbfuOg8&g~PIhqZ)? Uʇ,䂍^;84VhR]T烝n3ԓ.6ѣɇ"<jW",w-!Rt VCneUKbQ <ܲgZ8: xv϶$"4{InO~لtY͈ mIiܞ*$4_@2-$ﵠٹY]هi!,'9Ja.ku(}k64cfްڔi8RsF+t8{7!"[δnR*gr=Y N9 )Y"7$6yÜ M2K3ƳZgp(:Hc)c5qCB:N#"x{@qRCi`=okz C{9OIX!ѷ}z)aE[K I? }.[l7zro({LF }Aoaէ6ZWFFYPƮN[BD 7؃8"zޭTk =:\Te,.=6ufҹn1av#:yݹhmgGjBq߭Zd!D#wfW- BG뮄 Ų!=ص`yFE!q)nZxZA_R>KR +TlRf(|}Jזj/I d88l8AxhrqQ6bjȚ3NlHh))1!. (u˒d'Z*Xl j#Q.MyΊF/CC)!x:4v4SAzQmf%ODxq p$imVM+אB)-ԭEmf[uPX0fʇ]&Q-2h]=PEnљDѠ\AwWY-<3O<3AH=0T+Noe%%5TCg6Zmc6Aڹ@_A_Em/m̢A}׈]=O82AL;BٱÎPldz *,|hw>b`[Ť> #hLj>m!x<x*G\lEUHߔP>I|n?D̡dPjλz6 LX歴rlٽ',hx>w\CY"m([a.f&!n DK4`f!G?; I@ N>/`.<\uAUXqIP>okȷ7P}m^ӪBA怆r@>Ѥ2HUKaOgߋ8_&͝,asN<ڎnڝ;lD-6uxdSt|J)F=,jL<"_4nX& T {rOn?%2RāZ)cLxD䧷%›LJનǷi2f"N]uMٖXRž_-7Y^™lbBXRo5ɴK祎\,eoǜmn"K {Gn|mF]lP.!S I 2Scv>M"A6E ww_$8S(7:%H-:lUU5`fYc|$V}D,RDohȞYKvnRR } ;ឺLٮW`  ﴅʮ ;5?_YIZw4G|5i GvM62ȱTOk2KRgS=&%iM&6,`ըZmhv(II[k.;"roqNs^_QAזTwXdYzUI|u>` IlsUËd'yLXH" ]xM_~͋ZI"d9V[k|XbU D9M.(?WY㭣m{y`|;k{;[YPܵ?A:~v@m_Ds} _0ih< 2} Pыo&a6E`8f䂾\bU{0^_>:;>Ź_[[+>R\d Iƌ܌.]dyR~  g6szL7jژ0v3AwLp&X4S@}>@8vyoq͉7~x,u!h?L8u2q|L0xZΙ1gno'cZƒ0Ʉs7 .#) D,l3YwixF`5[Bɛ$Ȯh-Ĺ7'S4W!}$l#5fc>GEm!9y4$5ٟ+mWp׾a/|f,_ot.SD뷫gYs 5m|h(N1 5X$Ϛ oo?D3}/PhboNe=N؍gL.h}.e]o p*yK%Q +g6/pϰևwGzݤ=]d̢3"avfы,\wDD"3<l]vv)2L~5?9fSv/l pI;6At<,bG <3/F>j=rz^0] rcO`AM&^ חC׌MH&=hΑMl5|?Z'#zhm]Zoz%~dq}Ąd]:D_لqr&+$9aAa/3;!|0}N\,7=ZY*Y賷o[?#O}Y>,l;en*5FzYUE`M¢?, _( |X,*Y,Z2tcfvL(Q-V ײg"q7mq ,&(Y˯^Y<_E'E.>Ж ʗ&X|ށ 1 q]Zz=իk·rsjewj!A~T}ZH5g›uR{̋9֊Q0g\%qkAhn{ 1/XW'9P9axkL$Ubtg#2a|<caĕ]@>R}os~_G7^2 6@ :0wItnCY2Kx-O Cdr>7 <+ |Fj'5YTjr9rrf<Yh/h]hΨ[|z)ꊉXI~3'd*P[X3>ZrvZP-T^x{h3䐚 alFF?%2N&Wê LE=Aj"J?S%a܂@]1culLoxT #;ւCMaeo'sY؝ςy9uUe"ME0yV2Nwb4Z~6quſ=C}[V5><2uE(@i*FR|6<{S-Y0RTDmؤgBp mb ̹;YtO#Q:H)xQǠi?m16`Mkꢹ߾y?Mƶ,]$uBd|9,WFJF#_/zҚ&ղ?'?OW!Y'~ w bhc7HOuB*j9ACdt$MlUx>$hCjؚVtKiCH ?ҰIR pkI޵9 p#uN ADa]R̕ .C+:0,S +Qp ٬lAOo hɡ:=ѡ0(.(ȷOH_ 7p|eJSQƧ͇RQL<}/|kf&Qi>vÜN:>6!Vop9bP]O9q4axάu|~˔e'D?"ybP3Tݶ?o|6Ŭ* :K05P иlLFA4P@5VYddm 9ٍ8W\J&u Zcm;~LXUkjNe=ć fULqG8GJrGvb+۫ , gjC֦ToHvdcHt!I4uGQS%1"I P|2l":NJBwn)!ը"HlJ4& ̆ nJّs*!t.sy-,IRJGzR J'7tI𳔄ΦtrCco1l;sVdSY2hydH=8WK]H1cO3;oW哯+ Pʵ~oSPB ^&} \c;m ӵU9EM1~m̠HVbhŁ-953Y\)+^q~X\ȯT,uW ⠺WڔJ1P oh=/؅t0 i[+K$ьtg@Ǯݑ@/zkkcJO 20.-?U<3cy>1]Id*sV["Nٯs6 cP {$y&z2E%Fmr4Rh^œo_[S̙1,ô33[q/U#;uuR.Rӕ VS{{̦< i;$\9d\+Oxg"L f&6'e ns'{w*";$QXX]|g6Ԗ4tIu]j^W WLRKC-a`8e"h u ٪tH]L/R|+. ;*j+VӍ$tvr,U7r|T <Ǿi,l[0s3%PF U4e^{xeśt#@ٚ*ȗӯ:I {q<ϊn sn05InJ2hG):$p3IhW:ffyIƚ_GeH.9ir{I+*auB( _GֿCtB"TF$B$h)HH5ZCrՃ FdLl\! v׉$  UЗL^'2o{]:TgT'2w{"E=>@aB 4Jڽ)Vە4_4"}Dz#2(K҈4hZ,怹 .hBU9ef%-fVrFPPK!t?9z(customXml/_rels/item1.xml.rels (1 ;ܝxxYt23iS(O+,1 ?¬S4T5(zG?)'2=l,D60& +Jd2:Yw#u]otm@aCo J6 wE0X(\|̔6(`x k PK!XU(customXml/itemProps1.xml $( j0 CuSj3ul8!팍wNq'IHߏӗOvvCtD QNL* }~jpD!:.Q,5tNgW=+ UPU:׻CUsI~,m:(1GafeӰwވ;e#.|LЮy~_Uqx_U_'/p?^PK!\(customXml/item1.xml $( I /-JN-VNIM.IM .IUq pԋQR %bJ 9yVIJ%%Vzy@ (]??--39%?475DL?)3)'3?( jUч{Ǝ PK!xyZ;F%docProps/core.xml !(N0w$!NXI::T e_[رlCڷI"F]6Ug*D30l+ҬJ|F3PxooJa]g>&㙰څ`^@sEst[l[9!3!pǃ0RLJQ 41(a8l+V`Ln)ʼn{5}g}1ƈ)~{z|GMv%~Z)@$O]C!%RpcWenjkqЬP[DeCwN$?c9+,חPK!#cword/fontTable.xmlԖ]o0'? ChFM[bKkĚ?؆60 96{~yY!JS)&a|€L.XN4 bdn//>~8/ǹFcM•18t"cYT8$/sʨF BðJ"f֜㞏aQ d+ZJfDkf|>إӽDfJjcȏ(;€gK!3`WixQ ʱ|.XHMbh`6 1 Gh4 # [auL|8ǜmUc jU`Ex|KhX9VGbǑdq$syN<ȳ Ï|쁘QNtpCHh$R8Kۉ! \M kNӸ4DΪH+s8mZ #A_C 1]R=!Ll[WX e`M/ +n,9ckEAgL[$i/:\.j[79'EY"5?(;,պI=-͵} ^+zX?@urK@$ë绔^X>@%JO;Ȍ@?_CKC[+٪x}VPkOwg3s ^o>qnڅէ 3:Wι9~u(yR]ٞkOmU3{XDX%z~]iJ[H;KHT6__PK!lӑword/webSettings.xmlJ0;ܷie)mD<6Ʉu}z eo21w8 J,.̝zyoT!Ʉx Щ#Wڬ0G19t'gZXk PK!ӋOa=word/stylesWithEffects.xmlmS8}CH4P3m60Z|~ pV;wcUcoWһa<$2Z'}=,GNg}^KS D6&$6gã??k.,z22p| !HOR鈩$P@ v(;õU?DNMR6h;A:|0h"|=nl7M6^^fhFLmTLzpdՈFhMFhDFh$wD##1-\*:ճZw" U(tƹe {HXqTo%|\rzX.Dgό@wVK`M ؘN8_;S|do 72ygQY]FsMmhA=\f{Ya)7$vڲ򰴢L#xX#u@hX+$Z}c{"29XdY]LZde Z o"_-}A!'7rvjMk`tU5oVAv'hFohFw?d:ݧ-FU >OT.";n}|5`tI>yׅ$uq^b'˕5 vWT\Q=xQ_*-3&˃Q=-#+ʼfߙ: >)9G~d \.y)[pᶸe?3c A i_ :3NOtZ,aDמ3Pu|TAI+[KRu}uI-oOPK!$2docProps/app.xml (Mo0  %iH1A6gMa$Hl׏YwO2%ׯM0D2yV2*]|ͳHʖvc~-?upqBب8LBݰ[_$\+-}ü86-N|8zP`kE(﷏7#zhT:gp4(gc3`B Dgj*˫7F+b}U"KA %c ]n,\  jG9Itj\RuDCƻVy@jr!7xg?U$2?`%0uNk>R{s[sX6,Ar-)1p✮=!>T|7d2tcv>j΢OpiQt;&5xy t8A6XOp:bwXj>&=wTNf1ڜbKJ+;wϒB; @dpRۘ<SRpcs/䗘tb+6>A!J~oIȒmc1VR RzuO\(oքr8`{C2_.r!繓!ezܦ+7iFMem̧\!Ip>NiL+?Y XwBDh'v" .sDXb?;A ʝc4֝H_Ems,:H-U{O/I$Z!o}PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!Dword/_rels/document.xml.rels (N0Hw@AN/WW7؎ Ǣj*kg>{jZ- b`sS4<s$u![Q[IMwN@M=qtPX%ɗ?e|knx]![`%ަ,M+t&;ZI[! 8ԑ~>!d<^ʃ,1B2^N{GF}"&7jI!iJ)v6QZ 7$SϙrtGQ#?PK!P6/word/document.xmlZmo8~BehmR/,A`ہh[,jI:P[4Qt/2[g3C~(=2Az@Ly&H*Zf%;1L O0rJE)Usߗ--TpɧEOy+. *S&%|Zonc)pN =$llG6m6O V ګܠqerboUu6 =6g͠EH4G[XD؍h#gn%Yм?98/c`3f3Ωj-nKP5:a紂HóY  H13ZV@Ê z{HFMU쫪 l?Bt˾GxxGn`ve~u@RG5)> HRL,BW=t~f9oQ+-8~ZWXQ\+*N|rZٳCYUI&1@ HHqTR!ZBy NaDDkHbJ$|U9@Hزmm>lY?ړ6T+_I'%q|$NԒTWպ`'5gLJj& }15Ǩ坮WhDBIL CfAHKj#7ġ@r:$#nR*՞f:BTޅpp .hC.8EHB4;:|B6xt&`  bEVb nAq{/xx}^^]󛳚.nnC` WL< IxczCP|7;dN\Lb\qX%BmSA,l7vb;5Tи٣A94R*DD+t^'8"Kj nu|#h18a\Lt bdH'CB)j 6\;kĵ-&g?ɽA;}z=;>1s#X'6@mr%䭫-%A%If$Ӵsv&0.hmL^n|6W W/H vp;[v8XJnYOOE(]*)mAl'PK!U5Qword/theme/theme1.xmlYn6w tOOPeݒEv%-kJ4H:Q  ]L!FRE..P u?9x޻DcPI{z1t<cHhzq݅G"E>GB̏Uf9eߔ YeI5fJHQĹrIS!p\zk#"傫sY/yHqbzuBvxՍ{l VX2~@.nF? Q$gZp}=lu ooTx14@E1`hנk߶vе ׳@~3CtLN1H!6-ya=3@nH>cR \-vOQJ9t2la@x;h1\)h>&20A9@B[q=NxbgH.ZMɼ,]e؜=J\F%"VÅ1̈<"u<_ 82 "bĹ[ZtO~Fd\SH,La6wryjb3D!xLwHmZx0I4$HEeVY@Dz*O:`n8U\il2LanR .vCZȖ6ܮ+皁tyϛʛ,fs+݄${^$V/2g\ !O *a 8kLKnF[#%׭}|_ft"ʾ‰`U I<,(*1b3cqQܒV~*($NS .oLgeW$*I>uo6Rh9@ԩ֏wJݷXҽuݵ;%n ,jZjS;n4> W: J]y@'/k.@Z=e-a#+N0MVf(׆+f{,grDC;ͪT߃XC7CXFe16V+pЩt֠2lx.57C5TZ0V~ZZ|uPK! 17word/settings.xml[n/w0|]s>q IP'@KMD^gSֻom^Yo0$Żn<./jX˟*W0uvpo_n4Ѵm;lWOӴ>m{jw;qNxm_WaokW~5a ;94nZN 0OpmFywĻ</`eV| y8Áݜ w_'h9g˯) /}ߏx͛0Jb(a^qE!fzH"N},Ft-mr8[2Ȳ0t?,D~3u#}nռlyK6z>L!24"0MB_Ӱl,lw$ev{D=y3щwYVwvEga7GJPnZRQQBi WZS)0`Ֆ27֜U`NN 樲Üj]&#LAQ[ waL4\!$8#ρr3B(!pT6UDC Kk˩)ZA1ł Uv  m4:|NC<ڎC󹯭˚%&.X6!^In@a\ŠϱR;MYi+Rġ次 mȸFJ̩u]湲׾" cP3qepeXQ[cDpWʠ0qU5Jă=m1t 䴐J]tq:cbB oK0FL[9S&w J %ssTᛯ7W ?_nǾx;'r=ϸi{?WWGm723t{=,7ouӌo?5/э}y{y|w^kAϻENyjw2]|7Tݵ)򷧫Qx7ݽmr?>M u;s(NX0qĖ,>x籏|S' O}ӯc-Gیlmt۱e"Wo2nSb ym_',a}tJ 4Wu uPK3'O+lc\word/styles.xmlUT Bs]Bs]ux d]r8Ҿߪ}v/2(Zϖě&N6YPx'x GEwDO"G~p9|`ʼn݀rD:N[)@ym__\ޖ''aZMҟ΍<ۻ?y頀v$L RD[h}iG#qvzx;+vјn-ʠa.&8y?4rWA*%V 69zo=I~Fg+熆Il=vc' ;?{w -!n\ž--QXӋi77Nye_ FW}eV)^]E.{~w'ՎTWrMK]\/?G>R,;5 í&mIKLdU\!LFeA~#{ii2ݲ ϪQ oˬCجFVy8s=yMAz4-N ?\!.5q$ƆƑGb*h%q$Ƒ1Gz2-}v7t.L<]!{J;nA Mpn[2}jamJ&Jw}47L`$y\&SnxksJ5t9,( uNo$H\]S<ID"*f H`+D~kĺV3 <̴M y2oT~HSu*kveC-q6tWG535QsgMyϚcPs:}*¬MO|eec)RY5Lź<6g3G^cEr9Qzەo~,Lbw̱W<7vz{hEӁTK3?2r9v7r~G!zy"iuKMrNJVV>[* x+Qp@6T6TeBBBPa}* QT  B B B B Uql/dmmm8CU *DA*@*@*@*@*@*dmmmMCq *DQ1T6T6T6T6T6T2TP]P! P!P!P W1TbmmmmmeBBB6,,e G F|K7 a{#l ה~HAU,E-fqgyOxt}t'9S r*N5Ai:_:6AfvY.RI_Gr*$ۼ5WGs<3W s'sǵ'=4֛6ufr6\IsI#eOЗF9O) X9a9̰TK5DPS PjTCLj"`Vwr%:JjF5|aX!jFjL5RTC,K5DPS PjT(M5DR TC%:JjFuEQAWB*3WQ!Zj+FKbRxԢ%=hQ-Z|EKBbբ%!jђj\$ZPբ%ոhIJ5.Zj-RT%ոhIDsVT㢥VqR+ոhIN5.ZQDT%՚/dhj\J5.ZSDT%ոhID5.ZRZEKT%9ոhID5.ZQDT%)ոhj\J$ZxlŰқ=a[s̬RI*V*N*.g .& 8{sSNw(}=,[!<ҌN#uK/tf_է ̄%^ /Ϗ*a.ee%b:vW=yd)I7d ]c[7R+!1MVlîk>\*+WL I`o[P=W]Vfl?rI_yˣJh¿Wcƶ>m)I>m|&*.-+lK=MEkOG%A px˩k\ſܱso~M߱߱I~}}][M̯J5XJIOH*GT@L$ cZ5=W`^@ܨ2yPS(5Y)Oܰ?YRJeܒ'R'&ɟw.1h8Ɏ#.sSJLMTW%&fTbT}*)`gͤJ033]%Q{1='%J\$s]gftAy0815 t!waޅ.s3Ng5: U^ʔ;tKUŁ?N0q?NJ$9(kXEkɯkhkw²v-mβziboI~-L۳ }\3x,t"o;(o\ wӽVXyh83,,h6\GҬfw{wSd5zǭ|WyyC|u22bQg30iĐ'+dҳ5mekjKaO\Zgv<筲|eU(E${*oǢ7$Or $:䥆4\hM4d$B$+xcK.!랹WƳUJ@g;323\J`vbXdq5[Sj:su1z^NJ:f^S \LiptzFDvqFUQuꐎUXZkSz͘zu}eT ƫΰ_T78-U9^w 77fyHhXpUH$DI{eڗRd[ Q uF>7Cu6|4o98|5[z}"Vl(j3K~!kCүwI;.k$R+KtGsc@JRM%)&QTRGq2&9EQgy7q'd\\bw).tίzwR/c:>^loHu N6/QG-(Ì)Msx/dBefpƺˎU{lYZ"7^N#LJ!Ml[IItfJlE7f Z"nULtcqF̉s:5e;~'^-"^NAڌ oLq{+4Z(^JϪDBG[[ bX*䯴Dɜ54E"TSz3փ8O1:#!Z~U|}ݖ9*CɋL,f`+Pm_h[6Cɋt_MāgH2 {Hk fnei&1TVjUŢF]XXģl%=D6![}nusR[>4 `}ҺsØSAMYӟLwC6٢rzHM_H\yzw|tp{bρ"MsSٵZ62x~@=\4i!&xڥ!p]PqY6.*.4yq&Ýɋ:Mv6>y~^8Ze)svCC3ºKy/]TB^deeAՐb_ϗYwuu~+~r/}Eo+Uw[l%I6o3RϲsDF27jjӺㆆ8ۀG?-` iie"77m WM{o]R2ǡJQ37e[lZr`Z~߳/qkpE?tw^4ֿE!o~Ӽ!!3Z[AaŖx{QU*-%8Zzrvi+Y1,|9XSDk!/#1bDF˫܌Ɣ Sm1PPØA1"Վ'ia(z~`ׂ©Z~5^jiA۪ʯ{J=3yf N~j.G{J D60o,W0H9X)ctl'_uݓ|P=;6w#w Ev d*yB1ߪ kPK!yjword/numbering.xml]r6L;Elt;>Ѧvtw1 YX #8KB>_N^h-|ñG]t;֝a?Won4{ Fo^ͫ[{c-v:e;;Y  o9A߇L5{h8x46{Xa]-0i;86#8Ƴo!n EW幸7āL8׆,hPٖ-bkq'`iO XeK2Gd  23Xa'M \V$;}l=g&F? ]`H&\聖~{h;0ጠ:Nh0h ?4=x:OwQAMlXBV3G](|wJ` ;m‡5c۷$3SsLvܽq 9J qIsOmmC 0Zz\!)$ʬvm-_$-_Ga}/(&{wPK!N(customXml/item1.xml $( A 0EAr#]t!*r$&dB2޾AJO=N!WhYg||d%aZa Xu/\\Vޅܪr/sBa &/̴r:*ͤwCE$gLCj|CΈD 훣 "z-,}(S*3 jrA$yJ26e Vq0c3圊wMQ `^--JFTkș''Ll``HI-)Wd`On B*2M|X`dYq8΄.aDHM=sMan6-@-Ԁq gjUv,5Q,lc/D#t{2o٫_FZ6ئWDg3L0rSTц?uZj"!b;n䖈uHM"F2W*#=VFA#Yp9}Z/!ϰÍ=عdA6Ul$V @~#I%ӺS /gT̿4IM ^7~W&< fyVhs:0!,$}| *Jx~ 3c" QNC3Ue9Ƨ.NDmqQ:sFJ>ŻsIDOwrp}1B;L=;ta[=p,*i/2KktͲvneYUA~|PK!Zk word/webSettings.xmlN0EHC}DM+U !I,lOd &}R +:O?VX:!a7  2/;wijJU­^ c.@ kK$V_Bdƭ}ly DŽ3̀uqD à<z{bcT802A2ӫc%?hM>l=or+*_oTtn{U/sq΁l"wr^צnTm@NZB廚F( O?,{$UpuV@2EP;TA/ME,*(Yd[]v`" !n^AgǴ>J.TQ.X"mؘ66>  qO˴e.c@RP!u[y)v0J-5`ݺރ р߸|3t{h'z*/yNKZ&s߁|SSլo8.azCPK-!$L})[Content_Types].xmlPK-!N _rels/.relsPK-!Dword/_rels/document.xml.relsPK-!P6/3 word/document.xmlPK-!U5Qword/theme/theme1.xmlPK-! 17word/settings.xmlPK3'O+lc\$word/styles.xmlUTBs]ux dPK-!t?9z(x;customXml/_rels/item1.xml.relsPK-!yj~=word/numbering.xmlPK-!SU'FcustomXml/itemProps1.xmlPK-!zY fGdocProps/core.xmlPK-!N-JcustomXml/item1.xmlPK-!i^?Kword/fontTable.xmlPK-!Zk 1Nword/webSettings.xmlPK-!'OdocProps/app.xmlPKRpandoc-2.9.2.1/test/docx/adjacent_codeblocks.native000066400000000000000000000065201363630463000222230ustar00rootroot00000000000000[Para [Str "Next,",Space,Str "open",Space,Str "the",Space,Str "terminal",Space,Str "window.",Space,Str "Using",Space,Str "the",Space,Str "terminal",Space,Str "window,",Space,Str "run",Space,Str "the",Space,Str "\"ifconfig",Space,Str "-a\"",Space,Str "command",Space,Str "to",Space,Str "list",Space,Str "all",Space,Str "the",Space,Str "interfaces",Space,Str "on",Space,Str "your",Space,Str "system,",Space,Str "as",Space,Str "shown",Space,Str "here."] ,CodeBlock ("",[],[]) "# ifconfig -a\neth0 Link encap:Ethernet HWaddr 00:0c:29:69:12:7c \n inet addr:172.16.0.108 Bcast:172.16.0.255 Mask:255.255.255.0\n inet6 addr: fc00:660:0:1:20c:29ff:fe69:127c/64 Scope:Global\n inet6 addr: fe80::20c:29ff:fe69:127c/64 Scope:Link\n UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1\n RX packets:9859 errors:0 dropped:0 overruns:0 frame:0\n TX packets:1399 errors:0 dropped:0 overruns:0 carrier:0\n collisions:0 txqueuelen:1000 \n RX bytes:1920894 (1.8 MiB) TX bytes:233088 (227.6 KiB)\n Interrupt:19 Base address:0x2000 \n\nlo Link encap:Local Loopback \n inet addr:127.0.0.1 Mask:255.0.0.0\n inet6 addr: ::1/128 Scope:Host\n UP LOOPBACK RUNNING MTU:65536 Metric:1\n RX packets:372 errors:0 dropped:0 overruns:0 frame:0\n TX packets:372 errors:0 dropped:0 overruns:0 carrier:0\n collisions:0 txqueuelen:0 \n RX bytes:22320 (21.7 KiB) TX bytes:22320 (21.7 KiB)\n\nwlan0 Link encap:Ethernet HWaddr 00:c0:ca:85:00:ba \n UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1\n RX packets:0 errors:0 dropped:0 overruns:0 frame:0\n TX packets:0 errors:0 dropped:0 overruns:0 carrier:0\n collisions:0 txqueuelen:1000 \n RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)" ,Para [Str "The",Space,Str "ALFA",Space,Str "wireless",Space,Str "card",Space,Str "is",Space,Str "represented",Space,Str "by",Space,Str "the",Space,Str "\"wlan0\"",Space,Str "interface."] ,Para [Str "In",Space,Str "addition",Space,Str "to",Space,Str "the",Space,Str "interfaces",Space,Str "shown",Space,Str "in",Space,Str "the",Space,Str "ifconfig",Space,Str "output,",Space,Str "there",Space,Str "is",Space,Str "another",Space,Str "interface",Space,Str "known",Space,Str "as",Space,Str "the",Space,Emph [Str "wireless",Space,Str "physical",Space,Str "interface"],Str ".",Space,Str "We",Space,Str "can",Space,Str "identify",Space,Str "this",Space,Str "interface",Space,Str "by",Space,Str "listing",Space,Str "the",Space,Str "contents",Space,Str "of",Space,Str "the",Space,Str "/sys/class/ieee80211",Space,Str "directory,",Space,Str "as",Space,Str "shown."] ,CodeBlock ("",[],[]) "# ls /sys/class/ieee80211/\nphy0" ,Para [Str "The",Space,Str "\"phy0\"",Space,Str "interface",Space,Str "is",Space,Str "the",Space,Str "parent",Space,Str "interface",Space,Str "used",Space,Str "to",Space,Str "create",Space,Str "child",Space,Str "interfaces.",Space,Str "Note",Space,Str "that",Space,Str "if",Space,Str "you",Space,Str "unplug",Space,Str "and",Space,Str "replug",Space,Str "the",Space,Str "USB",Space,Str "interface,",Space,Str "the",Space,Str "\"phy\"",Space,Str "interface",Space,Str "number",Space,Str "will",Space,Str "increment",Space,Str "by",Space,Str "one",Space,Str "until",Space,Str "you",Space,Str "reboot",Space,Str "your",Space,Str "system."]] pandoc-2.9.2.1/test/docx/already_auto_ident.docx000066400000000000000000000204171363630463000215660ustar00rootroot00000000000000PKFD ]$[Content_Types].xmlN0E|E-Jܲ@5*Q>u&_g*h̽WL; 8t˜}_6-n&󽇘P9[!GΣ\1s,U*@z KKw="XL`*֘sK,yjj ﵒ̛*?:@Ǟɍ-?hM6=q|=XSAD7aHo](HĬ*%trmh$}pb$=_$vm0EZ$lFfس"Xh;^ #'I%)x?\w>ղ6kƮ5 ʞ~kdIwPKFD? _rels/.relsJA >Ő{7*"^ЛH}0!#ZGr;R|̛ GcVw5R&=t0[b'T9֟!I O1}qѶ(?0u 7}|; |sGFJT2kT,d3\h<@#HP:lhv".lѕ:i˃Kun$b77*Ei 0`r~?PKFDz0word/_rels/document.xml.relsӻN0N(邐NrrE)зE8E ,ٲ7o5Ot~4Z@P7u/z}my$)Lh= k0g}3>3uH:㔤0t==U[v@yɪ4|1A?>]۵ܮ-UH0 x2~&"$1n!d _XfG"N-錦JΎ k`?9._!mh6Wq g PKFD4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKFDOihword/numbering.xmlŕn0 { FiU[NӴC6RPhsBPŅ &ߎīEpJJf(ȣJ&o_SYKو*p{!򜡓1c] zVTBP)A ,+U֪*֐)8}?0P(RFxw]!If%Z3D!Yy؆D -v"{Ck6b+L7Ss饏y7{99=tKYcDvW7PVx"边[]uv &(,$,A,10$0a „I<&&Ma(6 :|Q?&/9|w_Q qg4Y6b/ǃoZ<$L )yQ!yPwo;vleDS)>ČQSu$T+|\璬j@wl/lwk_]JD vjI@O6- +hGjv6hBݚzZ-F@IO-{T;H o9嵝?ㅧ ( Q8ubDa'fYhK+_32/F8rhP{DC^銹0cR^U /QbX#iҞt:W('F@6iqΝ&ݍ^_#& ,v>~M8v#H;E!ufW@哉s O0QN,41 Dy! u}z#(bGyCGbP]k?dFUw2JYwkN7<j[Rğ@B@Ff)p{95R[:iNiNrӜ6iӜQ#4Msͩ/PKFD(*bsword/footnotes.xmlj {"xϚC)ٽ,}FL>~- =D<_aj!xDc{/>?7qr-5%I^IIIfAerŻ̀CB0a{A(V&la9o lX܋44DU^Jǭz_b S}{i54P?֛!S/ﯿ=/PKFDudocProps/core.xmlmMK@ 26 "< u2Ѯޱj+$twdUSժ X?鮼Ub`zR*O-^Eb HN*>QIG _2F4*O D$h6V]$Hg#E7\s+8s5_/h~/嫥IGRCg+ leIK; PKDdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKD= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKDҟVword/settings.xmlUMo0WD9/%|Z-PCBMwǙG!KN NjhO'f2[u 2fz꾿-[{w3 :Sw@ [Q%LLJ$aT1& Rt+3HKV'BҝԴ7l+`yz2m͆&_^pw+KWk+ n dM5yN3QF/!p E Sw߸]r "Ã6 25".@΀㋠VkE BNIay,pɸ{W<_4oC}t qFjGFٱ"9X$ 3BkoPo™89ԹPƦBA7o)KQJry\Lita` _1jv * 8źڽJit<gwG~1b/hp~vGC3iϟ 0*m128wyT$>BXj"w i%K'oY+𚜺dl1 wQ˚\l"6ߠmAgR!1#\ ɲӸFEa‰ bM\uOqCh].jkF\b[_c jlhamhh[r,Dr.sj԰ BxQm5ϙ6!d(FV/}PKDTΜword/webSettings.xml];0DrOl(M"L$loBAA9FS6/ ,Js-GJo$:+bG)1!VJ)-R4 @`M'a:h}T LqkwWa gsZ^;PKFD ]$[Content_Types].xmlPKFD? _rels/.relsPKFD~Fword/document.xmlPKFDz0@word/_rels/document.xml.relsPKFD4o}uword/_rels/footnotes.xml.relsPKFDOihword/numbering.xmlPKFDa|9word/styles.xmlPKFD(*bs word/footnotes.xmlPKFDudocProps/core.xmlPKDdNFddocProps/app.xmlPKD= nword/theme/theme1.xmlPKD{H: word/fontTable.xmlPKDҟVword/settings.xmlPKDTΜword/webSettings.xmlPKmpandoc-2.9.2.1/test/docx/already_auto_ident.native000066400000000000000000000002161363630463000221120ustar00rootroot00000000000000[Header 1 ("anchor-header",[],[]) [Str "Anchor",Space,Str "Header"] ,Para [Str "A",Space,Link ("",[],[]) [Str "link"] ("#anchor-header","")]] pandoc-2.9.2.1/test/docx/alternate_document_path.docx000066400000000000000000000264761363630463000226360ustar00rootroot00000000000000PKSe?N^TM[Content_Types].xml (MN0by[%n@5B%zי=; $mPi-Hɼy+㏷dk [CLڻ>g/[|Uv'l 1T%b"%XrQJ׸AW1oa+qK[l8o52D+Q=!F: 8'MG¡N"TF|dbc)JVZyQ}Ui +HؚXR^g;1Z_:#޹;/yw397pGHspq,CՎuwF#;~#/k\4WPKd?NC _rels/.rels (KN1 ytBM;z+D4%.H\ /uiQ^W?{Ša8h]4e\\fIM٥J(ftX̞J:c$&2w41}+Z?&1397`pl), =E榶 RJ]EY yg/@J?, zK4FF?R-ڏ-߅ WPK5L/Eŀ}&word/theme/theme1.xmlZo6@Z.l[h=2mDE=0vXvh]&[/Gd&kE#(E."1ښqN|:Ѥĸ0AB#k.~x^(D@#~@zst"7,B^I} IuBi >cRM'+~apFnqp 큛4P:-Wohacx9/xm ,t,˳;s[ \ fRҥ*WcRqEJ, nq^fcgSb"/@K7kp"$@Gw*g^gӱ1B\m<+8K?@n4%@I{hWɄb"D5 gUAPm͙,$rM?BWUYq+&* SڀA=0V <UVR5k0ZgHr5DU&{f"Uk͜!R7/QTUJZaddt HV7=FE7P\ޫ{,W3kT7Y\ݦn];1&dK 2LN5/:4?3nՋ0sr`)/GZkwMR'9d;Z~GR@o0:u&-}Bue $.7kQcjpwRX-YPw@\ u &gLϗie鵋Cxxaב$FWCEKlRR[*BM`|Tuu@d@ G-SI_;oa#w-;5[Tߥ3)`K}<?:?lt_RB=W&" erM!KTz5njva/*cy j@{8<΃|AViMG,fNҌgY8:y+[ߎW f`،&ڔv&W_Qы[ dgձ ,SSU6nE7Yx=.޳!wF %m/=8mݏE,J,e]-I]m'yv*DJ F5 Rڐq(o@GV}:PKSe?N)word/fontTable.xmlj0oEcNa,PcEEatx%v(^Y(k`T!#zi4Iْ3FmmJ 5%p,^w[((iBW$ V3If}݅pAVad]҈VB~ubk KDgUiGh;!Fx+;a (:1F# l\8M#:Ǜc/,7hVkFցLq]R-p9ˇd- Tɢ^s(Cө ڣ^ -YIAIK:Gal8niTIa"FΡ⦊JM1C wg}']b e'?3?Ϗ%[e@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPKSe?NK5docProps/app.xml (n!_w.8F]h[l] :.w|Lg{BTx\Q 'x F1q+vjA36~D6ָMOc6W O65pbk&rE5}+AI.U*(U~ k%xcJ]S@.)ʭ,_:F{<)Rp ܌5\G!+mȁoy-)+]Dʾya3t|1. <{,3ԕtܩP"+(gGb/PKSe?N!6Nf*docProps/core.xml &(N0_Z(e,~^ibw%=>` uƛ9מ{:֕ ƖZe!@ -K Fy*;0X\FDfc@%B5(`jgW֖m۠( }+_*\ اe*mOhX%t)ioj$OH <v5Zm+0ev"0$k #atq&y?b(LFq20gS? W)Ǒ4foM~FuUy%}|w%d47Ph̏N ɬe]KRNA4׷2W&2嗛TTiGZ[?7"_7<`͸eOff(Ypv3-G] Կ.ĶrS5lVpC7gNFꀲk:|/Vыtb5XMo^ӟ^t@s*!hA:SN@o@KND`0kP$AsLT` SA<M.aލ2\ǭcs/ p,V0=TS|f>2x::["UU P@Jb" w:dhb)Q2Bjdi@KyyKΩK%!T|RbdgǔuOCkẙ՟'}GsTScf9L5V;<ՃTMz S`wxd{,>@=L*V@t]Xz&u (Hw)wr !=[*:E LC#Ȅ04Z j. j*iTl. Nhdƛ7C#o<^2bps%2e3*(kKZ*!roIW%L|E8 #maURRB޵t?*g4߈|#ÀͰM#{`2xrӜo">S`BX 2'n*θ :Dۉ;aZ |32~A2~AS5f`g _.xB޶cVvζm!o[2𶅫4m!i[p-8b m!o[2ul 1xB޶-k[@l 1Nm!o[2 m!g[PͶ-dm xۂm!ɶd[2 m!o[2pl 1xB޶-x|ֶ-8bl 1xB޶-dm xBζm!o[2zGjuFvK()Y۷Eva{'.|:o<]oNr{jНn0h̢w𷋂p;EtE Ƥu1j{NR7Î ܭ{u$ *y鈽_hhg7WDl!N %61XD;bvNV+A_; /8Z#ЊC3BqrW8D7g8d9*8V"ЊC8\V"C8ȮCZq@+n!]qU^#iɺU[%]ҫVqpMdU[;-czV1:W:WB;WvőU#l^u)L#ӫ^őUʮ82R^u)>"b;WVőUWqdzeW^u)LGW]ӫ^őUʮ82R^u)LGWVőUWqdzeW^u)LGW]#+Wqdzի->Jԯ맙n1nۨA.Ud\4 XQʪg6OxYӔm7?u{Iwm@T*K#OORiLSābJfB9O>j1)"޾}J?V9|0 EyzpV0mYf,S_PKSe?N !yFword/document2.xml (Xn0~(ks Sá&40Xul6vG+NbZQZutBBJ?$$ :Bb݅޻T0-*N\*GP8컅R<< Ty^b(d:Xa_q R[ml#'3&JP^ ͂ivcխ;CfK\;\z˨@eh0eӓ%Y>IJ$AXˆpzSIjg =*b(;qaצn w x\ 6\ϦߐMm;;ᵒVNzU}s":2)@L@%r_ ,ۑ$ېlЃWJ+< ټ;Vc3g$=XXm#ho,hd&d CT?ޖ^9u뤧POG*͝ZYWxƝɰ&IhAlg&+m< #ʶoj8J05VQVP)͘lk@@kvj1BUC[0ȈNsȫE2x%pjص XA|۠mmPKSe?NDword/_rels/document2.xml.rels (AN0ЫX'NJAM%pqؖgJXp$$T"ƒ{Ɵ8W{*Joz*8yzAszA]HG :(%GMRb}5kleE(ey/y䝢>O7aDWȜֱEV >6QzAlq܂y ],fiK4՜ N1 *Iq',"PK-d?N^TM[Content_Types].xmlPK-d?NC _rels/.relsPK-5L/Eŀ}&word/theme/theme1.xmlPK-Se?N" j L word/settings.xmlPK-d?N) word/fontTable.xmlPK-![m word/webSettings.xmlPK-Se?NK50docProps/app.xmlPK-Se?N!6NfdocProps/core.xmlPK-Se?N R|Bword/styles.xmlPK-Se?N !yFa%word/document2.xmlPK-Se?ND&)word/_rels/document2.xml.relsPK e*pandoc-2.9.2.1/test/docx/alternate_document_path.native000066400000000000000000000007451363630463000231560ustar00rootroot00000000000000[Header 1 ("test",[],[]) [Str "Test"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "italic"],Str ",",Space,Strong [Str "bold"],Str ",",Space,Span ("",["underline"],[]) [Str "underlined"],Str ",",Space,Emph [Span ("",["underline"],[]) [Str "italic",Space,Str "underlined"]],Str ",",Space,Strong [Span ("",["underline"],[]) [Str "bold",Space,Str "underlined"]],Str ",",Space,Emph [Strong [Span ("",["underline"],[]) [Str "bold",Space,Str "italic",Space,Str "underlined"]]],Str "."]] pandoc-2.9.2.1/test/docx/block_quotes.docx000066400000000000000000000667521363630463000204400ustar00rootroot00000000000000PK@!Qr[Content_Types].xmlIO0HWj#TkOCȞnIn)y}[ML!DlY%`Sڎs>|NYQX%*g!g ׽ bBjsV"Σ,9* F 1B~1VKg,X{n 10,y\Q9WZ 2|.@Vmѥ+MO,7>=Gk yd C |ɉ!Qvx(vIT٦bkXH<Ĵf.1( Foa~ܡUH;͡H#ˡV4$AwټoPK9L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK9L docProps/PK@!F%udocProps/app.xmlRN0W?Dβ*4kT-z(8Ibձ-{@w@H[}p:rq1+ &Z}~;RW1X1о>QoOpc̎J%9]+U@#tGdW뜡hG ΛJ+Sd"Xϊ/6_ylOI44&L476jau#F=T\S̶À Kz\ZawYwXb8$@oq$&'k?\ Be3hAB>81a9T<6NYM|r<ZoQX]%I_fCOο)wŦ'wN^ PK@! 8a#?t/1!##:za?9Cs:r 8v#'uK煮]P|CsC;#G;~R!Gct_8~ҵo( ܼ|_8=|y pvX>b=k܄Y!xU`su~넚1nO$9GJC K]PRS0[~9b4ϑn6'NXVbC HWA.ZԒ/x4M-a`9GW:e tبm%S*t^ؓζe`"WIr~[* vm]àjde |%d39:P]I%׵ 's+ߏÎt -|XMl5NJZ6K7`9FllJ9Tٌ TNK0^u}3 !|jf:JT0W)2>ޭLQq2jk7hY˱eq'8 \|3ר3s%hƸ•(1f *ty`A S PՄTo9-bu19vʿ3'LeUSq[RLJ3EqZ' 4ЏSE*6UH)!lguLuK4;//'7W5tWEVIK}̓EsT?f_AUS /s!Ȥ$4n-k_ז3f|^&zΩQo8L!WNf :;wOUTF6o|⩳sb5by~2Xϸ7l;"AYą.VLIV_Kҡ,s#|B0௥oYukV˓]z`tP蟀wA'<,T}H~ww*X m xkvNNR6+Yо;d9 nn}QBq5Kl!#V (GFnW]K x1%fDO):!STzx\*īvK]x(kJ}Q/>W.mO^Whx('YuMP*uLh\z ].n{ʜ<W]Ž(m~nS; J;@v`\ v^ 'U1#b} 7^TyDvĨ- š+_ Igl0`O8Z@rūxH Osk3MtNC$ŵDdJk;Ӽ L׌7;4.!X_E3fSfUO&iՆK2BҏEY2 .ﶇ_wBxzJZ$*-%L&mk6š'khdbױSTaኌw9,EZaKP1PbRSol|vCסrh S!t|*p4]K6g&ou;kR?²X]=$햟n.c_ɑ Ig Upse֯V[|\h>%on1 "-{)[k]4=3=fPA>oO/=E_|*?ü3eu#; nRA=8d]j.MBN_g#X ri6ZtVݞ)tepuCKbLcP9;k? te>Sv-zN3oHM@(by}?RK\{lȵ"L`8A%y`KbWgeuјJ/ !PV בm+dj!~*Y;%bt;Tfx ٶeb橯*Һ35[HdOoي Dqy7f_@|q\j~'){24>7'Z_:h{2e-3w)|2b{@,6a'%[\{ ?m.>RV H\Ws/zb),:5BkjZ$j-)mҀ}!f~#e "TYW>1,SuEsAE_)t9v@>.񩽞>qlewvbk'9./(a3PW.-Yu .ʒL6/ `M58,X접hHCtUk԰7k_FA $`RI/ݲC=nm BEHU˰y+J)%xRV!vX-!5c4t_)Z#F/'.3̵ԟ*3y=0WPl?(~%&eY?Xv[Zz /aEF Q"䭳 ޝw3ZVrRێe!JHB>uցϵmfy=4BAL,ts$ ;U9͛ *QUe&gb Z72691)"lURWkk.p*ZJRblՙ<cL_j^ǦDHF9#$To5󋕘#&f5-ZL;aޗ j^8TXcnQ?^UHLJX3_9L'[8~b$#4ɨ8ڑtHʼn(JU8QabmQ+ ='lSMJYL-j*I%Vv70&R-p,vQҧ s}`HEƬ5aۆ GUGXORy30@Y$i 58Z)\[1ӟ,Y3)B{̠rI"y2IA0K, J$m f=[t<'8]ʧ*<ާעYYhq:&llɬWu8j5a .DӶf ̄n/T=LOAw׃'XGӡSW/o(D#OIoQ VyӃFAogm#5v[4]7#NSWfHW,C9`wdJ!T-ghjS( S-|Q * ӗ̈5N6bK[d6?.42l`\8tV; ̈́`L5ݒxrZ"bUA!Eps\wX{90y8✚zPrZ ̪/Δ}FЫ0 *Fhfߧ|a=c0RVFȵ(k^TvݗldOEDw"Vٗ]q((2N~eġiOa!MNֻ@ߒuդ"t6d9t}+Q忯i44Pu%쩛Ջ_`l1gLBl`^%gQT"{D#SA:|xqBm D@ G,6g)іX p_激W5h;b;"{k(\K0Xĉ XOsmn7A3%J{UFތTZTDB UCp䣲zdMºS,^g񱯜m#]@XVwh Ĩ)E]|bؽ>󰔬)3Vli01E@=#~K|8P{Y@>Pxi O¼+׵*mfY-2"Naց=@3G5!ag{:Q5aY]U&lG[@nca/k>rWܱ…VpwꛉXGHO4 rF$ܑ<+c?}|0Ak>m$O>7ß덭 `@:fԛ&RvN!"\ I3=~ugN}[" _ptDC`gy ;I&5Z>ٺ%Vs{جo_@FԷBoϡ)zYU3BEZrǴvnf]NnG[[Q9dg<`KtinNs0=/WIvE.fXi(QF:IA_=ILzmŗij>(m\9*2O9RZ l o޴0ͬrKwr@)S5 Tbs8F9-nWmWow袌_ =!y5NJ5 3$3%ZZOmcz{,$R:D,tޠsraЗ~ֺe)W7QV̟i{Jڃ'=#\w79{ENbܱ 0X)kKNٙy ZݿܘH~ƌa[Vbj9,l{M=OΉK/w>1./pkY(IwuwRɸ3JnTɥw?n&lxƗU6ޖHIRc7(^UЄ@Co,ɟKLcsX`vZW~CZQ^ߝe>4k.Z7;Z/ ' Q݅P[NڏѴ ᥖ(~M`Nĸz:Y|webʘ$˖lnbRϋˉ5+"wi\!}>wH̨ѓL;i4}9=î̮^c'zb nH|pJ+9tӑ[ 2͝qv;UE&@)تVY,BcW\k/?ΖqG2Nᇝ=/n'a3KCmlD-nO'7}\qY#h.Ty 3W FLBhֵ9#fuJdC[E =Ӎ)xpu~/;5^\|uVuJOU[[|툵DySTWpEt_ŅG P ?d^M07ݎv/ce&9>E@ڨ7~S*#ۢ=->Sl]85yLmW@X!? 淣yY,V{ep n:}goG=G0(wAҧawE79(Q㶙n%R_&}M;[>+_;4- 4ؽo?U}l w2§P5톇w9K*ܣp޴߀xf*& 3~V[䅲]/)kiXe jo 7s'%ד֚ &J 0*S?bݛ]W4 :ݷ5W"_ߤE`]|g ڣNu3xÎkz,=ow)3f2+QӋ۴7.oTHrK7wƷ_;z7JRF#% >/ew ׅ= ~"hux#nQрbGگ~ Rnы{G n) IU60y`B^n$OVXEGT49@H^f.N0t`r6$s!E9[tt`YKci1s){YjN8QrނE6N27ٓi E(VUױFUjPB3hVGs۟>n/[OWi;U=x;iOt@ߔ,(dӳ= c`^tO|O]s|@'0|%H~f:ꛭ^{z0ngYh*FGB*ώ>8u?7Oc2 O+Ƅϫׇ=Ϫ2 c6Q]g: 7f\l P/ RE&oDjذQεWַvܭW8_T=c1Ix0_r1Z'nNMȟxN5oc#3cy?t T|&-@kǀyH4ᜌ`?{SI[om7cgH/;ݟjLS%nu G 13Z9l_g!bpoSW 8%Yq1@2 o"tʜzVXT`FўIպFsm54ߜ{nU6MQQy"HWzSY? %AS-!󔚰?3UjuPJL%?{PQڽRG;STEvLQ{!.~vӪUu-)˶=i& 2,728dW*W 4)ŶRZ$qqbp/ Bsb/]$ %jLjeL3kk17!f`̔jbӄ!$S|-5Q=#m0/98.@X, è4,޴e]$Kuk`H$ ,šuyO~{ [*)7no9^OW*Մ'.شT_ +q=?VuK*Jy%U|>,w3obŌ=7:^^.& F^k h%yv V- Ӂ!|ڵzί oH#*MYД`L98;.N9}؊{MK/qFTvѓ}tE__BNT$%պzyI]ʼngq7!\<읒G @ohݬB0>tfwt>t$qQy$'ŞA"آ^E\lt<|ۼ{p2=\ް"@|Z|~"3/c]]_dp[{[բUiPX߲$i!w`COE5A:NIj=pV).fJU Mmoݴg5P-+^qm۷@GxOSyM K'tcծ^F`VН n0G,-?~z$?r`1،Fڷ31T(0b:IcY'´mbUxn(=gfL( ZH>4MێXzHKz Yz]4(zEp"I,̵ӡk>+<~N&b' `n} 'S\;f`"ٳDس¡_[*a[ycA^P|a]oD`v2Q缡8'x}#%[8t}2MЮrN<(7]^ NUD26N+?hT4KSӻPjf#8.a| f5m\dFw"C YY ׈ڑ_jrow㼋wD#[$B%։NIT*~FŽJgW{4C#5R}Xb g]F9g;ynEvOMܲjhUPVy= 57L?z6S#wW8࿶*oOXsZ5Fh LCx-;vZl|DV~)I3;r؈>Vv{6 f2BlW6=h%|Z : CB8_ Lm liIv%ĭjLUN>19bW|#">?ǑmV,/3Qԕb1.8^JKoRݸ"Y-Y& bY#b1';K );qŻp9Nȑ >w?^j"ϫT_ ʹrP#Je^Xt ywj?KdXj{RDE>mDjv_1 /w!bcp>Ձ$ʯ!.|qլZp ^-*q:Y5hϯ6 \lb>q=U&аª7%efb`UȂ~_/ZrG8ŗkDZ8taJcGsfz BmT`>RٍgDw=ګPQMHȽ+ܑ D^";NC/ֲ;ui^._4huOKuf^Ž-ZF ׋ا,'nBGRn\ E+JjP@9'l=ɺsی|s}Cu`{lqqGsV\Q$+ma/BZ{v(9\/"W2r 3^eB "&xiJ=N[W4Prov=uLcpƊ5,C#Ӿp%wNMyEptK`jbfaEȸ=lQ^ȷq3$Xbȵs86 n׺9v|[qqq2O{ޝɵ:F6SK2tұZ*cDžo}rу[ŭ4)R'*(aɮPFUC$}^m%{ܗ9m(ΎhP/~hфWYAiDkSΩ%"ٮ-L{`I.e[57N]ĊxKuۢt,^M/aO8X{z +d]/"r,!V+sgFNؒr˗Ҽ=tW~W0oP̘7Vl:eIx8(d1ćL?R:#wG%UY 9鐄4L#TV&gFM8FzEDn~ sыy^ ʰsݞon.$N:ꗬ^\ֶK \_ E0?? dKZQUePlWx/7R SG*[;)~ p׬z>bII4|, N5 Z(?HfR׻FL ëz*9 WPظ9QeW* t^ܖ.dOAiN^'^ڀ}GM 4@̻mz$E4[+KXUK_Y!T()r Ͳ0]|`F;لɟQf8MrqQ$kEɶ/ܝzu WNT~ncWQR;y{ Ii0+tL 9y,rh,74qT֔B &6쾵4=Z'SKkmxޔQ߰EvøTk~JJMrmDǩ`\i܎{ޕxEGeGUr޶yO4wkKl[3уi]q7)H'Su>Q7bIe ,tfȵ^E$ago d JB=g>zMf/^K7,ylR9֗eE'{4:*+T4`Ri=6)/N_Ә.MlU(`I$=hS^ǽFD\4!nՐW'xZG}FWI+64ɾ~sH>wsN]4~=t{b•4S|+Oȫؿb: ,/(=%FXFNm.:9k?zrb3{iK&;zTz04&)V8j&eB*Sb_9I1,W'=gA9D`cC/Őa (qZSͻ #uRvlt1_s,xޕB/ׯ.E=dPEjԯߛ[j}.w/%8V"ˉfz+-7G7\_zDV#ܻ#Aѷ?GaA8C\ccwt\7=UA!>*3Rn9ly8<+K 鵁V7/(a1+&pqU5DavG[5ƉbƝy$_/яkOk1kzCeG>xׯ [|7)Myo&9 ,fwhloßKG1]nLXT8V!!7ZW1 D*^鑫4XdN#,<> `b:FpT]=}k|Lߒ1A>$}^",̕J)ڍ"3+⒛_{+ijڕm6(0 !}+T  Q7f# dd:[{]KUQݹKr0놰B0>a ?^T?:{pXNu^f=D1'b/O}Uŋ_Z HUʔK ^_S\Eq9˜-]N膴029YU',M|zT^51UNER݂jI**dD= 5~ G~%z%_\Hx\[-['n'W7il֤f!%VkSf~y"|l7kHc.Z r-B6ISGqEóePCЁWfl Sx`Vn>4Pb?ĩ-:AdvSr9yQo'"|L>mE5'MJw1e%ö/s;v=nܴeʘ%w2SgKVոVw|wnecۧmzҧ9oOIÖ5;=/oTɷI[Llj9մ!Lpqk$!F(`Q@P&PK9Lword/PK9L word/_rels/PK@!huword/_rels/document.xml.relsN0HCw@AN/+qvubۑ1BgV;YZ/I,< A+]mi}v I aK8: ,NOKmHb j k4"E'y#(J_VQ!eٜ~{ɪW9$d;['_ Z`BBsҘlbJw<P1)A0~1w{[mc GA]ّzw)J3?_WϚ;PAyo`{PK@!d &O word/document.xmlVn1}G}n mX5B3rެcloo{| $U-R(3g̎G.Ɋ+@n' W a@*kn'e+rAeRQ90,9\0RaU3mqkT C)k(Z MFLN.=̲Їs![{ jF ᆇ@ek D0]+z [Y ro;;x\ -qC?rY3؇3[&W>L]q@hqhS`NXMvC#3˨(gtйDF8;!YQ2|QM5xJ n\<@.L5ZrYQ9 >pd/'Ʀs%%^EYҵ^55“ ,&LX?qx.#o乇rk?ܚ)I@ۑG J(dBR8*ü G,P95xP$_ j7&GHA|6~5QKKw0C[|7y-AT D%by;dr#XrM5_N?Şzްw4N9Z)E R%\7dXO_,(czo.]ž -gzq?X~.^oPp#t 7|fxp;U0pղ9v[MmXFT)_ǐe[ PK@!ؾ.word/fontTable.xmlTn0 (YI!rХC>MS6Q$mǫw>Bm d+3% n(A}  #jDV,C fUyZhlM%Ĺ2 CK'L%SP,ЌCIiyB,C.[1g1t*r~}hF섗v6?mͨ42kRT|p="ɩVO`y}O H+mPv@pY%5O1VqfCHfv;#]ȝۊI=ºMlDc[8(izqk9s@J /IZjGlSQ4ms'iE ](W +$InHQ_Q&uKI,f{XgAV\\MV!S$1%X-3+ro,9|5S=C=`nlF{42oIHwE8v'Ip_#tZ%vȎ'LM %LY)!Fqs$I7 j%<;Q†ΘC*"U<-l;sS6Rح@4xKRЏ>/EOc|tMwt +s=[.c=cL~_Uea >{Gy B&<$tR>>)S\%ďN:D4!H)7s!ͭ\t"Q h6c1ӯ~; 7E,"X&kkߑ46WKUY0"JN'q/!+H\0)"ykf$ q2#2*w-+ψ 7T a9W75(}٬ReQpeFg2Aտ\\ݲEYFt3;aݼ4lބc=qWu*m^KeM;"!f^˱1 _fJ'Vgc|ݰ,8_7,YI 4r8IfQ&Vq(҉9RΎA8yIm֎axfqCgI\YiB$o-1뼶=S?Z^Z`:Nԏ7_&3* :Ӹ:dǑpTfhdƷVQ^lG>ؠ+ZuwRz:z5ް}ٵ?M7H_lڻTy>PK@!#cCword/stylesWithEffects.xml[S8wf47HHiB)PJ}Vlh%O/sq|Ny>4s~GG_6#}G3 >;ھGy Bѩ)MxH"?>.GJFTyWeɨRD}Y 3!qKf,aӫD*eh?b݈ۧDB mn壱OLfS1j}WnBQhFqT4f?\`SZF&`՜%뼽՛Nve9v Ig~Qa6`D$MfIy-ߖrrrMEܼ]/ |cTr f2'y`tȅ$Dd22";wϥZyQc&%fW75(})W~l6k(]*B,Tk*I4Eɹ.,(?z)M߱O򾵶{V[1Bb`鹩~P@Ao M,poG Ż'x@8 ɻ7 xXh `7#x@8 7.<poG" x(h `7#x@8 7#xCoG`FoO juߛuQIyI,z؀踷OlcwbQl1ny=8-ǹwEWv[ˍBmz4ԯwv|p:\6/?Z*mao>k籤.kXanvws9)oJL}aqG?|NdVNj&?K9'ɭ U0NUz|JgBR=7 m7Qr'le 9[>!7?zX-<<|Ʃi*c?ut8&W1}3r$TIĪ8nQ1)>tb[#bN |I"4Llkn'2W,EsEIZ$M#:Ym}~*qL*6i:QoTYuNtg;3 BԤ߆ZmGyU-uTjbV ]hQJ1ӡu;/׫Ad ۗvo;ڄyt͞|/ Au5QŕPK9L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,a|NYQX%*g!g ׽ bBjsV"Σ,9* F 1B~1VKg,X{n 10,y\Q9WZ 2|.@Vmѥ+MO,7>=Gk yd C |ɉ!Qvx(vIT٦bkXH<Ĵf.1( Foa~ܡUH;͡H#ˡV4$AwټoPK9L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK9L docProps/PK@! qdocProps/app.xmlRN0WYgEUPB=I:eNHӼ77φW/aWo7M]Q0Ѻ cc]}R_opc̎J%9])U@#tGdW뜡hG ΚB+SdO"XϊW/UQ<$zZG&{yFFߺ {-mgAhXs]awYwXb8$@oq uj oix3 8t0Z*SRo,F>=frqxՁdba!6{D^5Y^sZ5 JmzC'V߲w<3tsK py%Rh8=RҌT<<.f$G0a˺¢,;ð3L"b_u"aX\s`A}]3TՔךi%#e?::)2rt"Uȶc?AcŪJ.+?  qX}Y7ؔ=dJմ]4$LEGHE.K|Og?TZخ'cm&30y&T@8?yI.|#"rl^%-Ӹr &@ʇW⿑u Aͣpg՘|]i3d0L Theqy6d!jJ иLW XĿUlE K25iR)-kt%Re5Nu 9Tİz2j44a^n6v2cDPqʺft՗y)}^3'K бs\} ([W/ 5Py +RTE7<;(oB]Xg/SԸ_&yvTb=(a"4C2q;-K/v}TһՐR]y} t 4+A Uq*7u1 !uCHz=uP=]kR; >h/d荂ShF?2Kx|xD@86 ђn')5sJΧ9ikMKb*T]h㱄/nOF~L}b=Ko5HV(z ljfij󍀍/giK4cPZDeխ>ԣ |.`];Y[hf-/9Nݨ7} IaQ]vSZ"e?ʑ=W$[Hj֥.B>< XF2%^v ,' ˖ҙpPc>AV AogڙvOiw°Ɍ'iĪjbGHȤ %ޫMUdk[lubI{U$9t īP|c;cێnf1N۩Tdq'RK1"e ?gOmxtLk>hn6n}_[)wΰ;>"GA1T?jwZo]Գ{ۯ[?wԅ÷_^p6J8Kɪr":y#&eK +1ICnzxڦtJp=W~qFvo_[d 9gNvaG)_hk]n=<9Uu1j}#LFG^LVX ӳj`5Wydus(oaJadz H80g$ f؂b_LjHU䝌 ໝQx54eH54nϹXn,LrJ|ҍZ{刮7h .\3w)6X1nplhUyxQ (WLhkx3k掠c`<$;"8[ a~+J.uDwȥ /ngC3j)/5Zlymv6 7ۛRu]ݳp^P0U,$/fQG<"?;8rG4Ћ9["Aʞ1Xq * TNujߧ>d# y*8_\HE;COX oM,m8+i} DQsm*Rtq?t}jKM7G~Q}0eR}V?F.:JDA)6Y y2`݋ƦyޖB;YEx7EIBn1~8d d[{B.-D`g3承b~E/Ҋ-kR\S{{d[tz?O2b]6}VtCbw&hJ۟5VW t* AV[).'X-.1uUSOSXۥeR}J69ƪ`7 O3k|u^nSkו" BSg!E#% 'ꟛlɾU yp78jđi' 0Z:ʞ8^p!htj<AVdM+tW_LSV6٨|%l.݉ճ6E 9C[uh3b˿jt҇z/=Q5d/7B8! {S3D8 7?}O׺  ެ/'i6)>lClX]g 7yZk2\9,$nD& X+SQo`cn9׎T; mOe݌%&AHVusWu^ےj Ysv~|R[o'%pzM~"TxYfտj1爁6fVUH[%VrK'RۏBm5нq MzK02[Eِd`7mT } bmmC⍖a[h_adoq#Se YN1ۿH^XGZ!9 T=X:vt=޳!훪$ךeT \7<;y._l^Vl]g%LHC2m!y͕TgMؐ*:Ƚ3v5!7 3O/Y"0 `Z"`~ͻ-Ì(Dp*'0֠4t vԱAAiC<{aeV))89ܴsrr~z&0"Woqķ5-V5x6v@{BĖ cC"cm%/LV; OexA7 S{j/&219}>wN9½ڡc匲fА1j!nXi!6T>Tpb 2Zˈ&e3F(.V^m^k aYCsmޟlKlz_7r{ ^k3-k:v=ds)({S=o\Sx cSmZhw`ܯ2n[9,@)G~ ntCӪF1j͝6-1%,"Uq}\%yeǷ#Rb+YX\A݂UrNHe4#t%qePDS[zuY#;& PJ@Mп^L7\oqm[ILf +Mz8l4 -b[dOZ[STC;d+FgZad֐vذSa`S^]ӓE_v>yB)~Qljy76eS>*z%jƤw'2>̌͌]RCi8 vpklS͛dcÖvmEt^N /[Dw20 d{ WKRDu2"Rwr+՛\ҙ}9qGy#2) gO"iIsRnVR SZjByvck5v+ޫGw~?D\Cfׅ&\ɖH31 "Ri5{x77PI-֎2X !ş\h2:*çPq݂x^s:h׊Nw1駚*DR2B7 d8 ~9H'z? 򣩅Scjޯ|[¡,&cY`G]V kf)}{̈xlQ Ac;Ā~s$0]2kƛWs}e̛++ m#&m)?%'~oSJ+fUƛB+Ɓ맚*ͬ\0z7$3l o}&r&]ղ5j{{۳D:T/n=pdwRm'2HOs>9(?\8⌴ػ_dLʹ;g0;E((?-kfo޿7PK9Lword/PK9L word/_rels/PK@!huword/_rels/document.xml.relsN0HCw@AN/+qvubۑ1BgV;YZ/I,< A+]mi}v I aK8: ,NOKmHb j k4"E'y#(J_VQ!eٜ~{ɪW9$d;['_ Z`BBsҘlbJw<P1)A0~1w{[mc GA]ّzw)J3?_WϚ;PAyo`{PK@!B"word/document.xmlX[o0~$P֡P+0 y2C,۲2w zQBhI_ws5՟9k4|{EHrz=6 Nhje L#8& ҽb%LQD12BoK*֠;k.ρ`N)#! H%HU*S"CQX[MJ-+`xlA* Մd!rS<)€:rc`3@^5fl&nAQ(a؄~X%`:bo hBa_gŤ|q;wͷwJrFvXend1P@ \(`<،t'Н"Q:Y-9v`0uN.1SvP07F@b؝&2Fjכ\zo'Rfc,i%`TD&!ځ?ĘCceL!Y,V RT8XS9JFxeuu" NAb%@NSnu%PWg!cOO)xN9Be0dϥɉLr2jbG-'7Zb6jIkœ"A(ԽxF3kln_$-Tˡc4C?_l?ZKLqNm>5nn-)St9hwۜCo|53k}#"n8Y>t;5 63ՒԿ]cDf$|HS.SOKuX0 e3r( ('3j0< FY?&PK@!kxword/fontTable.xmlTn1W;|k/,KUxVr%{hꡕz WwTRC!gfo+Mu F em~BT4gh<v=kF{~ڊeh}َc\Q0%P,UԎbEIyƌ*! 4lalFXn6;mf찴q@BohHCƙ7@L}@ #%QXHK"ԩfmM=VP(6MNpq)_xuo .rFě /g5}F{T 喦JrLeV(|1'!{o䲕دǞa]<` ! vT'!ߵ6or}[.zށ·}-Nh˫PK@!Vword/settings.xmlVnF}/\Y-K9Pla5F|Q[ K1w*B>yxv>~br\u4 RW\K6&1U1#ͯ|hS ΑP eSYs&l6i'31RK/8Kx i:jPC%jw·z% BSe#A APZ=76d5!RvqVcqN{>.Zz )B\%z}A#v(|wع4SO@.d>J#+nHQߴ65%]+j`wO':}t_rXl {0<1IpupJTp: _ ?}OJTWY4 NGE ͈:9s.dFNF2?Df,evaFBEBDˌr]w$MGUr$dKQ̤nzG GPbdJWƼ-eid͂ IfY<(hV.eUq)d}Y_*x:%*bP_g\Pbdn+b͟YNULONѪ\/VmG4/rrR -F NidT ;ԲW[v zVӯ#..F.N]BJMb"E#iZ4RjEcíZ4sED18NUzRW~pG$YH'Aq 6({6tZYfi1YEm?PK@!>G.?word/stylesWithEffects.xmln8wtzKب[Y]:\mH Ins{JDBWέ M\LޱO2̛d:P-(jrX ZM}f|^ٚؠa?WB?︦\QF8>6wsYv@ Vh:~OC7G .ir.-@8& aPMmbr{Y7c޿=n<p1oǼ/ 7fyX8 7cy@8[7cy@8}G@A0oͼ,4p1oǼ pr7vyX8 7cgļPB3o Ǽ p1oǼ wn7cy@8=# 7fyX8 7cy@8 w;ϼ,pmD=ҩyXy9Ddzşx` bkMбWZ;^w; ه~M^}'̏waYO&:Y5'fuT4@SyUx e D6R.a3y;NO9;)~pIS,C,?3?xhŢ3 __6QE4soτ"nc^@g7NՉxFedv >AQǑ*ʄ*$F[ƻk!~w>3#XXw~m1'*aR V|ֱ߱ع[#5˩ *PK9L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,aG.?3word/stylesWithEffects.xmlPK9L Aa:word/theme/PK@!!Z,:word/theme/theme1.xmlPK@!ʳC@word/webSettings.xmlPK^Bpandoc-2.9.2.1/test/docx/char_styles.native000066400000000000000000000012231363630463000205750ustar00rootroot00000000000000[Para [Emph [Str "This",Space,Str "is",Space,Str "all",Space,Str "in",Space,Str "an"],Space,Emph [Strong [Str "italic",Space,Str "style"],Str "."]] ,Para [Emph [Str "This",Space,Str "is",Space,Str "an",Space,Str "italic"],Space,Str "style",Space,Emph [Str "with",Space,Str "some"],Space,Str "words",Space,Emph [Str "unitalicized."]] ,Para [Strong [Str "This",Space,Str "is",Space,Str "all",Space,Str "in",Space,Str "a",Space,Emph [Str "strong",Space,Str "style"],Str "."]] ,Para [Strong [Str "This",Space,Str "is",Space,Str "a",Space,Str "strong"],Space,Str "style",Space,Strong [Str "with",Space,Str "some"],Space,Str "words",Space,Strong [Str "ubolded."]]] pandoc-2.9.2.1/test/docx/codeblock.docx000066400000000000000000000204211363630463000176520ustar00rootroot00000000000000PK]D ]$[Content_Types].xmlN0E|E-Jܲ@5*Q>u&_g*h̽WL; 8t˜}_6-n&󽇘P9[!GΣ\1s,U*@z KKw="XL`*֘sK,yjj ﵒ̛*?:@Ǟɍ-?hM6=q|=XSAD7aHo](HĬ*%trmh$}pb$=_$vm0EZ$lFfس"Xh;^ #'I%)x?\w>ղ6kƮ5 ʞ~kdIwPK]D? _rels/.relsJA >Ő{7*"^ЛH}0!#ZGr;R|̛ GcVw5R&=t0[b'T9֟!I O1}qѶ(?0u 7}|; |sGFJT2kT,:-rCVt):fvu{8PB՟9`R=mW0NK4-i0`ƞ1( ^6&2z%A9ц7NxIa-^v-Q#)9`r3uH:㔤0t==U[v@yɪ4|1A?>]۵ܮ-UH0 x2~&"$1n!d _XfG"N-錦JΎ k`?9._!mh6Wq g PK]D4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PK]Dkgword/numbering.xmlŕo0+HP,(P--v1\{i\ZtY3yLUQcm/R6"c dHkX)`3#$-6_2a*[;iq" CvKo1g>Ea_u_80 ghJ,ƿԖѴQ)3$|B&@݈P .  9YaE|!s U[Nwj4DtnPL_^ 7AuTw9T5_ `8*F-I/J.vwj%f{B}:ᦨnTtJ%d}| 1v\u+x\^%Y}]LQ}qY) vjiXG=z@Úh^g> tCvq@ [@/B/XƝrVP^3^xJbʉ«ה(FI 3>Ix8e_aiZ w-#%K\훣&{-Ӗh.@+)ONۙ$biXX?оz^';T0 q~Dů[n!įj=LJ''N4nPM0*8iߵǭ,{|}6Trlۮ)k;e}uT+&TC(_1Ncߝt:1. ۽=l IC*м>;Na{Wj<\ޯ qԯk)azKvZ)$xl jv뎨/,D";{M= wM9}ó-gHqh2n0̳*\=8/WMc>a)r4U+,V'ie괎h߫A&lPcڅyS/LI/DxF?5O^$(ΐCHw=ioPdO(dH(gƴ16 %Cyr,RiM: Ge~- =D<_aj!xDc{/>?7qr-5%I^IIIfAerŻ̀CB0a{A(V&la9o lX܋44DU^Jǭz_b S}{i54P?֛!S/ﯿ=/PK]DudocProps/core.xmlmMK@ 26 "< u2Ѯޱj+$twdUSժ X?鮼Ub`zR*O-^Eb HN*>QIG _2F4*O D$h6V]$Hg#E7\s+8s5_/h~/嫥IGRCg+ leIK; PK]DdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PK]D= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPK]DҟVword/settings.xmlUMo0WD9/%|Z-PCBMwǙG!KN NjhO'f2[u 2fz꾿-[{w3 :Sw@ [Q%LLJ$aT1& Rt+3HKV'BҝԴ7l+`yz2m͆&_^pw+KWk+ n dM5yN3QF/!p E Sw߸]r "Ã6 25".@΀㋠VkE BNIay,pɸ{W<_4oC}t qFjGFٱ"9X$ 3BkoPo™89ԹPƦBA7o)KQJry\Lita` _1jv * 8źڽJit<gwG~1b/hp~vGC3iϟ 0*m128wyT$>BXj"w i%K'oY+𚜺dl1 wQ˚\l"6ߠmAgR!1#\ ɲӸFEa‰ bM\uOqCh].jkF\b[_c jlhamhh[r,Dr.sj԰ BxQm5ϙ6!d(FV/}PK]DTΜword/webSettings.xml];0DrOl(M"L$loBAA9FS6/ ,Js-GJo$:+bG)1!VJ)-R4 @`M'a:h}T LqkwWa gsZ^;PK]D ]$[Content_Types].xmlPK]D? _rels/.relsPK]D}word/document.xmlPK]Dz0dword/_rels/document.xml.relsPK]D4o}word/_rels/footnotes.xml.relsPK]DkgCword/numbering.xmlPK]DY.word/styles.xmlPK]D(*bs word/footnotes.xmlPK]DudocProps/core.xmlPK]DdNFddocProps/app.xmlPK]D= pword/theme/theme1.xmlPK]D{H: word/fontTable.xmlPK]DҟVword/settings.xmlPK]DTΜword/webSettings.xmlPKopandoc-2.9.2.1/test/docx/codeblock.native000066400000000000000000000004431363630463000202050ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "some",Space,Str "code:"] ,CodeBlock ("",[],[]) "readDocx :: ReaderOptions\n -> B.ByteString\n -> Pandoc" ,Para [Str "from",Space,Str "the",Space,Str "beginning",Space,Str "of",Space,Str "the",Space,Str "docx",Space,Str "reader."]] pandoc-2.9.2.1/test/docx/comments.docx000066400000000000000000000413251363630463000175600ustar00rootroot00000000000000PK!إͣA[Content_Types].xml (Mo0  ]XEQa[vD'$Q?Q i4ŀM}ճw#l1T\Fcæ..DIZGW\-Q2-xK8Rc6mdTڀ\K Ђ ^]Cvg~ܑ$pY?ƫ*Fg"`sY%W9ykc Bth"ou5(nU_s|dA\Y/sjPCs1 !˄wۄ136z7{i ~':i{ 9zI'x$HHi1JOB@031 ʓ}0 |4Br P#Ճ9qNwҞmʼgəbiH8Mk<:~x`PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!2*9^Dword/_rels/document.xml.rels (N0EHC=qR<Դ@u&iD)K6} ^ΙhFj/A]&A#_,@afk.ּ9YF3j.9׽fU \Ao͜~Hj)#wT_cuaw?_PK!˼uword/endnotes.xmlԔn0@#?DCUD*#vU;q!!:OEd;q+]˕LQ4(`]^l&w(ȌJE˟?ud&c6Ii tL;eUTP9,pFQf-['u84̕مJO㯼lǨUF&b2$]6n=%q[`5CJAI[p=](?W^] aNl3?Og"co樹kG]7FUzh[6qid  lwRZBF0-'w``&8exIipۂnFػpeO`o615IUϚ#QjB0"cp`PrY<|jE2w`Ppɬ<ZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zC`LrMt:_]FIF$}/PK!WU(customXml/itemProps1.xml $( Ak0 {j7K)k;Cc]]GI lgl9wxOHCÌ}rXʵ." QV"`mص2sDCS?8|뢨ʇ`U('v̳r+7" q6 A hdX mv=u] Hs6T o͒wp+h\uԮr>65Z+PK!﯑ word/styles.xml[sۺ;Sز|I2ĵD3EBjPI*ϧ/%(.3}%jwb/\%\QH<]_z3 "L0);=|ۯ/)ay inE~wpGK bRq.UXȏ`fHag<`>1fBd,DK+cڣu&"rWI[<1cZ(Θi4VpՀUv,%'~EMRcvs-"߅ylYBV\n.ҜE֍KO(//yGOGoT%acoS'W3=٫2<0;VvwI7# 5>=TЄD>:y[}Q 70h@˄7-U G=xZ #ݖ]E&3|V)qRroZg"T?9,HψU˭ibY$m\M$,T@0EG"w+TCj:yN_jK51Oc"lPqjDsbCsZBsRAsJ@s8q)SȕVO?$q|?ݏ8k|p_)HpIFLb56И᥁ 4fxa`ŌEF)C#rO* o6oHo:ֱci('7f4 peV۱>c۹SpOqLITz"WryJ\5H^5H`5o>i3ͬh&4L6vbxmpͳLX *#߶;e D=$e"ai2Y= &]$,#NLfKH?0Vj 3p=x4qj$A܋*3ch(ĊiVN YOD{{A`6yWBT'Yˆf/ >de˦zpç )<<%n6pT;{yΝPyT[wxgx"|9yP$USQ/ah#1Y04*F `:le:l:%h `OtǂQ噆Q噆Q噆Q}s9 ;XHt`!a`ebFiy7RQ'GlF5Ţh$Bm8ڲy>3}'.%aĖ"Y'm/E0]֫6peU77~6O,UQx3餿~Layyr;KnXmiuڰ0{hMk6}C̽)k*])o["+mK0<}mKp<t.Rw 3a5Z[]ce=52[]exyNK+-™Е0Vp 7hnB }&F#F j PCW?j 5lg7+j5Dʰl!d'?j 5aC PC6Ԑj5DyB dt!jHB 0(PCTW*J#Ԩ[Ie; [2,kj"xVK0VUqՒ47o܄atPtbuvBB/T7j\ 5Z 5Z 5ZrW-W-pvB:C:CܡUKmUKmUKmx@vbC:CܡUKmUKmUKmUKP㪥P㪥P%wqR[qR[qR[qՒ3Ըj3Ըj3Ԏj&/$?.L=ۺa&.AjNI`^Ie6' !l*Zʶ"$GS)m< ;;uAkwӞ.;C2j5i?|i6%Ѽi3,QrKOakv4a:>7lsgzp)?9]>ޜvRCC=3\z"~>to(Dnv3Ms,Dϼ~،9Kv~~KaF=^ɨ<7嵿ſG`xߟnmrK=c3^7Gn};Q@FC֙S󀻎"kcLϝơr6{W\ g~ιVMFq7.ZƓ0ڼ-苏C{l!XVw6rNƦ(hwt ^/-/¹y2ˊ/~5(kݼv #vaދkI#Teʺ^/ȿRJ25ot[E7Hk9m7妡z5}-d^ɦlB Tn#UzW"I7툽gXf?WGf tx)22) `9֍c9}bummve],zs90?̕z_^m'tjޠ(~:j mw/?PK!i!docProps/app.xml (Sn0 ?7JvEŐbm =k2 %Abf_?N"r {F TK+"%IЩ4Lc`le:#[u$xN$bĺUQi˓|ŧ Z7OZOK߁~Or. FEu*gw#;,Q6 U&;},I}-YC%bGrȆ ZqN˦&ະ;džΆ0= V'v.{]P$֥bËޙ9zxIP<2绽&'lsnb;bF Ei;@};'ixrq7׏օPK!t?9z(customXml/_rels/item1.xml.rels (ϱ0 hoPK)t;JGILcXji߾+t(QE]1hjP >N~j.G{J D60o,W0H9X)ctl'_uݓ|P=;6w#w Ev d*yB1ߪ kPK!K4word/people.xmlN M|8cup /ҕuoڮS3}Z8/d$$C.6#o[Ld7,"O3R`SJ=/f~%wSBQH.h.Wq↓.G;fjI?i`fnK5s ݲ 7RɰCv|3` #3i )ig wn^ia^:_J;4\,H!j}MϫʱxKҪs;1OH8dbD3iF]&<8Hj;Gy)<]o 8QKGoM<6*=)6:.֦vԪe.:>ed|9[|PK!5eX(customXml/item1.xml $( M 0}w9.\ BBn8@~$Ao 'r^FPK!)ϓword/fontTable.xmln0' !MJ6KJ.ǀ5l#',o!lh@ aTU&Bs޲hrIs8_CxFJ4 B1Zh,*bǮFɍ;1פs(&%_ )ZQ!h(e GZs1v[[YUO1L@JrknWQ8=IUP<}*lS|\I0M’Urc/Lޞ wy, ]3%1FtZ:^=]TWY`a#^IDI0xXI~QL nĭ=g ;#/R &x6Fbz&f53ȈKī?,1$ӑt| ^A_(c-d>9>@E&WYd-]2 Yb:f` PK!1u1Bword/commentsExtended.xml]o0?kA ͢xd@#H~Eď-1WsޞCdc%JSCm`EBy7.OP!8 h0L* `RG;`*C 8' >X -ҲoCX ؇/&ZsķH# ILb4SAz#{.QIWްQ!(Z4CPm$ 7u" Ω<_Q[%hUqB g=FĊmcQqRc:f!ρJEr` Fi9ڒOuw`|y5I Ȕ2YL/i:L"I\?ra594+[`/}h8u <4wyo87f)s^w/PK![m word/webSettings.xmlJ1;,Y-T>@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK!zdocProps/core.xml (QO0MKG;D15<Mb46m0\ lS78TFOI2`$-Tz5%y|E"\K^ S$"63WQ0iL6J@P\WrR _26%x.ƶ3RNihRP(&YijT~g,z(vjP4LJ檱<"g_ |%!7.D ypZ= *$C/ NY޲]pq S[#OXtyv(L)mgznsY28f׋!KqGboQX;8E2J}ANS_PK-!إͣA[Content_Types].xmlPK-!N _rels/.relsPK-!2*9^Dword/_rels/document.xml.relsPK-!,p  word/document.xmlPK-!˼u; word/endnotes.xmlPK-![dword/footnotes.xmlPK-!R%#word/theme/theme1.xmlPK-!ʅM word/comments.xmlPK-!Ct , word/settings.xmlPK-!WU%customXml/itemProps1.xmlPK-!﯑ e word/styles.xmlPK-!i!#.docProps/app.xmlPK-!t?9z(=1customXml/_rels/item1.xml.relsPK-!K4C3word/people.xmlPK-!5eX 5customXml/item1.xmlPK-!)ϓ6word/fontTable.xmlPK-!1u1B8word/commentsExtended.xmlPK-![m 9word/webSettings.xmlPK-!z8;docProps/core.xmlPK=pandoc-2.9.2.1/test/docx/comments.native000066400000000000000000000030741363630463000201100ustar00rootroot00000000000000[Para [Str "I",Space,Str "want",Space,Span ("",["comment-start"],[("id","0"),("author","Jesse Rosenthal"),("date","2016-05-09T16:13:00Z")]) [Str "I",Space,Str "left",Space,Str "a",Space,Str "comment."],Str "some",Space,Str "text",Space,Str "to",Space,Str "have",Space,Str "a",Space,Str "comment",Space,Span ("",["comment-end"],[("id","0")]) [],Str "on",Space,Str "it."] ,Para [Str "This",Space,Str "is",Space,Span ("",["comment-start"],[("id","1"),("author","Jesse Rosenthal"),("date","2016-05-09T16:13:00Z")]) [Str "A",Space,Str "comment",Space,Str "across",Space,Str "paragraphs."],Str "a",Space,Str "new",Space,Str "paragraph."] ,Para [Str "And",Space,Str "so",Span ("",["comment-end"],[("id","1")]) [],Space,Str "is",Space,Str "this."] ,Para [Str "One",Space,Span ("",["comment-start"],[("id","2"),("author","Jesse Rosenthal"),("date","2016-05-09T16:14:00Z")]) [Str "This",Space,Str "one",Space,Str "has",Space,Str "multiple",Space,Str "paragraphs.",Space,Str "\182",Space,Str "See?"],Str "more",Span ("",["comment-end"],[("id","2")]) [],Str ".",Space,Str "And",Space,Str "this",Space,Str "is",Space,Str "one",Space,Str "with",Space,Str "a",Space,Span ("",["comment-start"],[("id","3"),("author","Jesse Rosenthal"),("date","2016-06-22T14:35:00Z")]) [Str "Do",Space,Str "something."],Span ("",["comment-start"],[("id","4"),("author","Jesse Rosenthal"),("date","2016-06-22T14:36:00Z")]) [Str "Do",Space,Str "something",Space,Str "else."],Str "comment",Space,Str "in",Space,Str "a",Space,Str "comment",Span ("",["comment-end"],[("id","3")]) [Span ("",["comment-end"],[("id","4")]) []],Str "."]] pandoc-2.9.2.1/test/docx/comments_no_comments.native000066400000000000000000000010071363630463000225030ustar00rootroot00000000000000[Para [Str "I",Space,Str "want",Space,Str "some",Space,Str "text",Space,Str "to",Space,Str "have",Space,Str "a",Space,Str "comment",Space,Str "on",Space,Str "it."] ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "new",Space,Str "paragraph."] ,Para [Str "And",Space,Str "so",Space,Str "is",Space,Str "this."] ,Para [Str "One",Space,Str "more.",Space,Str "And",Space,Str "this",Space,Str "is",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "comment",Space,Str "in",Space,Str "a",Space,Str "comment."]] pandoc-2.9.2.1/test/docx/comments_warning.docx000066400000000000000000000412661363630463000213110ustar00rootroot00000000000000PK!إͣA[Content_Types].xml (Mo0  ]XEQa[vD'$Q?Q i4ŀM}ճw#l1T\Fcæ..DIZGW\-Q2-xK8Rc6mdTڀ\K Ђ ^]Cvg~ܑ$pY?ƫ*Fg"`sY%W9ykc Bth"ou5(nU_s|dA\Y/sjPCs1 !˄wۄ136z7{i ~':i{ 9zI'x$HHi1JOB@031 ʓ}0 |4Br P#Ճ9qNwҞmʼgəbiH8Mk<:~x`PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!2*9^Dword/_rels/document.xml.rels (N0EHC=qR<Դ@u&iD)K6} ^ΙhFj/A]&n2kvG 4dKh,[$ּj6*V&uj'^#Fq;c(lpD][m88ZTNC{ojO͜Ff^7c!& A:rO,duq&Y/fp4a/u(]M"ݲ,n/ÝhFslOSGKWh м X}w$]o{/Wh7ERSO^Jf|]`4qr G f?p I aDFr{d tM4~lS|n51хm~Z_{'PK!˼uword/endnotes.xmlԔn0@#?DCUD*#vU;q!!:OEd;q+]˕LQ4(`]^l&w(ȌJE˟?ud&c6Ii tL;eUTP9,pFQf-['u84̕مJO㯼lǨUF&b2$]6n=%q[`5CJAI[p=](?W^] aNl3?Og"co樹kG]7FUzh[6qid  lwRZBF0-'w``&8exIipۂnFػpeO`o615IUϚ#QjB0"cp`PrY<|jE2w`Ppɬ<ZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zC0XQ5+9S!`1k"L WʔqxA$)I7fnZkutrS} LV8hKw41v+V:Ϝ&^O R%$TF`*}vЏ2dnw2c4~!@x3"+t X1ZBs uۜѢ PʙJq0y@9~e[+w T}Q265H$Y{K$Za؉b?jG"t#$\t!I2 fd ErDNⓐU3wvnK)+] Bup7U"D5*RCzm9|5s(l%MVfE.%Mg1HH2"lݬlRN.FH2JKқ73A~V}5-7}O uEV{EPK!﯑ word/styles.xml[sۺ;Sز|I2ĵD3EBjPI*ϧ/%(.3}%jwb/\%\QH<]_z3 "L0);=|ۯ/)ay inE~wpGK bRq.UXȏ`fHag<`>1fBd,DK+cڣu&"rWI[<1cZ(Θi4VpՀUv,%'~EMRcvs-"߅ylYBV\n.ҜE֍KO(//yGOGoT%acoS'W3=٫2<0;VvwI7# 5>=TЄD>:y[}Q 70h@˄7-U G=xZ #ݖ]E&3|V)qRroZg"T?9,HψU˭ibY$m\M$,T@0EG"w+TCj:yN_jK51Oc"lPqjDsbCsZBsRAsJ@s8q)SȕVO?$q|?ݏ8k|p_)HpIFLb56И᥁ 4fxa`ŌEF)C#rO* o6oHo:ֱci('7f4 peV۱>c۹SpOqLITz"WryJ\5H^5H`5o>i3ͬh&4L6vbxmpͳLX *#߶;e D=$e"ai2Y= &]$,#NLfKH?0Vj 3p=x4qj$A܋*3ch(ĊiVN YOD{{A`6yWBT'Yˆf/ >de˦zpç )<<%n6pT;{yΝPyT[wxgx"|9yP$USQ/ah#1Y04*F `:le:l:%h `OtǂQ噆Q噆Q噆Q}s9 ;XHt`!a`ebFiy7RQ'GlF5Ţh$Bm8ڲy>3}'.%aĖ"Y'm/E0]֫6peU77~6O,UQx3餿~Layyr;KnXmiuڰ0{hMk6}C̽)k*])o["+mK0<}mKp<t.Rw 3a5Z[]ce=52[]exyNK+-™Е0Vp 7hnB }&F#F j PCW?j 5lg7+j5Dʰl!d'?j 5aC PC6Ԑj5DyB dt!jHB 0(PCTW*J#Ԩ[Ie; [2,kj"xVK0VUqՒ47o܄atPtbuvBB/T7j\ 5Z 5Z 5ZrW-W-pvB:C:CܡUKmUKmUKmx@vbC:CܡUKmUKmUKmUKP㪥P㪥P%wqR[qR[qR[qՒ3Ըj3Ըj3Ԏj&/$?.L=ۺa&.AjNI`^Ie6' !l*Zʶ"$GS)m< ;;uAkwӞ.;C2j5i?|i6%Ѽi3,QrKOakv4a:>7lsgzp)?9]>ޜvRCC=3\z"~>to(Dnv3Ms,Dϼ~،9Kv~~KaF=^ɨ<7嵿ſG`xߟnmrK=c3^7Gn};Q@FC֙S󀻎"kcLϝơr6{W\ g~ιVMFq7.ZƓ0ڼ-苏C{l!XVw6rNƦ(hwt ^/-/¹y2ˊ/~5(kݼv #vaދkI#Teʺ^/ȿRJ25ot[E7Hk9m7妡z5}-d^ɦlB Tn#UzW"I7툽gXf?WGf tx)22) `9֍c9}bummve],zs90?̕z_^m'tjޠ(~:j mw/?PK!docProps/app.xml (Qo0ߑ״cQ9P'T!`nƹ4۲oʧ眴K;;Q;[l 5+?_ݲ"4BŎٝxoPC,,ꠗqF˖VZz$þtm;҃z>P+mSA6V\6N%X= LkԺ1'$F!/G?АhU'THw'n)5F+tVEb0)y'-(rɿj;rqw'IVtnJ| 2t#u; ](I]f!V2hial#Qk4T{҃嶾Iq8Kav`Q3UWXY=<^x?7LG1* PK!t?9z(customXml/_rels/item1.xml.rels (ϱ0 hoPK)t;JGILcXji߾+t(QE]1hjP >N~j.G{J D60o,W0H9X)ctl'_uݓ|P=;6w#w Ev d*yB1ߪ kPK!K4word/people.xmlN M|8cup /ҕuoڮS3}Z8/d$$C.6#o[Ld7,"O3R`SJ=/f~%wSBQH.h.Wq↓.G;fjI?i`fnK5s ݲ 7RɰCv|3` #3i )ig wn^ia^:_J;4\,H!j}MϫʱxKҪs;1OH8dbD3iF]&<8Hj;Gy)<]o 8QKGoM<6*=)6:.֦vԪe.:>ed|9[|PK!5eX(customXml/item1.xml $( M 0}w9.\ BBn8@~$Ao 'r^FPK!)ϓword/fontTable.xmln0' !MJ6KJ.ǀ5l#',o!lh@ aTU&Bs޲hrIs8_CxFJ4 B1Zh,*bǮFɍ;1פs(&%_ )ZQ!h(e GZs1v[[YUO1L@JrknWQ8=IUP<}*lS|\I0M’Urc/Lޞ wy, ]3%1FtZ:^=]TWY`a#^IDI0xXI~QL nĭ=g ;#/R &x6Fbz&f53ȈKī?,1$ӑt| ^A_(c-d>9>@E&WYd-]2 Yb:f` PK!j'~word/commentsExtended.xmln0AU"B[qnqx$u69yog>)TxS8cQc mP&8 hV`pߏp 5FjQP1BEpzn=J`A@8&$0!c* C.'.{QslÈ-brTv,VJB*Y >Gi0 ŭ uJ`Pi8D~Q~*R!C$\0Dy\$[d\q>eOh;~8}-ehzIw  3Ȗ̱Ywg ˮcNH]m3_.sPFur WSPK![m word/webSettings.xmlJ1;,Y-T>@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK!LEpdocProps/core.xml (QO0MKG7 YH`$1V*[ oop'zf}Y;(xBՄ/f &HMMʵ X'0fBΙRk(<|qmɜO7ltE#Zc9Fkt()x'ihP@ !1=lW`*z*veVU5s֬JU{Ł੓.docProps/app.xmlPK-!t?9z(V1customXml/_rels/item1.xml.relsPK-!K4\3word/people.xmlPK-!5eX$5customXml/item1.xmlPK-!)ϓ!6word/fontTable.xmlPK-!j'~38word/commentsExtended.xmlPK-![m 9word/webSettings.xmlPK-!LEp#;docProps/core.xmlPK=pandoc-2.9.2.1/test/docx/compact-style-removal.docx000066400000000000000000000233371363630463000221650ustar00rootroot00000000000000PKp)Oe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKp)O=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKp)O(K)word/document.xml͔n {{K4EKzXUiUZ 02$o?>mz/xؼk SbL4NJv{oB0>P{[Rx'4skD_ x\8yZm+. $/P]'K4H\P+-9֯8r,&)V).iIΩAhBT? ϫNRAz4Z;-{jPY(*G.Χ&y^Lʾ)eܧ2Mo[TĢpAg#H?㬺>q=q3J^PKp)O/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKp)O4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKp)O2Va.word/numbering.xml͘[o0)=6`.JVմ! m34f#d9oNϑ^pj4S ,I.6w!xX?T%\iDbu,E,^2-Yi^2:yQH) Aȇ &fqSNHc1a$+Qxw;vV4G7Q cKf%el+!xyvד9O?ݤ/{S7Ci6;'0yV46엪щ Qgjf}soa{< H@zQ}YX00K2Ɲ`t & {a\cA߿? u!0,0?*'4CztK㱅(>%+שMxJ&n+^|4 8eaav 'mFCz lFCv 'mFCv 'm(FCv 'm4FC.-AN׀Po F=x:5ͭQT}M/sJƏk&VOraH< #CȸvdώoG&#Ln?PKp)O/` Nword/styles.xml\v8}Wxb մ5m)}5\G Hb'!楱A-hs{HDYlAxqָ?p'7)=k,O^B1zGhء1kZmRƇ Io@Sb <77>3 !eh M⦴1}x8ДSg aB/8@ @a\?\9rxk0v/7Yc@/R<\ӌzdc3)>/ _ ^ELA. 8~~b53 +3a8k"B{ZM.@K_KoGJlb&Ss=|\P_&Omd1i, G$5~2X3|69qɇQgi{mr:(`l[((fA[A; "0F4`7442R( qg NǣHt EVimwsYmweI̷)b.{CwH.h"6@Na1|8mlA@I^oMmJ>RTDObl: CiH`V 4<ڻ0 SrP#Mcڅ̙fό7!MI /S œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKp)O 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKp)O-dHdocProps/core.xmlj0E -?4v-YPhJKwB$"iZ'_N+h1{hFR<.5 )$`l^d1a=z:p !:Fi;M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKp)O煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKp)O= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKp)O%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b'E=}=&* &3s=Hdkd !jgs6,+vKzϒ*Q: 9AdhRۘ%<%3RpcXp/X tb-I%uc3}@U?R&!#'.7ф{@{ P߸rreH9BKhNB4sSfmmrؕC AZN jx@$As'Q|3)C및ZwBU=10JCc ~ۜip>z aV.!>=6ϾTY:?PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!6Hhword/_rels/document.xml.rels (N0HC;qR T+p͏p֑XEIS|ܱvfݫ4 K]u<ȒJ* m+(Inɶ`#Vhxܖ-zt'6$7 UYz3U]qKu]w%FeU̒b,[8̾4d<H0K>uH 5-[}ػ, BB|AY, :PK!3&z  word/document.xmlV[o0~`彄0hPP y2XJQZIQ|9|;;|ZRm tD 0t{r cHp!kj/8d W Z!9t8#Zk&38TjZɍiP ;^7Xd*r;4si@NLHg0!:rmƙdFV1X0v{Q4zkLS(|ko&S.(.q1 n6v54Vy.S HN϶tԥ+B4mɤWWm7^뜸FaR4$h+WM ]9"qU*HT:vDݾa/4ï$f~ wj5ͩ.gӒ}x[:{a}UH2{wO+0.S ;RR1I9wS5Ls;yltojM/.DN5Zr\nCl(W=_lBG^߇|pޯRvV¿B/U4r,gZɛuAӖ48痩/+wDvl8!JPK!gкword/footnotes.xmln +, &j[+N>8F53py8v(/`oa N631MYAaa`?/_, QB!knycf%b:$ĀN嬊eUi+1` -Dz4J}gH/Q(ὄ li~ͭoh^Mm̀5=brԅd;Ai݅P5VC3rkҀ*e|Fٜ+bcuz\V^4/vA)?OK$sPbcoלwqGx;־ɧqb+Z=|I,SOߚ-O֑GNz32"g;:ZқV<,MgBWΣ7t):v;3qGn8r{ԟP@珒1>%SwwPK!:'word/endnotes.xmlN0HﭓjY jʁjWV| aJys98vhg7oOs_ K7vSEdzl5uIΒWV81͒Ғ:Z~xxZZBk:X$7}_ IjWAQ'_-;Y{ #!hq^w ?p` ܯ^PK!\Sword/theme/theme1.xmlYKoGWwŎ -PqwfI|XRUZPz" 4iZ*zAPA<~cf싗c'-v!Gç}O-ExD s r"VJ`M@wUTB_c6){^))]^psiU-QQKvg&Q L],;) 8$ QHBd)-uK>T6EmL.A)DWh qx|s 9s&e$Tf.xװ\J_rT0EsCK^eP9/"A'qԙ&Q<h+\!zqpߢk& K*MDDַK8ɋq 8314?5-pf"lpwnQK ?-}lyF;<~2ƌ\+KP:BF0ĕpfWQG815#!PKxe'okX.93 s"hE3XVʅV%ՌjrGMZ!c0#e0  Qf5$q,w7rg uTK3tof!-ow )`&-WkquwVժ9K"R!62[Kכ 퇳1Lbe0Вjt"b? Ѐ6*\mv`V.ܬ6f^j4YQ&Z:YA|6++L){f\uz).09P.F 8, AYh_k]oYhN"AȮ+S9 uj=MI Zy9cB}W/.6m^ +4Qz*,sَ5'\x) M}G9 鮦0_vJӬ7 8Xg5{uggypueD+whw@6sF̮fv+!%XGLZ:Kxfm WN'gSN\?80eb-F9oX:.[By˜ٻ˖+Le*#Jg&_ȤPK!'CJ word/settings.xmlV[s6~L:0Kv MvB Ie[&x$v{$[8&6t.|ho"O"zg"'|;)xx^˗DaALWMŤW3.D9!p>C,LiJЫ͈WJ>MdR(Fe"6iT"+zKL!ՎYc;gd$:C|"݃I3B +Ĩ ]hMzد'@tf@dRQw$HVuR R U " wXf6PҘ-ʂJ)~@/%KP#/D)9+A%7-VadKKBr"q(MK1$JT>w?x2QɆu"HkO9OpQGb;^'mrA%ܸGENE&I~#$o@N8KMUPtll.kSyv2\D~.N46Bh.4~oO@m纘gvڨ3Rfwexҩך+c$mQ@6U#4kr,Qaߴqdz.& dt1rw1(̇ƃER63^ Nk(w1p6z6ht\a򻍠_61 oT]ڡ/a%*W8'k$gZ?F+Jݒ5.rZʶb1K&#P#K)|QNV7˅ 67;*/h XFCG`t=(cA'0wPK!:word/webSettings.xmlN0 ;P徦.!n-8B\͑Oz>{ȎBʼPK C^W*dBg<hXmˋzfؾ@J3QWh54UZ 4AfOMg4O+K8λt뢸QG&P; wd!-:nom>G)vS$ r/ '1ǍJb'm8f%$LW"'PK!Aßword/styles.xml]]w(s?jldn͙i{%lk" >fBAnzၗ4D`pGAo_] 4q" LMD00@׃umߜn@(ـ LV'lA.(^Nŀ$&(h }#8]۴D{6A{FIM;  ft&mB?A)ZfagX(>ҿ6Q pn06UpxlnoQC>O(R H0|%cMM4` i6IC4JfiRb?l|2#5E ^` hq y5'̱'Z!-,3e(4E*߉ԤXQX_B y ׃!!~! Q\?M. sukNaP?-U#{<^(Q|h@<)W}7J\:¹r7N|CPNPN9A9wrJ@qaYo%BY2e{4c,:A[Cĉ`q |@?W=*O/ `<!`RT7Cyjs7_{=-YxB7Seh }+\M'8,_y;q0SY`*P /*8t2 S?$pZǝAGsF>hdH$$NHI_?}@XcҡhS!eOD;+rv4 ]|%#rso?CJyK@g-X:kB8u1s0sCPb$ A\1A\@\q@[WX` 0GK̕ΜN90W:`tF\錂[.xn ]it7lQG7\[lC(Ar/bsEWpV5^v@!ho=!>\(r:bvW:#JDfіD0MYVFl5K׆'7}?!)qj0HlyyF4 ~ f8Zv %dx 'cBMUBL5gwj2WEhQ6M XM3XP-$ֶ:.TJZuwj2mubSmGiDf.k[Imub5c]>b--b&ݩʴ։"OEAQlJjJm$%։(u!PJSiKEh}6xRw羨e +~Gh#8Wtwdъ|Kqp MK3nǡpeHO-=z(kPݨʽll:Q-tZL ՍjߋjjjLweTPݨ2[e[e[{NZTPQMZFZFZFDӝj32T7^TTT`S-CuZj@\vEnB2 \c!tdJ%4=){zSV|jaCY3F]{G#Rm-iZZTEK*%g=B'VV%=vђjhIE]焬N]J].ZRQm-TTEKZVV%=vђjhIE].ZRm-Rm-RN+: 6'^ŮX!Mx?wmxVRVE4㎢*pSq'*.@ 5crk{NQgn([݅IS}MJћH٭LoQYp+g_-W {F­BYxZ:(D>e-O'WfҺ*,| aS6ϸhhb+ѭ&:Ȅ\k *^&gW[L%S(ٹcEXG$1鳞8ӊQ;QPIwqn69 T?aBK7 Cnޟnk̰.GzczݐJ):צfX_[-uXkTlZ1!"* އP4 (l(Ej'l Eq6Bw 'be:)f( M]miAU5HaE2p)GaFB@J>qCK~b$A鍎U\-.|*W?.[o%T{FޢԔwӨO kS:)Y6}=,-I/,w;ؚClK;re J+xNV+'qόo2-]uB/̗ڀ=v6ڒG/mV>٪4#3KJzN3ԮձBųSEVK>^e~a: Kz 3XRWZ'?f`>5u^T|.QuQߧ<VfmF^q%=-)3jw8n+{RL Ro-g%v9ɞqο{ҪRɊq7[mJ[Oj47K{Dz;K9I(|p'l/ue6J*tM& eKR+:GyCz:)\+)NܣbI/k5iSjÊy<l*aoaI}Dp& CoߎO0ݝ3yw=1y?zm|j6tv9&$1"ϔ`#E ?iq@ &eV{IXaR5X^{%{~55= os|ѷw#?wĿPK-! j' z[Content_Types].xmlPK-!N _rels/.relsPK-!6Hhword/_rels/document.xml.relsPK-!3&z  2 word/document.xmlPK-!gкY word/footnotes.xmlPK-!:'Cword/endnotes.xmlPK-!\S;word/theme/theme1.xmlPK-!'CJ word/settings.xmlPK-!::word/webSettings.xmlPK-!Aßhword/styles.xmlPK-! Ļ;,word/numbering.xmlPK-!'uQ/docProps/core.xmlPK-!瀓1word/fontTable.xmlPK-!g<3docProps/app.xmlPKh6pandoc-2.9.2.1/test/docx/custom-style-roundtrip-end.native000066400000000000000000000010241363630463000235140ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "test",Space,Str "of",Space,Str "custom-styles."] ,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Emph [Str "emphasized"],Str ".",Space,Str "And",Space,Str "here",Space,Str "is",Space,Str "something",Space,Strong [Str "strong"],Str "."] ,BlockQuote [Para [Str "One",Space,Str "paragraph",Space,Str "of",Space,Str "text."] ,Para [Str "And",Space,Str "another",Space,Str "paragraph",Space,Str "of",Space,Emph [Str "really",Space,Str "cool"],Space,Str "text."]]] pandoc-2.9.2.1/test/docx/custom-style-with-styles.native000066400000000000000000000014471363630463000232270ustar00rootroot00000000000000[Div ("",[],[("custom-style","First Paragraph")]) [Para [Str "This",Space,Str "is",Space,Str "some",Space,Str "text."]] ,Div ("",[],[("custom-style","Body Text")]) [Para [Str "This",Space,Str "is",Space,Str "text",Space,Str "with",Space,Str "an",Space,Span ("",[],[("custom-style","Emphatic")]) [Str "emphasized"],Space,Str "text",Space,Str "style.",Space,Str "And",Space,Str "this",Space,Str "is",Space,Str "text",Space,Str "with",Space,Str "a",Space,Span ("",[],[("custom-style","Strengthened")]) [Str "strengthened"],Space,Str "text",Space,Str "style."]] ,Div ("",[],[("custom-style","My Block Style")]) [BlockQuote [Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "styled",Space,Str "paragraph",Space,Str "that",Space,Str "inherits",Space,Str "from",Space,Str "Block",Space,Str "Text."]]]] pandoc-2.9.2.1/test/docx/custom_style.native000066400000000000000000000012651363630463000210150ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "test",Space,Str "of",Space,Str "custom-styles."] ,Para [Str "Here",Space,Str "is",Space,Str "something",Space,Span ("",[],[("custom-style","Emphatic")]) [Str "emphasized"],Str ".",Space,Str "And",SoftBreak,Str "here",Space,Str "is",Space,Str "something",Space,Span ("",[],[("custom-style","Strengthened")]) [Str "strong"],Str "."] ,Div ("",[],[("custom-style","My Block Style")]) [Para [Str "One",Space,Str "paragraph",Space,Str "of",Space,Str "text."] ,Para [Str "And",Space,Str "another",Space,Str "paragraph",Space,Str "of",Space,Span ("",[],[("custom-style","Emphatic")]) [Str "really",SoftBreak,Str "cool"],Space,Str "text."]]] pandoc-2.9.2.1/test/docx/deep_normalize.docx000066400000000000000000000433231363630463000207300ustar00rootroot00000000000000PK@!+G[Content_Types].xmlN0EHC-Jܲ@5*Qu&!~ȞI6h{8Ѥ7X2ʚuH)S}߳(0( A7^9MH=pu`[ҭ/Ko;;.A0c'ŬhqWEL8W*)ʼ:ehM.ޒ%\rp§Whi^8  /BS_Xʙ&Q<FJBܜBˤh̎ xRn*!`{d0A1$:ĕ6mOD»ĸ[VL.Fü$ܱp~ںiQ=cmI#o]1nCUvQ5u"Y<T/lO6_PK9L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK9L docProps/PK@!rdocProps/app.xmlRj0%fʆCS$Aۢ$I}u:V<< n^'_P..C`ua8ݷ*J}?evT*PZbF=foo:p_-|W~֗0}ocq5r$ѿPK@!_odocProps/core.xmlO0MnYH`$1V*[ n~^NEjB^DP\ V򾘅w$@ǔ`V0!@2noRn-Xm: x„ Y;gJ`ťs>+j߰~i iUkr(@9q/gց-ꆺ,;-GقeYAc9~JU͊R']YJϡp5mcn9m'@Uۚ5wUSV7t2 @nq-g9C7 G]". ;YlTmݴ"CJ*Ōd(80 (:? c4x5͐5PK9L-h"docProps/thumbnail.jpegYTȺCm+(LHsdnqVA $2$*62)3aH0I"  @"CS$q{]랇}YUP}Uq.^~*?kw5ThFKM]KM`PmS:7wTSߵۯjoSSOjߨoۡs>t=f{?WO]w|5?bߨ3WlNWMSꢥp(?+RP*,Z1FV]Cpݬ5 LW& $NC n'Qn ̖j=K49@GVk^++m/.kQ9-e˞}SU>(T=ϳ;ҳ=Pp~"75y69.XrV.Om`+_٧!xbrhl`LM"0ƂsNZq7뇖x.M->( I1 $)@c*2;̥s=FnaBɫA.<'e:EsҴ*1Ě0Nt념SE^"YzZﯴm z u ]Kϔ/o Ns<\H%7 XA^H;6Kr}͠طY6$.+h lWAxi; 9tjp͕l_$Ddf֒I?~o+1>lCsk"N#[L黳c_=oFˏZoX/BL('_%G%hclAk2)c.bS/q6 Wsd -wVD:J+ú.<;}-J5Lw8Ǿ8/&9)Ł#OAeN,%xc@4V@5 ߪ4~:|mu-8"O> Q:zISC\-/Ǭ"ۨ"lZDr¹W{LͲ:<*dt,ڶ4o7hR  (r}e=t"Z}S}X^5W ܎Uߒ|{̅٧Vy^vF?mUSꬅ=+ OYfQIrYO[^KG1K-W;1)*[ Ʉ|L=Ϭ3]5ļ^vN~t8ptB]ϤԴj+{۞G8ۛL TvظQȓ6 | pd t IqԂN 7x44 |tX ="EW>kDtVÈ(DZk|hMN"<A =v>/b⩦-+53V"LMZZg~is _9lx ~um?\U5G  ,_ c{z3.2/ҽ^]pV܀ČJ #bdh9Řm5­ajԒqG}"-ukNLm!?JapFRΚMh,#) 3!p}aw)9Hc)m}N>8іg,J4pЍز0], YTKiEv~fs0\Xi"䏒Ux6"ݣJPR<,vKg ҳ#wxЏ@1J-?C{ έ*褂8}}/[/z}̷Ǭqa#b񼋶Ʈ9qTc޲  JM 1qȳ﷎eu?ℽ' )QW1O})5FPdM{z5 z)ȧi;+qDˎ{|PX0H4[|6Z/EgSb f/{HaVV1@ʛXqӆ).tʝZiuZbCkT̢zV 9b(~q>d QZ2FrKlÛ|5'Ai/3IRT8x! ذ5yS?IOi"^3;mJЍfZFcw嬨Mn]ۭ4E[V˴V,¢fCO3 F!WNVCDUC 9xb,fO` ||dsRx裢\~Znzlݙ_U&IY;5(w0lGY'g$[qݭhm# ohPZ vTLruXz3-u$% i%V${U;xO4b-4YqZ2u}Sg((C/5x;۲7:®5~;oeN}kxr cVLiTJHIQw)Gg$5SPPx"\E_ B,4+׏~gȚ>!Bkyxy-lDot.hEa۳r{>*ODڇ ◲#M.N>Nɣ8hOϧNJ qNА^Kׁ`M"|qcw)ON8mo>68Lrw,E>&5MU6G[#s^yF، /,Ռl|+W} CZ~+3qGqD\ckRf~٦ǠբU%[ I<|ؿǿd=;S]D#s`Ue9G,j o76Шϫ̜X}8x8s5\bɠ9;YjBG(VI 'uGG8vg=UqL(1ɑ{+ ''<i%w 9m$<і XD~*b<-4̶?nUOi'^Y;Rř5v )So9w4~<{];xc-K.qE,CQOxyrvVilp!!-z2-{ 0 L$S3/6xBCMݫʩl+ywgp?;d=Hȱ40гٲ+rv$#Y*8?,u o6eƴK |KT{P;cյع[H`:5@>?  ﴦ){`ajwevw[꥝wo[NumPLbb048͌I!yi mc=:Bd2m&6xyY09Bap4(Hݩ穃*+~OQmY)95nE#|4;53组 ~K~MLyFG^2Z{YK'.-VlfZ<(eD %^`x,/fSı ߞKLuhj>t &;}ظ[ݧ#}u|q^3*avpN$]zʢ zUli}gl3oC^c^ޢKp;­`"; DF4Zl^;- <g!^jn;g?`UʜŻ\&:ח%ߝ։."8NĴK ȷ}DDB I֗TZܡ L _tFp[ \)"szj8 ,^TT\A (@.U WO*Uj/G>h\h T;:pO8Berɞ],|HD)8@ylXc -y<E2us1BZ׺z)gÎH^Ukx(9t+du2kE/TQ$#o7&H0ln~$.ьΟdV[G[f".X1i2luq[ot.i}v`|sh*P'm0@1 ৱe|`~Rs$/did:fkvs!Ext;%p"a)}K͓}lHAfG1ܻ&0KXx ۅcMZI/3o Į6kQz*098Bh9ĸZst(;N1Ecvz;)6fT62F E"%/&^S3@*}p`V̐fnO,o S٘pRQ>ش @Tf^۵myC tz|>&]Hrdh2fp,8),Hz@u\Ql*cI!Y;iM7I/ϳsdK7HIVL)L]舼YyzI*kY>/LOxyN%887@p}+m+\A+Rr,|P[[2\?Nz4U PK9Lword/PK9L word/_rels/PK@!wC#>word/_rels/document.xml.relsAO ߁pS7cFwQ]u3@{S%n=ȟҷX~ن}@;d8ڕ8CRPw /ˋ34!Ylq(yE 0-c|2U] LnN:٪!):d6&xGk7pd!|Lųn!C:ml!qQLϋϾPK@!6SD word/document.xmlW[o0~y%BE THF<$Js"(lZbw>s8u_Rf-TTrEDyA7md)yःDOw "%\[UJVaBR) PbHm1ѐ+!#s\'_eRD)+T¥4s6)1pP΄LC `fX)eT _,;h!yPb*y ¥_I6h2XfUhh22gJ`s!#ȸe:ua:ME6qaGQn^\ɋΥHr6>F}ѯ4-Qp,D%f*=YlciaIْUvNE52v>'TYbͨTbdIչGw^4OHQBbz,P%2IK,$􈘛?Xj@,8Nx`p {|EB xTGZ,=[łm]Xqr,;Psq > ' tXn设jp"$WQ^->QyD-oۼł 5VnZ bk~"IiMcfz#8ӻ-I$TԾg̨z1REa|{ 2 æk_-hElcƎ kw4+Y)*;DJ0k| 4UTj$ 뾜hcHw@zqF(W|6*8N fFep3,Farj@\UB.(zS,_3jEWn4Gaj$hE'& GUe7.VT$MlamĎ!F#Jj#JCo-#7HqF<}~xڣ2M*J[6*c*-H}HK(s(r\z֧}[{Z~_ޮ_ےV'p=~Dfz?PK@!CZ| word/numbering.xmln0'HE!RTZU:ei1NbdX~6vU$7??>su3"JS)2!2b? A"GL gOWu*J&zVC.pvk#9XI-7f%fC1kr?l %1|EB^CۧHDXF*POeqn5 d2jֲ2P*5{Z ŶPC ۔;KNi|EBh2oSլs׉|8Ew նyI+p8>cov$65=nn)Y/j8x\)_á`~Paj+Bkf{nGk[ZQrUog6!B*2Fq|/t19kex:%]asPt߲ET.8hl1'rzG͂/;lLk.~*PX,m-ۦ~5dM1yѼp /ɑxw17 ,OEh톳Y<8쇳r4pL9pShxi8UuH'S[rp9w;piO5OwOoUaur¥PK@!b{1 word/settings.xmlVnH}_iy fkȈ@MvqvU|VѠhy]TUTOߤ j o *9WEeӟ=cʙ  L>VkBXf`m&;dFi#kY3- fy( ыD}3F n3h|^ Y묔lq ́ƳFk(Vks $/.'7maXʍz)2 0 fBھe63SO6+&S䬷u;pLƳ|7a]q :PK@! D+:QgLNIRkEF$ 2ͳJ4qǢbڸwL㎼vlo42"n @p=? <[i7L5w$j`yx[l 7?H$&w|FIb yA++Xb=XaZ'ӛ[;ϚF+}`: | M#mظwyq ;=@aGg"~8zNIPq97_&pn(h&vnwPˊG 1pvCoG "7 xXh `7#x@8 /o'x@8 ooA4oG po(\<poG~x( 7&x@8 7#x@7#x@8=- 7&xX8 7#x@8 'x@8 ykCYgi.O U5aC{ ~KH =I#v:b dUf=9V*Hv-|~smh حIrhxn?) SʰJ2J UGPM*w?wTW<-ft OYۺqHU5!]Nm< ^ g\:o4} f3Gˢ{(KS/12Wc^~0$[UMwdU^P4pcۻ]є̧àU%UfMx@=bC6PK@!Sќq>word/stylesWithEffects.xmlR8j{&'HHj2S ́90Vl%VaK^I!O9mpE,-ɿlc{T*&_N/'羧4!S*ㇿz(S&4QAD%,B~# ZȰٯT*eh?r%$(ssFH)7'B&DC4~͔h6g1OVky+'&31 L,-dr%UBHWKR5s2*E^Ůީۤ_I6<(̏+H 2ŷ~mlJJjMo*hҔ[2J IȌgWxS(+ X+{(odqXe0vk0* 3.b9Cݓ6{> iBw,TgN>xO˖Ku,(?&47Sȓم 9ts:c$ft]4isbwF2!ANhф}caHQv ?w_{P Ċ0XZO3g9Ķd+&o8f^1Q"JAcPYVwSw3w]]br -| UQY45QYQƈ6FThD@Jx 2F9Z]a d)IyvP(Vs KLKa0sFD1 r[},lD371 h$J>?7KI82Ҟy !a͠7gJ7\J8h5^ *)428"͈"@.Ev!\[;k޽U Q;x]Bx2Q;x> 0onu-(ڂ-Xۂ-@M}`|m5jY1A@-~n~0;_sM6p|lẔm-@/ͱmlr.[pM¾ ھ `훯cy{L y7C1oǼ "7` yXh `7cy@8 7 3o Ǽ pM@A0oͼ,4p1oǼ pr7fyX8 7cgob y(h `7cy@8 7cy7C1oǼ y( 7fy@8 7cy@ 3o Ǽ Z{.O!U5a]{ CTR*) :ރvj1YSE{t,ץn*+zs!+}j:襻>a^n^ gg=6&:Y5'fUTV<* 75HY!*>Kd; ebәۛyk[ ~$RyYcX&y g~\Eg>xI{kL:??s~.I}j:t6Q?|̩,x BÝ:t}n{&ܖ&uPU*1_[&3îXXv0Keή7+0 }+OHK}PK9L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,aword/_rels/document.xml.relsPK@!6SD 0!word/document.xmlPK@!6&gx$word/fontTable.xmlPK@!CZ| &word/numbering.xmlPK@!b{1 )word/settings.xmlPK@! 3word/stylesWithEffects.xmlPK9L Ai:word/theme/PK@!!Z,:word/theme/theme1.xmlPK@!ʳC@word/webSettings.xmlPKBpandoc-2.9.2.1/test/docx/deep_normalize.native000066400000000000000000000011201363630463000212460ustar00rootroot00000000000000[OrderedList (1,Decimal,OneParen) [[Para [Str "This",Space,Str "is",Space,Str "at",Space,Str "the",Space,Str "first",Space,Str "level"] ,OrderedList (1,LowerAlpha,DefaultDelim) [[Para [Str "This",Space,Str "is",Space,Str "at",Space,Str "the",Space,Str "second",Space,Str "level"] ,OrderedList (1,LowerRoman,DefaultDelim) [[Para [Str "This",Space,Str "is",Space,Emph [Str "at",Space,Strong [Str "the",Space,Str "third",Space,Str "level"],Str ",",Space,Str "and",Space,Str "I",Space,Str "want",Space,Str "to"],Space,Str "test",Space,Str "normalization",Space,Str "here."]]]]]]]] pandoc-2.9.2.1/test/docx/definition_list.docx000066400000000000000000000204071363630463000211140ustar00rootroot00000000000000PK}D ]$[Content_Types].xmlN0E|E-Jܲ@5*Q>u&_g*h̽WL; 8t˜}_6-n&󽇘P9[!GΣ\1s,U*@z KKw="XL`*֘sK,yjj ﵒ̛*?:@Ǟɍ-?hM6=q|=XSAD7aHo](HĬ*%trmh$}pb$=_$vm0EZ$lFfس"Xh;^ #'I%)x?\w>ղ6kƮ5 ʞ~kdIwPK}D? _rels/.relsJA >Ő{7*"^ЛH}0!#ZGr;R|̛ GcVw5R&=t0[b'T9֟!I O1}qѶ(?0u 7}|; |sGFJT2kT,3uH:㔤0t==U[v@yɪ4|1A?>]۵ܮ-UH0 x2~&"$1n!d _XfG"N-錦JΎ k`?9._!mh6Wq g PK}D4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PK}D^{iword/numbering.xmlŕn0 {(5ᣔUU4M;tB"%%vo?'+tM\`bJ\@-צTň*Ju~iuYF7 e %3 bJKfaORU΍L)HHiB$+^CMv0Vܾ7=vE(Sk&9Fąd#l[._5D+&X ȭ]¡ۻxϯ} ݯy팅oʸ]urLN:ᙩ~#Չ/H0 "D ` 'a x%M Lc`i`t&10I`OGd8]g@_OkX)`3#$-6_2a*[;iq" CvKo1g>Ea_u_80 ghJ,ƿԖѴQ)3$|B&@݈P .  9YaE|!s U[Nwj4DtnPL_^ 7AuTw9T5_ `8*F-I/J.vwj%f{B}:ᦨnTtJ%d}| 1v\u+x\^%Y}]LQ}qY) vjiXG=z@Úh^g> tCvq@ [@/B/XƝrVP^3^xJbʉ«ה(FI 3>Ix8e_aiZ w-#%K\훣&{-Ӗh.@+)ONۙ$biXX?оz^';T0 q~Dů[n!įj=LJ''N4nPM0*8iߵǭ,{|}6Trlۮ)k;e}uT+&TC(_1Ncߝt:1. ۽=l IC*м>;Na{Wj<\ޯ qԯk)azKvZ)$xl jv뎨/,D";{M= wM9}ó-gHqh2n0̳*\=8/WMc>a)r4U+,V'ie괎h߫A&lPcڅyS/LI/DxF?5O^$(ΐCHw=ioPdO(dH(gƴ16 %Cyr,RiM: Ge~- =D<_aj!xDc{/>?7qr-5%I^IIIfAerŻ̀CB0a{A(V&la9o lX܋44DU^Jǭz_b S}{i54P?֛!S/ﯿ=/PK}DudocProps/core.xmlmMK@ 26 "< u2Ѯޱj+$twdUSժ X?鮼Ub`zR*O-^Eb HN*>QIG _2F4*O D$h6V]$Hg#E7\s+8s5_/h~/嫥IGRCg+ leIK; PK}DdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PK}D= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPK}DҟVword/settings.xmlUMo0WD9/%|Z-PCBMwǙG!KN NjhO'f2[u 2fz꾿-[{w3 :Sw@ [Q%LLJ$aT1& Rt+3HKV'BҝԴ7l+`yz2m͆&_^pw+KWk+ n dM5yN3QF/!p E Sw߸]r "Ã6 25".@΀㋠VkE BNIay,pɸ{W<_4oC}t qFjGFٱ"9X$ 3BkoPo™89ԹPƦBA7o)KQJry\Lita` _1jv * 8źڽJit<gwG~1b/hp~vGC3iϟ 0*m128wyT$>BXj"w i%K'oY+𚜺dl1 wQ˚\l"6ߠmAgR!1#\ ɲӸFEa‰ bM\uOqCh].jkF\b[_c jlhamhh[r,Dr.sj԰ BxQm5ϙ6!d(FV/}PK}DTΜword/webSettings.xml];0DrOl(M"L$loBAA9FS6/ ,Js-GJo$:+bG)1!VJ)-R4 @`M'a:h}T LqkwWa gsZ^;PK}D ]$[Content_Types].xmlPK}D? _rels/.relsPK}Ddd#word/document.xmlPK}Dz0Xword/_rels/document.xml.relsPK}D4o}word/_rels/footnotes.xml.relsPK}D^{i7word/numbering.xmlPK}DY.word/styles.xmlPK}D(*bs word/footnotes.xmlPK}DudocProps/core.xmlPK}DdNFddocProps/app.xmlPK}D= fword/theme/theme1.xmlPK}D{H: word/fontTable.xmlPK}DҟV}word/settings.xmlPK}DTΜword/webSettings.xmlPKepandoc-2.9.2.1/test/docx/definition_list.native000066400000000000000000000006151363630463000214440ustar00rootroot00000000000000[DefinitionList [([Str "Term",Space,Str "1"], [[Para [Str "Definition",Space,Str "1"]]]) ,([Str "Term",Space,Str "2",Space,Str "with",Space,Emph [Str "inline",Space,Str "markup"]], [[Para [Str "Definition",Space,Str "2"] ,CodeBlock ("",[],[]) "{ some code, part of Definition 2 }" ,Para [Str "Third",Space,Str "paragraph",Space,Str "of",Space,Str "definition",Space,Str "2."]]])]] pandoc-2.9.2.1/test/docx/document-properties-short-desc.native000066400000000000000000000011131363630463000243340ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "A.",Space,Str "M."]]),("description",MetaInlines [Str "Short",Space,RawInline (Format "html") "",Str "description",RawInline (Format "html") "",Space,Str "&."]),("keywords",MetaList [MetaInlines [Str "keyword",Space,Str "1"],MetaInlines [Str "keyword",Space,Str "2"]]),("subject",MetaInlines [Str "This",Space,Str "is",Space,Str "the",Space,Str "subject"]),("title",MetaInlines [Str "Testing",Space,Str "custom",Space,Str "properties"])]}) [Para [Str "Testing",Space,Str "document",Space,Str "properties"]] pandoc-2.9.2.1/test/docx/document-properties.native000066400000000000000000000042421363630463000222710ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("Company",MetaInlines [Str "My",Space,Str "Company"]),("Second Custom Property",MetaInlines [Str "Second",Space,Str "custom",Space,Str "property",Space,Str "value"]),("abstract",MetaBlocks [Plain [Str "Quite",Space,Str "a",Space,Str "long",Space,Str "description",SoftBreak,Str "spanning",Space,Str "several",Space,Str "lines"]]),("author",MetaList [MetaInlines [Str "A.",Space,Str "M."]]),("category",MetaInlines [Str "My",Space,Str "Category"]),("custom1",MetaInlines [Str "First",Space,Str "custom",Space,Str "property",Space,Str "value"]),("custom3",MetaInlines [Str "Escaping",Space,Str "amp",Space,Str "&",Space,Str "."]),("custom4",MetaInlines [Str "Escaping",Space,Str "LT,GT",Space,Str "<",Space,Str "asdf",Space,Str ">",Space,Str "<"]),("custom5",MetaInlines [Str "Escaping",Space,Str "html",Space,RawInline (Format "html") "",Str "asdf",RawInline (Format "html") ""]),("custom6",MetaInlines [Str "Escaping",Space,Emph [Str "MD"],Space,Str "\225",Space,Str "a"]),("custom9",MetaInlines [Str "Extended",Space,Str "chars:",Space,Str "\8364",Space,Str "\225",Space,Str "\233",Space,Str "\237",Space,Str "\243",Space,Str "\250",Space,Str "$"]),("description",MetaBlocks [Para [Str "Long",Space,Str "description",Space,Str "spanning",SoftBreak,Str "several",Space,Str "lines."],Plain [Str "This",Space,Str "is",Space,Str "\225",Space,Str "second",Space,RawInline (Format "html") "",Str "line",RawInline (Format "html") "",Str "."]]),("keywords",MetaList [MetaInlines [Str "keyword",Space,Str "1"],MetaInlines [Str "keyword",Space,Str "2"]]),("lang",MetaInlines [Str "en-US"]),("nested-custom",MetaList [MetaMap (fromList [("custom 7",MetaInlines [Str "Nested",Space,Str "Custom",Space,Str "value",Space,Str "7"])]),MetaMap (fromList [("custom 8",MetaInlines [Str "Nested",Space,Str "Custom",Space,Str "value",Space,Str "8"])])]),("subject",MetaInlines [Str "This",Space,Str "is",Space,Str "the",Space,Str "subject"]),("subtitle",MetaInlines [Str "This",Space,Str "is",Space,Str "a",Space,Str "subtitle"]),("title",MetaInlines [Str "Testing",Space,Str "custom",Space,Str "properties"])]}) [Para [Str "Testing",Space,Str "document",Space,Str "properties"]] pandoc-2.9.2.1/test/docx/drop_cap.docx000066400000000000000000000364671363630463000175350ustar00rootroot00000000000000PK@!Qr[Content_Types].xmlIO0HWj#TkOCȞnIn)y}[ML!DlY%`Sڎs>|NYQX%*g!g ׽ bBjsV"Σ,9* F 1B~1VKg,X{n 10,y\Q9WZ 2|.@Vmѥ+MO,7>=Gk yd C |ɉ!Qvx(vIT٦bkXH<Ĵf.1( Foa~ܡUH;͡H#ˡV4$AwټoPK9L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK9L docProps/PK@!SodocProps/app.xmlRN0WYgKK5U= iG$ؖ= ;i qOxG_=Q..]4uEDBuUE#J|evT*eWRbl<" ̽] ]G8R`i=3K4-x+jDOCKcȤO~c#[7>zp=5,\~e+)ygeƙK츺A2T-2Q7~0[ Ϙ AO{ɯ;@c rjDOKmV2\|p<]U’$O2zw>6Sol9IPK@!}ygldocProps/core.xmlQK0C{vuq :Q|mkߛ[g>|\OvUljL(&(T1yO;cJR+= W97^6` Ia͘3WP1<|qmŜOl tǷs6FrP +Ɩ@p %T$Ju`+!+.bOP`]Q?Tͬ8"ӶxD^5XrZ35kmz V<]2t3 ~sea+Q$-ѧa]{ ?><ΧM߅hYp$ ߘGA7C-~PK9L"W7kxdocProps/thumbnail.jpegXgTغi H/!# -X(H  $HBȵ@F$BB""DZBHI<Ǜw[>딵gG>( K-[~ ?Ak+`KΖ-um1;vپuO?<`[wnkҎ۶o٪k{T:eqD|Q:aVVأ+ӢJ`ɤarva#1wr&nvUݢɭzG5|@˛wh j皩DJo8IB19Xlv<!R\\2?@vGz}R7+N\ZJwN6caO}+>"7g.!\cԮvHk}*u^KGjk4 E~4n W:?YgSm: Q Msklc >(oi7{bv''Z^$FSr"r1G3dw W{3.v%tYEw {`F qY_zi2RzqʰɛBgV&_l\uU3s/Z\S䀓,aݯ+>]3@/J54A'0,5^hܐ3?J݃|8mrû!5j~&lG<*^f]^3}c"#Xb w׽y dOE\y%7b1I?o}<,kTŪ{N!<;IHd8M aF?F9ta-c4p;4h( QH4ݕhy:,"-EY}Bh>ælQs]7l~=Sͷ ʡ/WLjŽ,Պ,$"EG&|KqT"ZJ_Ԃ) KSnZ;?[Uk٪ʠ(8ZydzM/IwA6^u.99nj邳'iK엂g_`~1I `Y@@ 2xA+*uf[EP=w91 6B6k,֎J_@ 4EdG`8c-M~9!fvh41$_wyL=0݁I$js ol_=buN.'%#(Ȣ`/Z}d d(.-|qۛ ^_$sCn umfqdABinJ5fa=KnrIˁ3ӿ?v5.|gꡠž䟿0ޞ|~H6)JOz8Y04fF_Y?Z)46#$OE92uQ!%-)Je` I]K1fS:d ԾN]/ &3; R-ZM*~5_muI9CαgwG|{ O혵ڛXXHV9J٘ਣLC A̿NRE4[׷c :^M'#k=YR5^UAT.`n\Msuʡ{+6#2ltjT8\O o#416O,a Yn@1$ԯole00g4G.t2;眎h́. ET [{XU}@$GCW_7׼!ũ UXU1Jg}H1 nS7Cz(0 ( ׇF0GKp{N&Ez+DBݓt#GƟx3ͧ%S 6u[^?PGU.AJ(-ܗ闄,WYsKO}3~fπdV6J3q_ xŒتFlLp12xE),D4v-A)8]U\'p(؃H㟝 kÇRH^%>13Nq)}ĕMYӅLт_4ZJ*>Ωn8&8Z#+@C /SGرQ,T+cϷ-Whڷ Jt/xCuPr縉DXȂŊբ91+ͻjR(l:f_6Bp|S\fU`_8XMJ'7nF>tjy:ؖ#v[_50mA倜dnхE=('7):1zI #XT3\I#%8u> 5L~FCJ.Dv,ZSeEŰ܌ﵩQuH:A:ưF'!N5[T.0VGB?u|hQOF w52p pbLeI fV42R Q)Epu5$O&\k.<+џ\hN>Z V"5?]9紞 ,= G v&?nڅZ66K渨l#tb%ocWUYid1(l_Je8y |YcԠ2'iXt=P}HJَ_òvtsl|oװ5ôJՓ њtbR7h&?,/W27hvEƟ_lm2N؈Gy hi=-d?\o [` G[PN˨:A5Պ_ ?ۼ`} ٿ 72 tQ;'сm9#Bz6! ]֎h輖+.:eΘWq$XPJ`'X5wDK$<%x-&,Dz V "-^#PڛXnfz.!/H)d4_q^P4KvzuCK_`s'z_q=% !҈Ap8sI^>*fZ}|?PK9Lword/PK9L word/_rels/PK@!huword/_rels/document.xml.relsN0HCw@AN/+qvubۑ1BgV;YZ/I,< A+]mi}v I aK8: ,NOKmHb j k4"E'y#(J_VQ!eٜ~{ɪW9$d;['_ Z`BBsҘlbJw<P1)A0~1w{[mc GA]ّzw)J3?_WϚ;PAyo`{PK@!#m1 word/document.xmlWo0O8mGMڪMQ'e;_g U4m~{_..Y(gt}! 4r\GibsF"wC{9 cWaRʹ)nA'y$x%Z 1Q Λ Fʭ ~Zpdʶ/qAl&\H(S˕@.hN`ma֑,1:['ce^oPYfM7d 5Q D4`Wk͋vNnFPL-sӕ8sfJ q'i\j ,gM6ji_cPK@!kxword/fontTable.xmlTn1W;|k/,KUxVr%{hꡕz WwTRC!gfo+Mu F em~BT4gh<v=kF{~ڊeh}َc\Q0%P,UԎbEIyƌ*! 4lalFXn6;mf찴q@BohHCƙ7@L}@ #%QXHK"ԩfmM=VP(6MNpq)_xuo .rFě /g5}F{T 喦JrLeV(|1'!{o䲕دǞa]<` ! vT'!ߵ6or}[.zށ·}-Nh˫PK@!a Tword/settings.xmlVnF}/\Խ "6(X#iav)F.РO3=3_-jLd5Wuy35YT̈́VNN`?-8GnvD)eNΙ>nStcBtHkh_IlBy w3+ܨS0?[ ?,O6Xxf5ޫ$YhY0Gayv`v1ev3UeF?HvLh7P=J|UKshHa%bC#kn- C= tltO]&yɕ{2)hQ?1p=m艃YG5\fݍlO^et*u"&>WM]O{niDžVÒwo 4bg~l-"eĖ;Ј!z4=B_~n뷜iI"IÖ"4_7SMVgfZN_nOK;i\ PK@!CC:word/styles.xml[O8Wz)#˂2S>X$vv~KK!>hlϷ/_4MbO~7 (Db]҄$N'¯'euSJU`:΢Ihw:*JhFԾ)7s!3ͥ\t2"^$h6c)O~; k Q9蹈庌HEUrV[AVBƹU :K+042I\=*Lx[0ȢR3yF(<132ժ?k3T#1uu M %J*F+/겢>))U,PMI?Xe)u{l͌$$rozZvu^8\U^MYXjZ:TLnX_J&Qp< 4cW,i ybOBsrWԊXr?K1yL-'(ҢKܛ,w3%4uKKK %FGKhUo;|0D4v5i=bhl kDcX# nh5;#"R^7b{Z iuD$y`CaiXW{~]j)Š0YŔ9w#Jdurδߦ$Hc*;]`&sYo"4)M LM)moMÖ}.l42x"v;@pC?G`wvs FH/S= 6x2>(2on}Cux;bX~^r6_7S[U[Ϛ֎ Zfls)50y~tp;%@~ǥ<! ¹ ڹ( y@81 C1oǼ "7` yXh `7cy@8 7 3o Ǽ pS@A0oͼ,4p1oǼ p7o;ϼ,p1O1o41oǼ p1o߼<p1oǼb y(h `7cy@8 7cy!x `7c7y) =x>o~o5_tN% 3,{вA(6K(lڣ]iWtn*㽁^|.TȖ)7zvO\IexYO\t"?u˾ԊX6QQbXrNx -YeG'dݺ^ڽXE&>;((upP57bR|hn=͜ĎwjS.hF}Pb7` /:I%%N%gKho?|4hΈƢhΈƒhΈƄwF431#"R7bNkv*$+I$`r@a^hXTZ $ׁ0 @сK:Kξ xB7}@A7,}󷿣8^V@8 oqw7ϼ,p1o-y( 7fy@8 7cyF!x `7cyP@A3o ͼ,p1oǼ ͻgy@8 1o41oǼ p1o߼!x `7cyy( 7fy@8 7cy@ 3o Ǽ ٦4K*)  `ݣFEDQf>=TEnU7͓υl!sWeyU4\t`DP}T5VԒX6QQbX*x -UE"{WӰβߓ;r.*QPtiKp2ehYpZte 4Mۻt˳ Bk1U4"Ǜo]EAhsBQϑVRPK9L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,a$hQW-TՊTǥ<:T\Kcy֡lpI@1U+r&5T/˜ Mc5ZLA"ܵU?'~搸Az,Ү|--'MO\~S]竃ųڼq1?(s;G,?oFL< ҄@>-B77b8)gΩp{襳 rc/%4?}J뮺Bw1`x6~PK!N _rels/.rels (JA a}7 "Hw"w̤ھ P^O֛;<aYՠ؛`GkxmPY[g Gΰino/<<1ⳆA$>"f3\ȾTI SWY ig@X6_]7~ fˉao.b*lIrj),l0%b 6iD_, |uZ^t٢yǯ;!Y,}{C/h>PK!iNFword/_rels/document.xml.rels (N0HC;q[Ԥ@8:VM\,Xv:U ֕h6,#1+M $l T!Wq +'Ν,@ c (Z/mk!D|4m{ͳy'_FJ (W -IJo*lF=)!n@RZt(6?wҽw}T(>h+19qї&3H=^¨O:?3ެ{F APt@[-1r';)!>րؔ|w 3?PK!޼word/document.xmlUn0?ǒ% A7A.F Z$@RVݯڜHe{oH7ghCHtLT)xwrc1hG p$jN BQY*kU&fid(hFF'bYרi|Po,4n#36߱"NtqPxZg1۬7n{(>|߼}iUWwUaEPR5F4܉Dsx,2߹ Ghŷ5;KF7L-Z#,E_j&JQk)7XY-\M9u/opq9eYC z|XsUTuD ]ƒԧ^jGTPR6-ޏ{N̸/\?=)sF> WOcq R쵵_: B-4˚b g0 SWX`=nC4-+@ki㼵߭ RڽiY[?efLRȲc]kZ Kj3`Œ\L=FnJ c#*Rl-9{U,F˯ưƗ&6#?m}OU}IL93]EZĠ5+QL€y<\9߿ zh4|2 ܚ}`Ժ%ӂD;@+IQ{"tYDMB3dYi/wF(]|ח?aηo׋ar# VWnn d3i Z*¨qS8P~IYgyEPK!word/footnotes.xmlĔn0+6V(6J[}ט`{,ۄw d xye+0)DȔ٤D>pLNzr G0>HIM(Vt$t~,F tz0>X+|[حԦ >9U\'Em߻%gƊ*K?ӱX\ʬņ6İ,ǺO<~>N?-<~1oVY'PzƄn^zIkˣ%c?Bi]٠~-R|@x-*f*yWҰ?KQ2pKyVˢAZAYr =w$B+{o7*-,>bp2-hӵR* 53^tfXS ,)~T6*[G9:qS\n݉!gTZESRe#/~zL* u.CbMΣ]TL,L0i"DEVC<#$3Qi[$͞Pf{Vp C:ONU _'sblx } .n328c]?Kfb!ֱ?.>hcυ]i#_BM^J%f1LLS~{+;w[i}cʓ;W7R@T0vé# Gmz6gOTB8.T n-JzoNν;/+xJN@  ᵶy ]ɋxa36< uȘ.߂ҝ N}6pqi{{1kֲMxQ:ɼ586g_c8@՗[@0(n` ' E2FR}l%~e,Tp=#ڭ=jCRھPb诊 +$n5TL_0z^N#m=PK!word/settings.xmlYKo0S$#!Q|>_mWQ7R>ieQ@{`Lӻa}xG&jo7CэCæw`ʹjW?fC6yl]qqV}Qi]Y#"-\֯Mwm;4 ct7,Wt^ Ϻ)N//윏.ft}e7SΒ\*pgH&]W*~j~g{3l25Miw#,POZ3oLyۏ>!Ue!qqŴ__ $Q:{3JOHLސ(MBGmv,5/t"fA=Ibqb1\',5KcXudJ+JP9r<:TsdND{{c;(!ՙ~ t:nnv*a;hm-OOO?K}PK!4-word/fontTable.xmln0'"ߗni7kن߉ndN|99?}ËVA8/aV]W7S̖)kD£w&k2jB3?0NnjnułH%1OPgqE!`^ bGk|)+rqVr=U맙4 Όz[,B;c(`W -:pI=7LZ䓨V3 *fjLSN- ~26Nd΋V.xR] <d3XcLW+*$GKP CY $>>OLrAa} AA: D\ Ē)qrū&I F u$2q+?"q b'f%7 td$>kwgcOF^:l,g@1 m™PEl[DsJ%_NDPK!\Gnword/styles.xml}rƒF?01cDw4m1vs")BCRn~ RvK*Go'|(߿lwW듇Ï?nc[}yvsl)wŪ}zzqlB"|+XӶ-ڷr|ڔ|I?(ǬXs0gC cؔ~7̏tD?P)qu{\|dw+@޷ɿbgϫݖ|ް5/׻mۇl(/RX7mqwlxsƮA&s Ų8|tG>+2*[~+_'Gi0'i -~_ † 3Am+G|L ?R|y'->or|z}ruE oc\Ddصe|Y9?(;a]\Os:#DD^r=hT(sꄉ'bİ9 %b|Ri6b&S(2bZ HcT@X-p4K1_* SihW.tv<:%yΩ* 㚁@^kB27HXhFx0V~ީwܭ]jI3l l{7i7L 80W:]*M:yAnю8w_|}@x+zr 57yQ.\ ys? ]}|Dw+RX+j+O$) c+EA)OBoZ{}27@b(>{N=y !ltZ2_ӧ4`Y,MmojIim繇{M`p<do }S/nwg&$Tuofn ,N,v~ޗ򉄿dY!.`T,/_t;FG"Bk+Gh OALXC$YZ@+Rh"~vy[ o'5B8/jA(FlSTs1¡E>3_pvT+T~}a&XbRkb65B$~&V0RߎđOVTTT/C^O{zcbnR*nWO~z~\o _O=pïӐ3ocS,S&" M.| `*b]F#n!cw&M/H_|7n"}Dd'@H!$M?>A{ KF MyO)5-d)~};=jpjFS{A.jMD'3WtJR bi,Ac?+(=0ɕVz>/ "Ew|\D Wr|Y  Ψ!QJ Qnd#`ipxQj7Kpt8b.%b5N#t!SS4rX2m9lFF3Z-VK0R(䇗$ɨ`D.I2?=N-t!SWK]Tw^Hh3Z-VK0Rh3J-%.I*D`RL$F/θ?0Ut]R@&RX2\-VK0Rh3Z-VK0Ԓ^Z $BD%L`$ɨpMЅL]-taR\-u!SRh3Z-VK0Rh3J-%.I*DTK0]aj)Kj KTK]R@&RX2\-VK0Rh3Z-VK0Ԓ^Z $BD%L`$L2NVla/(fV^e bqq*JܜJDĶ-n=Ħgd? `SE ڜu ښdeҭ p2³⿡zt88 ;îiYXxe|WKMꚮMm3lC$a-d؃L<1?Cw->wwd[ ax˴tq |_ƶ?mMk@ͺm \ -Hy5 ;n}X-Q_&0"]hC/ !^9o$~'Q?b]}̅t5_D[Wђd+ᵆ4gLB,02 J12IZ06i2VvX q9,YRuz<#x2ʅQkQ.^)8ن6$hjmFm*א#6SmH:R4jj.j+P5M*Rr*$澲2˩IRkIh;']ihCIvSJiŌô}lR7UV&&~ߡ%\֥KNKNрL!ՙDp<ɀ>pF )^r 썤[vK4e *pqƗlAPO1+?ڍɗN]V>fc 1Yl8vofhͫTW6nkj1iȣ<}~~mA;L71\3"8a /`9G%d7t" /Ѫ#Gbf (nf^ bZW/[9++|1!uvꗪizkQOK2&x͌7FȈsG̎zL͎xƄ˧TH%3"NYZ<#кmOgKZ+<шi C|t>aH{dZ1#MFS* thߨm82,MU7U:OcIVe7{Mb+qƜ)sYY]m܊KDd>C.UY"YSR}孑ˤ# Lmqi"Vav߀.FaK麉Er*['-Ǵ%\+#TӲHeHK"mĺhXz2b9HGmD:~;k0Rhin-эEn~P|wZg#UKd+#Cg 7p,V'<;UGϦzk08oQA*#>:{rzϘ>)`Nȳf[d'm S)QWa楥P#))5M\bґW*#1:e)*R!(VHTptV$R]^ٰ ǀ1X: h(՛R ZcZWe%€liS9mŚ0iOfd3ATق pj3n]e @Ă(52@fXVWY ;A]iPtt5sPyA+)#JPKQh. 5m hgE Fa>:>߫L}Hm HDU @| M^(o05a3H_GF]fc^eaIkwS".dHm[B$QDi!nrx0X&.XVg{ u!$9hz ؂Vӈ8Z8`E_]{2GI= "&Ы9*&1"ODU[ϏR&ƞEZEK#w-X'I?Zݐ06lpJM`puY_"&Q(#< 1bYeK)#._5'{y3 iJ=vRE`}c|=RFE+hղܸsyen˿&H ^E`Ajo-⸗PgnBi4@dE7*#؎TՉٹBɒZN${Zт]7Ifn%%n0ȳm>%uX"njLzDb۰ @]N}ń¦BuWVz ߲y~+![e#_Orɷ[M~/cX*Z %yh$9biwEy}?(fxH8ɞXs^<rל<ͪ>}gWh'nh+ݰI.jQ5%oy[ N Ĵ!2eɪ$M40)[ S+NfJ?ɂZh_65 W؄yMH-)""Pkc9laT$0:'SoTDD?}6 vO}?I(₵,Uk ⰾcpe-Y*c\jTs+r*W(?r朔ilgk3 mݍ,,ũm80A;4q債c:yl.mwA9f\3xѬ$^tFAȍZFn<#9>S3qg?=hnG'Ɂ*׳x4,W% HF*p,=?an:Т/ x0j.?_Tj|fp0їSE̘WR+̰ 8&bƼ.Va=$f0~gCa)awOx!b=i+oLX?0"ߵ<c79(1Zq솨UdP*, 7?2,և#nI]dSG?6,cnsIFel(-Gpl b#дƼAmEiЛALK`KQŰ(ŀ#zVQ](,ZaӮs6TN3l"Sf,aƮfO3ЮAE1԰y^v7ml< гsL\LwǗĄg Е"\ȫE,4%LI͆շjHo2 9tG,.B?V^+ScR`wbinpݑsqˊEU Ycx԰5vc Ce)?8W3ś3 YȃMbeA%ׯX\ӧ3dJNXafD,5?gHE4;a& SY;+՝8<1ZBht:ۗIy *=I틈yT))X3*vT XeI=q,ܩg$JďXm#^#-d8: êĒ2EWQz6!9#V=b]g?DY3ڈgN6kv @%C>| NmsniYe#֤g#8eJ&ݤ\Je2>xd_۫Qs~7k|'Du)sхS5i|V۱xn⒢rsHݗ8ì&KMa-8a:f1"(ΛW!2_'Z2!g2x*>Dx 8gkn-+smqf&qHuۯly$RU ,eJ;hVFz8h֗_o)ʬ@,l=r-cX.5N]HlO?[4d>j?əZQ@E77{ޕA2' sGX{U]p𚷿]<RVUѐN}[7LI͡+Cf+42h1xl 3?s؂!aƖ=B_)^Qеb_  U*/ Vq1YP@P;5dTVdA85U[j&Grdwy6bW[@a"ÉEG0{2E1e&VAHsB~ .:Q5/¶SG:g{Y{la0l@Z#9Ū$'b i"&/T]> /aH`JֱuxLHUK>T%3S51ޱ߰;ؑ&+[C`v) eKa8ODqK\O W!$K`H녮X"ڷ[ذI[en--HϏ*7Vy,1i38*hʫ5R9a\c4\Nj:f'p@%^z$?Bzk~{J:;6DʳuCV<{2

    kN,o9E^G]d*Up"!aOp18Ԧ'x"ݾÖxڦ?a1HYLE_+{̓C$ZTi=%\v6#7b#. L;pn޸D%~(!%٬pJ)1XFS.k>e+.J]JKUpڕO8,gs 1j?{+XNnّ$Su>Ml3k}G<-vG$|X)V?m@ORKN &uNS.{}ΎV nUĠf_e?^MRw~z/pz-NQ!6a "F\5:3⽯uMi6N[m?MEÖ t UuTE'"J.Z*ϫ0ᝤ6sߌg1pɶ\e[CD,ZGXd ۖ7QyF{S߱oP'H-YY&8||Yu>xKG'Nφ,ff^B[8% UUvܔ7lۛ`;8y*hU ;$s2y8tslg̔ht.3ezd? +'Ba@B$&D%xxyR;#T$ &A=*2&mPۗ*9&f|G;&r@ohov7+oQ}~7ŦxY5fP-_~[i=qG Zm3 ftl8,wnֺ/sz?j\73=\7 R[OոUnj˥;G4c]aL/9#֦CtZ%kZe`6p#g6K#3md8 {vJ {"AOObTFѺlSfw~a4WWa:nÿ< d{lAPۈo6boL S.e1~(r?6W7{x _@ѣ]Ý,^J(W_X*)z;8PZ}}_忕zy[W qu ~)Pۊ_!8lM^VÇO*i,t?ep" J~Қ c! ET5r-g*|ސ!P>/6`5[<"A \O/޴3]Hl$P5ym猑l"ِar rdTtXV"{z>^n&ۚ=gӺE\i1I?5VO[jC{e3Ss.>}-tz3刮%evdt|1.&|Dtpv9-L5{zs>=ə]佤=mu mhO;{Z)\Y]EYeO>lSĮ#g "L)/PS RlcgL~ 16wƐLs6fM/]gL`.q6]j—xⶤ*)u]&oΘ~?F1|7r5c:@qE֘4kP[cD53A_Φ[ * Sj~uUN t)5]tz}2IT!V^0>m]#1A 9T'u5ՠ^\ gf= *BU$Et^^mz`Yj6 +jU/6׮Aul jΠ?Sֺo|w4@whY&l_)_e@A5:ΠvS饥ޤ^Ԡ6׮Au jΠ P/͓/E?Ĕ IdPkߪ3m;[C}5> IWAm]#1A |6Z(ԺP۔5rz#K|WUUdP".B}v -L% j-T"@%,N%Ncy3d \ 1p)$ D&)$|^j0A.o T{Le@TeéO̫[ME}խƞsT0h+JE^]D0$_SXFͮ$)LFCp|)MAm~> 2gkScAwoY7e¥j9L«' މkx@[kJ,6qmY[|]s+evA*+ K͇,?d6߂)~)0|G +Y0Uq=n6-E+߮ ߫&cW `³bqy )eLҟ '#F&RYk)B2{C0=b{_$ y4kf5mF<~{#2C WaDZ(cE.q"y4>vqlVbX&d% J]JUvlQ$th8lAVĕ blBֲ>1-5Q77vwwEAؕ0i˦21v.SbV\@bZѬ]+Ϙ̀r0誡.5uub(,o-\x|^oV+w*h lB0XEwVq*J-n5v9|#]Db:Ű)f]br>"wb`;L)UajŔ1K]bPe1}g~ُ|r(e"rٛ 8`?|o#Db:v~>ݍ$ W '񅜬6CUWR&]}U> +ȕf6x"2ϯST\k~њ"ZL9vJ8x5?<Yvp񻯯rUSbj].Űn Yq'>vo& Њx k`%7RvPN a*; ]^ ߑ."1bػ.h|m6k~J~ce p7$xZ2N-͓k%|f.9V9&aH՟'*G K%vIb.j.^ʺKXɍ 1[@#]Db.v18uũ:3.\)vEChF.v ]@bx:Ւ9/Ǔt]]wQ_LnNjs|s/́E blb[m_9XEb 'Ț*qK͍̍8Tq#a:rq-Q ܹc"~ӜaX: HJ.Ax# Wsy898v1.A^o.$ BE_!5E8~_p$P+J{Brㆬqֹip/6i )y'4Gc,kN>W\U7 7+ad t! ָ"Jj&;X\I7 VTc YeaB֜JF} kԹ-T@ em`YSV;洦ViUbN+{Kz:5[9tIA^}r#Gk9{vZyUHi5 Nkx?N롐.viBjNkR0_RMxTL% ['A'9쉸,fp ^ꌇh}l/iFebp[G3~ʟ76IDF8I+۷; 5hF-D>iхfrJSVPi#Bאi'-h䈄`㈆I F'ɥYBo-g6׃[ 񌖵!fjM"_X8%hJ+l(@MJuÍ p^ڥڏ:I;DȚ {jBvilyAm+6_Rtxı]PSOdXCwmo*2"Rbt> Z7,iR̋Ψ&&-=r_̋sȁ<\ONmTYr7*SiK2x*+η5`I`2/\"X]eorSW\ 7ۂ;='}G;-Sv0y 2:.6/>\-xs ~!@,rn b6z2E}ە-3! eyd9g0e߿nY &N-C.DzTTGOq700 Xsa`'vd)}s^-Yq!DO*jWۀ,ho%QJ|b%Yw:2j'Q|}UV7z\SZy:'4?-z~qf^ F<@SruTD\oT|@cZ$tM&/T 10rʻM گON|nɾlO7L?-^ F|CoN Ql"no)? F sk|IXޥc)/Pݤ~}CS)~}؄P 5vToh;J zr Ma lJض M:7D)C7ԀyPAvGռfeްc)/ ٯoygdhO%D0zm0loJض M:7D)C7Dy Ky1_oygdhO%vŢoޮ-9)l47 z|CoN QPߣo F &5otaoرa ޑwF6vToh'ޢo)¶@S| *a74 D = b$߰zYFKy1_oygdhOٲX(mi nږ5DX! 7ǜ:y't_Dp]nRAnأv؀ER!U`Y@6MA@Zٻu$*)?zlɚ3UgRdg~2hG\<(h4@ 1qF PF_7Uuyf-z+Z!E:ķ:tBT,qWCV [bU̷r~C?~[/ x[5qZWZA%` =iݲU@}#mQׁ%]<(ynp'0up!AoN'SfZNI P,̃Q4($O䉥q# PGQ 6!a~SkɈZ#q朗j.S>jV6*u:*UYJHE3evYw$[,'_ǧ?65M*n9oz|bwxgE8Ⱦ|>8SAQ=Q1jL9uuU؀ILOrTrvG 1d |c 59J_B}Wkv].:L|8gW{ſo7kR ]5PC)*@iaZmG»Z឴>ڕT֬imIY'^&a2w,1ܱz={Qh W^\z,EJeTl[I7@+Bl; Tx^}4:ݞ=Nu$xي4%jkvӨhj ڨVc 9DK \vP`}gL]R*$}"\P_b]ܠF4{u>ΘoOo5"RTEGO­ctehIdV,7.lWm9֬N1L~o+@K=uȱ1$CxYuk`"Au,6FȢj5BD1 Lw4}>U!_ۛi<=*{G;mw*[\c2$Џߖ+4EQhv>}>ʘuE<ёwCV*`㢽wdoC"mHQ{G#0,;p9̛s;:~C.+57lje"{G'rNEJyQG:yYC*y4)hK6 ^QByGN}IIN*{G{G#U#Aü69FaVq%E7wAc.ٌ2jYG[Rnb(S\ u4G߶FۗbJߔeoGR=]MgOU ^QNpyG>㢭gRO;-`.&juGU  Ua5Bm<$ƍ`;UDwy(彣w$Z>H_EJyQG:yYC*y4)h;}xzDظuEّwC(9.ZAڗzޑ]wԽw44xGUm>1#ڰDYǕiܘQb;fOKC(Zy(tIuG9.:b&ץw3sG#h}eF-i^[dZrr۾ N˞}j{](^jz> 9 QNlhl0(ifZ\3O-/AD 'π8tVÅFZv:^oߗ_v):XyHT E 3‡.N3 Ρ H9ư#z҃sXly_[u5\}Q?R EULh+Fh<#a.j%'T?P+[- R?#aa1Ge-X}#,)h9,bQBqh諝5Lva1vJNsX,հXt'yJbQ_v=tVXsXˆ E񰰘XN-?3gl-\9,b= Sb crX-_ScQ?R EU-l/;0OhXGXu+"eX,1˰<aa.=aQXvcb9,6&lʟbŢA;,eXCm?;=[CE5WI/Oݒ"eX<=eW__״Vw AcS7yپ۝8_.'VO.RCկbV*&"RGF2(A|{U˙E Kn/um?/z0&fβ+"m$Ty)9,Xԗb}]=N%5С?ׂ^Í;p/~w]t9ЅAc}:N$Zgp2l#A2Ij2oe,mX[z[gli-MCze_5.?(#e ?d"@3yK[;0w ʭ|jQȗ-vYwWjsO^-;(1p\FAPR޹1#^|Y6>a&B cSo,OPKBek ӎ0ZcUZ.nMj-j K-jM5Ru0AAY3 PD٨)]<R9㦛,ff*RW C^u1:##DG*0o =XB5 1oͫHrO?f9|;TnHhI"Asܣwܖr4x첟]x 1#9, d?1@b6x;Eco'hvQ;꣆ mdwBv{}UШ Ab6x;Eco'xtq;棆+k]k3f7Hop vP f>jx{]B0H3w k 4bFs qDÎwP[wG oc2xVr3f7Hop vP gAG QD585/_Uf:_/fr]O:0}u;KVbwxņ@]pP²>pgVnū%; g0_H0_Z1 522"YҦyVflyHUr.`D+2C r2y S}w-[صLܥ4Вbuzcb$IH<,uwU6vS[*ё@m?&ʴfΝL'&&e5砚t1PmSha+ڰ4*]]fީ /WXe0%e/yyX xwGGQ,G1QK 6ёVjʮ 3yG= aUUo/' !\Ƌpe"HTYTcm͉6":*W4K}$h׉Nt$ҏϐ<,ܕ,U @P] 0ʴ/ʠ\{+#yd2+ա jl/Ҩre|e,yvʼ-W LuqIYC^֔[^MU=we.UɫGnwpF2c9װT>uW&f;A2 (2(W=J2QveRte}i 0`VHʕ$)\0%e/yYSny5UܕT%tW Q|LhCtePvePteDʤtl ա+ڰۋ4\df蚵{C#?ίNp}|!'Ǜ;IˠGsy9cf`fLe_v9Sp},V~7ŚԸ'|#pZ80ybYgOt`-W$U}is}cob;Dx1V^Ѹ>f `Ap}4(?Q^\_eׯrU>ޣYg[K_67x=.CwۇGC\2̂<'\ߋ 1 [*gv\\3KV~-H\u\vr:H׿1`03cAq}2p},V~+-Ǩ?̒=sFz^r괹I "ן=>QY01ӠD{q}c>fa[\QcTПcfɊ~oeq~u\Y/-}lyvKcQbߚHz'nͫ臢2:oϔR:3ExE]kl(tKUbZ%ά;;߸z\*ݕjdnhj|/ZFZv]G3:0$ 8 F74K( {.Y.ny]bW7oHZ x\sJ3!x ̔CwOJ;B=BDz[fe,de_Qj6]L+ u=z2 :֖}fL*qTg9PgFD:q(uy] =DVSfr=3soC*n??`|ԶWF9Ƹ[`լ9r5gDEA5{f3*q=dLe`p&9 =qx3{fe`:Dr`eό zY=3Em̲g6w==3gSh陕Uo;(ˍtVǼg6=f,{f̢ ,hg=i9CjgM^1gl-=3| g9!y*[Z< QΞY3;-,Όd),z̢͞6{f3˞Ym9K p={f3˞3Ku̲g6=5{f3*e,{f3gu*.ŷob;c=dB />1Ѧ$X.[k}cRG]+v1dz})}Sr۾ޓ.Fbj;*]wE٣7a Ty\񆻣-|~+]ԖNjK&Ӑ^?o כuA?fϐܺ=^ane?`4 t5|@KLb^jrbq#2DĖ6 V{hF L. *?.{3ZJCB-As{'^'CD-hFbd$ | L{<[*O !Svħ2#,cPv?ʹHC4kaΪEp;t'$,dY;쑞kA$[r2l85 ́$ ˉYL_n({ǠF]fE=c>Z7zM!K)a2RcR/%ޕkUP(U*b]Ԯeew/GjWh dmxZKdh ]\T{-Ɨq.]E?@} &BC C6ņ,-57 `B]HDh>\Yu2()~sT#0_7`$I7Q?b' ;͌(m4!=l3vPRCώIf-`PZ5I Đ)X{p e:DY["t t o#q8oX!¹J/DZN*1G \0j?)lب)=W D-2P㶨EnYrդCsQ\"Q{EzCZ%Am9xMfUc&@9yU"PBn9XEz /@ؔoYѯS h4S=5V.3KlU%XY] `2ɔ<  r%(9xX}IJpcΈ.ͻH'ӰTz^nKxYg(7z^09Z%& ՛(Xȥ:+FF4~!\4x{4N5#'x:(D!L!.,$cm +c=̯pMקg{u]t+6ņqZ\b.YԼ_R `T9#ѽQ5kc}݀2"Rm u/&bÂ6['?^ *U%2D>zb0?zqǘ %C:9!Ԩ)I%Z2D#[9%KM0ƵSsWk)˥ yA|ԍlTXYnHVPxΣ rİhFb2bMcbVih?;:8VT: 5Wc H99wkAXY|ſ_~.7Jf S+a6w4ݏra)0T}W6!;LY%(\uY#ZU'v[Fs85f@x}l۟FW$A7-W~kޠJ h&Oh2`2C:z.h%^J_TvO|zacR2C\[pMW8ok*{!ߦe9#bjҽݺOWnOR*{Vhq`CF5SV*XqJ88vb;DKDGMl^}uY]w~m>Wu 4-m-Y RQ͔f,Z 96uݔC^؝TUΗX:T% l@n@ \[(N?34ZjZ䵠B3\kNB@jpfL%Ye{lLÉ}-[m] H:d~Ѩx7 ^X2" Q~Ӫ=,gho Ă)}&K WiXJNc#Ũȭ&FXăp욻r [Bɐ)ףwNz^I?WhRUH-l-eWk.Ej[ĨSsNQGȼ+1U!r7+a Тi#"n)f[_m(,c!:P6&l)嬧{Bo 6ߵd!M/e !"64yN>N?01~ZACuH~y^pX*6.Ԏ(Ws VIJQJ?KɰJɫ=zԜdXͰCC,1xf(jRQh-,z,i/1Zbr9jZgQ&$ũ~<1Q@#cR">ha=>Vz1\Fe/L]^ 30 6̈́܏#l$LbI˔-cƁL%>̦VcgI{؝!1+NGc^RɯU60ן 1E3\p+yaoiZp.:U21_Pro ,+C=Ww# Z5eaEh6 T?{-K)C.&'YS r1Ȫ~Ub$NÍo_>) :$!)QJzP,3GaJb4 ێsܿ]s͎TG=emn MY8rl@ ufhm917VWR7lKdK "S2|+vfM! ; '|+(#% 6g *1EHnkQѲs*LJf!y(QP`up(l?̻ rC2IA,D7U˕!z9xtbNBL/F]Q {-kp!zyv`,{b4V*#$lbR'\ف|wRVRXPE~;Q KF1RAuEk(zb7ٌlJ"@ط\K7ݱH_WTˉ\\ɯ4R8f#tjޗC27+'}^6ebz$L4ս(,bL/ӯ&==ƔTΣ52n ܦ6,cf3qP 3g`hM:Q.RVX,{Ѕ(U4|\dv840uIj#'{m}ظoV*Bo7{H~ų)|\IN]?9gxOї;Z/lb4uk"b\W]{u[S]ߛk]F%YmmB#Iq DžYhy$ϫ/[Y_>ӾJ <0#0Sˑ 8F+K>UI0dIa 筺Y3?_2u4^wg%hƊ<zv;1 j3R-:pHnnܚf;<.zf=?b_l)_ȩ,zrƸrÁ_pWKRV?>U?EW}BvcYZURNĿz_~.7ۖtzzyqpHo!ZzmPK!~oword/stylesWithEffects.xml}rƲ:éH$%J>Kkx[vm񊜵!P6IE~ s( NUlҘ{_L7,__x|K׋|^eQoKdˣoߞmwVwOˣO?mw}>[lm~qf||rztMסuo|d!e7*}gq~yxc]4_<ާ~M1]PN#LҟIy*{z8jSt<)J82oIUɱk2"o#O5 u!eȎPĩmh{}{-)ol.]M%QC q៍VE@4%^'ȟ ƀwp@Y9?J.#4!Cu q 1bXi}Ȓp1? PRi7lL&S(2bZ HcX@X-p41_, cih/tv<:%yΩ*+A Ve0n$C80Ł+]`}ީw<߭]ۥiI3d ae{7iH7L 80W :]*M:y^nюxw}}@r@LWgj)!n!\Io K0~vA z&!j.z2W WH5 dTG.Oz9c SqJ.dA9LNl+ aӊ4;}JE0,̼&67) <`{S  7ylB;OUNڪ:73u G' h;Y9$_7]$f/ܴ `KE >[?j8;>+i^אwuW`wuv3Ib7f'b#uU^ R*p*sm A[t΂'~"A#\fW${xGj++?^׿|}Ym\ ԰"glVSlnL %pt07KVEɃ&8'ykx f?g5t}珽/ ɲWC]q X:?pMPfNFvN5#Iքާe&AǕ!H- N YzgqMn6:^(" B&8%-@tarS#hRq tc; I}Ko[}l p[};xҷ#G>Y%PT,x=r5? 7I7Xcg_|?v~1||=~zNC`&[ ߍD1|7]n\{Tt=1Ft18CBnjFߍ/I_|7n$}H⻑L{-x'OIkB$I0ͷ86[_( ϛ1kZs1Rn5v$!z_ 8\ ёO+agԕ~Pރ "WPz`+!5cn׃"˙+HAT93W.ә+9sQwΕUhɠ&[=s3K6`I|f=HӇO}#Slז!R s\emX8>*Ɓ7h; h"&;ֶқe@rlxCq?3ZbJ1vDZL `9EІ٧w !^#9o$›᤾'Qs.U̅t5D[Wђd+ᵚ4ͰgLB,02 J!2IZ$3JSeNzͰ e`sX$5xFd3+0 PFAi9 Fqh mAm2I, ی^(!Gm?Uې>et%#=ipUS՜[U Ԛ3(8j$THYA lC<, \P)K4Y H% Œd Gbc ׳},X.p dޒR,c͒άj#Tr$7+#@/1Dة4+t9UzK7\+nh;']ihCIvSriŌSiؤ;mYoër+LL:CKlK#B"B*3ʼn,xrˣ}  Rd&xkI+,;욬i2T<^/F 8bHW,h7zG_{8fS5Ocp͠dW(&K5p?S^lpIcҐGWy3v#oPcfDq0Cr Jx<"xGRe[Ο A k2eDjT.@aEw(/&"Ӡj椒B9 *fB-CHF]Bģt/1 .vʄ0q8Ї6 DYED䥉 Jx]6#ڍqDN`l|e6E_f{ļvg1%RID;6%D" aJ(-P._  Yõ#4Mb![U}4RM- Wj.u;3M 2/H%K%gky"U{A:Y.=c%']\<(a\_VQm{0bUR 2c/^³K0/Nr{d= W.X!#L(&d*g4[Wfghy {A'h{zwQ[,jU5pYI)ۈk `z5d, Ԧa 0^=I8ED;jm  gx-ljQDF9`0wO{"T# g EvUٞڙj!Uw\DCʘ/Uw\*Ê㺜?cU39'=tZ5:H.8Dw# |*vqj sN?u\9oXr#nKbd`ff.Ռ:^4+.U5}:CfFº>^ ohb'",D4?`*Kޝc'pt߹{'Fk]N1]g2#M>A'©2DRek"bU"))aAJ Z\Ja B5VCYR@8F0tTj%F^6/K2JKaUbI^"ѫn<=u+k r 1Ӯw,mijaNV6-kv @%C>| NmkiYe֤'#8eJ&$_Je2>x}d_+QsH7k|'Dq)sхךS%ީ|Vۡxn/⒢rsHݗqYM3LZ!xqtboDP7Y/yCd/LeBzdF>U|"xq>@ZVۼ98Ll j_-kH13)fWY)ڣRX_~bTh ˓=QcȵlL8u9#1<<"nѬv$QLN H\x*.5] 889O<ҫrbs* ݄s`UUZD*ӻҽIg Mj]2ѠAC3\.Oa j[#p~h{ DAnI.UK,Jb8'VJVy,g;H΂JؑD!LB'+ SޢVK 5j4Z,GrJ۫lvY Vi/IXL!2hYt4Y sB9*6I|nBoAE'Wv@-{P<_&6 b^q4Kv- -@w$\Z,jJKB1O8K_hWM6yQ RgxCS%cs`BbXp}Ur93U;C i5(nwܰ]6D0`Ypm+Hd߯;ϓJ[i 5]|EKA W\IL4ަt S@]Db V9i_cޭՓQ %$M`FUuSxUAF,'4[ug7`1RDu e4_b,$v74k`C<[w+g´}OjTA($È|葈s9&7qI0Z#˛7-^%MY$N e!ʞ%/?n=WR>(=y#u&u]/kEOtGJL6{D'l:͵!|^릩z9F8e!۬Ȟ& -4;&tX:Od0C+' jwԣSbͿ$zM׊jr(SEa EQqHk(1"WSq5U{TS(R2lEsJD♦ G^TEΖ ೽!q8MNV_ [H<7"۽$T #Y ǐYhأһbP-u" VxJ_-mjV_舗Kt |e1_Ge*fKzU-n 쨦b=8Ye9a4 4`CV_޿hfNEQ4_˼efu'2l =i,Էh󎯪S*:u՜gPrz,V)}^% Dqm3h'|lJ7ja}'Vn/Gu9ƿ^H"·de`Sg5 {x[[:>dt|2d1{eŷS._,]eu}^ Ƽ=gLq VŰC99'S_wC=&Lݖr:Ne,Yq$PaQ4 BĄ{~X;/U:bAE`.lN٣"#k2;f}ircb^wc"ZGCea̟fwʾeLJt]ljoŚןh;b"mۅDɭ6xcasmNx[ ^*pb7ẙd wR\լ:f/uΘ9 cԗx6Rbu.Xl -Y4֦o7yYÉf(+EgSJcu ξ?== ]R+Ek+j_&#Q͂JQyVthʒSM]$C(63q7~ޣTG /"p1`Oe`B}\c{qwN+=e1mu <%)ێ' uk07+*HݷUk4N{Z?ۋ'`'%HJPCo+y4?o_7zY ?(jqd/(Ik&pQ 5ϛH&c)pyC@6lwE lqTw pޣ?>+zPt!e B av3FkdCb˙ȑqSUickDRΓ}#S]v/XPD F￿@4P%t 6p%6?\a0ZU4=BgA_g *d2C?]q +Ȏ¡ aSMs,&ۘ-ә⽚ִѡִV=5owKt</]=0{:;G ukpp60;L2_=d wjL緧=՛#9ӗbOgWhӳ`KA%!ySدΠʩ.:&N/]fs0Vғ*Dj3Ƨ65kP{cD73A=j ΠԳܬ5}Eʀ:.Kk5ҽe6T,KͦrabaPM9#z;51ATѠgzJ#R^_ Of-1ՄU$R3 jgP9;[MY jTѠ `Pa ln<)]AHyhIʀ$ZVA%msIgLM9 jTѠo `PEԭ]ZƬ+YU"Te@A-GPy#TQ7o0465`P[d;b ;쒁pIj$GAl4ߓ*9bz hE;!RaC0m~Pm >bG0~l6EnOVzRh6(y_tq[Ma:'7NhU0-rSx ShrÕy3ǐR48*V?ȜMz4_Mi9ߥW;V%˄1 rWMO։kx@[cJ,&jи6}:+i E]1H|Ȣ[8EJ2-#w8EPYaS]P0V0]ՋcH)yd860$Ϛ]No ~W\Ѩ'Iմ%b+:D8h@\D.j9$jTu@kV64z\ fY‹dű[]X[c85(&v+VEDPlӡYc1{&&VX?#WZ3]U>hi)Ƶ4޵}- rإĮYM[֍]1K9.vQ6j4@pcKGv >b2غ7]u㳡[ ls/i!JZ/1`7ZũdHP*7eMX$vzSDͺإt6:l*$SԊ)cc+B(OQq.{FcK7<1}g~ُ|r|(fr8`/o=Db:v~>ݍ$ W '񙜬.6CUWR&]}U_ֆJ~~] ZV bD׶lTϵ}U r%SbECx5]gөyrɼ?v:P%^v*$ ayyjJrTb.].{xŬxH:zbgxz HL.2>;=;6>^ff]~T+.%vۍ]1K9zbeh,vñlQ,ʜ|<JLN.el F6>>7[iHW<.6c_q^^g rRO5Ude]-p(ǩFJ1t2➃[ s'D+9A7°tEg>Ó ]^/.GruqAo|:UsZ>ӊx=e:h{[wZ(Uve;u͖i]FtNQpsZ@ oim5Vǡ77ViUzN+sZ;W9=pyYbɩ\dZt_i=/FWƶFtNkNv}!M8"Ӫ7Ӝ֢1Zi=eћӊxi}Nkld?Ӻupr>sZuZ@ oim5VƷ32ZU&:iW^cMivN~lrlδ 9:{qZ76cnMZN=7U8 ߬ `{R&a{нC޿mڤ?慼3;qe!rJ-\xBUb@%͊3zo1+[gn|^R2ݥ*[qI`&eymb]dٗO~7e!Z\mD9c;xlQr]l*{rk&w<*­ D\E{8q{C˿JGev#^<+ඈ1fh?ommJm%\#wW6owjAlь8i[0| , ҰF!INЃ9 [*z59B;4;>COKhZl{-kC2U#Lq)--s%EޱqИ4QW¥\ xxuhj>$HL%B֔ܽPW,dfj6bC.%E~J<<"0qq8 jo'oݟaMuĀLt0f<+F LgT#=pk/AVsȁ<\NmTYtW*SiK2p+η5`#Q2oJD0RmʰJX.@Seox` *UV yTY%f:}*ĬsT~Щ*>UʔJTTx+η5`#|Q2oJDTRe(@]"dMy݋ Tt6Reyy8trХ^TJ ԰ *G)Nv!j.w%+Rerف:@T\{Jt(2UVYWé2xu=U}L)K2TPWokZrK7GHavde\k4N;.<9A? p9 7|d=o>W eyd9g0$?nY &N-C.Dz{TGOq70ݷh? Xsa`'vdɯ}s̕ ]1[:h;T6CL(?UԮ Y801nTIfҬ;@K\}Ⱦ ҈Tnfp=)-*:'?5z~qf y #h_ 4ǴHz0P7*Sޤ/XИ `v}B4wv \ mg{aٞ7a74 D&F b$߰;17\]]:8j7y_4Ư*VB<}ì^oXV9m=ưJض M:7D)C7ԀzPAvGĕgdްcJ FӮoX9 m7a 7#ö@c|Ca%T¶oh ԉ!J [ Haw&Jo7X~3#h֮X F߰qN z =FP v7TP'(e(o7T#]7:7X~3#h֟O ]n[Gl3S멲%kTIݛ-LYrIx_| @@ɏ;Lj6nt7  ᆀa9*U aMt*7d-1rÚ`4n^V!frJ/:' {w/'FoKúːж4eCXQmC@7_ׂ>?0;ᅟjC`M6e l QcU1`,[m*$j TV׵Uuyf-z+Z!E:ķ:tBT,qWCV -m*[xa 9}/WNN?ٗq-z8+-,qZ)Lx6muW4ruKp)+fLgX2HZYao3Tk xtX73Pf8w'QqL=Cj6Ms{yRjq8@ ;1q&"̕9WnUQ9q\q83Ĩ{ձFq (z_8ED\ p@/81q&"1i h0Wo6sV8镄T3杪ǘ 85o&ǹ]^KM8NIJV199S69`pH h0Wo6s68t6yd#cIbQDP 1"q|;69C3ǩHvPz8aGqqsuC8iG8:~qgUʧǩg'9qʲVmrNjϓSC糤> p@ !81q&"1fǙM/*ǩg'|8׿nguOOeIO~ssUtX}yJITE<yf)ZvLcceFQSY[9_i$:'`&;_*j;e,Ybu&K)>c[<9[~ މW鯩'hYa74m<[ E !J:% Y:!"d*L)ay8<"ncd (R&$ox{-QK:7~ 4uQ]bjG CFTWU'[jVOy{QFE[Ͷ+|"Ķ AeeATZG7H.[B^_jm:6j5BC mGAe{Gc"EFӣw#ަ){Gb5-Cj }"I]EfӇ郌 ^QyG>d&9.;j_{G6$r߆$uw8; "#(< ü9Q74;"QsǦ;Q,wt"Tu5WkHS.&0is8uE ԑw/(9.ZAڗzޑwԽw8^0TnjhjmfEWb^qczG4;:X ϙu%H/fyY[jm1ծP^G{m\m}.;MYj{!%_y(t_uEבwC(9.z/Խ#{[@f{~2VwTY<`PPEV#dFJBiܨ vϳCh.彣wDH)/H'/kH%֐v]"EyM~3}H7.=;|9E+HRO;wkf׷/ QfU#Aü69FaVq%E7wAJF;{G]rQάK0is8uEܑwC(9.;j_zGz#|~KW"rzzyy5`m\ 3/HӲj}^7ʭZzNi`hF::7Jge 5R9viow 7ڊ^kժuQoEUy_l%Uh y [kηx'aFlX|HꇪQ'oj2Z,!n71HTߝ٩= ]V5rbRݻCT藲4Eq[N鋼ޫv.JxBE w*k:*BBgLKԑk橅} #g5\jHˎO] Ou~v.?ş|΁0VUGL  G:?6wuUN?f'}[*]X5'dGCۨjT~bhi4#sHlQ ].sńڌUAv^Qu<,,f?GX1V!EXprX Osh4CcG$djGNa11l)爱^nV] Wjnox_TaTbQ *Sʫ@ψsXzI UaV >ψcsŢxXXQ-)r$b"/E_uq Zo/Pjg a119,6sXSK5,I^ǰXԗb}]k$nE0DbQu<,,f?Sfb9[,g-WwreXbC԰ØsveDpTaTbQ g;[,a.L-9,w݊Hazaa1y2,?9rX,xXssX,z.XI([,XajbE}9,E[aNabQu<,,+^_ $맿na2,Vמ[yW߲ϴVw AcS7i>۝8_SUSVZ!zwr1+O_)#|#Go` NuͽŪ̢WrU ^׷/um;/z0&fβ+"m$Ty)9,Xԗb}]=L%5С/kArZc?;[BY]栱AL'Oy-w3S8~ dVݑZpzzyy5^26_,?̿-=^-3q\ Dl/~sy2@_2WDj Bϥ]/zC;VP>5KRche;۬;vvw'l_r~X^߿?Tw.v̈>, eɀBԛ72< ԒiZ"´# XgiZ&ZEZSMT]~ y3LP7D C1Q6jJ+s&TrN&ك"u]<(yn 2Έ-~f&ё ̛qfk'PcB̛~*'Ұ\kg9Zlp6@m'hv|:ev >*y6d7$gvBv5<7Y.NL4 N@9)=xxTam^||c:_LQ%+Fjf;~bCZ .RktLDaYKk83+A/{*`I1x .)ׄV̱4~̢H/G^չ8dAR ؆{*ъ̐prr< z/j~T| ֤%v-.w) p{^;X)c#IR7RK]|U3ݩ6V0jfo LuqIYC^{ݑQ+*T' Q|nLԒ*htbmu jtھ+Ç!_QmO7HXU ?k&BWƱ"\#06*kU:Xe[00ns Hʕ:Mƒg -Zu"<8I3,!/K=we !e?+(T>qW&j!2 (2(W/EʈF9%$:12Au1Cۋ4\_K2k˕S]\R␗5WS|]KU[p]*Ll=X5,OݕhLʮ ʕwhk]]@_ 5"ՠ/Ҩre|e,IGʼ-W LuqIYC^֔[^MU=we.Uݕr*+9]]+c']-2)2.]*ۂyAu6":*W4'ϨՓ!HԝK-͊lw]h8:S|LVteZPvePteDʤz2Au!"`Xgq:*W)ܷlR80%8eMTy]we.U}W Q|LƹCtePve̟/ K, #8֨, "=^|yJ5WɈ.ߖÌ Ne00?m͢&v pYh_Zm f+ۻ \>B?" Xe7'։ic]kev}UaT{QMY2^'ڬd>Β [7ͯϬ Yb5vwooM4F\!fӽԛ);T+5 ʎ*PZl^`P.ZAmBުG'ccf&͇uw^\٭_?ܟNu.?_,L^eY03cY ![>ΰB||a'\Ǭ_^eE<<{a͸9N~QA%+fy~q\ߣwqV2h\^Y01ӠDaΔ1\3˰տ-_뮪r}fM&5Ic?H,\V9#LX>F>f=rIllq~u\?\L&7׸E4y\3 O0cfk\UϬh>F>f7r;W-^>׿1`03cAq}2p},V~?-Ǩ?̒=s&~ >r괹ǷA"׿N+Rq}, ̃iP\1\3˰տ-_늫r}fG1*1dE\ޣ\(:molz}Bg8_"4_3 0 >f(s}//` 2lo:<\r} s},Y3o7#?ίN;kreO-4nhL6J[I~yPRFR6RJt(Oл}r >@b=n*R0W_kęagTxWoc5q Sb^t M[}WEȷU Ԯ+({&Z9V"b E!%=bRjq IRr@if4PrBIS=y'VVX6|+쓙]ek`;Jͦ ){eG/ /_2Ar엉?QE=3N2\0,ֱ@̈(U'46˞~3\GjjLyfM2qHE-ޠ/7ږh>Gs8wl=5gvZݝHq7"vv}fLxfQE=3N2gv2})y $<3gagV!{fyϬ ,B\hAl=왱y]3^g&<͞Y̆cggl -=ҿʞYm}є Ƹg`celY=3Em̲g=3T_?_g^[>OO//&k~O飝ot 7SS~1Ui۬w'e;4j7oHHvVC2 Y&%&pSCgII #bv˅i:-r0ܰTi|˧& A{bC=, tљ6gT%b`YAPJ*JuIfd]!#uG9#1 K7bO[CHl $N-/bǃnWWyLLʌ$TOB6v" S;EНadGzla@f,6*,' g1mhΒnFg| jiJtIGckA6/=/·ԫJ]I{W2UwC݆TbwQӗ}߽]i1X:lͷjbw/ p1$tisQAh â_!tTB-Tj5j 0$x w!YpeM"|SPuH)Oϓ2n'dD^T043 nYnJֆXAKGj=;& aoh~vBNCi1&-:[.ԣC^`iI1eUn1$B8.!&âgSL7YmtXQLԂpL_s$yW4 Iſibeo}ulO:*i3lLAat?!L PMAV_لh 0A\gpNXf0JhWPl mώ!z֘ moQ_t\gz*՚?]ɀ '蹠{)}S=ꅍ73C_[L>Ipu[= YyLm[7z`-)A`l 峩.5yyu߭vV{CH^mKE*ӴPf)JmCFY4S9h),uSʒcyawSU9_bqS(7%S-rm 8LksEhׂO u΄ {s9$^@u?0ke(#oJcF>l>%vh-;غǙ u݄lɊ&W,Ԣz V%:@oTPcJMdZ^8Fpe33ޝEv:VXFZcz=R EMf*BIdC h|J7H:A'O+Aכ5?ܝtc`Vi+Yj*!Ճ!dz/ dg`CnSAęA;TW[WbB툂pl?' `\Au# DZxzأ'JI Mj*1d:CW[n6 VP(¢w2ޟ1c%&C;mz_qa~ lbGҚ\|N< 0[ =6.-cG.Cunt QT 1mL= KΔQ+41L2 n`TlZj%>Yk}gI3RΨtia9FU(ZEi3xc>]4e!Mgvi㫺\u,^aA /-q2pu7ҠUXʪ[Fm@qڒR>HibBJ}55 {ݎZLgL\%Z*FԚq9^NbѐïkI"bJzJ'2s,F8w5Hu\֖y ؤH'/ζWj [g[ijl&[֖scE~eyq-5xɶ$N 2Z-b[noZ_ b=_ݝ?i·R92\biC*Љ^dY5-?oT0˿Mdb-@ne <^G̼; 8$Bo/S\ic hI'6/rmհRKmƲ7j,F3za{[ޫݚ\S]Run7.AjkHe8.ԮBȣ'yZ}Uy1&ZԼe1r']YJ!K k8Ln,&a0"?a̗ނƘI1eSj[T." 5sU%wAE>jD2Q~|vl{H,2誔~EuǁŲAy::cO6lQooW4;쇀k'N>ǭ/ݺ or4^f\5`C"g9looKlZ ѓ PK!9]docProps/core.xml (Rn0W?D'A %Aj+NETV.C!$7x2N>?*:uB$E(P ESi]Lƴ X/EIm7ƎmAR Z[I}v e;~|Z-P9J$&$&eimm~ Ox6;iPK!mšword/webSettings.xmlSN0 }GP坥:$@&!@ > M6I%zŚl !jt%rkJ4?>gYL)aA6Ѵ+:UƌT\,,Y/8+=8JHnEIWtķRD}d ˬ, *CƧlFSzϬ+*$\y_P5%nߖnN;4@u~B SB Tޑ>9Ψ0^Hr Ҳ*І0føa!To7=p;L`6z쇯}hӯps4 g9-f x&>@X8~9ݵPK!eKg@word/numbering.xml\nFwҋY`Om_W`a Xbf83{O^$p)KEmi)%MRzuS_M },,i<^Di]:Q0=ǝd;U$r4yVvbR>]М-%Q4 .v=x܊QL-].r>! *PVH`<\G.pÌ1t6Xs! o/_ܷx^d{8LؘƖ |A3"\#xR,$ l/,M\p$ť8no\3{HKK{Mpg;vI,n(|h HD !~ڧRR-amڋ/2Wv~ݹ/5v{p]5- bV+N/o %Yy3 "MP~u/}z)^w^oV^eN}H2%/$;@!R|pbDelORҌ`~.P.TP+c7%& tq tjׅڦ^ܸN T ս/6] MG춷_M;B) R^xCG/(RE^m>=Ce&X.P VCa.Y\lvإ5;uѪ::3A,|pUe7njs9`Gk7A8::H=x,AGBk#jj+ /sx6W8 NrخeuKw*BQל"YvZo5!tlfʹ;Yu>L|' MD^Ժˉ9[U}'˖UGݚyN9ڀ~'K,ێ>򍆒;Y0"q3B+m]dvj ˫$߽w| jv$|LYyE^rM"r/{ġ}Ii@R ` DϮօ,R< *ArY$Zv84GO VwgDֳQΙP*+l(kd!tEK.sY6X0vco H b+6т#Ꭺ !,Z>v!̬;YB׷Rl5@PCkl^x2LZ3@vXΠۋYbRɄe5-PZgAUp!AHZQJ벆 yskp1׊e#( b@TBvVOI9p6t54) .`/E#-<*ۅ{+YG5Ѹ7ϣ*k Oa&gaiY/V02aEF9HXè 1EHz9 b=-?G~81 rL&  Ɨ3c. O>PK-!aDե[Content_Types].xmlPK-!N _rels/.relsPK-!iNFword/_rels/document.xml.relsPK-!޼ word/document.xmlPK-!:} word/endnotes.xmlPK-!word/footnotes.xmlPK-!9^(word/theme/theme1.xmlPK-!fword/settings.xmlPK-!4-pword/fontTable.xmlPK-!\Gnword/styles.xmlPK-!~oword/stylesWithEffects.xmlPK-!HsdocProps/app.xmlPK-!9]YdocProps/core.xmlPK-!mšword/webSettings.xmlPK-!eKg@word/numbering.xmlPKWpandoc-2.9.2.1/test/docx/dummy_item_after_list_item.native000066400000000000000000000001531363630463000236610ustar00rootroot00000000000000[OrderedList (1,Decimal,Period) [[Para [Str "One"] ,Para [Str "Two",LineBreak,LineBreak,Str "Three"]]]] pandoc-2.9.2.1/test/docx/dummy_item_after_paragraph.docx000066400000000000000000002111321363630463000233050ustar00rootroot00000000000000PK!aDե[Content_Types].xml (n0ED(,g@]tM#g&ȹpH]-֐_a5xZ}+Iy;@q?a4E=bIJz Na"xiBr5-dTZ<I<: 1=BV-->$hQW-TՊTǥ<:T\Kcy֡lpI@1U+r&5T/˜ Mc5ZLA"ܵU?'~搸Az,Ү|--'MO\~S]竃ųڼq1?(s;G,?oFL< ҄@>-B77b8)gΩp{襳 rc/%4?}J뮺Bw1`x6~PK!N _rels/.rels (JA a}7 "Hw"w̤ھ P^O֛;<aYՠ؛`GkxmPY[g Gΰino/<<1ⳆA$>"f3\ȾTI SWY ig@X6_]7~ fˉao.b*lIrj),l0%b 6iD_, |uZ^t٢yǯ;!Y,}{C/h>PK!iNFword/_rels/document.xml.rels (N0HC;q[Ԥ@8:VM\,Xv:U ֕h6,#1+M $l T!Wq +'Ν,@ c (Z/mk!D|4m{ͳy'_FJ (W -IJo*lF=)!n@RZt(6?wҽw}T(>h+19qї&3H=^¨O:?3ެ{F APt@[-1r';)!>րؔ|w 3?PK!]bword/document.xmlV[o0~`$PJ+TV y2X&!c~U^|;Wr}[p2%'QDJR&IU2\I:6F7ӯ_qH)t WL9=cK * F*s=DWʤ 'a"ZwۨhJS 2evL lV>t[2Q &Qi!t*P7֚&bl(JڂE='ւ*\>&3+H`u|~YLq8¾͖Lv0 np#>SOFОyd:o5{A. i?Rh bҍ_50lI$.jf4%wAfV2߹ sp k'7fK)DR_QɞӽxWAzP9mO39OTbNzRwj3ۇX }7}d:,9i`C)\A%J)iz gs̽̆- ̑ds0z/omW3GOqq2~ B}R/JՃ0^+؇w8~X?1,/=.sJlu҂B*/>S Œ\L=FnJ c#*Rl-9{U,F˯ưƗ&6#?m}OU}IL93]EZĠ5+QL€y<\9߿ zh4|2 ܚ}`Ժ%ӂD;@+IQ{"tYDMB3dYi/wF(]|ח?aηo׋ar# VWnn d3i Z*¨qS8P~IYgyEPK!word/footnotes.xmlĔn0+6V(6J[}ט`{,ۄw d xye+0)DȔ٤D>pLNzr G0>HIM(Vt$t~,F tz0>X+|[حԦ >9U\'Em߻%gƊ*K?ӱX\ʬņ6İ,ǺO<~>N?-<~1oVY'PzƄn^zIkˣ%c?Bi]٠~-R|@x-*f*yWҰ?KQ2pKyVˢAZAYr =w$B+{o7*-,>bp2-hӵR* 53^tfXS ,)~T6*[G9:qS\n݉!gTZESRe#/~zL* u.CbMΣ]TL,L0i"DEVC<#$3Qi[$͞Pf{Vp C:ONU _'sblx } .n328c]?Kfb!ֱ?.>hcυ]i#_BM^J%f1LLS~{+;w[i}cʓ;W7R@T0vé# Gmz6gOTB8.T n-JzoNν;/+xJN@  ᵶy ]ɋxa36< uȘ.߂ҝ N}6pqi{{1kֲMxQ:ɼ586g_c8@՗[@0(n` ' E2FR}l%~e,Tp=#ڭ=jCRھPb诊 +$n5TL_0z^N#m=PK! word/settings.xmlYKo0S<7x)nfa,ҳr nѶ0zRSZ],v_,Xb}_?|mVY]feswV7E^Z=~ÇqaihMZCY]m^ݺ×Cwo.]YV'3e]C۷èioo˽?[4YwִPfV\_mߗ]X5b{xeޑ~k|H@GBVQ|>_mWQ7R>ieQ@{`LqsxG&jCɍ}ö`ʹjW?f}yliaV}Qi]Y׫#"-&۶v1:QWK:bx[g]gCv.f)BÖ́OB%ov o@eh c$PܷDeH T \'B8&,f}ʤKQk)TqR TEh WKB)ֻsxUwЦ[Z,?PK!4-word/fontTable.xmln0'"ߗni7kن߉ndN|99?}ËVA8/aV]W7S̖)kD£w&k2jB3?0NnjnułH%1OPgqE!`^ bGk|)+rqVr=U맙4 Όz[,B;c(`W -:pI=7LZ䓨V3 *fjLSN- ~26Nd΋V.xR] <d3XcLW+*$GKP CY $>>OLrAa} AA: D\ Ē)qrū&I F u$2q+?"q b'f%7 td$>kwgcOF^:l,g@1 m™PEl[DsJ%_NDPK!\Gnword/styles.xml}rƒF?01cDw4m1vs")BCRn~ RvK*Go'|(߿lwW듇Ï?nc[}yvsl)wŪ}zzqlB"|+XӶ-ڷr|ڔ|I?(ǬXs0gC cؔ~7̏tD?P)qu{\|dw+@޷ɿbgϫݖ|ް5/׻mۇl(/RX7mqwlxsƮA&s Ų8|tG>+2*[~+_'Gi0'i -~_ † 3Am+G|L ?R|y'->or|z}ruE oc\Ddصe|Y9?(;a]\Os:#DD^r=hT(sꄉ'bİ9 %b|Ri6b&S(2bZ HcT@X-p4K1_* SihW.tv<:%yΩ* 㚁@^kB27HXhFx0V~ީwܭ]jI3l l{7i7L 80W:]*M:yAnю8w_|}@x+zr 57yQ.\ ys? ]}|Dw+RX+j+O$) c+EA)OBoZ{}27@b(>{N=y !ltZ2_ӧ4`Y,MmojIim繇{M`p<do }S/nwg&$Tuofn ,N,v~ޗ򉄿dY!.`T,/_t;FG"Bk+Gh OALXC$YZ@+Rh"~vy[ o'5B8/jA(FlSTs1¡E>3_pvT+T~}a&XbRkb65B$~&V0RߎđOVTTT/C^O{zcbnR*nWO~z~\o _O=pïӐ3ocS,S&" M.| `*b]F#n!cw&M/H_|7n"}Dd'@H!$M?>A{ KF MyO)5-d)~};=jpjFS{A.jMD'3WtJR bi,Ac?+(=0ɕVz>/ "Ew|\D Wr|Y  Ψ!QJ Qnd#`ipxQj7Kpt8b.%b5N#t!SS4rX2m9lFF3Z-VK0R(䇗$ɨ`D.I2?=N-t!SWK]Tw^Hh3Z-VK0Rh3J-%.I*D`RL$F/θ?0Ut]R@&RX2\-VK0Rh3Z-VK0Ԓ^Z $BD%L`$ɨpMЅL]-taR\-u!SRh3Z-VK0Rh3J-%.I*DTK0]aj)Kj KTK]R@&RX2\-VK0Rh3Z-VK0Ԓ^Z $BD%L`$L2NVla/(fV^e bqq*JܜJDĶ-n=Ħgd? `SE ڜu ښdeҭ p2³⿡zt88 ;îiYXxe|WKMꚮMm3lC$a-d؃L<1?Cw->wwd[ ax˴tq |_ƶ?mMk@ͺm \ -Hy5 ;n}X-Q_&0"]hC/ !^9o$~'Q?b]}̅t5_D[Wђd+ᵆ4gLB,02 J12IZ06i2VvX q9,YRuz<#x2ʅQkQ.^)8ن6$hjmFm*א#6SmH:R4jj.j+P5M*Rr*$澲2˩IRkIh;']ihCIvSJiŌô}lR7UV&&~ߡ%\֥KNKNрL!ՙDp<ɀ>pF )^r 썤[vK4e *pqƗlAPO1+?ڍɗN]V>fc 1Yl8vofhͫTW6nkj1iȣ<}~~mA;L71\3"8a /`9G%d7t" /Ѫ#Gbf (nf^ bZW/[9++|1!uvꗪizkQOK2&x͌7FȈsG̎zL͎xƄ˧TH%3"NYZ<#кmOgKZ+<шi C|t>aH{dZ1#MFS* thߨm82,MU7U:OcIVe7{Mb+qƜ)sYY]m܊KDd>C.UY"YSR}孑ˤ# Lmqi"Vav߀.FaK麉Er*['-Ǵ%\+#TӲHeHK"mĺhXz2b9HGmD:~;k0Rhin-эEn~P|wZg#UKd+#Cg 7p,V'<;UGϦzk08oQA*#>:{rzϘ>)`Nȳf[d'm S)QWa楥P#))5M\bґW*#1:e)*R!(VHTptV$R]^ٰ ǀ1X: h(՛R ZcZWe%€liS9mŚ0iOfd3ATق pj3n]e @Ă(52@fXVWY ;A]iPtt5sPyA+)#JPKQh. 5m hgE Fa>:>߫L}Hm HDU @| M^(o05a3H_GF]fc^eaIkwS".dHm[B$QDi!nrx0X&.XVg{ u!$9hz ؂Vӈ8Z8`E_]{2GI= "&Ы9*&1"ODU[ϏR&ƞEZEK#w-X'I?Zݐ06lpJM`puY_"&Q(#< 1bYeK)#._5'{y3 iJ=vRE`}c|=RFE+hղܸsyen˿&H ^E`Ajo-⸗PgnBi4@dE7*#؎TՉٹBɒZN${Zт]7Ifn%%n0ȳm>%uX"njLzDb۰ @]N}ń¦BuWVz ߲y~+![e#_Orɷ[M~/cX*Z %yh$9biwEy}?(fxH8ɞXs^<rל<ͪ>}gWh'nh+ݰI.jQ5%oy[ N Ĵ!2eɪ$M40)[ S+NfJ?ɂZh_65 W؄yMH-)""Pkc9laT$0:'SoTDD?}6 vO}?I(₵,Uk ⰾcpe-Y*c\jTs+r*W(?r朔ilgk3 mݍ,,ũm80A;4q債c:yl.mwA9f\3xѬ$^tFAȍZFn<#9>S3qg?=hnG'Ɂ*׳x4,W% HF*p,=?an:Т/ x0j.?_Tj|fp0їSE̘WR+̰ 8&bƼ.Va=$f0~gCa)awOx!b=i+oLX?0"ߵ<c79(1Zq솨UdP*, 7?2,և#nI]dSG?6,cnsIFel(-Gpl b#дƼAmEiЛALK`KQŰ(ŀ#zVQ](,ZaӮs6TN3l"Sf,aƮfO3ЮAE1԰y^v7ml< гsL\LwǗĄg Е"\ȫE,4%LI͆շjHo2 9tG,.B?V^+ScR`wbinpݑsqˊEU Ycx԰5vc Ce)?8W3ś3 YȃMbeA%ׯX\ӧ3dJNXafD,5?gHE4;a& SY;+՝8<1ZBht:ۗIy *=I틈yT))X3*vT XeI=q,ܩg$JďXm#^#-d8: êĒ2EWQz6!9#V=b]g?DY3ڈgN6kv @%C>| NmsniYe#֤g#8eJ&ݤ\Je2>xd_۫Qs~7k|'Du)sхS5i|V۱xn⒢rsHݗ8ì&KMa-8a:f1"(ΛW!2_'Z2!g2x*>Dx 8gkn-+smqf&qHuۯly$RU ,eJ;hVFz8h֗_o)ʬ@,l=r-cX.5N]HlO?[4d>j?əZQ@E77{ޕA2' sGX{U]p𚷿]<RVUѐN}[7LI͡+Cf+42h1xl 3?s؂!aƖ=B_)^Qеb_  U*/ Vq1YP@P;5dTVdA85U[j&Grdwy6bW[@a"ÉEG0{2E1e&VAHsB~ .:Q5/¶SG:g{Y{la0l@Z#9Ū$'b i"&/T]> /aH`JֱuxLHUK>T%3S51ޱ߰;ؑ&+[C`v) eKa8ODqK\O W!$K`H녮X"ڷ[ذI[en--HϏ*7Vy,1i38*hʫ5R9a\c4\Nj:f'p@%^z$?Bzk~{J:;6DʳuCV<{2

    kN,o9E^G]d*Up"!aOp18Ԧ'x"ݾÖxڦ?a1HYLE_+{̓C$ZTi=%\v6#7b#. L;pn޸D%~(!%٬pJ)1XFS.k>e+.J]JKUpڕO8,gs 1j?{+XNnّ$Su>Ml3k}G<-vG$|X)V?m@ORKN &uNS.{}ΎV nUĠf_e?^MRw~z/pz-NQ!6a "F\5:3⽯uMi6N[m?MEÖ t UuTE'"J.Z*ϫ0ᝤ6sߌg1pɶ\e[CD,ZGXd ۖ7QyF{S߱oP'H-YY&8||Yu>xKG'Nφ,ff^B[8% UUvܔ7lۛ`;8y*hU ;$s2y8tslg̔ht.3ezd? +'Ba@B$&D%xxyR;#T$ &A=*2&mPۗ*9&f|G;&r@ohov7+oQ}~7ŦxY5fP-_~[i=qG Zm3 ftl8,wnֺ/sz?j\73=\7 R[OոUnj˥;G4c]aL/9#֦CtZ%kZe`6p#g6K#3md8 {vJ {"AOObTFѺlSfw~a4WWa:nÿ< d{lAPۈo6boL S.e1~(r?6W7{x _@ѣ]Ý,^J(W_X*)z;8PZ}}_忕zy[W qu ~)Pۊ_!8lM^VÇO*i,t?ep" J~Қ c! ET5r-g*|ސ!P>/6`5[<"A \O/޴3]Hl$P5ym猑l"ِar rdTtXV"{z>^n&ۚ=gӺE\i1I?5VO[jC{e3Ss.>}-tz3刮%evdt|1.&|Dtpv9-L5{zs>=ə]佤=mu mhO;{Z)\Y]EYeO>lSĮ#g "L)/PS RlcgL~ 16wƐLs6fM/]gL`.q6]j—xⶤ*)u]&oΘ~?F1|7r5c:@qE֘4kP[cD53A_Φ[ * Sj~uUN t)5]tz}2IT!V^0>m]#1A 9T'u5ՠ^\ gf= *BU$Et^^mz`Yj6 +jU/6׮Aul jΠ?Sֺo|w4@whY&l_)_e@A5:ΠvS饥ޤ^Ԡ6׮Au jΠ P/͓/E?Ĕ IdPkߪ3m;[C}5> IWAm]#1A |6Z(ԺP۔5rz#K|WUUdP".B}v -L% j-T"@%,N%Ncy3d \ 1p)$ D&)$|^j0A.o T{Le@TeéO̫[ME}խƞsT0h+JE^]D0$_SXFͮ$)LFCp|)MAm~> 2gkScAwoY7e¥j9L«' މkx@[kJ,6qmY[|]s+evA*+ K͇,?d6߂)~)0|G +Y0Uq=n6-E+߮ ߫&cW `³bqy )eLҟ '#F&RYk)B2{C0=b{_$ y4kf5mF<~{#2C WaDZ(cE.q"y4>vqlVbX&d% J]JUvlQ$th8lAVĕ blBֲ>1-5Q77vwwEAؕ0i˦21v.SbV\@bZѬ]+Ϙ̀r0誡.5uub(,o-\x|^oV+w*h lB0XEwVq*J-n5v9|#]Db:Ű)f]br>"wb`;L)UajŔ1K]bPe1}g~ُ|r(e"rٛ 8`?|o#Db:v~>ݍ$ W '񅜬6CUWR&]}U> +ȕf6x"2ϯST\k~њ"ZL9vJ8x5?<Yvp񻯯rUSbj].Űn Yq'>vo& Њx k`%7RvPN a*; ]^ ߑ."1bػ.h|m6k~J~ce p7$xZ2N-͓k%|f.9V9&aH՟'*G K%vIb.j.^ʺKXɍ 1[@#]Db.v18uũ:3.\)vEChF.v ]@bx:Ւ9/Ǔt]]wQ_LnNjs|s/́E blb[m_9XEb 'Ț*qK͍̍8Tq#a:rq-Q ܹc"~ӜaX: HJ.Ax# Wsy898v1.A^o.$ BE_!5E8~_p$P+J{Brㆬqֹip/6i )y'4Gc,kN>W\U7 7+ad t! ָ"Jj&;X\I7 VTc YeaB֜JF} kԹ-T@ em`YSV;洦ViUbN+{Kz:5[9tIA^}r#Gk9{vZyUHi5 Nkx?N롐.viBjNkR0_RMxTL% ['A'9쉸,fp ^ꌇh}l/iFebp[G3~ʟ76IDF8I+۷; 5hF-D>iхfrJSVPi#Bאi'-h䈄`㈆I F'ɥYBo-g6׃[ 񌖵!fjM"_X8%hJ+l(@MJuÍ p^ڥڏ:I;DȚ {jBvilyAm+6_Rtxı]PSOdXCwmo*2"Rbt> Z7,iR̋Ψ&&-=r_̋sȁ<\ONmTYr7*SiK2x*+η5`I`2/\"X]eorSW\ 7ۂ;='}G;-Sv0y 2:.6/>\-xs ~!@,rn b6z2E}ە-3! eyd9g0e߿nY &N-C.DzTTGOq700 Xsa`'vd)}s^-Yq!DO*jWۀ,ho%QJ|b%Yw:2j'Q|}UV7z\SZy:'4?-z~qf^ F<@SruTD\oT|@cZ$tM&/T 10rʻM گON|nɾlO7L?-^ F|CoN Ql"no)? F sk|IXޥc)/Pݤ~}CS)~}؄P 5vToh;J zr Ma lJض M:7D)C7ԀyPAvGռfeްc)/ ٯoygdhO%D0zm0loJض M:7D)C7Dy Ky1_oygdhO%vŢoޮ-9)l47 z|CoN QPߣo F &5otaoرa ޑwF6vToh'ޢo)¶@S| *a74 D = b$߰zYFKy1_oygdhOٲX(mi nږ5DX! 7ǜ:y't_Dp]nRAnأv؀ER!U`Y@6MA@Zٻu$*)?zlɚ3UgRdg~2hG\<(h4@ 1qF PF_7Uuyf-z+Z!E:ķ:tBT,qWCV [bU̷r~C?~[/ x[5qZWZA%` =iݲU@}#mQׁ%]<(ynp'0up!AoN'SfZNI P,̃Q4($O䉥q# PGQ 6!a~SkɈZ#q朗j.S>jV6*u:*UYJHE3evYw$[,'_ǧ?65M*n9oz|bwxgE8Ⱦ|>8SAQ=Q1jL9uuU؀ILOrTrvG 1d |c 59J_B}Wkv].:L|8gW{ſo7kR ]5PC)*@iaZmG»Z឴>ڕT֬imIY'^&a2w,1ܱz={Qh W^\z,EJeTl[I7@+Bl; Tx^}4:ݞ=Nu$xي4%jkvӨhj ڨVc 9DK \vP`}gL]R*$}"\P_b]ܠF4{u>ΘoOo5"RTEGO­ctehIdV,7.lWm9֬N1L~o+@K=uȱ1$CxYuk`"Au,6FȢj5BD1 Lw4}>U!_ۛi<=*{G;mw*[\c2$Џߖ+4EQhv>}>ʘuE<ёwCV*`㢽wdoC"mHQ{G#0,;p9̛s;:~C.+57lje"{G'rNEJyQG:yYC*y4)hK6 ^QByGN}IIN*{G{G#U#Aü69FaVq%E7wAc.ٌ2jYG[Rnb(S\ u4G߶FۗbJߔeoGR=]MgOU ^QNpyG>㢭gRO;-`.&juGU  Ua5Bm<$ƍ`;UDwy(彣w$Z>H_EJyQG:yYC*y4)h;}xzDظuEّwC(9.ZAڗzޑ]wԽw44xGUm>1#ڰDYǕiܘQb;fOKC(Zy(tIuG9.:b&ץw3sG#h}eF-i^[dZrr۾ N˞}j{](^jz> 9 QNlhl0(ifZ\3O-/AD 'π8tVÅFZv:^oߗ_v):XyHT E 3‡.N3 Ρ H9ư#z҃sXly_[u5\}Q?R EULh+Fh<#a.j%'T?P+[- R?#aa1Ge-X}#,)h9,bQBqh諝5Lva1vJNsX,հXt'yJbQ_v=tVXsXˆ E񰰘XN-?3gl-\9,b= Sb crX-_ScQ?R EU-l/;0OhXGXu+"eX,1˰<aa.=aQXvcb9,6&lʟbŢA;,eXCm?;=[CE5WI/Oݒ"eX<=eW__״Vw AcS7yپ۝8_.'VO.RCկbV*&"RGF2(A|{U˙E Kn/um?/z0&fβ+"m$Ty)9,Xԗb}]=N%5С?ׂ^Í;p/~w]t9ЅAc}:N$Zgp2l#A2Ij2oe,mX[z[gli-MCze_5.?(#e ?d"@3yK[;0w ʭ|jQȗ-vYwWjsO^-;(1p\FAPR޹1#^|Y6>a&B cSo,OPKBek ӎ0ZcUZ.nMj-j K-jM5Ru0AAY3 PD٨)]<R9㦛,ff*RW C^u1:##DG*0o =XB5 1oͫHrO?f9|;TnHhI"Asܣwܖr4x첟]x 1#9, d?1@b6x;Eco'hvQ;꣆ mdwBv{}UШ Ab6x;Eco'xtq;棆+k]k3f7Hop vP f>jx{]B0H3w k 4bFs qDÎwP[wG oc2xVr3f7Hop vP gAG QD585/_Uf:_/fr]O:0}u;KVbwxņ@]pP²>pgVnū%; g0_H0_Z1 522"YҦyVflyHUr.`D+2C r2y S}w-[صLܥ4Вbuzcb$IH<,uwU6vS[*ё@m?&ʴfΝL'&&e5砚t1PmSha+ڰ4*]]fީ /WXe0%e/yyX xwGGQ,G1QK 6ёVjʮ 3yG= aUUo/' !\Ƌpe"HTYTcm͉6":*W4K}$h׉Nt$ҏϐ<,ܕ,U @P] 0ʴ/ʠ\{+#yd2+ա jl/Ҩre|e,yvʼ-W LuqIYC^֔[^MU=we.UɫGnwpF2c9װT>uW&f;A2 (2(W=J2QveRte}i 0`VHʕ$)\0%e/yYSny5UܕT%tW Q|LhCtePvePteDʤtl ա+ڰۋ4\df蚵{C#?ίNp}|!'Ǜ;IˠGsy9cf`fLe_v9Sp},V~7ŚԸ'|#pZ80ybYgOt`-W$U}is}cob;Dx1V^Ѹ>f `Ap}4(?Q^\_eׯrU>ޣYg[K_67x=.CwۇGC\2̂<'\ߋ 1 [*gv\\3KV~-H\u\vr:H׿1`03cAq}2p},V~+-Ǩ?̒=sFz^r괹I "ן=>QY01ӠD{q}c>fa[\QcTПcfɊ~oeq~u\Y/-}lyvKcQbߚHz'nͫ臢2:oϔR:3ExE]kl(tKUbZ%ά;;߸z\*ݕjdnhj|/ZFZv]G3:0$ 8 F74K( {.Y.ny]bW7oHZ x\sJ3!x ̔CwOJ;B=BDz[fe,de_Qj6]L+ u=z2 :֖}fL*qTg9PgFD:q(uy] =DVSfr=3soC*n??`|ԶWF9Ƹ[`լ9r5gDEA5{f3*q=dLe`p&9 =qx3{fe`:Dr`eό zY=3Em̲g6w==3gSh陕Uo;(ˍtVǼg6=f,{f̢ ,hg=i9CjgM^1gl-=3| g9!y*[Z< QΞY3;-,Όd),z̢͞6{f3˞Ym9K p={f3˞3Ku̲g6=5{f3*e,{f3gu*.ŷob;c=dB />1Ѧ$X.[k}cRG]+v1dz})}Sr۾ޓ.Fbj;*]wE٣7a Ty\񆻣-|~+]ԖNjK&Ӑ^?o כuA?fϐܺ=^ane?`4 t5|@KLb^jrbq#2DĖ6 V{hF L. *?.{3ZJCB-As{'^'CD-hFbd$ | L{<[*O !Svħ2#,cPv?ʹHC4kaΪEp;t'$,dY;쑞kA$[r2l85 ́$ ˉYL_n({ǠF]fE=c>Z7zM!K)a2RcR/%ޕkUP(U*b]Ԯeew/GjWh dmxZKdh ]\T{-Ɨq.]E?@} &BC C6ņ,-57 `B]HDh>\Yu2()~sT#0_7`$I7Q?b' ;͌(m4!=l3vPRCώIf-`PZ5I Đ)X{p e:DY["t t o#q8oX!¹J/DZN*1G \0j?)lب)=W D-2P㶨EnYrդCsQ\"Q{EzCZ%Am9xMfUc&@9yU"PBn9XEz /@ؔoYѯS h4S=5V.3KlU%XY] `2ɔ<  r%(9xX}IJpcΈ.ͻH'ӰTz^nKxYg(7z^09Z%& ՛(Xȥ:+FF4~!\4x{4N5#'x:(D!L!.,$cm +c=̯pMקg{u]t+6ņqZ\b.YԼ_R `T9#ѽQ5kc}݀2"Rm u/&bÂ6['?^ *U%2D>zb0?zqǘ %C:9!Ԩ)I%Z2D#[9%KM0ƵSsWk)˥ yA|ԍlTXYnHVPxΣ rİhFb2bMcbVih?;:8VT: 5Wc H99wkAXY|ſ_~.7Jf S+a6w4ݏra)0T}W6!;LY%(\uY#ZU'v[Fs85f@x}l۟FW$A7-W~kޠJ h&Oh2`2C:z.h%^J_TvO|zacR2C\[pMW8ok*{!ߦe9#bjҽݺOWnOR*{Vhq`CF5SV*XqJ88vb;DKDGMl^}uY]w~m>Wu 4-m-Y RQ͔f,Z 96uݔC^؝TUΗX:T% l@n@ \[(N?34ZjZ䵠B3\kNB@jpfL%Ye{lLÉ}-[m] H:d~Ѩx7 ^X2" Q~Ӫ=,gho Ă)}&K WiXJNc#Ũȭ&FXăp욻r [Bɐ)ףwNz^I?WhRUH-l-eWk.Ej[ĨSsNQGȼ+1U!r7+a Тi#"n)f[_m(,c!:P6&l)嬧{Bo 6ߵd!M/e !"64yN>N?01~ZACuH~y^pX*6.Ԏ(Ws VIJQJ?KɰJɫ=zԜdXͰCC,1xf(jRQh-,z,i/1Zbr9jZgQ&$ũ~<1Q@#cR">ha=>Vz1\Fe/L]^ 30 6̈́܏#l$LbI˔-cƁL%>̦VcgI{؝!1+NGc^RɯU60ן 1E3\p+yaoiZp.:U21_Pro ,+C=Ww# Z5eaEh6 T?{-K)C.&'YS r1Ȫ~Ub$NÍo_>) :$!)QJzP,3GaJb4 ێsܿ]s͎TG=emn MY8rl@ ufhm917VWR7lKdK "S2|+vfM! ; '|+(#% 6g *1EHnkQѲs*LJf!y(QP`up(l?̻ rC2IA,D7U˕!z9xtbNBL/F]Q {-kp!zyv`,{b4V*#$lbR'\ف|wRVRXPE~;Q KF1RAuEk(zb7ٌlJ"@ط\K7ݱH_WTˉ\\ɯ4R8f#tjޗC27+'}^6ebz$L4ս(,bL/ӯ&==ƔTΣ52n ܦ6,cf3qP 3g`hM:Q.RVX,{Ѕ(U4|\dv840uIj#'{m}ظoV*Bo7{H~ų)|\IN]?9gxOї;Z/lb4uk"b\W]{u[S]ߛk]F%YmmB#Iq DžYhy$ϫ/[Y_>ӾJ <0#0Sˑ 8F+K>UI0dIa 筺Y3?_2u4^wg%hƊ<zv;1 j3R-:pHnnܚf;<.zf=?b_l)_ȩ,zrƸrÁ_pWKRV?>U?EW}BvcYZURNĿz_~.7ۖtzzyqpHo!ZzmPK!~oword/stylesWithEffects.xml}rƲ:éH$%J>Kkx[vm񊜵!P6IE~ s( NUlҘ{_L7,__x|K׋|^eQoKdˣoߞmwVwOˣO?mw}>[lm~qf||rztMסuo|d!e7*}gq~yxc]4_<ާ~M1]PN#LҟIy*{z8jSt<)J82oIUɱk2"o#O5 u!eȎPĩmh{}{-)ol.]M%QC q៍VE@4%^'ȟ ƀwp@Y9?J.#4!Cu q 1bXi}Ȓp1? PRi7lL&S(2bZ HcX@X-p41_, cih/tv<:%yΩ*+A Ve0n$C80Ł+]`}ީw<߭]ۥiI3d ae{7iH7L 80W :]*M:y^nюxw}}@r@LWgj)!n!\Io K0~vA z&!j.z2W WH5 dTG.Oz9c SqJ.dA9LNl+ aӊ4;}JE0,̼&67) <`{S  7ylB;OUNڪ:73u G' h;Y9$_7]$f/ܴ `KE >[?j8;>+i^אwuW`wuv3Ib7f'b#uU^ R*p*sm A[t΂'~"A#\fW${xGj++?^׿|}Ym\ ԰"glVSlnL %pt07KVEɃ&8'ykx f?g5t}珽/ ɲWC]q X:?pMPfNFvN5#Iքާe&AǕ!H- N YzgqMn6:^(" B&8%-@tarS#hRq tc; I}Ko[}l p[};xҷ#G>Y%PT,x=r5? 7I7Xcg_|?v~1||=~zNC`&[ ߍD1|7]n\{Tt=1Ft18CBnjFߍ/I_|7n$}H⻑L{-x'OIkB$I0ͷ86[_( ϛ1kZs1Rn5v$!z_ 8\ ёO+agԕ~Pރ "WPz`+!5cn׃"˙+HAT93W.ә+9sQwΕUhɠ&[=s3K6`I|f=HӇO}#Slז!R s\emX8>*Ɓ7h; h"&;ֶқe@rlxCq?3ZbJ1vDZL `9EІ٧w !^#9o$›᤾'Qs.U̅t5D[Wђd+ᵚ4ͰgLB,02 J!2IZ$3JSeNzͰ e`sX$5xFd3+0 PFAi9 Fqh mAm2I, ی^(!Gm?Uې>et%#=ipUS՜[U Ԛ3(8j$THYA lC<, \P)K4Y H% Œd Gbc ׳},X.p dޒR,c͒άj#Tr$7+#@/1Dة4+t9UzK7\+nh;']ihCIvSriŌSiؤ;mYoër+LL:CKlK#B"B*3ʼn,xrˣ}  Rd&xkI+,;욬i2T<^/F 8bHW,h7zG_{8fS5Ocp͠dW(&K5p?S^lpIcҐGWy3v#oPcfDq0Cr Jx<"xGRe[Ο A k2eDjT.@aEw(/&"Ӡj椒B9 *fB-CHF]Bģt/1 .vʄ0q8Ї6 DYED䥉 Jx]6#ڍqDN`l|e6E_f{ļvg1%RID;6%D" aJ(-P._  Yõ#4Mb![U}4RM- Wj.u;3M 2/H%K%gky"U{A:Y.=c%']\<(a\_VQm{0bUR 2c/^³K0/Nr{d= W.X!#L(&d*g4[Wfghy {A'h{zwQ[,jU5pYI)ۈk `z5d, Ԧa 0^=I8ED;jm  gx-ljQDF9`0wO{"T# g EvUٞڙj!Uw\DCʘ/Uw\*Ê㺜?cU39'=tZ5:H.8Dw# |*vqj sN?u\9oXr#nKbd`ff.Ռ:^4+.U5}:CfFº>^ ohb'",D4?`*Kޝc'pt߹{'Fk]N1]g2#M>A'©2DRek"bU"))aAJ Z\Ja B5VCYR@8F0tTj%F^6/K2JKaUbI^"ѫn<=u+k r 1Ӯw,mijaNV6-kv @%C>| NmkiYe֤'#8eJ&$_Je2>x}d_+QsH7k|'Dq)sхךS%ީ|Vۡxn/⒢rsHݗqYM3LZ!xqtboDP7Y/yCd/LeBzdF>U|"xq>@ZVۼ98Ll j_-kH13)fWY)ڣRX_~bTh ˓=QcȵlL8u9#1<<"nѬv$QLN H\x*.5] 889O<ҫrbs* ݄s`UUZD*ӻҽIg Mj]2ѠAC3\.Oa j[#p~h{ DAnI.UK,Jb8'VJVy,g;H΂JؑD!LB'+ SޢVK 5j4Z,GrJ۫lvY Vi/IXL!2hYt4Y sB9*6I|nBoAE'Wv@-{P<_&6 b^q4Kv- -@w$\Z,jJKB1O8K_hWM6yQ RgxCS%cs`BbXp}Ur93U;C i5(nwܰ]6D0`Ypm+Hd߯;ϓJ[i 5]|EKA W\IL4ަt S@]Db V9i_cޭՓQ %$M`FUuSxUAF,'4[ug7`1RDu e4_b,$v74k`C<[w+g´}OjTA($È|葈s9&7qI0Z#˛7-^%MY$N e!ʞ%/?n=WR>(=y#u&u]/kEOtGJL6{D'l:͵!|^릩z9F8e!۬Ȟ& -4;&tX:Od0C+' jwԣSbͿ$zM׊jr(SEa EQqHk(1"WSq5U{TS(R2lEsJD♦ G^TEΖ ೽!q8MNV_ [H<7"۽$T #Y ǐYhأһbP-u" VxJ_-mjV_舗Kt |e1_Ge*fKzU-n 쨦b=8Ye9a4 4`CV_޿hfNEQ4_˼efu'2l =i,Էh󎯪S*:u՜gPrz,V)}^% Dqm3h'|lJ7ja}'Vn/Gu9ƿ^H"·de`Sg5 {x[[:>dt|2d1{eŷS._,]eu}^ Ƽ=gLq VŰC99'S_wC=&Lݖr:Ne,Yq$PaQ4 BĄ{~X;/U:bAE`.lN٣"#k2;f}ircb^wc"ZGCea̟fwʾeLJt]ljoŚןh;b"mۅDɭ6xcasmNx[ ^*pb7ẙd wR\լ:f/uΘ9 cԗx6Rbu.Xl -Y4֦o7yYÉf(+EgSJcu ξ?== ]R+Ek+j_&#Q͂JQyVthʒSM]$C(63q7~ޣTG /"p1`Oe`B}\c{qwN+=e1mu <%)ێ' uk07+*HݷUk4N{Z?ۋ'`'%HJPCo+y4?o_7zY ?(jqd/(Ik&pQ 5ϛH&c)pyC@6lwE lqTw pޣ?>+zPt!e B av3FkdCb˙ȑqSUickDRΓ}#S]v/XPD F￿@4P%t 6p%6?\a0ZU4=BgA_g *d2C?]q +Ȏ¡ aSMs,&ۘ-ә⽚ִѡִV=5owKt</]=0{:;G ukpp60;L2_=d wjL緧=՛#9ӗbOgWhӳ`KA%!ySدΠʩ.:&N/]fs0Vғ*Dj3Ƨ65kP{cD73A=j ΠԳܬ5}Eʀ:.Kk5ҽe6T,KͦrabaPM9#z;51ATѠgzJ#R^_ Of-1ՄU$R3 jgP9;[MY jTѠ `Pa ln<)]AHyhIʀ$ZVA%msIgLM9 jTѠo `PEԭ]ZƬ+YU"Te@A-GPy#TQ7o0465`P[d;b ;쒁pIj$GAl4ߓ*9bz hE;!RaC0m~Pm >bG0~l6EnOVzRh6(y_tq[Ma:'7NhU0-rSx ShrÕy3ǐR48*V?ȜMz4_Mi9ߥW;V%˄1 rWMO։kx@[cJ,&jи6}:+i E]1H|Ȣ[8EJ2-#w8EPYaS]P0V0]ՋcH)yd860$Ϛ]No ~W\Ѩ'Iմ%b+:D8h@\D.j9$jTu@kV64z\ fY‹dű[]X[c85(&v+VEDPlӡYc1{&&VX?#WZ3]U>hi)Ƶ4޵}- rإĮYM[֍]1K9.vQ6j4@pcKGv >b2غ7]u㳡[ ls/i!JZ/1`7ZũdHP*7eMX$vzSDͺإt6:l*$SԊ)cc+B(OQq.{FcK7<1}g~ُ|r|(fr8`/o=Db:v~>ݍ$ W '񙜬.6CUWR&]}U_ֆJ~~] ZV bD׶lTϵ}U r%SbECx5]gөyrɼ?v:P%^v*$ ayyjJrTb.].{xŬxH:zbgxz HL.2>;=;6>^ff]~T+.%vۍ]1K9zbeh,vñlQ,ʜ|<JLN.el F6>>7[iHW<.6c_q^^g rRO5Ude]-p(ǩFJ1t2➃[ s'D+9A7°tEg>Ó ]^/.GruqAo|:UsZ>ӊx=e:h{[wZ(Uve;u͖i]FtNQpsZ@ oim5Vǡ77ViUzN+sZ;W9=pyYbɩ\dZt_i=/FWƶFtNkNv}!M8"Ӫ7Ӝ֢1Zi=eћӊxi}Nkld?Ӻupr>sZuZ@ oim5VƷ32ZU&:iW^cMivN~lrlδ 9:{qZ76cnMZN=7U8 ߬ `{R&a{нC޿mڤ?慼3;qe!rJ-\xBUb@%͊3zo1+[gn|^R2ݥ*[qI`&eymb]dٗO~7e!Z\mD9c;xlQr]l*{rk&w<*­ D\E{8q{C˿JGev#^<+ඈ1fh?ommJm%\#wW6owjAlь8i[0| , ҰF!INЃ9 [*z59B;4;>COKhZl{-kC2U#Lq)--s%EޱqИ4QW¥\ xxuhj>$HL%B֔ܽPW,dfj6bC.%E~J<<"0qq8 jo'oݟaMuĀLt0f<+F LgT#=pk/AVsȁ<\NmTYtW*SiK2p+η5`#Q2oJD0RmʰJX.@Seox` *UV yTY%f:}*ĬsT~Щ*>UʔJTTx+η5`#|Q2oJDTRe(@]"dMy݋ Tt6Reyy8trХ^TJ ԰ *G)Nv!j.w%+Rerف:@T\{Jt(2UVYWé2xu=U}L)K2TPWokZrK7GHavde\k4N;.<9A? p9 7|d=o>W eyd9g0$?nY &N-C.Dz{TGOq70ݷh? Xsa`'vdɯ}s̕ ]1[:h;T6CL(?UԮ Y801nTIfҬ;@K\}Ⱦ ҈Tnfp=)-*:'?5z~qf y #h_ 4ǴHz0P7*Sޤ/XИ `v}B4wv \ mg{aٞ7a74 D&F b$߰;17\]]:8j7y_4Ư*VB<}ì^oXV9m=ưJض M:7D)C7ԀzPAvGĕgdްcJ FӮoX9 m7a 7#ö@c|Ca%T¶oh ԉ!J [ Haw&Jo7X~3#h֮X F߰qN z =FP v7TP'(e(o7T#]7:7X~3#h֟O ]n[Gl3S멲%kTIݛ-LYrIx_| @@ɏ;Lj6nt7  ᆀa9*U aMt*7d-1rÚ`4n^V!frJ/:' {w/'FoKúːж4eCXQmC@7_ׂ>?0;ᅟjC`M6e l QcU1`,[m*$j TV׵Uuyf-z+Z!E:ķ:tBT,qWCV -m*[xa 9}/WNN?ٗq-z8+-,qZ)Lx6muW4ruKp)+fLgX2HZYao3Tk xtX73Pf8w'QqL=Cj6Ms{yRjq8@ ;1q&"̕9WnUQ9q\q83Ĩ{ձFq (z_8ED\ p@/81q&"1i h0Wo6sV8镄T3杪ǘ 85o&ǹ]^KM8NIJV199S69`pH h0Wo6s68t6yd#cIbQDP 1"q|;69C3ǩHvPz8aGqqsuC8iG8:~qgUʧǩg'9qʲVmrNjϓSC糤> p@ !81q&"1fǙM/*ǩg'|8׿nguOOeIO~ssUtX}yJITE<yf)ZvLcceFQSY[9_i$:'`&;_*j;e,Ybu&K)>c[<9[~ މW鯩'hYa74m<[ E !J:% Y:!"d*L)ay8<"ncd (R&$ox{-QK:7~ 4uQ]bjG CFTWU'[jVOy{QFE[Ͷ+|"Ķ AeeATZG7H.[B^_jm:6j5BC mGAe{Gc"EFӣw#ަ){Gb5-Cj }"I]EfӇ郌 ^QyG>d&9.;j_{G6$r߆$uw8; "#(< ü9Q74;"QsǦ;Q,wt"Tu5WkHS.&0is8uE ԑw/(9.ZAڗzޑwԽw8^0TnjhjmfEWb^qczG4;:X ϙu%H/fyY[jm1ծP^G{m\m}.;MYj{!%_y(t_uEבwC(9.z/Խ#{[@f{~2VwTY<`PPEV#dFJBiܨ vϳCh.彣wDH)/H'/kH%֐v]"EyM~3}H7.=;|9E+HRO;wkf׷/ QfU#Aü69FaVq%E7wAJF;{G]rQάK0is8uEܑwC(9.;j_zGz#|~KW"rzzyy5`m\ 3/HӲj}^7ʭZzNi`hF::7Jge 5R9viow 7ڊ^kժuQoEUy_l%Uh y [kηx'aFlX|HꇪQ'oj2Z,!n71HTߝ٩= ]V5rbRݻCT藲4Eq[N鋼ޫv.JxBE w*k:*BBgLKԑk橅} #g5\jHˎO] Ou~v.?ş|΁0VUGL  G:?6wuUN?f'}[*]X5'dGCۨjT~bhi4#sHlQ ].sńڌUAv^Qu<,,f?GX1V!EXprX Osh4CcG$djGNa11l)爱^nV] Wjnox_TaTbQ *Sʫ@ψsXzI UaV >ψcsŢxXXQ-)r$b"/E_uq Zo/Pjg a119,6sXSK5,I^ǰXԗb}]k$nE0DbQu<,,f?Sfb9[,g-WwreXbC԰ØsveDpTaTbQ g;[,a.L-9,w݊Hazaa1y2,?9rX,xXssX,z.XI([,XajbE}9,E[aNabQu<,,+^_ $맿na2,Vמ[yW߲ϴVw AcS7i>۝8_SUSVZ!zwr1+O_)#|#Go` NuͽŪ̢WrU ^׷/um;/z0&fβ+"m$Ty)9,Xԗb}]=L%5С/kArZc?;[BY]栱AL'Oy-w3S8~ dVݑZpzzyy5^26_,?̿-=^-3q\ Dl/~sy2@_2WDj Bϥ]/zC;VP>5KRche;۬;vvw'l_r~X^߿?Tw.v̈>, eɀBԛ72< ԒiZ"´# XgiZ&ZEZSMT]~ y3LP7D C1Q6jJ+s&TrN&ك"u]<(yn 2Έ-~f&ё ̛qfk'PcB̛~*'Ұ\kg9Zlp6@m'hv|:ev >*y6d7$gvBv5<7Y.NL4 N@9)=xxTam^||c:_LQ%+Fjf;~bCZ .RktLDaYKk83+A/{*`I1x .)ׄV̱4~̢H/G^չ8dAR ؆{*ъ̐prr< z/j~T| ֤%v-.w) p{^;X)c#IR7RK]|U3ݩ6V0jfo LuqIYC^{ݑQ+*T' Q|nLԒ*htbmu jtھ+Ç!_QmO7HXU ?k&BWƱ"\#06*kU:Xe[00ns Hʕ:Mƒg -Zu"<8I3,!/K=we !e?+(T>qW&j!2 (2(W/EʈF9%$:12Au1Cۋ4\_K2k˕S]\R␗5WS|]KU[p]*Ll=X5,OݕhLʮ ʕwhk]]@_ 5"ՠ/Ҩre|e,IGʼ-W LuqIYC^֔[^MU=we.Uݕr*+9]]+c']-2)2.]*ۂyAu6":*W4'ϨՓ!HԝK-͊lw]h8:S|LVteZPvePteDʤz2Au!"`Xgq:*W)ܷlR80%8eMTy]we.U}W Q|LƹCtePve̟/ K, #8֨, "=^|yJ5WɈ.ߖÌ Ne00?m͢&v pYh_Zm f+ۻ \>B?" Xe7'։ic]kev}UaT{QMY2^'ڬd>Β [7ͯϬ Yb5vwooM4F\!fӽԛ);T+5 ʎ*PZl^`P.ZAmBުG'ccf&͇uw^\٭_?ܟNu.?_,L^eY03cY ![>ΰB||a'\Ǭ_^eE<<{a͸9N~QA%+fy~q\ߣwqV2h\^Y01ӠDaΔ1\3˰տ-_뮪r}fM&5Ic?H,\V9#LX>F>f=rIllq~u\?\L&7׸E4y\3 O0cfk\UϬh>F>f7r;W-^>׿1`03cAq}2p},V~?-Ǩ?̒=s&~ >r괹ǷA"׿N+Rq}, ̃iP\1\3˰տ-_늫r}fG1*1dE\ޣ\(:molz}Bg8_"4_3 0 >f(s}//` 2lo:<\r} s},Y3o7#?ίN;kreO-4nhL6J[I~yPRFR6RJt(Oл}r >@b=n*R0W_kęagTxWoc5q Sb^t M[}WEȷU Ԯ+({&Z9V"b E!%=bRjq IRr@if4PrBIS=y'VVX6|+쓙]ek`;Jͦ ){eG/ /_2Ar엉?QE=3N2\0,ֱ@̈(U'46˞~3\GjjLyfM2qHE-ޠ/7ږh>Gs8wl=5gvZݝHq7"vv}fLxfQE=3N2gv2})y $<3gagV!{fyϬ ,B\hAl=왱y]3^g&<͞Y̆cggl -=ҿʞYm}є Ƹg`celY=3Em̲g=3T_?_g^[>OO//&k~O飝ot 7SS~1Ui۬w'e;4j7oHHvVC2 Y&%&pSCgII #bv˅i:-r0ܰTi|˧& A{bC=, tљ6gT%b`YAPJ*JuIfd]!#uG9#1 K7bO[CHl $N-/bǃnWWyLLʌ$TOB6v" S;EНadGzla@f,6*,' g1mhΒnFg| jiJtIGckA6/=/·ԫJ]I{W2UwC݆TbwQӗ}߽]i1X:lͷjbw/ p1$tisQAh â_!tTB-Tj5j 0$x w!YpeM"|SPuH)Oϓ2n'dD^T043 nYnJֆXAKGj=;& aoh~vBNCi1&-:[.ԣC^`iI1eUn1$B8.!&âgSL7YmtXQLԂpL_s$yW4 Iſibeo}ulO:*i3lLAat?!L PMAV_لh 0A\gpNXf0JhWPl mώ!z֘ moQ_t\gz*՚?]ɀ '蹠{)}S=ꅍ73C_[L>Ipu[= YyLm[7z`-)A`l 峩.5yyu߭vV{CH^mKE*ӴPf)JmCFY4S9h),uSʒcyawSU9_bqS(7%S-rm 8LksEhׂO u΄ {s9$^@u?0ke(#oJcF>l>%vh-;غǙ u݄lɊ&W,Ԣz V%:@oTPcJMdZ^8Fpe33ޝEv:VXFZcz=R EMf*BIdC h|J7H:A'O+Aכ5?ܝtc`Vi+Yj*!Ճ!dz/ dg`CnSAęA;TW[WbB툂pl?' `\Au# DZxzأ'JI Mj*1d:CW[n6 VP(¢w2ޟ1c%&C;mz_qa~ lbGҚ\|N< 0[ =6.-cG.Cunt QT 1mL= KΔQ+41L2 n`TlZj%>Yk}gI3RΨtia9FU(ZEi3xc>]4e!Mgvi㫺\u,^aA /-q2pu7ҠUXʪ[Fm@qڒR>HibBJ}55 {ݎZLgL\%Z*FԚq9^NbѐïkI"bJzJ'2s,F8w5Hu\֖y ؤH'/ζWj [g[ijl&[֖scE~eyq-5xɶ$N 2Z-b[noZ_ b=_ݝ?i·R92\biC*Љ^dY5-?oT0˿Mdb-@ne <^G̼; 8$Bo/S\ic hI'6/rmհRKmƲ7j,F3za{[ޫݚ\S]Run7.AjkHe8.ԮBȣ'yZ}Uy1&ZԼe1r']YJ!K k8?~<@0 kkASk]`Pu~k-7,,D%,Bv; < -~''mZrILHLf+2&,M?fW@CdwPK!mšword/webSettings.xmlSN0 }GP坥:$@&!@ > M6I%zŚl !jt%rkJ4?>gYL)aA6Ѵ+:UƌT\,,Y/8+=8JHnEIWtķRD}d ˬ, *CƧlFSzϬ+*$\y_P5%nߖnN;4@u~B SB Tޑ>9Ψ0^Hr Ҳ*І0føa!To7=p;L`6z쇯}hӯps4 g9-f x&>@X8~9ݵPK!eKg@word/numbering.xml\nFwҋY`Om_W`a Xbf83{O^$p)KEmi)%MRzuS_M },,i<^Di]:Q0=ǝd;U$r4yVvbR>]М-%Q4 .v=x܊QL-].r>! *PVH`<\G.pÌ1t6Xs! o/_ܷx^d{8LؘƖ |A3"\#xR,$ l/,M\p$ť8no\3{HKK{Mpg;vI,n(|h HD !~ڧRR-amڋ/2Wv~ݹ/5v{p]5- bV+N/o %Yy3 "MP~u/}z)^w^oV^eN}H2%/$;@!R|pbDelORҌ`~.P.TP+c7%& tq tjׅڦ^ܸN T ս/6] MG춷_M;B) R^xCG/(RE^m>=Ce&X.P VCa.Y\lvإ5;uѪ::3A,|pUe7njs9`Gk7A8::H=x,AGBk#jj+ /sx6W8 NrخeuKw*BQל"YvZo5!tlfʹ;Yu>L|' MD^Ժˉ9[U}'˖UGݚyN9ڀ~'K,ێ>򍆒;Y0"q3B+m]dvj ˫$߽w| jv$|LYyE^rM"r/{ġ}Ii@R ` DϮօ,R< *ArY$Zv84GO VwgDֳQΙP*+l(kd!tEK.sY6X0vco H b+6т#Ꭺ !,Z>v!̬;YB׷Rl5@PCkl^x2LZ3@vXΠۋYbRɄe5-PZgAUp!AHZQJ벆 yskp1׊e#( b@TBvVOI9p6t54) .`/E#-<*ۅ{+YG5Ѹ7ϣ*k Oa&gaiY/V02aEF9HXè 1EHz9 b=-?G~81 rL&  Ɨ3c. O>PK-!aDե[Content_Types].xmlPK-!N _rels/.relsPK-!iNFword/_rels/document.xml.relsPK-!]b word/document.xmlPK-!: word/endnotes.xmlPK-!word/footnotes.xmlPK-!9^(word/theme/theme1.xmlPK-! word/settings.xmlPK-!4-word/fontTable.xmlPK-!\Gnword/styles.xmlPK-!~oword/stylesWithEffects.xmlPK-!?<vdocProps/app.xmlPK-!p.`{docProps/core.xmlPK-!mšword/webSettings.xmlPK-!eKg@word/numbering.xmlPK|pandoc-2.9.2.1/test/docx/dummy_item_after_paragraph.native000066400000000000000000000006111363630463000236340ustar00rootroot00000000000000[Para [Str "First",Space,Str "bullet",Space,Str "point",Space,Str "created",Space,Str "and",Space,Str "then",Space,Str "deleted"] ,Para [Str "A",Space,Str "normal",Space,Str "paragraph"] ,Para [Str "First",Space,Str "bullet",Space,Str "point",Space,Str "created",Space,Str "and",Space,Str "then",Space,Str "deleted",Space,Str "after",Space,Str "the",Space,Str "normal",Space,Str "paragraph"]] pandoc-2.9.2.1/test/docx/enumerated_headings.docx000066400000000000000000000303731363630463000217270ustar00rootroot00000000000000PK!2oWf[Content_Types].xml (j0EѶJ(ɢeh4NDB81$14 {1ښl w%=^i7+-d&0A6l4L60#ÒS OX*V$:B~^Kڃ /PI~7$ iJ&B0ZDutOJK(HxG L+vdcӻW>*\XRmpZ}HwnMVn-")/ZwB`4 sDXj;A*ʝc֝4[S9> {V4pW&A|d?PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!word/_rels/document.xml.rels (j0{-;mC s)\[d{CcMZ}EJӃ3bgz;5$uoZ'ijA#zw7TbhXqЄ:-)HAVEH%w ȯ2ٮv#b?ٶi _mhFH6!SIIB4*\}u.l|!8[s˘fpf6 Y ٚx '~PK!=word/document.xmlĕn0'#DڸIz(`)J",. i+wŒ u ?.7T&EyT1Q)"Õ4E;j:$p*aZ֪ ))3='2~-uGA4JKBxXlA?IE8s9Յϱ^ol*fw#S"g{AnJ ~>&n;eޭ@״ R!YKIlyՏUxqZ  cg$^_&qc$pMK3ZuO*N+ν5i/bg VWqj41+8$_ !5^UJ{n[8+\:+ Qߡ49Tyn,FM˜-R@BϮcgƣ[51y5Q3y^j W{5 q$HLEɩg=උ\bia0O`ڥ3 ~dsJBLyNʽGuRZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zCE7@}x1Jǵ.#Jl͆dq#v+J{SAp#r),=?AE#B +ĨspFы ]hUx߷S x@яDRA7$HVuR R U t#sXfp7PӾ YQi̖keJ)G/%K#/\}>kç@Js$ߐɪV5ei3.^[5U(98ӕCɝCo{$Vb>˭.ǣ%hlКE~=D! [[*C7,AAP@|] l/BaH(ZN洮8xgh%rl<,%xU0u( &FnoM~)ϿA%h/x307^bKHo2fobII"R yshfl6XE!RlMIRE2+wxB;Vߟ/x1<5hd.ېOI*Ny?jCq?\#0 mqҊ,j 8"h8hy?;WphtaЊ\ų+˝YҝLuX%1G,uVf= G*f;<Űo).Sv%L ر`db7LWHn5l´ˬ),HQz]5cGQ-I!U yُU\(R-X?;V?B?? ):7OJ(&?FQ7Wݑ?v F?'M'\ PK![m word/webSettings.xmlJ1;,Y-T>@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK!rek  _vword/styles.xmlmo6?IthY5)Y蘋$&ٯdK9C3S XҹDC9ϿoIacYLB|orQ?.YVqXDhL/, >(?4l9aQ7)0Id~=mdiJcNwE`_Y]bIⲹʊ|/]ķ%q^nm$hv\61sN"@*SD|o̟E@";=v":b("ڵHŅ๣W_J܃WN^{J#(=ShoP,>"]Âjpo3}!(-Mu,q&Yi0_>0_>0_>0_>0_>0_>0_>d6#Qo!}y7d%I,gOȋ܇YvXa*= EAxV8_"Iޚ&X>uwsn_:$aD,Iܑ'zQ訃0rIUexMep;KH1'S.vFbL*5G_ވܷ<gmDN,#9-#e4"|xFtgUq7r*]FZEYpFdms]1Yd`L+3+oT̳ 7ab2t$or?sD=~(8MV38qܳa=Ca56Qb=ZÖ`8 NR㪥NqRԸj,5ZjW-IڤrB6bܥUKR%ԸjMj\&5ZjW-UKR㪥NqՒYj\&5ZjW-IR㪥NqRԆjx`.0Wg釀x*,ZwͲ]]:ppն%϶}G[6_%8 .8#Oef4g0o΂WȽ3uB!4rpM3R/Su jEB)~nc˒7\KVm/yzKÿXIMtk MykT5.\I}1ʡH,{ ofe :RUwڶ{F3qp1M֎YbUfܶFF*YL?Uk\'Hmic< }/% /Q3u^[:K"YL~3 Y0nK;%"$x&F/?^쌗tRuӺ3޿C*gts7Rɻj;*^~}@n}U/mc#tw2_u,U[ ވ$R~oR SZ&75sKzfݹܬM ^9i,ʄg?ߠZ? $-TGЄD=55OYYg.F@'<$ꏁBKw˿L۶-=- 5‗k,¿l PblmWRV8>VN-zRN_Ϗ6HԺI'PΡni(sPrjQפؓr4wUd$^zQ!rIOBV3ś j-$ēz5oGVgГ՚hwacj}̤'+w/iZV|PK! x&qdocProps/core.xml (]o0?CAYbo6%sٲ=j'=;y{g(B͌-,2%XV( ,W 1/ BA sJ\QǔZ5ׅlf|6@Ga89  }+ཤޛB9(4 "zfLn/4_d.p=}˲ q#|~mKU{Ł1J M9t}Ƕ'.&2PH6LWAUFX7=&r#5wlGg=Zm!49ܮsĭ]}ZtFS?d5 Mv`~Zӡb'4PK!1 word/numbering.xml[O0';DHnFEai&>/뷟\L@RI{yBBbRx.nV P Hϟ.kV :LER: eGʀLpɷ*8 v3$#Vz ;3'8Nm8q"FSBͶ 1s hkln<@\؝v8/ OScj)<=, nǸ+G]c tˁԯz]Ȇ0s іm,Ah<$ D"1JR ]*d^{HeXZ1 u3(6Ž:n.ۤiG ڪF0f՘S0;O!m:6lC# .F;Hr#1Ad2I9G,c0ބ |ɳZzS_)xU|']H8V=&kOewQcy%X b2q \{5 -'C(wcf~ӰAdt |>pwkx0~7~ hoz\PK!# word/fontTable.xml]k0Fe2uJ&0(PӇQHvBb6=G?* Қd3JaJTe}qKlFT <̿~ 7Pj^LS fuyuM.r#4kœ;-S'Vvpm;g3k54fd HK,0" g4z\'X6 Nh?K4^}l53cƂȰgTEh5W/QA[@HfZ1u ={dP`aZ4_dH,1-1Z)!#g5ĉ%Srd]6+9 s|@/[W|!7'>||h"܈ebb9%g݌0 PK!docProps/app.xml (SMo0 0toxEEn(ӞUNȒ A_?N\e۩>GROO$-_Z[ &݂&SVӾ6n`V$TV;X#$v-߿D4 pivay;hUPQUH4nor:P_Q Uc =)*hUWwNjcTTL HJm!ə>I~|bSQir*xFMhXoqA/X~r*~7يjU؝LFn+e:@E2i%+Tc vP(l(HmHeeВ{|Lರ'—}Cof{N|_KJW{ޙ}N<%&T[S[/<ܭ47"K5ESm'OgsͿnW>MKuj?PK-!2oWf[Content_Types].xmlPK-!N _rels/.relsPK-!word/_rels/document.xml.relsPK-!= word/document.xmlPK-!R%# word/theme/theme1.xmlPK-!oE~m  word/settings.xmlPK-![m word/webSettings.xmlPK-!rek  _vword/styles.xmlPK-! x&q>#docProps/core.xmlPK-!1 %word/numbering.xmlPK-!# (word/fontTable.xmlPK-!*docProps/app.xmlPK -pandoc-2.9.2.1/test/docx/enumerated_headings.native000066400000000000000000000002331363630463000222500ustar00rootroot00000000000000[Header 1 ("h1",[],[]) [Str "H1"] ,Header 2 ("h2",[],[]) [Str "H2"] ,Header 3 ("h3",[],[]) [Str "H3"] ,Para [Str "And",Space,Str "some",Space,Str "text"]] pandoc-2.9.2.1/test/docx/german_styled_lists.docx000066400000000000000000001256651363630463000220200ustar00rootroot00000000000000PK!a'M[Content_Types].xml (V;o0?\ N"(,gh id Is1 ӭED}izfB캚tJe͞ +" D,l ξ\Mk 5kΣlX9V@ K+M&߹tbͦwЈU=?T̈́(O|/NGd[ŪzM-!{;>~xM ZA(WWN U].mk-a'6iJ#+@&";w0)Gc{4 ibb:_ [ؼ R唹 s+,.b\nUƖZ$G$uV<%맫,2J+H,Y../P1t/٢m\MIXSjyXנ܉F2ti;ˁG 5}8VYJ*&zW'޲F[-0ZR-DcWjqW}+x8ZL:qͷ\Z@t Y~mHOؼQD$$F7Wi%4$ܿ18X _Bojompp6t/$ Inu%?QdP[DD+hcGԇh/PK!h}H8word/document.xmlXO0~!;MB@D5önϓ8c[P&miA1i4s%gT&EŝT21߿X,R̥}4 ~9T!LR)G* CCrZ`)v,Beа: 8)- 5b r;x?3b3 I]`k:ROCߗj*l٘qfg/0>*HQQ9$ӂ7@y[_j^)REvE| ^ R|mzY++XfJmHF S8bEDa s6LW햚*[-FRQ)6[qbJ fQˡWՊQEAAۉ90Nhi,әJw}A9<8Gpɭ{ҍEd4T u}=ż1祘f$G4ZZk03䌢,'c?u^l鲟+QP=hlN)[+ }< %ΊSc-FKnq xoV)Oy~u]Kv5)Ǿ³te 6aQ_R`?u|rXv}PbulnhH;xwSR}G35M}ߋ]gRߦ>wv;&GA|ޘaR;w* y PK!'word/header1.xmlXYo6~/깉%_u@k$-ڗ(D$m%;CRM@ч97gF,5U > ( (OEb~ @3RNG_P%LuRt.I%->,Y9LEyRڪZ(J*RA՘5ѡW$h* ㍌]DBRxsJbP Pw+y%1l f_oĬGJ[uX< HeQiSsCXD*)7^K LnVie Ed׸g)RAkŕ32TP4^b`c5M&Un{.ԅ+X%]F@U6MZq$A&W .<`FP̼?S桠AI1 gsXpTB(~ A Y_ qW3GK3͍ 6cQJ,yaIF,7v)҉ jkhL)8"qJ >2'5MU0fNJ ErvOkؑK+8!0$mv!T 7s_lݏh2yI{nrF VjwRR9JÂX_O`]u GH &Y:Ips}*& _ԤK$Ɂ܍(ԢmQ"}J䄏nIp.z!AC-aֿ p$d}=[[`~uSp4֐O?PK!%8word/footer1.xmlUn0 ;vҮm:EE1mw٦!$9^,;1vˋk'[!m,KǏH J&tDTe/N)ɜUJBBwgM\8C[ڸYB8 ml xfU 2%BU1Wꍑm;{D!ٹTV vFע?Jѣx<\̰g;'Qu:ڔџh}(g]|TRPFzJ Emof_3+L%"oJ K+d_tI&Ɓ%4&GǓKo͠`ud|x2O[-ܴ{PzX+NB YfΏj!mY8,eۻ;ґ)? AO.9i^$szF;nrA?R0)-ȅ,YG8IsRK)Z=fWj299wc;ϰ#gHv)kڷR+j$ m9Q4cSzS`QK}mY 3;cF%!6ԱF'!Px]gr|c;)P?,4fPeˀ';y{OwfӖA˞kd'#8M' ̃%$˂L6'N ^ej#ڥXSC\Zo7k:8632Z4q}<6!kE(Ų7mH0HcY I-#&@?=*~)eXA״ u0{ "dk`RQq}gZQ^\̢R8+XJ_Rf܄H\9$ʈm2=3`xa(H@\X<;MsfЙPK -|/r/D,y\}2~jaoWp4 3`4{Qjδۯ”֊ i\Y$l8Ib2N%QYu-8Δ6|H>8;pHgvέ΅͈d| M֓E˟qIˏ"MTKd=OV ?yIt^V"?Nzp62i?Y}9?Exy_/fOBƀׁ{ U'sχ~@A6"vvQ}+sSٕ7{e…=r'RHf^ʻҡ8q"EI}D="RcrA`2[ʓLߕJm܃_-Yo+Ufk A~ٖC]cpvˍ3TBไ$6-+ UK'yP5?l}2O# zˆz@N4F6>LKPWKKH5JHZk2o[oB=0m=AE̦B ;bj!!dݏQBAjr<1 ~ki d^3L n"Cy\JwSivhY*%A} Q:L./3U!ư{G}6][ԠJ$h n(|C?Vv2u`w(; ulmխ~LU'+[r! M[qsEMBՅKdTmuUG=IɸB%Atf 'RqHaL7a.ye\QA2]w@ ېT@Fᯯ9σʺ wU̔pH%ʾ%,U`DQ^{ v Hu& qPAnE={} ۓ/f0*44oU$oœ?OǛknƬIS s,BٿS7^c,M }Dp/J*Iiuu[$2>[<' -z?d:٨kFgY,.ŏtvpkO{% ]&C,)T xqUR2F蹡:PK !* WWword/media/image1.pngPNG  IHDR$]. pHYs\A\AF> IDATxmřa=1B ? IL!Z Di7rC `>O}ΫFff4H E@N0fXLG1HݮlsN>PUUէOwUS/AD@D@D@D@D@D@D@)^RJIDK~տk> }\-7߼m;syr'ou o?s|aCcӱ;po['[J?t0mf) (XLN(*pꦖXV1߲?ؐVXA`tw> G2+[n1N&o-&UDc輕** ?>V'K)&rM__<7͖opZI'N<ыYPr8g/߿M$ɷLCс˨ oӞg0, οqN]t?3f?sjPqg]A!/=;Y܎CYfU ppN3ޅB6Zd[<'U*t,„^8wJod(Nic=9q=%2,h/Qo)!Z__nD޿]g %N>7eڡ)J%*v8W]~ꩧ]ܔv|I&G8Ih_`!_qYWhb;{{/`FY6Pp{ߞF̻h /Ԫ#Ku{7aG|Ǝ lc#!6,<˙Qg{vΞ;OUY#›f_u3hN18zmm{'sq7LRC9;:϶\P97ڜ9(#kСC>reTgJTU:eِ!+w^`5? x2-?OPw i1^hײ*tOnv(iYS/ix3O'r߅ݽ{7s{^|E\dɏ -!|ؽkSON 4%",h`YbRBs,q2^k &q.`D( 'ӖxB!ƉZ\sj78 ];2XDrׯ1aEu>|8OWP9% (oaHpbtxUtb3ۘ[V=Uuh{7iR:-&M0|r(WRdvE70*?rz)P;U8TnCہyp*N˝yBCc|9Q~k\n[b ^Ǫ/: .J[@Zr6z] Ȅk^Ѵ=Z pz^LH+'${&x+3;瑝CAiJ'E `Q4^ziyQz+.^Ǫ gB{~.CNi٥ȩ uʀ24C^$_;8]; Wcz*/ZyK<94Z`F,:0F q /D _ ,VuF6,;~.WwIv]՚Y.BECfw|ZlV<@l"=ǤБ_Zf{&V)!> * jH<, .˒Tk[U+bFt#M%6A+.1q&:Ny\Ym $9cMԊFݵjڶvA_.BAgPoh6փʞaT ۰f~g8dAKX)tKVz* Ei;?,.s2Eк&D`*q:cG+.)6ghP)L khm@cy <>s maR.H*|mwc5I"F_틢i.5 ٮqBljOv޻;V}Fdd(Ɇ8wM5MiU* xH[ۀLL.aar9r'ib;HrԲ2D`\A|=|^g0IX aU9K(&<⠱"̗F2F'(ksL`Sި`3:8:tWmy ! ^-Ës=gh}rmY4+c^{U82|XL){GЀyf}̥l-7"r[6ɝ疝X 㸵r(@lS<]+gϝӗχz-u޿ 5< _}Rګ7ƛǾyVsvf^e)(< U$yմZLg_%YE/ClӥȰWqu:.@&=lϚC՜>n=fOC`BA UBc@iǘp^}IXO^r)γM9Jr@IvV㡼DϹ'Nصk׀L,+̗Io4['+Ǩ"rhZW9"hܲ rbk3;deӃ["rDc?RikݏԇRL`qu=3D1F_ݗ_b6nj|yٶekuf!J, /dAsӱ`>6HŊ װI46>m<۞*FF3N:ɓ F &o2ՓaQ43E`ňmJe/5%Q!U.Z;"oqc #Ryk=F̋q`6gW/ʺ%B]Ę(Zf3AC"$p;?y;ϲw)52{{\k|_Җ˴/jυʨ/Ta8pRS@ܦ_5_ˤu`ʽcg,TJxxrj4vuN! L>=.0I&Cs+5UIX ds[۹kn0.nj D_35e,{P_0$9X ABcNESuKgLVf xw}`#w#/+.a-tv٢G 'JUL!x!zl=xQz:7?Ld N-K#V|ÏAPqYAf9°[w4rt#Λ-6KܹfN"; <䓽,7cV_(}#¹%{뭷rJ$3tz~С1*Llc:3y2x8M>ςwr/)i۳ s[:k2- fGK/[xx 3H0_~ %½wwGoU]QYK/G5 `Uxn\uDrM"54nqשg^`p *Qb{1oѕx_epk"Sft?6oAm]v҇})}(2Yѷ\g==8 `~o#Am4IDݶwܹ!UEjuD7ȁL11o𽼔(2 poxY'~3[g3C%΋`g#b#v3S3hO?4cw# k׮ǏG,`yb>e ;-V髵2 3Cޱ}{wQU?pe'X:ZtAy^AݜUJy6Rx"Q$_YAZ$vbjIeg6ۨ13`-eq^#ǹ|J]z.fO/],nbBu oFOt 197W; FOi3<޷ kT? ??Rdk.#u#;聑 2 @r][F.>4^ʺMH'Ϋ:F*4Oئ ۫jyy"SyEX9WU~'s^iUvt'@'ۤ{ݯčC?Cu*zdƿ?[O+Lt!9|x}JV5G#a5B^U^$rwU^Xo$x)7$#/-O&O=daJiSc*fNx&K9خ LH"+UlM\^!/+$M"(mMO!h > FדeqqtM$Tz.:OO5}#+dR s$\u *;ҒfS_n=l128o^)`uR2Ӱe3,ERv[, ^U:EA%AiN|Vby8dvD$cثk>ukI@*HVY[gv>.f3u//Wp.QM(m`~~ T2i UA_wAiwطJwp p&yZI"b^]zضޥ}^Zъe_w/\lzʽF󴝃8Vb\I xfgsk ~gvr [HDlȱ8Y UiHyfh=aqdĒ:琔sv#s͘ nv|[ljyT"dc4СY jlۺQD$Zwe.-&h^6+az.MPՍCw̺\(2օJe6͛]=s)>~x݌Ŷ:&R^ӳJ0 Q8ϡ oΜY9ٿm~ee)3Dkp,$])x4x@۝xKAebRn_{d27g$nsͫRb#=2י9OEcqѱ6۔Įsp )B?tjpGvpX m:im^ w먞g`nIԉгML6+jHrbM+ndvBL[5*EgSFkEK sUk$BM˗= #k(dGCWNMjnݿ Ŷwz#kٺFW &ϤP %Ei[->NDlS7pIu2qK~)[9"fhu ź7fga#_J[n57Ni*o 'O|;+u[wTD.Ekw}/<#P`Uq(|yTaP߹WO~aV?M -ȕZ>~¶Ӂ,B\)Ǐ\,' ?(ILW_O그5$3ڵbuu&9ߺL@ +#;< 8thMGlGTȚ]o"/.i8wY8CWԪmISicg;9{߶ucLGO 1_(+֫1[vSh]v݆.,,0Z7"8ɢh# 9rĿU)J7= W){]YkJ`b؎;wl5>t}w$m?\$seDAxWQ':kY赶&@1)ù3w07]b <3u.]3)Mgw| kޮlv\N,X7s6 s:| #~JuyM ֙-[{QVo)HBi5 &_(l9T3F/l6:{BUaSOszxƣS # X>X7i&)ϧ#s>*R^;kG_k-pKۿ''tK J=\ _;v4|Ř^氘.l E35=/MwaoWny]?WFo|u~:FN/8+1q76On ?^n|að y۾,{kLկuG(ZmNc6ӐX*nRS0*2qhqkM=^x!huۦ&SZus-RN=ͅGY~:M/_(Gg=f(pPdiia0VS`qc:ًz {nyڕItmcrsqn<ذX7Ҝ|S0y*kIsXrgtT&8x4z cPWF̊ːm2Hٷ> a‘s<:aS n>w+€f2$So[8~*ϧq-[npU._hB݈ׯoGz'&T h/xi}3Sua]eg zP.z?s_ UUNPl+rȿUFeW%x)dD(Z"bI!K/txq:cQ i BU9zRyL#E60׳bI$Mb:LP' f[ݍٍgF TBiQhw00r` X;K)mf摲橗a+[c (ւrhu{䂆l2`guƤ11{Ym-"[T3sxƢ.x{>tF: p$E.pjms{{k;=ú+-fH1M@Yrp\d:O?C :avZx{UOaₜk˥(Luyx޷Z4|ǃh@w [M-T0yDI,`:b,>zm}:/~]lW;Ыs$]6gȴиtG7\wcs # -~ px>#i3g{d nA^^1 =~xB('N+Һ7?li7xsr^L;Uzg^ԏgowkμkgIHwY9}O]AZ"nC噌ѢF!Nۿ'B^=v+ڂF{}C)VCx9܇dkJ8<6~ر{g09P([N 9~xځ=bSAu ?mpGl,XېgPtTq=_:ls~do|:yα|Os/X.b˿DzЋ M=Yǐ%n4|llXy{)svXu=n B%PnmY\`dnAS 9 x \0=N͸~܃ZHv&Ji6Ǭs6Fw;-qm{*ܡBceYcmMG6>x`T}L-^O-lu$ee-7kK;{oh^ð0 s!"Χ_SXcӲw42x-G089dd!t@lcs!Ou !߳UQ\FQ,C"׮}:b*#s,D1w协XqBVey~ٗ ȇ@ZKf#/\/Y3)dž-֫OB8yu+=ݳӕ" ogm岚>tBi*RHt ~: Y_l| kk vbcm)_LN܄֕ aշO#)v h$Gi[60T "J{曫_VPoSGdz_|P~i(T-T0BeL$]T*?ɬ֘C [|cuRD!6m=RAo.nN[oϴsD8:pݻQ3)æ_Qf\GIvu &'dw.@|^M'۞ˆ5Ɗ^n=4ۗ ?}\:w!&bz6]*bЗEu#sע}Y8l&4f=EG3ۆX/jM *$kz) ey.M?oĖɝp呎NKES$g09*.aSow}U'#@ML>)6>,?-FuއrKw_~  S a٥SUzKp,=>rIF 'IN=_k=#ՔSJMS>[[[;~ՑXDKlZK":MQnf8Az{tg9 ;8 l%W*ΒniXl{]>#͘U5%eV)@xݱh"eSbCf6J_au+ڌڂ{-% y\}\yIRKU"3s;,6fnw1L c ܋tKT>_hSz.-j<.9&XcZ}?ɡa-Y DTL#m`lr=[09J]Ǯv/ͷ_c-ֳNX&Y/u6]<ψf+qmrf|%EAQʻ'Tw'N|ߕ+WHDoXдh4aOe炶p/G: Z4nDy\o,N`md) kgofB.yҞ|^S=E<(m&ۃoTAho.PpLg7D;uر8H[C8LxZ'^O09J[+#;uKJ8y;/͏s0V-bǢ$m}Y-H')ڏxr: ]y#$2՚j9իuu@./NFH7;:bRJj-|(W1Ur>LN ϙC8y $nMc.'ۘg=f~R;~% g< "9sH^S2p ۞bs.<^6syM5ձƝS:Zem)v~ӉXe՘q &_Zg pcw;p7-J{f{NS&<O[rs,ΜC!!~kn`$Y+2fdwx~V+ 0hEi'Id|w;+ZeΉ}+hBV&Xq(Nª TlVo3]C%ݚQ&f(ʄhT2s;SOM阸^TߞaːU=jki8M$y y6s!? B}TlSA0&5ŽZ9-141,(bs5_O8E-are vwX#B9wOgDv/Y}Юm,&)8;Q9CQ֮?hzٲz:^Ez6vb\Uqkkv4:ƳWU|@G|6vX;~%s}?S:咐8Dx0~'g6G7+w@v`qhdr窼},ݗXzmV~%c9\b!l,s1d-*|m߹M/"XBy_x3i,;ڤh0c e{#Ov:L gufpLA\J8mr)Rٙp'0&oYWb-6g=뾶'|A~N mme6<wͰ~a ?zWUXCKRȳ=IP @Pz;=LW1ض T a@ U7TFWPdT\YE/GӐiVzJFukz-8Og]qcEeUV_kpɗdr&PmFrXWaw swj3tJoO9Шa'+D &gD4d~Hr&'pl?9cU*BL$j'0fn.i)<VJrcΨN^Xed̂I8ς!] 9_.v$@Ow};^ltqtsd޴:UR@h6NREaWwfiCwr9cLf/눪یWx˳ N?_hw<@l+n*'[u1=h]΋G$7Մkk=ơ:N8WnV?;Ӽ.Z(^<>ɋK=}WlkqU<*UV| @AیE]ئk\u\[&%]]SmP7j{MA` 8T/sbԣ6D?Wp/7;c\B/Ho _vO edv~Z ^p^2/V1T0*29gtxdMiӆpTʉtgQ>1"P`&%8QFn + K!VR[Hb}I6 C4›` iRSULZ5\L8ݻc ;rWfA/=wd2_R0y _?~nݰ57A2~/jC11I2p4%wvW0<%#*_"oZ<`3ѯ&"XNJ+_k$i>Q'ɝ>Jf?ɓ>.(m^ 2Yƭk[H&'Vѣaau:r\ v\MX߫O)Oc<бD.{etKxS%>2Y񎑆LQ^|n[6§te\n2`ekU*] Ij!s]ئ SwG"|{u!2PĽy͸}Gy"uC#`o"L23*/8,EY,foꩧ:^.Cd2L".-{aj#L{L&o8`8b =wW*6NgҪS~'䄛(*,Eݞ/.D+.`^Uؙ}ڙlmħv ɭ6uŐc[ߕی1ooTQLVyK e]ئkе5~k[E=#~s# {uضX& 2u" afn {z>>^FzwHW:^&@]d2 l@q{^T `unjǯ $V'Wb{R|Pm&wTfti< أk pСSY( ]vSܼ͛Zl]]`uW4x$ !|Em?路t LX&oWK3J|22w: @ Lti-ϙ3b -;]J.ebOdUZ᪾*rVx޳uq~E@zBX|F+k"C,f]^ O<-SG{f}ɭ I?h{ ,YxL=W;~ETEW_;V[&-dA0vE~x긑jd4ǿ]]g7p7?~|thnsskΞVk hBYݒ}^5fqEB/zsY&/ŐzxPcF>*.\`bMOɗ_:"^3vǞvpNYfG0` q"bϧ[O`ιusg^k%,`LpqO&yS>nlgwc.Z(nK1x\}bg0s*W4~/^`l&2m e(,S֙ \\yv'yJE)TܖI[*m)gٌ`Ӯxa-r4(sVE<<"1h?62;7*2]L#^e큧sil5L}9_Ov[}3pJq1rAfNFij. ox)se^B.}aTkS {gϝ?ޅ ,fT7 Fw':.޷V`,146Mc2=72<ޖt`Πr_yld7@@27A֖)텕##yHc0GF7S~UVFٙwݖ gY^G&6kb#⑭#Fvɭɭ/Ku|(R468='l{.=&y?AV{ Z-`avOGlS$~m:^1Uh 7>.⺹#6C߱e˭ȹeҊ&BQ=<e4 0ǥ˗y)V =wES2,5;wDodj}ozB/z6@|k_Z{:҈!9[V77$KZIM%pú˴M>)f+Ӵ)7x#Op3+MGC`BHsFuCiU3.JGN>_pSsA{Knz Rj&$N:.AQsmAfW@8h-1=7 7D?^2ImrLfm5Jud"=iarbb7i|o;6T=MOϽ`Y1ni%[E2Ҋ?sdΫCK2'Ni@vr@k L qla ?ٛ{&3iNH jkn)g@\}س' đoVgeLmwt#aZUvc\MIuBw vt:"*c{cv"iUC0-dܳ##i;3sOȂJԐHi򳤍"lCid4kO=(SVI35e$:#'X԰ءqMU'j*H>6(tN{W|6R.|0H%6k2p1=n- TM(8q lSS' W{u+Ί3%x3{VnTCXw$Wu$X L• \ܱ)r'\5$)ӋuC|?D(\./4Q2J7']r''MEh(DlA_' Jr<'XЂ@ֶY+Vb}E @awz3JC-J ZZ(`!Ms{~9TdJH2F!I4jΒz9䪪%fYl-hg1;ƮshN#Bjf=1LJע4ܭ:u$>IӬcΜ+畏SHZgv<$Wһe@.4H%O67~(h/dWn~PK!| H Wword/styles.xml\rۺL߁±(r9[qrrb{:ӛEAk!8Mb],@$Eqע$ׯ"4i}9"E=N{Go{Ny HL{D_Y} Eꀀ(=[*6gǩk/}oD8Y{\&k/ynx`Ax{ZLB//.cQ8JW&ͥ=S=bľHS:T^1&hI LXXnZ=g%AM{wb !C@{VBs%T,\?k~2 HOё'Qv_[88mPFݨ?sHWiJx2h^ O@0aHaMiSD}\';岆UU w>t),w$]dv>ߐ=jڣI=jڣ=jڣf5soCƪzA 쿗ykJO^=&fȴX>^39<,Y3jYyi +Ih~NB8\Ĺ_;wjm:8nUܭ0KW+3(,[ڬ6~IVXuba q/SGRki Wi/_ژ2~D^(0~r^(c}r [G^lRa,a|ʎ`A;|I#Dιfl[<@aC`6J\ƌ` Xq-MCLqY3󐭁?q־Y&ST84CvtY"3@%8LXl5 Ò̷l5@/ N/c D,"&ǁ  AE?9 B a 0`x^UKx,<0jg6{RTȚ)]g7PkdgYpbokTJ3PyvNult.*qoA6ޑuʢ9l%JEE(̽껓KE^= 8.yq W)^m.Xś\,/'(x;;/Kxk2hK3o;z,;'V3^֗i+~(@0$ mX^. 5ms05EioM||,w{> "s^>'f/alPUqc˫JW Ll) 38g*}yVa0/ Ac b74 Py/p<9Gc9 U~Jim܁цFvi!h LËL Cw!3}$+XE%N\ VzEWB2Y$aX7;h}PދCo!5桢O*Ǒ*dS}&gʆGC ֭"dy6kj.$ms@RߣԂ ~+P5<:\`m̞P]Ed/ho90_iOFj*k)L` qvwЀv)ϖ);ϲ..'m ;HWjV.6vSE;i5QWPsX6k{v^⯻R渗Ty֭5+*ܒ BO؊/hC8#M4 X_Lj-TͶ묐y8%~]'cX(h 8Um4o+\͜n[B) Y.rR>+HB>-x%jfUv'#IiӞBm^8(NAZU>ke-,Ej8(GmjY.Dmek|$^7EEs.z{:T?QÃ~ηp=UӒl G?rm Q:~K7淝,^B?R [ݕCeL {[fiTGӥZ7 ^jFuh)ٙ9a8VeۡM2y#eyG|v:?zy.ƒ|uJ+Gm NԽrYU\KkrY/erYY|}?PK!<3 E[word/stylesWithEffects.xml\R:ߪ}Wv/P9P3gڪrxql<ϾɾضZ,qܝnH,K_*p^DQxz{7='pQ({D_Y} Daz{eg+7}$JE΋Vb{5J$D _ܴ[EV\/CCG/ͬ.J `F9^^A_Ȏ8545&A `՗/k,73#c/@ǂ%+ևVg1ϠἇpsG yo2p^|.då?X17HzD/Zd WOĒ`ЕV$;-hҨ Tr e)\+z]R6PyBgTtq o%JR?B9x,ٮ1G͙Z{g4p\3T|v)q#bUmxe49,}Dry2ru^⥛nnq~KyD9p=HUى1Os±u?-3f2KV$gPlixGIVUba u2>Z_CHP? J )$Uq|es8:a4 dhvAl' ;K\xl(~ʶE 9 }.lTho@!k?eI tȳ_n2@6kp5:׻C6݆p 6]v~"5~  <lMn°$ o ;ʆU;^ِ6P=P֩d( XeC;؜ʙ;@ 3ꆼ @ݐ7&O ݑ7 Sm&- ɛv$({8-kM@aNuțpCb{PxEAQYG7|* lxc|P(~Re2ndș}v&ΟAҵ8Xy 9Fv7p#/FPL:BFW-BX=E%\C Mס,9Ln_YZJuхWBğ_*ok(GuPOgT|hRoMG%̧7ۆ޳(ˢU;: >̅eZ:uɯ ?9{EML@/(ix?LEioM|u=,w{=Cs^ >'Zg O_68PCje(Ղ8!S([TN8Ǻ?%I}*їZDav ac b74$Py/h<@c9 U~Jim܁FFuih LTNu;p`Kty>UCuTXk'b+Tk=被k! ,E\ 3*mMޢ,Z{Q6 a1 }‡[W]߫V! ڧ">Vl5PZ}ܺU2ٮ¨r׫HtS?ErS n( @tlu^in]S(̖P]Ed+ho90_i8iH2I'ِANإ<[<p =9+HB>-x%jfU.+#Ii+7FE~U)_Jf}HR -Uʹ?Kߥ8؞hN{$릶hΥק'#9<:9pb 05-p-kxt _x>ܚvx ᇷ<4[ql;T+aοQ9n6Fu4]ur楦n?[ʑcNf[J0J,9\w~o.'s.]x&SZ:jedW\u˪J沼]Zk\e c.-Րz-{;PK!ءmword/fontTable.xmlTKn0cQFnhE)H $e՗躋]ud+tO8N̛.RoŴJF(`1IՂeͦ'}K䂤JA÷o.A5K34B M 2&0VZ ?D U"#yb|j݆E1샢`Җf)0*ihV(ȴY \>"VFŶUEo"EOK4]hX IW| Ls"oϜ-CHjV$ϼ+%EF2,h цM`DtݠB-ՉTvs6[g'ni殗*%f#/+MQ p\#5EH1BK:&p1CW{" fkVx_ pW.Ts{t-|D$G-Ar@  T<s׻R#}Fxuゞܸܡc乱w9# iaa=9vի޶mAl}HJ)_=^wQheS6~dr㒧-FdpnhMO6;ގfPK!,d2fdocProps/core.xml (_K0C{dc2KہЊ[H`$۷7ke>} _9i:EpcV)A(Tp RtVU«k[+0N =~|~|wf;xYӾ4^ŷm%WWS~>F22*oRl!MRqkh|EGb1}'t%0 _z) +Y`,*kMIx1&{R 0-@nƤR@Xr|#E亁XSumPއ`bՓ'_Q8ɺ R$E Lq(SSPG͉ɭkDU`JqIG0XhcA|̒_$\;][ * k}|167ັKp͎7XL?+RCOuDgL]6;j;dOϡN^'G&x5lhW6ܲg]򑥏s߅`/̎9c PK-!a'M[Content_Types].xmlPK-!`N _rels/.relsPK-!jHword/_rels/document.xml.relsPK-!h}H8 word/document.xmlPK-!' word/header1.xmlPK-!%8Uword/footer1.xmlPK-!ϝword/endnotes.xmlPK-!&!Nword/_rels/header1.xml.relsPK-!CGCword/footnotes.xmlPK-!UQ0zword/theme/theme1.xmlPK- !* WWJ word/media/image1.pngPK-!zxword/settings.xmlPK-!ig~word/_rels/settings.xml.relsPK-!| H Wword/styles.xmlPK-!<3 E[Yword/stylesWithEffects.xmlPK-!ءmuword/fontTable.xmlPK-!,d2fdocProps/core.xmlPK-!9,9word/numbering.xmlPK-!NP word/webSettings.xmlPK-!HZdocProps/app.xmlPKpandoc-2.9.2.1/test/docx/german_styled_lists.native000066400000000000000000000006021363630463000223300ustar00rootroot00000000000000[BulletList [[Para [Str "One",Space,Str "level",Space,Str "of",Space,Str "the",Space,Str "list."]] ,[Para [Str "Second",Space,Str "level",Space,Str "of",Space,Str "the",Space,Str "list."] ,BulletList [[Para [Str "Next",Space,Str "level",Space,Str "of",Space,Str "the",Space,Str "list"]]]] ,[Para [Str "Back",Space,Str "to",Space,Str "the",Space,Str "top",Space,Str "level."]]]] pandoc-2.9.2.1/test/docx/golden/000077500000000000000000000000001363630463000163175ustar00rootroot00000000000000pandoc-2.9.2.1/test/docx/golden/block_quotes.docx000066400000000000000000000234631363630463000217000ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO!Q<word/document.xmln0 { B:N{N+[vL5I^c'YZl]CÂ`ǟ|~`:ؠl-Ngsh5UA\,ޝ!8*բUeTF9mE[_&03]y6/V2%2Zi#$I+ⱓ vaRZVTah Eک˔y.cc)._M2K*kLiugKǭ} %5ۼu6n;TmdW/( (>hI6үocuS3TYi ˎԺSPh[4zB/܆A1U0UpRqoP,nYة,mFK>彗}RswOlg>@ұ !,rw_q _?~FX[J-1Vk`;e#=HPzCvJ ͊&{B&Vo㷞նhVkL s]hO'97K 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rNword/comments.xmlPKʍpO{OHXdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟8docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: ?word/fontTable.xmlPKʍpO%\  word/settings.xmlPKʍpOTΜC"word/webSettings.xmlPK #pandoc-2.9.2.1/test/docx/golden/codeblock.docx000066400000000000000000000232311363630463000211240ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOBe[word/document.xmlŔQk0)8ZB[t{W-tͷű:mI`HOw?Z>^ @Ѣ/r%xm)==.zT5 |Tc)*h:p:.1ğ#R <_V.`Xs k!NxlܓW3j!ؤANˊ=nY]>ZVK2Ioo Ҟ^?&eFa}8aj64utAj})-ŴѤ[ҁ\TeL.T1h hY=u6 ~#:lbPGatdJLh&r,%هB)@?³`fGY|nwq;$&:@6]]mЉԁAk6ӏX"|5&m\]'?PKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7M'word/styles.xmlPKʍpOELjword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFd docProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= Yword/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ pword/settings.xmlPKʍpOTΜ!word/webSettings.xmlPK w"pandoc-2.9.2.1/test/docx/golden/comments.docx000066400000000000000000000237501363630463000210320ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO word/document.xmlVn0+mQ`9HF~K-˵}iJavYEPE׬ʚOH[*-3[~XyiN!m+"ghց {ZPmZ,Z >]gS2<( o%A}lwhH5JvC#iu~`Kh!]utGJy70mqla/C~unyX7.BO+b"{+.] s;_~c0/W; 6C-<@ -\j`/ȲJ4|<Fa4q zc<>Mh|l{z؇`:(+x:MT0-s}a౷I!irNVl;Hq%E[<}yfY7KnIbE(7^l2e.U+=HygA #ᓘZPKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpOWfBword/comments.xmlݔˎ0} {b 3QըRf; %|m`b}>Y T%ͱ1lQ rlb@U5vCAr̽7Wqmridж6VW\-I8# gynQAWxĮ52 w\wV*G=âeڢ`TV[6 =7?_s#:ǡ:uŏa5BvLC8ɢ>ߔIF-/'; k Aӳ6N۔1"Ŏם<$ SJQBfd1qQgXl,8=j񈡹ͨL%3_%; a-3]*]X\8 ] C+mEiZjwi е]uNvpEyPKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7M}word/styles.xmlPKʍpOELword/footnotes.xmlPKʍpOWfB word/comments.xmlPKʍpO{OH docProps/core.xmlPKʍpOdNFd[docProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ word/settings.xmlPKʍpOTΜ"word/webSettings.xmlPK #pandoc-2.9.2.1/test/docx/golden/custom_style_no_reference.docx000066400000000000000000000233741363630463000244530ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOYurword/document.xml͕0} {lKKi`PIlji+;&ā,#ak?_ժ } [,*쳾?,۴@sEiR$I¶gx|\ 9#ITB ̑b)qzK0T#DBBj#p.# 3#,!Ff]z Әќh\=Ƶw ] sIeD{Ce ,kymq:FžC?e_jԙ~eelɄ|C”@@ |]Ve;t3<0WKÞG¾PFQt ]4W f)o?[Koeb!$fjgLà q\-єwt2cHkSo%"7:V]`eE7GPKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>`Wh q%;nJ?=c K UyA𾿈.FC |e)Ųp߄A:^3'5^f!jpaajZwDEJ*A>k9V?j*YRAЇBFX%, XZ`FQV$:rm1=K}Wn$^A|}4+ RSNIN>r3f._ U Z$/QD CڶQJ\W)\R"Q9.͜jwΆ4r$0^|\l+owuVg] ڨMI4cjZy|QR3.BNlMNlIN̬zÈ(^&q.߳QeWSvqZm>H5sd ]HK-i O4{:ķmKWZ-Pv8ɬ/ȇD{/#$_&3Ŗє7,K<v+^m$cam$Zsh5eU%9I"k($zIv^D_(zQvO5򕉰a$ŠߵDXK}'VD;иzN"9^yĽ\ $\x*!Jnղ+Bxх "/)ZM1! Ձ,S|i;N|W-/ 3\ױb0=mfK}%iK9&:U1+f^iXAYn=3(_c$LLĮe3w3g[;rOL~0UJU6Vlt4]P.lU؍EehnAœtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOAword/document.xmlWn0+ v  !hФEEE%RRV|o%ml؎,X4fyC% ɂJN~g.|Zߞn:Yx%N:cbǶ5 xDuW\;_AD ³*bPkxQhzQ!&j|_0~U@LP@[!5D+45N Չo:LENR^*.EVvi;KZADM7z^K*^Z3l$Wy?_2$u4Z7y@Xe{vf?e~[ٗ6y::O)Sa7RF*ÿrjd}!=: oj zGO V* ='D}Z[1XB!8\n+fl2˕UڲGɦl-nb 81-=ȵ9!RA 쮇 JulUBFH(GexbA Hh<|2 lJrm*J# GCTRGa1eQ4wƓ;N) HC-E-b镪b{-WIb'hT 0~*\9x. # I RpAqUy=mXӚx'eɔѵ)TiaM4%K3sڨQCa$(Y}'{>!|*;`GLbmOCE0DeG|B0֧r,vUv+0*s0t5EV)͙y߾egPKʍpO)Wword/_rels/document.xml.relsԻN0'Jt,IN.j|} cHţۿXALiŔ,U&+vFڔ1[ Z M4/53]t?Uy b&쫔}Pst#K x΄'I},S oƭg,ВZIy9 @ ^q(Jy<) (^.M?H_ICB~*zG V23)2}],x0R1dVOk"C Q瀇i{׀mr:(`lۃ((VAxJY 44MccP : GYϋJirYdI̷b.{CwH"h?!6@݂na1|8A@I^OMmJ>RTDOb:鞍#iX`8v<]8Φ愵U Kۢi8gjeZy[|QER3.\N,MN,IN̬z (^&UzRx8rw#pVye諩+?-;zxfٲwE$jT%_щ4'>Gā-+Am Qz8I/)ɇ_nJ$_&;Ŗ֔7,Kfh?v+^m$c6av$Z}h5eY]%=I$k($zI%v_D_({zQN,5򕉰a$’ߵDXK'D?иzO",pp9^Ĺ\ $\x*!JnնJBxѥ "re/)Zӧm ! ՁO-|a;N|W-. 3iD9jAvk#z ŗJʳr!u"|;_+naHcAQn ]3(^cLLخm sͳ'm&C˪3H=*Fdt4T.lUحER4wEjYvWSH}hd:US,U2Td/^ox`%STW!U3?t7LcBG,3j줸m`(ơ”o ҍ-"ݪX *%/!3GQ! ś Қ8y(%Fj.Uyfr֍0}i BFvV/|y`Xܾy/QBw{ga[\>?` i5/Kr,]GA,n5(2 hZEA+J۵ϏTLUS5%!uZlSFIl6-Mab1Z2u$ؿdFAR$iL4YVߊO^!8]s  'dXC>~i8tWJ;CZ0+N勌sKQ΀,6 `)aS:*%3ʷRrtӱ-ΉD 0zan0ZvGAD~H}ѐ C.PKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPK0IM=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PK0IME_ 0word/document.xmlVn0}߯ loVj_E י\'׹ $PLtᭀl&a <0 ܤxY< ۤ cTK =`lXE"c.C߷*-K0n-AҒ]H_!%k.qZFt4L\c'''sI ɮp0K2aG5й"@[getQpwݴ>CSYL2Wg0,^GyUylu}/ˌۜxUE$r<$S{t@KЖRA$J 1]dOz =L ߌ~jF[w[th< j`woϲdtPf _wlf cpߎ0A0]r),n@ma{?+PK0IM/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPK0IM4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PK0IM֩word/numbering.xmlYn0BHPӪe4M= K B3ԱIs{yʈ!@XDDrN2>tψ6˖xDm;VHX.Hr[.4"Z@'eDLp J8&ƸLX? +e4y1Ы`dR-%E]P2TU>&&NF)'")2ښ0S񊪆FW4c\U Y3PrO;;fh) lSy;"GHQGSnΪhwښE8e4zڃxyVyӊ@BjM]l#8N(< ,:녫WI"uiy=&(#QWz ҧ=ML-FN0e1 b&koh:hQnIB\ /@^Xs(ęF d_86+y} -||> 5 i~7r%4?۸Yb]EaXQx=){7 o@,%,ԸH-Nr/<\"w<.(\q_҂@Pnr M7_ rPhW"+"\Ċ#w)1F؋b;x$5a8a89f*Zjr9[8;dV!"'(]-*FEd݃ r:'~zaІ58>[B  @Ͻ!kKyҿC~/JT'pbB]Zl P-@h0,v#/N/_-9{>9lB4 @=~ŋUqF‡ TĨCE.Yox3.3"B wK"`_b(;l|n$#{4_0hL-a`Y0,e{9l4}jx3$LT;Qx y`.`G2Dk#? i3wR9  {.# C#p[CˡѠ`P[&o-\2ai}(F楏Wb.%}0 )<+^U b~AmUcOEבXU:ﮄyT+^^Zl5Җ^VZX3ǡ; ʐNfuddR+'K}LT,_0/c-YQeŰ֗T=Fr>:=ZлI&$S]9ʨKW;yt[SɼmH;1Fr>U5ddKW;Quj0/cCnkjt2-t̤OkrtM2&aTF]9˘hۚZ%]LhKE*c3j$Ӛ\%]LItsQv2&Z9鶦VIW/y1RJwj&]|}Zk6Tv2a^D+ *e2/F[*"/.9̇|(ȼ[Gg9-JT3H3+@D pc+qw5Z)l5ĉ&D q˦ŒV%N~XD:2ng\0f\0f\ƸӃq;"VG'!!!1.`\θՑqq3f\0f\0fd՝q#!!!1.`\θՑiEcEcEn 8=3.bc@fDs i\Nɚi8bs9W\5)^u x;W<+֎ᕔߎᕔᕚqJxn11n^)7 Z7 Z7 ԌW2 +=FᕒqqqJ͸ax%c01n^;Yw Z7 Z7 ԌW2 +ᕌqJɸaxʸaxʸaxf01n^7 dWJ ëV ëVUv)g̊3g(DS[b bvV)UZ\ΫӢLuGa|qk,PU=@ v?CztDagIO[3ӶYgb3e0|`{/Is{삾ّ;EZNܞK/s.[USYtFLit6.ۮngy{0Į.mTr,"[)$R &vPlƿlNoٟH&JLT$>S$GJH&$+?>P~&⿗!$zL䃓 Nq")جdk6e:SAn5]UV=\KY}'=x]KR+q`E^[T)oP<ڴ2ѩ,"?bN 5İ^a剺#*Q/{VlwM^Mn:UNNA;G028<4G9C-!8kQ/5}uE/'Klcͪ# lnRsmwR9#rT^ש )dڅHdi9kVbʙSI LLK\<՜0NH5P2bɂHKƹ>>zKMQ\|Md'% v|OY6IcӤv ؖ $DXG\=/yOe?UV/ey&Y88~aWbW}6\ScI?l>q  f r1 ZNq\]ՍS͋l5>eh\W}rl+ZՃmU,NIksnnnJYUfԯ*DG& e ,Kת&SX4I{܉ږV[_7suF=bNu zΥbzeʩa(\Rs6ս)YkaT}M9{r}s;әﭪIq&Uw꼵UuO[K ̿P-{4ε_l8>+|hgBY)T #(q=1=:+yilO\\nr,jN%ZOHDIꍤҝdzd &Jd x۳7B3hc Wz~4 0# 7CBmޟiť a`C@ wWt@blB-Rh&o;\\L <:)2=)>W5wfi=%C7ǬF-}y/)|Qjߡ=>k,mʰߙ`_QU:^>=ʨtMl|r2K$ƑOGE0țz(#gۯ2Ocg?R&qf&$r%7{n'}lR-T:׌>{~? +WVu\ѳa!šbs3-1|2Ȓj?;ݗq,*Ad#eYj:"A]DjDĉn't\qf6'+P;7K}>㝛,xpeJb e6!(ߐ@\)RP}O7+u{C{]Aݩ#{ ~ul%oPK0IMELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPK0IM 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PK0IMl?roHdocProps/core.xmlMO0 *6* $$@ܢ5J =YuLmRvO$r|P,rV*.GJdYU•zxցG!u&-ѕC&k5ǘ:.:{HH)&B 2F^ՂA ZO5bz}yFM ȍRWR0FG)}o QȎ^I>)s",giذ(>sQku; PK!g<docProps/app.xmlRMO0 #YZ`6!9J6ZDI]G)F/gY,K4ҖԋtSܝ\I”B[Ð#x֡ CB&,&FwX "̨lRYߊH*%qeG&,`єX0w񿤥Vt8:-"~R(lP-1WQc9!wOBF2&9:lOJzl֤6mҿFUxl£2! a^^n`-%m+`i['LlcBroVccG۰q]~UlN^e>aR5X^{%{~55= os|ѷw#?wĿPK0IMYEdocProps/custom.xmln0F>1JK";;qmBiwQKQ.+]6108|ڬ Λ;W!iA^}J8ʽ2"Nrms3`D1-U(0%cL zLEN^ϛϼ}`0Iueu%)]U-*HDմz@dF]v]-V0 8ˬ1)4[E WVj|PK!\Sword/theme/theme1.xmlYKoGWwŎ -PqwfI|XRUZPz" 4iZ*zAPA<~cf싗c'-v!Gç}O-ExD s r"VJ`M@wUTB_c6){^))]^psiU-QQKvg&Q L],;) 8$ QHBd)-uK>T6EmL.A)DWh qx|s 9s&e$Tf.xװ\J_rT0EsCK^eP9/"A'qԙ&Q<h+\!zqpߢk& K*MDDַK8ɋq 8314?5-pf"lpwnQK ?-}lyF;<~2ƌ\+KP:BF0ĕpfWQG815#!PKxe'okX.93 s"hE3XVʅV%ՌjrGMZ!c0#e0  Qf5$q,w7rg uTK3tof!-ow )`&-WkquwVժ9K"R!62[Kכ 퇳1Lbe0Вjt"b? Ѐ6*\mv`V.ܬ6f^j4YQ&Z:YA|6++L){f\uz).09P.F 8, AYh_k]oYhN"AȮ+S9 uj=MI Zy9cB}W/.6m^ +4Qz*,sَ5'\x) M}G9 鮦0_vJӬ7 8Xg5{uggypueD+whw@6sF̮fv+!%XGLZ:Kxfm WN'gSN\?80eb-F9oX:.[By˜ٻ˖+Le*#Jg&_ȤPK!瀓word/fontTable.xmln0' !]Ji7p 8y I7%ҪQwQnv ɌHnki6P]ݐ<35Sֈ}X!r zq v`N3S5sc^~^ .ئ\||aB5Zo]9V#O3i$;iɝt ##@X M"d?s4JNP蘱 *MiFtߌ^/I<,-s ȸqôTCff,tK 7XšV ِd$) dv93DE7?o$ &# O#%&n忍ˍLIlgLT^K7H޾7J3*`S,_BZs]GQ_"b1 `PK0IM.Nword/settings.xmlV]s0}`x^+h;vChƄ0I~/jnuIr=?;[Plמ@Fe²}{]ո5vPPN܍BMW n F25-*E(ӔQ8G+c>erT@(`mG*6yUHɆWGF6AQDsW,ycYrBn7(7LjZ7qWUƺ@AWC᫔r_ktleP<3j6 * 7D^,zț{fJF}6{wѴ{`؛<gOt?z~ :iv3[t,r)Up,# e q_!X,f1V65iΉS!='u^SgB-W<2a&6ySv;e0n77#!dqG O$5^3xJZs:{sB݊LJXa׵XzXb ,jkWSɹ, yOPce8 Nyδ Ǎbdr_PK!:word/webSettings.xmlN0 ;P徦.!n-8B\͑Oz>{ȎBʼPK C^W*dBg<hXmˋzfؾ@J3QWh54UZ 4AfOMg4O+K8λt뢸QG&P; wd!-:nom>G)vS$ r/ '1ǍJb'm8f%$LW"'PK0IMe݋ q&[Content_Types].xmlPK0IM=^ _rels/.relsPK0IME_ 0word/document.xmlPK0IM/ڙword/_rels/document.xml.relsPK0IM4o}Uword/_rels/footnotes.xml.relsPK0IM֩word/numbering.xmlPK0IM  word/styles.xmlPK0IMELDword/footnotes.xmlPK0IM 2<rword/comments.xmlPK0IMl?roHdocProps/core.xmlPK-!g<docProps/app.xmlPK0IMYEdocProps/custom.xmlPK-!\Sword/theme/theme1.xmlPK-!瀓7&word/fontTable.xmlPK0IM.N@(word/settings.xmlPK-!:v+word/webSettings.xmlPK ,pandoc-2.9.2.1/test/docx/golden/definition_list.docx000066400000000000000000000232201363630463000223600ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO((word/document.xmlN0E|5m.hźq&ENB; TP([;3~ouj $|9_pFb!5I/M4ςIxὍps`^K:D Rf %8xVU2|)s%a;$0B|1B\A)|(ʺ j$tDaOZc\\L`MbJeZ% 裼ƞ8>mp1{ig ;;RkZ Bjf9u -n P !̡~IdVgIhӾP@mٗ$'sp )F{PKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOELaword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= Pword/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ gword/settings.xmlPKʍpOTΜ!word/webSettings.xmlPK n"pandoc-2.9.2.1/test/docx/golden/document-properties-short-desc.docx000066400000000000000000000232341363630463000252630ustar00rootroot00000000000000PKˍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKˍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKˍpOaH[word/document.xmlj0 {{t1BR( sAVIG]B/F~> /?Z@sգUC &'OF@GyŁ;PKˍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKˍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKˍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKˍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKˍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKˍpOs_idocProps/core.xml1O0w~u 1Q qi[I!ep}|v>k +SO#"4x?˥ͤq < gN fzY> DąqZ`uKj\%t4P (J]d)Hq.֠FOYEpڟ4tZ8@x5M$͸CCϟ^ƪ(j K5<h4/ҁ@]BIV-K,K/qH*\h{5o>@"/*Iu|Ƹ݂ /Ӝn&$a@v6(#MX&.'Y~[:M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKˍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKˍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKˍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKˍpOEL#word/footnotes.xmlPKˍpO 2<rmword/comments.xmlPKˍpOs_iwdocProps/core.xmlPKˍpOdNFddocProps/app.xmlPKˍpO煟docProps/custom.xmlPKˍpO= \word/theme/theme1.xmlPKˍpO{H: word/fontTable.xmlPKˍpO%\ sword/settings.xmlPKˍpOTΜ!word/webSettings.xmlPK z"pandoc-2.9.2.1/test/docx/golden/document-properties.docx000066400000000000000000000241711363630463000232130ustar00rootroot00000000000000PKˍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKˍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKˍpO m word/document.xmlՖϊ0} {l²BʦȓX̌Wq=l7Ћ~|#m;[dz# :4Ɵ*k./ۡlx.S9Te[p!OsǀNqē6sV~lI݂ ǣ<-`p;C^U DirB(y+/)̊_9ox>6+-5FAH*Z`ˤA:8p f^J wYo5cWRT*Q8U ruG\&x(z'=zxMLedL\[Sm?3ctbT,gg![#h4x0rʨEl._^ .oUI#%мÉ7MPKˍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKˍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKˍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKˍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKˍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKˍpOTdocProps/core.xmlAn0E9u%Jᶂ̠HU ,9H$A+8=K/VdȮ?~9 >hk+ʌViӮ]1Wtz@>jՔ^"&oE@\P([R} Aeg I {GoЇpbNh0> YJ?D>{TK𬏓q^>-{GeF\fJt3HL>e8+߮ol2^SXV[~ag?PKˍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKˍpOA+docProps/custom.xmlˎ0=_qeHteH {4;2bßDYc?Kphӑ)G=#JF2#N1tc-Y5m\FP^ڶ$aGrTXfE3BAڊre{3I+-woCf:!:*<C^)ESI;孃r f,ǻMrAOp\Ţ1x;,R5=C7{6~GĿڛC=v˖pND-S0o!4VzIz1zJƩECQ\aT\s330kIpW5L (.Myū&,&[7G1-LT(}.Q i7&}SLșL~0 ROWPKˍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKˍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7M&word/styles.xmlPKˍpOELiword/footnotes.xmlPKˍpO 2<rword/comments.xmlPKˍpOTdocProps/core.xmlPKˍpOdNFddocProps/app.xmlPKˍpOA+(docProps/custom.xmlPKˍpO= 9word/theme/theme1.xmlPKˍpO{H: word/fontTable.xmlPKˍpO%\ P word/settings.xmlPKˍpOTΜ#word/webSettings.xmlPK W$pandoc-2.9.2.1/test/docx/golden/headers.docx000066400000000000000000000234461363630463000206220ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO. / word/document.xmlՖn0E 3-AȢ v?FHbHSh x#B;3G,I R: )u&6?63_|IN%uJ Mǎ h rm%jqmf2wdBF<z_&Z %ظ+qNΪV;k\WT)*Yqh@,̲7xW8k{?6Ig/jʶڿ@beJ57$^נ'%kϬXtZ'IH)<8<*GI+n6qq4 ٠<4M>f=Me't1:vkE%TP4n&ϵk_ Ytn9Z1% MB|!l8MM0bBLjMCMrlCMn,/Dbl__mDbxmPwIZl_ߤQt_|"pl}w$ud ^"=dk6L7]=@|Z.~PKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rAword/comments.xmlPKʍpOY4pHKdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟+docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: 2word/fontTable.xmlPKʍpO%\ word/settings.xmlPKʍpOTΜ6"word/webSettings.xmlPK #pandoc-2.9.2.1/test/docx/golden/image.docx000066400000000000000000000641121363630463000202640ustar00rootroot00000000000000PKʍpO@l[Content_Types].xmln0E(ۊ8Ǣ= CwBH{|cF |P֌~a2(f8:0 yHCz͑^}_<6H;&A0J# e>74GM_e5s*;8G&WF~{Bpx(M7Il @XBr2%@ZQjI*A筀HO/nS9x.K}d87PKʍpOWVword/document.xmlXmO0_a{InDheCL:nvwZ@B=wg=rz|2%6LQ=H"D(u{?i&ɌSa֣VqlHA96RQkS9 <Δx{I29f"j`.0r:e5 hAsA4-Mi(i6PΈFNmHZT,*^zu7mZkw,Ӹްg Ezzџh 4ٽ{*?\k%EuZr]0m58X)x_QQ45TW4_IT(gVnOr@ mJ(~JuC%$."+BԦSJyP"X(hTۮ5ʨ!fl Ge!9q)N12=f/1\5'jj˙TLdk0.ɝABXֲ.(LH}mf&~ؤdꂕsHO(D/^엱ZR9@UICfY9TsNFs}{ + AynZ^HZS |4 KnKEYj4j:Z]w, ^];6m6ox ~3&_2F)=QSʎ{]N 1J;XBxece>?QA^w]W=PP5J'T:}&:XdO2! Q~{-IR`,C_?o='X"{ڑ񗁽 `x/PKʍpOE89word/_rels/document.xml.relsR0O^Uk)t8ӭQrTi%MGXo@>yitI,0]I_TWg8K|/'a%c^όJk],%s:IꃅL4m+<W`j.)6%uۦ,0L0H8Qp3Zj'^2n#cSKZ&]tL1(XFHٻy?ߊSLFXEoKm*GFr6l7"/PKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`bqm(>759)BC޼)uINNn l7 (Zgi &4VrM򬵷ME>̔XF|/4d;ͬWN>b{k. MO{ |\z[ PzcYp8paOYv_m@h9灻 DMVq~G0 JR}$PK vRcm7 J|x:q;FSm#VptLu< }$\V.䍣 Q..LG"cȘnΡ἖\l[mA<Nja9*-ma^y7h?\ k4B{=̪)k]1 fBn SZ-)2'd͵bѥPkO3Ăy.#ߍb[ڽuve~[lHX?Jc$}W++ ׏ @V |5I_1(d|_fiŕu2/qw9!XeT+~Oܖ5\̟i"* v PXGd^j80"btky38pnrCoI7[ۺqD<gZ ,Oӭ:gߑchT 'U8g]LV8Wg8QL@%bz% ˬ0g$X\ fyIK1P玭{Cs(zENמ8AI GGhl<NVQ]ǟHZK;%:1㬗Qd9خbQ~j{mF*S}Б7bRTlUq:(0Rg[}Db% V7>2 _}8k?] ڬŅv`G 7DyܴP~ZSsB~]tԵ D rzK۷H\Fu? {3t*^"UJ_ .Vjx<S';!"ns $av"H=g'kXFVmBna;w`E0U!Ca\yc_Em.ΪRWYLU﫟ސ@$q}}QH)C,tH-u*n g:KD}OO?H]zSySzGIm7Wp¢dK'م'YxȖA}+Z ` J`'.ykPPCtrbޘ|23o֓p֒cV0rӾΕWd'q~7D}nC./hr3JpU7$mwCDMLfSBCxjR;Hw , p18qp㋬ᐲ+})ZD|y^d$C*2P~J{]%0gXcZ?-<)daI 邹hGRPm{/]AR$k 3jM4- _Ԏ/^9939xs~ק*Rgtco:NǐPGO`-nc. ;80sm>MVc>b T7M$x#|[R7)vS=E>caJEѤTk0{-•/5ZaS*W Ek}.3X9! U([1GcVPly(D!3KO@؅7èYnY=5:!`40ښA[' ݌$0mߙ<1.ʘW_!(I:#^"9PSr.@R~!/zsMIΙ(E e"< ?hGgp7vͲd{ʲ| vVzxh,xB+ @rnZ?Nݒ9|Ny~l.ď'@otQ{J&˲k{rE_a cNG(!4ۚ.jJPY3ӕqz_@Aww.CbCETnVYۇڑ4%Sw3}G"RVԷ(tgm8~myCXţxeް)%RSka?6f3㐺xXK\Tf-7먷yu{wjV~翇À e;ij b>o\U})wȫ:`_lD"ho٢%9FUXoMxTVa+p N#4OPG@ =̖pj8m79p€A)(JxҹύF9/+QlE}gaGO#ԘzWFZr}%".2]}.2?&IIyOI.;y~"%C{~N2W6t{4|2{J9 IZ crP=J޶2u) g-V'j!N5;tu.jePiKY5ZGէCNj!cQ4tvSfg;5oZ36J(xa秫.E|YKԉhtxe`@>=x=h+?&Q.V`<"!*RXYlҮS{`FC~8'kn_Ub)q4(F^ \h9֮=<.25xP~t-.;弐您֡`J-gu1J77[ y%Zs{^=ҫ_n\x>`$.kM ӾOˠ覐HP-:ͬur8\Hn}̎LڹbL&'V\Poㅡd .D:/aɜPsm[82W\tjɚk6nv%ոJcԖyQo~Lni#|?tWV1joc `"pO$1)c-r/7m<_+/y.ȱ% uX̓'l߅/, s6=7M_˟Vټ?`|خZ=?[oiޔW}]qě_Rn:yƦDW]iYYðvۅ~ dݡW4|/=<3OU+s8LrU8g}Y&72pıOƣs=[2X`OIض ^z!0?'̿YJէxߑH'-"'ӁWrt#!ks@?HQ]v5 =xf6XWzp2Zw;-sBܹ{rtahQWZ*(;?;UdhA#{G`o|Tk(43Xȅ\o "+,.o% b림Bh"g7+.ѯ5539~1sEOVXW?y $Qx7$ 8 7ò2ՒJhV_驌+_lt2 bR㱎c <BuU7-3ˤ!!}cI|n1Vk#eZ{)*@ AHb~Hv4Kɂ/ֱ]- ~ղ[]+Jyfh9>m8-9Bw]-k|Ô<@I͵ qڡs} Wx5 /__iWiz"\{>'_Ƚ("3ۥ0}Vp?3Xz=ޜ,ۤfbTBRSapKztB`Aax+H[|sS2XUʑ5"t'K^s,ZQ{#o4[1n: tآﴓY?2{Bhe(ůU28vSu/N)D\FQ=%i晃*U5 xhnb.8xCMy~4aX).@tu+.bJvlD́Ai~L_z^fwfA^,<Ҿ#|!_|Y]jtf?剽F0G5ˁp3ЇL/ie8VA&9p՝؇5Nk6![.&n,)fWnDwetT.y{E\2x|6]#f.CK[m ^EBv} q| ܿM}DN㙴Y~M6xZ/?ܫBvRɵk¢r? '}t@9y(?tVOX Bn 9r2}ǰKB|ғ ogBh.fl7</ fOHh(;?9)**2TJc@,oBn g88B;C_8Ov >.ܞ)lN; b2ŒKR>m6ԥOvՅ9 wT53#9)4u%Q]~5<]w7zs{N@ٓa_ -ͺqP9ʠz\*R&Tw)70SsGn%Fv?iVD(T1 N.lWEx?{{D@ʩ@lM#yrTT5jjdG +q,a<ǐ46X?O58۸صQav)P(o-eb,:| Z։ TkowOQ+Á$!3 X)O->Wo:c><F&:I_O":Kj,BgxP3_:<& o}c?aD7klz?+?49m.fR;MbR$9dOpz5$p4Zo]vU46>[=>{]keNbyON)F5DDMP?h\vo*cpBvHjxK7[ߺEۆ/*SQ-$q9wXpE5)RGt$_}W `zQMh-q/v&)1s1ZWhNW78n6ս5|ը"Zoo> eŗY:E3SIl~#Ű㧻'@ɮRWc;H:7!ه.ha?׺,1=0!13R^#].1j>u_.|Ȕ9rٿs6ďe /N-<V:qFucgBay8?H>01[b -#L1zBrc*B`!0h;Q_ Z4rAzOcL;t.|9%VNw&# ןQoɔ<=T]u.pӐ :nNh`*$IfY:76q)h7&3ʘt"s_?y_̣klbڴ Ozm?E_῜1^xT b)!<_jьݧb >TL,Pj!@ С8mRG(ȻHZ>bXg5JJ^ O̎7 { D\gg,LZB. iܩX`ѶR/wLk0Mm'-|qt B7a䗪l.3>_[ ]I?bK9pS9=-FKVJU!ȯ?t1CYΚVRe3>ets}E7|dt x.θq}-£HLHle0BSe}ľby GРtP uN2*B[Ŀ6^r+5uw;U%UiSR&Y}a]2+&J}CP8aj[Gt(2{xrbj2ǩnUa9¹Θؠ0H6|iAzr05 3tF1ܛ.|8 ͯ'])BTt  1.g@V7I}B (wG|^|&vw+K׮0.1*w%>c+x}xEh1})5LzRxjj=Gd!`h.iH5ȉkJhnMժ3?w9zG̚Y5eMƈYDA,<ףFLշ1*1lƣan0qWv(?fs3~wB Q{ΐTGN7VK;ЌDo'<Ϙuw'㥪Zf\@MB߬iҕHVG}(MJJ3G02yfYa3~G؄=cNҢ~#)B1IyJ/~#]qb 9ۑo5)Cm7tCr 1N%! ϒE9|Q?k~hcgS@Ŵx pБ`ԽVq[V+dS~N%R?$g% KcBe㼉b.~ۅI]Y./ĈsFZG}~Wڟz8%k(S;>r"Vud:h+tJ zŧ$ >xs;wYǤxߡQI ?r~R S+䅼j%9d==.AxWVؠz=^$dOV`j<:*+ /9|t"NJVuz!Pq5;o n6ߎc{kb՟j ;F秳ɡ(4s 9zSu ՟檫4"TJgRjƋHm 6/ƣi+VmU}Eۏ/nE*N]eDӜ~2:=u?h~5n-nmE:HthX>g~ńÒt*Fbdk !ྔwAbYd<"ۑ#MK!v)Uh_OйwvMJ9[yġ=T >l['zdmrCZ`IB=w٧D19>:CG؈7u3W-l1!"oYXʽ|GꍖD)@Դ~K]Ik86ff#&Kڃ*1(,Ig1Y}"hp"ń۪%.*u!*m߃JsՏ:ԅv5}m8R^?>3wSL-I]D9/a៑Yu-˶u?Ʋk۝[VCUz$ L5;1wd+7Gg.:D /LoGʹPɄB $gɛ*:qq C3YZhԷ_+~`V'G^1b< |`-!1.^3yYs˸ g<&-Y䌹ҟ _1e{@?~j13XZY{kc`91+dgܤE\6/x{U/ %Y:}Y/״rܽ&IlLhD5\K2($zp#kJ :bIDr~i_nsig/fK$&a:A c̬?ʏ+{~.E#U2/]evLJXKvaSC9''ѩve\Ve%)@D`,m黨,"q!t,LNG(v B ;5WHcb't}DSHc "Y{P$i;H *[tOR{{"nOdtЌCǵb <;W $ɝT$pMnQ~ͪ@BJV D xf+/ݞ iw&-82\qtl=^PTR,^W}ϝ\D}^WjB0Oƅ` U7ޚlY4X /z̻~mSs( 6ـG؉.6ۇFc=!hm ë</%j%d?)tJ _}ƕ;};P2i)Y6`Vˆ͋p$iMX B2=erX@q mJ%KF8;p&;ձ'\_lv~`86=X F4J>+վ~qKi0 VPZJxGS_ ;+ ;& OTvu?Y uU%eD2V"2C6xr> $[>"[պtZ UrvZyl' %t54676oНwdvnuxְٮ$eBo^9y 9G2 'um_[tzNR6$R8u'kN;d8aCf;pQ(lNE澅X-sU^n@~Zt4I`[NWVu%O _qQsEVL}gGo"Fc[r#<f{="ݠc}+MKS86{M~Ybu*|e:gD(gXj:ݨYy"DpJZډ$,< z7A8W`}gnn}'gl|w&ea29d *-`;8lÁlFS~2  сEEpLVEb^ՉFGʞ?PG{Y֚7إ3 fh"9v/E6Dx=v|ON?jaA1vy)vql @XxaI|c{ OSf]ZiY /`Å O^₼,T#Z;byG^#1{/#&ȕm6~$Z8kN6h[X/djԵxhh.!)tdƱjבg %\lcg{& wV >m+-zhgt\ ;z8Gܠb<3'TS r\AA(AjͮL)3lƨ(L9V^|1!sW ֨!u yQԢn~(N(Kc9"xgzA4y"ρ b![Bw~Mu:{3YGrx-˨<-8Cw:9_~gĩm" 47­R}Mi:~ـBxǺ;_KFٗ>1u b*z("z5Bй0]: bq!1vx/n9} 9 >6"sxգm pcu$p @:j"[^*c$~¨kQ9[AE7&U<0X&rەB迭Ģ(M1C 8~kعիrٚ$]Z$ܓ[CfX ĝvtI~SFsI~g%CIW{yPF rJm6˚;^R\/v@*⬃Ƹ(Bl fzkfͣsUk48-5f,-Ԣd}nJDCJ^jD GzqA6fk}φX|p$o\@^YYB)fL r}7Ht?whuƤk!1ذ{8KI/< sz(|h;L{^8oLKOlIȵ t Uc{Ϙ& k.EOWYV uQ*}P e*O{H ;:^Bɶq. ߼,|F Kz.FQYޖ-{-G=f Z&C$ BHNR"r[KDBT>Eǚޯ\Y^/'`85O)o^ESҦ9qM\ľg~ӷeB0dGAF쉚'#ζSʹ ڇ @\ AAPD`ZRr m:ۊ͘v'zqN\#hDz3Mv fu\ _Z7kI^=B6@ƽvBTtȄߞaף`/4igS:p wPVe/VwK5wwr97CtM# ݹR>{s(8eRwne t)`0Vl)+7,`R)IEh2!y;TM;m,W<Oa[-ʕǤvQ]Ű(xs,-~|gĵ_(E1(&zİ@ȎkK0Bt@(}),m3xM-*RTl!YMd/b3G=R _ut(Tv-㝋IA^_#ޫ'~QɉLX g5 }ViUdp}#&ﶘ_)bc9k[! M8.'x _34^{a1<$Fj{b&GW@6;CS 3bG iv8@fjG},]!AxP&o[H]7"kH<4Љch޺I  }hU[ʎF2I!z5'DzF~̀Qz! ҁp8|}0tޅ0"ZkRo4`\oᴽZReXFє\V7"[/o2wyS~./Hb+ Zn撠 c/3̮]E L* Ed0Cԝ$ >c=$.PuZR(&m$$L<ڼFf3>2Q9.O( OF.@&+SkU ex !NQ8XZ뇛J@N] !OPKʍpO@l[Content_Types].xmlPKʍpO=^ _rels/.relsPKʍpOWVword/document.xmlPKʍpOE89Tword/_rels/document.xml.relsPKʍpO4o}word/_rels/footnotes.xml.relsPKʍpOn"mRword/numbering.xmlPKʍpO>7M word/styles.xmlPKʍpOELKword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpOY4pHdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= :word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ Q word/settings.xmlPKʍpOTΜ#word/webSettings.xmlPKʍpOi\??X$word/media/rId20.jpgPKNcpandoc-2.9.2.1/test/docx/golden/inline_code.docx000066400000000000000000000231311363630463000214460ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO bword/document.xmlMk1!wC)*cv6LF}㚵 Ke}2_/#=WTt6-(#l̮.y,+L I`|+*Cp%c^HO|ECV;\/Lseh{0meN`9BQBC*KHݣ)3j@m&LfT)zݍqqV>5mT{*kuJ<@HKy=uZm'cyH,{UtЇ5GCҔY=g C=z#'k=i@SO~|U۴:Mŕ7t!$=.oN7b d镘{a98PKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOEL*word/footnotes.xmlPKʍpO 2<rtword/comments.xmlPKʍpOY4pH~docProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟^docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: eword/fontTable.xmlPKʍpO%\ 0word/settings.xmlPKʍpOTΜi!word/webSettings.xmlPK 7"pandoc-2.9.2.1/test/docx/golden/inline_formatting.docx000066400000000000000000000234031363630463000227100ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOD 9 word/document.xmlVn0WX^7!hUU$܀Utm1RUJ&h6X:~xSԀNB {YuW ']$Qx ޠb>b5ssAOj#RLh˨12f_"xd>JaݠfZ{3{F~_n60ؘrd͙ZP,_ᱼ^yχM#e&oW}6-[.4qdB_:a d6L9J}:2  7R|GH#x'3332ҧdCa  8k_<0 ؕ1lbR>1FueۢI 0?o+%(QnbؠR97ՐQ{SIaIs@)48.ù8W邲%su>f{ mC~xG) }lUeÃ~?_ =HܦlZoaMrpF^O txD/PKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpOY4pH(docProps/core.xmlPKʍpOdNFdvdocProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ word/settings.xmlPKʍpOTΜ"word/webSettings.xmlPK "pandoc-2.9.2.1/test/docx/golden/inline_images.docx000066400000000000000000000642011363630463000220040ustar00rootroot00000000000000PKʍpO@l[Content_Types].xmln0E(ۊ8Ǣ= CwBH{|cF |P֌~a2(f8:0 yHCz͑^}_<6H;&A0J# e>74GM_e5s*;8G&WF~{Bpx(M7Il @XBr2%@ZQjI*A筀HO/nS9x.K}d87PKʍpOu word/document.xmlWn0 }Wz^$@HRk`>@X, b'?Js钮K;`"Q&yDRL;8_`jH{.%΄ 3z>z3LEtP.4ޤIxsm@nm<,͌CB&n]R0hS<FOe@  bA2\ע!]X6P'V;='\ilGGY֮uzdYV( N2G`>e#$DgmJҒ!1lfWNFdmaH:υ#MGߺ}M>(T()D>4_Y~ᫍF)pUN26>)ؒ G]_+ ,"LeDj=wD9;ȅtHx M\ [ Ԏ YK*x<# +A@ZP%^+rdr lj po5(1gjU,suggS`.LK`)̵2\dbS(&QYy A7!oi]prHV2 sc iXNmvltɯZ&@Xl ' F!ExV޺6&|W:V"JBAn! ^Mάk_;a9tӦq~:#b0ag5iasclhgL|ebiH:0G(a'Л֧:p%}?9/-dpۇ#$̓W`sȈ^dN:B_G7BZGp躇y=^W "p>3PKʍpOT@word/_rels/document.xml.relsR Op7Ukiҋ:Ӄ@ ִo/#^8&!XTK:itF'IJ TR~sorFv5eAset}R8G+X i:cv\5I?M]MULoS2jWՄ[!L|]JX4} n LD1n$8e =?1cKjCp alA0 Cp'[aPq+NalEio8g R4T1d[72WO1_Qߜsf*x!X͏bs:PKʍpOCNR+0word/_rels/footnotes.xml.rels10 НSDi B- 1r(uӨI%]mְհ(J`$uک.am3hD-q>Q' 0T PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`bqm(>759)BC޼)uINNn l7 (Zgi &4VrM򬵷ME>̔XF|/4d;ͬWN>b{k. MO{ |\z[ PzcYp8paOYv_m@h9灻 DMVq~G0 JR}$PK vRcm7 J|x:q;FSm#VptLu< }$\V.䍣 Q..LG"cȘnΡ἖\l[mA<Nja9*-ma^y7h?\ k4B{=̪)k]1 fBn SZ-)2'd͵bѥPkO3Ăy.#ߍb[ڽuve~[lHX?Jc$}W++ ׏ @V |5I_1(d|_fiŕu2/qw9!XeT+~Oܖ5\̟i"* v PXGd^j80"btky38pnrCoI7[ۺqD<gZ ,Oӭ:gߑchT 'U8g]LV8Wg8QL@%bz% ˬ0g$X\ fyIK1P玭{Cs(zENמ8AI GGhl<NVQ]ǟHZK;%:1㬗Qd9خbQ~j{mF*S}Б7bRTlUq:(0Rg[}Db% V7>2 _}8k?] ڬŅv`G 7DyܴP~ZSsB~]tԵ D rzK۷H\Fu? {3t*^"UJ_ .Vjx<S';!"ns $av"H=g'kXFVmBna;w`E0U!Ca\yc_Em.ΪRWYLU﫟ސ@$q}}QH)C,tH-u*n g:KD}OO?H]zSySzGIm7Wp¢dK'م'YxȖA}+Z ` J`'.ykPPCtrbޘ|23o֓p֒cV0rӾΕWd'q~7D}nC./hr3JpU7$mwCDMLfSBCxjR;Hw , p18qp㋬ᐲ+})ZD|y^d$C*2P~J{]%0gXcZ?-<)daI 邹hGRPm{/]AR$k 3jM4- _Ԏ/^9939xs~ק*Rgtco:NǐPGO`-nc. ;80sm>MVc>b T7M$x#|[R7)vS=E>caJEѤTk0{-•/5ZaS*W Ek}.3X9! U([1GcVPly(D!3KO@؅7èYnY=5:!`40ښA[' ݌$0mߙ<1.ʘW_!(I:#^"9PSr.@R~!/zsMIΙ(E e"< ?hGgp7vͲd{ʲ| vVzxh,xB+ @rnZ?Nݒ9|Ny~l.ď'@otQ{J&˲k{rE_a cNG(!4ۚ.jJPY3ӕqz_@Aww.CbCETnVYۇڑ4%Sw3}G"RVԷ(tgm8~myCXţxeް)%RSka?6f3㐺xXK\Tf-7먷yu{wjV~翇À e;ij b>o\U})wȫ:`_lD"ho٢%9FUXoMxTVa+p N#4OPG@ =̖pj8m79p€A)(JxҹύF9/+QlE}gaGO#ԘzWFZr}%".2]}.2?&IIyOI.;y~"%C{~N2W6t{4|2{J9 IZ crP=J޶2u) g-V'j!N5;tu.jePiKY5ZGէCNj!cQ4tvSfg;5oZ36J(xa秫.E|YKԉhtxe`@>=x=h+?&Q.V`<"!*RXYlҮS{`FC~8'kn_Ub)q4(F^ \h9֮=<.25xP~t-.;弐您֡`J-gu1J77[ y%Zs{^=ҫ_n\x>`$.kM ӾOˠ覐HP-:ͬur8\Hn}̎LڹbL&'V\Poㅡd .D:/aɜPsm[82W\tjɚk6nv%ոJcԖyQo~Lni#|?tWV1joc `"pO$1)c-r/7m<_+/y.ȱ% uX̓'l߅/, s6=7M_˟Vټ?`|خZ=?[oiޔW}]qě_Rn:yƦDW]iYYðvۅ~ dݡW4|/=<3OU+s8LrU8g}Y&72pıOƣs=[2X`OIض ^z!0?'̿YJէxߑH'-"'ӁWrt#!ks@?HQ]v5 =xf6XWzp2Zw;-sBܹ{rtahQWZ*(;?;UdhA#{G`o|Tk(43Xȅ\o "+,.o% b림Bh"g7+.ѯ5539~1sEOVXW?y $Qx7$ 8 7ò2ՒJhV_驌+_lt2 bR㱎c <BuU7-3ˤ!!}cI|n1Vk#eZ{)*@ AHb~Hv4Kɂ/ֱ]- ~ղ[]+Jyfh9>m8-9Bw]-k|Ô<@I͵ qڡs} Wx5 /__iWiz"\{>'_Ƚ("3ۥ0}Vp?3Xz=ޜ,ۤfbTBRSapKztB`Aax+H[|sS2XUʑ5"t'K^s,ZQ{#o4[1n: tآﴓY?2{Bhe(ůU28vSu/N)D\FQ=%i晃*U5 xhnb.8xCMy~4aX).@tu+.bJvlD́Ai~L_z^fwfA^,<Ҿ#|!_|Y]jtf?剽F0G5ˁp3ЇL/ie8VA&9p՝؇5Nk6![.&n,)fWnDwetT.y{E\2x|6]#f.CK[m ^EBv} q| ܿM}DN㙴Y~M6xZ/?ܫBvRɵk¢r? '}t@9y(?tVOX Bn 9r2}ǰKB|ғ ogBh.fl7</ fOHh(;?9)**2TJc@,oBn g88B;C_8Ov >.ܞ)lN; b2ŒKR>m6ԥOvՅ9 wT53#9)4u%Q]~5<]w7zs{N@ٓa_ -ͺqP9ʠz\*R&Tw)70SsGn%Fv?iVD(T1 N.lWEx?{{D@ʩ@lM#yrTT5jjdG +q,a<ǐ46X?O58۸صQav)P(o-eb,:| Z։ TkowOQ+Á$!3 X)O->Wo:c><F&:I_O":Kj,BgxP3_:<& o}c?aD7klz?+?49m.fR;MbR$9dOpz5$p4Zo]vU46>[=>{]keNbyON)F5DDMP?h\vo*cpBvHjxK7[ߺEۆ/*SQ-$q9wXpE5)RGt$_}W `zQMh-q/v&)1s1ZWhNW78n6ս5|ը"Zoo> eŗY:E3SIl~#Ű㧻'@ɮRWc;H:7!ه.ha?׺,1=0!13R^#].1j>u_.|Ȕ9rٿs6ďe /N-<V:qFucgBay8?H>01[b -#L1zBrc*B`!0h;Q_ Z4rAzOcL;t.|9%VNw&# ןQoɔ<=T]u.pӐ :nNh`*$IfY:76q)h7&3ʘt"s_?y_̣klbڴ Ozm?E_῜1^xT b)!<_jьݧb >TL,Pj!@ С8mRG(ȻHZ>bXg5JJ^ O̎7 { D\gg,LZB. iܩX`ѶR/wLk0Mm'-|qt B7a䗪l.3>_[ ]I?bK9pS9=-FKVJU!ȯ?t1CYΚVRe3>ets}E7|dt x.θq}-£HLHle0BSe}ľby GРtP uN2*B[Ŀ6^r+5uw;U%UiSR&Y}a]2+&J}CP8aj[Gt(2{xrbj2ǩnUa9¹Θؠ0H6|iAzr05 3tF1ܛ.|8 ͯ'])BTt  1.g@V7I}B (wG|^|&vw+K׮0.1*w%>c+x}xEh1})5LzRxjj=Gd!`h.iH5ȉkJhnMժ3?w9zG̚Y5eMƈYDA,<ףFLշ1*1lƣan0qWv(?fs3~wB Q{ΐTGN7VK;ЌDo'<Ϙuw'㥪Zf\@MB߬iҕHVG}(MJJ3G02yfYa3~G؄=cNҢ~#)B1IyJ/~#]qb 9ۑo5)Cm7tCr 1N%! ϒE9|Q?k~hcgS@Ŵx pБ`ԽVq[V+dS~N%R?$g% KcBe㼉b.~ۅI]Y./ĈsFZG}~Wڟz8%k(S;>r"Vud:h+tJ zŧ$ >xs;wYǤxߡQI ?r~R S+䅼j%9d==.AxWVؠz=^$dOV`j<:*+ /9|t"NJVuz!Pq5;o n6ߎc{kb՟j ;F秳ɡ(4s 9zSu ՟檫4"TJgRjƋHm 6/ƣi+VmU}Eۏ/nE*N]eDӜ~2:=u?h~5n-nmE:HthX>g~ńÒt*Fbdk !ྔwAbYd<"ۑ#MK!v)Uh_OйwvMJ9[yġ=T >l['zdmrCZ`IB=w٧D19>:CG؈7u3W-l1!"oYXʽ|GꍖD)@Դ~K]Ik86ff#&Kڃ*1(,Ig1Y}"hp"ń۪%.*u!*m߃JsՏ:ԅv5}m8R^?>3wSL-I]D9/a៑Yu-˶u?Ʋk۝[VCUz$ L5;1wd+7Gg.:D /LoGʹPɄB $gɛ*:qq C3YZhԷ_+~`V'G^1b< |`-!1.^3yYs˸ g<&-Y䌹ҟ _1e{@?~j13XZY{kc`91+dgܤE\6/x{U/ %Y:}Y/״rܽ&IlLhD5\K2($zp#kJ :bIDr~i_nsig/fK$&a:A c̬?ʏ+{~.E#U2/]evLJXKvaSC9''ѩve\Ve%)@D`,m黨,"q!t,LNG(v B ;5WHcb't}DSHc "Y{P$i;H *[tOR{{"nOdtЌCǵb <;W $ɝT$pMnQ~ͪ@BJV D xf+/ݞ iw&-82\qtl=^PTR,^W}ϝ\D}^WjB0Oƅ` U7ޚlY4X /z̻~mSs( 6ـG؉.6ۇFc=!hm ë</%j%d?)tJ _}ƕ;};P2i)Y6`Vˆ͋p$iMX B2=erX@q mJ%KF8;p&;ձ'\_lv~`86=X F4J>+վ~qKi0 VPZJxGS_ ;+ ;& OTvu?Y uU%eD2V"2C6xr> $[>"[պtZ UrvZyl' %t54676oНwdvnuxְٮ$eBo^9y 9G2 'um_[tzNR6$R8u'kN;d8aCf;pQ(lNE澅X-sU^n@~Zt4I`[NWVu%O _qQsEVL}gGo"Fc[r#<f{="ݠc}+MKS86{M~Ybu*|e:gD(gXj:ݨYy"DpJZډ$,< z7A8W`}gnn}'gl|w&ea29d *-`;8lÁlFS~2  сEEpLVEb^ՉFGʞ?PG{Y֚7إ3 fh"9v/E6Dx=v|ON?jaA1vy)vql @XxaI|c{ OSf]ZiY /`Å O^₼,T#Z;byG^#1{/#&ȕm6~$Z8kN6h[X/djԵxhh.!)tdƱjבg %\lcg{& wV >m+-zhgt\ ;z8Gܠb<3'TS r\AA(AjͮL)3lƨ(L9V^|1!sW ֨!u yQԢn~(N(Kc9"xgzA4y"ρ b![Bw~Mu:{3YGrx-˨<-8Cw:9_~gĩm" 47­R}Mi:~ـBxǺ;_KFٗ>1u b*z("z5Bй0]: bq!1vx/n9} 9 >6"sxգm pcu$p @:j"[^*c$~¨kQ9[AE7&U<0X&rەB迭Ģ(M1C 8~kعիrٚ$]Z$ܓ[CfX ĝvtI~SFsI~g%CIW{yPF rJm6˚;^R\/v@*⬃Ƹ(Bl fzkfͣsUk48-5f,-Ԣd}nJDCJ^jD GzqA6fk}φX|p$o\@^YYB)fL r}7Ht?whuƤk!1ذ{8KI/< sz(|h;L{^8oLKOlIȵ t Uc{Ϙ& k.EOWYV uQ*}P e*O{H ;:^Bɶq. ߼,|F Kz.FQYޖ-{-G=f Z&C$ BHNR"r[KDBT>Eǚޯ\Y^/'`85O)o^ESҦ9qM\ľg~ӷeB0dGAF쉚'#ζSʹ ڇ @\ AAPD`ZRr m:ۊ͘v'zqN\#hDz3Mv fu\ _Z7kI^=B6@ƽvBTtȄߞaף`/4igS:p wPVe/VwK5wwr97CtM# ݹR>{s(8eRwne t)`0Vl)+7,`R)IEh2!y;TM;m,W<Oa[-ʕǤvQ]Ű(xs,-~|gĵ_(E1(&zİ@ȎkK0Bt@(}),m3xM-*RTl!YMd/b3G=R _ut(Tv-㝋IA^_#ޫ'~QɉLX g5 }ViUdp}#&ﶘ_)bc9k[! M8.'x _34^{a1<$Fj{b&GW@6;CS 3bG iv8@fjG},]!AxP&o[H]7"kH<4Љch޺I  }hU[ʎF2I!z5'DzF~̀Qz! ҁp8|}0tޅ0"ZkRo4`\oᴽZReXFє\V7"[/o2wyS~./Hb+ Zn撠 c/3̮]E L* Ed0Cԝ$ >c=$.PuZR(&m$$L<ڼFf3>2Q9.O( OF.@&+SkU ex !NQ8XZ뇛J@N] !OPKʍpO@l[Content_Types].xmlPKʍpO=^ _rels/.relsPKʍpOu word/document.xmlPKʍpOT@word/_rels/document.xml.relsPKʍpOCNR+0word/_rels/footnotes.xml.relsPKʍpOn"mword/numbering.xmlPKʍpO>7M? word/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpOY4pHdocProps/core.xmlPKʍpOdNFd$docProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= qword/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\  word/settings.xmlPKʍpOTΜ#word/webSettings.xmlPKʍpOi\??$word/media/rId20.jpgPKNdpandoc-2.9.2.1/test/docx/golden/link_in_notes.docx000066400000000000000000000234661363630463000220440ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOROword/document.xmln0 {*wH0M-mԥ8rL;~LLچXg]y.2pkxog/b]=F}8-/ =kxjO!ȳ\80 6ѰI Ln'= !Ck|hX#"fh€ 4BIfR)zMq"}nڤPTV~i7BT o.NQAt~v47>u ERl )RR>V:n+ Q[T,Q-2B+St.2&yGqiPKʍpO3*Yword/_rels/document.xml.relsAO ໿pSb&;xX%-7{qJg@Hmh$j}{Xpp7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOw=aНword/footnotes.xmln } {CbRU[>0h v g*]es?P@Nd2o5TuޠWqT{[qdZ[`BC‡#  @=]Yq-a/`) (_ _ t-`>tzeBÚTJ:FfJ/ǨE7m qhC\YKbfV+tloW0Nafj&xe&^ jkV& 嬸͞'OZ7ٌkK٭ʵωd_jYfg!57E55( ďUIAùxB1X4k7GmD2#Q~.&e~QzWZ%#:)8;5PKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7MAword/styles.xmlPKʍpOw=aНword/footnotes.xmlPKʍpO 2<rQword/comments.xmlPKʍpOY4pH[docProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟;docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: Bword/fontTable.xmlPKʍpO%\  word/settings.xmlPKʍpOTΜF"word/webSettings.xmlPK #pandoc-2.9.2.1/test/docx/golden/links.docx000066400000000000000000000237511363630463000203260ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOw:#LK word/document.xmlVn0 }Wzw0u ]h<(6 .ɶ&A}!MEd h9,T,?O~e*%A崲Vgij 3=AwSY),5xNT0.iD[Efn*MDS9]T"xʨM %%lcyc)h3EvNd%2w W x/uxN_-C|!MTjv^nOvUqْ9!%.]M 'z[^te ) P:'L~%tY rf4+F0KϒDҸ8ÆmmqM_ǣ}h!!Ny8fLvllÖ.~/Fp.' VuAHi9=;o\ U7poRo_Y]|{Fb+@[M~/PKʍpOF word/_rels/document.xml.rels]O0{ES]a0?lgaiڃ¿5ƛzټgMt Pż8bV"͈O'WԒ[V2F٘DQHM# M!L71t;䢓%{ ig4P0r` KlKx1 ?ێ6+3:qhIu{GV[C/8Ǹ(Rn>tV|F1sP&SWjKqڡ@,ps;߀Z Cj4[Σj[_Q|PKʍpOrSHword/_rels/footnotes.xml.relsJ1>En{BW街>@&LHoo"<79x);VM I<==fYѫRWu1zC[J|2kA#RMNA:&#'ePvm{/W WL1]"4XXJJ ~!nbR``Fs7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mw word/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpOY4pHdocProps/core.xmlPKʍpOdNFd\docProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ word/settings.xmlPKʍpOTΜ"word/webSettings.xmlPK #pandoc-2.9.2.1/test/docx/golden/lists.docx000066400000000000000000000240671363630463000203450ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOb word/document.xml͖ώ0} ?ۮ*lVJ.Xcݷ!T*"5 xo~cjYd%'3%VRrg Nv ͆7Ι,lـvpрT~86kYnXL\P A+/6 sޑf%ڭJTeEW7$- qIeY8x赼x>qo}#XO4 {^9 b쿔h^ g%y9+_L 9`:VN!SfֈG 5lҌܔ$磮8c]D}~[L8Ylf[ H`A >00 p=3 @jqǾ+$$Ls ;^>f'h~吹(?a-Ǐ[ PKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpO*'word/numbering.xmln0 6D%ԩv=ndLdH{= l!Ŧ0+}1?WSL5i0_#kIx7Oכ [3E&\Ҩhy֌׷1Wm$?]o<7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7M word/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rRword/comments.xmlPKʍpOY4pH\docProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟<docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: Cword/fontTable.xmlPKʍpO%\  word/settings.xmlPKʍpOTΜG#word/webSettings.xmlPK $pandoc-2.9.2.1/test/docx/golden/lists_continuing.docx000066400000000000000000000235521363630463000226000ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO'ۛ_+word/document.xml͔j0 {{뤇1B( s`[FvuO|cJ,9݋VQ#I0I1PHsauGvͶM GHM)u5Xa:_ ^L["p\ӊnj& 0zRr _.PwJZhM:VZr_qHLP4)B\3Yx xm ?~tg(.rޘZR5*jӆtH'I'>3,Ä2.2bQ8 C22^,>!A'V!TGbm7ziNp‰8N)}oPKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOrword/numbering.xmlݙ]o0+].|$*]NӶ8&H IghGZQvE_8W9֞eQ'b?o_~;,.]B6[r(l*_@XF[rLȾHi%o =j9{jE}myVֳ  PbӬzsިf xV`jأ`B0s[ƞ &0gUHF!zϮ"Z@0<(7Q5겢iڲ1k>w hft0Z{C3ސ!! BoH ơ7orPC209 979!o 5j@n@tf@t'g@t 'g@t 'g@t 'g@t 'g@t 'g@t ?/#^_7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOEL;word/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpOY4pHdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟odocProps/custom.xmlPKʍpO= *word/theme/theme1.xmlPKʍpO{H: vword/fontTable.xmlPKʍpO%\ Aword/settings.xmlPKʍpOTΜz"word/webSettings.xmlPK H#pandoc-2.9.2.1/test/docx/golden/lists_restarting.docx000066400000000000000000000235521363630463000226050ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOr0^&word/document.xml͔j0 {{뤇1BB) s&̶$~r`! X$9r֛A-Ж-C!+9!Olһug+% Zq9Sjy!K0BP1׾6Aږ$]=UdĨ)XCp.dm P#jJ`!w *(;Ekp;4`S:ː5_) Brk O$mkgM3RC)k4qdBQ( ~T~Bck 1(ZtE>~TA[0*O_N| Y tww^:#rPKPKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOmword/numbering.xmlՙn0Rcc.JhfpMA@ۏ!61o> ?ڳL24Dʼn؄{ K׬͖!!۪іe99+RZbYE#Sm{0KIeUШK82eQFl,Xw;^%?ٞտAM+[a|e_"/!8jǴjwb/>#j9{n?E}myVֳ  :pKŦY5QoA( >V jQX!j9ցqFS`q`@ 8; |Vok(0Qou`Q`\[7rWe P3J\&QB]V8->]/m̢$ޡ.! {oF 7$19  @jzCf 5!3ސsC#΀AnQi        7 1p ۶_7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOEL;word/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟odocProps/custom.xmlPKʍpO= *word/theme/theme1.xmlPKʍpO{H: vword/fontTable.xmlPKʍpO%\ Aword/settings.xmlPKʍpOTΜz"word/webSettings.xmlPK H#pandoc-2.9.2.1/test/docx/golden/nested_anchors_in_header.docx000066400000000000000000000237031363630463000242000ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO  word/document.xmlWn0SXܧ&ŤUK'bNh^f0m4iڞG!ВMh|9;'W4 ,$llXG}`xDll|8yqD)f h&|l$JeiJ` 0b.(TU̜(a)5MMwL 3j1A>@D<D*M\&$ sG \X 6Mw.x."қ^=cD7Rȣegr.m)yxaɱycr~I*(%ذuwY|-U(+< d6X,1)u+*Z,jŭRCgfdav!C ם,zI%jNㆁXl5 xmiZkՅk] |p!f~u؅ΰ"xz^Yp?b1O#, lJl~@ҳL0(egK[‘7x!( m١XvPߧ1SϺz̋3=CM@;MHx3.7Zx}00\6ty얅Yl;{°|d)lpJܝ]M18t=q[*VUR|2 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7MQ word/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpOY4pHdocProps/core.xmlPKʍpOdNFd6docProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ word/settings.xmlPKʍpOTΜ"word/webSettings.xmlPK #pandoc-2.9.2.1/test/docx/golden/notes.docx000066400000000000000000000234041363630463000203310ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOvjword/document.xmlTn0+"!aH(mp {_l-EQ޼gObr M+HlVy=e ʝH0u[^NvZ$-||mK(r1(P%} J*B NYհb;2HF.^+r~#HlI%3aI"7@2h~~K)4)S|7PzﯫPKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpO?%word/footnotes.xmlݔn } =ɡؽTT < `b7o_ vV]o+Y4 3MAf]pVa[_;~_ƲE$E XȕBՁal荤obD8 B@ӋmQ #,`j,f⡗+vaaޖjeBS(kv r uXNMrIeo봺]t 8y}%+! 8%1pQDY V|e1̲H83{$B>WqĞa,4h~|M!I|ζU)<~(iT C?3E_GoEw:H&/Qiɰf³E?PKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpO?%Xword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpOY4pH)docProps/core.xmlPKʍpOdNFdwdocProps/app.xmlPKʍpO煟 docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ word/settings.xmlPKʍpOTΜ"word/webSettings.xmlPK "pandoc-2.9.2.1/test/docx/golden/table_one_row.docx000066400000000000000000000231561363630463000220240ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOXywword/document.xml͔N!>EýeM=Fk 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOEL?word/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟sdocProps/custom.xmlPKʍpO= .word/theme/theme1.xmlPKʍpO{H: zword/fontTable.xmlPKʍpO%\ Eword/settings.xmlPKʍpOTΜ~!word/webSettings.xmlPK L"pandoc-2.9.2.1/test/docx/golden/table_with_list_cell.docx000066400000000000000000000237371363630463000233660ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOP- word/document.xmlVK0+"[{@(tZ"Ω3i ~DI8R@Uz%g#Joz@')b 4}yz;{n`(㊡d܉ m "5,-Zy>U溒E} m)! H$I$x* '6u͖CSD ̈́E`KBBZa=-!c2~SV<:ܥ7'p!8q#g*ȆTɞx}vڶPV?8)߽WCYGH0ap Ӥ_bQ$3| iYďIGVɵI [VcdWPbqlb 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpO0L~word/numbering.xmlݙMr0=.k!!> .3t.ȠHNwCoУ$#qh 0Ya3?{-Sy ,&4N*?7p=pɍX2-!.fњ OҌI=w*A }Vp8Si\g m{PD֤˼P4*nuvv`: 'R!ʈ)Em_XTrtƷ\%F܈NXn8g1xsqsTrvWgUy(uП4/ZFc\"KR'$5jիJVWq# maA4LqgF60d hq ;n{yƵ7m߸3'~M6(qɒDϦ~~|TaFb֦36UIJMUg$m:#mSθ zi>rGuU/n̢DP~yu?ɸ 3 6اwft0j!^[ΐ!>ΐ^ۇΐ^ΐ^[ΐSC5 j7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mm word/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFdRdocProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ word/settings.xmlPKʍpOTΜ"word/webSettings.xmlPK #pandoc-2.9.2.1/test/docx/golden/tables.docx000066400000000000000000000237541363630463000204630ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO Vword/document.xmlXMS0Wh|qxH>h rVd9Qߵ-'ҤŊݷooهG$NzᚙDq?q; ?Gwe+vq&YEMnd\\jv&5;xJFއHQց1i*?Z vS%LMDZ4rc*q&7(~h=U][ZփYbifm^yzerϚ`BdVY}p3IT N+$Fs1SEI?8@I&!Ip܆֔5f׀cQޙۂcR'?A % A}<:H,%}[p,1rĆ:68߆܊Ļ4l3tF [k &_ZU=aq,XЗI)/><XUo(5U)DJ÷\iE;'uGh竰5naDȅO:MN%/𬣓 zF594X-܄( pkDtr縔NHg 1]ك:R6\EYD~Yy~4_yVG%t&vW,E TJU+uK_s "-^m][~OwU[7YNcRS 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mz word/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFd_docProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ word/settings.xmlPKʍpOTΜ"word/webSettings.xmlPK #pandoc-2.9.2.1/test/docx/golden/track_changes_deletion.docx000066400000000000000000000232051363630463000236570ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO"̠word/document.xmlMo +wuHM/0̇ŎUWm7dyuL6W3:ۿSc;&O, |*D"J&S &bАRNl|NYgjxX .)ʁƴBŏU81P+/yZwuݰ7Ǥ- uKdEzwx ow0>rH9sN+;`C٫/,ꭸNԅeJC#B&?NK-S&$5{B  =(c7rPbsæ_=Șxǧ~x)3s55,[ܹ/,Of-shK!ߧ]PKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOELVword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= Eword/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ \word/settings.xmlPKʍpOTΜ!word/webSettings.xmlPK c"pandoc-2.9.2.1/test/docx/golden/track_changes_insertion.docx000066400000000000000000000231641363630463000240720ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpODn2}$word/document.xmlN0),S d5aXWgsvƙ6Ӹ=n@z*Ev뇣l5_.$gMh͟uVm0Xr;H"Dli*9`1H\/VR ] 580C!x-TOiЫ U9k0ΔiO]^ ا }If-My5W^W0>|ț2H/}=q\68nj}͟,&h{ԱtY4kn:.G8oM<eKIIW5bk}*ٶ\ ^^PF j!_ VrySɻju]Ju#o(Gcc1z`-8q_=MH`hSyPKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOELEword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟ydocProps/custom.xmlPKʍpO= 4word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ Kword/settings.xmlPKʍpOTΜ!word/webSettings.xmlPK R"pandoc-2.9.2.1/test/docx/golden/track_changes_move.docx000066400000000000000000000232261363630463000230250ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpOub9word/document.xmlOk0)PB1 K)KOa^zSI, 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpO{OHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>a_cFIo }oPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7M$word/styles.xmlPKʍpOELgword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpO{OHdocProps/core.xmlPKʍpOdNFd docProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= Vword/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ mword/settings.xmlPKʍpOTΜ!word/webSettings.xmlPK t"pandoc-2.9.2.1/test/docx/golden/unicode.docx000066400000000000000000000231121363630463000206230ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO/$S)word/document.xmlN0w@IbDy8CwnBW&Vx穐x "PUɺu|_H-5)F1%+Iz9l$[-'A`0iRZzPRs& p k,+vWLse`lQ(!C#ė#Nc4-d@M`~"NzFEGۦ ~Le9:%N ¡Ɲ=EYX{Z:]%IԼJR”Y6c0ADžLjIYU|~~ 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOELword/footnotes.xmlPKʍpO 2<reword/comments.xmlPKʍpOY4pHodocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟OdocProps/custom.xmlPKʍpO=  word/theme/theme1.xmlPKʍpO{H: Vword/fontTable.xmlPKʍpO%\ !word/settings.xmlPKʍpOTΜZ!word/webSettings.xmlPK ("pandoc-2.9.2.1/test/docx/golden/verbatim_subsuper.docx000066400000000000000000000231721363630463000227440ustar00rootroot00000000000000PKʍpOe݋ q&[Content_Types].xmlUn0+8顪HM?1Cb/,TU$M 1#&. I82}.^6L{!^RFt-Bbkt++w= `3,0zF,zj* %RU~ȍ؋%{Zp{x( oBZ-,?b I#6ϕR$B >]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPKʍpO=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PKʍpO4ns word/document.xmlݖo0+HZ,D0یgk)ЄkWxp#̹K_H}}˽(Jh6 Q$U)y޷Z&&J6pDM kuLfe r(H5(ʌqbAD=F ,㔭<c!JbpSpm?cࢌ'tJ `fWa]X lcc rodantWÖ|PKʍpO/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPKʍpO4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKʍpOn"mword/numbering.xmlŖ͎0|Fffكݷߖ]= ^(ϴ?Hg\ZtY yU򔁯5겔80ézy٘z LP=j&X)ATU3m @AK 6'=hhn>7Mword/styles.xml\[s8~_%ӴCHfmϲ-@mye9iׯJB:s>HFɻ}ϸ$B8huޚ-vQhΧozpGF3srZQۑ> [`ɲ +> h2~@P6TBaz{إLܐ`F{i>@A_ع {4-IF)o̟)hdADBp"NDK͗ex-M"9`0xs;+,5lԋ ofRڥ8dHBQZ8(a2a T;-%QY8fseElu r]r n#&gkg} ٸ! `I@>)9ßkWޥ*bYʰ<8 7e)`ŀ}T<$G.j@NC]dH٦ lf-c&QD<+*!8qD)"V Ck#yLŸ Y%)~)ݾ({x[6GԃbRhw_yZg P{WY 993-qHgP(KQ81kۨROoU)Ӥ{Nu{gwt9+>wS4Ve]UY’6*aMtdSt;jnT.+oC/*DjڅWʉȉ)ȉUo&ed`^=#Uێ(}5keהdRL8l?{9]%Z6!sy%݄HYfY5KD9WN϶[1h$Q 5Kh$њDDk)ihO-I5v_Dџ$3DNI*$EWeMgAL'D($F"E8<&IE8RptaMÓΝ 9S QpY \.m6xNr?m*O1Pb;W} owRٽ>S}#-Q_[QӦ_K)\1J|L\j{M?dZNszPGq峉 ]*-mL)w3g[;st~/!li%]%U]1EehnAoF暞oK{ݠ*ձ:O8``UT[6'q%IiG ;(Mtۯ8pd2*c.S ZXJXQg0p)>H6eXu7!$bKX}DGz/A^X?0$>;ofG:ިf:3lgTVT&ȴFK/܉ Kvq\_q(y H 9/#wbA8X%הW8Vc5rPKʍpOELword/footnotes.xmlN0 œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPKʍpO 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PKʍpOY4pHdocProps/core.xmlN0sE(`D,&qʰ^ȝ@ z~ RCЀы!xS8ƃֳ8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PuAŤDT>Y>>!g,g3>)nj/@tA<PPKʍpOdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKʍpO煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKʍpO= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKʍpO%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`b7Mword/styles.xmlPKʍpOELKword/footnotes.xmlPKʍpO 2<rword/comments.xmlPKʍpOY4pHdocProps/core.xmlPKʍpOdNFddocProps/app.xmlPKʍpO煟docProps/custom.xmlPKʍpO= :word/theme/theme1.xmlPKʍpO{H: word/fontTable.xmlPKʍpO%\ Qword/settings.xmlPKʍpOTΜ!word/webSettings.xmlPK X"pandoc-2.9.2.1/test/docx/hanging_indent.docx000066400000000000000000000346421363630463000207130ustar00rootroot00000000000000PK@!^E_T[Content_Types].xmlT[O0~7?.c /r`Uh=$fY@B|״mUkpN$4E hHMx5&l齽*iW OVOQo4ڃ9X?B.VuBp<{T„ӘSƯdܩ pET7e<'\,Jy:;0Iڜ9cFق CŪ_܅&@}V3Ȏ?1PK9L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK9L docProps/PK@!E&]docProps/app.xmlRJ0 Cݗ>E<9$6&!Yn֪7{ڙM3Cmt+lUSWu0:8LM\=O!b"b 7@OzQ=oFE S/BYAI6ͱ7BoYO_鿢&/?zZSt+h1R##g, B2Y6 .& 1:qr診Uz y) [/Ү-!X?6TT>Z9S.#o<؆˒s\Dz4l+܂-hk.?w}Eqzr}j(PK@!`7\docProps/core.xmlQO0M2bD͞\btF[mo[M L|]-28BAH- RIQ-뫌)OFi0N 5[)-!s\:[`G":!9`*8TbArV5.Zqt[1뺎ꤳcz|F lwg"Gccf:e;%~+~PK9Ly'docProps/thumbnail.jpeggTKVAT&UE@:RU@,ЄTI$4l"`B$ H( E)Jgms:|9k>]3\3yرcw¦S5'OSނ!4WP,Xa&>lyd ޾u8ި4,&Ѹ0UUryb}{0czazZ0ծ&jrQ-T9a|oތNʁLPTɰĉ!*?t\)}=xb55%z?5e*Ie2%6DwtC sNE: uT 6?mϭtý(C`W'GbB@mL2C34 =ؚeqi /.OԇԆa}x}qqS>?Q}m 4ֽ>l?;;# ܟ?hl9d؝@ #%vP$wMAMbYD5+6}S1 )ь5LlxëӼlNUQC(R-RaxM("=]q g%gND~N/Kmwz -j~ZNNE婟㱞w88ȾC Y/|#)7>a]" Aj&t O*`F#k-KAM{͝QLY\e-#>p~4LKP[jn,{=BchS;g%-VU9|%kk#Tj!s@(\uO*@o shǞ^u4B H\wIrnRu-9#oK"daM0o-|Odo]ssҲ]B~P2iWAzwc,=}UivR,3Jxxx^<#KTf֖b/1&-U Knk" :7Gg7M\XyΕ^Vhe(6!7dў<&2 ޡGiz߈youqM5}z,|k@OX5U*%} V'[b+J F|7:=YBAIQ1bZs[G={Ìo vVBgK$枊  ]i yKk"gZʝwkn︥wꦫ=ӘWjW6z&gHɻ.2qR}oӓ"D8_q)ƕ^]t]q8Of; uAlxiώT-Z`:j~QMˑ:_Bs:E:^.L] aLӐ{_z(incnFtFAlD}+GSG)N!gSmeŶ:Ƌp9*9hI$eݫx/{WnapXV|X!A-p3cUvCe\HEIahz,)x5H Q?>w%lh]ϵ4 jE>Zw yם)PQ \}UkcOnUy~61ldD|lϳ-[r`sQ7a26mR˦)v,,<_e6)&R{ `XXL)pCAڳߎ|DS 6FOap:K/N>}UScUm3ϡMH{bd6՝%=a? "Wk*'8NH.Nާfx?}mb^þS{/.34gx^,ʝpxoBTҹ gU@ƭ[-r=Ҙ֡[hCO#|YfiwWj$囓ƫgz.|۶_䳺}^T>\s{q F$aq8Z%KC4kb]ˉ;-0C+rZ2_BԣT *rŰJeUxvEZI5-оyxTr]h3`xJ\X('~ez`wӛt]r{ t<|p{Kxc}ŨzF[:zϦڧ و :w5Q'1rƆV鸁WrC'fU8~Kxi5ƺ/}9y6p| ђ2#E`)ͩW[7>8 'J32SM3Pl8ϳGKI_EԮQIW!Idq{se}?!]4 _N7YYo ]m;,cD\[툢bAݺ"w=vyFUt-7UD%뜵EL 8. A̋zu? <륰)vpA wiD_2櫯 KvjwL TDu;ze1UQVq4W+]T}@M5*"* Ы([L1HD],Dŵ[z:nfdo AހӋ.e,wa4Mu ]AV{ˡmԴ *E)aDž5fd%t~P"+FMQ}h+|@&҂_AbCՕ,䋿 4v%V[Lfպylhɒ䲈c6G@3ޟ%8+"A}0i[EŽo]ӉuڇcFbVQVye߄~oɂ|湤P2HdSM]U٩VqE/nSm|Yvuɼ#TaxEu8QMI@ḷtkUa'PJitA5C!YҡGIuH"gI^S#Wh ngm7d ՟8 }u}UA  J,޶}[aP~lyVD4A9D3:~΍idQ@ԹXZ!h9}AϾ9x yJ;y4r ZT CMdȉib' ձɰES썰HzQ.| >Q)@KEwdX+ZZ v`TX*I{ Wx%+[D@3=p~d%# zT:cڋSeOӏ Z,[i`ݤf/NkzV+ $Hx*Mky|jo\%N(<Y6B;xmtD.ih mRXN$'m!#2]&b[^-h"%VOUvNQhZhאô[Ԃݔ.yazB_P1yaT<2} 33;<n+4j\i!h%rsik!]ʗ4O/l~ΡFor0KLL=ED PϬX6K j"B`Ȍ!rI*lNj^Ӫ=|yQg,GF͡7[-;1so\X~Ixݺ#5'#j!_PdU|q%FGӍb{4iiUi,[4 Uh@XCu]\aFng_M?َ$y!1gBR+K>N7*ԔuJ0Y!uM#Mw \Mm7.WЛn4(MeAmͨxOX<. k%wNnq絸$>:chτַ&ݛLCy`39xS.bWOXfraMlv)і1?z^5pVqu$ҕqP-CE5~?S:ω#AkݪsN$*ж឵IyPd3o&Q1m>:ك㭘dFdu_k1=nl¬N1SsJU` [г5̅Ӊ;05PCx2!(M:cubjf`뇉L簗]5~]J1Ւ2^f%49'`bps`يXYya ⓬FUٵf;z/ 42@I(l|6DBJ#ޭGYA'v!׋sي aa\ɶ0bD䚎_kT%h dw~҇C7㵭u!oV\C>6GMg? ?܄3;cv8/0c-@&Cq 3|[Л%\:4H hu.򞽗rIôjSV\-Xn)%.+9bv ](yb Eڒ oh&IY6Nи3GVMҒ;dd7]w~faJRR|̂$͐>;*w =F~ͿZv@l(/ha>KB\YxLr[O4i|m9R6Q Gtg?3 =z}uBfN>aWdD˥*R(2v-f-ύàCe0G2 qntuu5raXi7IG͵'v.mEBCn T*A!Z&شɨv'N>ܡ.一OۻչHnU% n[Ri91)-2ӍkR?.,^b z;X2"3FYܬx _*V:~MfVsP^RdS9M;c˓{,p^+:[%PYMNeZ3>ElʺE qȨ_VU6-MT^IU)!c bD~+k7$zAr EEX[C2j pBoء2yE7LJ\uuީCK~'W6k% ?^  4ժ YUC(B&Hύ%Ur=-Wc1word/_rels/document.xml.relsj0E}-;}PJlB E?, `hu`r{Ϡ| Va;E@g|ݻVsA]w`DMyy~D9-Qő98ůUyRPK@!SJ<aword/document.xmlUۊ0}/N65qBB~b˶%il7|KJ’BX9shdo~Ȓ4XULO WNcro(TJxLҧw6JuRK 1-lRpBh3X$Zz:D=ɒq Go8t3m$\=#g@D)>4imT4p''BQ#Ba0]C:y% ؿeCc1$mGڤ wqb  (&G$sTr+m .`-vؼ'X6Oh%ZW[ѸA%w肩Jn^{)%02@ H+ Pp Fr /xeFz5B&k\w ń.Ǵ U0? #V t^1]QN#\=x|prX~8# Α̎ȅYc%8k27FE&'-pΕQFGM\fP1GGJvl29 ޛ_oD$Jz]=#`xOxATY%}B{7VOG݉\P۞Q:*9z>aCJ wցZl R4&s@6)TG92zIͽB'U=$v$-L>Sd59"jP}GDό8|'.cH#\'5w/D"lad})Xk Y[靅aS8YY-XkrZ Z=Zmx4oYυОK-ה+h}ǧĭb> hr; -@?тvJZ܎K ι xB87s@A;7,sQ,@n/+ pc,@m7#x@8 xEoA4oG po'x@8 ᧈ7 xXh `7#x@8 7.fxX8 7#ރOoA4oG po]<poG" x(h `7#x@8 7#x!x `7#6e ը]xk9o5_tF%!ѱ\'VoI0M&2Ѿ*/.)poA|~rfOTUEhOa\_6e5-U~c:ࢎt "(BM uuRYRKy|~{7<]T~ ߻H^9biR}ź.9RbX*xѲ*e_ !jr/Z*'A!X5Vlky\t]"af=ѩyݝSi~n;%|}oᛕFoLμNgw9|JOA:gQ2xsSuW&E\+!5`F&ڛlʕsS-$]Acղ>1)_=<;~Ç~6HKzG_Rgtɋo>Gާ!9D< @M`KlDNd J[c̰& @&{)j psĖQ䛍d3S(^&aPr쓈(QZ6u|=ژSҧeAC Ի͙I&9(#aU`fRIX)H1*097n)RA}8zDJm1.{\m6H 9ב|06L@~$E1/d urߥDmmߡ~`nH]bF'ql/_|DJEYpѷs7(!)=律h=/KSnCq/\xBRԘ-LT8* p f_}b.`-ԝ%)9 ^6]/tKP=Q3V̀KZ:fkΉl-NՕZf:3%yLKTh5 G Z|ɦs&'.&ɕ$E:;Ss,e a dQrUkq&UsWU+΢K&b!&A&|M9$Lެ^س%!qՂ0G;D6ndQ _ v#o+,pM<}.|HG{JCqP΅SgKB mY\ u{`Y$.!|YJH.t**yx/br>7U)yvԒ]_͝?َ!ɩ痨C܏F|plo=gIJ({iG&3J1t!Ѥ3)6@{!X?]0O7Bvp!1-ΤM-gEbl )3v)[PH::9eylS#%pg3=mPK@!Yiword/webSettings.xmlAK@BC{уHhR RoEu3ivg^y|+L=ZhO.=Јz|b>Q0ln6-1 IWzXT9 f/;^d<ǀ3wW3%Z2HN?#`>%'&>GmZ|PK@!^E_T[Content_Types].xmlPK9LA_rels/PK@!' _rels/.relsPK9L AdocProps/PK@!E&]docProps/app.xmlPK@!`7\docProps/core.xmlPK9Ly'docProps/thumbnail.jpegPK9LAword/PK9L Aword/_rels/PK@!>1 word/_rels/document.xml.relsPK@!SJ<a|NYQX%*g!g ׽ bBjsV"Σ,9* F 1B~1VKg,X{n 10,y\Q9WZ 2|.@Vmѥ+MO,7>=Gk yd C |ɉ!Qvx(vIT٦bkXH<Ĵf.1( Foa~ܡUH;͡H#ˡV4$AwټoPK9L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK9L docProps/PK@!ndocProps/app.xmlRN0W?D""4kJ#{X8eNHӼ7ƆW/aWo7M]Q0Ѻ伮 cc]}R_.DJ$BsPF,it1sb9C<X6EL=I`=+^WEm4ihiLiolB}F[wSǘSPs3 3ȲY}L%v\ݢqcIHEm kix 8C_qLDN-=io#UG! uU’_$O2zw>7>So6 {$i_PK@!aldocProps/core.xmlQO0MKG70D15<Ib46mlow_צ};(xBՄ/f- 1%XLL뫔k /VNޤ0fBΙRk(<|qmO7ltEcZc9F+ah:#9*fkZ 8 Pi鯻9ر/ٻvhvjإcر/;ٿkٱ·;;w>h]{wܷ_#G;epl[mogǞ]ܷm񗛝;vڽc]h{3fe;gH[CܩKTg^Qc;)5:j~ ٦ XoZ9w{? Z<Z~ ŭX1g\TE{ {5:I-dPτgkF;%JsBa=GxwV㠡+̄SBPw򵶸TďkNl뾢(Q%bL3ʬ_o-0d>AZ>!#G'lLRC(oE>㴉AWQ>1K`xVT\Eo 4'k ힽ8gvx 1 \zf̋Z~o;zn IƌmIg9m_BYAv"hYnM\ vF8  Ae [.DZ Ug3A*TLq@9%,Ԧ(esS$)7dۨ% ҄nLFP%v{j_r_jmG%ܜiPH Ѡ"e'/m,7 "" bƹtǔͤEW:*̱iNemE4*xJяU.~ 7 v-"QDJB42e6"iYdR\DZ_I(}ki%(ciR>K*M;`~xqJ&1{ sЉ\ I 0'}dTPaRUkv[-S"č-b("4 bŎ-)"!60N"nQVQdrUP{Spc/2`/5`WrZпeǎ(qD,bj -Oq#*(F-/]kD5u #*hQXyfp_لAש*4{a#=ATax9EvborP(v1 @?+R;?%rX aqDO`9$ T;K 9I8'>J5Ҟ;"*ԯA Qko=pJ™l7_ eU!& `7!KgġZcRRŸuva,AU3mQ},ᔏ5[dXB*9Q{ϗ4{ )r7_Ό)-.d-Z)[$ m 4u)5g@9Oz}us&e ntH`{6qe܈ŢBdxmGe L莫Ig[Gߐi g/NpS%۝U/x]r^]]EkY$e N=cۣYǸ שQ<9a+7;' qOfd g2VdL6V$Y7ha&~irr΂jxq*!EG4\#FJoZFJ|QT*xG;.tkSc*# "#ⰜL%bB~fZ贪akpb A@Xȷ˸ƭ&^*+0# EÞqhn%ìP!G1*)D!;6RYsQG381͇E?S+r#T'nW~xHdyYY>:$-^d|t,!~Gާl:XUYQV[ÍѨf,_:aNl{[1xW\8j9kCu*|pȶׂ9Vl8s,.*}9- Tqvu~pqڤ=I<~M*F|Ɗ_Q 0om͆4[^=oJ^K u)ɴ]K9tI%W|nJ=53u7T& 4pTxtt]DݏpZΞD?ofzt@>`J5 ҹg$B&ϫ.u3+JHZ7լ16kDpXbf:X)_~7QHYYOĴx|,W8oš 2,⋬ {y0o-MEMdkJ@{= UϝI) T ~ m٭ŽNzr.[]d'*_Ʈ ] ] SDX905=?oGm!}UN+򙻪p"M-^ Bhe]9! r\n41b L6P-kK͟׆oELs1w?ڢOA-NJróTsu[rp\/;4 c9첈v}Z!^9\0 3c2"ۭ7t^N]K]bulG\;zrÒ_!+s(I&E^OI2 aހ^h> ~G^-Q'1GqFows;o j7 ۥ½PF^[hADYx+ *Jv)c/҂Q|6[hO8c}@ ť 1Y0ĸm4Nss]jY$ޙ2( .Wop z慓k=?w9-\X蜑Nq3ǶS7w}G (Ov,r VAKvw2R$|vzM{}Ѡ'ygJQ:8פԥiӭ OGfSqfw`̷}vKF+Ugq1YKgu56.M}^R,8/ o^Ғw̺x=*ɼcS-kvl-TĎYȌ I'O?|ɶ}CBtSci8ު1CL#JڅjA^Rý{ Imoy5-GG ˏ##lcm`rg D,pG^U:3>~ʷU3)W{1EdRkzʄĶ$kG{raf<I9B-@b :l$r&X ζ(1H+*s\Tq=0YfOޡO Բ9SLTam^LJu]]jL:~Us=2թ5%yhncn|P y/k~YȖ}mNpu.r Rw5$gLD F*h?^|hM~shmѧXp]i^lS->{cEGr7d7F@D4[nu{ʒMVq|2Y)Z,/swWu%yP)?d&SШw/%NϤlw$w~u>J뢣2V?b >,^_.asU+ +6‘{K֮IY^MD*%JUOm yDT#JQ~A] ]QѼao.5A *qE!,mqƖ>uSvgc0usO3+Ͻ"rH/7ͦ/%J&),Bp& ?FUǕ3dIݝe6}Ov ;xiEY.NMeC OO-I)uؤ3u iPXfߠ'n9#},}$WWxqFQSui{}[N' ]&B%^ZFپcIDz|{g?g%') /Jp&爢$hPpP:\}FcqtTCC.Nt V$R7%GՊ1݆`L qD^-|m~^{GA?.WqfcY9=vXZAG{Kuv"ڮb&skW '-k}ۨ }tE8;߆uy`0ߕV,.44c !VfH#lMDS6ȃCfi\~rs{]Qu]4$׈NpgF1*nɚjO<[ht{JF-9bʥo9C05zxQ#O$,v[P.r8NC,%]_֩3[܃z~KyhOwihPK9Lword/PK9L word/_rels/PK@!huword/_rels/document.xml.relsN0HCw@AN/+qvubۑ1BgV;YZ/I,< A+]mi}v I aK8: ,NOKmHb j k4"E'y#(J_VQ!eٜ~{ɪW9$d;['_ Z`BBsҘlbJw<P1)A0~1w{[mc GA]ّzw)J3?_WϚ;PAyo`{PK׽Fpxz- word/document.xmlWn0 }ƗI`)l@tȲ- IG͂ٺ}D<::)zgd%B\JIŘcXJt+ w"\(KB`]^.qcɅ9U18GV.rۮcaVY ~٣yd)+y9Q"CF8)H:관h[YXݢo!upi;41[f G[:CLWn31+`e3rv1Nnȃ0@L0euS \pP"V"{  Vll?(C*uD!18(,MߞՐ[cx`[cKӫ!Di8Kb#5lã4$z+"b h3}L?Z;toz-#S__Y9y:D$E$oV|DIґ_1Vf3)uL5?-ZF%Tb&-GtFխ/?gPK@!BMword/fontTable.xmlSn0 (YI#rХC>MSQ$eǫw>Bѡm d+3%; % <]\^K̘\Ep5MQvCuDMЊh,|q1Z9yep쇡vtsm$q4P*O%q|w0 54眲7V)χ `!lsm&єY o擄-MIN:wxLs#O#gR@҆hDhHD 'P-6#"E8 >]|Fz#-m7ΉbAItb%˧P-g(EIHnU>F9f}qу8_H'zNx9P<ػԻ&Qܺ#co[adH$WjfJV> 0&hɓs ]g);@˵'4tf|~\'똪 l_>s ΑPesY͓s&l6\k'nFSc9^ra,yҠʻC+Vwz+D<%oU#Aq m {n?NOhw~8<`PW`-=@o>]!p+BZꞗp\ۍJAjKR`u&#S/z]8Xk@ JX|L"|jXFGVN21*"BV[raEʡѮiwM"Eò< 8x6PP?57wP`$J+]oA~s$H7ij5<;.Az,R]cA?P[?*ٟ, H"oIhhU,ȅčCyi- EWGSm:քz%.dL}!@|bYBp 3IIh )#fM{J0g 00aB/ǘ![p `|d2^ #OP[J!vy2.fE; uda6.*!m(=DUJcpQb Xr(!R'**R׸@l8!Ľތ n-E"`.A\>w;-ioAj~zO7(i3^ _cA,,8ƂV'g;<'>.%J؅^@ /j &>E,0j RPP#1$LPRQos$2VH<,& 85!&0/+k;(d;J`g!=(7^C}:Z%5bBjSpp},svTPŤ% 0,Q{JY?$V)p5QC̩n?DDJg;9yOtwWٮ`%],^p=ry;|U%Pkx 9iW䤙Yos@3^=N p֔T7tamAS59Z$'^(qt5J*sPhѬuomگkuUI&uJ{|H^?au!ۄ8ijܥst~&6c/@@ۛ;Z 5CDw a!{h w5 Ѿw { EjmCt`%D *ZuL楀XQSi'KYX}+ҜﯦpL8#'8ZO1;@}Wm9eM mFr[قi,ql6 Y&њ [ml+Hӯc|dݗ%;ǧTHñy׶-cؾ<ږItl?SioW#?TZA(G8Ft4 ]\%\l\Zqᵜv|wvF%v.0oqN=T,,|# U匋Q<( 񸈎ψl|?k_rl/D8|qh ` 1?6 4-$䜻q^KP_C9gz^MUs';UM +v K?N0#Ea aG| >g3v>4fפY09 뇐 2UDj-Mw,XGq+)a,ՈH;04V5T2YynҕF'1oU$vzyə-I~FTDMNa+[kQ%$J&Z:#&m;- %c$+Ѐ]1ϣzs?4[Lޡ̣ ɔһxri5MՆDWmr/:`#;) թ~蚻虻86w7w10w14wqr1w4X֢4(DE)j-J^kQZtpI\9}Z+@Cdߺ%<- (MrkpZo<΃^ɸyEW꜃_οP-|h~#z/D t? 9?0h[￱Ҝ{3s1[`y4~  _?H$-N]Wr䩁6j6`Kl65tdm4rcYXb{ oL_aLCI-kmẔd6- @/_űll2[.pM aPMmWdcG ~1 @]o G pAPBo G poG_QpxX8 7#޽7oA4oG po\!x `7#xx( 7&x@8 7#x@]o G pĻ& 7&xX8 7#x@8 w=O,pj O-ҩyXi4t') y тV$Ŧ>1cά+Z9^·V[ׅ"j?G_yKg^qG SVĚQSbbX*gܯ$)QC-Sgc^cDۜe5RFVn 2m)*~+a!ɓLOh+)qF7$/bYl2/?\zӕ޶,חt4{ GOqb&vb?N/ѩ4+Y_K6½${q0d϶&rB9ʄ ջv>W%N8reӭL.ftq~O W qc*,5dlr k7e*jULw&cWIbN/\Ie>"TL4;ԗP* zOQBVr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,a*\XRmpZ}HwnMVn-")/ZwB`4 sDXj;A*ʝc֝4[S9> {V4pW&A|d?PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!word/_rels/document.xml.rels (j0{-;mC s)\[d{CcMZ}EJӃ3bgz;5$uoZ'ijA#zw7TbhXqЄ:-)HAVEH%w ȯ2ٮv#b?ٶi _mhFH6!SIIB4*\}u.l|!8[s˘fpf6 Y ٚx '~PK!O word/document.xmlVn0?;+&Ms(ɹ)J"Hʊ]4@Ā/ ,gwv9 D*=~X$2Ĥ pGLxN3+N BVx֪4 . GSG2)&Q-u $nfJKL_"t5TDK͑G]DMkʨw %CCom3x4aQ6ˎd-g]i5ը'<&oG6cQGqL/}vpDEC9Hn2y_UV{-+ճfN;"J3*qPњADP:\@YlF)tbM^DqIf[QGmE!pv}NwϜ֠ btOҤ%I0k&-c( &L?oE5BŒy1IV֪qcpbN`%5'eTv!"Qt7rZ6FV֙eUOmL.eQsGh`fE*:Y5gQoM(w#ubqLz@iY1@|% %zWhMi?9r`1455 OB_-$gJ,%H˯Rf@648oDV K, l0I^0 p3^j‘Qm2#f>e4 M{gH[8=3IR@DdD޵ -QkZW dVmh*71. [kj[77*R32>(=mbhPXS),F),ڝ0s7j.Kp֚Oz_Iu Weg~ Q~A&Q/d@ȷ{[3 kMKUsWĶmhUI5GP-7%qb>p&Q5MӬic,Bu4!*sQ)Ṧ5w4rEGnqͰ"P0*fs;ACPŗӠֲV P#t`I=T2`,J|덺0m.`ԾHg=|֟Nl0~ PK![m word/webSettings.xmlJ1;,Y-T>@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK!2ߦ+aYk4C-cI+e]oc~O#i̐+I:r SkP_Ȫwc?Xf7W _e?c|鍩3O"8y#OydJ<4%x3N:E'9D媜tx-E0R?B 8li?ս灗#C\TS]eP"(5 Cck|5$&YƬPy[|Oxy +.qL2-V< V<2ᐜ.e71̗ K󥁂y:e::%3ÿ<̗)/?S0_~`l.b /3$OI y[iIN\ލ"nHy:8.qDLgު&Y>(c=[ 8ʲ~63u'G*\$ G4n+򶌧Wt.`X71íՂf>߯gi2+UEʣkƻۍ73^GKXv,fyӚe[<#]#zgq6/Z7Hk&۸a&*AO^Dޡ$+QW'ssp8ܛ*hږ%om2KܼlI4#>ȾQ{I5o6PnhGҔ(]m%Khmީ5ϳ~+t=x/ Y[O&wmre5++B`UƧ*+]\O,㳒y٤%g6]e([D mR?Y}˨sajS۶L>Ǵrx ЉhsEkLVCkyyvm՘ťt{W"b +R?\ؽLOʧIZS5v);C~ }=a:Y׳;:iXd[n#訏~ozELͿ4jb[r=X.߸|c|y"6y`"Ř(6Kd"'dUN j]w$=2M0#ua >/n\Y=v2nc L fr(:W;ԸR~S?1ل}UDvҠPC gJCAV}֮jvY :xzGIV\G4INiD?'RZb%{ǯߵyTʩ7,a=YeToVj-F=׉A}mQ 뱰~{ N~su ^n,>ޖ<}CpfS6s]AƯ9InWߵL^3 AxclPm 5>tkd){PK!vC7docProps/core.xml (N0Y TUJTJ,*faא8m{TK@o xp,Q9T=D|x>'< NAQ" Yd+c4+$ ?$LŬ] `O&fjf֪cfS3 鋇ΩbE1F'Zk`:"Z 9Dg 3  d@JkA݆F ;WtYgFt²,Z#mj(d+(M8 ^>2'Gl{%>f-tꮫ+w[]'wSܝq/~Ocu .вee^0-f:n{7j8 KIdaW;?9nMYV~}:B0"!B>xc# 0_ a>q h+PK!vC9j!word/numbering.xmlZˎ6?(aM St-˴MD$3L>_(E~%wL9S͆/%yIϻ_qB#Jw$ ] Z=zV'1Y)%ph=z/vsDÎA.K֚l`y81J'tD w-l|M` ?l*so4DᘋWq̾l;=9g :6 JwPYh{M 2Ce6%eizƵv4-Nu]fLXkP _W(R#^3>Hpȡc#juܗU3q~gtfɗ"U|<`>LD N+BYImW'[2 fE޵ҭ^͐~2cF@o6GH#!D(iګu[?Z|(li͹(VƉxYGQ'ٷX}{uNgLȌ!1G[<ό10Y#6^ǚܜߞ߾_˛ oѺϏX; N'tuq^+#NSվ)'/-81L巋燆"҈ <<7Dnh!'[=#}gD*`^^;J騂v`궯]Jܖ]G%L_TYo[`X V[*qzEV.pTPK! word/fontTable.xmlԔۊ0 }qNf%u7P(n鵢ȱFěN&)1ZHG3xQ2r ){ ff%zJ~ш~!+=څI+T ;(@%+ZsjC 2BEZ%Ƣ:U5S5>S%~@< !0#gE"yo* IMnX "LmSYߊHVrߢ:f M^q~-mqrǡiu@@aЅjψDO/ P_^H`#i%EP[iҭ_{O<6L/ȗ9иy%t@`?,l!96T6.ortNfdwsGX%, <ӿӧ]Sc=%N2OPK-!2oWf[Content_Types].xmlPK-!N _rels/.relsPK-!word/_rels/document.xml.relsPK-!O  word/document.xmlPK-!:K word/theme/theme1.xmlPK-!-)2O hword/settings.xmlPK-![m word/webSettings.xmlPK-!nxPd 0y9$gti|P s 3=& Ó:5;ߦ1iЕ IilUI-?9o9Ih&;!n˧ht!F$\#N3 WKK3H6Uptgk[S{.S9v<׵(}v?H@8M+qPK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!Dword/_rels/document.xml.rels (N0EH5{@PnR>M&!~{L+h* /ZsbV/=AY#r`hj( x5(`bzDPeȬC_Z뵤8;Y"ϗOP1٦75jtx۶ }FwH&aO,RɜBTy~.w>,nS:P%/I)tF}XdqGV~PK!nR word/document.xmlVKo6 tIc[:N ]^Z$IoR~dٸKCqoSS ӆK1 Q@dE9 } G1RIc&8mˬm I**LVgZY؋L6=YǣYO|$.8h1Ldԟu?I[Ek~%baߎb\fpZ/ЎqWF|*toA\vS&AhL6(pp`U*Os'}373ya.llw;[|[ljȃQg(AJOe[9kVV 0vBJ{,[떝Lx uw 0Ho50 KuP.NiNPK !-yYYword/media/image1.jpgJFIFHH@"zޔczqK{(=8CA^hPqq)s94{d{w9C=(8RH .A@ Ӛ^=J:Rqis@$cIӚq' ๢AcP\wu84cP2>``v4zNM!?J:IGF9+8'CF惌Tp1IߊPn>SQF*8@с0;tOF23Eg4uRsi(9z1Όh4cތ{Q4˚:Qhsw^d⎣(osGQAP=(=9*ڊO9CҁźR)@G4>(ւ(֏zfJ)1җhyH)1h8~4ctiO=8}h^hA8ǵSF=J8 PzRg R3@ 4ё@8ўh݁Q@OzL❻JLڀ}=isOΌ( /OCџh$JL=@8&OA  A?J7zNhOZ7qڌ?:M&p)sg@ 9tҍJ3GџaF~4gF Kџh@ JNya@ zҌwҍ;<s3)=)r0hdgUN:ENbtzbiwqp´{W o^5{n$B{W&F.ٖsJ:Z23Qa8?tsN&~Qg@4i3€ y ғ<tJ=:QaRF~nߝǵ&sK&y(')s({Q;Q{ѓqyBO/9h=;sF8I 4HX2Ihq9'ѓ zHI'"=i63i3@ {ѷ9( A4 QϿHILQ >'Tc9RdLS@ 13ތz6Q:ѓ*Lw.9ɥ4җL3O&O'5[(n֥ z縡]&PA&*zK LM?k 肿ek0'T|15RZ֐<;q\&plk+u^pXN~'xҢMoa*LSW|Vv}(:L:1ۭ.:)}\cȣ$x)8* 8\{@ >'(P=IiKwb;(>FH@ QIz(C@u/G9Ê;i_֌x?(1ך1@qF=#Z:\4`rZ)xޓ1@ ސQ`\ⓌQz6Z^ })1Z6qJqF3ހcތ{`4H( {1w)#(ǽ/Fw/JQLsF;J9Z1^ӭVl6֠Da5a[_2xáLca*]%& ipSߠxwU[2,+H3y9k|KNHby1B}KUxt w#0m-d;@597ǛDEv8u|68Lю)S] g4`֍?/ uȤڌ:s)JA\RbJ0}hq@ ތF( Qҕ'zIvFR?).j?' 8nRCu4F}K@_Ҍ(ғ>)x_Ҍ{u/^|Pnϵ/CNJ7phϧzSZCwP@Ҁw>ng(Z\QMhqG?.?€wFԽ{@ (qG~O=s7ѿPwAqyid2YzzSU`R4Jڢ8&6Ǵ^0I~5)qsGa'6JIl$r =Vd2v0\nLZkUn[4i8)Q5O{5t:Æ&-K<2K0qpi_*^j]|M"gHR+Iࢻ6#6.% &`}{x15㨠g?QP7RR4c4nQpJ7{R?&zfԧ94q?&zQF@]ԛQ4g7ZzRn &:т?TqFIPq@#@o)gր 1玴nҀ.Fzѻ'?Q}g7z<J1RQ?JLJ6uiwPcQhh_J0{0IQќ}h1nK.84BzR@ 7|.NV9 R4I$VP\:xr7Z+(߆ K~]P:KY3MiZl{z&5Rw:#ц梞Auaӊ%m!^ey:i&zskiqڹX?N: ͧrٳ-g5 ~mSq{ng/\o+uh߳9V:#WZ1hPO><1F8(?LQקҀK7~SZvE"n>أPylQZ:?J]3I?Z1Fyhvu?moFyxpjPOր 3"_4f K@ ? ?''FM.?m99FnmG~m9sIs@)BƛM)Ƞ*?!ߥ;PWNiA>) J? PO@ 摆4zaaLxr)]Ur?JME@ ֛,iUr9k7o-ɅI隊#,|)yUZ+:jN잝cn=[r?U[{7A'^p DOZ6I'o推Emюȝ<||ÊeU&^1Uu+5Ey:nI(W.srQU'r)gQz5@#o1=s,FN3>4EF%װ$ՓRq |ͬxMk1ɮ'T𶴶ls{rQSv5fk%:}\? j KoF!)Zqvb9Sivsʗ+^oj Jӵ(s&x;oi:s@\I3@(?:((=A_ǡ$Q&9PRݱ1!8=xn=)14 .@&9q@ Z sRm"o=(3)A#ڀ bc .}n: M(ǡfzTgkOl0AHGfڕ֏~+SK#e(zMo&wpΥgDculѕo6 W[AC;Z6G1RuFPWZb'IoJ+ nx}gĖQ4 Byo,2mM/5,&_~We=S;B:xNΔ3k͵ƯOV]k]Of""xH'XI^o~Iw'qyVVGfirfcW{V},).\_Q[3u=iAϥt((#w^?C c Wc~^#e *SQcvB-|3^>pL]/u3dv%VnښYoҊzOҽg?Daz'*;[n\r:-nIHn Ѷ|@pKXzY|?p8%#v:s hm|O8[ZFuEK[rY=ת?!l^SS:54"~udzQ\sI џj]vn>}EsҀ9"o_K AE;Q@ }hqI !'ipZ0xDI)9'ު]91,*HI:nI7o/rFsN} Dft<1ibz,-rn<{&7Yā_qZQnؙa*-:1ғk6Yo~;q M5trJCJLҝ:8h4vր IPA3ȤSrsGKKǭ794d ^74s/K@ H Fp0(W$nOSP9y4'^oQXNq]NB5_ hkHljTmift+dmQI2L8To$r. k;vy\&Rq^6#N\TeRIE]5SS^Y1[6+9o|Gа^Uys1C<⚸:8'h7d3tWu]jnY3\֠'5 \E4U=:Qәq'(˂) pOY02{7m݁#ِq5 zҶY^,a~W0)d{p3MR&-R $J9 Ð9!Үo. L̠`:[0?jHmhth4FZK{ltc[' qQjS]VP~w\(Z}廄fV1 zU;EaEr^z4ӶMJ~+j|_UerA9hslx#Ҽ6!X9V7s^UUqꎪZXNx'?F*[_wC}w9_eWد~~aXo>1O~q,bT3 B~s lWsh?zZݢXq 3}}*RWOCFPn2VhoK(9z$LG4RPsqFiF3A4R(ipižgPmƞtnJM>H'c[T3@$*M[|JЖȠ{T%1)J bcksڹ'I2 9^}f]Z+u q5:ד^2;)qgp.-|R0#ixNlH1n #n=NUjLٰj,ڮƚugN}ǯ ~\Uw8թ~UYD:l NH57O@NkJVLh٣).iԚ1y6&.}k~"ibuWa|/5SElC:/T-{$R>qfWʽd\($81;pQcLcl/zʱijZٻx쌯!@FOSRFnЗ9S?*чKDk7y9zʞ8]1k7'jj!=ꮚ-D&P>b;k>_g[=*{-6]r"$?;گgO|Թ{G'xzRQ8Kڿ.N:qQ43W6EnȀ*2du++=^,G-}ѝuF.浪<"m>~Wp+늻-rAE?C_)=͘=;ڮ45 Z4xXV* 4q~4XПpk^V=Kgv`Bg>;0.#֔k:\sjߞ2?:OTTi+-P8_|SwzbMԊkvJLMpyUMy~*i>GT短|gX."]g.Fckٻ(PLξ,lڽr!< ԼE>T}U>^[Isq1hڦm[٧l^1i%r ]%qlv:,[?Jh}ZϱP ;Sqlv^񲁞n^G\TD!%9=j{Pwѷa9;XέՇ*Qz v6db݉=4T!t@"amUj5U :UI˦;uL~dՊO-NB8\28;!00FY[Mhynb Yd4ni*5F/v/ylG/UR6 .P[͹@TY\ ҥPQA qڻ /-HG``R=MPJT1ftIf_Zf^탌c7gXSp֩V[\+tug8*٩p35MP:⡓]@x.;RMeJ,J7Ҩ\0~־mJV_HkF%loֻoe4n&C(Yj5~>g9ȩf]>> 4kIN܁$lez0u OB"|cfUl<~W:5g?AߍBi14Rt(7`zҀu.oPQ;ќ.sQHǦjLsA8 П⦵]^)0sE9wr3YB3ҷ.fM6zffȠEW&:VQ- $PtN~Z*FGJlǽW{5է/;#%ϖۡ)}8X8kǫBOۏOJܒAК%ǡ=wB]Nr}0u uKyWU ^#ѣӥj9_Ҳٮlmcc]SyG*_-U':hVGNՓ%az01?S\@8V^SM';7_ūc"9pO";rx3wv\^9j'y۲Rxo{Y{SLmS\욂'd$ Sύufuu\PaTF)Kl0e$1ɭ 7&y :UILtȚdTzLUJUe67t<^1n1'PWI[xji9u&XGB 漜4>^9 =VVd[cx⼎k}U) R]I_>qA̅|=;D[d/IlL 2{Ԓ0K1ڷգ7I63- WLOsVq$l ۥ,Jf<]Tpciem(}LыԹII5'~?Lc ɱV=k7uK QL/Ԏ\Vo- v|5z1>F.֤R߹ ٝݝ]pM ;F~^JZ(ι#֪G -9sTf׼97Qmo-XnVtTug:GMwugX^jA(.XKjOJhM"53Z0؊m<Z=kϩdkrFUd޹\sPZgTkIGE4&y-"ikƫ\qsmq! zk{Xsڢkxy^TUh9^3UI)WNpVkypU0G nk +Kgϣsȯ#ԥi56$8ZVD 9/`*Os%*{U05ǗkjxMD'xxlBs`C0ڭv,n@<8n01sYYH.{/+7ݭ6'6JӬiGA>6~oLJ1x_GkN^458 4Uݻ -Jrέi%PI; ˜+b c JǑ0~yOM(5 y2RsZAE633e'8Mv ѯ-yS%$gμ|5"Ciɿ`yYpW_~ߴ^˹n|wpjlLk 4c$Oq E~x×+?РCp䪝 <]5ٿ`9;4y?"m%7gt2FA]?׊m^9ᛧ 51vMGƳQZa1m6U;d1%qf=kMYUmGFZENG5Ԗ:g^6H>ϡ4/AIT G6z{+TiںΡO*)T`^q8l]n)8r=럞t*)ĚÖf׆5O 0;en2޾&7Zu}H 9g}hKSQqd_zA_QCFQ}Jp&2EE}c@4g:j1&9LP:Rt ȤK֐Qϭ(G4#*UsPF} FN&LU>$Utۑk R:Tǒ͉UčRY[.;!R] y4 ]?֌1URB(/7y ^3g-ח*ޖ:Iw2?ֵT}83}?n1^ukxJr:cZH},#qsƔX&f Ԉ9^=<-i\}z 𝼑"GnJ |*^/c! N;F ?CJ#(A]+³Y!/kh/3K8c'aӥ[|ko Gp8p~#$? FzWU\_O̩Sz:N\A]]lUFFMx}-X[ِ7 cjSc #e4.iSդ֭orxSz-.n]G o||h~0Ҽ<4`lY+n])\~"_iO:鶜*I,d%բ#䲬,GݾxFRBk3ӂaq7{'¬J_7|;55m(zgOi?!q +03RE&r1@9=( RLQAQF=(#pZ Z9'z0:Q3z⎔1A'^9# ۚ~t*g3!;Umǩl 95H:%͚|}*+m8Jsz 14URV;ϤQG-4ֱ!gLTw8U&47',v_?9Qڜna C5Bk U˱'YwU5ה;iAI`lV۳]ɜə9=+qU==52 Ҽ_^uW]5uHUxbb^k{~|WEGJ݃Qz2E*ƫbIZap9'2kՅWqQ#r61sEz+w6mU#wxQ0"ɷ`G;4eea\+žPx'1##j MBЅ.zїQ\1U5\[~-•4ȶr*D9)Vo ?tWNS:kq[2"FHҹ"xJܶ`w\/Il@Ƹ M뻽zl/c+P㨯0-X㞕:_Ls}Si Oa^VEUs$gxrj׳j{]8F=ΰmxZ37/R{wnv NCgBw>-6|܀>溽J0 7TqK_6$zC$sчKkg 5r̛~HY. `ʞVՔlF}N!ƵNsrKVՍ&4WIa Th%_ 8>>#ܧs޾ :4tG,d&5Ȓ@uPֲ3h|句aAEI~fN23V(9MоsS;Ps6tg Yڔp5b)A.jiM(atjgĒ:r}kk'K ozuKr-R2Oz)`"\-^UDZWKr$EnsݪgYT.$i;kW^Jq9 k ༬zZeyW 5Ľv=hVQ'{{T,ִ y>VqP~ʖYW۫ϠMBo3 pbJfF?JqsP u\SIu$jM?eH˛kG&B^:活ǖSRpuwlYHo~ {|^#Ih>rQ,?50"ҸmMx+fҖ*Ҹ <כac*S]=|yFQsV{GJb( XeQc Ҹ%vDݗEC2}j& ֡2P9_Qcr{ nYONbsֳ\8}>Cר5B|cˬ捜 ׂ9;a(|?*A=+I!jbSS:>tPFMt9; TOrwmR~& CrwzLw >vnyd;#3]I{bo!\}Ns%"-V]͆Xv@3+.eKTeO@+u9Pn-1=³c[;Af+hRQ7ZRb`/n,02 zg=A(Tu=/C2̨^1m{,g{ΤSfnu <eW1byQ*?5`qQƻW)J!5I9R})Q5Rh4c JS^=i'=iy掘ւh1~tCh”x2D.:Imdc{hv2sޡk TߝnsLd =}96U$Ж[N+]H؉xRś*dTKdz ۀիNqҩ,t8 Cv䁽?B#,dzbt~a mZĝr\ߩҼ3*08< {.k8XsK(ks]tabFOI:]-bW#1-$'SRKCֳnu<._GWivxZh>Ƽ.%26V͓P pMx{*0(9rO54ۉm,>.FʼY`jTz&^g+.ٮO`Wj1S(UqF*kdS/Up̢jhm\{`S,=+_-;g/Í.NZm3ѥN( @A` '"Xjd*+\]?yGf_M>Һ:Pv52#A8mѩiu=擡ZՍ5=" HIwg 5ө*#MO)RqrTUHͭR p]AIHؘ кDm% Nĉ2O^1\E4PE^=!I8)E٣qN6/Ka>9=+ 3,?u+~'k:-[f': k]6u >Y 1،uOI,]Cg)hlLDRxfB ,+Ԯ$E\[VjnMDE۞UUu]n.5/{<¦ xψV|b8A'8Vrӎoa'k;[dV,q,w$KNjK3\SN5V&.>Q4`STQs AR;bs/8i:PsJqA<ڀA&HjwR=>go$RǽP^@}{{v uKތ hiGLPsFNi4Z?J3Gh5NPry:̍҇ ̆Cҙ;,ՙ}*˃&D8nwSNL͸!$Y.NZ#bxB&zWed=*F\nbIɩ_6A flJ9yH$yJ˰SUDvb Dx"Sc*L(W+ |M俲f{՘|8[&@t$О2VZn}֭on {9⢚q(֩-IJ#ǽXXJe$!j"ވ\lMpk0@#5Ջu?wFMʗl=_HH3(9VkOݮ+tT֘L=;Eb*ǑA fin{CU>fI֨&-+- \G|*(zzVMsbA$׏\wMlT8ksF J#' }6YFy.[kTF>Y#• cVZ•3z4R\?@R#'qQ5'o͊iq+ݡE[TyUy ̋>D2=ɦu:J? >{۽v)clc5ڃ>tOZum,)5GklHz9{ٸ,3)K#yrsV̩f=s^|6C5@mHgkMZa(x_ϭvҥVKDs?<' %[۽̌z(sWi귷uF9xn[o'kKzT{5gLCzCD*U: S=(=G@1_ ކPC8ރ+B+Xے=kh)yx9EMnwR2{gp6W. r5~l}V AkףUUWJ'u8( (y3 .: tIؠ0.h33izv'TvC\̚Ŀw"W"@Mʃ]`)JNQHӅ$jgRMs~.gK?FvI?ˑ渱5Bڅ)UGfONɋNy=쵲#^߲}~EέGvBQld]OAL[Ll `1xZrdp:QO ﱿ%#xb+f ? ѷrǧjőtP]v},Nx?tJ^bC\(N:2X^)jYЌpEO{dž՝H`hC{)q96ΌzPF(w@?;RNZZ@ G>m)zKAPwPM!QOfC[X l` I*&싾@ Ҳ[hf5~CXt'Bu9z|m{{f ɯCӭ`WYilugKǩd ;qKDz掜gfO҂}#Rh;z9#@r RWuZŤmC֭La?/ L֡F1aE-N-pɚNiudbI8}j^9첌\U;%h׻fw8$=\czB$bg{[;HV?&1djH-/#nI沱Ԫ9N0Vva,(r+أmqĨ,2yhykbD3VdlW K4P~ qQJ@68FNzU w4TU٧/ӁU\n4TR8*yV_ @[ֵ.\y5VNxUK&7[0WM1Pۭ**|un%FP:dbPzP0Mќ )Iڎ\h4>Tq(F~h{{Q~`IQPdO=*R7~5rc?#$VLZVbJAck -ʾQ`!@sLӂƴRG{W\Q Gqu<>McO>`⁂;?hJN?Kހ!B \0踫2)=]|)6@;B4qS4ȅLEc(vt'o"1XlV -G@+%E7yˤJy06Ҝq:J#6EWlj]"\2OJ&ȉyYIsiZznbe0r{6fi7J*a{N8 vS^q'z(=hQߓHϠsG\QG\Rh4v@֊Lq(ǽ 'J\~uG֎h=yZ1AMQ(ڃҀ`9)NMVGֱOJԹf{S#XUQE$8QԳ[$8gԾʢ•F?*\{s֏3 F=*L/>`dt:~T}i1H;A=)zǽqގ@F Qh~Ʀ8@ʼnP ;/?:/$#>΂:A4T2FI<ڥA@ʍIL3aՓCԮklv@GZNPh Qh>h!ǹڐ~c/h4u(1?t{c4A@ QIϦh<␜Q/NhgK3@sFy49&ޕA=~;Ri2yN9Rfvi3K_?8qϵ7qJO4{Rh^֝4!J~{~433 4Q&}4#J>((gJOz\i2qϭhc}):>!?1?xPOL~(h'3ϵ)h)3JNEHxO4qjp~&xZ:(?uG({1?.GI4u旰mE)<@PK!0C)word/theme/theme1.xmlYKoGWwŎ -Pqwf UpT*z(Ro=Tm@~T- zcTߏ/^3tDA}۞22J >5( 6CNd tY9?C K-j>^eb bj mg>9]NNkl^-Sn ~},t)cZ{ʳʆ;faKvi (6NP6l.t-e|zPh2Z@x) Cή8ߘ& U)eWFe;\`Md}up<kxN˅%- I_TS 1x㋧ɽ''~9+8 TϿWn,~ Te೯ѳo>2Oc"urx 9x=~ib' %Nq*'ѱpmb{^߱>XQj[=Y MWI.eG.ٝv)4-mhD,5$! =>"AvR˯{\B)jctIl]1eRmfjsbKl$Tf.Yn NqkXE.%'·.D:$n@tKݫz3{lHȅ9/#w8uLH E1ʩ+D!8Y[X~umߤ,AXJp'la^1M^ָΝI8 ٷݝl;r|^o.w]F:G[*Ѕ҈=# BPZ%/ZWr4[SPpbQ4DBS d_vY-ye>S+9 Guk=MI=ϝ1u',m^x0ѯ*Kөڬc-7W~զpMA 7>oD eK1 @l1Yec,9g ]rqo|dGWWKRȘ?Y|pdh̔4p)L>DCPK!r word/settings.xmlVr6}LA"ibN.TkdB@P6(Y߻ Sv܌L+R?2:8` 敨 ͂/p AFTp< NX1PpuƪY7Ffá!}!$nbU F`RJiD8܈Y(u.BF*%kT-q[q SAp'R{ozp~TāQw7{~xKz@*QaA 9z}+0#w:|$/hJZ莔 ']nv\(TR`%3kW!I* p:C mak)u$(Fb@O/q65ޢ{TFHP: {D-\BoK0KNthI4 )ڡ1٠lDm"o|kಉ^}œ(^C1缾m!эOd0?O12 <ufM5pg YU(L,#ILW!z.!2'!'Gte2>)bXlZR=,xah9R4ð4Ca^J4E ɶ^%NΒpsG,5s5xP9fh9N9]/%F5AO~hHUaل7Hʖ.&fn5|ݥ%8,i1wA-C/KL.{Yei/y٨lle{K;|+(G\߉G{$]8  ?51CGh[yM|k1,{A~2;ֿŮC+ ~&N"a<Bahs ]Al1d`eʕMm?`--x2IbyhMt^/oPK![m word/webSettings.xmlJ1;,Y-T>@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK!`docProps/core.xml (|]K0C}s6]ъ]Hκ`$ۿ7.'{d]][0V6*G$Q7B2Go2EuL V5 r*:十gh0N "z*A9IDbBr5\Y9۶Iozz[ fLIWOsPv<\vSu+q`-/nXῖ.Vv;1q '@O%ILnxNHAftgWY X 8 Ӕ$@?PK!Ѵ sword/styles.xmlĝMs8[5Δ8kƉ'r&g$IBÏ_HI`dR? IQ$~,22bA,X,S~1xۯyee\e/W'y|PGղ$Bn/\ ;e.MM?l |%"1F7bppr;-fl{vg.=MŽlo|U=^l2 /X(L;lZp\J[ ӓo^Vn+ 9]>,' 6~{ȄT_ c[E<>Ey=zLBYӑI8n^BMKn܄j%9 m#LQ[{,| [5tV UCo[52eC"KeD 8܈8̆8888q1HS+ d?td{;w1}w?܏{j)EoM,RY/i,U,SAg$;If@ܛ2zw ]rLŬT=ݷ`5dxLBTz$Y r'Ou_d@rfkYfkp K:<% \Qu\8/zvwɣ_͓̦eL7K .dC(2Is=6<6<%L#8%gxDD&Q)a`T2F*@oX_ӱ`S*HDWy,UUUU~ tt Is@1NgU9-VͶ%*)O۲h*ePnqw3;"7c'7܈6}?>c&MEtRV7.8uN-Ҝ6f8vn܈yr#:DpԔt܈Γ7[xl}f+Hz܈7mT@J@{RFQ!mT } )>FQ!mT@"FQ=p/B ڨ6*Dj֋= qF>FB ڨ6*D hBڨ2*2* hBڨխF8xBQ!mT@"FQ!mT@{RFQ!mTsQa<Ψ0ǨcTHA"FQ!mT@"PF^FQ!mThk#YO7_;;FvG-{fuJʧCSotI,9EnsW"P>^c{R}/f G]#9#AwԖv$Xu;v$8 MƗ/nf#mV ᶙ 6[ǁ;ЖMhKKr:*U=7nJO'/V؍ +QԐ%5K QRCpbJ X'g7Kj(? +5$`=N-5DI wX!+5$`/_jU2ZjHJ X!Kj6Y Q [E; [ hj"xVKPjM語UF7֍B+FI7W-9UKR㪥VqՒ[j\$5ZjrvUKR㪥VqՒ[j\$5ZjW-5IKZUKnqRԸjIj\$5ZrJZUKR%ԸjIj\$5ZjW-9UKR㪥VyLmI>\. n놙 "]zP= GR՛M U&6U[aI_A]c~uaO`zHחBm\lwF1TsuN]=TC?wiF/By߳rḩEh47g|f& '`ٙe0xW__vvCpSiw6M}ﲹwK5W#T+_.nkٓB߿9;}QpV/x\&L|ڇcF~,^z]y&,sfΡnS.XK%_&&RHj^/PK!w,Yword/fontTable.xmln0'"ߗ8?*T--.ڋ=1ۑmvI}'%߱t\^=[0m}0j嬏GK$J>Z1].{x_}[|И bj*e҂Xx3_u^P%Rb'ܮ*l).*8e6k&ٺ-Oq[*=M8Hr?A#VFE):ʬ`{;43w>Τd|34({˞$ CY!%R@mA>!&\ݿ|DL8#"xڪfɍ )4 k*/>LpaJ9Ѿ)н+u SSh=|vk~NgKIۦA٘@B]*')% 2/Hezƫ#bc{[U{ʉ\0=);F5:idU|3HwR/4&1t\@,9nZq2-|"<"xSД$oY<=m߫ualU1+ϖPS˦"LntpOu=lnG:\=ؐW͎ O>9.LB'S;5D>+( ~PK!$docProps/app.xml (Sn0 ?7JmEŐba[mϜL'dIؠ׏vOIUGL\TMh߯}꣨2okq,7jBDs>Ł(=gڐ: i/CZ7EӪ.: IPu pPHBǐ@mN/JN{YB-UwѪWrZSts%T}~1` ^L 8u .uPF[iuDC!U.E2fOb(H]̔tmɱ{8-beaOz/7他F0= V'vw ]#7e/^zx a\P;bG2-? "gs߉P?gs :xƟGPK-!ddS[Content_Types].xmlPK-!N _rels/.relsPK-!Dword/_rels/document.xml.relsPK-!nR  word/document.xmlPK- !-yYY word/media/image1.jpgPK-!0C)gword/theme/theme1.xmlPK-!r mword/settings.xmlPK-![m qword/webSettings.xmlPK-!`sdocProps/core.xmlPK-!Ѵ suword/styles.xmlPK-!w,Y|word/fontTable.xmlPK-!$2docProps/app.xmlPK 5pandoc-2.9.2.1/test/docx/image_no_embed.native000066400000000000000000000004431363630463000211720ustar00rootroot00000000000000[Para [Str "An",Space,Str "image:"] ,Para [Image ("",[],[("width","6.5in"),("height","5.508333333333334in")]) [Str "He",Space,Str "realizes",Space,Str "he's",Space,Str "making",Space,Str "the",Space,Str "file-size",Space,Str "too",Space,Str "big."] ("media/image1.jpg","An unhappy fish.")]] pandoc-2.9.2.1/test/docx/image_no_embed_writer.native000066400000000000000000000004621363630463000225670ustar00rootroot00000000000000[Para [Str "An",Space,Str "image:"] ,Para [Image ("",[],[("width","0.4166666666666667in"),("height","0.4166666666666667in")]) [Str "He",Space,Str "realizes",Space,Str "he's",Space,Str "making",Space,Str "the",Space,Str "file-size",Space,Str "too",Space,Str "big."] ("media/rId25.jpg","An unhappy fish.")]] pandoc-2.9.2.1/test/docx/image_vml.docx000066400000000000000000000560071363630463000176760ustar00rootroot00000000000000PK95F _rels/.relsMKA Cl+"Bo"3iA PǼymNAêiAq0Ѻ0jx=/`/W>J\*ބaIL41q!fOR8w/+PKB~PK95Fword/footer1.xmlTr0}W0kf:JpMu2i2Ъ88{vSVX'Ad>+H&tɿ!5WEI‘凋5h3lfjE]ʂ :M#+1aK"F4#5`;ծi j tQg їZiȶ}/S_Llm,T9?NzG4xsLQʧ\'#Yɛwkz$?"4Xᕏ&%(=A ⷽHR f+׭>9o-("۔=Yp@tSFV2+*T >+1EF`a& b|@mPƖ糅6ʼn&e8X^̊ϯ ߱#VjYS4r|g$a(awل)n`IDh^O~QR[@?h+M 3+Z SS/8g(=OxKKtT꫖lzX>? {?ev,XS7r8a(FNHCzyp2LEpJH'$q _PPK5]PK95Fword/header1.xmlRMo WD=LSԴU;N>~"Al T킅{fv5ArQA}_/oE8ha=}KE"{|ͪNr"dbuF 3>P I 'Cr2+L١QQ2V7/j_ J38;:iUfYΕqnIN,o lxsm$gAR%F}i{r9+iE&7)k՞*3PKSPK95Fword/media/image4.jpegg@Y׾.b%*ȭ, ""( B% ,,b%@5e RBbIAz&x?}!frι~fگ-\`Vi'`?k k׮Ymǟ~M:l޺yӦ-;l߶}t vضSomYΚ׮ݸMgζχ Wu꭫08 juZ6 êիXuؚkzzǕS=Ǯ޾;w69hz+k'N:|ܥ^>~׮wn<6GSӞ=/UXW߼#7465w|=08gsg<9X"v^GBvf5۵ꇻoغf_X%Z{){a1Oal6}73/a׮qOWA[I[Di"|s=<W2gFYۓ&9=_13/%+$ǣH:IDb▥›wDQ:"] t!7 t@-Z Khs kp46Ι/KfoÄ5.BZ)04 osy?1+N.L}LbTwkavcTMw?%\s7V\q[ͱ_Gn(+%u&&x}_ەgdMhaي+2EOcޒ4 ]JՓa_\S0C2CS2U~51Q DHW]*޲햙qdXurL^N3a92MC'Z|b.n9+t쏌ύja@:uwzrS{M[U Ԣ`DE9VjaI^ڐ- -ѐ<ϋV [ FP̮㿷υXKg.kq_lsZ1/ΰ 4߆qqc$< |Xnպ pPWjE|}{:ͥ?dH3(: &mJ> !07_5&gϣ細 Y ќ}AE=wfg/8ȉX%9tur9/:L7~>f լ WW֕yZ5? ?pkaIM!)4#.kO$E^9mIXF372Q!K#.易^sX<5u'۠h`䗎Yd'aLV3z7dd׶qê&1ͬ`OB烸Jm>bؕw\s=I\{t8KMWJ1a& `eIr}fg uE*h롙M4<${cͧ0l{h~ Ȁ499# \B؏JEtBwMϗ }ʯE+N%x8+9f|0Ls+Hs !sGg |fWd)~ Dm>/:ѤkpEg!t>bJb$9b^u=grRMyaI^Ϥ6&IY ^P\[n~AltΜ.ooH~c30EөY҃RӴA+uGL&pNkxxKߥ؀ jsu5vUJGK;y!$ :L5N $׾^ޤ'B|SВ=mіP5"(*.F|) WqF߾~`aq1r}isU de+uTOyt=BC\ڳnRAú[) :{ o""Ek8MQmO 1*)y͢tk:AfraIZYy2\j:,IL ;_2uL5 B00?az6gdY $M1rE:OzuMuωk̛u>X~\֝gj[|WtxZzz12:I Dڊt}MDvo!*5%ћ @5uGktOvSKs5OFڕfSݥ!-LBbStY,7N넸U؟ >}?baO§^wxeu as[J',/FS3S/38Xw/;'6[ ?3t*nSuŘ'KB%]h;9_Zqq+ b%49|wɉGE\Mi[<8PY0cp;2=`{ 0% 1Eْ0ɤ1@W(Ib7ճ6[)#t~u`Hc΄e{2S~95}3ү#"%:RO=ك]圈h;MecJF*lG ÖWf_}Ggp)ғeEMY# 膜TNqD;ˡb$=M/Q3Wͷg_!{ɵ0aon]|7rq88tMŒ5%Ed5'c8#tx *\Z۫fȒEq}GO3fUv /n"U+88M&GbKRL/ݐ5rQe?] }GRN/BGP#g4(_Za8{-%aSSayPأA;4<'&xKhSIڞK):ooW-G=-.EB;?Y6IiIq4$}f?a?ـ\$-_"V0 ׳KoJČ}nQz͊}s"G-+No{׈w69ˉ޽T5<y_{F$k*yXa*bTsMx݀I縟Is _ G;##W'n^ʉx Kmς~57C`@7 QtBJIXN^C9%q\7VE,M/{}qYOoA>L5ļ1mD[f<8>I+ܞAJ0ע3 ~Ws%2|{As=%Z}zX/ڲ) Ux7ι e8^u0a?LYݘt3O'J{iRHY`xb!I/f !xHpCxgu"m~C3E}J>-㞱KU`̰[cb.ZpVqm[Zw7Y0ڴjvWvj め4!<†Ubz/n?ZbCGBfQjq!1i}a?97}TrŹRﳣ}?ק|N6{Q>ar$h;T7h1GDCYV)F"@{sH W NIA&jFc˂#{v釪Ґ -l;s;%xe>RE!'zKk?pW};0R҄%U|L|ޜ@YBeMƷiaU͍x.p Zܯ{x/I iVA+?+Bs Z|yj} ȋΩ+A#< V$&}%n$Tx̛vfN5hJ% /wOCO%kg3,[|vzt¢^Bq1?HtW^XoeߚG$EƴDŽr;h9EEohI_mq?ZG<>\b)]2+,J8LSp,l*]I0|gy,.HJm/ρɃ<6$JE_0dѫr)m6,,,bѺy>K#xm`x(aY ,lp(Bevkp BM~Gџ؇~veZ-E:)S_ox1 -PeyKeo9.^>jnDur6<<ƖeRSC# \wZ3SA6-,Yk/b9`5jԠbA{]2 7oYH"DL)xB EeyK BBIqy,9F7-^OQ%25UOeX$>l(fcς\u nMrګ|2\d/YSw88Rh]T߯Z= ~$<=Tb<R`R [p%nqjƿ;/.fC"% >_7h :2y`م s-Hc8gUhmo-?*U?1 joծ F3HhOFqशY٠(@s;v"c4 kzY9CmlT BDخLۀlpu+s䚉icOAzD2oUմa`+Jh_6M0`olsj__/nɌ)zdjvU;qꀿJER`W׹h //6hey+y1cr4D jԟES"oa8 SJ=٤8|{wV1>7ԀH#W¤nApuH )Eb".kr4E&Cx`)⽟ ԛ@sY19 'B}+1S`=c)LMCR$!e\M9A7"֎Z6plsYTpĆ Tɿ0i;UT4rB/@q`+G9 1n2!K+$ Bѻ`unʨ\'UQ{~jӲZ 3#kEh'Sxo_\UMR`* N"j,' cˆƹS}5F=7 @bv5S>:nќ:Ţ,7mUL, U7KPꜱyob# ~v{:[ S l4DU;R 2R +i>rۘ_9:BT؈@+b@*O橦^+c{M&u5Qoo%=gMM{ب'㽾89}-pm SoX#haWG.I? >! 0"/53)'n^T%d旔ٲKy}Yf ޿)Z1RYk Tx*'4E GN <ߊK%māId\;ݦ>|cFf*z^K\3!fB_#B+gcoLaz^\j0%mOJzpm49 Qh>ٙ*pQڲS]*t[ iRfFi=C0^\=W_턏6x6"a^ & jtR6-R!$Uٜl[Wr^0%|j|u I aF .zy&E%SPj:O]۱X0`@6u=SUxkb@(~'r53@1ARnrIjA(qKwˣ;Uһ枮'v\gK UӦWRoeCm]G,E*fzvW]pFL"[4壅AyxgQ3z %7W}0 v }U?/zhGX23"st-߬|$Ö#S{8fyc/y ը(PʲF|JI?Xfr |LJvlXu@H0XA#D];R[Ӵ"`I+r6ypFxSSH.(}V;+$yl*+XZň*<ܒصV57gCgot5{@NٛȀ,\ٝk67C,ĴouNݔ=[Q| fU =f4S!52':LW=?Zt aH[\Wq?tv>aN]?ۢ"[PƗ h [jPxgL7Δ$j8)&SԣL'eZX֮b2>T"}Y¼GZЃqv;熚*IwZ4!|`NԞ,t\ i #s  _#Q5ܑ}uAj%*owșΪ=2'M/{>ܠYnodvҮ8g.ŝn:>*RċUggBQG೻SA r#-X[qɹ^bHaW7W[U46!<^*Bf{2{cǸB.D:!(;GSKh.WCp)b<10yd}iP(0{96" ]5ȟGچ)Ⱦ]I4ñQRB" z_O.@*NLD 2쒻xҦ~R< U (hrPmjI2h7}d(h-dFGh1lL!@ +;~2o}#9SRz=٦!q%9y<.oN6Ab@˗}~ >ۈmf!v)xc$*ge8w3^}?Y;zwqNy&lidWR*=w;úV^9Pyp םciGk7,t> N>߫S?7)oPZڟ4>P7Ǐ)ry }:jzT3Nl)ϗFN=OY>1cqiE∌:H+umR0{0Y#`)/O;rXo0%OO6/O3IB$jR;d4T'1MTݩU!2v vIOӦ9| Q 4h F<փՍ?Oå`rC.}ŐY)*Ҷ}7kr])aFeu.H~CxD^Zy?BB} X(ۃʇzP"8Fsͬ偿k(jgylk7]޾HJ?;\?~Aoqڬ-"eqjm2`9(@B'ט B2% m ::'ta崯^B7 p*I-5-\- W٪H<Ίڤ:>X!r\m ۿ7M@(Jf ,E ALD, a$b l=v6qro<{VAKK#Bh[۠fd] :7A"Ȣ׹ کMk v .K{*Y#$t׿P6 SFr'\߉+ES>Jb1=3lKX0g?iYбIc>Tꕔ9Dž̴wF٥>t[Y]|#aRU;d1XH;Ef8% eP/ܳqDf w!6`3 Q8zsʞ |$G[ZA<%'p;^ (~ќW߭$ =ZZ>2xth:NC΀Gre*>ܵ9L ؛-G|eFc tPЅ^m)CW#E6 !p-QΌ[΂ᜓxT#y|'p$!8wD4%EX E,K}T@ p;GkHعܼ݉n:h/LE腹at^Gj-HA,R do<9*\"n*~_ cFCnzH΂?ፊt-,JKCS;vc!w,0y&0YN:7 tuh}%&cz(B\WrqhGd0ݻNIxD>!ou*5J\8!^ N32]n-FZV$o=yjnP@裂=Z jX JC遡 B:~dy3Ho"b=>P b5)[УkU$Pхdwldz9y*&)I#F:Sqvݎ -CMJh/5I;̮Izm˳ăK.^Yʖ.h!Z؜ɇ細giD̕ T- eUQP 41*yۯɁZ>rVţ5v #x ^UzoI8jR="t!l(H²f]Kv96=ufkiD>I33&{Qe+iYM-Us-{/'ZAdaaĖц) oG4E< /Х4S|lL0SA$FkuhY=/Nha*m-#$OZCX"'tr2xS܈%FFu!QZ^k$I0R۔Ars\zTayQav~,CfY>֟[=C,y8A0 @-,6t^ݗ}B { p Dq> (٠ZZwVPmKMO杙}suG&1JvQ-)SC]¾:Y+^MfД@kMwUKRaǎ,Memӵ˺`!$7j_@%zC :eY D@J`'wJGbԵWNb~/9pq9`_6n9Z{=Z$ 4+^[ʾ:5kK *FiXf&R&-V eJAHOMߠ$Kһ1ӵYhUh0 3(pĹR4U+m n{ Q.KpMZMM2K.ň=Y47j+u  >T3{9B ľ>u֎PKj\q79PK95Fword/theme/theme1.xmlYMD+F;ͮ6٤vnZĞӌ=d(q@@VR~BIƛ6KQxwW !)Oږsf!.1Zӎ1M,[ d,Dlg%96;ُ.r~4  nZ]?t%A0t" qigο^_znϙRg [NgS˼5V~x|cwZݮW-v7KMAx s9d5#,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?z?xvdPz=ۗ4㥎O 3P_=ٓ_ m:|@c"Mry 8 TNB=U7aC#W'* Dbx=+]Y M3Y&Ih.&:nC&)25F$Db Kiů\Bw)`jtɀ!.Sovg&;䰊DZQc3yȤTK )M4Ĵu ]6H؄9ב;|܍puIc?cHQ2*!8Y;mFLDٷ+8iQݎo3T '*ɦ"od@o[rWv[m}(+'e@M!,A"'i .8F"'ʒu(Q%$=ov4V<(p&_R+q̈́9pMig*ּ ՀpvwB4d f$^0C$#2FZ&mf .]!;(Ֆd/#K+tZyuB>N(S'Y-_OlNKTHeTPfMup>zZ4Z}2d4"ZXDqGh&bn]̨*-Ze|?SVfi˞b_JS^?4qx)Y,G*Ѕ҈}C. BPJe3]o<&FjHPt*0suƨ3sueZ!azfݤtD;4T]ðO>`!=,jM_{l g|׽)>P -߇D /oAf\!hy+}lktW%jk|;pP0%Iٝ_|PK(>PK95Fword/styles.xml\[s8~_A|T3L&I<ˠL0xn'WIJbwY~e?pB8Z̑#/i9pa>2H"qWLF|χ$} 11xX6i8opD=c4>ĉKbB߆c4- 'Z{GS>&wIxAP`DK6W`D+JG`K-[Eh̪&Ы?PdEe!e8 _h|b?ep˫ㆇB(y-QJ-Θ>~:srdx| |3&_}'ʿ%ArX7Z3#ۋw) zY=Z!"+Z'jU\r&:o D̀׷S{-}C`1 C܋`1}C܏`1} C`1}>ًCx`%%)Am~t04Bm >u'?y"olj_ࢀ⇬yA =s7P ٽf\]a+`?(8PPQ$ %Xp6 7qy 7} ^+5JqDю-e@pT $̉ Ֆ%%x,&K7Py E#oai{o-@*{ 4T@4 K%`@*xC}7TP4 KCT o0 x H%ރFh7JT  */`(RCo0, R7JT o0 xCI DCT oXPw4 "o0 o0,x H%`@*R7T@4 K%`@*x٤/`(RCo0, R7JT o0 xCI DCT ovdrؐnUwaP@j4~ mȅ8~6${8 ζ̼WE+ .ՍSx\$?}w>/O١:AQ/䏼e'v\;g=g<~|XQGad%}yQSi/nbKoXǴh}9L)ƩUseQ͌<]izf&a=*VF-أOꪬ%lxXt uZvxRS͏0J<ڋ ?&?WLe^֓'%6<%d涒2q[ir"b6z$!7(8,'e5u.|ـ|LVܞ|C0UtrR@&7i%oғ`Vvnp_h*|qE8QvƱx{\zѕ1 Io!r dbG`u# Ԝ-,a }:pB[:EakYF^©C#S};q~-HDwEl0c3ɌÌ.Ḙ ̅{&. \Hhkpbr&.&Vźh/h&3(55G\hj]8뜼8N]5y-5w GWcQOjnNlt8l^^:N}M9[zlDD)q;ec9Hci8#yC@sBd{1&S4'XN )Sܱ13Icf=\b⼿?xF 틡lB˔%Z Ēn9khzҫ-G,mZF.%P[7RqhF>.duUFң-?AK-Dȋ2x߳e5g[mXϏrk:ɴMJZ^ȭn,.m}T+goܣ1e|rWǖΨ{6~<}D4vVٌڧ(amAKBmNw0ہLeo\;A^kXW;V+리Wk[얼DftYNk쳲{Wb1qz(boۤҽ+5,{EI1XobEBԳͥVnj֤}*ȇ&,ךd u9=In1GGFz`'k'^Q; wn~{B6vU|ɎޖX6kZ]e3w:Q204|~ݖX%9q62'>)k/Vӌe,Ԍhd"4Ʊb#tڶ )Y_Qpnm%:Cdz}wW+jGU˜ f39j`\5f\6B@F ǫHA{{hDW`yY_PK@v oPK95Fword/document.xmlVێ6 }W/㝝U ..촯Fjt1$zח -}-")/^~0:;I )ɤN({lOW0+vV6A#FZЃ 5dI(]p-3Եr~yoH<7]/-Z \c̱( ')QGE! F),pJdQ?IJrx~zuZf#=1ݐ%e,Iu>WB@|k^r9l2?L3.Wm\VQG$k)\uvkQF)$]e|4 Th݆ʫc"~wSQ=B-Aβg@U/$ 5ƊB:7hNk7fO/P#m'%L"޽(i7rא/Ss<2r[ˋ!WJF%e]WѠ\Z.\@C)ӈߊdB3nk7"=qY7I@gi#٦^d:eKplab$QWVl;*erƿI6^Ixs:&~_b1x7G,Sv<`κnR3gqI` ok &űzܛ;3] ׍c?-zr)+.6wvuuU_m/rnn2PK0s PK95FdocProps/app.xmlN0E|Edu8DQ*'Ex"cOZ#dOqA*]wyΜlr%EI2Ie-y5"r+vZrH { C@1K@J8HMdS7J*ˆ‚`%ܟ䏸Ztt_|>:փ#tϧI=| s!F6r+]gJpL)u;w-+Ni>EÐJS&eЗ4 ` ;,9G`MDtF|Bv{@1 A9$_^Fګ A \^}b2}`m B_`suJD3$3RY9?Ogmjl,蝤2RP&8Y 8sԅ< ` }Yxt p-Rpzo0e#d@ PKc fPK95F[Content_Types].xmlMO0 U͆BHaqF!q@$t[Z۸Dlq>]6YL1I@s# 4Ooȴ`iBzހb>34F* jjc5r萆AqN Hf̅ AiOܭ " Vr]hCK7XFZ L0Nlpw ]!a^ZMUI(g=-B/=hCXOa|@L79G &_ ɨT8AW٫zE]`L7t2V-ct:AW{Z}D1ę3SmX)@ł rz67;dbw(ݦ/?PK|_PK95F#= _rels/.relsPK95Frv"word/_rels/document.xml.relsPK95FdQ`word/fontTable.xmlPK95FB~word/settings.xmlPK95F5]word/footer1.xmlPK95FS2word/header1.xmlPK95Fj\q79word/media/image4.jpegPK95F(>?@word/theme/theme1.xmlPK95F@v o6Fword/styles.xmlPK95F0s Pword/document.xmlPK95F %5TdocProps/app.xmlPK95Fc fmUdocProps/core.xmlPK95F|_W[Content_Types].xmlPK ?Xpandoc-2.9.2.1/test/docx/image_vml.native000066400000000000000000000003241363630463000202160ustar00rootroot00000000000000[Header 1 ("vml-image",[],[]) [Strong [Str "VML",Space,Str "Image"]] ,BlockQuote [Para [Str "It",Space,Str "should",Space,Str "follow",Space,Str "below:"] ,Para [Image ("",[],[]) [] ("media/image4.jpeg","")]]] pandoc-2.9.2.1/test/docx/image_writer_test.native000066400000000000000000000011701363630463000217730ustar00rootroot00000000000000[Para [Str "No",Space,Str "width",Space,Str "given:"] ,Para [Image ("",[],[]) [Str "testimg"] ("lalune.jpg","fig:")] ,Para [Str "With",Space,Str "height",Space,Str "10cm:"] ,Para [Image ("",[],[("height","10cm")]) [Str "2testimg"] ("lalune.jpg","fig:")] ,Para [Str "With",Space,Str "width",Space,Str "6cm:"] ,Para [Image ("",[],[("width","6cm")]) [Str "3testimg"] ("lalune.jpg","fig:")] ,Header 1 ("with-height-3in-and-width-6in",[],[]) [Str "With",Space,Str "height",Space,Str "3in",Space,Str "and",Space,Str "width",Space,Str "6in:"] ,Para [Image ("",[],[("width","6in"),("height","3in")]) [Str "4testimg"] ("lalune.jpg","fig:")]]pandoc-2.9.2.1/test/docx/inline_code.docx000066400000000000000000000202731363630463000202020ustar00rootroot00000000000000PKlD ]$[Content_Types].xmlN0E|E-Jܲ@5*Q>u&_g*h̽WL; 8t˜}_6-n&󽇘P9[!GΣ\1s,U*@z KKw="XL`*֘sK,yjj ﵒ̛*?:@Ǟɍ-?hM6=q|=XSAD7aHo](HĬ*%trmh$}pb$=_$vm0EZ$lFfس"Xh;^ #'I%)x?\w>ղ6kƮ5 ʞ~kdIwPKlD? _rels/.relsJA >Ő{7*"^ЛH}0!#ZGr;R|̛ GcVw5R&=t0[b'T9֟!I O1}qѶ(?0u 7}|; |sGFJT2kT,L4W=rD͌kL8SM3zKv?IoA.+q!Kӯ "\s Se\@E=B[ɇ[n%uo/=-7{KeuE?wy̋H $kle@_[Ӆܤ$Q"9LN#d@PKlDz0word/_rels/document.xml.relsӻN0N(邐NrrE)зE8E ,ٲ7o5Ot~4Z@P7u/z}my$)Lh= k0g}3>3uH:㔤0t==U[v@yɪ4|1A?>]۵ܮ-UH0 x2~&"$1n!d _XfG"N-錦JΎ k`?9._!mh6Wq g PKlD4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKlDgword/numbering.xmlŕn0} l)"pCĀ%/$QK.xKd{Hf,*,B\s$k;k}W^Wh8f-7u Zn1tsSC'>7FN=0W^Mn:<$ DձWV'mGph%;%%Lah L< L0QIɲA8N'Y0j$ܝW>>)GKPKlDY.word/styles.xmlZ]s:}LI2~Cga P%_I䣿dF6|Ӵ=kh%y. a_yB}z2zsߞxs{&}T񾻐2>kX)`3#$-6_2a*[;iq" CvKo1g>Ea_u_80 ghJ,ƿԖѴQ)3$|B&@݈P .  9YaE|!s U[Nwj4DtnPL_^ 7AuTw9T5_ `8*F-I/J.vwj%f{B}:ᦨnTtJ%d}| 1v\u+x\^%Y}]LQ}qY) vjiXG=z@Úh^g> tCvq@ [@/B/XƝrVP^3^xJbʉ«ה(FI 3>Ix8e_aiZ w-#%K\훣&{-Ӗh.@+)ONۙ$biXX?оz^';T0 q~Dů[n!įj=LJ''N4nPM0*8iߵǭ,{|}6Trlۮ)k;e}uT+&TC(_1Ncߝt:1. ۽=l IC*м>;Na{Wj<\ޯ qԯk)azKvZ)$xl jv뎨/,D";{M= wM9}ó-gHqh2n0̳*\=8/WMc>a)r4U+,V'ie괎h߫A&lPcڅyS/LI/DxF?5O^$(ΐCHw=ioPdO(dH(gƴ16 %Cyr,RiM: Ge~- =D<_aj!xDc{/>?7qr-5%I^IIIfAerŻ̀CB0a{A(V&la9o lX܋44DU^Jǭz_b S}{i54P?֛!S/ﯿ=/PKlDudocProps/core.xmlmMK@ 26 "< u2Ѯޱj+$twdUSժ X?鮼Ub`zR*O-^Eb HN*>QIG _2F4*O D$h6V]$Hg#E7\s+8s5_/h~/嫥IGRCg+ leIK; PKlDdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKlD= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKlDҟVword/settings.xmlUMo0WD9/%|Z-PCBMwǙG!KN NjhO'f2[u 2fz꾿-[{w3 :Sw@ [Q%LLJ$aT1& Rt+3HKV'BҝԴ7l+`yz2m͆&_^pw+KWk+ n dM5yN3QF/!p E Sw߸]r "Ã6 25".@΀㋠VkE BNIay,pɸ{W<_4oC}t qFjGFٱ"9X$ 3BkoPo™89ԹPƦBA7o)KQJry\Lita` _1jv * 8źڽJit<gwG~1b/hp~vGC3iϟ 0*m128wyT$>BXj"w i%K'oY+𚜺dl1 wQ˚\l"6ߠmAgR!1#\ ɲӸFEa‰ bM\uOqCh].jkF\b[_c jlhamhh[r,Dr.sj԰ BxQm5ϙ6!d(FV/}PKlDTΜword/webSettings.xml];0DrOl(M"L$loBAA9FS6/ ,Js-GJo$:+bG)1!VJ)-R4 @`M'a:h}T LqkwWa gsZ^;PKlD ]$[Content_Types].xmlPKlD? _rels/.relsPKlD0OLword/document.xmlPKlDz0word/_rels/document.xml.relsPKlD4o}Cword/_rels/footnotes.xml.relsPKlDgword/numbering.xmlPKlDY.word/styles.xmlPKlD(*bst word/footnotes.xmlPKlDudocProps/core.xmlPKlDdNFddocProps/app.xmlPKlD= word/theme/theme1.xmlPKlD{H: fword/fontTable.xmlPKlDҟV1word/settings.xmlPKlDTΜKword/webSettings.xmlPKpandoc-2.9.2.1/test/docx/inline_code.native000066400000000000000000000002621363630463000205270ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "of",Space,Code ("",[],[]) "inline code",Space,Str "with",Space,Str "three",Space,Str "spaces."]] pandoc-2.9.2.1/test/docx/inline_formatting.docx000066400000000000000000000471171363630463000214500ustar00rootroot00000000000000PK@!Qr[Content_Types].xmlIO0HWj#TkOCȞnIn)y}[ML!DlY%`Sڎs>|NYQX%*g!g ׽ bBjsV"Σ,9* F 1B~1VKg,X{n 10,y\Q9WZ 2|.@Vmѥ+MO,7>=Gk yd C |ɉ!Qvx(vIT٦bkXH<Ĵf.1( Foa~ܡUH;͡H#ˡV4$AwټoPK9L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK9L docProps/PK@!䅥 qdocProps/app.xmlRN0 #UlE irH( R(E3Gim+d۔* rkMܞ\E4ZhS(WTK9\ TOwZ c'|E7^ XWչLN> `9)^ߊjFiIhh3]i3 h3\3=xAL<<塩mUe}qb:kfV}m.Q}Qr hAV L{E N- [@|C@rbX9=ߌY||'w>*ϗ/:c4-ϻ#91f^*PK@!lldocProps/core.xmlQK0C{f@e :Q|mk{v,ۃЇܗKOYDP=#l0R,%s-ya4LTXp^F1vF6۔R(9Cqe\}HݚZ.| t$SZ{Nkal{#+@ =R6bzp%T; 'Ѯ?zQ5i?oQcY y&E/ ! ~}|rX8޸!z2ζEuz[UI A0 (>e,񯎑zoU|}ݶ2 CJۑvrAq.d]I7o#cCc'h4|/PK9LDw#'docProps/thumbnail.jpeggPjѽE-*JPt^NT%^Pz B@ B.%t Ý=3|~;3?Z3֚u>q醉!… Ls*޿nWbbrB… 7;.0]?/]rտn0]5^;|ߊnspWSO?btΘ8iD?9g9gu_dׅ=@VSY5XJCcIK6yf{:m Y: %*9a]H! u/ fTyR>eƼߦ^n9xaH g=V1VV~*Rz|9$*?\|4x겈-us cBZwwgt[#aA1V6O5]ŴFR Ι\;W_R(_){3e@{zKJ]!g罦Aܫ,s&@,۝l&-I1^-JZ}EQOLgXTj9kݐ*cFDAŋehJ,s iԴ>Oi_MՂAy_{fB~7o1);+p_>>v`S y#Mbt: Ti^Zm5mG#m _?np3i&'1S 'J&3‡Dx C ;ϙ2"\[F}].D[lJ6 NX’N K)c}C4gѡ! ! }M1lӈ(|>,gyKy7_*R*$‚.s(zoxZ<>]^i[$\Tf%<UN:K]2k&Q®|^՛1Ι4~^%H 3@.Gpo[3}1z ƖV__WIB)t1Rhd,fLr/A𯓌W ?B"h% msL !DX979GJB {`z./pюf9i Q㔋œ)y ($+u ԣ_͸8bB=&/T`Vhn֋ZTi82/Vh/l9~"5m͕ {O]9]LNZeyJ~2@ɉ?N.Kz;,~.h~ng1=(iaF Zbr%v$ت*PTmҿ,"k,Z7,`-6~;I,LB &aL%mm ւ%BD2{?Os`qyf밮(*ڷU|*:wrzxL UzQFp=u߽c:zR'ia}9q /MʐP8Z QSDilB_]K"/1`"[̉&齪,zP?4)*ќh؂h;nA;8i_]yviI+{ ` /4uLAusw=ܮȄ͘ ԢxlԢq/Nc eskt?Zjgʝ¨A'H.-Bq 𧛓ȼC#^[]az;׮2to:+v.}{Yč5\TYcSF~TYx>4ZA ZoVk4Jf9vήHU+Fi|@)O7|Ra~doEr7#2(ED _e^M G](Y=PK݉wY1a">) TqO"^s_삘OXq; 9N]E3W,,5ieŅmF!4Oc/3)Ҡ@)(Ҟ?6z‹A̚ᢳ(dF3D-"*I~@4kw#qQ1Hm0ۣkLJj >1A$ff>eM/ۊbDчI/w3[{({ Xo_DA[w[vXd,.~i-r/G*IPIS >DUg5<4̓W?v+6C>}Ӎk2x?"l r%2("顃qeg` wWdiF..M,êQMyE+/вэA\6LzŨBcC1~WW;w.W6[-c Drih69 UAՅUaנD1bVh4;#mÌ3Tg~{krA`serI66+MWYi׳as&]ЯNlN1SF9gNLtayG<vMS<$V/U7jsWy(@`*XM (ɧd|L|fX[Bd\Cn`1,΄ķ#ͷ3t6CFʵ_ĨD%Q |?ڐ̶hU !%Sk{d2:Sz`r"xRkS>πM!t׈PL09OT2h6dÍ5-Y$^$sCudkވ^]$W}A-|',FJL{@3,O)o0g-+]Eϯ̨Wl[ƯOF?5 njr%NlSDY^Q}D5A˚V"UZXyݵpMgOw:+۵ocVޖ.p#VҫiM[i[" |?Ǡ7]a7SC'FKX-#pZC K 14#a{2K()խ´͵Iѧx9D ,|q_qހ|s9kG?WU˛WLL+aiKv(⒪)=xAΦp9#p{"$N"^T'.QKyP52k OϵhO [.d n>Bn۩`zQ#~r[_5q; 孷<@g9XH!'%;6Y/-l?s[d37=rgŕ@wlr% /JJ!SSz􌬏\ڱTl?JLy*Iq垯 }cSí, o~!ug,,HbJ5}8IhA" {(,HQP,{$r>bJ`3(KpjhwRG-mX A6JKr*E>mG W}hZsh[{iWrԵ# 1O *?v"w=#.mB)>ZkɎWf)i-Qu{Ro`2mcvz:w}N.;t54%1,Ɋ{suuX-O4S^{J>ݢKZ&Rk?ۮ:U:dkQ($ޭ hrIo 67g+~?'vwgΙo_4.r~Mm<@Ns𪪐R!bq1kkXX.gr~wQ+vka;gO%y0.(&5uOhq6/J(H.i\!a2L#Egjh*%EZ|㛂p~>~??:UqH.P!+pF7X˜ I}q/F*%Lգ;a"rY0kp ߺϑVn˦L$-h2@ΙXU*DxIH"W$}>se_@{HQ955>0(nd^rf?-Zw1ހOsZL(UoxڲoJb9LvڌFaJX?5{X[;8TS/߼fy?{kΙ*ȡ>?B9C6Th`L8kȚ6h5ƵФps{eXsblq! a, ?26m67y}>qL\[OZ׮ĕd zqUҲ']Q-Nŭa\떶ʎ LZ}SzxM3N<>_^a65؃^St;/Gܾ4H;op^d[N%R}b#To \oo:ư64&$,犭-mhcehϞ__/mTs"Tǂ\o$P&ՠ9^~=TPG#M 40o0+雾\QTGSGE6Fy>>kxri.~1 (κu֯Uxh(RZAeB:9{.ZD)3`~WnQ"(:2K5GT?=kJR3W6 rfES!+~9ʒ8^i>&&Whߐ?-F|-3rn{QCd kћ0璉QŨ0}M<,ߥfW}nHIHȴcVksXIB|ct͸M9*> $Xy|rIjDj=^+0~>ovP!v*&\Kt> &[VμaBJ k,lbֹ M)hΒv/)="x·nWP\;-wɧ_Ӟj3nM lYPN nPȯtJҏև&IjĂ1= ꧎_qKPWO }S#>Zj;zzw:v Te#e?Xdpu#d+Йmۘ/9By9DykjO8,TRf.֡ +VuT'>XyWvA&gz<'<Ŝ6-9lgJElvXހ'ʯ)x٦Z_WLhi۠IM'rv@Gpq} Kn.\'[lQJLF8~)794W[K(9(O@>1npE'CQh9?-U1 @f~u5Q&QȃkҠ'-C[sZKsTyI,U+abYN8Z6R_x|!kKEN5Xo3b%zV ݲhw0U>x:cG Vű&ԥwcw˨n?+_nAKgI ,0{W&hR^{䫨UpZBAyDoҖQ_eBiT1}PMg *|snhfL,RT&m8xgj Ú"e{#f㞠uN>*qPuMo|^Bsjlf;KM=}},g4rs;aXUlagL#ȸg9)`ыnb#.SR*-T?FǦm;`1Nޢkͺ&~/9 Xb;sMSƉu=5! QʦoxFo.A l"W/%ǔnʴ\Ga[.% Izxٰb]{o_4;$D1ud(#./ʺrC+>0G0P-*Ave)T lrq*۽b:w[GUyRlp8F.GV$lm]ijY%u﹚'H;Vӷ7:vӀ1.l2٩ 9KA(W>r `wp bnhЦX^pMŪ4 sﴀ`ZXlViDªhѮsa_)uً"] LΫf(ܕmɲFTP 6ҥݷnxhrt^7г"; 0W' 0XzVSi`ӄu1Uƹ*Q jiB 'AtкkB`їuOPK@!fyl8.word/fontTable.xmlՔn0%vH[*i&8`-#@;l0Imz+ )`V>W72XUH +BMqtP`Uck]^\t3 `]4u膡eS.m+fH`h&Ӭ8aZԉȅ[g1Ǹ,l&r~}hxZ٩(mqBqa4e^I*Ά5#)VgN`9'sH}7QQ*pq@Ur9#S܆ cn&)5D\"_nU:s t+)l)CVL 0#k -JST*$AFwJ٪l[aEZ)doj ?|~GCkia (fƇ˂d↏p 8PCp=H8C! E_9["%>k"={DlrމI-[.gK҇cO`xbG^\~oo׫gx:Ro΀Jɒ*, ?hG$ [ul7PK@!g ]word/settings.xmlVn6}/0\%N#pu PfUw(F} u̙!|F/E @sS [$_ߓLL .x/́d$]"{o=(.M֠b>q7R _*;FYE!$MI'cI:$Jp4l}pv+8tuY^)о8Bn/j꿪".qP2Ws  @J~z}A+6R>NS$R@,w +$5ePG}3F rzEr&]6΂M{r lLQcE)a*Y{c(I' ehd+_Q"a'} 5NGv4?avJHX3Ew7p Hbj24(Jxo51`ˇyAMD%:DL]|Oh^A?ltZ^Z/h+F`afts{}^b>t92QYXfiJnP$;  I*8OT_OX駔puE0:?tTЌ}Sn*BfDKdD>,Hd9lR:nw2"ss-3uٿ#ijW ZmQ[ RDT)3,2FwX$soSGTJn+K \H2K\,s:'TR*\ U:&*bP@ƌ)W,45(}ٮˊhfHo,faLoNL.K _(߻nU43ȽiѱSzjjzšeVh<զbvêV2!͎q]8bqLͽn^VĒѰ\T͋=fj9)fG!-Z-N}ɞ ^Q^=oQJ1YAcPM]'āġ_b/q/1~QƖ]d4=b`XpkZ{4sg׍>=ptJ["B< SA١0]4,Ԟ_S-_X1"Ӝ7L5rwD*|a|o!8}IFysSuxYXZZ?:-zִ6hϥӾ[5ה+h| w:&!t spn(&vnXh懿8^V@8 83o Ǽ pr` y(h `7cy@8 7c(8ϼ,p1O1o41oǼ p1o߼<p1oǼ?żPB3o Ǽ p1oǼ C1oǼ ~y( 7fy@8 7cy@m7cy@P٦49GL OzDoB<A,eLyjhv%}\MݫzP![~f>qn^' g=E"ԩ..co̭Vv{AK) "JLrGu*&;LRK|T[ U3n]!9{A٤-gVə׼UHG4N"ooҹj{ݣ7gBk`@e0 /oݬehsRϙ~mKPK@!Mb=word/stylesWithEffects.xml]S8wf4_L~0vi׊` +# GWزK+9y!K{*|ÀHČÛOGa41Iz)RffyBS ϡ)gNI>.~&" v.EN"pinW zWtx˭tpܲ.ſјzho#'b؍8~%NN|_oG[i.=^g\B)&Ox2>(2_nuCux;bX~^r6ݟiz޻fgb[X b:rEmdsc:BD8st` o޿MaPM m( y@8ۿc@ 3o Ǽ pq` y(h `7cy@8 7c޿QpyX8 7cļPB3o Ǽ p1oǼ 7cy@8}G@A0oͼ,4p1oǼ p7nyX8 7c?b y(h `7cy@8 7cywC1oǼ gou) x=o}oy?J#@%'Cgm!XaeQl2Q<6'ʒ9mݳys!+[tԏ}ܼ*.:^۟`DPԩj.rűTQʥl&%&HSy ~[T?O^Hk7Tujv]{2ֶF@E .m N M>˴9v7r,3HXw|-~b-JE]z.HPK9L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,anxPd 0y9$gti|P s 3=& Ó:5;ߦ1iЕ IilUI-?9o9Ih&;!n˧ht!F$\#N3 WKK3H6Uptgk[S{.S9v<׵(}v?H@8M+qPK9L_rels/PK@!N _rels/.relsj0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK9L docProps/PK@!ehdocProps/app.xmlRN0#QST[WR=[&plv+lάw4;6,?e"4A#mLH,MB\G _^[>* IHݜ klDSP-K%qmAUM~F4# +ZX ёEDNj`=BA>%> | `U /d{紒"RYIo-czrWoQGBxRˋ WRh\޼: Vq+o.6orNz$ wm gtN}svYPK@!ztdocProps/core.xml}O M;lhbtF¹-h|>>O𨭙>a$#f9'tF (QYs$^!].[oh2K7'\N)'0j}-BL:!h!%0ulJJN$ j0)pcU~k@i&ʹCc>\wWMig%yС0F2CcA+@bJTSucheSk[B+&>u}oSvĐaJ~bqIʌRv'y=G))0ll !?j PK9Lword/PK9L word/_rels/PK@! 0word/_rels/document.xml.relsN0DHC;qS Դ@ pcۑYz8X;4=oL}ٔ%E`3'U){_>_ݳ(RBl>B)B )+CV!vX:ɝ7iW"[ |<Mzفg) I˦s] ]i d(Lv܉ILfg R%} wCRN!RxHpFɠؔ}!㵡ЦZqQS C2Km-Ǐm]ױrNѕȜ8IOoɚnd_?fPK@!QY*word/document.xmlXَ6}/\hy NF>D[% iϸEe2'N H+.n9yTHE9G0\rYb rX7k;F= Q2[wK-c_18S94 &=KIl"ZPo^׃ď:^~6ˈutAG DN}#)1eT[_u͹|#h:{ ,us,irb\EAz`ux μ 7%ahVhG5yfh얽5ƨ5EИ,f>w"òZN!!"rK9UH`ݭyj32rn_0EBYA 2pZkXYZ fiΥɭ݂<&é )78к:rNawʎܚ咤zV֕O vn=PL|Àj3ŀ6XZIBXUP5 V1 xt{JҀ Д31c{'i:T';q(1}^X`#_סi4Qhl 59(o>7Z~:vILkNSg@)- rANwӖr;ڨF&Lj^SI]£ne.Ƃt)8rc0؀ob0*-Nsc.!pܞj":|)R aO;6 Cw1'Bn~ƹٱ+,Uv€/0a9SH w6+R[!he'oNvSW,IY保 3rbzs(k|:='p BC 5`{KuTR']ʊrfW2˹WOH}^o&_ѹe & XG 8nZnub;,["*7ck5/Yf؉s}hݥP06k0K3 D|]tGPK@!Wp$mword/fontTable.xmln0'"ߗ8)P&!b; [<.6i7}Ck€i|t..E̘6\y &(<"X"#*`]޾c%q{i(6뻮 4T$c0WyQ%2b.\6*m1.*9e7N6,G%M3q6W:ʴ8H ?Ax͊T+bۀÔ;ʭs#2hfo H8Р( kNBF2̃ڌ>n>_]H q!DtQD[l`SE ftZinV } Kyt {.ir$ o6 ;eNUH@|VHIeGzFUEUlŝe;Q6͝1)Ԃ><2HntJzS#i}Gw<d/c]//ߜjcZ~ݗ<2D}=qvհބo?SĐ枘ys/͜sz̯^ovOˁPK9L word/media/PK@!0word/media/image1.jpgzlP)v { 80.?LD (F(A+bQ(%VU|J 08(_)qY2@A(Cd}$L_@BʓC8/!PP@ Ae& }ʮkW@*@`P(ׅ+]iߨ/~0P< Q@k&SHFz2K G7Ȅ6)Ms( o ^H58cG;-0ԼU3X;ڥ> ~jyH.ӚϋOGp&D=Ktig}WY9n[ cSI}&wpNgXbqM%$)<C{xpǘ P>P[TO,(VY {i-]}r|W4 Y=oRdH.4Z*ל,d6(뙷xaXjXrq-3~88!MI>KnQ1*dT˧ |ee=f!%'FrZf4\lHjK !`!lkKvyvc OU1+v:jrՍu ܰZ賂Mdz4vR;̳ >9ka]lCW)"ؖ^P׊XT݃"уcPSqsGaͭ3鳗uZljƜppwnދ4 )\;q]{Ȯ«":vvܳg}F|b5c>Jqd؇s?^)nyf{VB`xb%q53rg.aK<}TUD)OV8#f,TU==cBz7}VA$xsqWMtNŒ޴a)6ZJ}sS u.D#:8ܢ[TB$}Û§BU[ŶFJ΁Z(F󉐐`~^~%,DoCyR3BW0Oi?;(;Y!x2#~8nQ>. QW2ƩA/XS/و .oiobSqRh~6ˤ5*53~ Nۥ`mVvE2e@*J|ǕDb#>Ns FJ+9Mճo;Cz1,qzena~Ml :ҵ>Z 3śXs1>'FgTV],Rp yta>XWzBCPK@!obword/media/image2.jpg{Tƿsf)PْҒ12gP^pffmfyI25W!^r8o3&fJ:]lM-{{syc x@lXföV( DA,@99sxkwx[hsp `58 ZZ"]?QVe1Qap {.nN\v D!p*-"X$i@Pn!ehGή&np*{ýZڐD4fl!+›YU붩X[/UrKWj_վ1,aFVq|,cj5|3~pbd[BrƋdԁ]N*LW'(QN/)~}-u"8-yXss$!Wonxĸ!]j2|O:yx ;̓7 U%e9Qţxt$*v@eP %L!fV{MJD*/pj憎ۉ|;(ܘ1E/Ÿ:Uz(3ϲJ[ƮzVg.?v>蠍SjBi##+߇3vR+g4֗OBr}(3 ]цŝ=ȍftUpk&I=+V1Da^Ee2>n4'W֧d4DTlymНb>OEg !h^>q az4OpsZ;tDrS5h*ѣ)R(A5z9X?Tdrow3c&s @ⷾi{#UYgY fŶOq". 6|ZUtt}^ԵΥu:=.8TĝS.}uD馔̃*#Ԏ~f*wL=v;$':Ix+ur`ܖյӧv%$y+srN\ 2Xٖ`R48l @ =T{UEZ$/?34ﷸWkdMvM!3L=^8- $!&nwU+FGBRp3 s"HMKN*mI7SΧi۹3gg7ĥU=Mx]vRz7v͡ҍ{ar8 }PK@!V word/settings.xmlVmo6 >`!繱8MKyͮ8~l+VAQUwEaB!IgF{4|Q05Y1@kDdzu_>23= 3V͂12u !1p#C>vȐzjdX &!%IMF̂FbcK&6R{s.+Q5 s"zGl쿲$3qtFsҳR k ĨO>;+Q{94o4='BxZ- @F5W!I*d -'"6A%5yE1CUA{z5<0BAޗI)T *`[ nޮ VWpk|+57(sPG *{5(kQcilqN K@?-̑)W<] F7.?{ `n#x|x7Rq=ۦv~'>MCIj.hփ}aK"I3\jL,ygM>}ek1k,_3 ?L|}*[Y,J4, Oc9,C-H1OtXm[x%Io8qE\Mi|<1,pʧa-r̓ҮPK@!CY qword/styles.xml՝rSw`jsZϖ׮d!)RuUfL?hP~5 r \qy}ZLLs/{,>^WUCiuyj"u۵\A=GyŖq1KSvl:h($d-X\ͷ& ͲtDt"X0HU0D4]̰=50tO *Q5QI#jF`%݊In%JQ$Ґ:nBP xSL/O7垩bj[WZrU=Qiպt}BftFe ^6&fִ) bAm,öqBfz,A/gzZvؖViJ$A-C? o+3NzqƪkUˏF-, @׷/lC&$nGG{R<xTEdr'| ^$X]I B 9f 17DRNDhRyK/z!X ޿X,}!*S=*ۆI67u_G3-KYvۻLu_"5_uބ,I3r<<xt Hք*"P^^Q_/a1<-9=FQ``TݿSuN:h PQ3.OF U?30~6\/馘 UtLyR1߈!_0 ҂y耒ŗ),\l8*YrevDY*EpLde`ysC [1_/i%bzf9\';a kQm@dѺaqޮ$v"[F2OGnW;-#ag-# X\N&dztb:& 6xW-=y);)}eG4OS${o=_xz#S)M=jP׃^8Ʉ{qW;[7vDqǎh=F"k8jHSZMvDAʎ@VpFV07Zx R\F;r@"FR#PFNFQ!mT@.pF8xBQ!mT@"FQ!mTǵ5ɨ6*D hN: ] ).FQ!mT@"FQ!eTdTHA"FQ; ] ).FQ!mT@"FQ!eTdTHA"FQO: ] ).FQ!mT@"FQ!eTdTHA"FYޢ}~~cOQ?r졶GkegZg=DBz{ h{)L2nJ౗q?~ eO&UCil{!±OF >iP2 (=vZa;MjRCVjHp`ܥ(g!MjRCVjHp`ܥ(g!Mj8aԐlŸK QRC EK X!+5$8I 0RC&5ȊRCVjHJ NR,5D5ImQ WqJ nBJCTv̖*l j-UEs˖eKUݲ%[T+[T[d-InTlNj\d-5J˖eKvqRԸlNj-[J˖eKR%ԸlNj\T'5.[-5J˖eKvqRԸlNj\T'5.[J˖eKR%ԸlNj\T'5.[-YeKR㲥F-Rewr(}r;+H;'˛>ć`8yp^py(¢./ߖc)| -46Ivns5;͛F6*cyd/5 ^Yo} /8[짆|g5ϊ}Yc3PX7ao Kk4σ.eSYUX~vc-ZR:/ ns8:j0 OGץu?R~,^7f~lxQƆg#۟+U~1gxfWi6^׎5M2 %?kMn_߮OpioxVr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!:word/webSettings.xmlN0 ;P徦.!n-8B\͑Oz>{ȎBʼPK C^W*dBg<hXmˋzfؾ@J3QWh54UZ 4AfOMg4O+K8λt뢸QG&P; wd!-:nom>G)vS$ r/ '1ǍJb'm8f%$LW"'PK@!d^S[Content_Types].xmlPK9LA_rels/PK@!N _rels/.relsPK9L AdocProps/PK@!ehdocProps/app.xmlPK@!ztdocProps/core.xmlPK9LA%word/PK9L AHword/_rels/PK@! 0qword/_rels/document.xml.relsPK@!QY*word/document.xmlPK@!Wp$m4 word/fontTable.xmlPK9L Aword/media/PK@!0word/media/image1.jpgPK@!obword/media/image2.jpgPK@!V  word/settings.xmlPK@!CY q word/styles.xmlPK9L A+word/theme/PK@!!Z,+word/theme/theme1.xmlPK@!:2word/webSettings.xmlPK;3pandoc-2.9.2.1/test/docx/inline_images.native000066400000000000000000000015231363630463000210630ustar00rootroot00000000000000[Para [Str "This",Space,Str "picture",Space,Image ("",[],[("width","0.8888888888888888in"),("height","0.8888888888888888in")]) [Str "This",Space,Str "one",Space,Str "is",Space,Str "green",Space,Str "and",Space,Str "looks",Space,Str "like",Space,Str "Sideshow",Space,Str "Bob."] ("media/image1.jpg","First identicon"),Space,Str "is",Space,Str "an",Space,Str "identicon."] ,Para [Str "Here",Space,Str "is",Space,Link ("",[],[]) [Str "one",Space,Image ("",[],[("width","0.8888888888888888in"),("height","0.8888888888888888in")]) [Str "This",Space,Str "one",Space,Str "is",Space,Str "reddish,",Space,Str "and",Space,Str "looks",Space,Str "like",Space,Str "a",Space,Str "heart",Space,Str "that",Space,Str "has",Space,Str "leaked",Space,Str "out."] ("media/image2.jpg","Second identicon"),Space,Str "that"] ("http://www.google.com",""),Space,Str "links."]] pandoc-2.9.2.1/test/docx/inline_images_writer.native000066400000000000000000000007101363630463000224540ustar00rootroot00000000000000[Para [Str "This",Space,Str "picture",Space,Image ("",[],[("width","0.4166666666666667in"),("height","0.4166666666666667in")]) [] ("media/rId26.jpg",""),Space,Str "is",Space,Str "an",Space,Str "identicon."] ,Para [Str "Here",Space,Str "is",Space,Link ("",[],[]) [Str "one",Space,Image ("",[],[("width","0.4166666666666667in"),("height","0.4166666666666667in")]) [] ("media/rId26.jpg",""),Space,Str "that"] ("http://www.google.com",""),Space,Str "links."]] pandoc-2.9.2.1/test/docx/inline_images_writer_test.native000066400000000000000000000015071363630463000235200ustar00rootroot00000000000000[Para [Str "This",Space,Str "picture",Space,Image ("",[],[("width","0.8888888888888888in"),("height","0.8888888888888888in")]) [Str "This",Space,Str "one",Space,Str "is",Space,Str "green",Space,Str "and",Space,Str "looks",Space,Str "like",Space,Str "Sideshow",Space,Str "Bob."] ("lalune.jpg","First identicon"),Space,Str "is",Space,Str "an",Space,Str "identicon."] ,Para [Str "Here",Space,Str "is",Space,Link ("",[],[]) [Str "one",Space,Image ("",[],[("width","0.8888888888888888in"),("height","0.8888888888888888in")]) [Str "This",Space,Str "one",Space,Str "is",Space,Str "reddish,",Space,Str "and",Space,Str "looks",Space,Str "like",Space,Str "a",Space,Str "heart",Space,Str "that",Space,Str "has",Space,Str "leaked",Space,Str "out."] ("lalune.jpg","Second identicon"),Space,Str "that"] ("http://www.google.com",""),Space,Str "links."]] pandoc-2.9.2.1/test/docx/instrText_hyperlink.docx000066400000000000000000000324741363630463000220310ustar00rootroot00000000000000PK!ߤlZ [Content_Types].xml (n0EUb袪*>-R{VǼQU l"%33Vƃښl w%=^i7+-d&0A6l4L60#ÒS OX*V$z33%p)O^ 5}nH"dsXgL`|ԟ|Prۃs?PWtt4Q+"wa|T\y,NU%-D/ܚXݞ('NǶlC[74U";9sFu%O0PadX!9AQɨPڀEu~慶HKPئ9TԆJL: ǚ%(af3X0̂ h[eY\Hw`^ Y#U ="q"OKaثh Թkn{OLIХhy$=ɈB;-zR҆\)}(4yZ0DWVZhN _Mct5Q1}v`${?y PK!0$word/document.xmlZ[oE~G?k;vd:U\5TwUvw3c;SAMhKh Q$z 8O̮/\K͋wwf;9g3;>yj2"nVE][̪MTq&.ΪUSou1^rpYYhM q,F <G#cBţ(1c /2bj/ ͠`BMD9^` ZWx؅H|\q+odtCjbME TKk݋\x)Qem :Hy'%ʎzW:{ұ};#Ƣ{h 2[Ld2MqcFD2X,W<()y4ph|Kī}`{Ñ5K3EP^)X%(D<1) DcBVFD:S[M3T4v8._j3T^fy2*V5JN:I\Π1Wz|ň1fse$2ܒOZrBDW,̋x:!˖9.rxvd<GJ֟/7VW~/ޯ\jWk+[k_1m ha;##Sy-CPRilG7h\X-aGǁXeUޏ(,̶/`1Hf/FI}7W q́#m9 =e*}43qA`E&HR*)RLD,]Xϧ OGs {׆aBBޛv9;/DX,*؊ZŽCE,.BTA1\gEo okN)C$)P4RP\dWN(qW%zB:k?G#Jf,yI,o'v&צW :Ƶ;3'H."\2$ *t~&񠄓 `L۠ړj~~㊽M];Mp-w^rKJ``G@J7a\ fUV'g#,]\31Q& UJ e5F>KFu.3wC|TѲ~M\0:`Z)}g[ۼ\[?ZUDcOҸz+>X}ظyy_x]J-^{qJPW6EP^czƍz7A"Zese TTX+m~=ѳaeOca T@?'!ysB)?'8EN#}ױ(-JeL?i$yg!+KygI |^ȉ퉄;cƌMvUf@/ Ly߈d `E0oujVRHA^P^'>}gbJl8:Ό#;&.$LJi{0lms.h0mnv%u\7ͅ? Ags)c^;sl 5}o|c uįho(/:uVkx%((-. #hm9|VWnMk-wI6\Pj@q~o{(Pjխů-K2 `qе&AǠA&c~ʽ%/N>?}GnwQ_/߽yOxejZ8Sh}g/|x72%q$|0{;E7(HѠ,Vf 8θZ耗wq6eH' p#vNWX(LH?x6-np:\z1Th< )d#c5fwR⺏P2bd҆ մ4 ϷF`{H7ֹX e0e 2 .#u$fY2bbCHz6S^\idzDEf u=@H铱dҸ ´$CD}A%g[\ DL3ݖDݏ3<P:zҳ4~Eݝw\C_~T/[Pt=7 ){޴Ky.$o#aGS>peE-&1/·SpQd >LMѹB E&$[kٔlgK"6C½Ea l߆Di0DCC- !gm pg?o7;g0yn=ӛN^[pN妒(-py˹n/SXEhN՚q\n0#~)dQGi q]`f`^NNjuW=%׶޿ɏrheY}m9BACu6%pSS/Z*UkZ8PL&k-[Uj[[,MgĶOU+^)kk/'._>N1*<^rPfL31YNWZNb7lrJqS^> =3x6#^$5B@*4ajukCoG^>h7ڽf*kU^W|iMHnóVYݴVzvݽ?5yYWPK!j$֍Eword/settings.xmlYYoF~_`՘ H6;3 FsjY\BYey.f~48O*CNrZv_XT݀Ƨ~wᜮ+kml0!Gg!#aN|C>t?Ƕ+淇cuΨ:2=sy3JX`eJ;i];gwC/0yl^!;8N6WUa9h#==l[Xm D6ؐ3]u>V;hؿX[rkhC&v/;λv Sh AR`!d@\JE @J(Oht/y}ςq oR2O PLTH iDDr4:A̢ |{ D*T2?0C=# *m!$ S碀xDiP)(܎"^ב+R21':Dg|z!A}#?xގ)9o" eB+$9b dNuH9M8s )~B#ZpNNМ&1 5"D4Q,hN7vT|oTz8hQ'IR"rѕ\ -2'_Ggox143/v4|FuD͏`>!ht,`"  %i2dbvWOnrHLuY\o=y5[}l\F-MQhgS7ڸ۳މáԝ'W}p3 ac+rf;={7uW)ʜ_l/ִ]rJ~ni"%ˢ!Xv ?t~_,pOgiil34~&zXW鳧뢨4=ƪ* ӻa_˻m]iO:] [X|ag:3f|#a2}ʼn3$xrTA2ۤpc4#ڰ@=167QrKMxE4vݤ O!4s)q ţYx6l"WZsߚCk6rv$qsJ]!> `BJJ422({'0F]|q ZK~IGXGw:l uqsf~1if PK!vI@word/webSettings.xmlJ1;l-t[xA}4mLȤn;U/-d>gf==FV}4y9֊k(Bz1uu'(E~%rRRm -!%RF[6&[_f\US}d) wpKnKo2)'ֺS:er,y0|yh}aFW .S[8QOIO~y0e8 VMlWA$d*z.+T<$>+M&N5>J#e^&r#눣W̺?Fb3phdhwz А6!1!N38-O]LcblPK!/ rword/styles.xmlr;Jn"]cWk,IBm Mvj2y (A>"y>"}cx ^2ף /XXd~S@mE|;',%fwer'ɒb&bQ84qQoRYHժ@G /qW|4eZ[BܪV(T"4H,/Ns앗fY~Qm慵LDb4vzϳT~(y`Yr^^fYz,ΗݾϋOբɈe;*plSճSOim ?GB8VR \dBfj޼1 <W"xjm.DĿ.x%z5 BY=bG!_VVPkSVu* .z: ck*{(~[G, vtR;:zԎ^Ԏ4#F6" n8܈8̆8888:hc"8 ]~n?%qw{~nO~ۏ=YT+V6K.KYAXXHU'=$lD<2y&?U9y0wej 7*7`Qxe19xrʁMEʃLfcsX^!y4O0*%4J @HDXlO #X0qFz'+dƙQ3 gF5.>I0)BR9 IwI ,eƲ'"eӚvy2L뇾 Ep]DgdMX"DXJkk|m[~mcpnb#9钅==q(bunl ;lM<e4|qt?XLb#g$,y#g$랑ڧ]~`}@8?1F*u]i6FцU0@uy R|ՀY{:F h)(p/B ڨ6*D '`8xQaQ!Ǩ6*D hBڨ6eTHA"FQ|qQa<Ψ0ǨcTHA"FQ!mT@"PF^FQ!mT@~5ߨ0gTcTH1* hBڨ6*D (p/B ڨ6*Do0*R| )hBڨ6*D hBʨ ˨6*D ]ܢt=f|b+ӨWmAT*7gR/*zDb!%jmu@|ʏM%M]}'}#5Iא#A7v$uN N}T/g2nBL'6 fX&갱#lcP .ڸ V݌uO5[_1۸;ZʢROWn5u1W\O0KЦmU +g " 5 +'D0v'!F'SfnُrD\b{fI(@9$&6ODkb܍s-FoQ0)C밉YBU 1l8J8u-Ү}1T$uvo%YSC@}wd}|P_@6_PK9L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L docProps/PK@!fhodocProps/app.xmlRN0W?D"*4kJ#{X8eNH̛^ ^(în`uϺ*vJ}evT*eWBbldd<"K{yi2K$-x_%LC{L§1ydKGP mdI 4p=5-\~%?jUJd V:cWh\Xjb1q ujof%s!2&o`^}!P1a:TTS$N>+CB3i9_^ (Y(X%$^nCO}`a~z{i;&7PK@!UͫldocProps/core.xmlQO0MKG7@eD o=M{0v yt+` I$E$ŵj9&oixCL kcG&EMµ XoR.fLV&<|qmЧvI kڏkZ2JHJ[ؼN!:bzbln+BYXl靓-XeԨ?Tլ8,ro,fqa%Ijkؗ cҠ΂sp_ww3gem!Y\m5~LI3c}p0Wa4 <&QEU'aqhۮ(hPK:L!FdocProps/thumbnail.jpegiPؖ(h+". SDD Tl BUKBX$s%!@ECD $*"@L"FLXg{53T_έSp ?&9p6@PGmc `hkkt7jdmzm]˺:6l4)g42ܶR}nZ#hYAjZݸt֭3ܶa[?{\Z>b޻i1~چ:@?%h +@Y _{Wx3iQݪUI/еXwAǤ?EIQPt S*嘭v{.Rv_Q$V˜!SKU,{rnlHc3ϙrR#g.qwynY^_ZJľQ#FՊk <~Է_)h^->4Euյ}}OX3c^uPBY]Xo ƴ1Bݒp_1, yҁ5|4wv%xZ&qn:ߘMB ) $΅9>9qܫ@ʘHס`QnVHߠ;- lV)p+LLs! KܺRӧANӠݠuo|72dK a/G4#I7 s1$OjmQN ڹHeI_o4Zf4ՂY1JV' i )ؼ\{NT.wYW6Rss?TT* m5 `0oY >_dfg[4icUb0\pj~ITK\zHxڄ,m.9ft:BEZqP]r%M8nO"@?w Yw[ҒMkqK2 z1o&d"+1&$A%T'ŹIl Ȇ+7'4{󨈹>$><BCG dT9rO >OJ^91wʎp:E6!b|?%X a1 U%ɖ6 ~holL=|/_׬) ](7A%hz䂸lvt v>HSNP'qhTQ'8Sl4q)7]]7z=dXE<3U^كEO< w) JU׉v&,X5&ΊNWLkBgaL_ۖe]&-\/xyShAB-=m))'.ԐAEj$q7sCL|nPZ]h/6S /\2 cd <SG.w2zM*D' O;_}AamLNİ6\]hŨ21].a rUP{~j>t}` hF}8޲q<~٫{e\[GHRf'" vT[m~x!t#bD^s a2 w+} Lm{FxEF#x ō4NM>_*Ά5Dt!rcNMh:gnN? ݝz5Vi Uy1a*g])5zW&oʠs%ʬ߽:nw:/u9nh@_V -mTf~ v)owU-6dK"sǨ\I@I٘$+jٹE aٛ}47}e *oT lgI\]AnB>lAu]Qᦷqh,@* Gԫpݾi=)(4; }V冋@2Tn-0XS#,fZM `݊O^ rn=7Ѧ't:8_>tq:H@fӽ±,YČ:Ȳ_?\e&d.Gz9 Ž5p$ⵜlsUrOȓRX7?y,_h_9(C}t_I"BA]p6C''߲im k`dZAF>ICzΥ:l?$Jt`vm/m?K܁eԻfƈH z[-L8ǵ|4({Ad_.ݻvH>Hqo5c ?NF@pOO ]( '5`h-J-=Q5wT+`oЛwKo"7s-\+ٞ"S\Wha7L4}L30kb(}@˜%!)F\iSZY ?ٹjSTJrC3~bS6r:~0TُggLlӜ/dS n2L]QywOjkV0+W '݆~MǼC? yx(KCޖW)6贃2BU8ϊ$w񋅱djt+Bĭ`|ZLw+hZ07 FEp&.b+JGp*8<"x!ܒRI;>&,bU/Vo C /68.yuN>yu-i O32RHޫItY+I36%n733R0aTu)G.> BYQCU `o)t]*֎^-ꅒbXdhn iPy ~~XFTzz dz).-ȓ|Wow(qJz\s'ψuȝ? -SB(©>%(b Bz&MF/)s̀KbcpىP0qV(YqgdX$YFdE|cz{k/ˆ ˋG>|3YG3-~hk8U毪٫cȱmv ]XѺϑʏ1w6]˖Bԉ]d8?50:\Z˷.)O)8d?̙| sVV2SZW`5Bxi$e3Y=Klg%?J/'I)*l")dtIjn)#ngHRKdrQ?/ݘ6|C,˨q67Fv{d,fw] LSKjp))}0LTh86 !9P`8[ŃcY5aNLJyj&8 qi$(C]yr.-c^OZ=R(EayIҜhC6*1;(word/_rels/document.xml.relsN0HC;qRP^W:$"F4D|Yk70A4NXZb*cOŒE.E26el 7d릷s6c5Qù5t؃vJS^Q%ɜ߃GѦ̘ٔ,*J5nQvi$[ r'S (c%v^#\Dx 'N\Q !!@"4bۂ4 An.wb:Ő}4M]# ZTK_;@I:p'PK@!@word/_rels/footnotes.xml.relsϊ0¾CAD,C2mCIHy aLN(&Yb^ X DgRpmQ\Ji!pR0R&=ЄiqI:'匽 GI~URgS썂7 kؾ묦׿q~3!"Egy,(ƞ=2o=,o/"PK@!ZR;Cword/document.xmlUێ0}(>TB$&6;΍l"HۓϪN\2!4  R!xN3ʔ yBܐ:N+.ĵb )UVi%2|2_N(f40n 56~e!Zu&Q {vX攐q1x ħoK} 6dӕk^"aRA&悻yc|:s. N+MkɔC8jeK^ٵ[s[ͤ22kR~p#ɩVN`y}O H*mX;0B\ФH/N|"J[AlFDp|& 0Fj"-m&V.bVItWr-liCO!P1k -s*QlxU:PyD[s`ϰǻ_a$ (FfyvMvtF~b'xK9ΈKf kϖgɩϚzG͖- sO{8p,!8?r}^.nP:ROgkG%ؿ,]PK@!6OXword/footnotes.xmlo0' hPcxJ<!:RCB8qϝd^VU6F,Z@*aߞ,evҲ/*'m@ƕ ˝3qZ˒a !d2pgz-kJL펣JwHM` qEޘiRNf t'&x[1݃6/ܻ@lJ],͕9Z5Z[ m>C^ x ~w*=yQtx-IUו_m}FؘMmם A٣~j6E ]R˂?l{*v;CV2RiА޿5aQ4{wɌo y7E7]p: 9jMݶ4'hˋ<b`OtMj,ܮZ[^$~1}OL"dg.qpAe7(ĭd[mNۂq|rT][l}>U=u"TjL#}kZ8;(Ѽ<#uOvɝ /PK@!V e|? word/settings.xmlVr6}LAʼXr2ŮZ{S:K 5nb$L9vKDM` XafZE;kUǦ'L*H6Rsbqۘةy%"Q{$F:-Qbiu)lZ'dS)ײ8+ QeQ5$wAdG9 q}S)eqb*x!T k0=MjܰS;Zj]*iԤdh*&DG}\Xю$# HyV y GgАRV* ]6JV;IeATv%ՒZ%T!^ÞBO+ip#"uCZyů\7: ,qxZn~GóE A854=Q847 I3.<~o;c)*W3`ݡymU[7FKlzqf&,F'$,Оc'&K1|?gsfz?V幛wq]WME/g3EWr> c|HF]ClKt;U퓖/вSk+ !b1fRa("d jGT'{i:>xwǂ)1vm(YEh) Wmmw6uiw5Mf#y.8!X(<`b–[NE.'qL?dLP9/q cxfE^NSld{T8ԁsut7<ޯOqI ׊NI?PK@!7>word/styles.xmlśYo8 =qPHfGZ'g-"%闺|ɲCO* >{ﺾG9!˩p}r{J< b??+S\'dGZ睎"MNʅIͣ\v@>"4lb_;nwf$ĊX,Wu޿#il, "3ڳa*JA'qa/ _ %HB3)=Mn+}/!K.d0M!\(]XQ|\ |(ؽ 3n.bە˲>I*Bw2T>V%j,*aV؝<]d;:#NOE5<+V/xI L8 4qHwO_mo›a;N7rlf SxPڌp԰.![%UhoGMdCGo1}g.ʼa¶z^X*z!Xo}Hw|z77:uQ ZPՂ,,7YOTu^ululJi-k`q缳cvZ܎B D8p` sn_&pn(h&vnw ˊG 1 wn7#x@8 xEoA4oG p_(8O,p" x(h `7#x@8 7#xCoG P@Ao M,poG Ż'x@8 跈7 xXh `7#x@8 7.<poZ<ۘzRV<5OrȤpV# :у%v1ykXZK2kB35P^ep6\֓uΜOגZu h*ʄuRnȊj]Nf:v;Swoe9?#/od3̏[+< _jxIkPisӘ.tQ E_׼F]g:A4Ǜ9o\yBh=Ec}.ko\h(+=1 ;?bmf UnSw]JVL~3PsnUoh k#@S+M솈2Od1[jRd. oÁ1u2Z65Iv۴vs>/S?utB~PK@!mxAword/stylesWithEffects.xmlś[S8wf4 @iBY60JB`?J8>F'bIdF~%g*|}@/&ѹ)MxHb?ޯJTyWULHt QH\ D9 ho%dW*E@2+Ÿ wyKHPG="Rn*B&DG0i)lb_Qy/%>80~Nⲱ86SZHHɵ : 'il\E,]LeT:9ή۠_K2!ᇹQ8Fĺ, !l3H6'mL-ILޘ;T:W1F]SnL#bɸgghS(k:'X+(eX6͏/Z,jբ6iZ-jsբ6%Z-j3բ6m Ad5Sx`:4pB{"B4.X0]4,ԁ[S-=ɵ`C7$b{N,lE63cH!}] o8_"Ҟ9…ب!m0۝7t9h G WeRp;"툓7"@pC?sqJsMlyu^W"rpyWX:/?H$:-.A橃v8jv`9Klvuݟ|ixY5 @?BLow\S;cu@n[aD8}sr%;ܶ }pB7}@A7,}󗿣tt7#޿=]!x `7#x^n@AoM,4poG p7 o G p䷈7 xXh `7#x@8 7.<poGOx( 7&x@8 7#x@o G p{[@AoM,4poG prvxX8 7Y=ۘz[ {s*)7)e;Ƀ]>n `Ldl^k]K~΍\Ⱥ>5 kj}yqi8kxVXcW|TgԜQAdX^AʮngR.a=y;7Ĝ?#/k,B,?3?xhIGlxE+[iL:τ"i1Ao;^Չ|e2S2ZOw~Q1ͱm-*!4fWwcyN|RSY,n1Rl_O}* ~#P neoNhKck=\o@C+&ݺ2'T˘-*ZT@T Dܚ:iGu-L'pGہ. ɕPK9L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,a1;(qword/_rels/document.xml.relsPK@!@word/_rels/footnotes.xml.relsPK@!ZR;Cword/document.xmlPK@!&+Eword/endnotes.xmlPK@!y&-word/fontTable.xmlPK@!6OXuword/footnotes.xmlPK@!V e|?  word/settings.xmlPK@!7>$word/styles.xmlPK@!mxAZ+word/stylesWithEffects.xmlPK9L A2word/theme/PK@!!Z,2word/theme/theme1.xmlPK@!ʳC!9word/webSettings.xmlPK(O:pandoc-2.9.2.1/test/docx/link_in_notes.native000066400000000000000000000002431363630463000211110ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "test",Note [Para [Link ("",[],[]) [Str "http://wikipedia.org/"] ("http://wikipedia.org/","")]],Str "."]] pandoc-2.9.2.1/test/docx/links.docx000066400000000000000000000771441363630463000170630ustar00rootroot00000000000000PK@!.)!F[Content_Types].xmlN0EHC-J\X $`kIkK)пgBMd{Ɖɫ3$4bZ܎/#Q )(`qlVErgK2nDz>g_͒lFoPK:L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L customXml/PK:LcustomXml/_rels/PK@!t?9z(customXml/_rels/item1.xml.relsϱ0 hoPK)t;JGILcXji߾+t(QE]1hjP >N~j.G{J D60o,W0H9X)ctl'_uݓ|P=;6w#w Ev d*yB1ߪ kPK@!!customXml/item1.xmlI /-JN-VNIM.IM .IUw pԋQR %bJ 9yVIJ%%Vzy@ (]??--39%?475DL?)3)'3?( jUч{Ǝ PK@![UcustomXml/itemProps1.xmlj0Dٻ";$Xq@^ym ,Hri)*{Zf7luS+kd4v ^_d tb A`^$*KspNtאϤٔ<߶oH"` aSZeo!J7PJbkNӒ%~jS\uRvpb?CW?PK:L docProps/PK@!=qdocProps/app.xmlRJ0 CM]وaC2miQܿwjVӼ737o ~[.UYXn,2)o sy!!,%|ޖQ<"{iB1LMc5^ڣ'qZUޠ9`9*EMЃT"INa-LBH(LOTY.A|kt9[ XڤbepBrA }TTK~uZM|laZ/u`,?Y្ܠϻE=1d4N\/*>PK@!}docProps/core.xmlQK0C{fSuq :Q|ɹE$u޴:+r}\.)fߕNfJ(# a2)y\^$ GpuL`.ܔCp9(PqE1++,;.y7R^>nRPP Hو=Wx"+6bOGE>/nګ4@B<,>~qXx!vf ,bPxB|?8qM9^Fn}×jG&-vx [4_-I9Ild9YL8 KdCN-iQPK:L?LVdocProps/thumbnail.jpegi46=tKvkj &$*AM1'`mcUQ RۚCB HB2Yz>k<Z׵kpdJ}?H|?&?ocG?#ᗣ?|G~8ݮ{p??Oǎ_xI꼴+@ϼ*Q}zo|_n5=~w#?| p//\0vDO*u_8l2pw@I j#[=;t]M廜C5%ۜ w-,g t֭.?_TW$^W:+ڿ[ [I碂2sK0*C>Θ64j >@E vm\q(̽r ~%}ȫO.[4e5Z wu¼ \ZJd]ueguĶq,+&AaOn|Pq>fl-K' sonG)@=` +3#YJYfzt!wn\(2EԵgQxns(a̶L\Dvp$̸0'aL}dB?֯fIFCNiǽL=nSWZRY*@LQ"vRVgmh5=L}hsdmÛaSw1?cԡ'RGaXG਩:`i|Y]67OJE]N^toɐvO'Ͱz$ˊ ?<9bjϖrM޺:ZZ>C9Vژ(ݪ9FG%Eh~߅7:~oPQ HJ?cF#JܡH'','65~RN }m 49вy}g5q0+/1Zw#NCEkM(OJZ"c |;2ݕc2ֻ #w*3 ژZfJd7330ocTr 3)v_Ԝ< ނP6#{_lPW~̩D/$RPg)fޗ =zV(5gߗa;Wʷ]z԰MӴKzf靈e }Qh٨Zz rznt탢w?)6(L~sn*9[-ۍ) L\]C[ ;%yU˵8BH{Ǐyk`G:i*Zn}޸OLUV9w޻4_i_XӽeX ugsNN|'Sq.bŊGHB X<`4kɉsB(ߨƿnU 6" )*'E }쏠RBv nB ;-1&$ .F9D`B2̔QmCc Y 5͍UG 21*3`EjA7/p p!S 4_\Npvrb*vj$QA,âWJob5ul;)'JUzzΡT\[_A%[@F"-3/k0EI\;fi06{ !#dfكvyf^]幟TZe<3№ g<8[B6ovc&:Dኴ9x|ᄏ6-HwL*)X7tA*3%d2@=mQfڕX߲~}a766y)"h{v2 gop:b5+ʌ:AZ`w/ >l` ֝ռאoX=?wwJXnoe5jg3" UFQ +*Movf5s+y ]ș7 7 >qnAcƅUz8\53#ܽŨS_\L4̗0Ael+V/ %}e|{)˲C-Dq ^6i-%H`*ARf W }2 w/Nlw3* [Y65{ yo9u th_<#֟=5<'!/^xz^H C@L Tn:/ (eiOsLp&&ɭP$Þͯػ73ĘTiPAKDEo׮n  dVrKdJl7b6dzuOۘkTUd1-VVQ7JK$ccqL^gdmx* ~w<ۯ++?~nN}Wyx*˚qZqKJ޲rm /[:j#1gT +*_WaPHy+ 3v izOo檧,a:Ȑs&[P @#ÿ.eYAБsbzy,T#2aGQ`&lUސAed (X3X7ovmmNr<'*Z>wc(Qv81&)D0YyadĚ`~G?zU%ow,a וX/! 2 {#rgGr?+0`㎞Z|rm!:0طr&:T(=_ssڲǫ%!2m͝{۪~\< ;M9gΎ&nW%vǁۼLp$֣pWG[_6fpٟRh' Pg4H%Cyg1d/;6Oʆv9oԮ|!u~Pr%J3,k}mS+40݉m]V[ܞMsJhG$`z;Vm3qy 8ܖ,1^ErL~A711InlAEݩ#vGdˣ3 FdcJ# =fh3*+=efXF5*'0{8+;N:1F?Z[8o)\}W"Cy=X=h/,C{ar:+92jB:ŃH|tzj +:D%9ykQ-ʌH§Z1|w/l C{){ 5NZwK>iU2)g7Oǭ\{-[u @fuG._^CSaLNWLj %xYJbsw jdt#isn\jY?j&!IX9f?2u&S$̢"h^X@T^P9 ]t]e~;mV_g bbK {樬m/.f4Sd@}=qs3vS԰&tzw)[L*Ŷ܏4_4c#PÙIon)%/ I)N[Gĥc,24ʧ{sÖ1:#iyh4QSv0kEuj3G[&oTJ,gRcr!eӾZ_w#Jlh¡Zvy9;]:㗎L{\2 qWحY4 PF&ɿK!̽Hv",]qWGbb3Ku1QhĵbA%v "Lr17y8aq,Sq뇗Mr |=fŷC{+ Ͼ)m6^sJ5՟&گ^$ \aUO|{*ǍP璚"(fUd!l ,ϒ y3>7xSHDhg!빍IՓ S5+9đ*CStA^wL~o6tU~;ž/41] 찜^!=|Y/$)"×yΌ6P9KuѓQ!mLvp @.8#8)1xA~nA!SgHi-FFCɂ2 _z^N}5A I+hټ-24m{< Z< =O~@KxZ7plD1ݺfk%u^gz\5-!9ʷy*!ӡJW>~;]~yEY+DH*L 'tpfÚIiGN~8~=IJ,BDY]KOvT|saLw2:{x%(Tl`TYZUmߞㅏeEmv7"tT twbMv^kxt4k!(.&ٖ2MtSHHݛup06#4I{sUHMU\k4*XbS/`Cq@>=a.|ד!~":C"=@K07$Pwۊ8AAy8 8kMX,a7tB%ҊC5+3׽ xBt >zSy`aD9~C#]ΦNu'uMKQbʃ j0cwqxnnkJӠ rQ2DӞ%oLTYؙr)ʼn}d< {ql^txBHiɚ^'1U¥g4x^K8~[9/v?7 9֤jx,aҘkGFK~sҔLزXd畦F_֨a+A|Mrʉ$~ί3pj>՘8C+~XֵQ'^ږս2 8Dh??SaE{ozӊn=Ek} L1ރ}\jsg+7h$g_KTq-q:QNRg#~peķ-NOEGj|H I31;;m$:^s#L}V *C+'xZ[=AƴS6&Ձb2/J'[f7͸<ɿ:Z1"vjjv# y.u \P2o 욆 (`>G3/&$Ư2Ru /¿vX;2I oy{łb6-U,l'`_t{l"ӻMhX#(M .mힶw`ś@ol#iNi/ge lZrY Lڟ7Yh'6a y1]*e\ϾGOLNoЛKBF,Pu{&]vWYܓx5)o6^SIdLVt<^쨄SSjl2;0+^>,0VOeanw⽲4/V_0Lb͹;̃-F,[Z302 ?>6kugF&'N!(s|mΰ•p# !2NFCuXen(.yos+%wu UsOnEfl~>^}o Ϲ@ùGJlcj\?yy5nJ-Y猦?nGIkr%תZf8ædx~wמI6^a++$fCj4m5ٳm%`7/tpD)ͧİK|Rir@Z:ew tj^qb'[⏞\J;|<{p8xnԶPzv Qw vt"8yD̶0X%Ʌ*Юo)g֙hD17*O6!͟Xgk_9ɠ @ 8[@ֈבd|I&tR}yghp>8iX͸>bB+*L`hjî:o7'BY5HG]emQIϼ ^)c}z9:EQZEzcGvkoqYMŮT¹NPl Ta頋 ;?ՁlSP'xq7|~|Bр~(3:t& /{dNakRe+:Qn&+wIzSi~'_1SvR"AP+5hFeAw$S+[᝸`ٔ?ERw؏vߴӂwi"*jq`{K&^_>y4~)e+r7NI+a)ONjRΦ(~# Z%fy\E=YX|x^5/=MdޭkZq4u..t)r5q!Zc5s{Nq}&IEp)Kݾ!tIxEx2QպSLrl}UݙW[SUA{~ƹ1X{mҎo,yRï2|C Ļ!]w1Yߩ g0TS;>KgʦՕRt:tlM\rgе1gqss4aceԓku`@;N휒Z"=ny64@B5p Z%%iFhү@%q5 )9MGH2R3Ԝ仞 'Hdled%|m<Nl\oW$"+)K޻-eϲMCkC'Yj#˴΁F^6Ml1jLuҍWJ t-qqE vVx.99SŒ@{cNʆ-ά}ٿGR<4lgDtf¡ݼxvQvV{tk|W;.R$ 0FԓY0ߵݠ#(J?1l}jz>-fL** .zD/}֔6 Ox={.Py|bY'M]yu{.[JQ, &8BB! u(@= ɉ+P]m_&]Ue?~gnET%%9Š蜻8R XU_Z&kq&yxKejX 7%l=9Bf@(bmC F;m%U#"dcL5"xRWN7FW}|f2W#s9%uVhǏҞc59OË|JZ,կW邔AG!=͢-(EtSkuRW֡՜ĬEPZ2Q0il\B6ҥAF$ [VlPKb/=)ؚF^b6. .†K^C A:s. ұL$ W MM,/phke{p:sc4f UGsI#mÒzҀ`Չ{?`D#.6»)mնOwaxL4{d1_N.hX=:5Lۏ UERLMV bbCY_5NRݯM-lqg j8vطwм]Z%JpI`lt#L^;r[@Q7yT 7d_DŽV 5;,pkKG:%^ =}`G;&6Ν 6pL%S}D9-|}!䲬?Wrl햧U1rZl1lX-zi8$]M%o~ ɥc 4R`bheX: ׮ehTܿeqʻt:yiuWZ" *V:-4i[ ݟR碶%Uv&E۳jƹ\$TOy#}>oꐋ$ͷ -z̓s~HlK5KUTTH٫<Ŗ'fu&Pb|4R]\NU+}7dxOwhv~K'9t JM&u⥾φ{6]Hc2)a&!uyS:~\نuO[[L7lxsA?Egüچ3e gkN!)GmCq9R^V[ CS]='yN* MNcj~NdR/?@,MfXwuY|}Մfw8<^Zբ!zTƵݦ@[(R+dlM-7ad]#DcJsX(f^[VJ-gh -[| ZJ۶He֙v `WaM~L $z]ŕZ'ϼ-Z(~.3dJ M!Y|ˍXxl4^:it}{ry |9On9QշwRqGpU?ffDصcNK}e K(bdFkvT@q+{U+vEhD˥!Ts"OՔ˸|6gE%K.?CWcHמVpg@Rna9J : W oQ*s?`h IKdj|;@VtRuwwiws潈kD7o箫 oQ =8|E65w\irX A}nGs:팹t O=/ :;y uD'昦[HPq*; hC\25:>BJW!gO /P@ilḪW9fpOg:t_߉;W36]۵pMY~== _PKV ݍ+x(ǵ~ )E7aP9R-5Qk"g~4OkB Q=v@S (ʂ0#Jӓb;] @CP8>I\g' ~r;H]'DgH? ~)/fk͟,kfzĵ2gkI6q<=+WSy7Va:liVf]AC\3I^qAJ8;n_odvCc{YeJTNl|g>0wϗ]hIp`^쯓]& nk&\p&ϟvW'M2h7n^L:CTI!WJIMayp0*G-^V*ӊ3~V~I^xg-Şb 4;r2hͥ^>{TSԡ&kc((r.:za"78|]M+:z] ж؄KM}b)e,H3-`|#twA/ Bhdh,eSr_1*& ^`F;oTc9ni}q> ~H?cڀXxwABb}CKϚ3_5sm Suሏ9A?^a^JtoWoDᐏeXusj<Ef>?8Qr׋+٘=bWnT]uSV!K:풓:ILH~>4J3qW'}S3ϙ*[r}nC>I}K+k-Bь}&U:bD:#Z,_KsV5scG|mZ`5d׿M;]m?Һ N눴w(KB#FJrVE8vJT# 7w(%x$F{dkr[TŽ74rMe޾Vzg BX͢;舰U ̘Ȟ-NJv9X"\x˹Fj,fiB2Z^EMユ[.leD3{#'u7- FLm_Rva5:!b:qNfxॵ:Pt5ܖʬUBԦcDjEK4yjs d*HdRF:FQ2͍`fKܘr3 .|ݯ^dOpy{2;,RɋQ(lO}F >rI1'UWeuWǝaNYhWYN'< F;b~N{8reǰ{!\T4Vg3v/K "Bsc]}/C57O~tX4۾4 )9Kw|{7 ɜi3WrM PY[=CoO:c;[#CvqU)l؊dd3er@;N&0-b^2v@/g9H&O-okj]*j|Vq.uİ ڮ-;GӦĖ#ZZaͿ3.˼f¥>׻BWw6+e̐~XVXп tWJjf/#+5YaښjOg4ک_ [WB|qc,Ǘ65ШUnV,z߅Ukw͉P#[ҧ6ĝ\k7ORKsz@Ha D}Y1iMcv;"Rxtv_|` o(2Wca4*nz{|`v#VgX_C+fU`lþfVd{GTS+]<30ׁnr4Av(%}6 RJl'N4\r%ƘSt]BLa=nXR1E+_@}zf6Lxi9=,7OW}CjŐ:P  /YH=t_kNS)WEF-ZbZh޿@8w:3[STx?KNA4P %ˆGSjZ5#D%A$!HfSJAjI3Hw{9=$ c8H_|!rb@ŋ8&cxC`9 Z`^nIh~ڎasTcَC!_/aW (^2{in*QV9;Y#:Z=ݍIQ Ț L6kaԞZ5&ⓙpt=(saHKզ"*eY3҂it9+ɶI+Ցw|{3C10g%qeWs-}69iouYy;+~+u}FK"K w V S$Q!} 2![6KcCu߱tIӕ9/ȭtX~IA*BT㓕t=$1j{Z(eSlXw4묁#=dwqb_s+!&^;)\Z)=sݶ%ǩl'ct)8_|ڬ ,Bh%zrsL ~PܰhcvtCUm՟E%^%/МE^&sk+3{W#8?G &Yߜq#x3YYM jX v#7,&q@,U>Rŭ~k%τMRUW֖/(q^)so%+Tӂ}w+j *8 d}aDDgO=YJ̇Xf[43Dx F]Y h3Ԡ'})-/\Tˌ} \C̺ۙ Sz2Z #"̒[#͘}9ΫyjU!W7JTY[%#M(=Ŧ.0>0;QqLߛDŽ -oAFˌO;)$a5=xv|hh&ZB OLI}%zt+7,VOAOFSuQeruM%2\מ/ :U"拐B?l8%ːRF-b__6 8mc>׷ƧަFJm!N S[wYm,PF707b2SxEt$!$FrZ|/)MjT!j[!N5Ś-5(:S.wԀl?1ON^i|sٺ]5]pS#,bߛ?YZuhcf9PH'>QH[r85+sկp$o֤8)&xdCdivC 7,[&p_yI?&t-aE㤃cxoO8[.6:VL{Yr3SȻ1= u-t1^+e!`ŷ%=JϟXm]0FCHN!{uϙ ͕{x< %9EÝ霶T,ytŽp0F7]TM2ps ~aQSθ6Tx(DQݤUfjj p]r+`I02q|e?P %X\T͜)TY^E/AἉ("Y_er~0%fNw՝Xܮ'"yWxS#;(ϱ7^".f&G=C}, oJ#%0b9ݞryry!wit\ڿ%GS3=YԎ^4I@!<uR&HG.4HPL@% >_n,[ (kr>>PK:Lword/PK:L word/_rels/PKF(Ebword/_rels/document.xml.rels]O0K]0 3mζgi ʇKL/Ӟ Ǜ<>X:`<#.o̳$t$2-X6s=6UDۀD#V cUb4 4 /\xqSe ӛF3ymg\Ic%XJ営7Ei :0 PJe wLPst{!SoR/gNפHH&SzUj bwFpC`} ;<|B?%fR4XfPDu|hRފn;u&e3eA^kms< Q PK@!@^Xword/document.xmlXn6}/Xb/|yX h瀖hKD $mIv!Ù3GCw_rLUVSL"d7Uk} (OF@ƒcMD"Lx<t+n#OvFxr,w-9 r:.Z4Sx xd; ,H7iaSuHPǸiq9y8|+ƀjKx3L OҢh04A]poB+#\cդ<QFTDhg0 x5}rwq}EKvOX@F<&( m2@+R ӆ'y-0b>nCSV i5-g tϩi ߚύq囮h+ELӴ4jFzJ̨/-YtT^#S.@$V%/LNf%,H 9IM#u enu X>Z" 2# nЄw(rj3^y~8dmc2G󂗑 'B EPEP_9"~T[kk%9mm}ʄmd9Uw 1QT+>OG OlJԈBo٤ ݷϪNhjB6>˯_D8 ܗi%=HvRY<} =W5sr^=w3uGs>Swh{{}9ms)\@ IvX{Z/5myuq݅z?:_ql_Dl gtw~o4噡ci̳ũGJ\R0y0.hsl0S$po{V vPhvr)YGO+7TwF V4R*z(t8XJ+K%TDtjm9~ PK@!BMword/fontTable.xmlSn0 (YI#rХC>MSQ$eǫw>Bѡm d+3%; % <]\^K̘\Ep5MQvCuDMЊh,|q1Z9yep쇡vtsm$q4P*O%q|w0 54眲7V)χ `!lsm&єY o擄-MIN:wxLs#O#gR@҆hDhHD 'P-6#"E8 >]|Fz#-m7ΉbAItb%˧P-g(EIHnU>F9f}qу8_H'zNx9P<ػԻ&Qܺ#co[adH%DA3%T`&{o J҅wOαƠ c/1e<HwɽA ~a$U0W$e3sy*qkb(XJ*YNmT6*81%YGgQ'yߐYAqKxVSw293})֦P}ק.ro Y.Q<~ J V륤 %~r<+GGd<\.&g2\gIcQpT^ ^ S)tMoXq@ %LQʘٯ$$8]p!,6gȅ"s^SϵZy/gD=q0+J>WlV~.l}d (`!;5$aYrvbeG`6f'hzn ;E:=NWOy1kyg;S>&DR=W) `-"ML4aAoǔnv^ӕ&9e/4dˤh7#D t? ;9AJse0aڽe +xu"^I%y/7H:h 8+k Ķ`im PkA*o[Mxl lP3wK_L_\S _s-@n[a D8}slr%[ܶ }o(&oXhOFirXioGwL x7CoG |"7 xXh `7#x@8 O(8O,p/oA4oG po]!x `7#xP@Ao M,poG Ż'x@8 藈7 xXh `7#x@8 7.<po6s1S{Ha]ATRNR8 :-Ƀ$f11Cǒ]z7tun{yٺ.dfLCi0?n^ކk=W,ւ,M{1X2 AE7^Nƛ38}cƟs׮lS%؞opdz]'Jӯ&Np8Uٓʏs IBoRxs\:/p{ 9[Y{Cnr}Co/^Vn(ק+kfRF}>4s~GG_6#G3 >Gy B')MxH"?/JFTyWeLɸSDY s.qO,aoD*eh?bG="Pn*BD[h,S l"_Qy⧒ Ufl?QXkZdnr%4\g$LKVy{7S(ZgmЯ$YCHanGy=.* H2ɷ|[j֓Rsvß*_V:*hk-$#"ɸgghS(+:'iw-kcMǨ/\1PbdSQfN@ 2g_SL?<*K.vYDcYFt=;<[^ѷv.o#$FZ: TL>I&ȉvVNi̾0v( _  W?g(H^XM3}m8yV[Ԭ9(2.xޠtš#w.F.N]8{ -|XfQEmҴZHEmJZf@Em[-jjQνk69ptD[h(u{wDGIgWei:ӰPnNM3a>ɂ(A)gVq:."](һ/7M0@=.g^BlԐ6Lv ]isQülv,FFa;;.?z;ƐO\?u\{N:?"rF`y8WX:?ĕHt~7;:ځ (ځ,XnZYtgNë5[;lG*t+k`Cƍ-|@n+`R5q_;V g! º ں˿Q:>V:p_.<poG 7&xX8 7#x@8K7#x@8}[@AoM,4poG prvxX8 7#ǿEPBo G poG wn7#x@8=- 7&xX8 7#x@8 w;O,p vmD=Ү~Xy9{/x`&f6ך}ے_z_hnk{ [nn~Md}Oo7/6 g oX5AxQ8fRGh_X2-ATآxu.'͈Iw+,N_񧲼\.kWI-g 6Dy4fB7Sݩ|;1ѹn`/FKoy9۽'{NrrxuBn"r[Fyt}:ƙi&d\<kFeQ\ ȑ@Sg')m9pܢaR}tbi[#{bΎ }I=EhE27Nefy ˆ4HFtAtGLh-f{}?4:mӫ:ќo3* lԺlq=dLp*LP(lKw>آ͂$ jLy\UmК⎧u6r7s 4-[ۃ޹ՓS^PK:L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,a]$R/S}.`a@?h}49),IJ_tA.pRTAtފKa*e@/rCsz3/`Iy[;h+Z(oDZ]uŁh,=Z{oPK(O=^ _rels/.relsN1 E|E}S fAC|@xjB{B@Q2b81hV5( 6!t-,#mHU YC/ɛ\D^ O4Lrx妠֯NaǶ,GȈ_B6ܑhx}uΩC{M~Sy(&QJo=qF 4.5>.K}d87PK(O(K)word/document.xml͔n {{K4EKzXUiUZ 02$o?>mz/xؼk SbL4NJv{oB0>P{[Rx'4skD_ x\8yZm+. $/P]'K4H\P+-9֯8r,&)V).iIΩAhBT? ϫNRAz4Z;-{jPY(*G.Χ&y^Lʾ)eܧ2Mo[TĢpAg#H?㬺>q=q3J^PK(O/ڙword/_rels/document.xml.relsԽN0񝧰no(jҥB !b;@CK".|ٲ~u9dI 4u^˧Ac~v9tD#NvK̈ڗX%?ږB2MWg@q1h3P?> 9}+mrb S}$ ۙb>z˸ Y-iRTNblA pY0 (1Bbm2OPK(O4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PK(O2Va.word/numbering.xml͘[o0)=6`.JVմ! m34f#d9oNϑ^pj4S ,I.6w!xX?T%\iDbu,E,^2-Yi^2:yQH) Aȇ &fqSNHc1a$+Qxw;vV4G7Q cKf%el+!xyvד9O?ݤ/{S7Ci6;'0yV46엪щ Qgjf}soa{< H@zQ}YX00K2Ɲ`t & {a\cA߿? u!0,0?*'4CztK㱅(>%+שMxJ&n+^|4 8eaav 'mFCz lFCv 'mFCv 'm(FCv 'm4FC.-AN׀Po F=x:5ͭQT}M/sJƏk&VOraH< #CȸvdώoG&#Ln?PK(O/` Nword/styles.xml\v8}Wxb մ5m)}5\G Hb'!楱A-hs{HDYlAxqָ?p'7)=k,O^B1zGhء1kZmRƇ Io@Sb <77>3 !eh M⦴1}x8ДSg aB/8@ @a\?\9rxk0v/7Yc@/R<\ӌzdc3)>/ _ ^ELA. 8~~b53 +3a8k"B{ZM.@K_KoGJlb&Ss=|\P_&Omd1i, G$5~2X3|69qɇQgi{mr:(`l[((fA[A; "0F4`7442R( qg NǣHt EVimwsYmweI̷)b.{CwH.h"6@Na1|8mlA@I^oMmJ>RTDObl: CiH`V 4<ڻ0 SrP#Mcڅ̙fό7!MI /S œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPK(O 2<rword/comments.xml {"xOM{XiKt@i#3&㯥qa[BN"33.0V%v[q7`_[).))GrJb JJ6{ Z:+=dBكQCv^, aW4CAh+Bv1΃ \4lD^-T 2P/e9Jb~a,}ЬK+ ftg BNʼn~Ka믯PK(OnlHdocProps/core.xmlMO0 *6m'uHHEEk>{v혴RvO$|P,I$#Tf$:U}W DŽ BL`-1J؁!ōcL:.|  HH)&mB  Zdx7 zS+<:i}j2v]u/[?jL@n^ $2D*;O4xA&6=*ǧfM2/i׼)sVtUn?#`7ԿPK(OdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PK(O煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK(O= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPK(O%\ word/settings.xmlV]s0}_VoFYNE3&I{Qt['9\W.Nn @i&ө۹\R*c˲5roL@1jݪ4t `TI-ӢR2I-jꮍɂv] R1xTQt+ 5mm OY7]oHݹ$v[]n.U\). dJR++ ֍9R,RDN8vMJAb{.9^K]LBC Tga"(J!fቤ<d܀BT<զ&TP֟U]m,K<iŐ-7/$ l\CQXsS,aY3BsP/̙8׾o⾪u f/C㫔Pkt찆c?1j * 7D^g,z[xf F;hvY4ᨷN`486̆37Z݁?oncfNDP,utQ,&Ν"i +D͌, 6&Vւp9tB~$'yHԪkr +=40&F6kjRn &fW"5| =6Wa:dFE`bEýBUkm5;ė;Ԓ@ݚe}tz4ٔK? ?9Q183~nvW4Ty*!2j&p9PX43P56P#4XSn6v%tykd.H;6%9qڰ<_YfY_!op)BOb .qmOrݓn [@?1PK(ePKτ.OdocProps/app.xmlj0E #e; +AW m 4UBRB0 ܹ3\Ae^ BA|LY B@zGv:QB15ƁYȓms^=%'OLUQ.1w#݈s/TX>>ګK.tx0Hf&`RʋZ0:5 G2$){bbSdBYWmEئ!6 מ{sCcd!v#5<:9r{'p _#0-5:ևt2;4e}@*ѤǺpŭ؈\,<@,,WE;S&o[`V2ipfQt^_Icnαe_(BV>I8te@= gؼK3uC_^ e%s4@'!~=k '$[{vtiS҈QKr6\ʬS^KQ/&F P}8Z ^ 9dxkCN'` P3ҳ&0 gM|Y9'=cYzŁX. =(_/0ȃ=Ck, }=fqV DPhq 2L$1L= 2$[TB9Y5[~/ /< E=N /w^bb)jT(/ՙVO2y)$kzIɶNf!{K#f/g액TRTR*1ئjRjP𹃔RjvDBuDGUK^!z{K#%a!DGmJ"sYdrH._D g;TbM*K*I.oOn8׆\ ,;sGw^??o!a} bs!&A.+cc`Q.h k`[83r7?~$"|nlS_A|ZEB8JU8GFhYWG !(oh,[-knK5c]}dalEwv1x0(AgxdUr\h"`XQ"XvW޹ή )VTe0tzVXNmŞi)w Xxc'l  ۱CThoҾgkI˗ NRG!y(w)]DtΧ"`bj:JJWuA ␗AK&kRa.$a>:_I,v$Np'C+ 4| UW]7@c a~_&3׎+ 6$7c)D%ϳ̒S5Z:LDBٝ3 a`MzZp|ViT-WD8E+ېJ$#Mja-uie.bd<.,M_GZt%v-]EӺWS#Ktᠭ`g҄y,DZREax,KY^_wnn8Nbg/QYC8! E֗ۛ1I"1rQ1'l)糑mdYJhsqK%% bLT]eHd)UkYB #)?KH1"i%l*hKޒd^ ׯ(ٌͦmV[޿(rJhnj8EoDXNxKdaM"cy#n[t}d3>DW Oijpdyp4w[݋v2.7s%YY17 $lqk&(9.״6V@lU5X7.ܯ9gD(:#6wm}`o) =?KnNG% "7}AnwGR󶆊xؼA%̑,H`=K#Z*(bᢚcdP@rXfgBW?̡ZDyk0kNa D)8CGgCJ튳_gP˥rOӣBqs8Bhauw(sG<~PKVh1PKτ.Oword/document.xmlWr0}Wx6Ci3yheVH2~}W/ Lw9+Z_^=p6TY8a@,}sp"!&[b«MI\q"l$rVZ$#3kidnXD9Ť&BZDQ4Rsdaȇ,\8& YkJL~)osL֍ԙcQ#;.B9h17 dGc4(7V%RG+NCֲR-ǨHWULQFXmxnpBj288vB*U[FMFl=4 a`OSPvQ?6d+ #(#9b,k'WxvvV}vsY)d^Vz֗Ԣޅ5kv=*OLk7#&9:@$SL?b'~<H{-hNOJĊ,ivf$Po2((kJ4*4R+TWru~6ݹϦoXs]ct(Yؒn P*dxP!6H[.QA<U:x<{_L-E3- |+Mf~Բ\xZxUՊ,XHeI_{D3kN#` ռ7|ihD\df6"b/ѐEߍ<*kӁnW^ژz%_3λ>υHs^9C_`(λJҹp{UvqQң- p`8nO,%Ē_2S LAȮ Al!LkC5Q7CIaߠo{Wd-.zHiZ?{W&յ`$ڕ`)dC9'.:>PKrŮ&PKτ.O[Content_Types].xmlU;O0+"(qˀJہʌ\ls"B)^wη6`jJ&ɘD΄*y_l.w\M{sCk%ڀJd_mA oz9_Qc8,Ux"DM_fL)8XJ{qJQ7wq,Ad¸* ~ī~H]@ۊ Il/! MΜO)|aqWk}si* r *"Y!l9@wmvǖkiw%S. 9;(*;訇gc_LeuU$jЇd/5͠dK*e[?PK8xPKτ.OrD _rels/.relsPKτ.O?1C@!docProps/custom.xmlPKτ.O(edocProps/core.xmlPKτ.OP-FdocProps/app.xmlPKτ.O) `word/_rels/document.xml.relsPKτ.OkC Rword/styles.xmlPKτ.O&pt|P@word/numbering.xmlPKτ.OVh1$word/settings.xmlPKτ.O 86 ?word/document.xmlPKτ.O' *uuword/theme/theme1.xmlPKτ.OrŮ&word/fontTable.xmlPKτ.O8x2 [Content_Types].xmlPK !pandoc-2.9.2.1/test/docx/lists.native000066400000000000000000000011521363630463000174140ustar00rootroot00000000000000[Header 2 ("some-nested-lists",[],[]) [Str "Some",Space,Str "nested",Space,Str "lists"] ,OrderedList (1,Decimal,Period) [[Para [Str "one"]] ,[Para [Str "two"] ,OrderedList (1,LowerAlpha,DefaultDelim) [[Para [Str "a"]] ,[Para [Str "b"]]]]] ,BulletList [[Para [Str "one"]] ,[Para [Str "two"] ,BulletList [[Para [Str "three"] ,BulletList [[Para [Str "four"] ,Para [Str "Sub",Space,Str "paragraph"]]]]]] ,[Para [Str "Same",Space,Str "list"]]] ,BulletList [[Plain [Str "Different",Space,Str "list",Space,Str "adjacent",Space,Str "to",Space,Str "the",Space,Str "one",Space,Str "above."]]]] pandoc-2.9.2.1/test/docx/lists_continuing.docx000066400000000000000000000424651363630463000213340ustar00rootroot00000000000000PK!z!0:-[Content_Types].xml (n0EUb袪*>-RxV=QUAl"93dFk%Y?lᤲ}MGDV ,l7CLHmcX9* F -Ì{Q|^"XL` b1y]$,y *R/2Rn{\xG L*vMP. u KW, )68]Y}+ FYS1B=Q0S>Hc q!^mDtsnEX3_ shvqu+X9@w3gSj`g tC|[S9G?+uJP>&/TOy oPK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!)>word/_rels/document.xml.rels (N0HC;qRN/W$#{ 1EM]ZY|ܱvj5h),-g!`./V/KKFY4D#la&V#=$Q7|l/dɵ#hS 7ϧ+IDZ!J 6Kuc=(3E h-`7Ӑ ж, !!+;-mka|7!!>x=yy Bvv8? ~ePK!X;#word/document.xmlXn8}_`=(_k)>/hP$AQvܯ"Iı[4M̙ ?|+ykAuŤE4ZT11E}u2Z"\ :V>rIRT@jTdƨaW%NKFdnN,cx)u J/%U>cUhRQ\y\b}[@Wذ̬;50rZ ɚUzBah4>vEkʁUƍC@X4 XٷTs\.4^°܇~J?=2b!PoaRb&6 VpQuC5?.9ZjƎC5=ٯ Iv:̴ N`I㹐80 -[tVvT:Vv3swvffK4& S.0EgIQ[iUdp$K6Nsy9& 9L4(vݯio_?63bwak((+JDж\JC ͩoyg1j!Fg}O.8(M;P|W󿰵f$tSǒ :Τ1"Bݞ{7+((D܁{m'ڸI0`R~}&Z&a0d~uKt '=gXO=Iu!)>rM(D?nY䃀\T*c[bѤb G6Vf {Y*#hc ǢR]ί$C6³g*n͍pﵝ݊tÖ͈1 jC^Ќ} em.#w" vh!Sؘjklr=+'js}z姉I|FEZ. sJаO9WV'43Xk(41tL׀NUJѮGf˃''jҰNttY9Zқd,֣ZBUhgopr1coeHn뱤xoɧt?PK!Oword/endnotes.xmln06)qRڴPEX!Hʪ>Ét:OSEFXY@ba,A@.*lqjR9`P>"2ce6RFKh87r~'q7 8HC6 tF7k A?J#_#3V;H$uI{AC7zK.[Qܩ4 Rߥf9Bq0hlh{'S%a yuv7/9vyG؟Xme5$<1OTF;@'+RD)֣fʼn4-xe%gltv2_k-mU!*;I|{9zŻ5jm?!+9z>%6PK!d word/footer1.xmlXY~U?Xv}ٽb>@Dq~b o3>]/kN-#]0~i2fÍm脱\nffK~,z^;N{Eb4,Kzځ(L}aDA m* r(f誕 hiqn;\5LzEfISN'fZ!+ƦҼwx~jukڗȍjE 475)  #W$ k>YψL%1"CG+ψq͇$o #Ӽ3.=K5 $ohᯡ+I꿁uw{_g`dF~ i,vY[AºQpr/Mw7]X A'ٹ ^l;.>zc}ЫX ={~2faᴮ:fh,%D.6\%=p3陱@p4[a}UKzmM_Oߩ+QLu5] 6e9'@x-O6Vaqtߕq=ϵA=T¦֛29kʁ5B`lF8y>SV_ mJ?U{%ٸ_,uNqI*83Y)AbZVbJE䋱xfCF xi"J;3Y=1rcuJ$D #1+p5BuMEy䮕論k"lCq  IBUT͒vX[eM,/=~UdϪ]QVJ I{U6[,\(KKhGz4ҬCᅕސDSԇ}OY[V"H교V5UU2S'8vkVyWI篌YuGyވٙ6M^ B$K3ԃOI/!xrG)qb=8!6h% <Ul8p&y'eOŇښ WԷi\2|8^k'OGg^i}j"t'DPm6nޞ>ᖽ \ K%[QF?D6 k8Xc÷'[^y ?g=1J^A*K.J83 DŽ6{E<%Fa7wqYcc;LV.vnwt6>TiUNaɯA~5vHިN7]p_ʊ/^x+l[:^ [lz߁ۮЪv񍗑xUj &UGdc7ˢ\!=g0.hZDNjHĮhE,x5lZ6ZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zC+C53TG{kU$̍TD# WK8OS$yjQ.bN-ZgR6 wR6-'v/&0A o{Nāw+=J_, (-b 4 G/o}+0tyvM&zFO7NHjtFQt KJ>:VzgQLe+7V*P9 anHQ-Z.-RZ!-]ygJ{,ymK~syR\N?`"*] ݣ0AǪF:Y0 +p iN>áf].RN%ޖi:^!YJ&/ʍ+?#-ךѣi3 #`{pHkԨ%vgnkw@//YVy IdE[Ra(r֛`%`ΠVPceu|t2Po5@~8:Gga͜Awwy{% aAv7 +deld'۟`0*`@ɷ1y$#E0{`~ѡ"ϰbmi>q6C' ]9eu# ,0X* ݜx=8ևh؇ OrE }O%3n#H\~./4/OO&ӧ!Xzs2t}$(JF$)=bۯ/Ey"x'EYf/vvpAR<M9RNBe$IFJ6c1+wvw&5 MKeXyZ,XVTڊQ$ּL(aa >/1%R(a>U%pՀ$|q~bQ$M~5e\g~O"X E%Bt| zAIQ,ܹxfa7S~!d@oIzSmOWכf,bOacCquYKQ_\i{4*Ŏɮ<2g<.x2yl {ˢM?4ZoLe*?*y"zsL:؛D4K>2_:_P"#3n"TQ=iQ4ܸvuDu:CNtP'zP'Ry"FN"< nXͱc%4*h%9?Fs,nZu)lVR< h.ҲѤ3|E#ī2ך!$olA rbxW_-MH6.cR?yFo]3<|U`V[x+V<xף()9W"ob(/%̗ K*;t4`0OC̗y=4`L|3g:A.s &-iobzCaF1l߻zAieLBqDs5mE|LӃAӞfQWz9jY%-'w4bˤ*(|hqKz$Ѳ<h yr=JnY|6Ri˲/^,wEqir>/jJ2 jTgXEv &qeGGɞhwOv_ /o-8 \ ҂ WV^;bpcG nA-$)&;bp#eG[+#Z+hkKk).ՈQ1x8`G"Ё:b`G;*"Ё @0\B{\B{@@tB:P!T@jT@*DUG**w THq THA*D"Ё @tB*PSB :P!T{B{\B{@@tB:P!T@*D;*"Ё @U#ڻ**"Ё @tB:P!)P!TODi~ޱ?|cQ&j8*5YW|cbeYUD>??Ӥ|yBPK0rMKyz:Zߦ%]M);}Lxj1k氊!ᾖa+=nq޴>XOG ±P91T4;azvPV ^X; &5 3j'`']jrܤ #VjHJ8 NR,5DI 2ԐR쐭w!YjrRCVjHJ NR,5DI dԐRC.5D9K Q}RY(AX!7 qs![jX;fK c4eKM섡 CePzZ1xa(vԸlKj@R%ԸlWj\+5.[K˖eK]R7vԸlWj\+5.[K˖eK]R㲥.GvVԸlWj\d-uI˖eK]R%ԸlWj\+5.[K˖eK]R㲥.qْUj\+5.[ڒ-Z`l0qpyQ3~YTG,I`>e6Cw?wuKim+|8qem>|%+VSV[R%.ŅuMk3]R/]ݼR˻YUu^m4\Z묺rR2+Eύo+(,֪?HV Y(;ИKw?/evڅ?D,[c@_Gu7@ʛ﨔oETo~c"A6-Mnkg.<+QsYu_uš`6#Bmn*Dħ˜uh6F[ ܀^mYmHy"~ $1 = g`=>+ѿI?qv؉|EkW}9nj*juՐ;MjfG_'<+W=-l-0:j:2iY*m ?V#rlEjxv8Ş==||N_2SE-3۾s{s'y.=L8K^w"Jx@S)mn7,սvk̞6 6|r*|Gٹ 3Ô>wy4txʦVN bS<h-mZͬڽOs/V]dջM 5uu]\Sk:d.WmO'XHZeH|JY#Sэ;bC=ToCTMmVs*TiUFGd)Պq)'˒7[UWG\] L'9~oesN:GtnٜrwVoHr }!ט1%mqdsbLlu Lԃ ԌQWESDϱ; H8BoK_\my:s^Qٚ~>]W"L}uq=4HtsBP{W#^.XWPK!3S(word/numbering.xmlXN0}_iKTZbV+&Nk_d;-ׯI ȡy(/393z[d慗׃$ "򼼘x=!I@F yPx7߿]$+ȕaOa1ݱxmdSb .1941>MSCGyGA1Bp3e(eJ9RmǀB3 eH+`da9Cȴp\ roqdAC"͍>AU4Xm-άݎr`8f0pȈNpxDꋿvG>-9?9YNC{ [`Iާ&Nsiq<}X*ST{Y{7䀕w{dƄ(d3o0_{g=-̞6Fiia%1ˬnG0*4V+Z]0riJU% %: *ݏ4, "+"Uw kS@1/%%R(K̼G)O'US#rsʺc~%E GPG䒣*%09*iFy%3?%nF*=JԷw+˭W \<D+ -cD|Ha)rzHR}/Z˱Q4Z?=nx{E]wBo0hխ7ޤxխEDz.Ea1zFݚް zN FzZݚި zNMKQ7ޤ zukz.]uBoXZځ0iihh0 2 </ip?֮\= q1@m;O\0-uAݡ.>}c{3gC4]vzz24>XsGQGu|Q'HF& xo&*>gd]-P _-[cR=PK!=G)word/fontTable.xmlT]o0}` P(jhKI]klCƿߍ}Erν>>9:7w?D[n0:`53+)~ˮ9OJyw/0;)jE\Q70P,Uë]GUQ/r!E !׸簘?Q\?\ѮsjcW5;߬d˧{xH f3tlIX)`|A'PlmA 2)'޵CvF!C}<;ӣ9G&Y1k {DvyRV'. ?2Ήd.#pRI'Dp_PK!QddocProps/app.xml (RMO0 #޷t| &/ !֍sm40w~__F';AYHg,MH[(S-u0N)i!'C(LXunX56"LlRZ߈H-K%MdgYvpXL@]/iae/lEDMj`BA~A0>/,kᅌd?6J9)Q`˘&8q Ob3`eGmC+)4.im^ K8aZdkG붊kW[܆}gϑ78Cz$icFX5(x򺣧YSa*]N3F~cdPK-!z!0:-[Content_Types].xmlPK-!N _rels/.relsPK-!)>word/_rels/document.xml.relsPK-!X;#E word/document.xmlPK-!|;\ word/footnotes.xmlPK-!O@word/endnotes.xmlPK-!d !word/footer1.xmlPK-!R%#gword/theme/theme1.xmlPK-!p3h{"word/settings.xmlPK-!,T&word/webSettings.xmlPK-!@МQ r'word/styles.xmlPK-!3S(5word/numbering.xmlPK-!^~9docProps/core.xmlPK-!=G)i<word/fontTable.xmlPK-!Qd>docProps/app.xmlPKaApandoc-2.9.2.1/test/docx/lists_continuing.native000066400000000000000000000002631363630463000216530ustar00rootroot00000000000000[OrderedList (1,Decimal,Period) [[Para [Str "Foo"]] ,[Para [Str "Bar"]] ,[Para [Str "Baz"]]] ,Para [Str "Interruption."] ,OrderedList (4,Decimal,Period) [[Para [Str "Bop"]]]] pandoc-2.9.2.1/test/docx/lists_level_override.docx000066400000000000000000000405371363630463000221630ustar00rootroot00000000000000PK!+*[Content_Types].xml (N0EHC-Jܲ@5*Q>'mD=4iPm6{D&]D+!&ed"0Ҫ,R1{YP% k e[l2ͶBDjRDt-Bbdkt  ස `d,0zCXX7VY)Hu2GJ$$e 50~0hto4++,5)68mZ}漕\I["7{sFeU̒b,[8̾4d<H0K>uH 5-[}ػ, BB|AY, :PK!T9word/document.xml[Qs8~?f`1)ؘd2do7X-y$-ne Iݤ-5^I]y:MЂI9ֱi BQ6?v $fN8#CH�Y")a &,R٠ՒaLR,S .T4rkAiP![ (fl ɘf7 㕒cN,doYb:G4)-\eֈVQDŽ9WOZ[kuNAl gmy|K?_ m󌹊qO`g N6/ o7nY4Y@2,pZ Σ̪[x"(*2v5vK sj1OM1u{ݲA~^Kݕdm%;$~#WLbWJզ c7-仦~Yk'`+~yf? N~BvXiHjVK#WP1g3+ εK2,!hq ;}ӶK{ߏĹ <{p>'pvB{DjNa=9>*qU}Ҕ=K :Lv/piRM%O# >i`OBJڄ.`3gc Qǁ1]MgYVx4v霢WuUȲ|Ը/XTu>b\vEGH} n4`}vnO]۽nP 5;[JjEζY)&sѐ/~F(AT|ЫOFpqrqO8iXn"kMp8G@,iW]!ʀC" u4J)˕.JTPCוn؟&|y\坞隞=wb7"wgy\8PPrA[GbUs H8FH<,O/t VI^{}G4?B!_$QE!,qzA>] bm\lvV N ]wX{5*.:v•MHàW r0@Eu;kLd} 1Tgy0rAUVv,.PK!꾰word/footnotes.xmlԔn0'"C6juXC8!!kj9&߽2qc\1ȅd *%(=n˼N q Cٴ,#[tmv,3`pc25XMvApo'wʷG+$\>et=.4`PUs=Ktr,l{UXNwnD]PK!,word/endnotes.xmlԔ[o0'?D~$@moUqjc)~ǹ!Z9b/n^d츱TJqDdBmRztMhd-Y~2&f):0l%c) 3!`P$$Lt܊s;k!* dsrC[ 5-õ^֯TnAcX4NS.f-(mZtz׷]_} Mo ? so^7kPllᛕnkx (I[ߨݮ!F/[m6kKx*+OdQCh"IG.fxF %8$ f(a+ʰR(:QN:!#Nf^nŋ|Ǐ_>uey7?}/͓oxǿ_Ag?{rt :>vn6hY8KtP) z #}}(zش4gޏ\ Z=hq랮V'}q>n!td[;`>'6A 7)8QslE.!]Ȉ3&ҹK"VC#2$,l߆m8=FmD@ԦSÌ\4E2_ap!!6|aнi=M$djC">gV$+b !LZI0>%Cېfv$03N)H]NћFhbL1cܾbóaelUdƪ'X@c0Bvb#,P#^ \u5^hjRա!bcZoF+x]pr@ζ9@X U-݂LD'-6MCQ$ykQ O-өwT:Ed)mV5c5}4OnbG,г欦4E9d*GdE?Z=Z§>B\P+t#쏇0;ZhiAs 9m3~fLUP83&pVj=6NGsM@2k5eLGZA늀}Lu j-$NE¢_K HRFncT~St1m,k+iD.L0>e_3)i4[*l=\5#4xTIɥ?$̸}$DbPC@[T{Dɵ+Wx2#Y0ua.Ub=!XuHGc-Ue1rm1άGxߒQDgZ(du{M'tsWfP9ķۅD.i\ ִ珏wXey`\^庢[BZAM1PFMjX[fqڷfԪ bUW֋mvx"J¯+4Uv/9'AzAJ?(yuRjzVC0⪟=t|oǷǫR܈ewt# k ZF5J^ڥWuf5WռvPK!#e word/settings.xmlVn8}_`:lN8E|ۦۢJ?i/Iqbd'"ۢO̙g~YgGRL":DSD_˨ 1)$:}1;B茗hkLz􅬈p-G>զǑzn)y -((jIT+5!Jj6 2e͉0.cO5H!hnCݏ6, Ko)*%K5\g@*@Ϲ/ wE IVǕ_e'B/  T @E 򛔼*JtG= `F53ȍeq-R4D*fR%Y43S-VUdkikh2.#OP@Us4 R! 'Q7_CS.Nj8{]"?ИVwp.&0^zn,r ֆBDѿP f2}8TdIA )ܒjEN`oKFk E@Tɽ;ax~1oXF`t q<\ ҫ[_E[$ssrp2ٸgvn++Ⅲg= 8"yF.z@sO\# S]hpkBjm]00BB'#7vn{N6cUN•8L0#hxUaݭ^FпU ) )c DÝ~ ,Pmi."f%Wk_ւ %7G^O>䅐 ;reIuyA@/t1.SWJlcQMB&IL9Tئa | ^,Wp?@9kAwy*sL:'t7ih$k x? (nb=T.EoI|Y.dz>=N2ճ /XX|!yi~uQlp?+%P?eͳP&VEpp8L,&B O cXe&iCh26 yN⊗0n1#JD\`l JϦ$q- ϮRez_$P+ +"?W2-j {wbp`+5a^4=S+|rxX/-h-YzW//fK{>aٳŅ6<V8_f *TCces;1- 8~Jj-_7- |b~ɄTO^} w"x0]]KΣ?L,Stf Σ?Bѱ֦L6֥ܘͬ'ל#LQCm7Y>:vjGSvtT;:}x_#FG%D@qq qh qHq(q:c4N!CW6}~1Hw~O~ۏ?YT+V2K*[IYATLUDӃHSe6;!Fy @+3ULm8OX"#f(3GtW= q25?s ]6@62zn)ƴ-j^oBRHڢQk#זG$-o>ig! e56VDɠKtV"Z9a;xY=JͳHV2F=lxʲoIW2=舋"U5%h\2Ho͚J-𡾾|`t38A>]fꎡE!2=|O^"8} : Cv)$#"fTXJE4W7`ɦthK{fCo }^JT$iü\SGTk:iB 7~`?`/cy ՛Gu5x'cʘk Y@.q93e""sQy``T>00RCN6^ F4ht'ӀQřQřQřQMW+5 bHk Ff,{ B#8AZn2O#ȴQDŽ G|I4͢lQR[ 8Ʋ}>3$&,kGO[f-Ӂp/Z,e:/~5#Nhkܹ۾@Zvi_\Z3L3naqcT` ֕'#;&imyLe?KYo]pP׵89:9ZYݏӍ181(9Q)M܈Iʍ@g+8"e+h '[nZꈙ*0* hBZp* R| )hBZ*D hz^BP!-T@ G } )>BP!-T@ "BP!%T`%THA "BPG qB>BB Z*D hBZ*0* hBZbB{PP!G*D hBZ*D ̽ )hBZ6ᗮl>7nQuܬ"[ b iNQ;.7ԅOO4#_d0Lh%8rMKPEz:o G}I貾)E G/4gl0]ܗ2svp_>n:9?>O'K/S7/,t 1inP C&F=F j XWCjs5LXWCMr5] Q~CՐu5$`]=r@vb] Qޮ(?WՐu5$`] ^WC!ՠJF!jv5DڜEi9n0 C\rnzTK kjA𬖠j㪥܄sM@Ӊ;֍B{؍s5ZrPqՒոjոjոjj\j\j&xW-W-W-]\\\=r@vb]z]ܮUK]UK]UK]UKNW㪥^W㪥^W%qRqRqRqՒոjոjՎj&6$Sx`&Aj/ 퇒nI`?Ie ]mj!ヘdd9>;ׯ׸5˪Nnߵ,U%jWOoG//gUpfS(O,^5j+ nd?uV#[gzq:!׷0;܊G~| 3Q>ֱ|¬sMŕC/sfs_45>L"sg뾸!R+ C[3HB6G²R> hޤ8x/\vM̻*Z7OfB'6ޛiXZڳP\:g殺F?XR/y`r4櫢Z;Wo3߯5!S #.̉cG_9cʏ_ҕ9vy9IT0 h8erYTN7UnĀPm-ӫ+z(E5._PK!3yludocProps/custom.xml (K ,1L3yTHI&p=A2$3i^te]yr*34V= haO~XXǵ0 /`û86Nãs88Bk?Rw4TvxuB_Uo|v]%W:}l&~ )9 -rU@{ a1u6_ZL@[6/UJ4ƚ zAN:;%wЂ0 qxLfF)I^G]Y-OP])u]*϶v-SFF |r8f/^X4yq%vj'ރ;q@[Y˿\PK!RzzބdocProps/core.xml (N0HC{j'4H+$E{h$}{M7J{d4mOh]l!XV9mzɞVKղql ȮӓJRydhX*d"_rjE$llJeXs/ջ\υ8-Ԓ$ljR 84Ђ%" xt`ED]1q>gՕV%jO"UI.ԏ~6un>wv.h*bP)^(}t#;? B0f |q@LeKz\t*<5s]Y˕e)~A1O3ʋƽ` iJoPK!v31<word/numbering.xml]o0'?HlhJN6ip9!~:Xi;W!>{{ ֣olTa^N 2F&lpDt2FxŅq{n3bHhb͓.|bE$M8+زN1r&20˶䫜ЉPa4rP嘊qJqW&Ae_ sжVM F+^2Q5v?%Zrϒ M3Q:w6Uu+RH=h+.;S_E$S+ ;RKt+N)mζRK|Vkkzο}MSKߧH_:l}Z\|I2y\Qs&*[6]okF9(9J2zsBt!bH0de W8{zq;GfUפTO. 6k;G0뜉UO7wSZ7QQqFt%Ot7hgKuS&ל]/)A$N u0k{^[ֶ\®;]?fW b7zam%Cٕam%CޓJa׷z*ֶ^n4ݰam%쎇xG `|1J/(c|OծO8`D!ijs@8N|yO8N{?㳟C7fpppppppN"߫ Ǐ -fpppppppC%_3œhd/Jކ==\hrAӉqG7;\j%H(hr)\n։Ƀ'N'yЗ\]տoPK!)cword/fontTable.xmlܒj0}ƲS֭E@Qd01:Jl'BsӋ ~:8wa{x>i\S?O0J;]F~rۗwwXZU6Ʈ2Tgӎ+#-CYKm'#l@ ;l#a4"ٚg%&_YP3U4x.5πy8PT #_M鳾tҒ]N::'o/ME!bIcbFu(҂9Uq4:={ 5Z ;܈?!o5K~Rt}IIQgX#G 3xX٣ҽH!(%呒Hg'2$2MC PK!zdocProps/app.xml (Sn0 ?7r ZŐba[mϚL'dIԠ׏WzOIsg|Vr.IFgbGZ|<1$ac)QqFiKօN&a]j7N=uh_然OlT\{Ez>zPcL(~' )KԺCD`#wхz/T'W3_7ZDm? .6wע?!jxkwӯKσuoT4b?@LYTߨ?YI߰B-PK-!+*[Content_Types].xmlPK-!U~ _rels/.relsPK-!6Hhword/_rels/document.xml.relsPK-!T9K word/document.xmlPK-!꾰"word/footnotes.xmlPK-!,Pword/endnotes.xmlPK-!g {word/theme/theme1.xmlPK-!#e word/settings.xmlPK-!0rGword/webSettings.xmlPK-!q z"word/styles.xmlPK-!3ylu.docProps/custom.xmlPK-!Rzzބ1docProps/core.xmlPK-!v31<4word/numbering.xmlPK-!)c8word/fontTable.xmlPK-!z|:docProps/app.xmlPK=pandoc-2.9.2.1/test/docx/lists_level_override.native000066400000000000000000000052531363630463000225100ustar00rootroot00000000000000[Para [Str "For",Space,Str "each",Space,Str "initiative",Space,Str "below",Space,Str "is",Space,Str "outlined",Space,Str "the",Space,Str "goals,",Space,Str "an",Space,Str "approximate",Space,Str "roadmap",Space,Str "which",Space,Str "will",Space,Str "likely",Space,Str "change",Space,Str "as",Space,Str "we",Space,Str "iterate,",Space,Str "signals/metrics",Space,Str "to",Space,Str "measure",Space,Str "success,",Space,Str "and",Space,Str "initial",Space,Str "workitems",Space,Str "with",Space,Str "a",Space,Str "rough",Space,Strong [Str "schedule"],Space,Str "and",Space,Str "contacts",Space,Str "where",Space,Str "available:"] ,Para [Str "\160"] ,OrderedList (1,Decimal,Period) [[BlockQuote [Para [Str "State",Space,Str "of",Space,Str "Documentation"]]]] ,BlockQuote [Para [Strong [Str "Goal:",Space,Str "Baseline",Space,Str "and",Space,Str "ongoing",Space,Str "metrics",Space,Str "tracking",Space,Str "doc",Space,Str "usefulness",Space,Str "and",Space,Str "completeness."]] ,Para [Str "\160"]] ,OrderedList (2,Decimal,Period) [[BlockQuote [Para [Str "Content",Space,Str "Migration"]]]] ,BlockQuote [Para [Str "Goal:",Space,Str "Content",Space,Str "is",Space,Str "accessible",Space,Str "to",Space,Str "new",Space,Str "employees",Space,Str "and",Space,Str "is",Space,Str "better",Space,Str "organized/archived."] ,Para [Str "\160"]] ,OrderedList (3,Decimal,Period) [[BlockQuote [Para [Str "Wiki",Space,Str "(xl)"]]]] ,BlockQuote [Para [Strong [Str "Goal:",Space,Str "Useful",Space,Str "documentation",Space,Str "that",Space,Str "is",Space,Str "archived,",Space,Str "searchable",Space,Str "and",Space,Str "easy",Space,Str "to",Space,Str "create"]] ,Para [Str "\160\160"]] ,OrderedList (4,Decimal,Period) [[BlockQuote [Para [Str "XL",Space,Str "Code",Space,Str "Autoreview",Space,Str "Bot",Space,Str "(XLCRBot)."]]]] ,BlockQuote [Para [Strong [Str "Goal:",Space,Str "Feedback",Space,Str "on",Space,Str "basic",Space,Str "violations",Space,Str "in",Space,Str "seconds",Space,Str "or",Space,Str "minutes",Space,Str "at",Space,Str "most",Space,Str "in",Space,Str "either",Space,Str "VS",Space,Str "or",Space,Str "Codeflow."]]] ,OrderedList (5,Decimal,Period) [[BlockQuote [Para [Str "Code",Space,Str "documentation"]]]] ,BlockQuote [Para [Strong [Str "Goal:",Space,Str "Useful,",Space,Str "consistent,",Space,Str "tool",Space,Str "supported",Space,Str "comments"]]] ,Para [Strong [Str "\160"],Str "\160"] ,OrderedList (6,Decimal,Period) [[BlockQuote [Para [Str "Education",Space,Str "efforts"]]]] ,BlockQuote [Para [Strong [Str "Goal:",Space,Str "Broad,",Space,Str "discoverable",Space,Str "channels",Space,Str "for",Space,Str "updates",Space,Str "and",Space,Str "news"]]] ,Para [Strong [Str "\160"]]] pandoc-2.9.2.1/test/docx/lists_restarting.docx000066400000000000000000000434151363630463000213350ustar00rootroot00000000000000PK!z!0:-[Content_Types].xml (n0EUb袪*>-RxV=QUAl"93dFk%Y?lᤲ}MGDV ,l7CLHmcX9* F -Ì{Q|^"XL` b1y]$,y *R/2Rn{\xG L*vMP. u KW, )68]Y}+ FYS1B=Q0S>Hc q!^mDtsnEX3_ shvqu+X9@w3gSj`g tC|[S9G?+uJP>&/TOy oPK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!)>word/_rels/document.xml.rels (N0HC;qRN/W$#{ 1EM]ZY|ܱvj5h),-g!`./V/KKFY4D#la&V#=$Q7|l/dɵ#hS 7ϧ+IDZ!J 6Kuc=(3E h-`7Ӑ ж, !!+;-mka|7!!>x=yy Bvv8? ~ePK!m"word/document.xmlXo9~?dwBRTB"*>XBX]EKNo|e޼}jDoô I~%=&)\w7IX"K"@qc&y;yۛ6LBH3*:Njk(M YCeéФPUt LY/2c0;"7$yI@7bWӆV] "vٰqj9($C7L#>b@2 'dElmU^W&[l_F̿g'TA=NI]& 9"7|@K>8Zu@oE>^9/eMk f%!='d' ʝkUo;|'Y6黤>Y뛬z0оYڝ`h!bb˞l?OR7+&qQX#S`D4(ㅴ\BĞdeb۹ VYg |`i2΋̙ *:B6ҥFqI. c:G5Oѱ&$1I?g'w08VDhW^ PʹFKSQL%:D3],뿬B>$te~aGk'sQu3?>]h7xwgKg^: C}%q4{%1Dlg>~<: vOpbI .2 iE2N+rBkœZ/?~?PY;oHZ'.= lϳbxH`; UʃcgP,q"㊍ 뿎q?e ^s ni&z`.yщ6?/=4PK!{Kword/footnotes.xmlO M7Z4Lt?)]]k92mwOSE+FX2Y@baׇ | Ael<͚@ Aʌ!ؔs/Ke-z,TXZ*ޠEݟu(^JxOZ4Y3"P-[tX;0A#&[AmH7C;%&d6 B;U_j[i4YձEL556W 5;)M6ʏm)a_[WG8|lY/81/tLNWJѮGf''jҰNttI9Zқ?g,֣ZBUhgnך-g#k;;UDJ(|L^ϿPK!ʡword/endnotes.xmlN0 x*[ZU`qB%kWNE?qr^#d,,R 1װE>E2U]/OOM  G6Vf {Y*#hc ǢR]$F֡TS[Y3?ihfΈ@SFΈnEЯaKr`ji.NP ;(]DTE|xh Cؘjklr>-+'F1󝓩v1a tgv=-9k;4Yme'41OTFk@'^+RD)֣fʼn4l-xe%gltvVuڝˋõǗ ޭQk4]?}O+qPK! > word/footer1.xmlXY~U?Xv}ٽb>@Dq~b o3>]/kN-#]0~i2fÍm脱\nffK~,z^;N{Eb4,Kzځ(L}aDA m* r(f誕 hiqn;\5LzEfISN'fZ!+ƦҼwx~jukڗȍjE 475)  #W$ k>YψL%1"CG+ψq͇$o #Ӽ3.=K5 $ohᯡ+I꿁uw{_g`dF~ i,vY[AºQpr/Mw7]Ej]X A'ٹ ^l;.>zc}ЫX ={~2faᴮ:fh,%D.6\%=p3陱@p4[a}UKzmM_Oߩ+QLu5] lC u*`^%}jJueu%ob4$%P}]^Aݚn~Ty~Xܒacp XNG]\;A* /lm] 3㝱h/P#t* f#>ϞC<5mfϯd[չwP Q$'x 3$5K{i.fPD0Ϳop7Ai6ta &^3iSS*>V'JOxP9#Q#Tt\!NZ^8q&"6y !$TE,iU!UZBJcPuLO%l,! zWeӻ%q˂⺴dz4G.]/a1^X9 NT1E}t5`%k^ iUS\,>U m,}c7&n4~XQqፘiջـ+N904A=ꉠ$)'qaw!?1# bV ^ņq#wmbw"^Y|~}G}V %sc?e|${tf0u֧+B' zBMՆkn{~<~UMI3ϕ |1ѻ^Ia/_ ioJoX0f{(%86;;|{c;鑝,e]sks=m|$#?#Р|Lh WKs+^mTPvsg56#$Io@mvG}OhCu(VdzjG^ctPI ~|R߷Cdf\Hf㉚ Ama9Z o{Zvo>2I{6JALd V0;(D.yvI%¶s[+Ϧ78L Xk]xW`2ZuH6},:st;4ZD Ws>_e108ݹLr;bUį%rR qX'Κ]k ,uO1-U;fʹ$ ͢ HDM}-bgBZ[.p`2e-fĦZ^}ʾMIaBn`۰8~1+<ʭ 2~varE*.oqx(THVΒWulCsLX{y+2=]1OR~ʙYx_… Ssy\J OEp- u|E/5]&^z~93:-{Eezhچz%s(j̅R: ~*˷vH[St4 %U^28i6ii1o'ްU{ޯɱL>l081wil0iqۡmFՌ6t5V 0aNSFe!` h$eW &v6ޡ\8^4>۩ܯy;l_ˠ%0:Ohhy!1yrh{]8$FRY8M/\ e7ߛ)/%xIw08 g3) }m:s^/j 0M.Ƶo{_3wvCeHI_X/ZHgD7NtU nhuEvDl!}(s]gD}*4t GBhAQb!F1(8Eb N:!$HK';a(,NHbV0r9otA܀-{j@3FE8[%tU{Yx'䶬!s5_ 0:R='y]:YОGZg#ogcS_u pwne ˋaKǍj#n>okO:>Dᡰc}:*:H+MVxtl+ d^hj3 _]܍kgq0`ڹkkz|.Eq/13s _?dW 췶FE(b*@ŃgGԾv/՗෫7#q K6s:h"k@h 1.]z:iu h6 =r^$תMb.^Uw_~jZՏQyN^{@ Z]fmCYB/CPK!R%#word/theme/theme1.xmlYM7c7c;i&%GyFQI]%9 i顁z(m mSxlɖYl`)YZJ4WN㘦z4iqK-p3GܹᎈQO8ӝrKtR7,BVYT<~RU*rq&f.YC@A Ns0pIǑȅ8w/FDloa0'5eǢu=]W"6q1h,) 9Ӝz^[`5P^77]/xʋ~8W1@yѳĤY]@yoV}i(&8l+^]BƔ\۞;l>ZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zCjz..y=v4pHɆ7RqdશCkĵ 20KqY*Qz1Zn5)fCk]guˉ0݋CE Fozp-=gA&7{ [5h BT}o;W`&49.hvK&zBħi+BVB:(Z!%ʆzΦPYd!u$APn@ l0٠oZـAܓ,qpC Նuj6(ɂH3+脳Hi4WuzgQ+yqҖr\ܜAOk7`"ʞ VU[i߄u8$OƏYh$i_EI>n#(Wiא`$e~yG__^ub[N+ ր;9╢hbjTW&" `;@s T7 mkR}#G%ơ'IDޒ LyZ+3ݫN}y[gӵ#HMUi2%/i۫m:Lj 0|K }O%3n#H\~./4/OO&ӧ!Xzs2t}$(JF$)=bۯ/Ey"x'EYf/vvpAR<M9RNBe$IFJ6c1+wvw&5 MKeXyZ,XVTڊQ$ּL(aa >/1%R(a>U%pՀ$|q~bQ$M~5e\g~O"X E%Bt| zAIQ,ܹxfa7S~!d@oIzSmOWכf,bOacCquYKQ_\i{4*Ŏɮ<2g<.x2yl {ˢM?4ZoLe*?*y"zsL:؛D4K>2_:_P"#3n"TQ=iQ4ܸvuDu:CNtP'zP'Ry"FN"< nXͱc%4*h%9?Fs,nZu)lVR< h.ҲѤ3|E#ī2ך!$olA rbxW_-MH6.cR?yFo]3<|U`V[x+V<xף()9W"ob(/%̗ K*;t4`0OC̗y=4`L|3g:A.s &-iobzCaF1l߻zAieLBqDs5mE|LӃAӞfQWz9jY%-'w4bˤ*(|hqKz$Ѳ<h yr=JnY|6Ri˲/^,wEqir>/jJ2 jTgXEv &qeGGɞhwOv_ /o-8 \ ҂ WV^;bpcG nA-$)&;bp#eG[+#Z+hkKk).ՈQ1x8`G"Ё:b`G;*"Ё @0\B{\B{@@tB:P!T@jT@*DUG**w THq THA*D"Ё @tB*PSB :P!T{B{\B{@@tB:P!T@*D;*"Ё @U#ڻ**"Ё @tB:P!)P!TODi~ޱ?|cQ&j8*5YW|cbeYUD>??Ӥ|yBPK0rMKyz:Zߦ%]M);}Lxj1k氊!ᾖa+=nq޴>XOG ±P91T4;azvPV ^X; &5 3j'`']jrܤ #VjHJ8 NR,5DI 2ԐR쐭w!YjrRCVjHJ NR,5DI dԐRC.5D9K Q}RY(AX!7 qs![jX;fK c4eKM섡 CePzZ1xa(vԸlKj@R%ԸlWj\+5.[K˖eK]R7vԸlWj\+5.[K˖eK]R㲥.GvVԸlWj\d-uI˖eK]R%ԸlWj\+5.[K˖eK]R㲥.qْUj\+5.[ڒ-Z`l0qpyQ3~YTG,I`>e6Cw?wuKim+|8qem>|%+VSV[R%.ŅuMk3]R/]ݼR˻YUu^m4\Z묺rR2+Eύo+(,֪?HV Y(;ИKw?/evڅ?D,[c@_Gu7@ʛ﨔oETo~c"A6-Mnkg.<+QsYu_uš`6#Bmn*Dħ˜uh6F[ ܀^mYmHy"~ $1 = g`=>+ѿI?qv؉|EkW}9nj*juՐ;MjfG_'<+W=-l-0:j:2iY*m ?V#rlEjxv8Ş==||N_2SE-3۾s{s'y.=L8K^w"Jx@S)mn7,սvk̞6 6|r*|Gٹ 3Ô>wy4txʦVN bS<h-mZͬڽOs/V]dջM 5uu]\Sk:d.WmO'XHZeH|JY#Sэ;bC=ToCTMmVs*TiUFGd)Պq)'˒7[UWG\] L'9~oesN:GtnٜrwVoHr }!ט1%mqdsbLlu Lԃ ԌQWESDϱ; H8BoK_\my:s^Qٚ~>]W"L}uq=4HtsBP{W#^.XWPK!<3word/numbering.xml[[o8~_imCNV=?V;r __pKr *Kddå_<{jA9ˑmz׷Z xB߾lx [N8Y+m' F P@IB> M @{Kn;#) `p?c7 Rwѩ7C̕ B#-]{C3"};~憌5]0KfAuL&$XG3D@pB.Kq*sJbٺmz-?WFQ":;"\:!>3$|4{6OJ3~}W _&淪\  f!oYem=f `|d9r NМ6 qBj^2%%|% 0^oֲ=^y^?AR,_!D Q̲XߗE 'Ey4 !L>bt|G\$3:`>};xE34G٭-MrO++3*UY@5OncYue+kQ*ƓFm$< %HxF諷 %j \Dm7O %]HF+["@g~eǔ["3Dveǔ["7~eǔjHXVfE8ht:LU)njqN)00C'lSeN{; ԧp!B8#=w)N}5)}'1N&7ي:5vYJH9C|Z鱣szX+d9EuZVStz\e?sI[}^鑎z|VPRtgx9z{ |dܞ>b5Fsl]ĸ W2e :X1HGKe,@zu8/*cmҫ!P3^Nv.dsw k؜Xװ5las HasNas7`s9xp>LNonzX@^,vR`J$&oj.eNZ;kesNZ;SkrR–+OT-4*T+4|;}g\d^B3=3SW6PK!j*]zdocProps/core.xml (]O0MK﷮ .$F j{5ma:6$pxϓwElAQ"QBFh1CK%y)a`8JJXU `G&aj֪cPP9te jWXQCW{q| SKq UGD$gRmtaȡi &G]>GYWpQ&;ΈNXUUTOeG we)g6,GYf 6q6@mg0Ҹ46W8` $ΒScKa;U~l6>9:7w?D[n0:`53+)~ˮ9OJyw/0;)jE\Q70P,Uë]GUQ/r!E !׸簘?Q\?\ѮsjcW5;߬d˧{xH f3tlIX)`|A'PlmA 2)'޵CvF!C}<;ӣ9G&Y1k {DvyRV'. ?2Ήd.#pRI'Dp_PK!ʠdocProps/app.xml (Sn0 ?7Jv(EŐbm =2 %Abf_?N2Q{Hr&ēUׂ@F;9word/_rels/document.xml.relsPK-!m"E word/document.xmlPK-!{K word/footnotes.xmlPK-!ʡword/endnotes.xmlPK-! > word/footer1.xmlPK-!R%#word/theme/theme1.xmlPK-! + W"word/settings.xmlPK-!,%&word/webSettings.xmlPK-!@МQ C'word/styles.xmlPK-!<35word/numbering.xmlPK-!j*]z-;docProps/core.xmlPK-!=G)=word/fontTable.xmlPK-!ʠ@docProps/app.xmlPK9Cpandoc-2.9.2.1/test/docx/lists_restarting.native000066400000000000000000000003011363630463000216510ustar00rootroot00000000000000[OrderedList (2,Decimal,Period) [[Para [Str "Foo"]] ,[Para [Str "Bar"]] ,[Para [Str "Baz"]]] ,BlockQuote [Para [Str "Interruption"]] ,OrderedList (1,Decimal,Period) [[Para [Str "Bop."]]]] pandoc-2.9.2.1/test/docx/lists_sublist_reset.docx000066400000000000000000000307251363630463000220420ustar00rootroot00000000000000PK!2oWf[Content_Types].xml (j0EѶJ(ɢeh4NDB81$14 {1ښl w%=^i7+-d&0A6l4L60#ÒS OX*V$:B~^Kڃ /PI~7$ iJ&B0ZDutOJK(HxG L+vdcӻW>*\XRmpZ}HwnMVn-")/ZwB`4 sDXj;A*ʝc֝4[S9> {V4pW&A|d?PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!word/_rels/document.xml.rels (j0{-;mC s)\[d{CcMZ}EJӃ3bgz;5$uoZ'ijA#zw7TbhXqЄ:-)HAVEH%w ȯ2ٮv#b?ٶi _mhFH6!SIIB4*\}u.l|!8[s˘fpf6 Y ٚx '~PK! word/document.xmlܖo0ߑoNh-+I U븉Uvە4$4ؾ|珛wGj,SrIQITd9xqGaY`$;jwׯnyZP"@Ho5Ǖs:GȒ l/#FYtD KF(*S,IFj-ػrmi-L"6>tlEǠ"c٨^@i؏t8.RtM6Ǝ-gndb8^7/~J^iS"2Jڊ}퉾4V-dTOL6δNK<&מ?ML2 ZMO,F6dw[]>/wFuGcϣ՞3XMV}3 kʂT/8x }Q@wI<[ghíU|I2mM%dfovlgf \y&%{}ю~ 'qOQ]6:t? (8+0셆Ի^j@sQvpP+;x~!#ǝzɪ~jY b)q3@O-f X=4';q:U ++u9%>iRxּBw;k9Q1Na><$1G˫Qgbh֧*_PK!g word/theme/theme1.xmlYKGza5Hk6޵Rkiڵ0`r C B 1cII3-ď] U?4s:G ’[=Wqؘ$aǽ}0,\GHe ,܋;v8:n$|,F096 M.cAoL˵JQI\'A11vJwg|@_"QTcCBcӪ P!qa1;>P$$Lt܊s;k!* dsrC[ 5-õ^֯TnAcX4NS.f-(mZtz׷]_} Mo ? so^7kPllᛕnkx (I[ߨݮ!F/[m6kKx*+OdQCh"IG.fxF %8$ f(a+ʰR(:QN:!#Nf^nŋ|Ǐ_>uey7?}/͓oxǿ_Ag?{rt :>vn6hY8KtP) z #}}(zش4gޏ\ Z=hq랮V'}q>n!td[;`>'6A 7)8QslE.!]Ȉ3&ҹK"VC#2$,l߆m8=FmD@ԦSÌ\4E2_ap!!6|aнi=M$djC">gV$+b !LZI0>%Cېfv$03N)H]NћFhbL1cܾbóaelUdƪ'X@c0Bvb#,P#^ \u5^hjRա!bcZoF+x]pr@ζ9@X U-݂LD'-6MCQ$ykQ O-өwT:Ed)mV5c5}4OnbG,г欦4E9d*GdE?Z=Z§>B\P+t#쏇0;ZhiAs 9m3~fLUP83&pVj=6NGsM@2k5eLGZA늀}Lu j-$NE¢_K HRFncT~St1m,k+iD.L0>e_3)i4[*l=\5#4xTIɥ?$̸}$DbPC@[T{Dɵ+Wx2#Y0ua.Ub=!XuHGc-Ue1rm1άGxߒQDgZ(du{M'tsWfP9ķۅD.i\ ִ珏wXey`\^庢[BZAM1PFMjX[fqڷfԪ bUW֋mvx"J¯+4Uv/9'AzAJ?(yuRjzVC0⪟=t|oǷǫR܈ewt# k ZF5J^ڥWuf5WռvPK!ji word/settings.xmlVێ6}/0\%ٲB/fuSDPeH^wH+論 O̜g~+MU 0/EEn|ٮ` Yp:x/ƀ+g cX ŐO2IdHA(1aEQ<(BFJ% D]w?>B] Yaq0{"gc '9|kF1.Q)lTZ1 $O<~E rw[tTGnu^y}+GvC}bizɑ=)R`evBB9p.U܀ʿ LbUUς$Ed0ZbJ]ϔ#=f;[\LkPEEnIGYB*F *0KE>Wyۓ<볍Q.{|H Q[{9Qsyц[`n3ߞ$^cd8Ě!J u+OKF+H@@kQF;<<BE$ƋR(W[H:nw/dKWq.FrU2;xR~ee7`mB4<zXÈH  QkVUDݚnz 3)XD#[l]$)raA >;xYGN^KɏJo]< (MlEcૂ}%->Piwݢ%v7Qo{۸ޖMm`?@3ׂRqՇejAīvNDk2?FT =EeMI4景Ŭ|P!|> vQ}?JrO蟅pJ4 /c9,g(`zrM]޹lApq@WC6h"&p\߆u |{.GPK!vI@word/webSettings.xmlJ1;l-t[xA}4mLȤn;U/-d>gf==FV}4y9֊k(Bz1uu'(E~%rRRm -!%RF[6&[_f\US}d) wpKnKo2)'ֺS:er,y0|yh}aFW .S[8QOIO~y0e8 VMlWA$d*z.+T,gIĤJg?>o?fYIvgeN,\eՊ'ùJcbX Ub )¤}(j>!Ra$KMTI==4Z*Y7:%/f"Yc&0UT=(>ٳr888Qg/1qxzHTfR&W>i5#^9+d}Z^?*ɳe M9O21ҟp`.?YxBDb46-fbl_sizdɢ~'~L=i5ܳKMMڰocsW_نW,6ϹNJa|~0#̊\UX@wyZJ_Tȣi?8ٶ?nSRmGۦ~scq#'/&KKxyk*ɡEC2Vҟ&hHBlaJ%gf> &(ľ[,^mj:zߪj[5d1eC"siD 8܈8̆8888q1HS'W+ ~n}w.{=qw~ӹw=YR+6K.+'*AΟXYȢᙝOI6SlՎx0-d &ߟ禜  KV4CPyb2fu$|"8y!sCv)v2%IED$ هZ޿L4ݧ%D)W境[z^|jRa Q8lpTU$G=h67|Dj݃_ -^Jey ՛G5z{OI I75lk *YIFŖGG)cy,İ0*%,J H~N62l:%h ЀQ,OFgFgFgFgW"n@R\IIrT"giIOܠ"n9F- %J|F5âQ&RD6;}ڮ0{'.KO-um7z"<.G㽝u1?gi (⺣f6woV[G=#aǻ#7ȓ=#O"pD8ʟuH,Z6ەHȶ<ʢ-ah@uyFQ!mT@"FQ!eTeTHA"FQF8xBQ!mT@"FQ!mT@{RFQ!+?S'+:y+wuU/…RA덇3)=D8K"P'>]vӤ|Ru/=g }#1îoF"+ӛ`y56#nkҵ/Jѻ#54'ٺknpFQ`&G=x}}) tcp&t%Ԫ1&UM+Ӊ Fv6JoT7+5$xI 0RC'5RCVjM`(o!Oj+J X!+/5DyK Q~RVjHJ X!Kj(?ARCVjH`(o!Kj{eKjp"!7qs#УZjD{VK g5UKM܄ }etPz:1xa(nԸjMj XqՒSj\)5ZW-UKmR㪥6'g7Kj\)5ZW-UKmR㪥6qRwNԸjSj\W-IڤUKmR%ԸjSj\)5ZrKڤUKmR㪥6qՒSj\)5ZW-Ai<{^ ˖9C;A$l#Q/V*돴o">MgGQ0+x$UMVpdP2tfMJuB4^Iڄ m ƖnA;ŵ28 ք0X#8+Pw,h'P,1W/Rpwpm}˲cZ_5SF]y/kq nawbϋd[|TYpG_a{x>i\S[0J;]F~/k"2wXZU6Ʈ2TgӎVFچ&2uWNF؀x !|„P|]߽Ybς6D[HB}v+HwfY g *xues"k3eń` gV?"ѕMd}餥3XٓҥN::4 1hγP2`cZZ07%:={`qL!4FTQQ<|T?rs6)pVLI'mTCgfg9= ^(7 M_cp1 PK!qdocProps/app.xml (RN0#QSP+āԴ=[&pl6{6B7|ڙfֆձ5;]ighS|WMn,&a02?aW ^Ƙ˼I/V)-u*Z7Nh(9cBPM _Qd/˓'=%ވ4SR l`tIRgD^D.֍B&6pR$Z,2誔=ͺq`+@ (߂N'^Cxжd+:|yl0&"֮’*{;_M(Af$ W8[bQ@==G0<n_|Z\7G?PK-!2oWf[Content_Types].xmlPK-!N _rels/.relsPK-!word/_rels/document.xml.relsPK-!  word/document.xmlPK-!g  word/theme/theme1.xmlPK-!ji word/settings.xmlPK-!vI@word/webSettings.xmlPK-!; (r`word/styles.xmlPK-!`v$docProps/core.xmlPK-!If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L docProps/PK@!tGsdocProps/app.xmlRN0#QUPBڰ-{XulLӼ77φ/ ~[֫,`csw)Lmy\xH!b"` eOȺA=wڐE S'BZA?IR+7h,XN/&_>4zS8V&bf \cWLTY B2YALz&P֛ ~V{Sȡ^i)%@,oG,eb `oIuI` [2"`<ˉb16vc;RJuYnY40%Qg}ο1;e}'oPK@!ԷTodocProps/core.xmlO M[jt]fF3n¡u:{8W]EP=&iHZbLfD蹖2d H&Q!l.{g,8`Ҙ ;&KmN)%@PWsR_1vJk\ri+`$~HAG&)ݱ\7tdAt[/T4MdOcwXvVHYH{+( Co |<$!7D -yqZ;$^0 (>e[t߅ǝ+GE]>U?ʳb3=QRޏt[yήgSRXzxt1ci׶ý;ai4_ƭG-PK:L<[o2?docProps/thumbnail.jpegeT[[S?m(n-@ŵiq %)(^%$hB)b x!;χ{|y3{?sZs5cLX~ezd\e_}JSryh@rFQW: CM9♏:qlu)-z0ti7}4(ޑ #EdKǶ*7wB&A:t n0m%PR(Lxhu4Bqٌ}ۆO5KL8LsV=8zCll޼GXsBц:%kϜS;Үw9$SKC3ݗ~`\A~jN۞7.jQn7b F$҄zNJêyJnPWktn45ƫDdWv??ހ':̙ AyA ^@W'- 2#zPmZlBeME뢔8eBvQ -:8MŊB97pTKcD fBX.RmTv?H`WJbeXͷZ(_Zv{cKh򍕀ΰZKxйL.ʲ;ҦoۈϻةmŖCsxکcZQQ.$-$!KFStv2u\ ِ#mi!Ej` )N|͟riPp)r!GC0fbbjW4t}%a6Ʊ)Ӟ qՒԪKk9 x9M|!+/kR)X&t;DC1)_kkfnbԵ'bz]NVڢ~1 vc 3(ϱ{mQW ngo BQ l387H;&O|Zwj7DG8.3RUQQ~m'U_dDJHP!ZѷO}C_nσ0NjKbE=;*l(vΚ/UHhGheSMXuZP@ͲְlgfԦʋ^#}^1m4Н/[1Wr{]DY=8RR,oreb\^%uy)zD+^ӭ\KR -g^zɗzaU Cϥ"1U{S K̢6eVbuU׳⣌F z]2skO;5U8Y' X)zTNh+aF,[% 0X}?*a׵ik 4.R}? L [e"핃$yfY9+zKXRhE̍A7Y~gtpmSkU0N#5! ^{]eU-럚dc"VgLߡ# L"xvgixT;o[dYzҕJ<޲D5x Pȝ$)֚ѧqp}|T]8v^+ ;K +g{d=k.򹹧a!+Z2K$7# y7;ex0$KnWq%sj l$Nt^A]v.wfSX c{= p v SY鍎LO|@o/ӹ6F+ a)HTYi3W{Viʚt/AiziLD]+]fH__뒥nOg3#x2ŰNZ|J& ߝc3<#a)kA)56Ѱshڌ̗bˎ#@Tt{F3> s~ ߖR\S%6OO[< ?H Ď.VbJ.3",/c\Rd iRf쌭0u&>_]$UK-xPNi|Y[" o3g5CZ#(|9F^ . `2=Ɉ?}2^gcOϊ1+ؕG _e* `Q, ^ۉ4>Pi}0 lndmo)RץaA,fK2Rg)avMy1 _><4#2*j;6#Ƃ[^]@Uډ VE!j.-vNJs) $JtúOLnn&;NN׺arA؂š)]VTޤ+:g7+YSe9HKe>ѳұR= #%i~]otFlc\fqi[ Z!F@ 8l:%,늳gikmZJOMaucb__|4x,mu)_C?-|K,'#R5HYؾ0]' &qD7TRLdQNfKKiwC9N(JescSO` {/=O ha]һ]뗑Q7 W:c|;F1H~̀5A?w`Je,G,mX΀fVTQneх ~ˡӭU恿fζ?id5x!۰]?A7F(SԼH뜼 m JiUX M-18B/zZ}sb\[!H q.W͖lui7A| [''dzQlaijbA`iڋ<+8a;V?.YXĈNbr4Uñ⢱%Ei|`KjͶ-9r/Q9Oa19놕d_XB)VQ Xr7G8ꊜgXh sJ/$w[Rk%j6QH!Ⓐws,ƣ/Ui qBad׸,%iӵD2nwPt^Gy5<<^kYb0xn9 6.vMpz*j|n>\~ءtAyRtWg}kط=uAĒz)V.d;/uLCÊ\B54!bl,sv}WFvLS^ !9zvn#iTe2:.o3Μ>Ԗ_Yv(ʥ6˵ʇ&h`o=8"^ͲkW.m;asAOOI̘M+f--~@c<qMyr+ct0ߗhd PmŏaZ{ѐ@1R6AM j\o$(K.qk^ '$t|hqlLwE(>UY^lXެJ#i?%Ԍ~hNzxٕEavJG.DZvsΫ%"_'o-q?l42ws˜(x ȽJt$p2ֽFd6~DRWyP=ljj'0,a]cBℴOmC/ 13Q% vSf \3u>Jd[0هO |< 2\p>>=|PJ5P"ߖurdf`*1G m=)]lQ!:KUfvZg {i2edVӖw#A`m_H&b^= +Y*1.|Hv|1aA FHcjt_};a1Df{.iZE'*Ȉ~aQ0O6 /G_|kT}_x[PπbZx!(M˺2MQ?OzU'R tx9\H8bcH!$]k0ީk}/ioϖ/e |XG#!TfoO뿊czYI.f<( 0?UJ3K6NڛpC6jTc. ȧ;a|쳳*)d1J]2^>!81ޠ+Q\-z]6g\V}ˎ/;>L-u ?޻3U= RƴJvH?gw+t&&O4,(nj6?EHv= +gLjpͽ0|U޵Mf{Isʈ\Si~POoSh_=Eg~E?FamWۺ^2xDŽ=o0f ae^d;:yq5:ؤPnGmuvx)e 榮b>{Z9d:SEln(В@eB1䵁̩ 7ArؙfPb~n5~x!DBl8^Z鐅s7cbɈdny\*m۳!ͧQ*>RyYGvlH`9M'e|1'jRL#oW^>9?-~5U.Lt nPzuEK3Bg*;i7/KSj?0[?#P\l+Mv3Pt9j|=?$̓f8;0 N@I>fM O.9Ta(0QGI Yvφ*XNۏEKd˙.v($~>}쓨2C9XG^eޗR4ad6P\BσpAL9}u=3 b2zC!!a)|I9k#!k+|fun4\jFcO % \8NM6 :bw)T$m׭bIH?'E3Kf"Á<Jw1V[sq nȦkWlNFr%~A[&/"Gg-Elt$]c&Q^Ҽ!k1|:Qˮ>'c-uV-ts%6x4⿥T=ݣ⥁ Y'6FD`81{?J)XOcO5Pa ]]P>;LFX?+eȑpHG vt~#Լ#ųG#"˩UWX MÁ^~a9_ t59¡0J p( 0pg7ߘ^RV|2?H]Kf PQ5gԾ- 9^5 *0-v#|+A75>F9v& ֬ \nöAӧk$g )mQ\XRUDo/p:'dts (:&I_kB'/upb\a*D)7[D{х & ObmN ߳6v4p{1L5^EACPfblpeO;ې?Ȼ|C| ( oKj9;@$u%;'oٷJν0Y׳k(/!S2]y#@ti}*[Ҫ^F lZ*5al} Ċ˲ ʽψЪ5Wϐƽ*p>T5REv^մx|M7)_6\.D: dk:{Z3x-rvs}l֟dApiHk\m ߃R ;d(ʿ'-)#T'lqz]UZ5AW4jpJѫ@Usv,Tl/~T#17-!!\|XE \:Z3HI<,5LR,|'=X2uz/GBkz„r0tؽ$ĕ0X(W%n7Ł'$'tvsF&=>7,ޫ^8Z4Bi`+>8Ga7 fŦrB0b<J\ѐZ LϘAEZyo^Ik{PVڿ)!X&P .$kB\+70PHwpyeg/N"V̸~2膳+xZ=Jh /2<':8Qq~>hRՖ4UTmMer<9"KOhcusi#j7i)uYlEgd})wxT }m+f S-k^^HPN ?QK5V9k*2}+kX3b)&)yraȨH8%xhc6}ŝOg e\'sB= 콗Hfm}\Y[ tS]YB%<7}Q;t-hf$#}5>Kѿ22n Cd;ZB=8 5f8ejKؓ<8^@x鞸*&ޱBnjiz5V녷0'bogaBOZ]fV/7xTDT|IFeF;:3ļ+8#B#E ÷^p8ulQwKrcCloy=2!E#B#-ޞ|02b {PNȘk91J=v`OܮОa0q20 6_eR!u;?ϯcbUjyE$AWz2_`UBJ%+%T,Q-Mӳ٦Jw]}K= oWVNoRƣYq}_g^w8rnjv& VQx| oH2"8>N&Ar6 G// ßI$SVo|wT02Kc]MV{lYdjhytHog?\y7D;9B̽,0l}H5j;WXI /0҂wʟ_8aNXgU 0L1Nr)=-ni}L{UrK;jFMGUW7w"s3m?y͑`ן)@r̈́fEAlBI -vϲT6..Od!ɢ]6,}):2VDž'=۰eGPLrU?GĽxdbLBt4Vr,UM@lUA*}udA?:nN5',r^$ۥ~>v<+ V2QЮF)JBW|.g]D7cNk#ؾDf;0[pu۪-Rf'D45?/W"AYgx MCXҫ1PWj(e%tj5. >s{LڋŃs;k_WU\cqXD՚{W)aG*-_Bq:MpѴ @(c $neÌ=I$2 }*+10 4|~>Ȝ*ǩ#WZM̞}!»iA`arkkI7%y+^ʹ?܏sSu԰B 1l[8F$+ӴW:ӠDKfuEKؿjdd!%5ԁ5vG9(^r^Ϥ) pƣqG*ae0'T׮ Anz:$S8w^?ÝS4'^Nr3HuG<+fc+XpBIqǁ z2k Hi묐k"rbGG)ϞmG&x3@v@q{"F1STˈ" eD+r6D+L}%!Q&KCJb;Xٷg+8$1ߐ]4>grF7R{c^MڷW ^QY3oi[]Ŭ{Vv")86Ȗ5jph+*x~U)X]`M+]^|w Py։Ѹ)s7^:Dg1fx(b@1,1 Xw[an3 )mayDsr9I8ʀ"qgđf@( #UmKv_4y"vF[t:Yϯ`6ڌPU,QM>?pA&I9TL6|e hi$0n4'MM++09y;"cL%:TMJ:Giy2;uF<9F/bB]F;!Gh̤q se _!X#wC3dυWTkF*Ժ,h iZ3k;5 >u`ہ%3Z5d*ܕy<\Cwᜊ ~2qlڽԻ9yQ"1>2OmϘd& >G.$ K4Yj~㗩 \(ɢ` |2Hnx &rz9Jz&]|Q^Cd߆ZZdϠw;ZY.i2tCT~e96$sĐ?b 0;G;h |}..lxtP2#spN[I3 j.yYC=dxۤZe c7kctVڠa kZ.?k{, xn$"Kk~A8|p5Uzɚ* cM?:F_•ټ_o";IJlc΃4Ϲ* \a/O_ۗ}T{.frPT 2UWbSQ!nj KX;pt)GlDD"aKsX r;"#OӴ[Lñ^eЁ:S4;e{T4oQmgVgJ:>Qă֞"1JD;ߖ[X: 5ŋB"{MT FbVLV-&8E*8^_ٕqhǚ=FGWh;qW'I !4[;DR6McpM7߅+Jx!\٨\i\bmgU>n]{-܃yoV*~?0y ? E{g2QV0 ʉ%ŐMل` -8t 0ߖ͇ \ؘ8`R׬8srU|PI`'3*mP/.;JZ}2P"PƮwWiě G NvD T+?朌Lif HyH-#>q)pQʓwIDdQ}TV/0Bp @]ӧtIisιC}l#)@#&XB],I]C>k#_!3PK:Lword/PK:L word/_rels/PK@!wC#>word/_rels/document.xml.relsAO ߁pS7cFwQ]u3@{S%n=ȟҷX~ن}@;d8ڕ8CRPw /ˋ34!Ylq(yE 0-c|2U] LnN:٪!):d6&xGk7pd!|Lųn!C:ml!qQLϋϾPKڄDuword/document.xmlWێ8}M.D #hHVBK$pv`ا-'aZiH\Sr<3%RQq,Dx,CϷo!1O0 =Qї]  wE<2жUNNc)Hu'-Ҕ ؞:[!EL^0be5ph9NƔ1g$ A c C)G,+ʨZaxa|B nsv0DC!YLWlI\e8V4Pfw> vW}>x`I픳bE ѣ 9L΋ow[jΓ/R އ6#ij<4ue @y\Hb2LEZ#N+ͳ@  ,<6I4J7marzQ4%).6݃fq&&\{Ffz=GG2\!TY]JO/)ZD2p䓢:jcGcljD^0/cz]̦1\2 1ؘS``HcP9ΡzovƓeLJ}n UAq)\9f1 I[bP+yL˂иhЛ AZe+F^:?iV[@Ш6יA7AꔍWJKki^U;/F(D2hD!86 EA(' eDhݺ' f"@VZ2QxC ބ)DciQC^26'Ր׍"wܽj:MP 2Ɛq=_z!?Hk NF:sgܭ {p+t=ϯ}ppyuDuHnߩ+OjF3mFpBMϫl.u5lS mjTbWI͙dvÂXvzu6fdPK@!nu word/fontTable.xmlˎ0Cb40t"uEKյ X60lg]w>BE+u3o4y\Z*U!9ZΘiÕl"\d\M78!X*4V5єtzb҈Ɓ4DDCkp50 ҂ZWPnJ$PFEEs6jCD%͐'fmKDgqOP.aHP+"[e`;#ƋTb`PL _OEOřP 05qy% !ՆB3`-&4Z[\HԜXԛ'VRrE,-(0H2jiTk.Z$5- B5a}ā9HaTWonGE8 z$>ܽ՛99e q <[ ݖ]ySa$@DevR!0MJg tmE:h,FsK, l0Y2 lm4Ȭ 6I3)r+*, nsGqhvPKdDf#Lword/styles.xml[r6}WpbK=U:ĵg֍"! 5IE( ci;go8=?=I x6 oa@,{ߜT$I3: _ zÏOgR$Tz|&h.Zz2ZҔȷ|E3ݸ"%J^Jz&(6g S/a? 5/,Wd\yctb]Y'JWq'\LȈ{L9$ u %RKF i_{GFR,faπʯ I\]YBRF7gucj; x3;7{o]W[k'<::ͳt+]|#gJ7L~ ? ƅixzZg4e7,cd1cIϒo׶* _gy8۔%2~ѕ1ݚ_̀5;|6T+݇` t4ܫIőc#c'*N_B(/ӎ*(( HxF~;G4ypDD{c\L%TW~pGyd *@9a+?SgJf8yD2 {E ~,3%Ob*{\ƒيD pϴ~`K̖4;-AIխŕ.[]GuZyB !_ aqa`M!O|?ԭߙi&lzM%OX0=LgpsyWA$1q[Grԩ:x7:`yS:9'r^Ykvv5WӡWmh&iC;6nw9[V@ k"qt[%K uBX7(&m`c@8ͿcɻX8 !oy>n@4`7 @8 !oyp7 G,7 yPF,4`7@8 !oyɻX8 !oy yPF,4`7@8 !oyɻX8 !oy yPF,4`7@8 !oyɻX8 !o37s SHa}~ *hNRx: z-1>j)0'c6/ ݓCǒ nhun{u]ȨtGV>q~ܼ84l;յ3W @&TXTq:dlR.ҰIgo+uV$I1 l6OOaj{I~N?fVT]niL²%M$W]Py}Εixay z*'㝭9E= w~P3mMMX5&A$ZپgOqKӥ>5ߝ:1e{1]Sa"[]ͥςNCP"a#gf\̥Į%e~SA% =HO[$mb`qO灋O#\nVѝG gJh6Mׯ |F'EhXJ6WLsY([ પVk)K H 3D2~VKLw!b'ސ4t#JUkA贫ۄ[wת]O w1D}{b [N9_g>7O6IZy2OV߾Q+UԣQ[Zq`͉"~mPމʜR鐇ts/e3Q*"BniXm}͠&ۈL11i#8^=-YI&)JO{]Vl &ٰsD1.`$qLDž{:@n٘x;ώf(o(B-6|/4IoPKlDD ڥ:Pword/stylesWithEffects.xml[r6}WpbK=U:ĵg֍"! IdU(. $t Gfd}' I8??( QD<_0}9/O& RLjI( 6q.$ eaoSh9`W(yBf-FA8O;IJMhٸ,FBGVHL slK3OS͒Q9?Qљ9 drMu1Ii—$ZkqY98`7. mOe~)Qa> #Dqa^|ׅG:;kwɪhVи3%JDŽ24G2➪H䦐x֑ݳ5?74ۜ# Vb" ^$#..8AL/Uǽ5% Sl|B++PXpryVw&KSمRc8-߲^;D"`lŋ4Xp&d=#IggpcrKգ,I^3a%Fϡb@׉|N:e?8U&[RTo^kRy vPrGv#yN37@ývLۛ87171717qjo& ⫫uh4SQ4hDF:5 hS΃ p' ,.}1P*@9`a ;WgQ`q»,C)oPu}Qԛ( [y\ OnBظ%]?. 8(㖺l7dFǖnWB@0J*'6?o4׈`kbn)0Gc6/ ۓCǒnqyn{ٺ.ꋠxI~'̎燆uǻ֣^~)k_s Q+6 f$}}Tv H;OCάV-I>c.m<̣2|KBi`]i(M^u?>Bи]m^޶3rN[KRm;;(jv߶KU3vɤY4Go$YG$YmYӧP&h/|*Y!ʰnlerzU>Kc:U&Ez}-ϳ /ZٯrQf.~\T?4J\],;9UK4)^+0ʤ+=+a!fMQk.Ue%V*K H gbX%m;wPLZnHkJeUk|iW:oض ]h͇Vzj`nud ۣ/'Pfؚ7owQzdtD<$}K3ɠ>d{}&/˨FΣuA"WFF +.,g; ¸!kgD3^S{h+CA}cӯ TTUз\cB|"kG4yhJ65uY1gC&tLt2PQ6ǟ\ă0|v?CyKٗ4o9{5V4+7PK:L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,aL9word/_rels/document.xml.relsPKڄDu:word/document.xmlPK@!nu >word/fontTable.xmlPK@! K@Aword/numbering.xmlPK@! *ڿ XDword/settings.xmlPKdDf#LFHword/styles.xmlPKlDD ڥ:PPword/stylesWithEffects.xmlPK:L AsYword/theme/PK@!!Z,Yword/theme/theme1.xmlPK@!ʳC_word/webSettings.xmlPK)apandoc-2.9.2.1/test/docx/metadata.native000066400000000000000000000015251363630463000200420ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("abstract",MetaInlines [Str "This",Space,Str "is",Space,Str "a",Space,Str "test",Space,Str "of",Space,Str "how",Space,Str "this",Space,Str "all",Space,Str "works.",Space,Str "I\8217ve",Space,Str "skipped",Space,Str "lines",Space,Str "here,",Space,Str "which",Space,Str "pandoc",Space,Str "doesn\8217t",Space,Str "do,",Space,Str "but",Space,Str "which",Space,Str "shouldn\8217t",Space,Str "make",Space,Str "a",Space,Str "difference."]),("author",MetaList [MetaInlines [Str "Mary",Space,Str "Ann",Space,Str "Evans"],MetaInlines [Str "Aurore",Space,Str "Dupin"]]),("date",MetaInlines [Str "July",Space,Str "28,",Space,Str "2014"]),("title",MetaInlines [Str "This",Space,Str "Is",Space,Str "the",Space,Str "Title"])]}) [Para [Str "And",Space,Str "now",Space,Str "this",Space,Str "is",Space,Str "normal",Space,Str "text."]] pandoc-2.9.2.1/test/docx/metadata_after_normal.docx000066400000000000000000001133761363630463000222520ustar00rootroot00000000000000PK@!+G[Content_Types].xmlN0EHC-Jܲ@5*Qu&!~ȞI6h{8Ѥ7X2ʚuH)S}߳(0( A7^9MH=pu`[ҭ/Ko;;.A0c'ŬhqWEL8W*)ʼ:ehM.ޒ%\rp§Whi^8  /BS_Xʙ&Q<FJBܜBˤh̎ xRn*!`{d0A1$:ĕ6mOD»ĸ[VL.Fü$ܱp~ںiQ=cmI#o]1nCUvQ5u"Y<T/lO6_PK:L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L docProps/PK@!'sdocProps/app.xmlRN0W?DjѬQTH<'c[ؿ更47|p2rq1+ &Z}}8ZW1X1о>QOpc̎J%9]*U@#tGdW뜡hF ΛB Sd"XϊQQܷ$zZG&{yFFߺV-T&n.!f[s37P+ S KƙK츺A2T-5dn@!rA, ϘW AO @w G! ȩrx=e:\x8&4ba׼xՁdba!$@ǔ`V0"5 7)^6` ”Y:gRJ/dyB\ے95 i mC+ཤYۢB%(4z`6?d)]m,/eVUU's֮JxŁ੓1 BdEk++mzc[iNC7; ӫNF6#Df;@ޤt_><&$U߄Y2L$f£`ߊ{Τ㏚PK:L `-cudocProps/thumbnail.jpegWPQDA"һt H! cwTT!Az I!^p3w9s^o߽^{S^h4}k,@?[W I<) -- )-u7@q? #u& ;{7sIFNr6}:zF#I 7/PN @z XN?#q6ٍy=7u̬?ly_Ix}HݹP -)-@puuf΁~Shwr8ЙEßS#Dh$M 1$o]"P19oHx|(O>SNQJm0œl{ 8UFt D %NFHm<U'0txAnڊIz1chq(|udI\k双gd6W,*O+KqomאP|>n?N?neZm,Rj*kv󷭯)v)%H&7ٛ9*PC2}:RH,tw$ $nF>=,>p٘?_u- _5"l c_-C|$~HuyJ1d@_-"]@x3zWGNpcmKu}јߑҳ7f}m1+ؚVl+KAѠϠ]'ěWt LOU߻XYDY=8 kGVn6_@ ̚%xH]fbPvԨҌ? r =3n,f]dI`OO7Wqdy#_d)NcW"s-oVWnl T!냡+vg&‡A9BXI1D.(gudY#nYH--X gY~^cU|mYOĘ9Ӑw$yL,{p.[~LlNN1xFVi2o셬4on#5B;tsk@~ZQy-Oܹ2+{O6x` |P՘Xԩ)(8GZoZ@B[xwVu\]U]m6x20&[.l!͆5/4cZxBbN21\g<4T-jm̷~c￿m\@ρ ț̉[a7ގE[#ʕW%=へeO1IQ_)bhG^KUf~e'ְ / oRH~0XLXX/ͯRB+]BeNAݩ͔Qa]m /ٹ-3զ.VрṊU8ɳ}7m;9BTbNσ.me9H]pqtEj2#{]{VTz$d\Y܂e74/LR/K>:k9ouB lM7;"nFsˑ 0,|9=9R^,Z5)d;u \(a'FPupIݜG-pV)SZr %0CUu|zJCꚼ^{ԛ,)En@s8钙ެݦsWWoZ5K3?y}oBFE:Wd\iOw>3KK,"2ccJk3vi`2y;_E}EV)T ~!ĹR]YxlYMpߥrޚ*6q44,R SWWH#*.iASAnehR \>~Dp BNӚh=CU}j9Utbo7d}t@u7EY#K Ĭ] ]޹u_FiVC{l |DMu_xaRӉNӉ/`a=Yw]g Cw,Rt 'b\U ?ds,*txH˱97g&cu-UTWPƴ-^P(h{~uIXT_wj[zStE;0[;PTXꪨxin*kF8€E3x]U*L-vt.!_IMAH0mǯU1DbX2V)ƅ> hEzFu\Z8d<.G&VKɑ+V6\zO dW(ӅEhv/Xm<~Ks=Jp|}FNwIjqǯ zYbNj ZKVhjuLXֱ性PzzIM>_ũd&eAUUǦȣq5x.Bs.tib%g][?!M$Rˆ*h+dddzKTYK'[K`Q9mSm9y-t^@O,RK˺I@5<騉)/{1{FeC"׀t#J7rз.V4Hۚag^ V-ឳy (181IƉR(MNQ{zv55tʴD>FS~t,t)Zgx$|w? ? ] G9WwKY:~Ѹ`ڛjv| $] \!l!}͂kЀzΓ.F\!!IUv*-+B0䢋DbL+\T /"D̉4?B6Hz4ݼ755l&:BOŋ]JDYo+|F^z46](,:󃫗*kM&t`_FVC+ϖtgmC7 h]EOhq= 22LwF$3O'T Yd{ȱKHxHTI97fkPbZڨuSRm׺hfj8B\k\2}\h2,%%嬇~r6q6^]8 T2'e^%+v='4Lv BDHO^y Т6+3Q\KRd%|?PF6A NO9IqYϒe)u_&/\Z>d1_j#LMU3[n v>q{Dr .BD5Wiӱ-"ψ㤥k@ )RL]-]쟼Zϥ|"Z.16)Sy'EPNC L M:,њA"ddz>'`]Hπe.~=k#y%i?!9_+eW-+:Z=Rz'-&&5BFfoUL? }NcmHVCooMNʟϼhF!)570{*bH7dfX#MA\9\nŮ P9/FlX:$薮[bR~ "gw*_}_ia^4iP׀]"N%1Մ׳Tҿ =\I 8Bs|e|IG,(!SSUfܦjJvv2(+~~O<ÓQ'6 ֒S2Gqm5+v] SI^7ֱKP/BFey~Jsz)YXO:#7CuĞ@Җ{q/Qc.8_ޕ2OVb\M7eZ5,?#8PAfnn*6y`Uظ }BgڗNtHZ=Mne{@!a[t`$RįC2u-*owcwKhM[^..4 sQ]w"kx<2v> il;Z~~sSI _n eEĢ,mC<#!/ɼ<9j)W$ F?u|k!]b.qlbr~;m:3<8rbYl9Kl{,7{-"3۞$Ee|DA7 KGSBdiuXԢ.vk%xDWWrKv01h^o$w<1*w ÂK7~s13M@YiC;.p7Ne hUlX"XnJuԏ4˧_ѹmX2U4H(Ԥ\8%D p:ݪ0s=B 1^FH- lO3!!L뾺ӈa)7P/@1ln;Hvŭ L㓀=L+<8EɃt}Dx0N(d[GHVͬ^&|mÅe{E?er@yrKa&ZJm,'|+=J@yut1(AmAQ*<F|U^dž& ak;9p b~Gjc]]LJ$:vb԰BRު,\^+') .ǹT9T}T;3w%EJeXvi> '}hy glLcՇ  kLm+)1U먰^F+~Fz*r=bN AɃa2=捛e#T$Onq jdTw{ߥ"`8 NJ5b afda/FRVpZð K-w Nr'jhz#R>2@tB̨X?4L=I M?zA@PfaY֔rsb[pTI,/PBt}x!y?3W@*՝JJg&gX C/LybX՗GϘ2T 9lOSE7em|* TRˉ-r^hx~ˣnU[ O>c.V2@]pƲCԳ3oZ#2Uv O}mIx#z T޲+ns)bePvÇ{vv<%#nf<hvI u0h)*!z~J@O.#jelde~ZvBm/Xs|pӏF֣ ;BS ma:AhcG#zH+&7g985B2<K&V<Рpi]_3PoUTKHW[S̹8)14d̀"aÔXv|B㚐7W^AFo{)pn/11 z"'Nl>0,-%(vJǤsvyK$ 75w/$@\["0惀a cW/@3`z\'-_'K'gO_}Ƚ k}"AjR8w S> ¨yz{3쓝M㔳l~_#v*iFsNF_&]c&Ay7b/_(&|̒6"E,}|iyf~#9"L_Nqgyu҉t?Vj-Ʋ'I{?W"ĔF_P~K!f%&t3^}L0ؕxP=&Q$4̧}Ś]ߩ*Vs9ƛV:|^L?;|ctJyhJV|&~xK0BlDjꈻklTVD*up{>w!g+Ti "wjjW k猢;Lkfܳf߇"^H4-*"B3ߵ"o^ZoKr^(TwI /4/>h' ӝyX9\j/UL7}YbԙlN6z>UPE{I{衍NTI BgG{p[w"]7vM>'WJ8NPdɈyg%#[L@[\!{@_O{o |ٞ[`xڬ< X8wNk疹ktVO+$gn Fa)2~mr~&L}OÔvˢ4r"!m%~&XJEkf7VIRg7U,]ͤ "/ H>60WY `q8=c3+$Sw~:ñT{jڶ.QfG,0m?a< CLw8. OST<ޕz̟T*ˌYw@BdjQg% '/E/ t,WSsؑprKG:O*]0J:{(.Hi$Q;Qэ^¯[[=6GX~w[0ͣ0!_ڼj"o7 1*a"5eN}?Y:O#)c r2U(ZNg/[T}; 鿽 Iyd%IK[k/GA5dn5z"+p[F_r4a |YɌhH4~pJ#lFWǕ?IPap "&kiQfA/5ܹLGbނ,L[V>inGrղYUpars;EƄYޥ|]Aqw=Mˇ,"lx >6}o-u=g>xC4U5B^W Rv9)ű>dw1=ghl92e$+kc)&i+P]+Lzu+gO6YXGؙ:Mˆ F͟bZױA(\ P9_isP|ɟ Q\&l_ZA۝6ͨN˂6=#~WٰѤװgpsXrRMs*Kjl&$9kRMIǴD4!}wE.\0U OQ[R/sF X&]Ǖ_N&<+1mj{ AH~eI^5jCXQq;=E ܾ:&~@~>%-TuB )I}ϯuyo~2_aYxVQZR:*M4ՙ."Cz´k(:)-00)]]wJW|]s=iN9{kGskM\S&u x )Ʀ׬FmUGW'c(+ӣT]=lGtI <,`nK<[)F(s+ ԃԅm3މ z}A=im;}KI*HL= o^% tljTb8Bte#lO?$GϾ0{?5ʸ^K5qP+ٰ2ը O/*|Ti_RRq[`~gzHZɝD+0L1 e#T*Ge.OMaFyׄrl@܄KEu.u}恳%Ѣ/JmFyF^LZ4n$8/0ݩDAt ;gl DJS'Pk$ǰ.mܬ55~rz>fhpJ?ZyQ|uS=NTP{λ+j^YM: aWj6)'UvD{cls%yv H::v_%4a+rajk5s!Ȕw4؍t_vWqq2khY,;serR~%(v<% Y'b6HyǥTTN}!ǶśW*yݯm3d+[|A]80F8 "B"4^%#ESo4Vohh y%{Xn{BL˜D93fYA;8<69u$"^JjjbauDfވfR[y{>Xk)hN9Ng70^n|B tCQ"2JeMj=ZB&?h s(gd|NvMGL~,Ra`}מ77xSRU?׸I"a3Zq^zFm~_~qB^40[yF~jisK\Fl[R1m}%a}ώ )Z:0cV%i9O$<@Nyri)|Kh,:]nO]-B ,BFP٤KQ*Պ#R!nPUUgp$xp,mS^OLӨܽǎ-=NnRsC'8`Ik!ܲ&3,cL'1Pyٕq;7 P|SCdB#;-W+v70Kd3 1jjaY o}Dë`q|.|*၇uum7S:/΄΢1˹~Sn[ euù%;J uc7rXO4rG`(,dLzP匋tnQ@^{w85WvY55;27XbW}n?vUjwIaU{+_:Xޚ䘱tjzbR:?#h+3"nQJڂnic]%f't$,i$1nU{DѪU37*Y @q랒&Ҿa\Llpσ`YȞvim |*=!Z\ s]^b GivI`0RfjvFb8HVu{VB'=)B7PHK',gd!t-G6:FPu{&*bZ^KWx WL|o]l+$jTo"f;Svھ>e&N)؄ۍe 4:(Vwr  AnuTz q.8H -{F;jc>9^Ĭ}c$@ڧ0-}%[l]f =5`o'B >k=Y_k-/u1x[=QXr"I$eQO׭ՙĘJp=h7r ([Q_Fajqvik]鞛$_I;Qdq.4J{wٳ 6Yd!tN =,+jOUNl>}l 3XFnig}8=*)SRLƫ=}t5.q zTM q>}ƥ; EKGb3{ϹU|BA}d6r<7Ci"V5͇{8% f˸7grďy]Edp ߨձ} u?%5Jc436)yϷtV{6y`$\T", 5bW$7\;ܴ{>?Y5,71=5H jxM냯~_Jl=j.!F2ʣvx`Q~~G{Q{A?)%a!"FiBҮ#鋼Pn ^36bNlcN<,_6#5]R]yB1?uDx]xk+I Vuy{tWh;7l0֝~KITEt?$7ߚ ɧ}Ro1>:"}.z;|<2l /Z 1A}%ŸhGImdLj>a:]TMU=N +ߚMs*a1 FF ױ^VAuY!NǞ.K5`c/K~sTO^&mBy\2▜ o/?ONtyN_'la=xՓUܣ+pVpυr![8:_YsnM FZA+šv 3u<3n:CBm#T+fq{Zoh#(|-n:_-TxĔE̍ƅ=S+RX&_"L6ϜgvKH7JK2T6rt'2!"1!_]~4?]is{:)X q9 Ygy f/zo8>|yLe~ կq8 U~SGYl*-O֝={Pz J$&ƘC@7ٍ[錷LlCsBj 7AU_@we=Ő4:ɕG麭Ei{ݏcʹǚiKCe;rWPDVkaih,Z艶V0+,2Q[ӭ=(]HF5C s?3 AvV~8Y ۺ%Q8gKvMZl?Y:F[<6U[_ga2܀LSM@rgz[phq$ZσA/:]immr`!@^Y̡`8Ğ,1f<&? ڂ(`6:-Fu;BCvw)␍%{aL9Ww0lM@AkQ?ϡ#R>]p qay0a\C8?g:y7><)![e}je |U)pQE髍 ܖD@R I~jDn+gAlqBdWv:dYfyZ /ASg;,-Z}k:돦5SUw;.n#Q_;ϮUܾ/>P Ps\b/cphy?Zf4(&?.tfn!80]3-o>a̋!/HS l~61 x%ՓZh1i\CrT@S F_r}"UѲ^vQ@L3ƺ {ʳ5@ݝn <>8-@t'rĒ*M7A;;YW`nEv!Ywei"Ã3[ ff|2E~n~?ή:|(ٔZ@= IQ1O $,uTmExmW/$j| y]dlЀL6;YO&V解Iu[8)LKI);NNc"ufբNI(l|M(NW*/^ +n1sҗ7rޛ#ݘ@A:Flt<_CE۞_㩆桄Ln.jw4W^YكȸV5o.NMϺ]߸8Z}68@]?; ;dyW_Q*UWfiW8>M]m'}R-)D6_6Iu; an5.9ZݖzGdL4"GRQ5nV.Ro5[L.r@o97JLeE0ګHUSc.nGP{v 5.rt3ۇ>oV5䛀͗UIxs:q îuV JtG('XQ*쩻0ň$sEjS)ŚLxSz{X>0ۼvlg'FR.teTe=; `;M>'ʹG-뱇Rʲ Ĝ/Dʵ술7E*av75wHyշ֎O!\]Z[$>!\8?]˺D&Yq2iY;Sc7aѽRO^ͬz=hvc1؜دbڀ/Vy#+ &MoAC\BQZ3_lj5<ش>6f<׷Tx3k5L B/oZ,cj[&WmOb#J tPyS5#>uCտ9Q"?_h:4h[-^5BnVR;>tn$`*joIƿܦ [ԽȌ NpxHVT(H/a'm<'vOt/ƻʝ*T_7BõTsR9j0tO;E~Un-ˏ4L)1/;ڲAK˅~L:eֵ U PI0eT{,`ٰx\< xmXCNGȀebaw>!9ys!L^"XɮZ _/7A2j ԌL3ZYLث ͍m]얕>խtɲURA8ŭB"9_4aMC]:;wWv ^VގXeٳf/(r/ܾ|Tb4Í I-W4m~=9Y}rrbvT4sH2T2%?,.$@SJ|"9X C)!HR$;{KֽYZ%Mn;$ZXLNJ 8J Y@ؤN2" ORP`djiស GB;+bh]ިCّQw4ui&q+IGQ-KQYys[1ˌXN 2)Vx#$t<+a ]ΫQiSYT1  +b!hiWOTG"^wUe2`h=7<@PѢcOݟgQvKX`~wy1gx7.jm_wD9?Hj[jxEb\SwҎA%Iv&J0( <[/ńYi׳׀lkL2 Ӕn&RH+ |7٬tDuRu bWcNmv>ɇK/Tc6*1ElRlp:wmD ~jAl7f}w\RL*r Dr1[&{1ZZɃuch""_pg?]<5􃧉!R8J'CiQs a +RE::gM0%pi n*2A!7NmPY/[# vџJ2q' V$  鞮j;EI\:{ܣY4Td_{L#6(lG&YV' 01no9ȥTw 9۰e$: o<@i>@`T)b#39{!YfX@@dCD%*S gⳐ|扗1ϣ2z@8з{j~LeCT Ɔ'KVu*xu- xofҗ-25ZOn1ۣϞб&ucޭdz$-55[ѫjR'ګ}p# &j' HaUV`AGWWiQ+ 5 *ٜCVM^:VlGfi*8r#h=~2:( c/_ֱ{4M˨cg8>\YoM*$[h~[ۀ7^2H;3d<3O>rUaW>lGL$r\pj5-o7^C$dO W$k$ G^_)uvC E] 9ׅGH4g L:uAȫ\d1a,-mY`VhCЧBt=ˆgEh,p }%J:oZ{p=zv?w/TS,a8EV59_"%H'#꾕LEe .iB(CUg;1Ӕd$$eo'=ukyi K.%|퍣}H~r34(vrwLoD &U`i۲y$q{X7A<Ѱ88O wHM0q}WpRQ}Y& Ix*/NU@ibTsYw$.]W9C0J$+QQs6Kep:z]jȑ uxkՓ)/MZL_D[ /E  񸥴 C3XM)tGmC/pXOwKiz;Q\&20K{ ˔a&>FiaA%h?j`E=˸P3{ uy*J h୅i5 ䷇6SY8Wy_淮us f80H] ך#K:)govW?nw`)ԇ61C%}$|NzmuWHqO@U,0WtV}V0ES3ZD f>ݧװExWr%2}s+ˆ)$w-s[^.=Gni4e1UP&hMUߖ8K* зkO<=. mZAGj˿hi֪2J1WzYl^ PԒoq ]cI7]=(b)Owͽj$YjRx`Ҥe޽vt#(4r"hY f|zGĚs5u+78HGiQ^_GC\?[) ;d~pK Ζoncu0踧ߺS-ROے>$(Hl*7NU$iO w% d@?xRaPh˹Uu0M+ZlLF]QÏw Jq:ZyߎA^k,UEsZ۶ñ (nʳ$ߨzYa'lh_5? JO-A8` 7AUQQ:#^kW*1}|C=WZHX{&haHj\UT&徲 C- ;)v0$UrĊJ.y"aڸ` uuNtCjAC`YkJ*3zTN!y oQlw egC /EnDfs@LJP <F.]f>})mVD9W]E"IUmIj%zF}<0Miixu."w߳_ R WI*QanhAzdW'Ku,."}PBGn's{3Fn jtVnCH%jY=!ϱw\1^gVwe.mO?W7T!@.;Mc5_߇y$J~a ^O,xTy#%:WNǹ=Q~o΢f]Lg&LqMU}o|cK\ѣ"2lV\b>и9$0Ȭ=vzA`zԇ<}4vmUC[.l\lQQ52߅l$JN\7-aXJ̫TrZߵq@ɂqsv"2|eN\A`<|dsǂXoR ߵ\׹2rwC)g%}7ĉ/'Q6Zt$r(雎;״Js>p,%CpҎ&%&!UqNl0,:4Jvm$ary glTȢ3gHs/g8^zRalwIe1i禫R8ɇhnwW :}ZN|h'Ӎ< nP^k""I<&6yyY4gs`uV1}mJը scXХvx1uζXҕٻ(U~PjK9/#ѡ :&KFl.|D$&sݿb!bwBCBv3mkx"TɒP\QK;nݏ=]H!UvQbڿ$YzTӟ|;2H1Oy̅/WZ]GbnAH0st/Dŗ8*>j8rXs];=ZNÝO*1|? H H.Bo㒔Th׀%A( ~y HE:v!eTKn<͆ :W,o/I,dW7໳*q kB[K~пi^=]+>rFy7C& //$ PK:Lword/PK:L word/_rels/PK@!wC#>word/_rels/document.xml.relsAO ߁pS7cFwQ]u3@{S%n=ȟҷX~ن}@;d8ڕ8CRPw /ˋ34!Ylq(yE 0-c|2U] LnN:٪!):d6&xGk7pd!|Lųn!C:ml!qQLϋϾPKD!{Dsword/document.xmlXn8?Oaq6C&G@ՕV#L@&9٫}}}Iin<3˄߫ S͸5Dh҂.!!1Mq(j["/כIʒ"T"@dS'S-F"IUU$ ɫU#eEBFӑz{Ws!LXh VdwkuՄ3c| ;/Age(Bn.wf=N'=g& d;em {FQު Nɋ }A9Ii*;/k4Q*;@8>s06os͡s-gMx;R&!5PLq(xfН,ݪk<1w)qk-URQ 4c'$M)gn8o8{^$ T{,dIzh1/HRJD?as3`ذ3~Ҍ_1ߢR1lqlc˴ ύ#~ W,8!DMAb.ȠM'96CT#lꂾX؋ơ; щA'>KSn_ 15\2\l !9N)涓#ID,C9@_SDW _kĪkDpr6yoFT6SF.Т=>L;NWM, hB#<ΔCF`}TvH":|J3=Ww S@9?+pu?ĞI3#zV+9{^?:?3(? g ׏B+Pgr=?N>h ۹Pg/2[_@P-@ S\n'3;Yp^{J]=[> Lڦ$Ww}[ka =VDxArd$7'8%3eƘBE+u3o4y\Z*U!9ZΘiÕl"\d\M78!X*4V5єtzb҈Ɓ4DDCkp50 ҂ZWPnJ$PFEEs6jCD%͐'fmKDgqOP.aHP+"[e`;#ƋTb`PL _OEOřP 05qy% !ՆB3`-&4Z[\HɵԜXԛ'VRrE,-(0H2jiTk&ZN%5- B5aǁ1HaT`WkHnGI8 r$>#ݽ՛99e qs<Л ݦMzSaPDevRaSa4 v7)yo)%qGG`2r[bi1ߟ%FS>"RЎ`̓5Yn&+RVK*sREl4 -m1[ٝj˻Gr=bfLа }+YKBXIkM+xvEs76E??Gp`[<,ə%jE^TB?lp|#+Iih&Uc;&Wi&Y,$]ON1qNSxN).I)frΓ)_').g'Fq[϶^Dk3C4a:w+T3%&Fn6qj*|GI[.\p.YnHna6qvKmqeh\/8dLmYmeX66~ >_ ?@VƩV]NqNXPKNygؿݓtѤŨR7%#LÓLJד"э{N6PH0 nPKDf#Lword/styles.xml[r6}WpbK=U:ĵg֍"! 5IE( ci;go8=?=I x6 oa@,{ߜT$I3: _ zÏOgR$Tz|&h.Zz2ZҔȷ|E3ݸ"%J^Jz&(6g S/a? 5/,Wd\yctb]Y'JWq'\LȈ{L9$ u %RKF i_{GFR,faπʯ I\]YBRF7gucj; x3;7{o]W[k'<::ͳt+]|#gJ7L~ ? ƅixzZg4e7,cd1cIϒo׶* _gy8۔%2~ѕ1ݚ_̀5;|6T+݇` t4ܫIőc#c'*N_B(/ӎ*(( HxF~;G4ypDD{c\L%TW~pGyd *@9a+?SgJf8yD2 {E ~,3%Ob*{\ƒيD pϴ~`K̖4;-AIխŕ.[]GuZyB !_ aqa`M!O|?ԭߙi&lzM%OX0=LgpsyWA$1q[Grԩ:x7:`yS:9'r^Ykvv5WӡWmh&iC;6nw9[V@ k"qt[%K uBX7(&m`c@8ͿcɻX8 !oy>n@4`7 @8 !oyp7 G,7 yPF,4`7@8 !oyɻX8 !oy yPF,4`7@8 !oyɻX8 !oy yPF,4`7@8 !oyɻX8 !o37s SHa}~ *hNRx: z-1>j)0'c6/ ݓCǒ nhun{u]ȨtGV>q~ܼ84l;յ3W @&TXTq:dlR.ҰIgo+uV$I1 l6OOaj{I~N?fVT]niL²%M$W]Py}Εixay z*'㝭9E= w~P3mMMX5&A$ZپgOqKӥ>5ߝ:1e{1]Sa"[]ͥςNCP"a#gf\̥Į%e~SA% =HO[$mb`qO灋O#\nVѝG gJh6Mׯ |F'EhXJ6WLsY([ પVk)K H 3D2~VKLw!b'ސ4t#JUkA贫ۄ[wת]O w1D}{b [N9_g>7O6IZy2OV߾Q+UԣQ[Zq`͉"~mPމʜR鐇ts/e3Q*"BniXm}͠&ۈL11i#8^=-YI&)JO{]Vl &ٰsD1.`$qLDž{:@n٘x;ώf(o(B-6|/4IoPKDD ڥ:Pword/stylesWithEffects.xml[r6}WpbK=U:ĵg֍"! IdU(. $t Gfd}' I8??( QD<_0}9/O& RLjI( 6q.$ eaoSh9`W(yBf-FA8O;IJMhٸ,FBGVHL slK3OS͒Q9?Qљ9 drMu1Ii—$ZkqY98`7. mOe~)Qa> #Dqa^|ׅG:;kwɪhVи3%JDŽ24G2➪H䦐x֑ݳ5?74ۜ# Vb" ^$#..8AL/Uǽ5% Sl|B++PXpryVw&KSمRc8-߲^;D"`lŋ4Xp&d=#IggpcrKգ,I^3a%Fϡb@׉|N:e?8U&[RTo^kRy vPrGv#yN37@ývLۛ87171717qjo& ⫫uh4SQ4hDF:5 hS΃ p' ,.}1P*@9`a ;WgQ`q»,C)oPu}Qԛ( [y\ OnBظ%]?. 8(㖺l7dFǖnWB@0J*'6?o4׈`kbn)0Gc6/ ۓCǒnqyn{ٺ.ꋠxI~'̎燆uǻ֣^~)k_s Q+6 f$}}Tv H;OCάV-I>c.m<̣2|KBi`]i(M^u?>Bи]m^޶3rN[KRm;;(jv߶KU3vɤY4Go$YG$YmYӧP&h/|*Y!ʰnlerzU>Kc:U&Ez}-ϳ /ZٯrQf.~\T?4J\],;9UK4)^+0ʤ+=+a!fMQk.Ue%V*K H gbX%m;wPLZnHkJeUk|iW:oض ]h͇Vzj`nud ۣ/'Pfؚ7owQzdtD<$}K3ɠ>d{}&/˨FΣuA"WFF +.,g; ¸!kgD3^S{h+CA}cӯ TTUз\cB|"kG4yhJ65uY1gC&tLt2PQ6ǟ\ă0|v?CyKٗ4o9{5V4+7PK:L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,aiword/_rels/document.xml.relsPKD!{Ds;kword/document.xmlPK@!nu oword/fontTable.xmlPK@! KSrword/numbering.xmlPK@! kuword/settings.xmlPKDf#Lgyword/styles.xmlPKDD ڥ:Pword/stylesWithEffects.xmlPK:L Aword/theme/PK@!!Z,word/theme/theme1.xmlPK@!ʳCword/webSettings.xmlPKJpandoc-2.9.2.1/test/docx/metadata_after_normal.native000066400000000000000000000027121363630463000225720ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("abstract",MetaInlines [Str "This",Space,Str "is",Space,Str "a",Space,Str "test",Space,Str "of",Space,Str "how",Space,Str "this",Space,Str "all",Space,Str "works.",Space,Str "I\8217ve",Space,Str "skipped",Space,Str "lines",Space,Str "here,",Space,Str "which",Space,Str "pandoc",Space,Str "doesn\8217t",Space,Str "do,",Space,Str "but",Space,Str "which",Space,Str "shouldn\8217t",Space,Str "make",Space,Str "a",Space,Str "difference."]),("author",MetaList [MetaInlines [Str "Mary",Space,Str "Ann",Space,Str "Evans"],MetaInlines [Str "Aurore",Space,Str "Dupin"]]),("date",MetaInlines [Str "July",Space,Str "28,",Space,Str "2014"]),("title",MetaInlines [Str "This",Space,Str "Is",Space,Str "the",Space,Str "Title"])]}) [Para [Str "And",Space,Str "now",Space,Str "this",Space,Str "is",Space,Str "normal",Space,Str "text."] ,Para [Str "This",Space,Str "Is",Space,Str "the",Space,Str "Title"] ,Para [Str "Mary",Space,Str "Ann",Space,Str "Evans"] ,Para [Str "Aurore",Space,Str "Dupin"] ,Para [Str "July",Space,Str "28,",Space,Str "2014"] ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "test",Space,Str "of",Space,Str "how",Space,Str "this",Space,Str "all",Space,Str "works.",Space,Str "I\8217ve",Space,Str "skipped",Space,Str "lines",Space,Str "here,",Space,Str "which",Space,Str "pandoc",Space,Str "doesn\8217t",Space,Str "do,",Space,Str "but",Space,Str "which",Space,Str "shouldn\8217t",Space,Str "make",Space,Str "a",Space,Str "difference."]] pandoc-2.9.2.1/test/docx/nested_anchors_in_header.docx000066400000000000000000000421771363630463000227360ustar00rootroot00000000000000PK!G[Content_Types].xml (TN0#(qjʁH8›Tx\3Zxs|H9UOHatԃ&goi$;NpaӠsn-ZSsL ڲwPK!`N _rels/.rels (J1ޝmiz0$ݥIHFmAT\XkIf'q`aY`8Zx=.i-Z?@MS1J B'xRA_1$z-&rjWu}7 lK0S~;~u 3#pZd-=JmV),I]̼HYsk?BBp+QJF8PK!:"5Gword/_rels/document.xml.rels (MO0 ;ʝ!n@N$UDl=RɎILf߶N>1.4 : \.DB,]!k0k$1^^L_4G{RZIo탕PB#Շ,Y6Ӄd^"̋k,MQ5*xS-xڤSx]#Fd(sqFg5˱lÀ?PK!2w 0word/document.xmlZilƠmV`g$c pv9e,0y(JVH9u)@nԹ~@yF$qto4UA=?Zߪ7$yN#tQ0Fv!RHDh&MQ:ɛw N*}ⰃW+E&^t} vQz=;*ȅq3†YF#]a:i5 p;?yU$ nr00zl06KGz^6Fgr50zup2E]kaJ" 53Nd]'bkmKQ{}iQ$83d.E'FwgGqz:tZboO?/~!c4Qv#'q}Ќ*0){fٓYDkwE7N.eA.'}S Dٔ'MT~m_Mr< Sr0L16`Eߣz/ ?ィs~&)Nc9?q sjp3i~LS֌zXL +ghlTzCxc >"&LΗpZgOAdؠ㗿嗗˿_~nOcc}Aa]ʹ擞^T@˵#i <\+L()MJ @}a3YnOgRA}M 1J f!Y0/nJs#|O0^1 <|2&%RWgo oOx^5lU`?JRKA$`^ Ա|ĊtUFqP=333狖Ol1gDU>=aF`صzL{>D#Ct1rCWNIA!ޝ}7/݉%BR7Hw9!p<Ǥፉ.EB\ /T*Y>,cy'$gC."Vso+C1OǓt}8>V3mBb%DWs'O''Gw ~lh;UM!DzŬ;C K^ysJJ1KRμ)~.ک/ Y\n9?[]67)qnpJOF$ w;fCLL&׸m%]V%z-{ v8Ҩm-.xo(-ms~ۜ|s>Ͼ%O04h=یщ!eƌ\f :C*OiIA 64HpUa7 UO3 d:(fA@٣>N"Hhp&hA38 )SUUR'V5&HM.6xpyn,ބ!h^^Z4~0#w,,& g"Ic힍Q)˕C6%^+Hk!$A*#.D)irdq8Y^}q~C>Np%uJx?+al|zf[Ux5b>c!:M (MkIVEpYPҍN2$ÿ -.h۴"P6T{T 6]u̒VhVnR+n;)ȔbL X6Y`+qB]( 0H1$6_[s)k8Tm Aa?R d ڒɾ0{eRF& Ī't\{BHuM6`pGϽO+!XoN'^[crh2*tW<{1U+l_QSncX<)Q(wJH ٯ#zCm>nhf6t}M&ʺ6ײ'\gkNS:;\qN-S;kǺ"{DailL`̗/޿ ^o#I&%0]SPV!] PK! word/settings.xmlVn8}`8Z-Bu4DHʊsIqӸAѢO"ワ{wO D*<ϲd@D#1ya5%cIAɁ՟\v!ւ aJ̓LSGL*"# WM9ҏ6+diMȲIқբM 9m4rcJ)7ڐ5 dr"j )̎*)[I9r]%٧I5~$JQ{J|HEJDEtfY`@rSYd "y6 Е[8m7>RE_lL6;QcjR %rX+3@ CqH-P{%&.VWnpڑ!HYAB߶R_p??Yd[(or;bTR Ugilk'lDlᓔ6!g"‰9x:Yme/9㋢XOYby.N,ΧzR,@7/>W4KkM`6h֏煮'_s00 G`"O5/15xlh'0ٷ϶ܦ o-[u.z{T;#ݴulXLJ ;$ ~O C< o6ʽd=r6'nw6wjnJE+<n/qɂtpRH;# ^ 7:Ƒ6>&ouW`5lGdɘ'+R(Ekeܨ;×"ae 6}I1 ZAQsކb dk_:V/,t(}gX~YHQc+!RCAQes N>E/R]PK!x,S Nword/stylesWithEffects.xml\[s۶~?3;仦Jq3Zg,$CRV_xą̜I7|dQ4 D<> }re9,1y6/u3g&U'_eOE&_Db |~x< _I*|ev7 HФE/H$<}"X} H_h<a~s#m:XD[udk&- AmX6 ݡZY9wq X*5d&6{(A ľ$ q;PPA&6GCBDE*fI96fI6` {*։* I_, qM˜4bb x?{E!hdF>7-/:33qy s`8Y_g\]Y2x " Eļp:HGU8Q5X,x,W<~b{[$N-80[|Dr,E Z[mԁ*_9Ҟ݅L, V;EeP'Evq]ʮ.ڔZ(e%=UsjO,j]Hi]H h]xF|[W4¹wϐYt m \FNKKʒ'X]}d9[sH,OZ<2V`N%+ut3z3| Ts} W"\{UD?o0:>xY`zt' CLSڄbxnK?"XGkȹs0 P.:!jnV+d(&rn'诊|c(*\_g <n[)t䇽15ҽ8:`9ӲbvdfpffVz˲{Ь5&9:Zf&IT {ʜbs,N`Q?Mꇼ @7;yG,gn0Z&o^roMrvQQPț&yPc#o^ 5,Cu~țy!oP?Mꇼ @ɻ?&`9s2yɛpN]ɛ&yPS#TӤT2MK\Acary,ꇼ @7&u'vț SMrT&o37$o܌? (j79:5B5v`'sBzǼm=u`l4瀶wpNy٣3^TPQ6 8CX2FϡΔ(8"Ґ/%{sק8 cn-+~J#ќzƒ'B [A_N}#(wt;ΗCB`26CVV>QUt]\-?j+Yns+Plbzb7YEw;զ}lXʽ!qjodXftۊڠnov x|S%j`^CrUJʞ^ᣌNrm`@J[ejo4ز:DkkLPSEA?rhBOy$Q",4Է #x<η7"V4og~2l&6="NnĀD3uyWI趍kZj \^yxAɖSQك|GVq:юڮ9==t"׵+a)"u6Z6 PK!t?9z(customXml/_rels/item1.xml.rels (1 ;ܝxxYt23iS(O+,1 ?¬S4T5(zG?)'2=l,D60& +Jd2:Yw#u]otm@aCo J6 wE0X(\|̔6(`x k PK!9 Kword/styles.xml\r8}ߪ]l˗eq⍫CdqMZm4@7 K,胾to#;OP$sa{< *Lѹe9KV, o<zo<dq07y`c}[ŵHcye= Dey 0M㙯Ť)bY'9<"66+RtME #%/fabLN0HE&PfV4`dős"Rx#Xn%|vQɟTԿzɲ 5e0Y_e! nz[0WA,GRtĒgEs?=D2-dS5ɉt˙Mð#333 0P$_kf$8;7 (ީ27 XM%k}TTfT!o0M @ɻd8&`9s2y*7șgFEC)7AM&8{F,%jXXÐ7h& Caț4 yw7pMrée&9Ӄ*7oqV]ɛ&yPS#TST2M[\Acap(5 y4 @Ð7h&'nț SMrT&o377nƟNg5ɛ#`9;ețқ @x{\4  CațԟA#o37N-7ș P @J޸G~:yP$owjjț:0MM @\4 y4 @ɻd8&`9s2yɛ =[x_z ȀSZ)t4Cz: Zƒ'!^<ڋǖ!C(JSjD8>;IU54aHU߼rV63XgmfDJ፷zd7boQoh_B29F4K Q(d񰓽\l @w Z6r"1݃oB DI` ԨFkm ;j MP $jw8/`7,UJ{tkI`*.WS5][=;{g#~.e2@aҒ՘cR:PC |s} *#^k-ҞHdPK!>+U(customXml/itemProps1.xml $( j0 =uڬ\tMױ®$ 36};uǝ'!}?*f$yfQVbm$O@|#Z"CC+eHlX/g_;˛&SՏYª KTW}>700(rPF5NaΈNKuF9eݦiN͌P.y~_Tq6;_MF ,w(PK!JZdocProps/core.xml (]K0C}1K]w!yonuCLyr%h *%)@1ͅVyg(r*NB{phN./Jf -LR5rGǣ. %rJR%YAW/.^5Kf04t1 1 DiA,ԳPi]P%2bܮ*i9,*I8eo]&mjf3ea˕fZQf YO.w4QHpQmfBQA{o"Ew34]Р.{$͋BF2,ڒ}c?~V;6p*\ ̓RIaS8/_?j3 ~PK!|word/webSettings.xmlQK1 wp} cė!L@mŦ)I:ݦI>L=8 jƵ X]tu1S$z)@ j>6z)JE۩mJZȘ"ѤF]Yh[;AfYx$Cԯ|)E%Z&#ƅ_Y&!2<>RO/B>oYrLԬbr>aAX_O%ý\C?ן}PK!8@docProps/app.xml (SAn0cI&ZAȡi XI,J$AnE{.X0;\K|ld>hkfd4N4ڬfm+U4customXml/itemProps1.xmlPK-!JZ 6docProps/core.xmlPK-!\8customXml/item1.xmlPK-!-mf9word/fontTable.xmlPK-!|<word/webSettings.xmlPK-!8@[=docProps/app.xmlPK@pandoc-2.9.2.1/test/docx/nested_anchors_in_header.native000066400000000000000000000043471363630463000232640ustar00rootroot00000000000000[Header 1 ("\1086\1075\1083\1072\1074\1083\1077\1085\1080\1077",["TOC-Heading"],[]) [Str "\1054\1075\1083\1072\1074\1083\1077\1085\1080\1077"] ,Para [Link ("",[],[]) [Str "Short",Space,Str "instructions",Space,Str "1"] ("#short-instructions","")] ,Para [Link ("",[],[]) [Str "Some",Space,Str "instructions",Space,Str "1"] ("#some-instructions","")] ,Para [Link ("",[],[]) [Str "Remote",Space,Str "folder",Space,Str "or",Space,Str "longlonglonglonglong",Space,Str "file",Space,Str "with",Space,Str "manymanymanymany",Space,Str "letters",Space,Str "inside",Space,Str "opening",Space,Str "2"] ("#remote-folder-or-longlonglonglonglong-file-with-manymanymanymany-letters-inside-opening","")] ,Para [Link ("",[],[]) [Str "Remote",Space,Str "folder",Space,Str "or",Space,Str "longlonglonglonglong",Space,Str "file",Space,Str "with",Space,Str "manymanymanymany",Space,Str "letters",Space,Str "inside",Space,Str "closing",Space,Str "2"] ("#remote-folder-or-longlonglonglonglong-file-with-manymanymanymany-letters-inside-closing","")] ,Header 1 ("short-instructions",[],[]) [Str "Short",Space,Str "instructions"] ,Para [Link ("",[],[]) [Str "Open",Space,Str "remote",Space,Str "folder"] ("#remote-folder-or-longlonglonglonglong-file-with-manymanymanymany-letters-inside-opening","")] ,Para [Str "Do",Space,Str "staff"] ,Para [Link ("",[],[]) [Str "Close",Space,Str "remote",Space,Str "folder"] ("#remote-folder-or-longlonglonglonglong-file-with-manymanymanymany-letters-inside-closing","")] ,Header 1 ("some-instructions",[],[]) [Str "Some",Space,Str "instructions"] ,Para [Str "Lines"] ,Header 2 ("remote-folder-or-longlonglonglonglong-file-with-manymanymanymany-letters-inside-opening",[],[]) [Str "Remote",Space,Str "folder",Space,Str "or",Space,Str "longlonglonglonglong",Space,Str "file",Space,Str "with",Space,Str "manymanymanymany",Space,Str "letters",Space,Str "inside",Space,Str "opening"] ,Para [Str "Open",Space,Str "folder"] ,Header 2 ("remote-folder-or-longlonglonglonglong-file-with-manymanymanymany-letters-inside-closing",[],[]) [Str "Remote",Space,Str "folder",Space,Str "or",Space,Str "longlonglonglonglong",Space,Str "file",Space,Str "with",Space,Str "manymanymanymany",Space,Str "letters",Space,Str "inside",Space,Str "closing"] ,Para [Str "Close",Space,Str "folder"]] pandoc-2.9.2.1/test/docx/nested_sdt.docx000066400000000000000000000266561363630463000201010ustar00rootroot00000000000000PK!ߤlZ [Content_Types].xml (n0EUb袪*>-R{VǼQU l"%33Vƃښl w%=^i7+-d&0A6l4L60#ÒS OX*V$z33%p)O^ 5}nH"dsXgL`|ԟ|Prۃs?PWtt4Q+"wa|T\y,NU%-D/ܚXݞ(K/4Vm^urw2NP0ŮVw5j o7o:>S!?p8JX[d0KDEVKc2P,ũa].ﰘsYҡ+(!O>zPK!Vmword/document.xmlVKo0 0|oȫ0H_a@tn"˶IQ{[&Ͱ%Ǐ(Uޖ(MO2=±(/Rŕix*Io?]7I&p7@p4~iL@0/JhK,X b4BeAFI%0"EhB\( RZ^DiEF~xA\Y%-{uL宫(RuIeG@YAo%eޮ)C?kX21 舅8xC{& QPiō&<*Q7,;'`uM#* d8y*Ph]#hUEkW2HIhp5 G ~<{Q-+IUɋ!=φ8tR [6Px686ev+I8 $/, wtGrTWja*h-BBl<*'wwқœp4f?ZX)45PW;B'xe -kYg#ƭEizq- \^H>ЖeDٶ:1 Ģ6NaQi8q ('Kj0MߥPK!R%#word/theme/theme1.xmlYM7c7c;i&%GyFQI]%9 i顁z(m mSxlɖYl`)YZJ4WN㘦z4iqK-p3GܹᎈQO8ӝrKtR7,BVYT<~RU*rq&f.YC@A Ns0pIǑȅ8w/FDloa0'5eǢu=]W"6q1h,) 9Ӝz^[`5P^77]/xʋ~8W1@yѳĤY]@yoV}i(&8l+^]BƔ\۞;l>ZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zCnPNi0#2{x ŽZ# іJ:x#rK<:Ꮷ_"H@'^+k ;ޡ˞>ez֜pW)llq3-E_gGfVL.o`ft=yOYEWNkV$z%a(Kz<, |CA&IV p!z0Wtӝ=21`a^E~DGZݳ$tl"/IwDmKOV{iϡrpulLփ=ҺO1g۝˽|xkf[ \qEuz8XI&#Vi#6 c#l(l(;=Q%OP?Cy6F>SiFz;ʊw9:=7#wW̹ZÁȱ>f|.9L|Zoz䲜\f2Z_}Hʬ(٢LfbZ,næPK!word/fontTable.xmlS]o0}`Џh! 85D~7!@U`>LEϽ>9>~xY ҚFa]J||uG xfLY#R@?=If $Lx!4-bff.4s?[]2/RI0;fJ  Bea[r{jç4;@%wl{NQKˣi'\F4O:Ph>*!HFN Xȅpd&شb*sɫРs '6pƴT-+d#)Eʦ[2cw2WWVaɌ~9.O4]%R^UIғgb˳gw^117u88LSR' s,TSn/1 QJG tHsC6oyi-[Of<*W\%/ʈ)pLd^1&jFs#<'x:?N:ԉnPK!,word/webSettings.xmlN0 ;P徦j.3i83qeٲd˛7 ; J,.x]= UG`mfrN.D ܠmՔslf;.)B@ M4MF]G'ub5 B2x)"i5L,0==4.Bg1 cN-ogm6J٤LPK!7docProps/app.xml (SQo ~`dmUEjJ5EӶF>3|Q1 Q_N\i~z]eME泒`mWdW#E4B[9B ց B&T-) ^ fZ{=m$c%`VMƃyqCs;i||~3+& PK!w.|docProps/core.xml (N0HC{$DI*Q A*7cOSX=ۤT,|-lkAŃ iør4/Ɉh$hM뫌6^t@[&p$iRrVSH\4&ֹŠRN` #HF{ZibPǃtm.eNEi[{fl^͏r*2FS˭"GYf ýlFO` q-.`{IEcg ~w;Uּ}",pH{2Çr$aɨo.϶Ó#>4L4;_ Z*@7>':PK! sword/styles.xmlr8j߁ ؉kDI6qO\C$$aMb{~(5A^_٢Ah)<˅WWGPEB.&??ydb%_o<^s@d~WUQy _KBe +lyLBs|Rc!XTapYÌǚdiU yN⊗0!ט3JD\-WzcY?>%8Yz)U}ݒ@&tG*|cd,܈9l?3DY^ܪB3&`߂4Ηe2{;a('l2194?I(kY25-Z3lqycпV[h."ݨ85W[ݑ?U;::fU>oF<ɑY^.*9{5y^8"JD?rm] T^[=<vd 7?qg]+Ό]m> qb"v3˝mBVtR+zR+:]Ԋ޼Ԋ,"!#TPqnDsfCs^BsVAsN@s8q)SЕd?ud{?w>ݿw?܏j\kbJR<(xUMIxf~F`~ޟ!֤”dZ ,3]m8?y ԀE3^G|r: qrĦB@ɜ 7S$cqw_C$ beL":aa7M1F@es"-MYbƗ32AK3.iD=Uӈ:[TVӈ[Moߞu?v79"=3LOnc2c*0ǗmƮ烊{}ښD5)2[-d9ChTZlozl&h_hY9/:MkIL;cqYMhǻ3lc"lЍ%[35rR|Vo؆5Vij$A+c> _Sa4鳊c#:Tkm˟XIYSX.loe_Y:zb&$n&nMpRSf~PE2f}$?i^hk T$4SHA\,e|DKjA-=.>`6dya0DžLuOk6y8~Uɑoea?کÍ&lOz``cp7v GӘpBQmnã_SeLׁ  YLdNŖGG)cy,_İ0*%,J HN 62l:h ЂQ,O FgFgFgFgXI0.ʹnG# *c3S̗iEWdu7 'J?iE.#,":kݯx2YW*x&wg) tߠÞ7b*j}9?[aW)a_y$ʤi(tx林Lb+HYVH7#O"epї?ϑ|}Y\m_"#R/Cs33aqc\` g0{v̠i׷zv=hTqNo's:(Í1xq#@nĠܔc1xr#У#F+`h)>ՈY1x:F h)(p/B ڨ6*D '`8xQaQ!Ǩ6*D hBڨ6eTHA"FQ|qQa<Ψ0ǨcTHA"FQ!mT@"PF^FQ!mT@ߨ0gTcTH1* hBڨ6*D (p/B ڨ6*DjO0*R| )hBڨ6*D hBʨ ˨6*D }Yt]f?bQ۷rQQMܬ"|P! b eQ;Nԉo;|]Llh$8r֗HPez;:Fv$ ֗E)zwV#on.V :0ntұEpj CEs& M@u Q~RCa7![jX!+&xI 0RC'5ܕaԐzى(?+5$`Ԑ%5K QRCԠJFK X!+5$xI 0RC'=%5JV8n [Q-=ZZ5㪥hnP܄2 (=nZa7Oj\%QԸj)5ZW-JR㪥.qR%5ZW-JR㪥.qRԸjK;d'_j\+5ZrKUK]R㪥.qՒSj\+5ZW-UK]R㪥.qRԸj)5ZW-J^dbs3[7D3H듀EI&ش$_U/ OVkpUJ+XUm<+v<*6dͯ.ݜ ~uڳ݅6[IzRukn<=LIㆎSiw۶5w,}3~irI{̟[j۪uͮm4Կ/?PK-!ߤlZ [Content_Types].xmlPK-!N _rels/.relsPK-!dQ1word/_rels/document.xml.relsPK-!Vmword/document.xmlPK-!R%# word/theme/theme1.xmlPK-! VDword/settings.xmlPK-!mword/fontTable.xmlPK-!,word/webSettings.xmlPK-!7docProps/app.xmlPK-!w.|docProps/core.xmlPK-! sword/styles.xmlPK *pandoc-2.9.2.1/test/docx/nested_sdt.native000066400000000000000000000001771363630463000204200ustar00rootroot00000000000000[Para [Str "Test",Space,Str "Paragraph1"] ,Para [Str "Test",Space,Str "Paragraph2"] ,Para [Str "Test",Space,Str "Paragraph3"]] pandoc-2.9.2.1/test/docx/nested_smart_tags.docx000066400000000000000000000325111363630463000214360ustar00rootroot00000000000000PK!ߤlZ [Content_Types].xml (n0EUb袪*>-R{VǼQU l"%33Vƃښl w%=^i7+-d&0A6l4L60#ÒS OX*V$z33%p)O^ 5}nH"dsXgL`|ԟ|Prۃs?PWtt4Q+"wa|T\y,NU%-D/ܚXݞ(K/4Vm^urw2NP0ŮVw5j o7o:>S!?p8JX[d0KDEVKc2P,ũa].ﰘsYҡ+(!O>zPK!1)word/document.xmlZ[o~/@iHk2:d& SM>HID(R )kԧ!%=lŗq.CbS$?sDK&ɜ+vG*LdͧqXGR+>TvޝO?"PvRѴ:O]<(V(YWDZxԆu~ˍUsj;5\e74fh pԍRj?;^'ס:րF{֐CpHoC#CZ3lutdA$݌"?:1R 0{' vB6dFx4r=FMI_43.Skr'.AZT Eδwy&qe]ypdAŌ]pwf'XrDnGik'Ѥ M8lX8Vciޕ(LY4ᖛ9KG8M㼈\G"14zpSK99Ӆ.D&հg*rN+Z#SX`;^vuִᵀV*՚S%0T^mǫW Sڃ߬o_,j_ƀW2` 8Cf`Цo _=#t74 #vH!Gcf5CǤݪ5[LpZ3;^τK8ۃ"r]OIUpj%vOA#Ddh OEN@J\@!O.5Db4U`߾f%`x8XZXq][17cIVDi t%Qڑ,ގ!J ~ 10JRZqs)d$/TyKf%ȒXZ20>_I8Ρ~Q6=̵n!` I,D-O%hR‚%ٌ0^!+Nm:2cd2(Z$)s59h.hՖ߶Z+e;Fx7)zeXlEזS](܁U}2.6gtveN8}[摳1}Ѥux^ s)6ԖeC='|R.G7L=?A;t6j 0\5wAqK~g˴zy: ?`xz)+fA."9 ch)a0[蚊▁^Z uX}ͰwZpb[佲}F?y%Bg<ݭdn|@%:"]%;Ѱ?o+w{ĕZT"C$[G߽0nGB} |?vە}%i!Zs}ЏO{Ops'ro`d<%3sx>ks  =ߜit_ƙl1=fѤ&؜Z'wm1NDN- ]QvujuiےP-Ѥh[]`Kho5 _hxʋ~8 V1,򢷁z^_@yo9~mixJ0&hk6bKȘFxsBUK+@%pY|>c \0Qd8 o 2DSwNCWTF%)dMBk*%WΟ<ӧO~^iwdq_s_k3o~o{ś/^?>3} Fe1J!nS.I }7 d@h[s׃zS!&CQBg7T{tSU,̓YwZX2HF)1 d@h0{CRȘ[c4VJE^&"Zl[=MDG%Z1Hqyxb"y4pEc5 c&tѽ)dƜC HF(KOD,Q`!H;DE@5}޾'dȼ@dό$~1yuMS](k?y"f݁s"nZmuЇ}0@U e{^鳺u&zw#ECѨ*h0MDq1)PeQb!f 1A5}+(I{(Dfx|J5Vtk]кm`5@mժSᅠ4rin;#v}Zy@JUx=AF s3?,JZ u9֌|7{Ai{pJWsc5/{(g|EoIkUUeXHDQ>4:fkW:AW7VvgضN+ZTܦ#;[no\"bw^koPK!O word/settings.xmlVr6}LA"NlU3V  @JHrr3~=gF; bgI4"f}[X$0bREt &zw/o!ւ09ZǦ̙TDXK͑O݌9+8KyEj1F֙䲮iEB3YɪDXq 0[L` m ;΂>MN^jhqJx@iYc8 R18>#z}+z*0O:|2ec G>iI+,/5EcQ+*^)2q#}-sLZڟf5w -[ա{TW4A%N{K*-AnڲV& q}s "D_ %ŮPH|sӅAJueW6"bԙX+McDzr0Ȳ ;қdMl:fA6d ;^ג1'?uI07:30\ڢ7b׳+qWp5i8l"n@NЯ3v¯CE1GPsI6w6C's)Fط7WQhau3j`){VtL+d1,vvg*[͓IR#YU'ZZNHggL@F Ua '(,OY2`v BmcFq@^0p4#/;rōǓ  >Uw>j=lXIcr4Ge:+YW|A)"rJD9LzFN,XlND7ه*wtçË27ْggHLvLrG0#t^~<1)}K?XPK!ԍ'word/webSettings.xmlj1{r׬R,B)^J쬆f2!ڧoj^B&|Ʉ-vD+9R7T[rp+'kC%r1e H)d%JnR Rl6͆"øV6 aɮiE1G&^PXd>u*"y'Dk)!\o? Bk"15i9rf~I?`|Lӣr391GI|\{z岔FDe!E KwZ9jr PK!trdocProps/app.xml (n1Hƛ*9P*JٶgM,eOwx]8=g<;͇so=d[f8[+v|8{Ǫʵz+vĮW. Rb;İ<*Ic̸댆kzpu}О)!3.I[3_zhI@BV!6Y{2ĝBsG!}l<_P(zH͓C*?}Vl^*`))twW O 6A<Ţ\Hl -Mt7TBm=}Wa|oa>Z ɟPK!‹wkdocProps/core.xml (]O0MKvYHp%QƻM[mlȕw9oO6<8B#Lq!73Zw(JNs%a*hޤL'Lx6JqlMs:ز-FVΧf5e;<"d pSGq-^$9%gr(@:(gց)ՁsAU]V`YQ9nP?OUC!k,,q吥'>fS&{Q?4X kwPpG8Xfv[A9n_u-WgոD7D'{۽ޖ5뼏W H< c*&cY6?  f PK!QQ\ }word/styles.xmlܝrSw`*HqƵ-cWlw\C$daL IYvc}yA ͌E?h5 '? >^|xiF <'7~iufo!M=?̳lq<F$4+gc11>S6k(IӔƕsG?ʹg,`c/'rɹlAmYHrwNh+:Jaq`.6/~,"LJ# ǗhxCBB\b-rL8}_oÓ'OpB#v͂چۜ_SzT,2(է L6&' [/z%l\x~NLOxBJT;frV׎kGﵣ{{Ha;bq@_s!6AhAlhAKhA*hA h!C90Ep2P =CsvCw`ݞw{:nvͧZލYVٌ,2ڟFbR5h `V Ľi>QGxɪ3oƞ(6/4EG@-CtBg4O];xM<9c8p}%IRZs) #'8qnYڿ$;[!uĺwbտ6P aU4G=UuXAsoy|귂 ~+heJcyY혰 @8g=<%d1Yf~{t1U$Wz"Yߡ5+qUԗ;}@!a]Dݭ̔xƳGΘř|ӿi(7GG{3LN#f9CmI=$4%&-ImlHA& գv0]NS瞓3C:4?EPÃ_[?$M5<ۿ+x <7:au) F82LP]f&tՍfʟF ޱff̰u5$X`] Q֮(;WĈu5$`]m+W!ej8a] XWC=d#ejs5a] XWCՐ`jw5DY\ d!jH\ 0(kWCTYQq07 kZTKe,%jIw{fBW7 (1xǚQhQvUKMu5Z2W-W-W-]\\m+W㪥VW㪥VW%qRqRqR{FqRqՒոjոjոjոjj\j\j\dv5Zjr5Zjr5Zjr5Z2W-W-W- P$}q$g MyB}UUr sbL|mQ oNxM6WI*jbyU J>0B~K>(J/.k7ߗiE&^9_ > lQ_rd,Ҥv2xdM{(mְR}eqUS}Mjw+?ݥv5%">TkI4//:ImLͷ+>)]܋&eǭpf|4_kuRE_)6#['W^*7Z?'Ue`Jjc"E˻v쪌ʼjQm./ g #D>xۂLm-V>sf0G}VE*iޑ|k0oҙԘX;~l/4'jc CISWÌR%g/wLmxƸͶݽf y6<=۟ u i5F}:D ۓCNV[jY](@zjgM=]Fw^Pڪp/#|(Y)TtUW@{'[v;O4,REEY5G3l޵k3QHC p?~5ʒŸ>ue#>-J/PK-!ߤlZ [Content_Types].xmlPK-!N _rels/.relsPK-!dQ1word/_rels/document.xml.relsPK-!1)word/document.xmlPK-!f:$'word/theme/theme1.xmlPK-!O ~word/settings.xmlPK-!fword/fontTable.xmlPK-!ԍ'word/webSettings.xmlPK-!tr0docProps/app.xmlPK-!‹wkG"docProps/core.xmlPK-!QQ\ }$word/styles.xmlPK r2pandoc-2.9.2.1/test/docx/nested_smart_tags.native000066400000000000000000000144331363630463000217720ustar00rootroot00000000000000[Header 2 ("and-it-came-to-pass-in-the-course-of-those-many-days",["Myheading2"],[]) [Str "159.",Space,Str "And",Space,Str "It",Space,Str "Came",Space,Str "to",Space,Str "Pass",Space,Str "in",Space,Str "the",Space,Str "Course",Space,Str "of",Space,Str "Those",Space,Str "Many",Space,Str "Days"] ,Para [Str "I",Space,Str "heard"] ,Para [Str "\8220And",Space,Str "it",Space,Str "came",Space,Str "to",Space,Str "pass",Space,Str "in",Space,Str "the",Space,Str "course",Space,Str "of",Space,Str "those",Space,Str "many",Space,Str "days",Space,Str "that",Space,Str "the",Space,Str "king",Space,Str "of",Space,Str "Egypt",Space,Str "died;",Space,Str "and",Space,Str "the",Space,Str "children",Space,Str "of",Space,Str "Israel",Space,Str "sighed",Space,Str "by",Space,Str "reason",Space,Str "of",Space,Str "the",Space,Str "bondage,",Space,Str "and",Space,Str "they",Space,Str "cried,",Space,Str "and",Space,Str "their",Space,Str "cry",Space,Str "came",Space,Str "up",Space,Str "unto",Space,Str "God",Space,Str "by",Space,Str "reason",Space,Str "of",Space,Str "the",Space,Str "bondage.",Space,Str "And",Space,Str "God",Space,Str "heard",Space,Str "their",Space,Str "groaning\8221",Space,Str "(Exodus",Space,Str "2:23-4).",Space,Str "This",Space,Str "means",Space,Str "that",Space,Str "they",Space,Str "suffered",Space,Str "so",Space,Str "much",Space,Str "that",Space,Str "they",Space,Str "could",Space,Str "not",Space,Str "bear",Space,Str "it",Space,Str "any",Space,Str "longer.",Space,Str "And",Space,Str "they",Space,Str "so",Space,Str "pleaded",Space,Str "with",Space,Str "prayer,",Space,Str "that",Space,Str "\8220their",Space,Str "cry",Space,Str "came",Space,Str "up",Space,Str "unto",Space,Str "God.\8221"] ,Para [Str "But",Space,Str "we",Space,Str "can",Space,Str "see",Space,Str "that",Space,Str "they",Space,Str "were",Space,Str "saying,",Space,Str "\8220Would",Space,Str "that",Space,Str "we",Space,Str "had\8230",Space,Str "when",Space,Str "we",Space,Str "sat",Space,Str "by",Space,Str "the",Space,Str "flesh-pots,",Space,Str "when",Space,Str "we",Space,Str "did",Space,Str "eat",Space,Str "bread",Space,Str "to",Space,Str "the",Space,Str "full.\8221",Space,Str "And",Space,Str "they",Space,Str "also",Space,Str "said,",Space,Str "\8220We",Space,Str "remember",Space,Str "the",Space,Str "fish,",Space,Str "which",Space,Str "we",Space,Str "would",Space,Str "eat",Space,Str "in",Space,Str "Egypt",Space,Str "for",Space,Str "naught;",Space,Str "the",Space,Str "cucumbers,",Space,Str "and",Space,Str "the",Space,Str "melons,",Space,Str "and",Space,Str "the",Space,Str "leeks,",Space,Str "and",Space,Str "the",Space,Str "onions,",Space,Str "and",Space,Str "the",Space,Str "garlic.\8221"] ,Para [Str "The",Space,Str "thing",Space,Str "is",Space,Str "that,",Space,Str "indeed,",Space,Str "they",Space,Str "were",Space,Str "very",Space,Str "fond",Space,Str "of",Space,Str "the",Space,Str "work",Space,Str "in",Space,Str "Egypt.",Space,Str "This",Space,Str "is",Space,Str "the",Space,Str "meaning",Space,Str "of",Space,Str "\8220But",Space,Str "mingled",Space,Str "themselves",Space,Str "with",Space,Str "the",Space,Str "nations,",Space,Str "and",Space,Str "learned",Space,Str "their",Space,Str "works.\8221",Space,Str "It",Space,Str "means",Space,Str "that",Space,Str "if",Space,Str "Israel",Space,Str "are",Space,Str "under",Space,Str "the",Space,Str "dominion",Space,Str "of",Space,Str "a",Space,Str "certain",Space,Str "nation,",Space,Str "that",Space,Str "nation",Space,Str "controls",Space,Str "them",Space,Str "and",Space,Str "they",Space,Str "cannot",Space,Str "retire",Space,Str "from",Space,Str "their",Space,Str "dominion.",Space,Str "Thus,",Space,Str "they",Space,Str "tasted",Space,Str "sufficient",Space,Str "flavor",Space,Str "in",Space,Str "that",Space,Str "work",Space,Str "and",Space,Str "could",Space,Str "not",Space,Str "be",Space,Str "redeemed."] ,Para [Str "So",Space,Str "what",Space,Str "did",Space,Str "the",Space,Str "Creator",Space,Str "do?",Space,Str "\8220The",Space,Str "king",Space,Str "of",Space,Str "Egypt",Space,Str "died,\8221",Space,Str "meaning",Space,Str "they",Space,Str "had",Space,Str "lost",Space,Str "this",Space,Str "servitude.",Space,Str "Thus",Space,Str "they",Space,Str "could",Space,Str "no",Space,Str "longer",Space,Str "work;",Space,Str "they",Space,Str "understood",Space,Str "that",Space,Str "if",Space,Str "there",Space,Str "is",Space,Str "no",Space,Str "perfection",Space,Str "of",Space,Str "the",Space,Emph [Str "Mochin"],Str ",",Space,Str "the",Space,Str "servitude",Space,Str "is",Space,Str "also",Space,Str "incomplete.",Space,Str "Hence,",Space,Str "\8220and",Space,Str "the",Space,Str "children",Space,Str "of",Space,Str "Israel",Space,Str "sighed",Space,Str "by",Space,Str "reason",Space,Str "of",Space,Str "the",Space,Str "bondage.\8221",Space,Str "The",Space,Str "work",Space,Str "means",Space,Str "that",Space,Str "they",Space,Str "did",Space,Str "not",Space,Str "suffice",Space,Str "for",Space,Str "the",Space,Str "work,",Space,Str "that",Space,Str "they",Space,Str "had",Space,Str "no",Space,Str "liveliness",Space,Str "in",Space,Str "the",Space,Str "servitude."] ,Para [Str "This",Space,Str "is",Space,Str "the",Space,Str "meaning",Space,Str "of",Space,Str "\8220the",Space,Str "king",Space,Str "of",Space,Str "Egypt",Space,Str "died,\8221",Space,Str "that",Space,Str "all",Space,Str "the",Space,Str "dominations",Space,Str "of",Space,Str "the",Space,Str "king",Space,Str "of",Space,Str "Egypt,",Space,Str "which",Space,Str "he",Space,Str "was",Space,Str "providing",Space,Str "for",Space,Str "and",Space,Str "nourishing,",Space,Str "had",Space,Str "died.",Space,Str "This",Space,Str "is",Space,Str "why",Space,Str "they",Space,Str "had",Space,Str "room",Space,Str "for",Space,Str "prayer.",Space,Str "And",Space,Str "they",Space,Str "were",Space,Str "immediately",Space,Str "salvaged.",Space,Str "And",Space,Str "afterwards,",Space,Str "when",Space,Str "they",Space,Str "walked",Space,Str "in",Space,Str "the",Space,Str "desert",Space,Str "and",Space,Str "came",Space,Str "to",Space,Str "a",Space,Str "state",Space,Str "of",Space,Emph [Str "Katnut"],Space,Str "(smallness),",Space,Str "they",Space,Str "craved",Space,Str "the",Space,Str "servitude",Space,Str "that",Space,Str "they",Space,Str "had",Space,Str "had",Space,Str "prior",Space,Str "to",Space,Str "the",Space,Str "death",Space,Str "of",Space,Str "the",Space,Str "king",Space,Str "of",Space,Str "Egypt."]] pandoc-2.9.2.1/test/docx/normalize.docx000066400000000000000000000344361363630463000177400ustar00rootroot00000000000000PK@!Qr[Content_Types].xmlIO0HWj#TkOCȞnIn)y}[ML!DlY%`Sڎs>|NYQX%*g!g ׽ bBjsV"Σ,9* F 1B~1VKg,X{n 10,y\Q9WZ 2|.@Vmѥ+MO,7>=Gk yd C |ɉ!Qvx(vIT٦bkXH<Ĵf.1( Foa~ܡUH;͡H#ˡV4$AwټoPK:L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L docProps/PK@!OqdocProps/app.xmlRN0W?D"h-z(8Ibձ-{@w@H[}p:rq1+ &Z}~;,h_'1QfGP*fFA:]#ܫum4#VMS,ٳֳ fWS= -#9Mw$@ǔ`V0&{@2./Rn-Xm: x„1Y9gJ`8Ņs>Kj_%a1Z CA)x4)PrHAL[ uYH7pmCفeYQc9{~JU͊R']YJp5]cn9m'@Uۊ5֪a_j+z 8霡]HӣNjGDa7fmc8lWat0J${}c+h/PK:L݄ docProps/thumbnail.jpegYP(*" LQqa+!w@+N}GY,p- *KTT@- %BK!$!@ks}}w|gygp\4Bp>RQ(S:|~}ʟ/JPQ޿!%_CKS  Q͕]"M&n1[sMM-DH͡6*DŽ+QS0j*YlZHM'Gs +xЭC@J oPϪ`[x?k "oٻ*F/C }#0ϫt¨jFko!DBOE .8)F`8X"0ِ@"fr 7 A?`O?$:~a*A+(˦cq[X@]d͢TgEhv;f6qqp'.h`Mެۡj|aZ/E6 1APĊC7!:L=C58 0B,X_G j*^hv{5[&}}EڞLQצ>ضȸ1EҺgBَo$`+L'L2gRg#Ot;7ɍZg%qtX}۾PuUpk&5㻿 Ϻ/?;!hs[eJg.||ڑU];bQF}~oQ2ݻWWn/1'ٜ`NբK(+x.'*J);u9{|N sRw֒\6HF?P(#Q\;V\Y"nm-(xCj[|?#?QH^2-rӒ#3ig|жʀK`Lѝ薧Ӭ-E<t^r HN>6;dz$#XK9wVyv8v3:+j0G6_xLCESM7]X; ;?ޙ ?SnYM%=J0s|5>XkcM\f3xˊ^(N P908ͳ!V>A׫<9$Vm!bvKXe7ZrHV63*Vʼn0an,**2G 0MjŠ+:A~[XY(TNhMu:u(J rXͤrʹ_3Pg>-3Q`Q56`9/ Kkb rt)|Ef& 8to>AOy|tMmd2Z-pbO.ti 1gTuP 8fFN 0'{V/0;6'sGں=,"Gn7 8N;+_0j@xMk"cʂVOOfF9HAV#fc2BylUaO$3NmlԵUc+V;/x5kt/[Wo2FɄz'?CŃ'J;ː:@[֘5IEN$Dd"[LNpAw*C+iqْsA'ৈ\Քe1` x R(9Ku{PɉUicM(GNj:wye}xEjz0vr^K۪$*~C0 G/d]wthlSV駈,-c<0XZT'=ezǑ`wVpn'u4*Nΰ5Ơrĩ>!G kW="ѹۧEEz #H*.{0؜QixZͷz_qU!T]T:4V}ykew|]w,ׁٹO^PcRvY}v{5>حWtڶȚ+56/0h| a4#l>Cxv".RJ31l*L'h"Ex ǖO܎6;9> 券bq|rF&mTH9$3ATB[yR:m&$T"*>($7+wd*'!f>^4atq5Y58#UlN)=F wml"k3S`x(4.`` Ympn<)sM]:a*al5\&ˠN'kR 2 dԠԵF!OQyB/ d~|WoR@ PK:Lword/PK:L word/_rels/PK@!huword/_rels/document.xml.relsN0HCw@AN/+qvubۑ1BgV;YZ/I,< A+]mi}v I aK8: ,NOKmHb j k4"E'y#(J_VQ!eٜ~{ɪW9$d;['_ Z`BBsҘlbJw<P1)A0~1w{[mc GA]ّzw)J3?_WϚ;PAyo`{PK E ܨ:"word/document.xmlZMs8ϯPqO N&ɺbOTmfSq% *J_ -q8Þ~Ohǯ$+8d䜝z@ħ&\@4rֈ;?na@e2,GN$D:t]G(4>ũOGnFY3/2#%$+ȝ2\BEK9k9ddDSDsNYP`ez"cPXX0ddX8Pkpě܂hج`mHK˔\bItѤ39amYzv3.`A( #y-ވ ]цBsD?|Y eE{&m,U,bHGfT~@?| epKF2@Hg,ӌkLA6-x97r6{4X( +.W@c;*FtKxmMp q7nՂcdC1@ Ea}3`( (`B@}x[%#;#qRE6 b؇S1,xk`L]PBuZ З4e#B}Mi*cEuTáaZ+wc ٠2 cm3QS,"yre +46+D0 fnXHPֈ2B zǨS  w#Mev^Aԍ86_;N?Qhǣ>{D@Tʴw Ć>հ+kW0Jp5AuȦ )8Nź!N7%sYe W5lyڀ3PJ_5a8%H띑8 cKp*ԧ,dW&&aӽtlbU jk.. W֊kyLR {j1dG>M; qn6dd܅֌(Zh#F ܶ5:`BYjt[Y6T@&dhHn DNpml7 `x>RS:H eN`dyl,Z}Jzc/Qf ƆNfE V@mV;kۖClc(byu&Bm1Դ=#JOh{2YE]zpf#l0H~}Q4| GT/)LIU9 A;Fs! j m.E>,|)a,jNneauĘW,|+STd#Y5ۿPK@!`Aword/fontTable.xmln6ז:Z@hHFv}M==°ҷ k_a(uj2 JOGǏyDHаL*zH*qFƊH=_)}&y<4RA#X09" .Ŭcq=/@?f pL l]?QRy,\]yڃ\FYH/ uW=BRz:*_)K`W3qrrz9pTF|̫]HH$d:SGLu LØPK@!WL word/settings.xmlVmoH~G0URPkT?`m}B}gޘU:;33;/=Z͓E @Uj;O<&똪 lr Α9FځdBPn4JۑdԘaa\pwei:K:=OTyG1Bmy\o6+Z9~[ #A1hew&+H+Q0NH~8'}*%L)R4e @kn6, =o?ݽpq ucZ̴%*ɤs)hh@?1SX$vv~KK!>hlϷ/_4MbO~7 (Db]҄$N'¯'euSJU`:΢Ihw:*JhFԾ)7s!3ͥ\t2"^$h6c)O~; k Q9蹈庌HEUrV[AVBƹU :K+042I\=*Lx[0ȢR3yF(<132ժ?k3T#1uu M %J*F+/겢>))U,PMI?Xe)u{l͌$$rozZvu^8\U^MYXjZ:TLnX_J&Qp< 4cW,i ybOBsrWԊXr?K1yL-'(ҢKܛ,w3%4uKKK %FGKhUo;|0D4v5i=bhl kDcX# nh5;#"R^7b{Z iuD$y`CaiXW{~]j)Š0YŔ9w#Jdurδߦ$Hc*;]`&sYo"4)M LM)moMÖ}.l42x"v;@pC?G`wvs FH/S= 6x2>(2on}Cux;bX~^r6_7S[U[Ϛ֎ Zfls)50y~tp;%@~ǥ<! ¹ ڹ( y@81 C1oǼ "7` yXh `7cy@8 7 3o Ǽ pS@A0oͼ,4p1oǼ p7o;ϼ,p1O1o41oǼ p1o߼<p1oǼb y(h `7cy@8 7cy!x `7c7y) =x>o~o5_tN% 3,{вA(6K(lڣ]iWtn*㽁^|.TȖ)7zvO\IexYO\t"?u˾ԊX6QQbXrNx -YeG'dݺ^ڽXE&>;((upP57bR|hn=͜ĎwjS.hF}Pb7` /:I%%N%gKho?|4hΈƢhΈƒhΈƄwF431#"R7bNkv*$+I$`r@a^hXTZ $ׁ0 @сK:Kξ xB7}@A7,}󷿣8^V@8 oqw7ϼ,p1o-y( 7fy@8 7cyF!x `7cyP@A3o ͼ,p1oǼ ͻgy@8 1o41oǼ p1o߼!x `7cyy( 7fy@8 7cy@ 3o Ǽ ٦4K*)  `ݣFEDQf>=TEnU7͓υl!sWeyU4\t`DP}T5VԒX6QQbX*x -UE"{WӰβߓ;r.*QPtiKp2ehYpZte 4Mۻt˳ Bk1U4"Ǜo]EAhsBQϑVRPK:L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,aO0KЦmU +g " 5 +'D0v'!F'SfnُrD\b{fI(@9$&6ODkb܍s-FoQ0)C밉YBU 1l8J8u-Ү}1T$uvo%YSC@}wd}|P_@6_PK:L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L docProps/PK@!ipdocProps/app.xmlRN0WYg)5J#{Xul4էyoh&=&Ҙ<2Ӥ#62֍B/2qs1ۢ/@hX~#% ,V:cWh\XjR@);>/f's!2joAp0i/uwqLDN-)&^G>CB#ցW 8KV/~ʋd?lɾܘV0M=4r-썓˟PK@!ͤ!jdocProps/core.xmlQO0MKGaP15<Ib46m0\ɷdW,J$D$ŵj9&oixCtL Vhc$"&³WRr3&+LJ) PжdΧvI kDш`Z04"9H I-)PrHALO[ن,8CفUU ac1{zmV @LIW@S#|}wq[`N!xw[Ꮅ5+mz^1ȭ4οe;t.$߫"uG4Df@ޤXy?̧$O*Fa4N賞,[(КPK:Ltz3 "docProps/thumbnail.jpegyPXק@ ^\MD@dl!D-Я("(mC[[ "kBI!$@S5S5USUMTM?[sνu9n]MM[{[Ʒ1+6]rG>*'r]vdv9(w蛬_ond{v;pJǔUQX4AU9ZtϾr{:G&g7`復{?tl~-#S?Ryd½EYs[J5~MlQfF>#-PEqxϢux\RB^G[/k03ܞ%2奵[;x]pn^>`uSclVjq>59!=(HݦǠ0a60g}77r-ti+J |GY2#h^C;R[1x:/m-Iνn,֬I04#Cؒ[ d7a KöF,Vtg,+8)x{/QPᅎ&yp{רeż @>7(j,dg,v&_w7֤/kX` *!XvXC6G0U#Ӷ)t{ѓcQ2jj<)͞Zn[|6Se.ةY*ԲDPT^a9oJ=E_ĵ,Ƥ;s:}lg` x|ʩ/.n",UuB$|7ys戯ey@+z ɄdkzL0 UUmM. I(R]:iGbu!May8@Q#&^&]\dɥPosɘŸ/|i.Y(֮AK ɝkΧg@ũՒNM=TX,뼜t<Kkuh/E[t/S)`',%TӮedK+v,Nn52+Vmc;c]+Sgu?Zk]i`/ltqUV"0'nY`z14˛Pm fG$L`LZVV2 u:pt"% [;~ FJͶ,!dwͤql2&OXʍep1Elu֭i[6>5_LJi;JK2 pܾNLԿ\e8,.j\hbd88BKB[h?xKMw\˅Qyk[ Y"MRF[}'e^np31*'QחpNi0VH;:xF]D={i[q)!uĕWfy Ot| ;ލ +D\pn)P l4UwAN1agt_L(j %0߭۸#NA8yɌ yh]He6QJl5\&Pt:A#iqljh=f&mh[36, 7蘇Szvi6?lMD?z}k{tם14r9͞7#zD7^4MX(OPSo<|Qkϴ0LnUiw^$=?y܌l|Q}CR"P,f(c9KE7mwԈW텼œ'Cs찦M ]ؕTH62$q /<(>SzCPyo{{J1 zԞ9\ԭ\=7f *ccD1UqP~0Id]g'ln z |* uqё~4A- GM鿲HAe*nm$l{ ITf鷾ȇNrSڥjPrKpV3K@#?\[f쫪!Fx^7Vۆ~iyPpewoj7T=O[ÃO}-`IxSbGsY?ɫ_>L_zabPFnhL>+^H+eH&@%qq?5w[(A9gN'W2 V96k7]̗ni3SJ.ƎY'jzjUNթ숁+(()HcO% RpJNXdG?1h,vewC'wwaHךqI܉MJB5 f3TKb<s f٣EavDUC +E;`kBAb&Taċ›mL|}-4.97+2x(~lH7afG[ ꬦ!Uګg@ȔIyc`h vuRxA%__?_ҼFa\鏍š`:'כTȱ܊M?}9GT7oZ^ۀb[\:_-(-R7'/3ic9,'UӈGʮy׃)e/Za7yut0pf6N/T?ɣinEuˆ0#1ޘ=ly zQ4+P mL6y@Vwli-;? np ՓMzߑYԙgaW~-󨞺]*vFR3382y1ydII>)JXҗrKF+1wIky_U/G-[DvVo.E2'q_Kr ^|=c2HG3SHۡ]=$j [IwUon#R;5ADen [4`+D>fKgXwJ=9q_p.y&4Q7a)ᎂ hB daf8>uԿiNrj)h?ԐOYqNlB*)rnWQ]b%$y(7xH,7崆M%ߪ ^+';:XOc_ȳJM(|.@m&%Y~zM.9LLڰ|8ntyAheIx":;jes :&O t8 ӗ8̬EQ>[!)'flͻ 5J'I8c,/O_MZ\4V}}g`233x2uX]}VGyal57Eϻ{GAT z/x)E{'AZE J~"wt  ~)qPxl03¤i(3v8&K"Zχg0J~.f2+ JwGeS;|=WfJ @7 {e7#[H:]Z @5QB̜(]QCzTWibAzƋttjjj^Ѧ?޷z@5@+1^v5FPmߥfi3sl:Umo*qo6mݰt$*J)p08%xruRj7!D1}Նo7ěj%s%>ii cGx`.zE]a}N+ˤA.@t)2m頷Ł_vƽu5_YhY%A2>F`0#ܢk߀CJG4uAcuϳC"XˆH2LPvr E7I(4mIZ?Idf])igGȒiHǥNAtKAMY$R1ogJ ?QX,_2oI{K"a6Z;=,\%`S~+]e滿[uO8hbauTt8":NMwO74$.T&WS"rxiclDoD#sصU1u1;(word/_rels/document.xml.relsN0HC;qRP^W:$"F4D|Yk70A4NXZb*cOŒE.E26el 7d릷s6c5Qù5t؃vJS^Q%ɜ߃GѦ̘ٔ,*J5nQvi$[ r'S (c%v^#\Dx 'N\Q !!@"4bۂ4 An.wb:Ő}4M]# ZTK_;@I:p'PK@!Bword/document.xmlVn0ݏ4y_2iPv I&vd(siiS4,}8}- kKbG9Ȣ,Bd)y iTo70dSR-*U$BUhۊjT2"Q"MNשg*a p8Ĥz㘑(g*d5,eeS]f5[{m6-U@ ܖE,N6DۡːlRV-iW9} yrAʝ\v;OhFt3N@Pxgd|I37L)6]_z,sV{FedV9*Iq!Fe:vZdosXa׾;1jcME +{LkE^ϕ^XMf?c"sO7R sI"Y8r-]t͡)~x҈ rbKOJ`Q5ۈc"Cg&\k.{JCcceojftY6^/.ާ:䔁9I0j*F(*hW~ҁ^@9Z:ZJk軱φMjZ?MS6Q$mǫw>Bm d+3% n(A}  #jDV,C fUyZhlM%Ĺ2 CK'L%SP,ЌCIiyB,C.[1g1t*r~}hF섗v6?mͨ42kRT|p="ɩVO`y}O H+mPv@pB_6{iy3iTo*L0\=:$&c=QBԌ}P*$GR BWX#Gal9&p0gHH! cSz+8%6e-׬)#T(:QbBy&KPjj R䔛Zh&O},-ł{Vrr{ݦ W:4e$d4i(:!Fs)jEk~>%np˺ j`fCjGՐD{rvyvvwR75YL>s3mK{Ua$;ZiYY IŰ0+껔|+u|̒*-Q/ϚA]քcaE4"-*Th%NMj TF+),5iH5a0d vBZP6d'!} yB2Gܪ5#{ڴgе(!dz?ĥlhC[|')iKg3/w5ǟ@_J @_ЂQZK}# ^/ſXIzzs)h2\glv;Wqarᕦdt1u~BE+LVa8al-, 5j+fK׽ngDq>k/-[؝&*\Q4Γ {GyM[KP;Z|jN WK Jw@Jdx{ߕӥ XBUU|0ܹYj)zq#ύ?H6ݢF;;y#6cM8+ɘAwϿ:hZp7uM`f<֣ @7`[> P_m8yKF'Y3?lձBC,=x{E.)oUm1jpX(|}ԑs7]`/b_=! 'k+g1.PK@![+Cword/styles.xmlYs6;ợö|L8=}HHBM,/( ci/`o/iE ~,nE63љHb*{]`sZot̊f+l0mo4lvlVCx{"툃7" t? s ? c|a–ב=y#@༈A"q伂38"Sux[YXZOLUNӫV5[o/}ϯ)W4=_;9@~;o+t}OC7G..@8& aPMm͟Xq7#?;/<poG 7&xX8 7#x@8S7 o G p]@AoM,4poG pvxX8 7#އ" x(h `7#x@8 7#xCoG x( 7&x@8 7#x@o G !?g|u,ypM6NB[{M4ԯ񗭞a&^\ɍ SYlc-Tfmźl b-ٯr,oLEo+O+Ȣv9U.|;not);:-T'U6c:Ksm⥷OI弚r7rkryܸEmqEnlMCb5\+UA\CDfHܑM6{b3[4$EՇNlϑu~`G &Y{3N2?nxϥ/$$B"knЉ.j{-cH~htYDxy:TF']@i`GseJf|kju%R6q:h=l$mѮ\hjlNޤ t^۶֪۝X6gCf"o⮍p0xjE.bU>Q6]ٔELX__H~+6&ӧ8*]m@BBL.D)ix=I#jΒո֛Nvve28p Ig~Qn>`F:| Mupd卹y揥/|sTr f2'y IȌg3`)E2ҟ+Dݙ8_θbD3H2/spet ߳P|"%j,"(|~R R45~>{3kqRe6I禖nDHÉ6cg׷ ir쟜/, ]>|Bǜ{EU=bhNY&VL-'vYȶVNj`h jZW#2.xޠtnžw.F.]8y -,'-,j%ME-GZ-j)jQˀVڄZբ6;-l9ptD[h(u{DIgWebaBh)\ f8t\ɜ(ACgSϒÆumD:QHwGuWo›$$`w0מy !QàaJ;oJsWE\ md#^¡@Ws ? c;+{."!g,GB燸O|zgA` yꠣ(ځ⬬Xہ妵@E'}bx4~@-~,n1:~_sMڸucmr[ ;^&!c*\vᬛ/u@AX7uB[77JJx@8˿c:Ż'x@8 7APBo G poG<poGDPBo G poG wn7#x@8}& 7&xX8 7#x@8 w;O,pћ7 xXh `7#x@8 7.<po6}SHa]fIgTRvR8v :-$ģؽߐ `FLl^jvmK~}v5|ov\ȺM%1n0noN^klNyqkNM2Zަ]N./XR-Aؼxu.'M|[X>mEy9ծh%Xop] W0NUz|JgBR=&^z΋PK:L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,a1;(word/_rels/document.xml.relsPK@!Bp word/document.xmlPK@!k,c!N#word/endnotes.xmlPK@!ؾ.%word/fontTable.xmlPK@!!3>(word/footnotes.xmlPK@!8{ *word/settings.xmlPK@![+C.word/styles.xmlPK@!vZG5word/stylesWithEffects.xmlPK:L A=word/theme/PK@!!Z,=word/theme/theme1.xmlPK@!ʳCODword/webSettings.xmlPK}Epandoc-2.9.2.1/test/docx/notes.native000066400000000000000000000005461363630463000174140ustar00rootroot00000000000000[Header 2 ("a-footnote",[],[]) [Str "A",Space,Str "footnote"] ,Para [Str "Test",Space,Str "footnote.",Note [Para [Str "My",Space,Str "note."]],Space,Str "Test",Space,Str "endnote.",Note [Para [Str "This",Space,Str "is",Space,Str "an",Space,Str "endnote",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]]]] pandoc-2.9.2.1/test/docx/numbered_header.docx000066400000000000000000000361531363630463000210470ustar00rootroot00000000000000PK@!+G[Content_Types].xmlN0EHC-Jܲ@5*Qu&!~ȞI6h{8Ѥ7X2ʚuH)S}߳(0( A7^9MH=pu`[ҭ/Ko;;.A0c'ŬhqWEL8W*)ʼ:ehM.ޒ%\rp§Whi^8  /BS_Xʙ&Q<FJBܜBˤh̎ xRn*!`{d0A1$:ĕ6mOD»ĸ[VL.Fü$ܱp~ںiQ=cmI#o]1nCUvQ5u"Y<T/lO6_PK:L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L docProps/PK@!odocProps/app.xmlRN0W?D""4kJ#{X8eNH̛^ ^(în`uy]`@H߿]2;*PtT1X622bͽ] ]G+CB3i9_^ (Y(X%$^nCO}`a~z{i;&7PK@!-UldocProps/core.xmlQO0MKG7 F15<Ib46mlow_צ};(xBՄ/f- 1%XLL뫔k /VNޤ0fBΙRk(<|qmO7ltE7sVtFrT )@p 9xxqC]C \DbGQv`YrT~Ο꫆RU@TICS#~wr[`N !xfy͵j8 ^1ȭ4οe-x:gqsea' kK㰛@~HI3Ҷ1zx\H6q݅x1qDWaoIXq7fHPK:Lh=-docProps/thumbnail.jpeg{PX1mY33o=閩If-w5Q7{iJi^VfJ´VĪ!(((x)5QXET@uww?sowΜa.?nA W/_-\c# ` hdxlb ۷0ںmMk#!FU[ںm7&Gvښ=:9bS7+̿|jeM F[?lvdsog`1h_a!f{ƕ"i#)Sc QR𱲝hJʇgT{{x#URBOp iotjx t25~wQ|(Y5Ròܼ&{.0h7oh #G+$'ka2gr/:9 :RDۗ~W۰R# BOgIpn*J&9c [ChrNac+O B<<)s ]P齐{zj9g~{yE)_~ub<ȍyUHm3Xsa^'7TcܦJ5wi>]G6 %B ځy{j<ɫE>.U,1&іĕq+NN 銷"Jwl]dZ4#OOZw7wSwn)4Q9J +kO/GyzfoJ|fenllW.tavuR[~JX$(xET2T{U)Z]5bgۢzgzӉqub[H.&?_>to ThPܤ][!ù+-(Iuj{~6ǔSs?'̗aWŊAH#{iA[%Ao V`)z ԋ}/%ۛw@vG'kP S#Q*ٽZ8V5ātR4bQ"кȾMIykvh[;93{#y6cYqwQN.I%Σ5NaI\Now/7'4o|8u`f[[ȕon U1brx^ZU *V Nk"+E]\ԴyFPz?5* Nۃ4_#ܨ}"Li x0ˬOS, !`23Z,@$.!;{0emЈ(YPOE\d|M V 0Q{g(B_J y}=0 ŝp+=c>U4>ϧ;Ո\4uiN;Ѣ92*>EP;!f>V̿Gpo% LOvX׻iGbl\5ԵN >ImIW"q-LS[^g%r yKaee |\GKg|rh=$H`BmbFuԫi2hÀe}>&*ammLZswgV_~wjQlFMr$,;Z]$y%P(HNPtUfM_꺫q$X> MNBnOdJH A2^ [%澭zX?ziGVGZw ['=w|wcUZqΟpjy4N&3s?(20JE`ëc-|cOy` et߬GDbV>jn2/O\!\ g*^bUQNK^TKqY9Z(+Ghm ޔ7WszY%(9cF5h$ݼŨ7eZ*aQS*0-)A;kDКE`'2me5&+i晜; ck}+,b5V~@w5_ΕjoU/4b#B ЊckiE%p/6{R֑ǘ `%$"^X)g󣣣mx>c,RU( G@ӢƄLN5M巤iOrSuo=.%Cq 9Pv%4z8dWeވ7vlߤS#&諉ݦoUe^'=L^=P7OVB1Ed%r2 4SY­x2UġO?q9᧐'IyE%l*!f` hЬ5i _/G0PK:Lword/PK:L word/_rels/PK@!wC#>word/_rels/document.xml.relsAO ߁pS7cFwQ]u3@{S%n=ȟҷX~ن}@;d8ڕ8CRPw /ˋ34!Ylq(yE 0-c|2U] LnN:٪!):d6&xGk7pd!|Lųn!C:ml!qQLϋϾPK@!C}kword/document.xmlU[o0~RڡJ y2I,|@ٯ߱ssΗі˔,P:JPD%Q%U~r5AuX+I O?~"E!mӤ@s:cKj* FjFDX׌xLgI6Pk#[lQ'yh~%l&׌kev` *̦Wc+ƙ{f[ȼøx[du*%-}9d[2$bC9VLt{/=N}f9˶Hi49Dr3`I^FfYc / Fxo$tZrW;yYq<DžLJ6~-6PYFb2~V1ٴ'Ym{Ö0om E&׭>DKl԰;t >NHmaU H$ J9!(Z-ళ`rGfո`vVcBۜO޳a^ $]0Gm/IFض/>|%PK@!HyIword/fontTable.xmlՔn0%NZ*i&8ĚDrwaav W/`*Ĥ!/·[0cV1 :yLQ=j䬇<눚ъYt=xjOrփ%Q\}K3&)LG3%12'OnӢӔSJӹdʕ}4je3m򘶥6hʬ{꓄]MIN:uDelp9y̔6d"A [d{˖;-*DiX "F898wBc-UjUsGm 窦,NpQS^]T%.u%? W (T iA.&oQD) i >}?}GՊ׊ÔJ*g|R~æ- E%cpFr%&,IʿIXrzK6KK.Offcݬ Ty %pTeE/*c;PK@!>: word/numbering.xmlW]o0}`!VZLiںͿW6Hygsõr{JQ aBӞ@,1fM#ŐpBs22`9  LLLʢQM(VN"N-Y%TO2Y3Q9fGF.Şt?v_Biz94NE%lW5t$[{{ZQCu~j/xDR"qZ3X#$9$}DoN!;hzJ;d=$MOxls#NȽf%)#$ͮf:oܩ3tuL7|B30-̯g:7B5-s^Q ~篻c:rPK@!$չaword/settings.xmlVnF }/0\ǒ|I"HMwUFmO37pFzIyi`tѧP琇·_-j%gq4Uꊫ2_D#똪 l_>4͎HBLh&[@2{ ("7%sۉdRqa\pwqzjTY/1DmLo6OSv!%(f A+5_Ո{K$>ḍ5|A]@R~z}F#Rĭ5Tn)t#/ Yf[i-GMfKetGY&wրm{i5 HS="wڐӞQi/Y憕vC-_<Pު-Aɻ)!a$_ j?G[{'F^9תzOT^|O+`}f5ޫ:gMVdeYk\r1/<;0ij9um:Af .lGr word/styles.xmln8;ڧqPHv m:i9H II~ọٴ8TLy=2}OiC N' Uwv}KDg:hT1QoDB m.J'D~iu_HY@?`SQ\-YJ5Dm-dHPL(׋ N"@ %LѢLʄwٯ88Yp!,2gwfB|sJ/,.ςk/ 7T#3u}M %J_*Fv+?ei2hdN2BOSD%W,"|QQ~0mNN|"Ϧi`[*`xĚifjV4jS1~^ps'&&x\Ni̮Y4%(ww4̦,R&iZNDjض5y5+Dv=FYR>^ 〺GuI%w]]bz -ۈz] {s*);)eуm$f6ԶoW5l;^{DžR옚Q$F/͋Mٍ7XO6+:Y[ jN-xљNE~{'#̈og}QQY%)"$$,Rrב42 V,kU!r;$SAdcl!YPeWu#b%H "ɷy]v[~bl՘(hi-$=,"qHPtI֑VR2J|\+o3%*`aTbfs|s#7?eV|12Pz ߱PH?-J.aYD}QF|7ѝDm`'o[Iy:c$晟ty-ε1~Vxwu# gdi̾0v(* _+ ?>P57Q:d ?>4frb{ lmIlMVp@M )g_( kMp@u[I %N%#węZ L"*12i#*s12%#*312m шו!x2F9Z]n ^dUB90_/4,՞[s-}knq"fcda#jXԋD$+TzI&yBpaf+Wtz5SY)M1z4dh7#N_iEv!][;%kٽuq'D!.A&1n٧w 2O|P[Pb[ܼL﷭Wk6&6ŏ/}ǯ+)Wԃ{]1v[ZV k"8`-@ne κ xBX7u@A[7,u}7c޿;ݼ!x `7cy>n@A0oͼ,4p1oǼ pogy@8 o1o41oǼ p1oݼ!x `7cyy( 7fy@8 7cy@ 3o Ǽ p{[@A0oͼ,4p1oǼ pr7fyX8 7>ۈz=] {K*);)E [mL0-"&m6m//nw㽂l Y  UX6 /?Ԍ6J1OJXKpNKEyXv]QgrؖT*cnw2vy$;@i;5TW*ۡmt)ӳBZcT磕=F>rެ==fٿY+Eٹ NCSw$^Yl;LJy@!l,\ @Syd%layUsfNokYsG0/R;i' M>(Uz[ViD$-]n{Z2H')Q|/ζ;4pke&0//z[/;0ZKlz ߤ_PK:L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,aword/_rels/document.xml.relsPK@!C}k`word/document.xmlPK@!HyI word/fontTable.xmlPK@!>: [word/numbering.xmlPK@!$չa8word/settings.xmlPK@!0ȩ9>!word/styles.xmlPK@!+A(word/stylesWithEffects.xmlPK:L A0word/theme/PK@!!Z,*0word/theme/theme1.xmlPK@!ʳC6word/webSettings.xmlPK7pandoc-2.9.2.1/test/docx/numbered_header.native000066400000000000000000000001331363630463000213650ustar00rootroot00000000000000[Header 1 ("a-numbered-header.",[],[]) [Str "A",Space,Str "Numbered",Space,Str "Header."]] pandoc-2.9.2.1/test/docx/overlapping_targets.docx000066400000000000000000000326631363630463000220170ustar00rootroot00000000000000PK!$L})[Content_Types].xml (j0EѶJ(ɢeh *8 iw$'.M13ޣp6:YBٌ >KJ+;wϒB; @dpRۘ<SRpcs/䗘tb+6>A!J~oIȒmc1VR RzuO\(oքr8`{C2_.r!繓!ezܦ+7iFMem̧\!Ip>NiL+?Y XwBDh'v" .sDXb?;A ʝc4֝H_Ems,:H-U{O/I$Z!o}PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!Dword/_rels/document.xml.rels (N0Hw@AN/WW7؎ Ǣj*kg>{jZ- b`sS4<s$u![Q[IMwN@M=qtPX%ɗ?e|knx]![`%ަ,M+t&;ZI[! 8ԑ~>!d<^ʃ,1B2^N{GF}"&7jI!iJ)v6QZ 7$SϙrtGQ#?PK!;ȿ word/document.xmlVo0~{ I)k#B448&H|m_󋶬Ep.K&׿l6dGdKKeBsSklZ4uT7 b)raw=4{-Krꄚĭ]f.y94P}oeͬ%پTĶ[\i=iZ~R;yˌT1)ac%z'PK!R%#word/theme/theme1.xmlYM7c7c;i&%GyFQI]%9 i顁z(m mSxlɖYl`)YZJ4WN㘦z4iqK-p3GܹᎈQO8ӝrKtR7,BVYT<~RU*rq&f.YC@A Ns0pIǑȅ8w/FDloa0'5eǢu=]W"6q1h,) 9Ӝz^[`5P^77]/xʋ~8W1@yѳĤY]@yoV}i(&8l+^]BƔ\۞;l>ZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zCChClhCKhC*hC h#G90EprGws~Sw ݟw:~-ZYVB<9rk8%e"xJr2ىx0-d1"s]r,cbzhyǪ X)!0y:F'S)OBNtP] I=x_E$I VRD5ÝȆEs"3ᵁ / fxe`0 Ϩ҈F҈҈ƭOq4q4q ؤcU,yDŽƞ3 YS^t;~v.erL=04KrEƴgN U'/DG{Atz$SdDDRL9_撥 >M'9'"j].:?!K>/D%XaVTE$g9hƚ7| _"oA/6p:ثep^BQnţ>şX" H6le\ x CN?R93K]Yȗ2x8&g2vox\l9_ǜ =KgbUudDtxxhXmܮ=-azZ6,Op?|]Q1nm+6m!xE a@ӌ۾x)9)uFt )̎I EtG! NuNIƃVΤFqctF;nDFDNsTJrSz&7wr# lq d+HVVnD*D:`F ̽ )hBZ*\ qB>BB Z*D hBZk{P!-T@ "B5B8B{BP!-T@ "BP!-T@ { RBP!-B8B{BP!-T@ "BP!-T@ { RBP!-TspP=NG#THA "BP!-T@ "PB^BP!-TO{uy~KWS?宣&QUܬE)h b iNQ;.׹ԅϯWݿ>t\3i_KpNeuKPM"n VӮ[+]V7waޕkprtpWf5@']t±F8uJP}&׍nʟN ޱnn̰u5$x`] Qޮ(?WĈu5$`]ퟜ/W!j8a] XWC'd'js5\a] XWCՐjw5Dy\ d!jH\ 0(oWCTYQa5C܄\3%皡GTjj 9Z;M=7?c((?W㪥6W MW-9]:]:]ܮUKmUKmOnqRqRqՒոjոjոj'd'ոjոjj\j\j\j\t5Zt5Zt5ZrW-W-W-W-9]:]:]/`lB2e3k?gڋ拷EIX$MòEc ^,To_dZG_hhv%K˽ca{,gi*Td|9z|Eow"}\?JǾhˆ,t34d=g|K-ezݦ7^TְܾLoܼ,aVtzir 3h"lwE(MIؾlr[e XhSOsw]GDX_o/k\2\˵FΝ* Yz38R&:ʞFXRxf՘/yy@}j&'ٙcwow?8әΤ-mn:=cx6vO[l=}o fN&V642j+u͎շE <,27fu^#`{[lgpٮUuҮ7/׬U=%sw";ÙڀkĎ\ok;>+vo<;]vPK!t?9z(customXml/_rels/item1.xml.rels (ϱ0 hoPK)t;JGILcXji߾+t(QE]1hjP >N~j.G{J D60o,W0H9X)ctl'_uݓ|P=;6w#w Ev d*yB1ߪ kPK!kHZword/numbering.xmlMn0z}bڪB!Y4ju8+xƲ 4 #E$ldo*J+CJ:{&u RV %ݲT;a3Ƶ ɝ1B1;Wws~/5.(Nⓐ3wvCնm`SنC+yuʠЩ^vیQV瘲S&+0]joz6߀ڦ3t $AnR6 ;獈 }O\iNFH6DIonfjKZ>j{1 @Q-PK!ldocProps/core.xml (_O0MP`,KLVۻJvc|{ orxq*rJR$(|䀠%bl G"K AEzySR*%(A;I팑ƚ ڳT1U[, ݓ-q0bn ]98%<5`Cqxd B9*?ȂZŸh/Iʫf-jyEƌF 鎇T1Jַk1kI{uU*䤳Ma;9tNYKp`wRC+8=aK m|[ cC{mv-Q BwdA]#h6̏y;]8Ӈ~PK!5eX(customXml/item1.xml $( M 0}w9.\ BBn8@~$Ao 'r^FPK!)cword/fontTable.xmlܒj0}ƲS֭E@Qd01:Jl'BsӋ ~:8wa{x>i\S?O0J;]F~rۗwwXZU6Ʈ2Tgӎ+#-CYKm'#l@ ;l#a4"ٚg%&_YP3U4x.5πy8PT #_M鳾tҒ]N::'o/ME!bIcbFu(҂9Uq4:={ 5Z ;܈?!o5K~Rt}IIQgX#G 3xX٣ҽH!(%呒Hg'2$2MC PK![m word/webSettings.xmlJ1;,Y-T>@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK!'`docProps/app.xml (Sn0 ?7nEŐbm =k2m %Abf_?N\gizz)~ڛ!jg׬X,YVZv՗O,(m-f'Nwy!f$au~Qu˸LB/`hs4ZS/=XcOlT\EkX< ^AD?JCi*݃(bƀ?PGQ1F| ݉,y>F+tVE`0XzK8߃z Ob9ߴ wgw{% l࢑&:; ]ȢEm-YSFH׵fGƲ 4Ҟ汾M&p ;ćΆ0[F3;sg=PݸK{_]gcuY`D =W<ǃ}^ixTiWs1=PS^MɂIֶP_jNI{(>, uh@w%~PK-!$L})[Content_Types].xmlPK-!N _rels/.relsPK-!Dword/_rels/document.xml.relsPK-!;ȿ 3 word/document.xmlPK-!R%#! word/theme/theme1.xmlPK-!,ڗ/ wword/settings.xmlPK-!Ž *\XRmpZ}HwnMVn^펇Hp s' We RQDL \5D olͩHGJQs6@Lo^F ԁl]PK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!word/_rels/document.xml.rels (N0EH5{@PnR>u&x,{xZ )Es«{߉W% KRh <7 k[,*0:??[=`9.uA4V`uHȡ/^s}-6ϺFHӥȏ:ŦT7%bpn-@7>"s<.Zkd0 O, ,ɔB6v~9'.~w>̦p[)PʼnY\7)՜WWd۱WtG_+PK!6Hword/document.xmlVmo0>i!A^hDJ-]Id'}د9/SE&!=ܝ}oQz[ 9#0  \3xR$=3f.N!CiJfVžo j' dv!xԏ0wJCŒxwTn!-xITf(To*5@tE-_=bf2n!B%nKO۸, }J\i E}-(; /B.=)I 8)e]9*nx69k΃Jh#A0n/Ih2Zi$jOn¥As-?y_)HNtNqܥ_rɖ&r4~bmPK!R%#word/theme/theme1.xmlYM7c7c;i&%GyFQI]%9 i顁z(m mSxlɖYl`)YZJ4WN㘦z4iqK-p3GܹᎈQO8ӝrKtR7,BVYT<~RU*rq&f.YC@A Ns0pIǑȅ8w/FDloa0'5eǢu=]W"6q1h,) 9Ӝz^[`5P^77]/xʋ~8W1@yѳĤY]@yoV}i(&8l+^]BƔ\۞;l>ZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zC%R6}iWx+ze|9Ϝ D*<]%рJb*f"̣#1_yw \jUph\IEY!GQq%BQ{IE9-Eiu&kZ'XK&KY5#5afG .8=gA0J.( 5~$=g1pAOr bw%zW`>J4sr`%-5-O2xoԨdJ(gE@/R!WDWp7hDC'Ⱥ@"yW wȷq`gxQHԍ"Lj0Aea=Jfi!D UV % zX!-_t~SюXġQYKL\СIXbq=-쑑$_/F< .'`Ȋ @~R0+F՚j-5@Av96( ILgqC{$IW]-oƋRȿǹͤ˹˔nwn[[KM`iiAEK난"ES0[p 2PcjԒHo{v_njуFSPM&% 7MY+ j׾O}{`!-X> O/KDtCHv4ȑG۴R-?P* ;ٸMl˦A6eYeNװ`kɘ<ǿM0;Ȳ@/ m<û@0FQ3Qfμf({0=`dQ3cOW@YjgPXFS؍{bI@ò lm$&4˖22^Y,I:?PK! word/fontTable.xmlmk07Nɲc/FEE`tJ|d d tsZ%{@ZSlBI" [i~^_ߑ<3[%9 /]QY!z%io4`b[a0XYǣSˮVˍTҜ2`9[Uo0>֧N($ZlHΡum[g7k4fdYc" 3wZ/#@{mcc' bp? 4VLɍ12cAd3U5!7́>rŴT 9{dh1 -SF)k+YIf(,Ww?(QA}3iR H~.e538tb~g9""G!˿Yr{7Ǒs#l$?dw'$gM2?3!9zG|'d PK![m word/webSettings.xmlJ1;,Y-T>@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK!C;sdocProps/core.xml (QO0MϲH#5{0.1ٌƷ޶:h[`0=vݿw6;6\y d\lRw3Fr) E4ˮb*5h@[sJThk16t 1#GW\K]R-.F,zEtdT{7bȡa G!>ta.64dm"{hxe9*u}lVrCs"j>q1@bՍD UjwPR3%[sb=~_{4x7!49sŭ]-zx\Q6‰LpqtG=ߠ,Xt  ?i PK! Fj pword/styles.xml]sۺ;U{g9ۉkOi!Pʏ/R%(.-QĻ/ϩ~*;M"*ջ(Y02~6zOoOE"yi@VhQٳr8׀4>yTfRIaOzsVɲ0/yټTV)+b!u ͻ> 1[8+B֍ O떸(/D"Fcb_g;[I=ٻS'[3=:|6dyufM T GW/WflYU c0:tMk|UŏPK!PžLword/people.xml͎0$BVUV5=myaJ?3lKX@"BSJN=ܠ:J"@Eϟ]嚁,eNcKk&]HN X܂PU2܁)qOZQ-hiIļ4:tM悻gG jGDxԛ䃠q,-~=F2.akek0>Ji b:8{C:?[䗃qtCEz HCy8{ O燁F4~^e5uh>1ǚh%'< ȗ,Ykvc1T1_L r{jy̡,=5v8MeL6i$[Y.uJw[;6W⢜J|F@q5?{3D=VbE?HzNa"x^Cr4-eTZNI< b>Z[*>?$EQ|[JmΡm  Avi].Mj *эr%B2vY>/s3u!j1 \sg˼T8)ʆݦh,Ar _$bd^|yN8a r/,Fx/H@c܍, ތİWEX2'"_̿Y?wez{? IB,m@Ti?:k8ԉ/ӷjX&z2l OV9KN<~o'q(YA;0ePK!N _rels/.rels (j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK!<&{word/_rels/document.xml.rels (MO0 H*wvu ]aH\MR%Oh`8Gi>/@ZɌqB",3}!A&9kt`zu~|d5"MF*RW U ҞJ 6%mYJ$YP 9 ψpZOnUu* x‚V8hB%ӷ;Av4h %qv.Y}PK! :9#word/document.xmlX]o8}_iCmIB AJPM1G)e~^;NH.tW+Mؾc;Ǘ9DHʋ_{C 3Z,GuBE/~a:'rMGJrH"99łKPטXPL:.Ny*DJIoxI \p#UH<+@/sʨ׫a]bh!BeXE![6&bGx!W \4\ χnSes bx rY01#85bԴG$ܡK$&/#B%h΀LYwq1 `ajnSnZ xK?`$PL.a_Ɋ :i{3J" x-TꄹXDt X#q>{-3r_5av-6xN㥦Ip RJI{(T9x6ǜQ$ =fPe&Ձq8 朕ϻRv 0YsEq>ITNQYiC0\ZOY$B1O$IIl>M@<5[ KXר}pL\Hyà?FFUIl8+irݙ&{h!x'dr& {hi,d Z+2hxkf)3pAt l=L2{Dgv+ k 2Vm[_Mfr*SfZ# D#wuG"'S7#"h 8}P .`{rAe)@9+ @wţj;MY$&i+CVUCgwaOuRC+u`tl`8-X+C] D<$JF.EO(Jyܣo&)sAIcYlg%WO`xS)3 ƸbwƽRkkQSir q=VԽVvtKxRŀ1)NzdԦ$GA2%u)a:t4KaO* &RZ!d~]2G0'%cGI|AGZĘqkJTK[sv]s~9SM\Gב^O&/_'汤nbv/A"=h.@3\/~YiUO[2R`SJ=?U9M(jR0N[ :0=OzK3k,Sp6T{xR-c2R;^P fpݥՊWK`=,4FH"%Ǹ&z;h/vIJOL:!HDЇŸښM 0{ Ǚh#q|6]9/h߹ެVr m@f/;B :DtշPK!⒲Wword/endnotes.xmlKn0z{[jǩ`9lh0e )+}za81E 9gy"JO#0IU>ELnQ`)d):2V_,L*liZ$ -- v*85ʪMsNYX+qfZ&@,p=Mi&a1WFf b+=&?#RTt Ȼ${K.E+k"AI[p=Y,=p.(}Ƴj1D~:U~ *%+1[_WFUzh;<+ub  RT"(YƎԉ;j`&8ex nip%~mob୎8o]twNQog8ӆ*_޴6à&\-nN˪oNxs;;Τ6/PK!gd]word/footnotes.xmln0+;DCMۈP+nm!Vce;"D='(ӆLH8d ۄ}Zng,-A!fuX ĵJRXb7i5cS r;NA8ĪO}'!!l+Ud7=oR%kh)S zܢyR"b :07Uy@rqehrM9 %V;!,J(lՔ9VDġ'?Ӵa &3m%0{,}-x`TXIP˰=5-$S-A+s/4;H"J)Dz/8*tF2.N$\5gM}ukuazU'V}j|4w۽ҖP- `׃X<6Kif*^ٛol7-}LPlrrl>5H!YpbgALID6Z{f^qQ OPK!\;word/header3.xmln0  '. 8Ed[v}Uc:GtiQ_͋VQ-Kk2Lc m..#N$򁙜)kDF“/&-s0q<#e.RhZraʭ($Yݗ˅X35d4‚fs&Hw,'d#; L: &AmJ ̘S֖WZU jƗYN#~oVc\㒫z֠9ϑIZ'&is$9*LcOm&?p˚ l4ymkP54ti21%sx5O;c=)T-pף&+lRǀm̓ofF:o/^zS|n{ZRd<Z3߂]-WPK!B;word/footer1.xmlN0+ﭓҲ5E ]Po>qXзI]P9d7=oZEp^H2I$ \MFy]frl'&-0<#e6RhZr0)6r:K3S3OzH+ N4 8t{" [dW2R9^Pfpݥ,WZUN(Ɨ]NlVC\cy=X:֠9O)'tE3NAf kk67} 0y蠲<2{V{|4u,@ƀc/ a"/ijc<#rvs?)^hsFdZU*t'יu*5Sy>?PK!R%#word/theme/theme1.xmlYM7c7c;i&%GyFQI]%9 i顁z(m mSxlɖYl`)YZJ4WN㘦z4iqK-p3GܹᎈQO8ӝrKtR7,BVYT<~RU*rq&f.YC@A Ns0pIǑȅ8w/FDloa0'5eǢu=]W"6q1h,) 9Ӝz^[`5P^77]/xʋ~8W1@yѳĤY]@yoV}i(&8l+^]BƔ\۞;l>ZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zC6X_40 fmLup|c׍_u ծqM@bYuSn?,W=,=zgƶäqm 6?T]Hk4?s⡩u'ݓ{: ^ ڋb'@I`znW=Зj獟FSl>߷Λ] U \EOP8\6j:VqWuךs;?CS3ظ-NCUmgy|Dћf/L )춃*z8omg ];xW/J_7h 9LgYp#ᬩzo-z|YрG5&;7nY]Y+5m󒺈y8v.Қ2b`ܺ9E82LA:s*"{7Vvxm9Vu*8߰ 腻 GHTpy]uXßzSVփ *4'kJ˿w`G+J?~]  q"(AH"fS~DLXB)n[JRJ#DZMEBIٹE^! ,Q$㚠!9 RjJ(g) 4nT$(Rg8TC3i"9 HD5 IQO GmciC"T'B8BPU0HJI*"!S1W8B@gd8S%PۄP!Y#  Z$D 4B$B{N2!YvL91 E PU"SSŕX=U GiFh/(BK5':Ci#TF7vPr #dhC0Y4"&h~")QpxηHLqf@e1(bi@2lh~Nsꘊ4BLBIpDfx'˕ Cc$QZ O(B4 c2CuE1H#aGG{!*?2s<Zךi"6ՒxtbIf[4p9Q؜P$9~Кד!vZt 7t,a JLC "` ԡdpVȈB ƌCZS@g$O3!HctgP OC+$Ts9Q1~C'h F~gϓb=CpSk6 0fЦ\ݎolqMvwv}l1u{S,fSV}]{^Qji??ߚѻc7'o:,!9vR5 ? Wk3ؖ<)N6\g/f^Okm{vvQxuܬ0<ӟ==ctML1z]hֱ.4&B#Y_WכH߻v'[t#AyumqxvK  y*WτE}lv׿u[o?Ftg$Ly1=0wP_!}bz[}PK!:cp word/glossary/settings.xmlVn8}_`蹎%YNNֶA]Tn)" )ޯ!%Fޭ-djyf >SLy]RULnM6 FY$Gwx{H55]HriD;*R  1 ۉ 6RV0quлQ.Ƃ5IU]?.ۙ,U *81%5{? w^{PP=[\5h@Tk }Lo=Ǿ}G;f>1h~I% /C釭T@ rFQp3zҺʁegi!2AiU&-7RF5ϛR yCJzK{6`{ t{j5VZsIX i.5p`C^pUtc[#BV6 =B/%@/}slhFim)f|o `5҉:>eq']iaMMi:L9$YF29 pyY%aʒUv~bMu.޿,G'FFk'V;&=^P5ƒqh <é["nvg&pVW$'#Wd<2-ro%q;@>ih!5H27đR9d["5i6mw&4U >mcsvdMl:/Kfˮl8v-Zqz?߈P2(a_ugg'(kE36  {wDӪt/PK!%pMword/glossary/document.xmln0Ww@ ! E%UMwQ}8l'iw_spBR6aLۻwJ,up/jVץҐpS{7v+!hK1ӎA1JJkBPh$W|GSo65AZKHRn*i\`f.)ƕO| &>6Z OݭdI 5kXn'h+gߥ`e!E]\½_t"J?'4kN(٩F3n0 uy|+N:{;' ~ãy0O ESɸkb:2+sԝo͛hV{`d0HOv8A4 E46V^UcWpWsyXLWB9K-ua8g7X."/ٽg؛EEd,q΂m7xN]\{+%6j!Z.@[t%x,nO8Nxv\}g ;9tԎjMm:PK!е%word/glossary/_rels/document.xml.relsMK0!ݦld? jCO ;&X%($:/(K bJ>~2@/fh)oڐF+yLֽ,ou3:b]c kP?жÇF$9Q?p"q6u(faO?jQ<s7Kַ{?AB} PK!hYU(customXml/itemProps1.xml $( j0 C=)qJ ::uvػa$GP(dh9]AEy|pe!:&K Yp~b]UWUGiJQ%Xg/{&Ȓڦ3r $ ;My#cB?7 Zpj5h#))}&jMznfh<ۯ8[ܢ^rYeN+_PK!zword/styles.xml]ms6~38t!b؎}񜓸sLŚ"t$o@-@rA4޵3Ej,vM|%yb4x,q=]<޾9EfqҌ\^I1ǗE"`Yv]e}{tTDk d曰d_M?o"نeLҤ|=G &BW$"hېG9I"͊u-*>h/49HQAoR &rZUꑀbc&&5&z{<\L'Y,!W_7qK^ކE$eIˬHF H‹caH^tf(v*o;5L/FIuq, |Y4{RZ2܋QY\r#50 w{M4 DJ=(/ lYzm dgU^DЬ^s$zF95zI1\W$ڥ)я ł^+᥂^)h6"IS ͓'I7Io ͓p=&e*Bu]/l"yB n"jSn_6cƶsEǜV#J\Q'nBhUyW`5p}`i2O)pei$@EEdB;ma9M ̰<#Og9}D}/wl5VQk^4z߿nIʲH4M !.ʜJ_)?&Evx!C&ݼلI ?~閗\1~hYҍ7L4_~:xɊh/=- $#h IxC?뒆y!'.xB\L:Ч])E+ OpSaM6=p06| : "^Su5 x 4_R iB6YsztaIN#Obo`,!|Ajh`߼#</?:{ʣ3/?`l. KM1/ M4YI6['ț<H%CNWɻ=@5c-|W5_VD4~͛ٺģY4&eLvYV//sy<`WuqdU7ĺ4|^=b@d: O nϺDC$ls-ϒ=%ag=%Om|xFG8mƳ8if4i5\FZӏ3v~cXdGɎқWv6}&_>ch{}D\o\p7AcSV3eznwCDVqTHMvAVpFE+(VP%ZAh5 CNhB4Qd vQQ! MT&*LpD8ByBB4Q!MT&*@1; !Dh|qQrPPUXE90>x8F?d&T,Q[.ԅOO¤L$XS. Y 뜵E_]L+xYݔ¦# f4E-ZkPm1Zn̚ Tp[<OOzi^_ QC8#%U!1͎zvf#iԐfXSՎ55Dp25q75r65r35 XSC݃p*Ú"`M 8![aM M L ;!kjdjnjljfjP%M XSC'SwSC(gSC6SUQqI&5A\p%MڱZ%hjI7}hG@ 7 ma;qՒD#`MUKUKUKvS%qՒَdj\jj\jj\d75Z2W-LL8![aMZMUK&S%qՒԸjjj\jj\jj\d75Z2W-LLUKVS㪥VS㪥VS[ƎL[P~\n L,A.I\$P{Tâꂡ;/XU~s||=_ިaw_;Pml%ӶRncYbu.t췉-.Âğ:Y>$"*>99ͮ,*^7jabK~]6QLˌu;Vhl/mFG{]ψ;uvvs*.QMՄ3w.,{03k]OUڻA2t7*මA_,7Mm2qr]A ~d-ce}VBy^t)*W$ѓ.iӭoE+cݮ1z%A3A:Ѣcv~|i鳘Z' 9}:x,S4쏻{EdOobI~Ӕ8_xo98/´ 8sȯ~"PXf-+> b{N4q"^,a ~w ׺å\ɇƧUk͇Jӟz8`ϠdJĨh~ZsR);f |n_3#~r)Q+ꡚRƞהbR.43$ư"a(+ h6th-Χk$6zÓ܇W;1ztͭSPcjEI$}L䩡>gkiy3f5p8.:֘<ΎjQڋu?Ź(ͧf)Y('ė$/E9m.S V3U򞄲^gd7-nSFzWCϠ$OӢiwНDs҇i Uܙ/$uLFF3WI\h^u"ٕ# R'`c7uܹ+< Ԣ(t3cj^{46|V2ZnPGCUd@٤1wNn'[=ku-g<cNszIۧ%osrKt8Cݩ^uة4 Z֧廠K{1~';L䉒˝;ꇸ:f1{6^ ,{ְPkذIǀ4 NBj|2=eXi 7v5Jv rYB[U_PK!}X#word/numbering.xmlVIn0 q4mP .%& $%\Gr~j-7G_>2Xi" N}<)᳡}<:6 kE36 :^d΍dҧ$Jh15`NIP_J$XkFÂY1;j nW'>%Z^n8ST`W{DDc[q2b_](j'̵ʹË5u^D]jjݷW羺An?.j*?M6\8oEG8WuZv\H[s\(q#u\/j9wq6[qwT3h wl+|PK!yqdocProps/app.xml (Sn0 ?7J+EŐba[mϜL'dIؠ׏vO#)UL\TMh߭CZT7Ǖ8b7I!b"b WbORfӞ3mHӴm`;$/+/"bP\E`X#iUco夛5:%Ǩmzᑨ 0녒PO!590 CC<@}N UbtdWkRȡ꾷[JNKE,)U_| }%%Ws#S[ܼneTw@!nZPHU?yVɂ'1 .fJX{=M}_L༰'}˽?.f{ՉC|x?Cmy3<Ndi`x'?I-G}+HYTwN~j.G{J D60o,W0H9X)ctl'_uݓ|P=;6w#w Ev d*yB1ߪ kPK!P:gI6(customXml/item1.xml $( Aj0EA>E(NY&]u#c[ iW'37%xuØSE rhl~Po<6@ bR-z}+wۡuL, x!%yPlB3 TnCDJd' &<#11#k@)˭\G/]PK!3~9 word/glossary/fontTable.xmlԕ]o0'?D/ILTH]T6IvdǁBi$Go^Y#7hCx$'#y>黎Ҙ/q&8kܻ/0\+s5dM·0Z"':c!)a{DXͨ^{n%#/QqL#MD+F.{d(Ji6j%j\(kfcLքP"-XLQ)|cٛ@ hp!"bCtS,o}s6FP>mm2HGVYZs|SJá48 DeD,|2Mlq>ܿ22(BO@g~vϨ2ЎYfPK!3~9 word/fontTable.xmlԕ]o0'?D/ILTH]T6IvdǁBi$Go^Y#7hCx$'#y>黎Ҙ/q&8kܻ/0\+s5dM·0Z"':c!)a{DXͨ^{n%#/QqL#MD+F.{d(Ji6j%j\(kfcLքP"-XLQ)|cٛ@ hp!"bCt_#qǗy`wyr>;^qNj5lV̲jʶy^eyrZQkE/.LSڅx1- a"Wu/ʷmx,h?8] qu,832'xq"[Wq 70VmO߉((ϻZ$އQ/w-ՇI|j9i,IL1ހa 3`A'f &hZykSԼ4A[K[>o*e%됧sӼ>؏1 `rӞ3]݅EXݪ>1ݏ3v'<>X$Qz".=$;. (qyu ؙ\b6ޠ^2$އ.W[X-ϰIQ A?V@u8ET/;Z.UI{-Ri}S=₶e_tI&&n}+q;w?~X}uYOWUlbi= :Z[!sLC7Htd5~؈q*Df!@[.>#`7x>/$JT: hyXlˬo.p˷,tyW^NiX l=Di^l < (l JGxDa<_E  L[Y&h Ё3˿<&9O›)tu1 c2n&Z1q˗]1iNd:҃_{ʟsI>c(ƽ%ٲ/,ʎj4oQ2YW|Đ%ʎ)l'@gIcޜ4t㔕񪗣NpuQe81*Uɵ\t+ZA{\s̩V v|*D`G g RBP!-T  RRBP!-T@ "B* hBZl@'Th?G2G*D hBZ*D g RBP!-VB8B9B9BP!-T@ "BP!%T`>K*D h qBs )s )hBZ*D hBJ|P!-T@ "D?KWSvo験W|{B#`ajT<|`(tyuK}/T>j\ 5[ 5[ 5[--z~qf- - -CBBBpAb- -CBBB떸uKuKuKP㺥P㺥P㺥P%nq`q`90ld!ș" {jړUTa3"3CE;:V~{g[PϷ@}=0R#/Spzw;/B]\|g9jsjpCCh}O7E_w46j^%vPp74wlnJjnq3=1tev lHGw7/Sw EI"I+s<% 5[W@T8EW3=]Rշ-Dz5]@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK! edocProps/core.xml (MO0 H*6M'Th'&!1o k>dڭhn׏l' h JDEBKS9OVPU739^6`r93%xorۀ. ĕ56mpwXz DtBr6 3 5HPa|z]m_N)|k,it0?nX,P<$!f׶$y m-wAe1+ ]S5WCB^@E:ǐshg}*K}L8˖dg$OH P?1π~W~PK-!b6  [Content_Types].xmlPK-!N _rels/.relsPK-!<&{8word/_rels/document.xml.relsPK-! :9# word/document.xmlPK-! ;^word/footer3.xmlPK-!n~c9word/header2.xmlPK-!,]e;%word/header1.xmlPK-!⒲Wword/endnotes.xmlPK-!gd]word/footnotes.xmlPK-!;B?c$word/footer2.xmlPK-!\;word/header3.xmlPK-!B;word/footer1.xmlPK-!R%#!word/theme/theme1.xmlPK-!yYv!(word/settings.xmlPK-!:cp /word/glossary/settings.xmlPK-!%pM2word/glossary/document.xmlPK-!е%Y5word/glossary/_rels/document.xml.relsPK-!hYU6customXml/itemProps1.xmlPK-!z7word/styles.xmlPK-!}X#Gword/numbering.xmlPK-!yqJdocProps/app.xmlPK-!t?9z(McustomXml/_rels/item1.xml.relsPK-!P:gI6OcustomXml/item1.xmlPK-!3~9 Qword/glossary/fontTable.xmlPK-!,kq_ Sword/webSettings.xmlPK-!3~9 Uword/fontTable.xmlPK-! 5Xword/glossary/styles.xmlPK-![m ggword/glossary/webSettings.xmlPK-! ehdocProps/core.xmlPKGkpandoc-2.9.2.1/test/docx/sdt_elements.native000066400000000000000000000005131363630463000207440ustar00rootroot00000000000000[Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Strong [Str "col1Header"]]] ,[Plain [Strong [Str "col2Header"]]] ,[Plain [Strong [Str "col3Header"]]]] ,[[Plain [Str "col1",Space,Str "content"]] ,[Plain [Str "Body",Space,Str "copy"]] ,[Plain [Str "col3",Space,Str "content"]]]]] pandoc-2.9.2.1/test/docx/sdt_in_footnote.docx000066400000000000000000000641341363630463000211330ustar00rootroot00000000000000PK!LIn [Content_Types].xml (̖N0 HC+Z38 q&1 Kܭ"MV+0ʸTjm/n-wpR "e8pLd xg6KEWt;D*#K|>ֻ]o=Gs[PK!U~ _rels/.rels (MK1!̽;*"^DMdC2(.Ե3y3C֛+4xW(A yX܂JBWpb#InJ*Eb=[JM%a B,o0f@=a noA;N<v"eӨbR1REF7ZnhYȐjy#1'<犦7 9m.3󭄓YPK!nword/document.xmlԗ[o:ߏtmJfUi(jw?N?c.!nEn=?[,la{mataٖ҈( /V|:13m(i-BQQ)RD+ۈS' s2vFwB+!v@ʮpK?Z, w I_w5$pά  ‘EFMUATR00ҨK#0R'h7 .)(S"s/n,&;};1"3 S㸦,o&.죿tCܑ8LeDw8JƬqy(w龜'ji^F>s{A=B6z0&5M5FhՏ"X||/Gs _r'!%FcʸD" b?e6WO*V{̃.PhuaW5גiaj{l ڴ'?-F[i.l8 <wBGS +[1vKfP/h=|argFirچ͏gcvМ&ZVk8zKL-({jvט6U,-\p%{u>AM @'!ZPMvañ Va6u Sղ}U#ȚrSDvz`ZJAA s&D*ҭ>o+w|lVmVߖ(mļY1Xl ޞɗPK!. Y word/_rels/document.xml.rels (N0HC;qR T+p͏pȻ iS|Y{jvKTVu|g 4Jjk@ˋ3hI݀w1(XK4M$ͽIyr\y|s9[ه8ti4ICǻ٥kFx}ZS2Lص]9IsƍX?,yӾ\AX?U ꙠƻAgtaqIK>I>O387ulobkܬ!xe0/ kXa|Fu7KxGQJjN>_S?W#֯Y5:KrG`4ɂpup38 hۭۘWKWAk??&?sqy$ &~iΌ˿2>ʨ`䙜{QLV[qnV_&=7:<_SfX+,Il`Pc g\+-4d]fiv[Orqy6%hA~lVo lpXw YPr5Pm5N\jO *,j=D `Cv̖?Rf[Q?}֢/en~SMbʎzy-¬vzĭ4ϭanm)q?}rO jy ^ۭzZh?ݖ۴-+L5|lUVW7uTq6_OEܜ}""Ӭ>,/st#P4;z akzIJ홉+Oq(pN&Ą8Y8RPLZ>oDNSܛf#ߐen~>3Rʝǃ)h7Wq$ʌ^bs1$vcQKȝK3ZG4Tzr>x5 PT QT'uCwI5<'gzTomc:{J&Zfߑkh9F ^ ͅ};hkuhwdgΤܭc=PN}Jpe dc{սaݘNqyv\Voyf4p)[?(ӕٕZRmq<2WȂm[PE!MGuzx 3up ;kAffsvtn|v/ۇ§>Ma?Ȑ 8m)P}XBO{lQkXiw1D@ٺadjSME>̍w`$r8&Dk9T7ҕIFW.nYzy_}?۟wyɾP maI;.dޟ$K:~FsӷРX*^yRn4 󣪷9stcC58(erKuP;'rI"3x=#Fb0 CwgyNd[ʼ߱/_54e^x iam+CϘ-}DL B*w" =bǤJx LCb,/b+p䷦HbKѯ W-996ꃑ+=P+ ԏ،X5`bЊnh~UGcRbf`)9Vr ro–΍H.\W[P'ٓ~=wfL?_.]X.˜x3ES;O5.0vl:;9c/ږ*\+ny rVT:Ꞡ 7|6>Ԛ;w֐~/ҁNI>q)ur&u%tYX$ zsZ@?"u< 2Zcmo WAigAD~skR:"62FSa4F~7'/`S&i jQhLG?_։'|m̺VqŐR dV}s:1N€0S=څ) 6bU;(C;1I ;x쫜8?n"s`x8 oa.y\L0?2DsDs[thcaҧ+WlzurZ _pߏ<\T9i- :cu'گKez\k%8+yCP% HT@wܴ?Η`/rC#Y{-@|s+N 9PhsxV=8O~gUŐƲ+6'WR.q/XXu%3b `_)gq2k~mMBi/a#{2xQ-]9R8d]^QSa qעGl yd_u-29;# u3VOo\rR48g3;pI/TV @ߝji.҄%pv]:>t![XuC6=?C= ;SDNX(t3LJlI<Q]e4Q N5Ha%G_F=ZCrXcL8|,b/cu)("Ԯ8t$iy^]z&j o"TU?ۙj;4#sk)v,SݲxY'0HGl j7 @2kwL$9:F-s_2=cNuuO{uф7y)? 3JơL"#e2FRʷ?=qQ^:h‰#;b%4ֆ!R} Nxx=sA<m8]>R۸+0>:H?vcEv 1g׸.t8oF$RBƣ&J~XtHu#S`axrYE}䖬5G{aarT2vCihԖᒾE7N{ U/r&ws3;!vBq!S\Phȹ3U{_MzBm{So#8lzOMkCSj6|ܧVq{OދWfi,f d{˥?X#a޵Fnf5=ƐOWv=Xߝ5|?A曚CyM}6< n5z}h`й,'}[0|zk=}WcBten-tdc / <xo-$1X!c7wr)6w9}o$h-iO*!3%FAtK沈TbZk 1pQ)}$7gqٙ4?9W/ 9aS47cy- U}K2 W?KcTguP?ytexۙi&VFp_z8 Ǩ2O^u^<óSp?*d~6NaUR|Y>za8^-LjyԭkwsNUu/a%O'kV_/=}_PK!} word/endnotes.xmlԖn0%Y^*)r  Hʊ߾CnrZHg3c]߼;0mR)V(I*v+drf]B_ǟg8DbŸ{6pnQ9 n04t`J7*(O8]5s]jle:Z9cWUgi%' ZNHM^3rȃ4pW8Zw ^ۣՆ);IPSb7r[,Q9 غEsRlIWAC%yf3On(̣hQm(B3XDA K]è}yΝ$5nՂZ.T /G?! nuufPK!m word/theme/theme1.xmlY͋7? sw5ov6n ,#cqHbQ `Kl1# ]ޘ+R#NbP{{4"n-(KPRKD@sh˅x?C0rK-n]). 뿹\`8h9,=j~ r׫jRvr1u+7@iӢ[V>oc5(mzk~?lM w_fm _/^kPDI2^CZ5Xv 1m7}_T>b-F$I9.@p0 .UJR[ڣ2F9th ֆG 8Ȗ{9WN90)&1ef#6l{0jSG&6fV(yތ 1eNo3MH3vYl"$cr1Gv8Pl߃4d53#ygtMyFmsb44B{ccuM goDU67`]XK{8dV %14!Ӄ.+TJ:vElo;2J=^g߻1926 dʰ[1ܟŦVyh37W$V@+j0^܂=z#B鞜Q#t#0;ZhiAs 9m3^&LYP8&pVjN]6LGsM@2k1eLGkRA낀}LU bzg¢iaP7_s 0RFnCT~s&cۮXT\\$ra:|ξnf.5)SӨ7>UY 41{1jhrG   ;sCHfp!HD)LOܡ$Xϻ&rk>=鯼hrHօTu`aS  :wʯDȥ5;JE}KvDDh~y %>4]fB3ߺ \p[Ӟ?>%c}UWs]s6grԲ jZ6jR;ǂ 247}F uf]VT M~p,^I@.CL9iJ~ *~P(5^zBoW m߯{~TQdt>ا{=>^ڗ,.2]~k_X;juXQoVZYm ^(4ZЭnfi׮^(APj%E,ԽJۍ~<5|0/PK!G5 word/settings.xmlV[o"7~x. L &ЭT񀕱==vc{:>>ҪBΦ}baʹr0B@gx?`xOJ &SO[d ^c`E bQ$zsZ#E2Ru0j*K^*-$9nx]+yC1SƢ'p>p&NQmnWFMZB`R@ӂzKsVHl:-8KIX&xS[t/Pm±4%LNv8V| ./PK!CwE word/glossary/document.xmlK0&@ Omj^=Wq6Ҫ߽+$K"ؙ_5DHm  ?MLCi}D's3%ʼ_|pwT(d8akP\N1̲ C",ǂYp0NBv|KRG_|N ΀C$5y͐5&MР28M{3jdeQ5@^'D ܨi$&iҍh'lpƃ ibH>'q1>Ni* s@u&0׿0 u"f",Y/*l!COVu;A/p$0<{hO!"!W {ª٦3peQ.Ý&1Ύ59ED9g;٦cI dZҀ0흻R"n]st7mތج*YK{d,r4Xۅx|)=WB $$VzFp>1Q #d$x+ Ȟ~^ʂ?Xח_PK!Y~ word/glossary/settings.xmlVmo6>`A9zdZbEFI'_)rp:MsxwԻ_9 v4b&Wq(eEf^n@"*¤YxwL1:,dQ-pdZ*N n&D=ͨ!Qs8=YO1TRXL5-B-aH[h '};μ>/8^hqIx֠Q8R18 :B'[F>yA`ZuӞ#B x}ivIj;p2Ra8S쯍fGaAo0 j2&End5n-W`z|N:EJ*oHw~/QyJ)=’-\UaD5'Hu72DtJV~h婷.}֑ihk,09~V.#yFϟׇ@Li{#gf6+TD͜Ѻ(1rJ]T_Q[ze~2@/fh)oڐF+yLֽ,ou3:b]c kP?жÇF$9Q?p"q6u(faO?jQ<s7Kַ{?AB} PK!Uword/styles.xml][s6~ߙ=>ɲ%dnlg 5E$e-;?l@!Q=i,;_fQpO^/q,=}9iF1xLO{44{h8}= O{,M);>9Ɍdgr;#bٜdl"= z&i'K.f4ΔnB#ti'yCг(Ǜ/ah„|}' skp`1c1vRQ>^0 _yBF@U X_&p1/,,?DԿ?W<5ICnDf gqz%iv2Rys*qYoW!nޓwpP\9(]H|[\ӝ7fNN{4 b6sr cW z K 3&{8޳{]I|EG?. L>2P0gHy)4zWi4O<՛F^o7,T7{.".g;cnc":ݛ=g\&d> t5Yfl:|hӖHE.DY^%4_Zyϓx%Atep1*EZvHEޡ6uXzA5(No[auzT= !᷏sa]g+E!fJ@QJof)I+ 7w.uDX쇷7;3¢_͇ a?< ǯtO?<SiK<X.GQx޿6FńEŁJ@:Xe:X:9.ϼ6`L3/?; d":җ89OH MDo :W"nr:|+y˚/3$84jpeyZ9  GcXda-c=*=߳i ~fhY Kf VRebVdn7V]27z%ˣ0A媗\{&[vLT-WO:ѭ"/ ۗ^8Nt8_\[;Dch"(cuClp wV%Zu!ZwhBP;(s'BP!Z-T  ] Q\ QBhBP!Z-TǾI-T*@ U; ] Q\ QBhBP!Z-T*0w*DA B !Bͷ  ] Q\ QBhBP!Z-T*0w*DA B !BU/ ; ] Q\ QBhBP!Z-T*0w*DA B !S-zZWu3mB*rejroaq5Emyn%?_1;~tIPLx%S׹i y:O7-A_}MK 낮e(E4G.hm*ц!l džQ Qz,ח:w4un *1F[mٳ#ю 'fF5jwTC';ʙjF5 X!jlGpS PnTæ K5DR Twl0TC(g!հs"`X!ƝjL5rTC,K5DpS PuTY( s\'05Ȇ!.8%qd 8 WђI-{v4P|Zaڡ ۡܨƍvK5nd7Z7Z7ZS-UQ-UQNTFKTFKTFKvq*q*q*;6VwqZq%;ոRոRոRոђjhjhjhN5nTE5nTE5nTE5nd7Z7Z7Z LO@ g$ߋ{KiFsДGtP:JNgqV |7G%d2O>K:߲i*ӆĖ#4al:J%2"h?˪QwS7cQ;⎑i?1U^'{{~{}"4UVGD])}NVϿ>Z&YIF~9M|sJs9oTi+SRi(*Qt~#N;8).fEV/҉z^j\IvnV-sݴ$T׺١ nvnV(@ 3fZw7[L'[fJX@]c[wwʏr'˫;m;JނƱ Z4 Rڎf[HՁ.nо;XIOyup'slЎ$Ϭ[ g_jr>"*amG{e1MW{>z}qT\?ov=$cp$ɀ7Z۲Pg>5ϧ H<mnϳQ],Az2/$/D~>i>?щTv#bO&+n93z, diVUjg^FЫ?$|ZwQul]^BjބGx[Pͮ Zm :Wm)__tN]={u,Bf"p1$p]OW[K%Z;a /qf,tFCjmJ,ԦHVRƱuIEO^P|69F̮! T3T$o,{A+j6p][[:_<p}9\k1oQ~.k#\W Q7j97ѹu 1]7m>QpIx5SP^|s_{ Bylx(24;_&}9xkS&\- މa.G؄j6ѹpe:iu)e Jz9\kS&\ N dnxAj6ѹpۛ(نo[R>5[;QlC9jؠ}]P^|Ѝ͇/[(m0.[C^@)rxܺ"i9ltpow,%w Zns\;7 [u(WV|P_PK!m;1word/webSettings.xmlKo!{]YM5դilqGvVI0u;nx a`lHC!L K|}.C(d $gI7xx% VrR+Ef^SkntTr]TV&aREE$N:#G$%{fWN<+#|yrW)(яr#>qg;#w?qd M]xuB\2m` PK!B rword/glossary/styles.xmlr8j߁ GIje8D"! kЂdlIruMĒ?~o<'qLt4}7< e$҇O{GA4bLg?~~{/1 HIx:ZxK\T*a Sj/Ɋb.b'QQ}(r!a4ccMi==I yF'qKHט!%"T2nLU#Ӊ+7#`Cc#0G5&{I(H7Tlk@.`SzpD2 Vyf>;U}>>4ς, וDhY,?kxU}g~_ [#,o|}."1B_ǟ,>\Jl}.{W4k鈩ٙ Wm+mx-xBaa?=h,>Y˪ (]cǠӵ#?fM|Y<ӑ-KN OGlOĵ"66L"?cZW< 9L0HdN06W쁌ӈj"ɤ:^APUl~,}e yǜfYb3<3AC3.hD=Uш:[9>[E#귊6E)?vwKs}p=f!ez0|wS3 b90ݎm[ι^{}ښDCBZݢQk#ךGd5on2,ЮiY1[MkIL;cqQ.hGlЎ%_rI1mj9bp[HW! jf~YqӲO2舳\r5-o%edd>EܲL4]%L sp/W&4CFQ!mT@"FQ=p/B ڨ6*Dj׋ qF>FB ڨ6*D hBڨ2*2* hBڨ孆F8xBQ!mT@"FQ!mT@{RFQ!mT{pQa<Ψ0ǨcTHA"FQ!mT@"PF^FQ!mT)JeSQOO]Uּ:菪kf\Ǡoy,=D8K"P'>^tӤ|Ru/=g }#1î!ߌIaHoFUaیîI(E@p4:»fF89{kfnG_G57kXBhnB_܄2 (=nZa7Ojh3FuRC/5DyK Q~RÉ+5$`/_j2ԐR!;1RC'5\aԐ![jdh!+5$`/_jGQF)-r#797=Fg xfKPZs\M諞WF7֍B+FI˖ڤ7-9eKR㲥Nqْ[j\&5.[jrveKR㲥Nqْ[j\&5.[j-I=pK˖:eKnqRԸlMj\&5.[rJ˖:eKR%ԸlMj\&5.[j-9eKR㲥Nqҭ%LY~OdG㧭wV2Knyly|lkDwmu| SPǫz锭zu,ӆ¥.-9(l^]f.XZP!6So]:/;1ca{_CUwURWio<ܤu*"y'Dk)!\o? Bk"15i9rf~I?`|Lӣr391GI|\{z岔FDe!E KwZ9jr PK!word/glossary/fontTable.xmlܒۊ0 }e'n:K(^,PhxNZ7 Bgg^&GA9[|(VmMntTr]TV&aREE$N:#G$%{fWN<+#|yrW)(яr#>qg;#w?qd M]xuB\2m` PK!C;9ydocProps/core.xml (Mo0 Km*Eb!M>nYb ФQ(--a7;~ytrycEƈ "bj5FoY8BuTq M뫔M86J&L9`l$O(_\FRSš-]KpSGq%N$9$grd@u`PW~Rh[X֨ߟk}P+(K9Kp9d)>> 0w }SP* ^vk[m2~ Dz0z^1fD9nw)OF{Q&4=YlkPK!ctqdocProps/app.xml (RN0#QiAj8ڳeo ǶlSφ!>zG3kݾ3CΖ|VZ锶MW7yJg;~~oy IcH2oSEb'ږ: HC\]k+'?;->U.(_Qd/n'=vވ43RldrIJw Go.ȯ ,[L?6pR$Z,2ꔽ~q`+@ (?N“ [A4AmDZ~X KrlH#ʭ5G~[ڵ,\Χi' XF9i6Nw6m׳N? PK!udocProps/custom.xml (_k0!iU=m{*DIib7cr=w.xQWc,Oe`/-2HE8%,[&?a*ڂj"ӔŊDue!ښ(lX,ʂeԌ+3TF͏E%ŎNN-XԪ 4\"{N#`lt_4; 'tq!-:UͻTm?猯I~T| \7YAˆTC`*1'HW_+eF:/6O yL΅Yhoڻ@}S^za1~/nOu y:7PK-!LIn [Content_Types].xmlPK-!U~ _rels/.relsPK-!nword/document.xmlPK-!. Y  word/_rels/document.xml.relsPK-!ۿ ׮6Y word/footnotes.xmlPK-!} 7!word/endnotes.xmlPK-!m #word/theme/theme1.xmlPK-!G5 *word/settings.xmlPK-!CwE S/word/glossary/document.xmlPK-!Y~ 2word/glossary/settings.xmlPK-!е%F6word/glossary/_rels/document.xml.relsPK-!Uo7word/styles.xmlPK-!m;1\Hword/webSettings.xmlPK-!Iword/fontTable.xmlPK-!B rKword/glossary/styles.xmlPK-!ԍ'Wword/glossary/webSettings.xmlPK-!Yword/glossary/fontTable.xmlPK-!C;9y[docProps/core.xmlPK-!ctq]docProps/app.xmlPK-!uZ`docProps/custom.xmlPK>cpandoc-2.9.2.1/test/docx/sdt_in_footnote.native000066400000000000000000000015231363630463000214550ustar00rootroot00000000000000[Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet.",Note [Para [Str "Vgl.",Space,Emph [Str "Bitzios"],Space,Str "u.",Space,Str "a.:",Space,Str "Dissonance",Space,Str "in",Space,Str "the",Space,Str "food",Space,Str "traceability",Space,Str "regulatory",Space,Str "environment",Space,Str "and",Space,Str "food",Space,Str "fraud,",Space,Str "in:",Space,Str "Dries",Space,Str "u.",Space,Str "a.",Space,Str "(Hrsg.):",Space,Str "It\8217s",Space,Str "a",Space,Str "jungle",Space,Str "out",Space,Str "there",Space,Str "-",Space,Str "the",Space,Str "strange",Space,Str "animals",Space,Str "of",Space,Str "economic",Space,Str "organization",Space,Str "in",Space,Str "agri-food",Space,Str "value",Space,Str "chains,",Space,Str "Wageningen",Space,Str "im",Space,Str "Druck,",Space,Str "hier",Space,Str "S.\160\&100-105."]]]] pandoc-2.9.2.1/test/docx/special_punctuation.docx000066400000000000000000000203301363630463000217750ustar00rootroot00000000000000PKMDG ]$[Content_Types].xmlN0E|E-Jܲ@5*Q>u&_g*h̽WL; 8t˜}_6-n&󽇘P9[!GΣ\1s,U*@z KKw="XL`*֘sK,yjj ﵒ̛*?:@Ǟɍ-?hM6=q|=XSAD7aHo](HĬ*%trmh$}pb$=_$vm0EZ$lFfس"Xh;^ #'I%)x?\w>ղ6kƮ5 ʞ~kdIwPKMDG? _rels/.relsJA >Ő{7*"^ЛH}0!#ZGr;R|̛ GcVw5R&=t0[b'T9֟!I O1}qѶ(?0u 7}|; |sGFJT2kT,qKG"\-\2a%h%zj A| x-e}ܵʺDh؄ʵ @\R R޸(.`ǥ%dzWxoW0N~}*< Իm4M1g%(A9,&kweoKh({'_TϢO` J=_}O}}PKMDGz0word/_rels/document.xml.relsӻN0N(邐NrrE)зE8E ,ٲ7o5Ot~4Z@P7u/z}my$)Lh= k0g}3>3uH:㔤0t==U[v@yɪ4|1A?>]۵ܮ-UH0 x2~&"$1n!d _XfG"N-錦JΎ k`?9._!mh6Wq g PKMDG4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PKMDG4hword/numbering.xmlŕn0 {(5|UU4M;tB"%vo?&.\0v%^/Rp`UR3ns ~էAWۉ` ~W&7]KPKMDGY.word/styles.xmlZ]s:}LI2~Cga P%_I䣿dF6|Ӵ=kh%y. a_yB}z2zsߞxs{&}T񾻐2>kX)`3#$-6_2a*[;iq" CvKo1g>Ea_u_80 ghJ,ƿԖѴQ)3$|B&@݈P .  9YaE|!s U[Nwj4DtnPL_^ 7AuTw9T5_ `8*F-I/J.vwj%f{B}:ᦨnTtJ%d}| 1v\u+x\^%Y}]LQ}qY) vjiXG=z@Úh^g> tCvq@ [@/B/XƝrVP^3^xJbʉ«ה(FI 3>Ix8e_aiZ w-#%K\훣&{-Ӗh.@+)ONۙ$biXX?оz^';T0 q~Dů[n!įj=LJ''N4nPM0*8iߵǭ,{|}6Trlۮ)k;e}uT+&TC(_1Ncߝt:1. ۽=l IC*м>;Na{Wj<\ޯ qԯk)azKvZ)$xl jv뎨/,D";{M= wM9}ó-gHqh2n0̳*\=8/WMc>a)r4U+,V'ie괎h߫A&lPcڅyS/LI/DxF?5O^$(ΐCHw=ioPdO(dH(gƴ16 %Cyr,RiM: Ge~- =D<_aj!xDc{/>?7qr-5%I^IIIfAerŻ̀CB0a{A(V&la9o lX܋44DU^Jǭz_b S}{i54P?֛!S/ﯿ=/PKMDGudocProps/core.xmlmMK@ 26 "< u2Ѯޱj+$twdUSժ X?鮼Ub`zR*O-^Eb HN*>QIG _2F4*O D$h6V]$Hg#E7\s+8s5_/h~/嫥IGRCg+ leIK; PKMDGdNFddocProps/app.xmlRN0+܉Kyr]!)-{X8enӆ 8fm1Vq5/ pkUo.˵l (piUv9%cIuT!i|e67Qp[.|~#ӠhX_Sݗπ~bVG gCEئ4jE#mξPq麓}Mq񂳡"*!K$9>M5mCodÆ%3>&.9W8B<.Jq׋&HWQ2$V>RĶ>(`:PoOKgikӃ8GV5~1y88k ~E&@=T̰'PKMDG= word/theme/theme1.xmlYMo6Wl+u:E֦ CDKl(Q $ qaݰ ð@ l_EeSۊ5GKҾ|8"1iܵ أ>u{4бl~pnEHt7` H6l{r4A|7,BY` I)ƚA[ Z&!0JEZs"?b }Oi 8?>}!$]K ȅ|ѵe`QCֈC7' ,Lg^]jhf?pJ =Oz,Î+jqYz6 MCk*UKNcլ%]U nIX[" / ,̖)*0JPl2ޣl(*PY&Г>$x̰7^s_K1Q)1/prO<8v ƁN{=!pۏ5H#?47أQA3RF!:e+8aJ2"o &`Uy`D^ޫ&0 w(%=̎]WXLF?= LY(Df(FB&]+NAbs`Fx,̬k8 mDhQbTPL 1 Eͫp*`dFDހ"4?c^%\ȤP0F-6|] ! e7 :tC%fqXv0Ak&˄>w0g\q%}3e^_ծ#٭[hײ;>;֨d,kc=r2=yN]%oɯX+7Z jOLȾtͥPN"'$s}`zCH=R\vABIXK՜[&%g5FURk]z]uN\Qs_b*Z37{ ?~.a)*>2k>:SvX7cm//.WGkMLDcH<(qDKsrn% b0W*qBmތa/fM&530G?c2e{PZΪ\2oX]2Y&_>$!˾W@WυjgN_ZoKZt Jn Ne"%!L2ikC,~ ^=e!ChW䞞"͙w|yS̓"2JZ E[cMkl ˇ9wRU,b[auXe_6knȋH?d##vDd KB'_XZKeSGN]Rx.(<]CSm//X[OUt|O*ߖW)fx"G.|S6&G#Hf5u;3 .jtkg]wkK}5p?ӳPKMDGҟVword/settings.xmlUMo0WD9/%|Z-PCBMwǙG!KN NjhO'f2[u 2fz꾿-[{w3 :Sw@ [Q%LLJ$aT1& Rt+3HKV'BҝԴ7l+`yz2m͆&_^pw+KWk+ n dM5yN3QF/!p E Sw߸]r "Ã6 25".@΀㋠VkE BNIay,pɸ{W<_4oC}t qFjGFٱ"9X$ 3BkoPo™89ԹPƦBA7o)KQJry\Lita` _1jv * 8źڽJit<gwG~1b/hp~vGC3iϟ 0*m128wyT$>BXj"w i%K'oY+𚜺dl1 wQ˚\l"6ߠmAgR!1#\ ɲӸFEa‰ bM\uOqCh].jkF\b[_c jlhamhh[r,Dr.sj԰ BxQm5ϙ6!d(FV/}PKMDGTΜword/webSettings.xml];0DrOl(M"L$loBAA9FS6/ ,Js-GJo$:+bG)1!VJ)-R4 @`M'a:h}T LqkwWa gsZ^;PKMDG ]$[Content_Types].xmlPKMDG? _rels/.relsPK-DGH"4word/document.xmlUTVux PKMDGz0word/_rels/document.xml.relsPKMDG4o}Gword/_rels/footnotes.xml.relsPKMDG4hword/numbering.xmlPKMDGY.word/styles.xmlPKMDG(*bsy word/footnotes.xmlPKMDGudocProps/core.xmlPKMDGdNFddocProps/app.xmlPKMDG= word/theme/theme1.xmlPKMDG{H: kword/fontTable.xmlPKMDGҟV6word/settings.xmlPKMDGTΜPword/webSettings.xmlPKpandoc-2.9.2.1/test/docx/special_punctuation.native000066400000000000000000000001761363630463000223340ustar00rootroot00000000000000[Para [Str "Soft",Space,Str "hyphen:",Space,Str "[\173]"] ,Para [Str "Non-breaking",Space,Str "hyphen:",Space,Str "[\8209]"]] pandoc-2.9.2.1/test/docx/table_one_row.docx000066400000000000000000000612431363630463000205530ustar00rootroot00000000000000PK!Q[Content_Types].xml (MO@&f]`pP<*v ݏ,_iI(ziN}fڝ`h5)&6Sfc|" dRdEor l:0Tɭ"Эp'䧘tn& q(=X!.,_WFL8W()u <"l.ސ%q^Np0KPl*3ӫ Ihb 3Y9wrFJB/ݜ;"+Z(e?ȁaU=7<I?H<4e:bG۞!АN mCǍs+_bǼ$40n#WͱH:#oh{JuLG΁ tDZXgF kPK!'  _rels/.rels (N0 HCn ]n0$J<ޞJQMbΟjwb)%rDbt;H uQjmH"eR&R\l|162,dHS67 }?G[hQjib&lQclu:tifc5=z ϒvLΐF$3<)4/͡cTZ LֲPK!hu word/_rels/document.xml.rels (N0H;qR T@8:^~TZ%K+|kW/ӐA;iԶx$hN;t/ZD8;Ƃl(XB "M5h>$S)/))6:|7` 7 QS }'FG Y,Ķc sB` /YfS ٜ &_ao.8tÛqUcH<2loPK!jf word/document.xmlVo0~$JiTv6*8$ϲRl'J;VBbᄏs8;,ΊI{a7:S37G#41Ɂf;|pVE1в`\wtZMYATȨ ݥPXda`߄ʔxWjC+m{A0 cƑdALC.Kq <3F~YRDH Zysi|)G!}s%|r$ \V4#m(5d+RkI*}{pψ;"w:ڴS08"pݘ &ͦ*#P6+3_X&x`hG};5*bNA I92B;# NsyLs֩ރY'7!zRCkl=Ȥ^I / s6f:(n͡%o >ql;PK@|43fvDoM֚YdIu!ق~l3+pD-,D!4_&RY]u .]4g~'}xPiB$IO1Êk9IcLHY<;*v7'aE\h>=^,*8q;^*4?Wq{nԉogAߤ>8f2*<")QHxK |]Zz)ӁMSm@\&>!7;wP3[EBU`1OC5VD Xa?p S4[NS28;Y[꫙,T1|n;+/ʕj\\,E:! t4.T̡ e1 }; [z^pl@ok0e g@GGHPXNT,مde|*YdT\Y䀰+(T7$ow2缂#G֛ʥ?q NK-/M,WgxFV/FQⷶO&ecx\QLW@H!+{[|{!KAi `cm2iU|Y+ ި [[vxrNE3pmR =Y04,!&0+WC܃@oOS2'Sٮ05$ɤ]pm3Ft GɄ-!y"ӉV . `עv,O.%вKasSƭvMz`3{9+e@eՔLy7W_XtlPK !..docProps/thumbnail.jpegJFIFHHtExifMM*>F(iNHH8Photoshop 3.08BIM8BIM%ُ B~ICC_PROFILEappl mntrRGB XYZ   acspAPPLappl-appl descodscmxlcprt8wtptrXYZ0gXYZDbXYZXrTRClchad|,bTRClgTRCldescGeneric RGB ProfileGeneric RGB Profilemluc skSK(xhrHR(caES$ptBR&ukUA*frFU(Vaeobecn RGB profilGeneri ki RGB profilPerfil RGB genricPerfil RGB Genrico030;L=89 ?@>D09; RGBProfil gnrique RVBu( RGB r_icϏProfilo RGB genericoGenerisk RGB-profil| RGB \ |Obecn RGB profil RGB Allgemeines RGB-Profilltalnos RGB profilfn RGB cϏeNN, RGB 000000Profil RGB generic  RGBPerfil RGB genricoAlgemeen RGB-profielB#D%L RGB 1H'DGenel RGB ProfiliYleinen RGB-profiiliUniwersalny profil RGB1I89 ?@>D8;L RGBEDA *91JA RGB 'D9'EGeneric RGB ProfileGenerel RGB-beskrivelsetextCopyright 2007 Apple Inc., all rights reserved.XYZ RXYZ tM=XYZ Zus4XYZ (6curvsf32 B&l }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzCC2 ?( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( (g6'_<' kqk^\Adaiחw7ڥcgckswy{wommJ@3dO',H|y¿d(+!7|xg@<+M2? x Ǐvt¿d(+!7|xg@<+M2? x Ǐvt¿d(+!7|xg@RMҭ5z݅޻~Vk{{}ƳEĺn ]GPHu]ZK;543Qhŭ̱hdg`!1~ɿP<&@_~ɿP<&@_~ɿPmu{|Ei[ѵ+qoh:%?<7}-6z}>#@kvvjm;ǁҴxiӿm/O?l_ٓSR?~ٝB(;i eyʹ'ʃQV.l~w_ ~~W@6gGq1U]W5tl~w_ ~~W@6gGq1U]W5toMdjn4MSoj˦iWIRmI̩%ٳ6f<K>+i '.~ izcۇOx'U]__GAOOCºgF|SOhhoGykKm'i㯋MOYEk׊W׋j |MxFFχM.CBn: 'Rjj]\OGg׆&_!4jHR:\Vp,5ѿW5tl~w_ ~~W@6gGq1U]W5tl~w_ ~~W@6gGq1U]y7ߊ ->|G'쉣k|c:m+tGzei%O4wKmwmrn!y@> ( ( (.mmm嵼t1mss}UhCYOqo?ЛO'tD?ЛO'tD?ЛO'tD?ЛO'tD?ЛO'tD?ЛO'tD?ЛO'tD?ЛO'tD?ЛO'tD?ЛO'tD?ЛO'tDHxT`<= k2* ;% ;% ;% ;% ;% ;% ;% ;% ;% ;% ;%/ wB i8Ld=3ZO@Bo?@Bo?@Bo?@Bo?@Bo?@Bo?@Bo?@Bo?@Bo?@Bo?@Bo?64FRXm#LRvW4 K*.$ n;4 (?( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (PK!Wword/settings.xmlVn6}/0\Gr$e&Q U(i, $e Yc\GghC(I@4+//df,-aR@$j Xjf)*OSls"nSw)'WFrE,)vfy2"G9Fn3fCN6=aT0[LD?)n#X;΢ްȎiR (-0YH*0;COi:(4_d"7]|&:ERP UrUJ>r&eMelNU$mZؐRWV*T tlDƂiV %z[[R5 Ag ; 3ml Od/{FR-A`A8_\v8 V#[i X3(1NJ~>R%??@8ϟ@\p~8c|JF՚j-hq~Y:S{DHicx}I'2+?|>;n^y˳ k匇1%֔kQ^`x+: 00VJDԨ;xX&pG !Z*x4QEbOG*Z <"oDh?L o'" /= J_2|vd+ɂ5Q ݢHv,ZtGݝS/×i\=N!5oyˉ9&YMOoq4W#tdLE7覷2_#Ry=]ɓ`ɨ(M|Aws}} V"O}7uAN1eA]="VxM BJ8hZTPHG{'J8Yh^ zh<*;zYN8Mwh⬻ 8tBF*Iͤ\w{JVIԪUV4iDDZ%j oUνU F,tT7IĉWU|h"N,lsUԇ#tPߩsWY.Oxn+x"ij(CaŸi?2 pF!͑)`o7?mpM9) u٬uXp9|HsM&nB%n|P?~\U)Vt~qc~Ls _Xu޻2r{;@\`obDg>sׅ(uŖG(thlt_Iވ;A12ؤS<+bn3@6g<'A7GMò#3 7 篆\ I@a'7 (Tz&k4̩} dN!oP?Mꇼ @ɻ?&`pj @*7 ZqyP 7&&`N%T !oP?Mꇼ @7&u'vțée&ɛK8ܰqv&T'o ;;B5T;A,C,\) T?M&C~țԝA#o ɛĦT&ov7nNvM@agBXU y^:7 &xy!oPwn鏼 Xln0Z&o P @lnI޸G~;yP 7 &`T2TGꇼ @XɛK]IS?M&u'vțée&ɛuzϠ@7$ ;S,E3vHGCbCyP]$E=i(2|W_NiargY䰤^߼4!3{ad'.n+m0J |G 9XOcm " ֡`H@$^nlG2 33^^3u|xS|o,\Z7Ф6 !e6Qр_n"~zsEZuїڞfH?PK!>]͡ydocProps/core.xml (QO0MKGW0D65<Ib46m0 [x[*3z @ #^d}6oIk !#;@2ίF¦8xqƂ 0 $YzoSJQ, sJCr $IwɁJ2LJkE"q$!XTqIVZXWiYNGy2fG CSu M)>=ߢu"z[x#-\b<ӛX|*3|)oaI@$YI/2Uo^~zӎb ;' wvT^9דxv-MyMwd Kg=-V+ċ%&|Ua RV<2V2|֏r͝Kn/eW(3\tJqR [']T. m9#5N{t  \]@·cL)E{'=c~tǗ4C^'{Bwazᄽ-{[$8ag>|s);O:ʠa(辰R)#vj5Lk ~?Jwa+JHuղ{sY7 vu@aGVl$FVKhQUS9Nfd#8M#p'[VśG8_-*[3*Zr;x(5ś@aGM ,| 5:k&oh&oh&w?d<&`5*[,*>цw/ox(վXXV ,|  8Mh&oh&w?d<&`5*[,*[^o܌\ vMSTs;@5o ex@Ⱦ G7qěG O ,6XM7Ė 7ֆ/ox(Պ7PeG LM#{pq4x<G O ,6XM7Ė 7}΋N[zΠ<@ZD~kBG?2Xz J}wh- BFU(~S:FIG's44aJ=?y=Fv!iҍC017 vs`huuiLʃ/[ޮff@cnTl͡Gˋ hrFnLhl@{ɳdpl$_hZ|kͥF` *W~MW=͐PK!y&Cword/fontTable.xmlԔn0}{,JVR׈i tP@ӔMxuG(:@yQ8[A?J`ŌZ(a0Ey>N'XGԌX̢g0Js0 -]0IlOLA0FfJb>-eNr:1>C9Eg썦Kɔa ƭ8ĭfMP$\6Qg$95QXZAz(tn!S(A\P  ^95@N,؊'3]ckJΈbݨdtE#|S,C`i8Eo1x~I>m>:gϷ_uh\vNNFKJY:g#>b}8G8x_jpFy t|u8 Y|e%]Rv)JRR[ -y@^A.kwCS0ԇf^_o7?:ԻܝH=c=;Dpb;xJ*oؿ,UkGPK!7xdocProps/app.xml (RN0WYgQ[Uh-8 iG$pl4l>{c?y6\z\\ ziꊂօ~W??Ua } T+}sLQD"]=0KhIJvN,0*v3tHE|W,ֳ+fWcZG&{76jau#F=T\S̶ Ps3+딼3s&;и դj $8XCd.Y>c-=e|ݡ/ꃀ}JCj͔j'!|[jAR!+Orʋd?)aiϿ)kJFNgPK-!Q[Content_Types].xmlPK-!'  _rels/.relsPK-!hu word/_rels/document.xml.relsPK-!jf e word/document.xmlPK-!!Z! word/theme/theme1.xmlPK- !..docProps/thumbnail.jpegPK-!WHBword/settings.xmlPK-!ʳCFword/webSettings.xmlPK-!4@;Gword/stylesWithEffects.xmlPK-!>]͡yOdocProps/core.xmlPK-!TV=WRword/styles.xmlPK-!y&CZword/fontTable.xmlPK-!7x\docProps/app.xmlPK N?_pandoc-2.9.2.1/test/docx/table_one_row.native000066400000000000000000000002331363630463000210740ustar00rootroot00000000000000[Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "One"]] ,[Plain [Str "Row"]] ,[Plain [Str "Table"]]]]] pandoc-2.9.2.1/test/docx/table_variable_width.docx000066400000000000000000000234261363630463000220700ustar00rootroot00000000000000PKuHL _rels/.relsJ1{b{wUDdЛH}LHZP PV3#za uMh_hDbN FH^#rsZ1 yi0nYm+v׍D[- 'ZT8ʥ\De\K3e {gSK.: Kvc\SdYDiɢ=ϚE}PKrDPKuHLword/document.xml[[s8~_=SiȤLIly$B~jX0YH7Nfu9w|$Ç9<@)F9X$AE:r:;AL 8r90&$P!93Z YŔ02'1ɇd:E14HБq^]mJh("f,7K!\2T29MFĐ1aqs LXTe +C[KݸDdB c="|o .%\/CLɬhyd9?gX)Vt0 5R~2m<~I B "9\d!|冚A7qNǢ:!HHB)ZU"PJW7%'c`'| %]zB8'`(׻1O@5oi&4*n(2_ iP  +% ݒ;nKՈm'<Пga3 C!|Y`h"l`h%07@}`0ldqb0F0~P1M(Z "2H&|h>onx Fu/ncBژpԘpGyلFF0Adcn F"u_;xYLhM,^A=;؉ }vҹs1*6F<+ѱ9w*|{-7ͧf ܄ F2{2\ NR-zE@J z(⧢/\# .gtx5!OvL'e_jE.T#.u};y.b#85H9HaQzJr)2iCr\ot"/KAZlΞ}u`Kka Z *LG|IZN!&p<!1e^GRf:) ,@>rFEbd31Ep- R_!eYAGS ?lm?2 e˂$SNPinNPdErޣHvE +1+,P,Yݴ/[út7ܧsImgbxiQgr] R J׈gnCVSf [.LZYߛ bwY׋Wa ۸I(Ix~$P,:mm,,%+b|#12O:tS0v5t2$i ܭ>p;}]-}q%֜7 wͩ8|.R7NU) &Cj`[nٟ.EM2NajEV9Ѷ~$, }M1^G@*2&Dɽ\bvde-g=:7rg,IB%)_I}I,R#Co/Q=$2>~9xXfpKڷI21y>$X%iQ8#&AM(~"S~e4A)с+ K@wiHĒX&"٫iLOm!m<~}Vof\|w m8,a;:O;7{`C8厦ōy0Ԏ .2Q"Ί3+<|1^X{ʃ?.s|߇c}_|T1#y B|7m_rC"Јq#"t??Nm=lhztttttq_3&q&D#"1焈sJvN&}8pASD\ qA:'Mɚ/kfq֛2eƽXDӓOH:I3[1|uf:gt[uվ U P 8es[ jo8Z5!9Z-Y*R$uUV;t2]D-0xrP=042dD,NF_z{At`I2 "Ujx׹dI@CKx~ HƉ3BRyYՐ%B6 {XbVz$'3sz,uWJ5\eB `TӃ_p;[Quv4>YoKUwKuO2YC,d#XɆP(N){lx6<3&" 00* J#<Xx*0%@Fg?я@~btSLIs$DgӍ9)YQ)N霛Iʎ@g+8#e+h %[Xv:P!=V v*PSB :P!T**w THq THA*D"Ё @t:N )@tB:P-@@. ). )@tB:P!T@*0w THA*D"Ё qG**w THq THA*D"Ё @tB*PSB :P!TdB{\B{@@tB:P!T@*D;*"Ё mYn7d?iqsZިoΡvG@QGf14_ಝmiNڕC?89j ΩL\j IW-sҖ}`%]Tj:mib/ݼ}5:6_;Jd96[*/+t]-~>^m^ɖ8S5n\tJwޯU#R yd`vqw'UAŠNNjL_>x.-fywpoDZl_R LF&4ugikvܭqGxo-ݲlS yk9$/!C Gdn՗>-S~(Y5w 5NyFy?9s2 {}+3i6{ͦ7 Spnv%8mഏa7j*Tvӑ밙wlloҮMme} !W+d_Zi4FEy !&}I?Rl^nSp+g+W5.Iwu4.7ؼMܒDߌF[IቯY^@Md{Uc'}d,0)$*n: $5 dB jmSµQ5}-(]$dHhw+t(e'+lv{LF)8PKvdmPKuHLword/settings.xmln0 {*w( qA4CBゥ$M"԰?P m֫EI%7ڒLlz7i%*&Rqs5NXا h%Ya6L%t4;PKuHLdocProps/custom.xmlMo >EýBUkm5;ė;Ԓ@ݚe}tz4ٔK? ?9Q183~nvW4Ty*!2j&p9PX43P56P#4XSn6v%tykd.H;6%9qڰ<_YfY_!op)BOb .qmOrݓdUwjrHPCƚt~Ai۔\0 -uހEZŌ*PS?ɕ8gsYOrh\8} L؃vJxwyjv~gm6jئDZ?z-S20\ e݇&5pyrgZBտ؉f<`M{F~OIƗԕ5lDuI.ڦUf=n#9&sPKuyPKuHL[Content_Types].xml?O0~+J2 v@beFƾ\!@Œ{|gm]m b,2:뗕x\b6]̸c%VDFJ+p IS۴Qy9_I-?ZW6=5$#MkLj-/Ե[Dk)swurr i 8_<fB=7p ,Q5Rp'lr!=>ΌɰeSp+qT8}PKݵ0ANPKuHLrD _rels/.relsPKuHL*s6!word/document.xmlPKuHLW {vword/theme/theme1.xmlPKuHLdC  word/styles.xmlPKuHLvdmword/_rels/document.xml.relsPKuHLrT]Yword/settings.xmlPKuHL>;word/fontTable.xmlPKuHL=%@docProps/custom.xmlPKuHL( docProps/app.xmlPKuHLuy!docProps/core.xmlPKuHLݵ0AN"[Content_Types].xmlPK @$pandoc-2.9.2.1/test/docx/table_variable_width.native000066400000000000000000000004401363630463000224100ustar00rootroot00000000000000[Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0,0.0,0.0] [[] ,[] ,[Plain [Str "h3"]] ,[Plain [Str "h4"]] ,[Plain [Str "h5"]]] [[[Plain [Str "c11"]] ,[] ,[] ,[] ,[]] ,[[] ,[Plain [Str "c22"]] ,[Plain [Str "c23"]] ,[] ,[]]]] pandoc-2.9.2.1/test/docx/table_with_list_cell.docx000066400000000000000000000451241363630463000221100ustar00rootroot00000000000000PK@![Content_Types].xmlOO0H"_W 5E3iIf9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L customXml/PK:LcustomXml/_rels/PK@!t?9z(customXml/_rels/item1.xml.relsϱ0 hoPK)t;JGILcXji߾+t(QE]1hjP >N~j.G{J D60o,W0H9X)ctl'_uݓ|P=;6w#w Ev d*yB1ߪ kPK@!customXml/item1.xmlA !@Aw0hB`eDভw/gt=xg#b;SMIx"t`QM;ȹ`JvMxL T]&~F/[IwNePK@!jUcustomXml/itemProps1.xmlj0Dػ"r['XŐkiWEm%I.-!^cO̲m_vF:DbCi|o5<LJ^&E0yCE_p-fNJZH,2aJiդhV,H0W.g֌vUU[/lγc mܿPK:L docProps/PK@!c})odocProps/app.xmlRN0WYg)j5J#{Xul4էyoh&=&Ҙ<2Ӥ#62֍B/2qs1[g f4, ߿ZAwY6oɱĎ[4.p,C5)ZIq uj kix 8C_;8& "Ji#UG! %+ ?Ie6d|nL+|ޞo9IPK@! jtldocProps/core.xmlQO0MKG7c15<Ib46mlz_]M"v`Qj5! "(T y_;cJ\+ fW)7 ^6` Iä́3 P0xBRۂ95o 0ni Skr(@9 'ց-↺,;Ŏޣ,F}1?G fŁd.,G.1 Bџmkk7p( c[i[t.%ΑjGDa7fmc𸘑l0h$86ol͐5PK:Lz=&docProps/thumbnail.jpegYgPZQP)"K/[HR@-+ Hk ^!Rٝcwgg{̙syy9m7}W\h*K@;\Bb\zWukׯ5>W Wo\7^#uk0v⤮A?D8Mx{MX}PQpJE_&37-GW.PJ:A"k{#3s˼;Bn)cȬ?uۢ.Bo/h^FgߣO _@uZ״hͲ/=E 4NDlMkYSn% h5`z0Уh͍\nl%W>PzC |N]%N=G{ Z< M@5`p`"-E k[*7n֡L-cqlQ`it:E}mmcم(2گO%S'oIiÖ.x-o: -1M|LiwqR^,72\%*_D=Xc1'{O(p[~0F>yއw\.>)Y2WBYf69` EK(1@/A&2S)|qs{+*bgOD  E~5  ox~O1 axVSԭȦfkFíS7m.Mڏ㻆%cWan!o9V:>C0\aik+fm![s%Z~Fu7)R( 66҆dGw-k~Nl|e:2r$NE61D\S|0xiid ȷI<ƭ:g]'fF|bLiVҟM )iR[pm79Wح-cqirLr7t\-CFCI\UJ\L ys巔nȤ09r*%BԻLذ}q̟6 3Szy" 2ᐊh\e$mm-Ϸr)$qu)hecOaZ͗8@A rщ|,xSsexx-?ly3jcHz}P멓$a@Umbʂ1٠1RmK8޲e\SyEW00.8ձD_@{m}Ac%2$:9ʥ]ո#۽=tHmVq~'\X.go͏Co3WALUۿ Lj9nw V&}`#3uُ&HYYdWb+N4ϢP[ھÄW..:p&^r`k\H`X{s[tRxqBJ64`\)|j~8s+#-~khrrP])[DBf ?*MZh\ &0_nrF ,Wr >uKJxH)AT_=0+ g(+L*K2q\oOՅLȾnf_q7/آ1q(6@œ ;N}"w#r_Dl= H}u*lovז[X<>!tO6Hyq} /`) P68MVsh`kۅF3 F֛Yܗ?TW4R>ғ}=؊t27X =LyRiHHث ?:ՠc_95 jr 's*(v[kto'N{7Z#!yq]#QgmERRo~2~5qqG/Lpey#-8 ̈JS cW\?g*2bdx&6f7U1pz\tSj¹,Q>+k28}xGy*>ρjmp-ڻȣOX3ZMuS|W.8 >_b[1f-~cf 2*B?«Ru=TGqyo$Y|Mk%gKd]֘Y1$m>ʚ6Ty Ct{,7w7Mk]YnFuk:Bɖ&d>dU˒"Wj"/m o@r+>lHA9<*¢ K~l'*gJG\AHnT"{TZ9GOߘ&ԝTe@Xh];?ǂ.j%2βD iD({:Ҫ(5D3Tnmq2E„J|p>ifp?Z ga* UE` ]T]R\Qaq+XHQ\<24ZpV,/%ı /~Csey%jP I϶$:di`y)[%C]0HL?B}RϺ@hkY쥮qW yyQU <:Ex)q/aoe2?f/ rK% 8kwg}Yx9 9L,z.=qGTVH>Fj?V8ZI2-sl_7Ln ;Cǒ~<gu<^FԚ4IC]Rj9i3y9MZe-1eݓJbwF.D$ İ-1//l3!zdi jXIt!gۻH&=:~xO],ctRꏤtvI-^TAC-o-n0;lEoΆ*+!n$+2z2ޚ`lV#,ɏ2EXe&jYH#5`~g#ʻ% *4g筟垎 |$O\L c,_W<kq^qk\l?!7(/ZowV͹jr@֫ܮ>.p/!JةĖ>Liz;|xyi #/ |C&/f\GZ6*콌hR$%D(h~ZRB[p3Ϛ^m}YW#>P{R1ű"1HbW)QDW z>?5جȋCJQ\Q&Dfz`q\}Hpy}0,{جd]mȤCVMLXdZE(H_c摽y|lI&xd"æSo/3Ev˘ȝ[[@#]hkՎF"̩5?>qpi}mj!|e[nLVhy)ֹ R _F>{?**\-,[6C5Λ)Ik55WI246(wx ̪t:- B^hV٩;7sE>_x:EHKY11Ѭ8èViQs+ml+tuCttU*K۲6ipO_]shReL)QBXuyS(]9]LN5Me2w%FV:q۽ DJ^KXr`+u 8/^ YT@^:!{JMq@x}{e=//^$QEb6 gMA@LD'lZDy_:pw(}*b]ƩnPPPA &!{KgC*|-d+t\rPd1A\P߭'S_3aPrcp$1jmGZ+0%EWG͓iS#WnMBDWm86kf(jcBr"g8 WIzQ7黒LuI972ّ ǝBn³AG VF }ѣ ڀOzs? *qX1`dmqiWUC-2NE6h$6 fDA3.ήPx~sڬ YaFn 5FEU!3+*,9Fڨ; /_8*ܭ8x*-C8ip}a@|b?Cs/XwoϢ?z/䒎-u#ߟA]@6ikXAI2Fq,0RFj$+ dNXָ/Uߞ},5l1ݪqCy'5s:~Ԇކ~* D=lcy*| <]w)xQyPy^h!Ȩ9)|%`-Ѣ&%!PP_ |'/@Y^Y9^jIHO֨b+{O䱺'Cg,?ւ˻" 7{*IS hqs %J:9:Ec7Jɏ4%udIjyF\[>`A|rhx(ht8&yqfM؟IvA UJI_'qTmUGۅDJSnHAXCCVK ̌WDGxy룗So)bmVG]KoRmg]ӴWo9*k=pdBҝ9m+0%:6+ss&$O&-Gތ5MDoi5 m9 N*-i3ڵo_Dc,0մD+hpɮ q` YQ.eЩ?#s&1PڞҺG6$=Օ(Y$m'Yw=tW/ )]NPK:Lword/PK:L word/_rels/PK@!3word/_rels/document.xml.relsAO0&w)-fl5U1zWh-i{2FC"1E5m F I,Ɣ#;ɐdLh[5QԦL!A6fMhmOAoPK@!IX1Dword/document.xmlWmo6>ADPp^ #ڏMa$Hʎ{|,gi5=܉xZhK˳ڱKj挱O0P~=YG<0 OM`V)CԏY砙?-@#*dooIنGݖZoC҇x\'d[%" d8h#&b?UMFp'++c,"۵+X e`F\ Q;k^ӝ?/5~FO,h\M-@VtvZ-g,r@ _y@]g7Q)N\ cDW3hkJ# Ī5N `VC36n~ bSN``yvޕ'0_PK@!Ej+Q word/fontTable.xmlTn0 HYIl#r1ХC3MS6QHڮWgܡC tȚ_艒HS z:>޽ӏ2 fXUH+GB|pBuThOЂ[t}dIr6v$KĹMsc^8|L˜:1p0U4fM%W πQ+;]ak3ʍfZYf%BmhHE$35 D W2CdWc fn%\0(*<5oTi h }DQX 5M .J-(:]plgԈ\'+aj8Ag7! r܊IDůծ<%%<gX %ۅV^AtQD[1:n#{S#)`7GaxY$[+ *p(D9(}O'7ȞBhח߮/W?]}jOWSnrW݃cO"~UW˟jɖO3-?}I]5GjaPK@!Nsword/numbering.xmlXn0w@v !tZ:mӴvڵ '2n2{=^av ih($˸Jr|ϱ?q%%s6s`u z?> TM! 뫗/. L(Z mp(K>S!6p섋o!R [Bim(FaӋ3.(TSuGg3 O0jef9b<3 d|:#U\04=[ L.pPhzq%\ Dwܦ` J֙Gt@1yD3ˤ|I;?4|-cfq-`9NHWc:ҺH%`>Ŵu;Z uaOm zXY1QZ"rPXM~4kĬ}Hq=oBfE"O$ 8ABe:Nc(^9}Y 9,3ӘVMSY@6OqS;w.R>< Dƣ$> ȭc(}݌ <_Pz%*{EXwT-7m4m,eQuHɴ0^%YtuH:^%u"URXkʢ4fkaJ$kuJDƫ%:AL3,_3i/$X4R26(Pxk iZCNH=OPFdMV!SisJرZgVX :0*R=C=`n'=JR)%v yQ+`6whjݘf/oM 5#MҵQX(9\r6t\|.j1 P3ha,ܙn{]~yiG.ch.n拻ܥt=)r5]g}~yh.ㆩm_:L)EpI@K-Z[nVo?=rq Mm;Af'!Ţ? .i@.?zRd>X/yx\`ί`6~x%%1ʀ-SUQMWOC~ڏجf~0Kѽ1fw7[Db]F[F24bHk)M/0Aڛ-uI$?bؒ]B#{MIdfsuݞW[+NӴwPK@!]"w>word/styles.xml՛n8wt;in5MQԒt:ر{'^}LSK1 {aix, !""l>1}εyJS: ccNGӘDr!UJ}TNJUvBe J$N=tԁ!oeu`yKOk@΢z}uZ^ulؠaw+i/}Ϸa,Ɲa> ; @ǟp;%@~ǥܿMPM ( x@8c@o G pr x(h `7#x@8 7#޿QpxX8 7#" x(h `7#x@8 7#xCoG >- 7&xX8 7#x@8 w;O,pooA4oG po_!x `7#6y =x>o~o9olI \Ё[N,{ `'\i6O5Ci_.kIx;; nlCYvOTWIEÛhYOnw">uVԒXQ4,j:79HE>!+[We;ogs)~pIS'XmI1q#" # /Y|"ek57M” siLUqktLg3tT!Y$֧Li@,~=ߙ/ʙ$S=4er0N)#jH?aOPV: ȝx9vKGY#(c.k?3Ԧ=wN6ȷsVK,}i; 9shWdņg0:V7j hV$)g!~PK@!,tAword/stylesWithEffects.xml՛Yo8 ='6i6zuLKMD"$'%uRdi}Er7q=Qc{"d|>?҄$jKDgp5Z%_hZ-,hLԛR(1olZ N;HP '],`b?yf|H(73!cͣ LNτh6e/`i/%>NqX `GEcqmh 3+,cu^K,Zd3nz3ouvtn~%8fFqE~c bm aYDV d㍹yk_Vhk-ɂ$fv΅$DdFܳ+g)e}w2̟?[ 7q/13o.bD vu^f᫖[XDc/J.~YD(aVDL.a+[k)k7Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,a.word/styles.xmlPK@!,tAq5word/stylesWithEffects.xmlPK:L A<word/theme/PK@!!Z,<word/theme/theme1.xmlPK@!ʳC)Cword/webSettings.xmlPKWDpandoc-2.9.2.1/test/docx/table_with_list_cell.native000066400000000000000000000006671363630463000224440ustar00rootroot00000000000000[Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str "Cell",Space,Str "with",Space,Str "text"]] ,[Plain [Str "Cell",Space,Str "with",Space,Str "text"]]] [[[BulletList [[Para [Str "Cell",Space,Str "with"]] ,[Para [Str "A"]] ,[Para [Str "Bullet",Space,Str "list"]]]] ,[OrderedList (1,Decimal,Period) [[Para [Str "Cell",Space,Str "with"]] ,[Para [Str "A"]] ,[Para [Str "Numbered",Space,Str "list."]]]]]]] pandoc-2.9.2.1/test/docx/tables.docx000066400000000000000000000760071363630463000172120ustar00rootroot00000000000000PK@!Qr[Content_Types].xmlIO0HWj#TkOCȞnIn)y}[ML!DlY%`Sڎs>|NYQX%*g!g ׽ bBjsV"Σ,9* F 1B~1VKg,X{n 10,y\Q9WZ 2|.@Vmѥ+MO,7>=Gk yd C |ɉ!Qvx(vIT٦bkXH<Ĵf.1( Foa~ܡUH;͡H#ˡV4$AwټoPK:L_rels/PK@!' _rels/.relsJ1Ͷ4ۋ0&dEԅeq>If9AR6x˪A^c}౽[\Ȍ<)8RMs~~ , g=s2*D !0u2~䪮d̀f[ ml !"2ؖ]D#V`/Q2i˿ j z!31-Oi4y H󕞳Yø߻'vxZlPK:L docProps/PK@!~dudocProps/app.xmlRn0 ?gn_WAACSX'9m %AbߗEoՉ3Ñyb8MSWL.z ccC}R_o6DJ$B9sTF,it1sb9C<X惢g`^E/Em4rߞihiLiolB}F^bOEoA*F*<=גFÔɬ8?˅̈́q`L3ad(E(:WU܇ԭb@$x.ƶ7R^iwlRP(푲'փ mY)'z,zT[4jt3+ȥȼ%9=!-I+Gn^ܱL} 80&Sև@"7rQ[Oð@FaHY7ce|s"ME\,],ʒp$ kd&nHÏZ|PK:LxpJ]docProps/thumbnail.jpegeT\і.Z.;$8ZxaS@Ap M\ @ {%^Οzw7ǜkεo.q_UQEPr/?W}=~<@BG#GG5GMF3bz>LFR2~? 2?__+"ѠDGk@(>E8Nhi,2V53?E\!:ݙ,MnwtXLISy6viEi+!RzF8:'Mj;uvUmv\[#G[#R D&yV1l8B)8cPDG68mZmņV#{+ybE`@G#w&YΩE? %%yͪ} Aӫ>w۱+@B_7 <6vޓ1ΦlbV~x11{G 8XW*6NR݃ iY0O%N~,Jka0fc )~,I0(iE tDvSuPHGogZz1'_< Nߛ9uM)Az*(Dt+Jfa)3)UaSTqaMuBy+N@TB e?,bDn)R/J K6u,L6"'kKgVM;nSݪ-Rv*J435%dvaz*Q\r+t%WH3LMݯ:GNf안fe^oOt@ Ty B_Rwgm}bυ6c {EP b탌96/Pi\ ȷlP*ւ16"=. Ύ᯷bί.6b=gD33y,vi˞ø[܍$γjAjLpxٕSGDyz'|[,z@g\k*xy7tVNiHA[(7ٵGlVp*!d;B#ug^z\& ^bV=9ٕ46z֦.^0f])fvpȣ1^rf:%QK3PRfŊ^`LgDD7Aln3Xq7Vo4C(Ut S|% j=,&cw"ʂx;C)lbm æNy!;^3|[`{wENglB1x̸jcd>O,Q^W;d ,z݂'(A8̴EL}tnf~؄궵3?9zpi,R[hkD>G&!`(] D8PguأP*ѣ6j7c[hJg,pM~]ʞ㆖Yւ LaiI<F;Y4BdScV?!6wǘ7α'^R͑%t<ri?"%H&/lW4dW`~}]+K5]YgF*K"ezI۳V4> +O)_2/vl.HˌlvlJTQ'#_oA_#Yoh/tq6s;4gP2#~Ipmf7Ax5sˑ nkmNϴ´j ܰ4m/Niq.IT9TLWL,dz?>K[̋8r# vqt{x9ojDFoGꋠׁ/7[.N2gͤ`>c%'nnl+c Y~GڏZ)ұ eKMD*znr2/ֵpVQ,@?( Si {~| e\`\YXV~&q\6m,@ of̮E6muS^w!vwUdtSQ-G!_3=~'NXMM֊\^"zW=$QE\pxݸ{vù~!>;Ӝ桦\®X!R]wW2 ʅ=68"WR'ׄ@{wcw)nfX5CFڌ#ܟԷbCj92k  14ί挩cX+AAgig/%YEB~qq'W[5 T jm]G¬FNu^)2 W30*Ew:,Pߴ7,F:jlJrypEEN6!ɛA%uaYI7WXFAI7<V])M7zuz{kN+b۾ARҠy:3 n;Lo\ry'WYĹJKRV:]+g9 f5_4JK_$G;wNnnp:QуZvG5rME77^ҚǟNܷmgʝ|m5>9q1?؍,~}@@歉FU9 ԥ(n;m9)$ n@ Suh+yQ/:1˓1TxvOy[gګΖx~ӗq=g$x;hhho˕om ILȠIjxx~s80=2ȢGm x6z.L t.ȸY:}|6;I<6ZT{*bے L(:fB"]l=$ڢ~U8I2MU |𰤴T;ID}P/9;xiyfS<=3q; U"؜w~6<4Ɇen['X/gZiB+[2c**J141k٨,g9^ 9 [cOQs4t9 ])*\Y_7H<]أRzD>&w[-մ71cl߼M|Is4hV5- i:'Kml>2c\yBޝƌ|UF/>|o'v 9I|}&n;h -x@@B?p=I.l{!c~ag&\nOR>ñre7H\a0D\U7hX[Zax3%J\49N~W(~#u%E|; %j{70`˧0IDyh*}SnQ g%CS7Gȣߨ2ї狗?O"vٹ 1>շ2y*Mn#YWgX L֨ڈ_Ě3 ?|9  tXeӜj$G[>|fs5zfe[4*m'RY(9Wul&çQwcPqTU& UηM}Lp5ԙv o?5?Mn޳3_Ο̼Jf3hIdx%02-Wԥfk$I>xV릾ick]A&_s,={%;Ihty Z6֗ݦ5,8TN9Xee%4k%;'țN2ZʽRdbM[gFeJrH-EkuA10fԟ>.m.tƱ[ !Kԯ_( 2rYtNF?GV_"+!3*-hQo'D{z(|a\؞AbM2Tɬ 7xut߁5DPwbDpf!*4&|X!~ti1k]2'Bi$`-xh}}SҖ[|jV8ep%$bC-ct۱C5cd4y#GR/o! >Z\'1;EA6p[;_oJ7bgD\`=⏶\g~w uR ٵr ARU w|%~ uҟw'$x|&'V7$.;5O_+fp)m7I:']s+{Əo5qU՟RweTZ{bP,")R̾yuVTV# q~[lkr=贐2!^y~ӶbX1,X\ F]br?2]=@siޖ U@;l(mIyznIS1(B;W)Q 0b#W!ڬ(4RSh.7=݋Tz<nj1ԕZJ]aɫΧ[ DuGU#,>9: MHc=֯LNX;CҍҡGGr"Zm7Y=P:q^ݦ$yNxcS͢\Μ9o)zۋ +NԳƓ |6E3}RoV 9Yy9m21ȍ~Owg?IAj{X LP[hBY`ecRY J9W?[ϰ, ТXqxǺ{FMtuSTbm+`bGx1} t"J}E jφJz-Q cWۊ5a| uE. )n?SQq.ʾ [rl3öHohvO’1{'}P_ĺU/$ۓZ¸, :~B~Dz`${Æ8!TJ)~uSݙ2 ȿn1S]M|%]n8~N.hpS؆Z8*s@sOD˂`P&A8;3%[9="hZvz56>9LURVն~[ 4Ǩ1^6A1}(M1䥠؄ϷA#K,YbhR{9F"mљC)Ӏq4@(>}OĆwA} ZaA b+'f0ɡbym<6.F &K. mpY E"/w5R27VIB7SW~Y1rDQ~H2"9E_>PRr# #ǞvZqC2c<|-aЕX qvj=Rȸ2_rbQѴ>֨ԫ-&%`bB詡ߓވq2(PwQܻS{,) 'KSd*zس&-?ݺBd||\.\نjLfrY]܆Xw^WEo=ˏFĿv#V4[S q‹e獘KE|uVUfo0I*/1 m Fi9M\쭱"MK4e?u9Le~v`J] i89ZJ<4:x9IT,<.a `mC%h3}T'ֻAzq(ryV¥4gUח $<\k]oS,^~ٞfe|I':w¡jpei }>mΑjP,# hւ)U:2󌴚YѝUOU" F3zM(p}K^t!NZ\}:|)v*wJ)F% HQl gR*HpqYxeR5_]K$i3 Q1sn!5/"QfA\B 5OrOleT̮GWτvSQ$NV4vmX>>#$%l%xR` VW3z+|p}ZvEiS=ƧK%ue℅FH[+RJwzrDVwyBڋ9lN"+\l1D+UCª  Q ]iqw0Qv0j7M@= ®M< dEZX m)6.tc~PHdkSP U } UwffWS'u|\ Y\!ЈIVnB&kV?I ,RegGn1B&TDPEtKp5ssv:_Oa| `D L'gmcWxPjzf1)*Lܿ' q m4.u7T˪sJ{Et3zb>(m:̷)ȗxRIR}$8 6;7!.CS0hkDAJij.W{Rħ|^p kY}^~覨qB3V%Ey\YĀɫzRXR@?gU%u-i+\/]fFX>#SCSWUot0|OjXU5*ƀVu|7=0!IVY_eֆ<_s') ,)\.Ez=VNMVnK| :=+J%J}ZXC쮞d_gRgv DH '5\HYrk:IR⥟6sM%Qny`8[O dNfl`s)gs0ukCL4ߩ:ɜ$jPgfꤨa`@6P%d kQX= oT48:Z.i=)_T#5&NIIoEij'?f-ci¹U-ȘHd(7{].7U4jM, _Ъ5[[FPa8"+Y`"#œ*qW߭df}Yh\me.TE{m"a܋)~ G4Qba5E&Pj5E&'"UuAlD] TC;)j F.]1fM툂&93*Hw̷1D#k'*f? GT[.Kz2t$ѕylʔiX`7 Mofy3_Knz}p|#RپoHenN\)oTQlU"E;tnjMmA,-A=8B ~[ }Ga4B7f~*ժF"ls3]SGQLOoqyNf`E<[ҫ3/|s]4HŔиNd*|5)ZnBϫzogrchL*h$MӍkKEb$S=T"VUrh6۫Yp bzs,I2YCc}< 6Y",b"[0D?H/aǤ(,Q@bP £$%$POÖM٪cI83l\=[XY!n+odj`oJ3\^!ǬNnK?cr&2W&ep XN&s&,8Iҏ/i':%Ll4v:K^hͣN&(2J_S?Ue^Djl!3Gf _Hy(bbq+_qYJ-?|f23WM|E5hr̈MQ#A"3N J|7-i,\[~ؤ߁C"?Qw-9&1 EWOcLZ`ek 'IޙJ7{|E{|O9z|.%>5eM! EMˡuNο[0A .Vmk>)SW,xdlX nȫgcMݺ3ܣ_C<5UO[T*8~AXg͚<#נ &Q9c:hM%dc#>}[uR)qLxBTeL_3-v.oG Ū@Šrp 90[z`N]ebbtAO5C|@^"s)gHJCY"_Oi?5`g„C8gMFA+4pݡ4f;8iຈa/ZCpeCN3Ke8>Z! Rv/|C$UHӦm9nob77*taeG^c@}df¶5ئ\n/؁iN+Ӑ];}!8;eQT¸}w gۦ'$qHm&-DӰ7d?b,ol^QT=sϰ%ۆ9kK;/ʼV/ɘ1;+=fUqD\W,ܳ­6 mKZMü b"tX{62F4uUO;"BlBNlBظ.yE!-F\hm RؘSPĞ"cgĄKqVN#`5®nl14%Fu2Im *Rv!y"@6H:m!%eҀĭ=^ { ݺ ud Di#̆x &Rik +ɵ#n[Uj~>FmoaT%h1{|u2RUܞѾ{!Maĸ^V .:E>ȕ 'E oxK%!pK?-mz zNaYYi\R^m$3$LXu+VXUnΈ*!h$c4v(pd r`[`'iP]?|A;>/ e@ Vߛqwp)JTM[Nji(62nfAqyMj\&-.p~+ -h[5{flP/#꫺w\ u@]8fܯr$>.^~[ `FۭA˦kS'Z3hHA޲u(2 |϶嘷~N "=*lȰ~Q~_"IGԻEq4Ť  jR yT&n rNoX$*{ƫ6Mu {īfw!JFKyaa~_&-2R %Eg]$qu sHVg _32'WV9򛉪*:Lڡ*] QmG@9lOZ{#Gu6sf|®jBHm.ՠj!. OȿLZ`ȇJS|S5Km~/POfU)oQOuUzK2$("FdC0M-U<,JCRMgN_H^v:ZF fkmΌiTPXwofFJ 9oD1us'Wiȓw}[GF.'H烧UΒCG=*moc6Vr2L1ㅀUlvn`LJ9Y$L,L8|g 2*9'3 bobX)/h<[>~0ɳVHP-/+`WTO0[̘EyyXa 0f9DVnWz̰ &-e}ֆ&~ .$5eYv ugJ('Q@zn})hl(~' ]fUJ^}GЉ2.n ,elrgJ=D=e["OB/tO@d' S*2H,iC*xe:K"(_/PݟBo|7'k.NQ c5ATdOe]y^Ha~ߔD6uA*yW;q]AHK(Bh+-J"1iA "EAuU,P@BBUJH@:,q|:vfnyf?@t`c9"0w8uAxƽs#6WfeWeIMJ 'x2%)>nUvz=FqR`BW-ك qx'AL I^@F:3^ 4o#x.kW.2=DNL]$Etm|ܵ٢QKPwDLj&ؾ|)$d v=6sGJ͋+RJ,_BUY1|Рr?~VPW4oC卧ŭj[rt&dlnf/;ESVSuXkA&+hR> fr NA*E{m.cώ]t`h/5S<7ۊ\j.{%UWK$ӥ1~r:4GjTI+NU+Q-b HWhSTnlWSᒒlH;i{ 5p=D~& vKVcO&Ҍ27To^0ߘZ.>gwMxla{%`V7URG+犳;ҭtH6zߧ?57Xe#l53a ifõQ[żt2_ߔRIn4FZ|8AlJw=3\laa_ȷdvTcu[Pm9ze.zpMܹqTDfj H s;UUm{g5*7r.;-W< [,ȥmG(M} ME-,: Y;w.r S}ݨyy4шi54DKs'I6GDm;K<0O.Hxm,yN_l+u-]>FVӨC{SQtU p.[G6☗FDk`YǏs7'ˋ+h(⟜侮YpB;(Յ,Qsʭ/DwN}P~&P]P m6)T v#$/iOGo;NLT{=\,|zҖ=tzB>,7mr[DKYŷ@A"9G+?X.xɫP`x>mIP[fV(O@p@a%v-TjrpXbP*4}ǨWqtF$ Φݓcxp@kå-,%G%dBs4y _i}O(ĄKۚC],u~rXvql7}vSSޟU&<}$>?b"^L9$g`nZIے31#H'9 ](`/y!JE^5U3He))dʄFPdj @E$LZekc&+*Q {v2Є}UhtKI$}Ѵ \vsUؤ[!tKջaKڟR[+xy4%PNܨo- 9Cs} *//CJ`DKV]MxzsyܶOOZCfxθcx+yhg5[g g}g}PK:Lword/PK:L word/_rels/PK@!huword/_rels/document.xml.relsN0HCw@AN/+qvubۑ1BgV;YZ/I,< A+]mi}v I aK8: ,NOKmHb j k4"E'y#(J_VQ!eٜ~{ɪW9$d;['_ Z`BBsҘlbJw<P1)A0~1w{[mc GA]ّzw)J3?_WϚ;PAyo`{PK@!pfcl*word/document.xmlr63" !NkN$#cl39^+.Myl9:wXz :=OCC&Ȳ8vq|qTdf+Fhxƞ ?*MɉE"jIhз= [&N LJHÊ&ErÂ* {[]!Fq@{=,]U>R#382NVw"g[tCXys笇4w>;`X]^^*loٝyJZ$Q~7UMcSvOEOղ#dɦeѩ-;q > g٥mXrއ t!/а .5GC7cG=܂QlX!?oz5콂j z̓C02VDBln䃾aYmR0IKXD*S vtbqTl;hzNx@M|:<1E>]WSBuw{eK>k~pDKH'ѽV]ӄpXP}d.פL* s_4:]*~Dl{PXj;Bt!S\GE6T9fFqyiz\sa-+kLR9S}bL.[?ʩG/f=QYjukho!\ ;AmWZ,-jIV\)>p8g 8'[*`N,l ֔c5\A;JKU^ ^V5ѫPK@!BMword/fontTable.xmlSn0 (YI#rХC>MSQ$eǫw>Bѡm d+3%; % <]\^K̘\Ep5MQvCuDMЊh,|q1Z9yep쇡vtsm$q4P*O%q|w0 54眲7V)χ `!lsm&єY o擄-MIN:wxLs#O#gR@҆hDhHD 'P-6#"E8 >]|Fz#-m7ΉbAItb%˧P-g(EIHnU>F9f}qу8_H'zNx9P<ػԻ&Qܺ#co[adH~YxvV*S?^0dqdV~ EO\>jI8f*dV2!Fa]ŊᦋZ(s,̀LY0IZO=U/EC䈪Te=u׳Oɢn{VkyAnf9FC+CW1p ٺws+UoͨF57jz Xn6 ؑy;, XaqR[#,=B=t faTѶ#$ n5[aCCi &%uӪ/}ft3o%<4~PK@!NoJword/styles.xmln8wt9n&@ڦuڽ%:F$C~I`Y9)mF4G* SyTHƓ?x=n PA7@ -4xp 7@!xpoB8) oZ8 oB8û]-xp O7@4x 7@!xp 7@"xh oG?xT B7@ !xp 7@!wxoB`FoO juߛ6+QAQ0oaEǽg{{ bӈqp۶%-Uv{kDž[{LMߢ'LgWaqJxQ5SBꡖώX-(dfk«s9VoJtN6U+OjSyĒ<9>]ujNv`=]=OJ%T;nS:゚ oR(w6sk 9ܚꄜ)^ nZ_ ckjQϾҘǰL4Ub1YZ4>mh~53>6F͈%e7{)aǜK1w3"珃^X{DeK H$fg5,`Gŧ^ᇲ9>Faޘnk:-B1Ji$Yۮhrlpˤ` ~Eav~QX@\X=)'r)~dtЈuP`)耕Ũ5nd9"> MCqGeNjS@ );S*JܑLzY߼j-mU)$R&Z<&BVܞ~e2)#$+\ js8q*zPE,GC|(M1RY5/hYyTXu?9e?M,sԂ[N 6v78084CCC!&_|ŢEiHE-%Z-jjQ xE-pn~s PP2wnC %sG5-T\훹:\ ``F!JNd8wj|d$h:lXgoC9 ̜;$$A> aXo\8r @Ȇ ކChoJ8(ÆlFv)T ]84?_ >cvJslzucR6[`y8< X:O$Gg|:g/ yjX v2\fZہ~ÏN好fc #[|]PѾ1~_;0}mz!f _"R؁h5Nb8v2[%;-쬛ubaX[7\WF@dҁȎxt 2v{ #"; #ހ[ ` k &.; #"; #";oo>) ` k &.; #"; #"; 2v{ #"; #އ?E,bM\eGDv@dGDv@dGDNbO\v@dGDv{SbA,eM\v@dGDv@dGDv@d.$eGDv@Y9;}KaMg0${؁l9`~C4$Tyam;e\]{[]R"l(Oqаnxzrɮ:e׌U?3.Z֦Ώ3_4dmAxu/GM/&b$6$~sv5y.z7ԏ%/!1ǹ({7t!1f[oȡܐS7,W7T4wWr{ypy?PTKEZQ_7KJY?kr !_`%6}X -"CsolY_A:ݤ1kO`JaC:VI,4xBnpJ[Ӥig"7O4jg[w+:<"b)gNO 40C%ߚZUʅYYE7΃FMlf%Y2FthS*xtx&w֥9AY8\6w-a'\8v2&2|efc7s6֧P~W: /8=0BO~QS_WZ9 y)z/fn![ؘ inG_1Weь0.dpvgn\ƳgqWQDmҌ_×׮J)g%fBYcZzTĺpG[/%Ȇ'm4C,AM`~^c쏫X*#Vݘ eQԅ뫤*#ٿ,: e/6U/PK:L word/theme/PK@!!Z,word/theme/theme1.xmlYKo6w toeVuرۭM$niP@I|úama[إ4:lЯ)ΣM6IIÈ}"$qr.,Db4ABBRnjǤmMeB\m+T*Ym2yBbx6" "}ozbGqloF#h֧{ b%]/SdXIDv@-9TbX*xжjDz/%SKh5~) щ`X:͒=翈zݞSRg췜Δʇ5֬5jqW+ \j+͍zߜE;J+ ՕfBFt22%d5#4f([ˮ>Vr- .V4FjŌM5''RYHz&m}`_>{?=уG6P]qS}z݋_Rgto>C>&9@;< PbbSlā1Ni +̰!UL{wC1VFÅѦ, 80 cIvw.qLM,! 8 1Q(}1ݥ- .Hu05d@LtFIAw7[wP3M_EBU`fbIXōWXȨ1UhRrw"åHq&[bRQ:sط$"{& ̹{GQg:#)6WF%xB9K}uھMМ 铱0z&q+:q;ϻqC|Q'jfQ/ͷ.>}& }s~ߜ漬Ͽ%Ϻ36S2&ܐY`߇l$a! Hp UndY$Jwv?`sN/jrCllY uAi5.0'R㚥J5oB JpVhḦ=g0  Sbb5{&%ɵ'ۋ UZIi Qdi0 kqUsV95wj0M_3n3`h&ӢrC-ВшxjlZS+wH ջopM Gd٦|g&yͯ5}m+X}=Nkfҝg~M/hTxlv<>*yxU_8[q)Z<;jn,q^ٮK!l(>7z3fL`EfbdrGL[:wQp9N. $lLXgHI\?Jgbfs|Ebʛ]fӺz]Vx6%9Tw]Aڳ]PK@!ʳCword/webSettings.xmlQK0wP)k _PYzm\eu r\@!P2/TRP^eL茧:Ms}-$?9%pVcJS5pNi$)ôInK'}SwK{g!e^G"RM͗h3ndYAq)oAl$>ryX^UzE@4WюRk,avw餶ثv(SLqWUDX˿Qw4S^ 0F"м\gsldYdLuH݂c9>(hVDۈ5{A7t PK!N _rels/.rels (JA a}7 "Hw"w̤ھ P^O֛;<aYՠ؛`GkxmPY[g Gΰino/<<1ⳆA$>"f3\ȾTI SWY ig@X6_]7~ fˉao.b*lIrj),l0%b 6iD_, |uZ^t٢yǯ;!Y,}{C/h>PK!|;9"word/_rels/document.xml.rels (MO0&һV]ٲ5٫-Sht ʢ.MfIZUq"=loO.Y$m.+gAT!,MQH(XI\qZbaG;_K /x#Փ,/d}?eh 7)mg;kk4Df2/wBmw4A^#࣡FkPܚHxȽAt~9' ozWnMtVWkJlNWz^>\PK!Seword/document.xmlUn0ݏ4y **T3S*I"lC|\;TUiW~sϹǏQ[ 9#aD&Sȸ,frpMchȎr;3H7I 4q)Uqd BshҐ2c0/*ԐNbsf 'vѴh=!7ڦ'*D޵C*Ҕ\e| %{"j49KwhbdM:8FEiq=P81s9,.ވ{ Qkhrcyhoޡ4s]T14~($hTȨMw"kUPdO3EzI;Mej1]H]n%Hk0w2j) 7a .:XbԲ Jd0]@K֏JҜYSyɀ oyǜavRmg{?ivu]ȬGIymoK5~>g(y}[P8?ih^h7LZqՒь~59=m*w)t!~v;yY^L*H98PK!0C)word/theme/theme1.xmlYOo6w toc'vuر-MniP@I}úama[إ4:lЯGRX^6؊>$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3N)cbJ uV4(Tn 7_?m-ٛ{UBwznʜ"Z xJZp; {/<P;,)''KQk5qpN8KGbe Sd̛\17 pa>SR! 3K4'+rzQ TTIIvt]Kc⫲K#v5+|D~O@%\w_nN[L9KqgVhn R!y+Un;*&/HrT >>\ t=.Tġ S; Z~!P9giCڧ!# B,;X=ۻ,I2UWV9$lk=Aj;{AP79|s*Y;̠[MCۿhf]o{oY=1kyVV5E8Vk+֜\80X4D)!!?*|fv u"xA@T_q64)kڬuV7 t '%;i9s9x,ڎ-45xd8?ǘd/Y|t &LILJ`& -Gt/PK!Fwword/settings.xmlVn8}_ 蹎$I !JѦnx[ o )+d--dj.gnC_,96T*-N4ʎJnoX":¤*=I]b, Xf&AaJVZUfi9 *wRsbS'nPVrE,m(-<`dZĂVK#wֹr-L?CHQa}L0{LD KG8p"T(u#9e 8 rBLzlubg ݋ܟ {´ohcF,x[~ԤaHXȨoRd,tDyXՖX@Qgˀ XpdV`GfoIS[@07<@{IkA׊v%ՒEN)Tc'Y``!G9X*XUN\w>؇Iv27x/X3'2x܃W E`ض_OfèR$:2֍ag/)mCoN߬סl֬g4Fy}yNn` þ"є$[P_l*\XSMT.Aa8al O{^vԨlKt?NE)ަ,w;ABQՄG&=QvK,K/I%㊅Z|8Ǎ/ϝd{btX=&8O3NW\Ʋ"C#o{gg+57k<PK!Nword/webSettings.xmlJ1;,ٕ"t R"ivvdLjOoڪ ^z$@_Щf^ S/ٍ$0O:Qb gH(AZڦ[n)B(#1TJ4~ř%&.U]_oQh;;l]-e!2Y)?yh\e?eӼ,OUڛxB*ƗsP}br>aM|˔XKdPK!ua=word/stylesWithEffects.xmlmS8}CH4P7m60Zm@>$[1vl߮v_A7yI*dp'#O"zXwp4cS{H瀧ҋm-MImxPxL:;d8d+2;DzRNx|ƣeՙ;V=Z݅˒26ёV"_+1`82D|ey& 6YXt'mH'|p5 &B& kńKųh#|G)wϿ ]Xde\B<+SIA:*P.vޘ5~ol8S]wt`LET @%z:p;l.ýЌڨT%>LUuGɪ*(( HxF~{G49cZUtgD@Q@+ZsxZwK,*ùp\fT;Ξ!7,1 ;q>%v=W1v0odĹO&ߤ4^xdl U텝LzL_D砳gl7"˩AF΍\ChLzP `=mi.t*M+:>Ӹ;d85'+d蕇9y[."Q"1'\z憩Sr.v:Ja(zc!'&{SBDX3k@d;0h{|2ЂP{гRn"sIeaiE=~GG аVHGDSp:Ipו\i% ^ד!3{N\,WU\BoBPqG V|E}x߶@(o,nDu >^׎dnw{(ދ3~g$xx9զp9K!l+fMCvIČ)W/e2n5|;=fj%L}@\{CQ^'QxR7o-I9M%iκvw?oPK!eJ}docProps/core.xml (QO M -K%&h|#p %V胏sA.IR捐*fߢy :C*³m X/E@; (A6V1J[a'gi <3c3 )4_cAܟzeTMw|Gضm!?맗~XnWP Nxr-fίîquv {ٽSIr<-C~!(hgmY2Ke2T04ȩsFkb5gW6\ເ wŅoƘWiWi;ly[=ZtG9+ .4ؓO{?O<%OٱxQGFMTcaZEbb*]5{e_g-G\&sI.=m2"\cxXcU@hX)dZ}SD:dxqdز\V1L;2/\x%`IX\hMf$PѩղnXMjǨu *Woh&ohxCo VśW8_KPU 68+~3:=v&Pj7ŽNxX 'jRqěG qěG qě.ěbkCU&PM+mxRqt&Pj7ŽNMPE*PU7p`arsG #8M#p'[JM7ĖTo O7NƟ. ;@M&Pѩ js;@5V)`&8#oh&w?d<&PjjU \&!xf.pɍqOXkp8)θKD{$x-381_xqJ-@釾>PK!TG[word/fontTable.xmlܔn0}{,JVȁTEdhi"*I[;Pth.yY V렝j}.y|݈Y1m!:9LR5rw99',Dkf|+i l了&LQPWp U"#x1FSvR0if)8*i[~[<ӊ2c"Ჱ=#VFŶq {$R:zJY r/@$ NIgHeIC},O4!0,ĕN597*ddECUfCQ* Qd(>4Un@rҧ\ KPUV#qֹ&dAR{vM?}yps}=Z>!x58HK9߰VőM":4<<58W,w(AdKz ]`)jХocS4Y} JxGyRz^)pl7߷k[ ݸ!CS"`SdÿTL4ijnb5f#ȌPK!0MdocProps/app.xml (SMo0 0|ot>FŐba[ mϚL'dIؠٯe74i鑂Vxy]Ӿ5n/*r>b7p}HS-\Z{"=*88+0:gBb{qumzX`X'eӣ\0=pv27xMf;ECF+bO7Ov}Q;E DWF#`YQ mS[,nڲS6!WnP)r@jJ~٬u}P(GlZ.ې(Ɛޜe%6l 28/䨁m7]b BN3}PȇO CxxNC4y8OlyGyڽpnGq;lO5'B=oT.98PK-! $[Content_Types].xmlPK-!N _rels/.relsPK-!|;9"word/_rels/document.xml.relsPK-!SeB word/document.xmlPK-!0C) word/theme/theme1.xmlPK-!Fwword/settings.xmlPK-!Nword/webSettings.xmlPK-!ua=word/stylesWithEffects.xmlPK-!eJ}docProps/core.xmlPK-!Oz Gp:M"word/styles.xmlPK-!TG[)word/fontTable.xmlPK-!0ML,docProps/app.xmlPK X/pandoc-2.9.2.1/test/docx/tabs.native000066400000000000000000000002261363630463000172100ustar00rootroot00000000000000[Para [Str "Some",Space,Str "text",Space,Str "separated",Space,Str "by",Space,Str "a",Space,Str "tab."] ,Para [Str "Tab-indented",Space,Str "text."]] pandoc-2.9.2.1/test/docx/track_changes_deletion.docx000066400000000000000000000320461363630463000224120ustar00rootroot00000000000000PK! $[Content_Types].xml (MO@&Wz0ƔM.C~dgJKZ2 3J<*kROz,#m,eEDi l Fˋt#6"w9:0t[E[?N1~piMPir1/C4^C,_R&+Hd\CBwPV*h"|x0gV5iy$4V"eˤ9BA )jT(y>vw餶ثv(SLqWUDX˿Qw4S^ 0F"м\gsldYdLuH݂c9>(hVDۈ5{A7t PK!N _rels/.rels (JA a}7 "Hw"w̤ھ P^O֛;<aYՠ؛`GkxmPY[g Gΰino/<<1ⳆA$>"f3\ȾTI SWY ig@X6_]7~ fˉao.b*lIrj),l0%b 6iD_, |uZ^t٢yǯ;!Y,}{C/h>PK!|;9"word/_rels/document.xml.rels (MO0&һV]ٲ5٫-Sht ʢ.MfIZUq"=loO.Y$m.+gAT!,MQH(XI\qZbaG;_K /x#Փ,/d}?eh 7)mg;kk4Df2/wBmw4A^#࣡FkPܚHxȽAt~9' ozWnMtVWkJlNWz^>\PK!"ļiword/document.xmlUMo0!hJQ.aj^2$Hl6߱-UUZ )=7puTRLh)^.$0R/WuJ@!IjŦV%ahX5Ê3-*Yi8FSZ20bK ic4@`LZ3:+5@tE-_bGFNF%4 !> }╺MuW 5A SpQ4XtoVeWQ|T5{#WHl|pw%(zKLsx5;&墇5rz:^{,w1O`M;fN8U@%JdTH2a=UP'8l_SEtKs覴n,^\|ڥ汐/8NI8 ;['ukɵj IxuA+$N~l&V}HlF.nl!q~)(Rj]<&r%8?: q~̡|cJg"'?MP x!uʻwW'tbeKi0@fgFci*`Ab6Ujc߅/%[p=nB4 <JZ+w n4lgRڃ|cg[VKi-ٝ\ YM.l$zolo!fPK!0C)word/theme/theme1.xmlYOo6w toc'vuر-MniP@I}úama[إ4:lЯGRX^6؊>$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3N)cbJ uV4(Tn 7_?m-ٛ{UBwznʜ"Z xJZp; {/<P;,)''KQk5qpN8KGbe Sd̛\17 pa>SR! 3K4'+rzQ TTIIvt]Kc⫲K#v5+|D~O@%\w_nN[L9KqgVhn R!y+Un;*&/HrT >>\ t=.Tġ S; Z~!P9giCڧ!# B,;X=ۻ,I2UWV9$lk=Aj;{AP79|s*Y;̠[MCۿhf]o{oY=1kyVV5E8Vk+֜\80X4D)!!?*|fv u"xA@T_q64)kڬuV7 t '%;i9s9x,ڎ-45xd8?ǘd/Y|t &LILJ`& -Gt/PK!word/settings.xmlVn8}_ 蹎$IB"Mı o )+f -djf\>{w/xcUZiUɮJޮo:")JB_v6C3 iKV9]fmw =R$*t ׋V Mkg-4ݨ*,G Z:)vZ&yI܈^t!bfcJv&7,q79?W^n(,re%y6kq@raMzG,μ+y8͙[i)ްnjYIeHÑTCJϑQߔPj0- iX֎8@ygˁ Ȭ*qw_`n9A_^>HE ,;ddz wo[ͲIv2N'CËdpᶘ^U蟓JbhQ%lVe[&qe}ͨ ~ /O=|a=:oIJΠ{W.CIe y9)% :xPK!Nword/webSettings.xmlJ1;,ٕ"t R"ivvdLjOoڪ ^z$@_Щf^ S/ٍ$0O:Qb gH(AZڦ[n)B(#1TJ4~ř%&.U]_oQh;;l]-e!2Y)?yh\e?eӼ,OUڛxB*ƗsP}br>aM|˔XKdPK!3/ju@word/stylesWithEffects.xml[ms8~3'4fvҤ/i}sKV c0'!}Vvo= W̝]GFZ̽x뤙"P2u߽7giQz{3wehzk0Djz*Q%x2ƿDy2MBD"usqa]eX+"KUr7 Er@z,2~ ǧ5s7It+t`KΌBG"Y׬T&QDҵox40q]fCI ϚLe"[5q{6ci߭W'6crhV &#+e[S\ȇ>g6U'I, ƧyeRZ"zgWwJ"''H-PRyr%6A:',uD PH }#V"B_;h f~lMr`eXt' !mx+Ww/ ^\Ă۫W 0}Zc\'Fc_ʿ2Mr;#2t.S(OAX3%vWh QA6V3PA ȉ^9+Z t-*rYq_ī"0xŴp;5S >n YE+jAӹ#+j!ѹ+j\Qo犚;[WxEǸľJeMzR]^jkDkG֪md9,2H/'y(}:u_x-R]@=F~?NPLlƒvOUs#G*gnNtgn9p0%aӛw째.$6e/robkS 7W P-:.gWL —}Lߔ'o c|4ˊCJ);w/T&(r 4IlHbt=Q-2P0(lt[NބaA#V?eI|b,mϚ|ܰPHgu8r%thh GE;>P W @ |5ҿ82شllf@0P$9uvPnPީ2[7 XMVChQS9FfȞ Caț4 yw7pMbs2yp 竾*7 ߌRڿ@M@a{ X8 ,Kuaț4 y!o0M @ɻd8&`rj @lz@e&7%o_NM@a{BJb;eɛS8caps  Caț4 yw7pMbs2y`Mbs^dM@a;Nw*jyvP˒7 7ypK8 C!o0MO Ñ7 SMbӃ*7 {s䗓7:yPީ%oA,Kuațٛ @8@E7 C!oP XlnZ&o,P @lnl(z! [ d'QsȕLPv XX@lwh /_gSjD8t|p>: ݛ7=Tn$8zf1r- tkWmWź&bSU>Qo@ąu(o XtD@$^nl[2 53sGULooSW Bsԥ!l3*ZywqIQB ir1V26O8jOCYhh.d_7o I]9m7$]׆Ptn;b"_ z-}]s4b$2@kϏO>Nkj\m'ab" ;3FU(t`Wgy~99s綉ӌo-~vxۤ,Yyٺ⾽48f6]dG?PK!]_J}docProps/core.xml (QO M -!mٓKLq]G,ۿ[>^^ȗGUGN6@$IQ7B@oU|"n4-ۛ /1`v7cKCqX|(m 㟬+L0pHDg#|ٺ;Lr^蕉SI2as)[AG'Gc۶I;coϯݮ82r 7][`͜_]$[{xZ^hCCQK.iBey.nCtNh~twubvM>)PK!=word/styles.xmlěs8oԱLN6GZ's2ȱ.|VX``7й#iWŎۇ8~4S:'@*7^$N�?HfH8<_FY^LR2"۬E*RhrxxfR\@&IGNZg[kk: שdڋJqPTgzɌFt888Mt*,+\Mg2J \$ϼSJ]ÒXgI|#EeJo~(y| d ?2't!?l[ v"ndrp3/f#2M ;Ez0?3F8Ҍ;+Z0#01F#ep27fi& l.+31 wd8G4\^J3+ÄƹGl&YPM&ço@o2@C &rt";QO *6ERVRM[A8Mǫ<QMoZLGll\6p%dMZuMgZtDgZt9GͿ=jljj6#i иƻMzZvX76Tޟ ;Q/m/&{SU$Q(SZ>X2ܾet[?UWr;a' ޼'nt'!.ۥ!X=g!/ѱqQ}wu82.S@·o|LMEϴOM\ϴ_Ҽi{M{\G:]n蔇){;m MDb;|s)O:ʠa)sa;"{cƌ& V?eآ]Pg1n2@va ޡmt=i<*2K2hG ;J+;%>_dB!>y\NC'G-.aؑyVf⥀&a6B=o(l&N%I` 7 죲r&Λe{ h&oh&w7d8&4,>@e&`ծhJě@a;. ;MM`#HXÈ74x@È74x@È7_!É7e&@e&6o\ MSTJ`Ta9&N0, nΤoŒoh&oxwCo NSMMaxfMTo흊:#xX/śG h&h&oxwCo NSMMaxMTo흊:&XÈ7[ | E7 #ބ #P '[śb˃śbk9g ES A@=g=@ND.2:+}:'p;C!Z? ݓ7P=T.$S8Pޞ,7֠@Ȕv%@X%w AEYl|A,*>;Q XTD wN@J2,N?Cvh;7'[ƌ'[GW,ReȖ$B :3|?QY`AZ͏FrۻC̀S :nq>K38I6BPղ_XkC(PWyl;mw"N$5X{?k!m#(۶=P)kBgG" 1cwl(?;3Zt,/dW9>)ϧ"NӶљ`AbdU֪ 9U,M3l.ݑPK!>@ word/fontTable.xmlܔN0'VT vuZlGK w`0I6 (VKyLdm<&q9ѧVy9#,FW̠Ãoa5f(hRk2A̶ʙDiA,|s_yoQ%rbg^!=TMTTpʎ]&my,E%MsR+6Q+ZQf Yd \62A&$8ʨne#ID(Ad{`.[yRtۦq@FW_CeO SlsB CnvQxDY#|DS6/1Z^Z^^,t1:L]0 9.L]ڽ=+nqS3V1/#PK!docProps/app.xml (Sn0 ?7r(FŐba[mϚLdIT׏WvO4HK}Pl* 466C,BܔG v:Qa( ѭ ^ eZ{)fVIGeU]1|hl.ܰ:M+X Pcﴈ$9L@mе/؉Mo6v :9)o_߁%@Q>{MIH/\m`/-]BF4ҝP$PF닠~P/ڔJH)v!z^7xyY*H 9iĹpM?.sIj&'nm93"W۴(ПTNHOiGyڽpGn{Τ1lN5'B=No/WqNxPK-! $[Content_Types].xmlPK-!N _rels/.relsPK-!|;9"word/_rels/document.xml.relsPK-!"ļiB word/document.xmlPK-!0C)= word/theme/theme1.xmlPK-!word/settings.xmlPK-!Nword/webSettings.xmlPK-!3/ju@word/stylesWithEffects.xmlPK-!]_J} docProps/core.xmlPK-!=1#word/styles.xmlPK-!>@ D+word/fontTable.xmlPK-!-docProps/app.xmlPK 1pandoc-2.9.2.1/test/docx/track_changes_deletion_accept.native000066400000000000000000000001671363630463000242610ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "text",Space,Str "with",Space,Str "a",Space,Str "deletion."]] pandoc-2.9.2.1/test/docx/track_changes_deletion_all.native000066400000000000000000000003751363630463000235730ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "text",Space,Str "with",Space,Str "a",Span ("",["deletion"],[("author","eng-dept"),("date","2014-06-25T10:42:00Z")]) [Str "n",Space,Str "excessively",Space,Str "modified"],Space,Str "deletion."]] pandoc-2.9.2.1/test/docx/track_changes_deletion_reject.native000066400000000000000000000002451363630463000242730ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "text",Space,Str "with",Space,Str "an",Space,Str "excessively",Space,Str "modified",Space,Str "deletion."]] pandoc-2.9.2.1/test/docx/track_changes_insertion.docx000066400000000000000000000312341363630463000226170ustar00rootroot00000000000000PK! $[Content_Types].xml (MO@&Wz0ƔM.C~dgJKZ2 3J<*kROz,#m,eEDi l Fˋt#6"w9:0t[E[?N1~piMPir1/C4^C,_R&+Hd\CBwPV*h"|x0gV5iy$4V"eˤ9BA )jT(y>vw餶ثv(SLqWUDX˿Qw4S^ 0F"м\gsldYdLuH݂c9>(hVDۈ5{A7t PK!N _rels/.rels (JA a}7 "Hw"w̤ھ P^O֛;<aYՠ؛`GkxmPY[g Gΰino/<<1ⳆA$>"f3\ȾTI SWY ig@X6_]7~ fˉao.b*lIrj),l0%b 6iD_, |uZ^t٢yǯ;!Y,}{C/h>PK!|;9"word/_rels/document.xml.rels (MO0&һV]ٲ5٫-Sht ʢ.MfIZUq"=loO.Y$m.+gAT!,MQH(XI\qZbaG;_K /x#Փ,/d}?eh 7)mg;kk4Df2/wBmw4A^#࣡FkPܚHxȽAt~9' ozWnMtVWkJlNWz^>\PK!u-Tword/document.xmlUn0?ے1A,ȡ@^ $ )+wH-v R@Er͛7졮-F\xKŒ,H`,@%y䆜~9m XSsi&m[Za%ւi0):<-,Eqƍx?RCz +]SkzӨ +jZT>"v4``I-Ӟd$\ҎP?  v>by@R]Eˁ$u5ص*N)皶X bdS]u:1^K9Ә 9|L}qF||_ihHGϡ]͈.;EsS38w%U5K +dIN$YaXCF)6vI8Y\a紩ۉNMt%Hkо85p4 )52$47\o9Yݗ–󲝯"2phcKve1ɸn-Q{%h>QDidm `e|#NRظwg|$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3N)cbJ uV4(Tn 7_?m-ٛ{UBwznʜ"Z xJZp; {/<P;,)''KQk5qpN8KGbe Sd̛\17 pa>SR! 3K4'+rzQ TTIIvt]Kc⫲K#v5+|D~O@%\w_nN[L9KqgVhn R!y+Un;*&/HrT >>\ t=.Tġ S; Z~!P9giCڧ!# B,;X=ۻ,I2UWV9$lk=Aj;{AP79|s*Y;̠[MCۿhf]o{oY=1kyVV5E8Vk+֜\80X4D)!!?*|fv u"xA@T_q64)kڬuV7 t '%;i9s9x,ڎ-45xd8?ǘd/Y|t &LILJ`& -Gt/PK!EYǓword/settings.xmlVn8}_`AsIBƻ ⶨı o )+wHJQt`>3á XdGyle/YXG$%\Iş&BRUsNYfbʭ284]&UBƙ;d)EI` 1w0?m~/,u6 pj5c01mJNKqolnP:|^o~\|=X2R'QrSW 6DkhtEr\a(N閣ntuჴX j<̲IvaM|˔XKdPK!ua=word/stylesWithEffects.xmlmS8}CH4P7m60Zm@>$[1vl߮v_A7yI*dp'#O"zXwp4cS{H瀧ҋm-MImxPxL:;d8d+2;DzRNx|ƣeՙ;V=Z݅˒26ёV"_+1`82D|ey& 6YXt'mH'|p5 &B& kńKųh#|G)wϿ ]Xde\B<+SIA:*P.vޘ5~ol8S]wt`LET @%z:p;l.ýЌڨT%>LUuGɪ*(( HxF~{G49cZUtgD@Q@+ZsxZwK,*ùp\fT;Ξ!7,1 ;q>%v=W1v0odĹO&ߤ4^xdl U텝LzL_D砳gl7"˩AF΍\ChLzP `=mi.t*M+:>Ӹ;d85'+d蕇9y[."Q"1'\z憩Sr.v:Ja(zc!'&{SBDX3k@d;0h{|2ЂP{гRn"sIeaiE=~GG аVHGDSp:Ipו\i% ^ד!3{N\,WU\BoBPqG V|E}x߶@(o,nDu >^׎dnw{(ދ3~g$xx9զp9K!l+fMCvIČ)W/e2n5|;=fj%L}@\{CQ^'QxR7o-I9M%iκvw?oPK!yI}docProps/core.xml (QO M -ŐK%&h|#p %]9| Ϋf%`D# ](@NѪʅeq .(I$τ->0b,:Lwz5۶y#m܏*J*s)pCJ0U*O܇MN;M|࠺w*ieՏ64İl[y?lרH2l-#佋uq ?s%P/?LPK!Oz Gp:word/styles.xmlMs6Ȓ\D8NҸNdO IhH%bA4i&s}Ż zsGJ'KdP%ۥswˍHBD.{o^˫۳G2@M&y_T&pX̶XdQTV2_(VfNX&O2E;kk: L28rba(VAs1/ĚcGgDgbNO0rɍG&UV\WNLݞe2T04ȩsFkb5gW6\ເ wŅoƘWiWi;ly[=ZtG9+ .4ؓO{?O<%OٱxQGFMTcaZEbb*]5{e_g-G\&sI.=m2"\cxXcU@hX)dZ}SD:dxqdز\V1L;2/\x%`IX\hMf$PѩղnXMjǨu *Woh&ohxCo VśW8_KPU 68+~3:=v&Pj7ŽNxX 'jRqěG qěG qě.ěbkCU&PM+mxRqt&Pj7ŽNMPE*PU7p`arsG #8M#p'[JM7ĖTo O7NƟ. ;@M&Pѩ js;@5V)`&8#oh&w?d<&PjjU \&!xf.pɍqOXkp8)θKD{$x-381_xqJ-@釾>PK!TG[word/fontTable.xmlܔn0}{,JVȁTEdhi"*I[;Pth.yY V렝j}.y|݈Y1m!:9LR5rw99',Dkf|+i l了&LQPWp U"#x1FSvR0if)8*i[~[<ӊ2c"Ჱ=#VFŶq {$R:zJY r/@$ NIgHeIC},O4!0,ĕN597*ddECUfCQ* Qd(>4Un@rҧ\ KPUV#qֹ&dAR{vM?}yps}=Z>!x58HK9߰VőM":4<<58W,w(AdKz ]`)jХocS4Y} JxGyRz^)pl7߷k[ ݸ!CS"`SdÿTL4ijnb5f#ȌPK!14ǪdocProps/app.xml (Sn0 ?7JFŐba[ mϚL'dIؠ׏WvO4HKod[׋ټi[͗uHVYp]1;>`$.=QX {fv|qwwxs|~%е^a=v\^g}9,>XE(g9D@I(LOܫ̍|l1UT:"!X'Qu7ܾʿ(K٢~r qvQ)V7|m)Hap5X%zYW?Tlֺ>h#6-mHecro΍˲e6kfrsu ?.JQj!t>(w'L7yQ^=<'?o<-$S)/))6:|7` 7 QS }'FG Y,Ķc sB` /YfS ٜ &_ao.8tÛqUcH<2loPK!F word/document.xmlWn8}i!;ĹӨt2/#5#ې[S* ZbVֆYr6!-2l5|lK*r\qF;_mgkJISgcPNGfXi .R 3N\q.rC.2O0`iw(?ֱȡd;}D& .X!+8!X*;CflK:V+}&ɆVV؞=l#H9EYuQl!}IlSA/Ns @1ZtAGb1HN}%554ԃzǪ.#{ғd(2~HM^7+^ \ۢYb\E@qKW}iwY[X|l#?Li`UE+w/XM`cp|%^WJ[&i8s'&!oDX{^:X&77ˑkt@7?c"/ J CIZf0}%Ɏ #:`Fhx(A/meU=/p7lItoPߓ쨹Sӂ}ȧ*tZ[ biy/ȧoR?bFu~Yq]]SW܂7}cSۥ>ٛNv<&SGuY8܈2zq$ŀRRR N{O"š]x%=Ce?(n,2\-ިy7c?xzqbN$SO@t(BJY^~~$6Sp-XT~WAE<#dN,RYX sDKZ]WgpC#QxAUS2@Gy7In/m.-PK!!Z!word/theme/theme1.xmlYOoE#F{/'M:U i-q;N3' G$$DAč*iEP~wq4;{o?g\=J: BR6{4MGv{i5@R4ŒL nb\ V*[_X! cH \$X-Dބ-,j+ iR[! kF1URLjHl_9m&fa1,h5,l\YSsd+r]SncVu:v^3ੵ] 9][5\|EҌkVky-*5 1_46Y lWY {ym (f4ݟAv2l _j-OQ ev)~'}xPiB$IO1Êk9IcLHY<;*v7'aE\h>=^,*8q;^*4?Wq{nԉogAߤ>8f2*<")QHxK |]Zz)ӁMSm@\&>!7;wP3[EBU`1OC5VD Xa?p S4[NS28;Y[꫙,T1|n;+/ʕj\\,E:! t4.T̡ e1 }; [z^pl@ok0e g@GGHPXNT,مde|*YdT\Y䀰+(T7$ow2缂#G֛ʥ?q NK-/M,WgxFV/FQⷶO&ecx\QLW@H!+{[|{!KAi `cm2iU|Y+ ި [[vxrNE3pmR =Y04,!&0+WC܃@oOS2'Sٮ05$ɤ]pm3Ft GɄ-!y"ӉV . `עv,O.%вKasSƭvMz`3{9+e@eՔLy7W_XtlPK !,cL0L0docProps/thumbnail.jpegJFIFHHtExifMM*>F(iNHH8Photoshop 3.08BIM8BIM%ُ B~ICC_PROFILEappl mntrRGB XYZ   acspAPPLappl-appl descodscmxlcprt8wtptrXYZ0gXYZDbXYZXrTRClchad|,bTRClgTRCldescGeneric RGB ProfileGeneric RGB Profilemluc skSK(xhrHR(caES$ptBR&ukUA*frFU(Vaeobecn RGB profilGeneri ki RGB profilPerfil RGB genricPerfil RGB Genrico030;L=89 ?@>D09; RGBProfil gnrique RVBu( RGB r_icϏProfilo RGB genericoGenerisk RGB-profil| RGB \ |Obecn RGB profil RGB Allgemeines RGB-Profilltalnos RGB profilfn RGB cϏeNN, RGB 000000Profil RGB generic  RGBPerfil RGB genricoAlgemeen RGB-profielB#D%L RGB 1H'DGenel RGB ProfiliYleinen RGB-profiiliUniwersalny profil RGB1I89 ?@>D8;L RGBEDA *91JA RGB 'D9'EGeneric RGB ProfileGenerel RGB-beskrivelsetextCopyright 2007 Apple Inc., all rights reserved.XYZ RXYZ tM=XYZ Zus4XYZ (6curvsf32 B&l }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzCC2 ?( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( (?+?j٧GEjS!e( &Gk,tfNJ$hG੷ $ 3]ώڣV~ßlhVZ_u;&xK:' Z~鶠׏~ڗ?So:?/C0WYVֿM3ƠE_UMFM Ot= n-MzJUuOjZ}eWH-u,>xT='F}/H {4!|T߈߂> ׼?^<]qPhD$m,@GLuO<NuWU//@#_]u5/oO?j(?>&|R>;i?x X* Yk]GGpŨr$k+P7|x[ս߂w>0쥻h_Σ=F7q/Ws: տ<1| -%/]x?^5'ռ'xi|Eiłk1k^vmn R@5|cuUßG~5|O׈xV]I[O=61^%[u\9}wGsw(/擭˪xM ?ij𝯊j_|[eΡjHu_l,4/ |rj>m4xof#hu~Mlwጾ.4/Kn4xsM2B@1,⏌>OԼs|5o|G^e;7\xAgÍSJl5OǬϚ|CԴQ&<x^ tꋣ~Ar==P@P@P@P@P@P@P@P( (*ce4ie9KxC-]%&Xy܄mbY@+ K 2+$I{/xtR(/i2Ze&=<Z=Zd+s8"bx2Pm>aYm'[auV|BD?w ZuJ$VK/mC7$YaqJv4`_`l7vu o,VnNfɧiadfDR[]٥Q srKf=e!81t]ȎN@%Q[l Fش>Xd򭡏vy^mAEɋrzd2,1J%9}jup[[[G 6[m("(R5T 0P@* H  +M kAclg/P F98&4 ( ( ( ( ( ( (?( (>sxS_Ro5 ZWue~c};Cx~c|>/e5 8m;!QDPHcWH:W+Wòh>4u׈F_ߊWoj^ Zo=f{-*}?jq%W@$g C?n|XZPO#Iۏ?u/éRhj s]WW+xm.k:4/lqBOx+_%դ[~/xCG:߉|[D6:Eq]^-l]SM[=߲W'uox=Rj1jeόZU=>Þ | {&h/~ KtH[7)᧼k KH;-7_;=rgωnm:?|1g%{Ѧ> Dj^eyK09/(O쭨K[I:#j/ŭ7:cZƓj> g۽KS-\\QzmΥ}RDUѭDַ}}+O<1!34ZbO^jKkVҮ)u8'8,|L Ğ𦧬kom}~Yg]O|?][EdIbτn_^> ?|EOk<, |iW4X~ gOoDkIfZhKe=TP@P@P@P@P@P@P@P@( (V^/D5?Y! {yy, ZP!~_vO |2> /k-ϊPBts:lM(V?Ðih82\淩Y0^5/-U]Z<^[é&@1a^Y..[\]ܖ_xZKϊZw[F{wXYo L@.%~~į|WKx_еO kPǦ)-[hc$?xVu CWw`ruCUU}j-Z S]_mZfcuO~4uscu=I[B/4@7 ?g ;m6Mah?v|?x>1:_϶h7Z&aui3:tSKzӯ;U` ~|i'bo^(|Mj_۾U{:T0^ڧu&7þ$Ѭl,@9;`ԮΛω:nux3:Ƨc{/vL=ܵ׈_Էׇ=CO ( ( ( ( ( ( ( (?( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( ( PK!p word/settings.xmlV[S8~ߙ?o  CLMl$ZtII}$ B3)G~O bd'i2Qɚ<~HQ&̓\kQ Ѕ09ZF'D*(H͉ŧގ8яV+biI8MO΍'ybiLr h&nUAXqaRU&z KE'cE9zmm-~&=gg\NxvM8zn zb+4ROi)Rƌ U~RR4č&%]Q[phNS䦰V :o&7mT_`OݪϪaCfHYXbqT;6tHRX-Yԫ.q59X{1m48a]⍁9ƾб X\MoZÑ9F@/_ {` mxoF~#c p?#N<-rǂUk7ƭ`6Nj0Z7gG|1j!='%O{l<WCoi8̬ˇEܐ<,ȒRS2X;B+Q^7MaN[D Ԩ+xlMiwxϾ[Fh&* /˦7MYD+BԈ^;=mnm-%cy;k?Ӆ(0z6'nw6sf_5~܎;dA*W,jwS$juDϛDޤ!iϛEެF~x|ǧCa"ɘl'2VhEceКQCsxBxQ >{ﴙGWΓSVXPgri*[xكI(Qc PRcCDs/,Pܝ<=ud}XGo,C9 fě[} M87A'.'cBDE}Rjm]&m(>)UZ]wVf3,iK@+kH׉mR A#3}+\Mg:-~-~Ï*3g;7Y % @8 \x#E_dPm Fgi QQb$ hE>~Ljq@Z!%?<'A7Gmô#39- 7 篖mυf$vtjM`}5cTTQY'EÐ7h& C 2y`9J \SUɛvwFeC) (5ɛŽNyp 'jXXÐ7h& Caț4 yw7pMbs*y`M%n8HX (5ɛŽNP!P ˒7 p5 y, @Ð7h&'nț˩U&Uɛ憃ɛP (%oKo&ᒧq,  CațԟA#o,VɛĦ T%o7'o ;@M&S#TK,vjXXÐ77yp8a  C 2y`9J 6=X*yܠ}QIKPȀӖ Q ʕLaPv XZ@lIshO[ ,@GSD8=?2Ipl`0oQu\g?&07˵4%CXN^@P1֣79XOcm ?"nlBykr*.;Hxݽr+ٍdjwg(nQs}xS\bTP. !d:ހb,Y&0 ï¬VIPrv2XTy)^GM t*c~FI2-8kK*P=ݮ^j_B0fw<`[ n@4`kg<Ѧ,eQpwxO%y j'1Yw1;;њ00CwٛPK! 9!|docProps/core.xml (QO0MKGaYH`$1V*[ oo`zwf}Y;(xBՄ/f &HMMʵ X'ORr3!kLJ)5 ^|qmɜ7l4-1504wHEB%(4u`KBSP8%[ة(;aUUj،Y53S']yFGpצ͟W~5+Z=yV߲^]0tsK pZRwȓeKAޤT><.f$OxFwaJ@T7Kum7Ur[f4UN_N,Q#SS/v^i:\?[ȠIM l =_lTĹ&_z>tNzZ7`;ipz'kZ.4e/"p m9#TE:D"Bbi|P>A\u)VBMz|̏|tHuʮKd 複Sv[ "I$qʮt.|Q=2P0(Xlt[Aބa;@)2ؤCXf,m5;yhAw;uCO8rßKRf GE;F5>P @ c{"sd`iv1L;23Z@}P͹Pv}ŽNپIoFsʜ17@M`0M @Ð7?yw G,67XN-7p[2y`.QPJțP (47 p2e5 y!o0M @Ð7?yw G,67XN-7ML g7:yPѩ}I%`TM-dȱ09F C!o0M @ɻd8&`rj @lz@e&YbM@aNvt*jyP˒7 7ypK8 C!o0MO Ñ7 SMbӃ*7 ϒ7o'o ;@u&S!TK,v*XXÐ77yp 8a  C 2y`9L 6=X2yܠ}QICPȀӆ QsH`"Jt XX@lHwhg BP*tJӖIog3S;)uxfB8Ӥ@i #;fDz+y+za=q)_; :,?I T~AU[~$P32h-:MV9D gJ]BȖM\X}_33/٭[C;`ERe'xA5yNCYQќ'.Z$ޘs$aJ @tnb ޷f}  tATg,Ӆ{/ qؠeL"zK&Z2/KB/'x$8;_iD.(xVѦ,M^pf çmy@b.I*gV]sg*㟥C! ]u?PK!aYword/fontTable.xmlԕn0HC'FN0(BBPyqZ؎lYݝ3H\6v+ujʡL|7}}zv!RgɴJF`0IU'$ᔽR4L*,G%͂gu+q+3(3ri' N2*HƭWVI4|;JY /@SωiNHecKF8x@-hl7rBOWJrj=.ZyIsz9 f#C'T+^R :Ň553ʧ=|@. V֕盯W8ZǨVzTvs6]eyO/X wRm*3=+U%j*)jexj)6R+mC@ʸ @yhb㗀ʷz4??` w3q14gfsܬBiVI"T{ÍǓr KsoPK!jiWMydocProps/app.xml (RN0W?D΢h-z(8Ibؖ= ;i[}~~lz}Bvv o},hWW'1QfGPv.*fFA:]#ܫuM4#VMs)Xgig_Q<$54&LdolB}F[wSǘ Ps3sP+)yg%Y}L%v\ݢqcIzH42Q7~0[ Ϙ7 AO{_w z'`DŽrx3v#pHh&/ī$NOyK%Г=1e0NidMɻ,FPK-!Q[Content_Types].xmlPK-!'  _rels/.relsPK-!hu word/_rels/document.xml.relsPK-!F e word/document.xmlPK-!!Z!D word/theme/theme1.xmlPK- !,cL0L0docProps/thumbnail.jpegPK-!p Eword/settings.xmlPK-!ʳC1Iword/webSettings.xmlPK-!jtS@hJword/stylesWithEffects.xmlPK-! 9!|RdocProps/core.xmlPK-!PL=Uword/styles.xmlPK-!aY]word/fontTable.xmlPK-!jiWMy`docProps/app.xmlPK Nbpandoc-2.9.2.1/test/docx/track_changes_move_accept.native000066400000000000000000000004201363630463000234140ustar00rootroot00000000000000[Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "text."] ,Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "text",Space,Str "to",Space,Str "be",Space,Str "moved."] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "more",Space,Str "text."]] pandoc-2.9.2.1/test/docx/track_changes_move_all.native000066400000000000000000000010651363630463000227330ustar00rootroot00000000000000[Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "text."] ,Para [Span ("",["insertion"],[("author","Jesse Rosenthal"),("date","2016-04-16T08:20:00Z")]) [Str "Here",Space,Str "is",Space,Str "the",Space,Str "text",Space,Str "to",Space,Str "be",Space,Str "moved."]] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "more",Space,Str "text."] ,Para [Span ("",["deletion"],[("author","Jesse Rosenthal"),("date","2016-04-16T08:20:00Z")]) [Str "Here",Space,Str "is",Space,Str "the",Space,Str "text",Space,Str "to",Space,Str "be",Space,Str "moved."]]] pandoc-2.9.2.1/test/docx/track_changes_move_reject.native000066400000000000000000000004201363630463000234310ustar00rootroot00000000000000[Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "text."] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "more",Space,Str "text."] ,Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "text",Space,Str "to",Space,Str "be",Space,Str "moved."]] pandoc-2.9.2.1/test/docx/trailing_spaces_in_formatting.docx000066400000000000000000000311641363630463000240220ustar00rootroot00000000000000PK! $[Content_Types].xml (MO@&Wz0ƔM.C~dgJKZ2 3J<*kROz,#m,eEDi l Fˋt#6"w9:0t[E[?N1~piMPir1/C4^C,_R&+Hd\CBwPV*h"|x0gV5iy$4V"eˤ9BA )jT(y>vw餶ثv(SLqWUDX˿Qw4S^ 0F"м\gsldYdLuH݂c9>(hVDۈ5{A7t PK!N _rels/.rels (JA a}7 "Hw"w̤ھ P^O֛;<aYՠ؛`GkxmPY[g Gΰino/<<1ⳆA$>"f3\ȾTI SWY ig@X6_]7~ fˉao.b*lIrj),l0%b 6iD_, |uZ^t٢yǯ;!Y,}{C/h>PK!|;9"word/_rels/document.xml.rels (MO0&һV]ٲ5٫-Sht ʢ.MfIZUq"=loO.Y$m.+gAT!,MQH(XI\qZbaG;_K /x#Փ,/d}?eh 7)mg;kk4Df2/wBmw4A^#࣡FkPܚHxȽAt~9' ozWnMtVWkJlNWz^>\PK!i;8word/document.xmlUM0W|~(Vm*\I,beR;tYK3oޛӻ?${a=aLRR<)+A=G?M$SB{%3Zxo(r܂9LrU`hX9=sSh`XXż#vgnYJ@Y=4ڡg*^x. #+Je %k"*3%_RexB2IMB}U}8_V$@.̎bR0Kir#>r-LOȏ=m N7cD!`٦DFhB‰s,6hHe8^.&+-x-BdlWcϺVCBjN2ͧZ6F-8823V8aΟr @o_% ͅ屯yg!s2/, $7|&` wgcjd 9La~7Ʒ!E4Re#˄m'_[ܹlѾd$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3N)cbJ uV4(Tn 7_?m-ٛ{UBwznʜ"Z xJZp; {/<P;,)''KQk5qpN8KGbe Sd̛\17 pa>SR! 3K4'+rzQ TTIIvt]Kc⫲K#v5+|D~O@%\w_nN[L9KqgVhn R!y+Un;*&/HrT >>\ t=.Tġ S; Z~!P9giCڧ!# B,;X=ۻ,I2UWV9$lk=Aj;{AP79|s*Y;̠[MCۿhf]o{oY=1kyVV5E8Vk+֜\80X4D)!!?*|fv u"xA@T_q64)kڬuV7 t '%;i9s9x,ڎ-45xd8?ǘd/Y|t &LILJ`& -Gt/PK! word/settings.xmlVn8}_ 蹎$I !J&nx[ o )+d--dj.gnC,96T*-N4ʎJnX":¤*=I_|, Xf&AaJVZUfi9 *wRsbS'nPVrE,m(-,`dZĂVK#wֹr-L?CHy%ہ>baR=U&%#{E8vcr*w{Ҳcp@r9X=zh : 3EOs=aa7D1#\-?Bj0$X d7)y2 tCB:cNjqᶈG'IQXD fOD6 hC b_xE;Nq3>Y3:3VOIG,Π{ĕ4젥țy瞄5J% #:.PK!Nword/webSettings.xmlJ1;,ٕ"t R"ivvdLjOoڪ ^z$@_Щf^ S/ٍ$0O:Qb gH(AZڦ[n)B(#1TJ4~ř%&.U]_oQh;;l]-e!2Y)?yh\e?eӼ,OUڛxB*ƗsP}br>aM|˔XKdPK!ua=word/stylesWithEffects.xmlmS8}CH4P7m60Zm@>$[1vl߮v_A7yI*dp'#O"zXwp4cS{H瀧ҋm-MImxPxL:;d8d+2;DzRNx|ƣeՙ;V=Z݅˒26ёV"_+1`82D|ey& 6YXt'mH'|p5 &B& kńKųh#|G)wϿ ]Xde\B<+SIA:*P.vޘ5~ol8S]wt`LET @%z:p;l.ýЌڨT%>LUuGɪ*(( HxF~{G49cZUtgD@Q@+ZsxZwK,*ùp\fT;Ξ!7,1 ;q>%v=W1v0odĹO&ߤ4^xdl U텝LzL_D砳gl7"˩AF΍\ChLzP `=mi.t*M+:>Ӹ;d85'+d蕇9y[."Q"1'\z憩Sr.v:Ja(zc!'&{SBDX3k@d;0h{|2ЂP{гRn"sIeaiE=~GG аVHGDSp:Ipו\i% ^ד!3{N\,WU\BoBPqG V|E}x߶@(o,nDu >^׎dnw{(ދ3~g$xx9զp9K!l+fMCvIČ)W/e2n5|;=fj%L}@\{CQ^'QxR7o-I9M%iκvw?oPK!J}docProps/core.xml (QO M -e]%mٓKLq]G,ۿ[>^^ȗGUGN6@$IQ7B@oU|"n4-ۛ /1`v7cKCqX|(m 㟬e2T04ȩsFkb5gW6\ເ wŅoƘWiWi;ly[=ZtG9+ .4ؓO{?O<%OٱxQGFMTcaZEbb*]5{e_g-G\&sI.=m2"\cxXcU@hX)dZ}SD:dxqdز\V1L;2/\x%`IX\hMf$PѩղnXMjǨu *Woh&ohxCo VśW8_KPU 68+~3:=v&Pj7ŽNxX 'jRqěG qěG qě.ěbkCU&PM+mxRqt&Pj7ŽNMPE*PU7p`arsG #8M#p'[JM7ĖTo O7NƟ. ;@M&Pѩ js;@5V)`&8#oh&w?d<&PjjU \&!xf.pɍqOXkp8)θKD{$x-381_xqJ-@釾>PK!TG[word/fontTable.xmlܔn0}{,JVȁTEdhi"*I[;Pth.yY V렝j}.y|݈Y1m!:9LR5rw99',Dkf|+i l了&LQPWp U"#x1FSvR0if)8*i[~[<ӊ2c"Ჱ=#VFŶq {$R:zJY r/@$ NIgHeIC},O4!0,ĕN597*ddECUfCQ* Qd(>4Un@rҧ\ KPUV#qֹ&dAR{vM?}yps}=Z>!x58HK9߰VőM":4<<58W,w(AdKz ]`)jХocS4Y} JxGyRz^)pl7߷k[ ݸ!CS"`SdÿTL4ijnb5f#ȌPK!%docProps/app.xml (Sn0 ?7rYŐba[mϜL'dIT׏WvO4H^* 4Ҷr,Bӂ򄡼}T jaB]ctƂh"[U5× ˩f۴2 ɑ`읆{9 Q=%swp ' 9d,䟝JB$O7% x"Y^ɑ=gIT!$c$;j#qK耜!t!n"_4UYɬ+0LKeS0bBQQSoMu2j \&r@Ku ᾣ]bG LN3躵sgD iQ^=$?x;4*{livo#Ng皿i7*EE߸Agvt~<7PK-! $[Content_Types].xmlPK-!N _rels/.relsPK-!|;9"word/_rels/document.xml.relsPK-!i;8B word/document.xmlPK-!0C) word/theme/theme1.xmlPK-! word/settings.xmlPK-!Nword/webSettings.xmlPK-!ua=word/stylesWithEffects.xmlPK-!J}docProps/core.xmlPK-!Oz Gp:J"word/styles.xmlPK-!TG[)word/fontTable.xmlPK-!%I,docProps/app.xmlPK U/pandoc-2.9.2.1/test/docx/trailing_spaces_in_formatting.native000066400000000000000000000002071363630463000243450ustar00rootroot00000000000000[Para [Str "Turn",Space,Str "my",Space,Emph [Str "formatting"],Space,Str "off",Space,Str "after",Space,Str "the",Space,Str "spaces."]] pandoc-2.9.2.1/test/docx/trim_last_inline.docx000066400000000000000000000101231363630463000212570ustar00rootroot00000000000000PKԣRN _rels/.relsMKA Cl+"Bo"3iA PǼymNAêiAq0Ѻ0jx=/`/W>J\*ބaIL41q!fOR]U^dPQ3LNcAO`|` 8!3:#BnADa42bځmbS7(CPKqF"PKԣRNdocProps/core.xmlRN0 UmVh$6m%ٺ=ivf<9Nv4(<=P@Yo7 qM02II)cG ZZ^*&Ҽl^^nsjQ\يh37fPSXQ\G'n;^fwM]ښۏOwf*Cxv7PKpPKԣRNword/_rels/document.xml.relsM 0"ަUnDp+16 (z{Z(}1/__]m,IQҦp(%INR\ vDnyP-2$֡^R,}ÝT' O&Uʀ7m]k=nHA>.?|m ?@IwPK/0PKԣRNword/settings.xmlEK0 D"XHBkRbG +73zybr [0vASH]57Jd+r!QNS+6d&c鑴lQOrTε ~]/PKhi PKԣRNword/fontTable.xmlPAN0 wz[gXב$N+!ȡٙY?=6*9R i_:T}r(G'YWwˡl]jQʁ!y 1pHq h! 59JBCěw@['NE!Ug2 D^={'HfLGvkqkD<OWǐ[ ɮ`&}d[=O{>Ο:?xPKUPKԣRNword/document.xmlTM0W B+dRU?VmeɯVry`Ó['@'$ZH5L"!?O :4Oȅ;p_Jqd.TVǎ\QPYpC 6!&>i krz|EإzpZ}-ԣ_W [g%lf,06BNWQGhuC ϘanQ,gύ:pbt(GKweAhXR'}l,Tf`Sj*tM>6sgKSYH!4io.G<3 yl$lX8"=3)cv.d.Koٛak`,X3i)WDpD^Ws@qXQגӌn<  K{P\TGJ:B3169. ~%x,k',p=!C3aPK|PKԣRNword/styles.xmlUN1}W6 DQĂh*D$V>`ZV He>3>s9xR2{DGYRiz,#i4l.?) AQ:*u|f\iH+'YWx2?F妪T*Jɮ!=4Yb"DeFSmLd6aXA#=ŭmK+=e`7b.7:E'*B!$`wPTo Yx@`G _:&CCݻ]= 2ЫEo4y\޲]Lf6 "8#ɶM^)4* 6]/-zuf/-Fхƛd_#ī`CO&@X~L;.rӮD;^JV \'~GPyt:곏 vF^U5]kp%Nw'&B}ӇVWw\ L?%WD>&M %p[/tl3{՛} qoIeօ QahxǁxOXJ|qPKԣRN[Content_Types].xmlT9O0+"(qa@%1B0#c$BUh ﴜ|Tm9$͍.Sy^d+ >] ҄`)|f,hT)2j%F! L[ؼ ׺'z/JYJi^.snev|#?ZzO@,#^-Cbn'$3S@c8O0|ýșcA-@) is۬}qbS4Gѝ)_702l-T(ZyQ\i=&I=|a_Fǻ_N>PKBS^PKԣRN#= _rels/.relsPKԣRNqF"docProps/app.xmlPKԣRNprdocProps/core.xmlPKԣRN/0!word/_rels/document.xml.relsPKԣRNhi 0word/settings.xmlPKԣRNUword/fontTable.xmlPKԣRN|qword/document.xmlPKԣRN>J|q word/styles.xmlPKԣRNBS^m [Content_Types].xmlPK <pandoc-2.9.2.1/test/docx/trim_last_inline.native000066400000000000000000000001211363630463000216050ustar00rootroot00000000000000[Para [Strong [Str "Foo",Space,Str "bar."]] ,Para [Str "Fizz",Space,Str "pop."]] pandoc-2.9.2.1/test/docx/unicode.docx000066400000000000000000000263621363630463000173650ustar00rootroot00000000000000PK Eword/UT S=Sux PK!o%Ȋ=word/stylesWithEffects.xmlUT Sux [s8wf{/{vr%3M $Vq~79D} Ds9OT*&_܇'箣43*ㇿz*QğҘw1Pb"r|ꭅ A%RT)C"(j"ܜ\ mʋ|L,bhFRdP2-*T-BƔIW!KV5s2DS!ڍ$kg+I?(bLbIaYeƷ7uniUcvj7q=1ڽ5e<$ybzBEd22=d3`"5]4*;w<,?YO7y\1לD ̽;Ț;͗,`f`P\öUF|?M\"OYWޒwxQNrYjjnjP&l\Qu+ͺZz6d\e^x9K߄H6'fn27w i tN&e+ - Յ# 7fyX8 7cy@8 ٛw;ϼ,p11o41oǼ p1o޼!x `7cPgol#SHU zX%J K`uŗB<:a"b"/yi%rMA{ >d<ͅ%1znOPE7泞,8K)?*\KjA(?4,_SyUojrCpCU|ȶCagq[gGr+ŏ_Ҕd䳈Ȍu9LgV^(%"i4K]_9Z9^ۼFo?osxAe9d^ZPԲsO:ܪ@~ɼ?㋞U,.&Kw/?PK!Nword/webSettings.xmlUT Sux J0;wӊmDV>@N`&fu2Iclo(4Z`walnu I&SF@Զ=? J 5FM)Zk5Eq FrɣFï$9A_:2|B,ܒ#kE 2(?|6ɂHƅ_LBCZe-Tn^h13}i`um.O'PK E% word/document.xmlUT SSux Vˎ0QִIKA43Hulk ,!Σɔ2馎{9T8 4w;murWwcцȐﮘvO' :O4H,3wc4MXJt;Tȴ)D[ LeZ#9 . 2&q3S{)QyB>傛b ݹA Z )A! o2*=je< 7 dPTWF,qwI(?wx#bpY?ʚ~^)g5FXXVLJipKPd*P:؎te1peYxՄ/GZ+8|~tv|^̅i0ceU Gl 2}FjNz1{^ՠ'hbsLxhSj@t2U :ø!NJ0 ])¢y_ vrI6&ֆ57D+65q/d[{K~eVp Q_;Vez"s*+LH~FJN 6OFr[Z\.wI^r5MFqS$筏1oIްNQ"|+"-˹X=8hY M Ic35!Һ IDrPdӶX^ ސ+>JÎ0-GP?UimMw|J^fQȰIDv@G,>,İTpeUeo]gBLz٧+Q5`&vfe\t ="u^iOujrYwVehF _KfQ߮9]4Jxwo,{62>ƣ%tZYef!g׌&0GcjE.=dŊHM2:8Sx`N>ɥjY':byǗϞOOr RpR/G|Wfo~i*<}-@iD$A 02臘q qS3lI9P xu|a(ƊaTq\cMmYǁٸL; XԤ J{|DAQOpɇ ݡ1%}:Pfk4LLBKٻڜ23JJi GFqtuB.T: O4X=6HȄ9ב;| q}qc?#Xset;$Cpܷ)Q[4 $3 ܏6$.O#nFM@Ͽ}?mxzzfWÅO~vx@C'.~^?%Y7ڙh{H;TFˌ%`2dBM~ea ή'`,PHp G k|J!lΝ*~؜F Rg5VfƜxFkkjֲ }p*iTsӰP0#~\,k/ O9@|u4k7v"+̹kReJr;j戫 SPM>?َB,o69Zpw5/AsE׹Ԓ][ͽ~]CSm/d?Y|plh̔_9݃Cig[PK!_CNword/settings.xmlUT Sux Vmo6>`9:E[xP&7);ߑ#g E?z{s޾{Rrte6(pj&94ghXfGpٻ_y{(xOfnD!+Uv2]܅T'ns(˼Oba2kQ} g6>f s3M@1GTn'KF#ru0)θ 8`4=@ij=羠c(r4T9tԽ Ք %ɮIQ_QCij+ɑ<t<@ eg#QCEHY >6Օ7jV5hF&;n6T#j6Z?Ѵy) Pigԇ_B7+T c뼠Q?P 28ZX-'%/®V~4Y~ Kɴ(~u+/3W1Ţ 笪 L#y2U`uX5yF@L։;)&労ùp6, C_Ei>> s 'v(LfSh/T][WKӺ8Z?1ihϡQ,#ڂzH `ͬ$To'LO<}qEvsM;.~&܌ÀMvbw%l6`lEv4OH)_5혅nLэ%<Ѧ.<[{7*[˸^.ۗ8, (vt#HQ [`~%qPK!ɩword/fontTable.xmlUT Sux Kn0zX:9p "Yh!_.#tmΓmFhT'ކ˵JP0cꜫUfgSYGTNV,A[f:.rփƒ&t}ҒIbGb 68X/Ψq|w[?xz]+Mג)מ ਕ-yewnkjmhʬ$joDFS._Z3)'iy!K{p^+"ALK@E,؆gq3"HKb,s "T[sk@-w< Y.q>0P @X{%ljY n`JlwH\nYn@=ý}RB<3 )5%uΌU;/YMyv}|* *TV\2ݰ%QG1Q[Ex Wi}O&s")((xKd'I6"GH4:m$G}C; PK!Y;word/styles.xmlUT Sux ]S8wf4_ivLii׊Ěڒג _+GGWIJ>+9~!M,W\E8z3 &,»ۏGa4I`?x{cT`:K"EcFfLkD|3HIȎL3'\?4ldr\9e$-R&t5~(JbVv/(%eJNZ/%\leF\*o4URfhXJ0HFȜ3yF(|gf.["Ѫ/GĮ4*9߻2H0s%8[}I̜ )5on[|+?=⯄fBFx>6wk9v@Vzo,]]:pM¾ ھ `훿1oǼ{߼<p1oǼ/ 7fyX8 7cy@8K7cy@8}[@A0oͼ,4p1oǼ p7o;ϼ,p1b y(h `7cy@8 7cy!x `7cyOy( 7fy@8 7cy@m7cy@P&,~gk3A R`ݓ**yh% >m^{?\y3cf>Q]n Wg=2ibm5EذfTSA=UU Oni9~;Kw0n]V?8GAե/gԟW"2MՑF$l;^$&uowMZgGί2Wy`ۋoQ+7 ޛUAhwBQϙ0-ڏڰV@dzf^|vqzDRPK F E word/_rels/UT 4aSSux PK!|;9word/_rels/document.xml.relsUT Sux MO0 Hwv@h.+ qRh*1+Уm}Db}0 ȒZ cKۓK`-d, 02?>Za-).ʴTDAUȐmhI%oz%Yιg@V*N6 znHOb%]'Y+Ph.8Mrz1RWcx4Thh#*~>%.зg3s8A;Kk{߭1)%^qsU;wPK! $f[Content_Types].xmlUT Sux MO@&f]`pP<*vJ7Wv"1\lg}fN2:Y@ٜ.KJW(;)cIDa !?Y{ mY9#bv u&, u /RfmpTv'!Fs]e;m)#Vǐ엶=  n[0}7Vr'b;Vgd͡H#DNi`o|H')ؓ7t PK F E docProps/UT 4aSSux PK!4JdocProps/app.xmlUT Sux Sn0 ?7J(FŐba[mϚL;dIؠ׏YwOIk#l߈l. &T7X~E&+Ǎ8aإ1\q k)9`Ӟ3uH&S#C][wI.k*bP\E`:5B= Zfs :sϣ~PK!lA<}docProps/core.xmlUT Sux ]k0%mDB[a^M̱kXAYkV˼e>yxI^F$)@s# ^s`Px(rn)7^&)چ`)ƞoA1nÍq*lfIΰ wFtR >(폫{jP$!p߼'W`&zz6M4Y \Rw\p`\ ؐ㫏kêFx<\qw;ӞiDԖG^ribɜf4MZ:qgA70/PK F E_rels/UT 4aSSux PK!N _rels/.relsUT Sux j0 @ѽQN/c[ILj<]aGӓzsFu]U ^[x1xp f#I)ʃY*D i")c$qU~31jH[{=E~ f?3-޲]Tꓸ2j),l0/%b zʼn, /|f\Z?6!Y_o]APK EAword/UTSux PK!o%Ȋ=?word/stylesWithEffects.xmlUTux PK!Nword/webSettings.xmlUTux PK E% dword/document.xmlUTSux PK F E A word/theme/UT4aSux PK!0C) word/theme/theme1.xmlUTux PK!_CN&word/settings.xmlUTux PK!ɩword/fontTable.xmlUTux PK!Y;word/styles.xmlUTux PK F E Aword/_rels/UT4aSux PK!|;9word/_rels/document.xml.relsUTux PK! $f- [Content_Types].xmlUTux PK F E A!docProps/UT4aSux PK!4J#"docProps/app.xmlUTux PK!lA<}6$docProps/core.xmlUTux PK F EA%_rels/UT4aSux PK!N %_rels/.relsUTux PK+'pandoc-2.9.2.1/test/docx/unicode.native000066400000000000000000000001651363630463000177070ustar00rootroot00000000000000[Para [Str "Hello,",Space,Str "\19990\30028.",Space,Str "This",Space,Str "costs",Space,Str "\8364\&10.\8744\8744("]] pandoc-2.9.2.1/test/docx/unused_anchors.docx000066400000000000000000000317341363630463000207560ustar00rootroot00000000000000PK!>RHq[Content_Types].xml (j0EѶJ(ɢeh *8 iĔĥI6y{57F'+Q9Ag XreYQ\hg!c[l<NbBj3@G#b숽}mG$9eٔrNx2ُw\m78FSwsJ|yPK!6{)word/document.xmlVYo0~_iC*TbZ+8El; -TZS6\(p |08}L#_S^?ʎ:>/@_}^}?< t!N71M91ha nM#SXsHCf2)6}Af[SJzYt=K,샳 ml-TwlsȠyȔHN؈>t,= z[CrGjZ]ÉFPۈ]У澏L\"b* XÄ=(bɃ9 s!3!B DlnA{<1L )Ց}:cLq؏D.QnQa%Ae`5w12}޾#վ@m D8'c'8=Sd{.շO{!˰uG6ܺxkw[Hn tto/+V⪮$[cLȁǕs9p(UE-,.3p `p*"pq0\; dykZqS],'ri [xAɵ+/rKO2Q /wb}KpV3I m(5YC2!f^EqM[lE!pqbUyIGb>+(ʒ֧FY&[Դǻ;5V+7XҽuB붝o hV2jV9^Ksqާ^j&\}y]Ut"G\ Tk.'8*^k_AɭRK]ϫW^ʠ8zCFV֙dhIڟ`/ۘ,eYs"8ЄARU&xd"0܃Ҳ$q ~%nK|i yK*iGZhe2{ QPN2n_C.nq Un%E$/Am5@ 6TfvJJ{yOeC\IadA?k;@*9eVkzy8 :`n ~%яdp?o5'7bTR? ihU (pm Z|?a`)`scA5(L!d5#i276[zf3)hⅦvt4 "@N.7ሱe SgFzm5R_|BZ֪ANAe% 7u+׾O]{Z|D^^ӹY#N~j.G{J D60o,W0H9X)ctl'_uݓ|P=;6w#w Ev d*yB1ߪ kPK!|ZU(customXml/itemProps1.xml $( j0C{6j㢍^K fcԀI$i{if~:+  N ^_z\ QA,*pD!:.Q: giޔ4y 7}ۧYóص}ѕ߀ڦ3z"$YnU6 G獈 D8jQ6#[қ7@~Vc=-W}]XO uEvyEPK!Ž ChClhCKhC*hC h#G90EprGws~Sw ݟw:~-ZYVB<9rk8%e"xJr2ىx0-d1"s]r,cbzhyǪ X)!0y:F'S)OBNtP] I=x_E$I VRD5ÝȆEs"3ᵁ / fxe`0 Ϩ҈F҈҈ƭOq4q4q ؤcU,yDŽƞ3 YS^t;~v.erL=04KrEƴgN U'/DG{Atz$SdDDRL9_撥 >M'9'"j].:?!K>/D%XaVTE$g9hƚ7| _"oA/6p:ثep^BQnţ>şX" H6le\ x CN?R93K]Yȗ2x8&g2vox\l9_ǜ =KgbUudDtxxhXmܮ=-azZ6,Op?|]Q1nm+6m!xE a@ӌ۾x)9)uFt )̎I EtG! NuNIƃVΤFqctF;nDFDNsTJrSz&7wr# lq d+HVVnD*D:`F ̽ )hBZ*\ qB>BB Z*D hBZk{P!-T@ "B5B8B{BP!-T@ "BP!-T@ { RBP!-B8B{BP!-T@ "BP!-T@ { RBP!-TspP=NG#THA "BP!-T@ "PB^BP!-TO{uy~KWS?宣&QUܬE)h b iNQ;.׹ԅϯWݿ>t\3i_KpNeuKPM"n VӮ[+]V7waޕkprtpWf5@']t±F8uJP}&׍nʟN ޱnn̰u5$x`] Qޮ(?WĈu5$`]ퟜ/W!j8a] XWC'd'js5\a] XWCՐjw5Dy\ d!jH\ 0(oWCTYQa5C܄\3%皡GTjj 9Z;M=7?c((?W㪥6W MW-9]:]:]ܮUKmUKmOnqRqRqՒոjոjոj'd'ոjոjj\j\j\j\t5Zt5Zt5ZrW-W-W-W-9]:]:]/`lB2e3k?gڋ拷EIX$MòEc ^,To_dZG_hhv%K˽ca{,gi*Td|9z|Eow"}\?JǾhˆ,t34d=g|K-ezݦ7^TְܾLoܼ,aVtzir 3h"lwE(MIؾlr[e XhSOsw]GDX_o/k\2\˵FΝ* Yz38R&:ʞFXRxf՘/yy@}j&'ٙcwow?8әΤ-mn:=cx6vO[l=}o fN&V642j+u͎շE <,27fu^#`{[lgpٮUuҮ7/׬U=%sw";ÙڀkĎ\ok;>+vo<;]vPK!sqdocProps/core.xml (_O0MtDg'K.1F[m:(Mۍ[`D|c{F2Ad $+f yRi^JH 1S+5RHDL%hk06l 5N\ֵze;< k\Zkz":#9j `2!xZЅsQ~8 aO vb>Tacu|^5 Yg1g64C*fq5@mӧ;*57nr9ôPa8wN]K] wڭ osZ=JF)oC@4 3LdUfX'1٘p3PK!5eX(customXml/item1.xml $( M 0}w9.\ BBn8@~$Ao 'r^FPK!)cword/fontTable.xmlܒj0}ƲS֭E@Qd01:Jl'BsӋ ~:8wa{x>i\S?O0J;]F~rۗwwXZU6Ʈ2Tgӎ+#-CYKm'#l@ ;l#a4"ٚg%&_YP3U4x.5πy8PT #_M鳾tҒ]N::'o/ME!bIcbFu(҂9Uq4:={ 5Z ;܈?!o5K~Rt}IIQgX#G 3xX٣ҽH!(%呒Hg'2$2MC PK![m word/webSettings.xmlJ1;,Y-T>@ζL&̤kH/I23; X֌ yZj|pm*).-]قl7=,)*IYků )Cǎ]ђWnfW"Pv\Wf) u]pK~ʮ2D):dSx<>=t!3 ue'Q>w'@ܯ[D@'3S̀r >`N| v1RpPK!apdocProps/app.xml (Sn0 ?7vEŐbm-=k2 %Abf_?N\ei=zz)~ڛ!jgWl>XVF/WXQFgaŎ٭x?!X+!eYFA/Җ2 Da_ zb^l͕٨<6N%>z ~SuzA(r!^rD| *(J"ݪUpѵXVy '[P/AQ9ߴ}|w's[% ࢕&/|25A(tu2B;ȠE6dG hH{r?$#,axfh5;;^ڣ:Ϛ;׀Gj"u9|Ĝ2 Ón륢^}|KQhSI9H8^1U u|LJPK-!>RHq[Content_Types].xmlPK-!N _rels/.relsPK-!ߵL word/_rels/document.xml.relsPK-!6{) word/document.xmlPK-!R%# word/theme/theme1.xmlPK-!B@l rword/settings.xmlPK-!t?9z(acustomXml/_rels/item1.xml.relsPK-!|ZUgcustomXml/itemProps1.xmlPK-!Ž u&_g*h̽WL; 8t˜}_6-n&󽇘P9[!GΣ\1s,U*@z KKw="XL`*֘sK,yjj ﵒ̛*?:@Ǟɍ-?hM6=q|=XSAD7aHo](HĬ*%trmh$}pb$=_$vm0EZ$lFfس"Xh;^ #'I%)x?\w>ղ6kƮ5 ʞ~kdIwPK mUF? _rels/.relsJA >Ő{7*"^ЛH}0!#ZGr;R|̛ GcVw5R&=t0[b'T9֟!I O1}qѶ(?0u 7}|; |sGFJT2kT,g|'CC†jW)9 5G:gVLiY5%uq͕nm\ԯE%w]\_C]PEd.Con [w%7RLRi|c zsOQ ~94 LPK mUFz0word/_rels/document.xml.relsӻN0N(邐NrrE)зE8E ,ٲ7o5Ot~4Z@P7u/z}my$)Lh= k0g}3>3uH:㔤0t==U[v@yɪ4|1A?>]۵ܮ-UH0 x2~&"$1n!d _XfG"N-錦JΎ k`?9._!mh6Wq g PK mUF4o}word/_rels/footnotes.xml.relsMA! Et]c0z+B(1_.{^y3n88L /$~ݟa]v7Cјш: șt*eWi-`%x .?PK mUF&word/numbering.xmln@ ($]JMel2 'oصC+`Ϝ3,Iy(H##_O GrqiNBDt$,qU5֐%Ag)[f#*[.Q 㱪 Tg gLSs"HZH5:F8tHqd⒯DΓ  Fke2䜺Eq )f}[৘ܶ, YeO Ìkt6TML;a7fw}lġ<~m"x_Q'ܑR8݇o3lkv7wu~,O:5t}n(|V}v}XQƃ Gb'܈S1'S@UBS";_2Q) }O lQ\eIp3i@2g.$r9Y)sa?vn A MyWT)k( ,jH+%/zm?̈|3;'H(anql pҵsㇿ?_PCj!=e,h47opCcɤG'"|^-9<#^c/` }.t"H{^F3&`R!L^Piv4Axp0J#)tׇ] ?pˍw +QIQP!ߕ 2(S(ːЈSbK/>k:)G5IB Lr]|5!GOrxHn ~IDJLņfW<>0\8# gtmǞn 9m F0̬ hNa@hN֗ѤCuvP%F T,L<Ʌ\H AS+L?M=䫯l8Mma5.8C%+<\ȏ3G9P(Y8f>O7E+*9pyhڙ˽9?s9sӣg2AE̜u\*t}.ǹópbph|8 á¡^v1I4ϛW}vOxM<^ٚb AI0H:{$= o]r>Rjs7IJRYMDXB JWYrY E/֝٪Dp&("-%g܆yVLo`+{?rMܴŌDAiF^FaU:!=$`XTV\Q6;HFDg-m]S~9.z/QC6B_%|mSh <=20$T4Srڧg3xZyFݨos6{l#ʕ?SuKfNvKV5]fm07e;@/91bBB[a'ӽ(x\ʈ)I9\vETn#(y,?- huM r}%EoL̕z"Zoöφz`4s4lҸPO݈^^GUg^n* >,~2cŴr딫h|@E!7CHؖ䯖or-]*wDFM$J;(jzI!\ńٛR3ܷҐUI+0me4^kCٴ2;t 58gN7I &dy!l=~߈=lyǹ䞯so2wǀp-7NF}q׏zč {8NjtU;vd0)7Lw<ƘOuJϛVG:~JMǡ'|e矶nGN8πNn8Mffo}ԧ6u#иi @NaL:9 @f48N2un4C;u੣œtz1a zp nZ^q:hA%ʝ-\yLϬ88~bYL֠7XTRObɟTBg&(T (R6(FM8<͙wrlcqH.ƆPK mUFudocProps/core.xmlmMK@ 26 "< u2Ѯޱj+$twdUSժ X?鮼Ub`zR*O-^Eb HN*>QIG _2F4*O D$h6V]$Hg#E7\s+8s5_/h~/嫥IGRCg+ leIK; PK!)xDudocProps/app.xmlRj0fʆCS$Aۢ$I}Gqwס4͓u bصM6L.~m cc]{>DF$BٵsVf,i 108C<X}/^%{΂x+jcLbXCOsȤU;~c#Ϡ,n& }p#-uf)`?aFÒ_%WA\398psejH02񱪭!tAb,1Mo l@]9a8jzDwyH}=\mx:$4˾+ YqRC#K9F5aM'[^'NbPK!\word/theme/theme1.xmlYOoE#F{o'NDuر i-q;N3' G$$DAč*iEP~wq4;{o?g^;N:$BR64Mvsi-@R4Œ mUb V*XX! cyg$w.Q "@oWL8*Bycjđ0蠦r,[LC9VbX*x_yuoBL͐u_. DKfN1엓:+ۥ~`jn[Zp֖zg,tV@bW/Oټl6Ws[R?S֒7 _כ[֪7 _w]ŌShN'^Bxk_[dC]zOլ\K=.:@MgdCf/o\ycB95B24S CEL|gO'sקo>W=n#p̰ZN|ӪV:8z1f؃k;ڇcp7#z8]Y / \{t\}}spķ=ʠoRVL3N(B<|ݥuK>P.EMLhɦM .co;əmr"*0#̡=6Kր0i1;$P0!YݩjbiXJB5IgAФ޲a6{P g֢)҉-Ìq8RmcWyXg/u]6Q_Ê5H Z2PU]Ǽ"GGFbCSOD%,p 6ޚwq̲R_gJSbj9)ed(w:/ak;6jAq11_xzG~F<:ɮ>O&kNa4dht\?J&l O٠NRpwhpse)tp)af] 27n}mk]\S,+a2g^Az )˙>E G鿰L7)'PK!+word/fontTable.xmlU1n0 X줮;h]ҡp@ӔEHڊWgܡ=B!6 lÉk.n: O%0&LK"癙0FB8r5xe`߸}{_\hZP f4~gtK%"N) k{ dƇ `\. a+a+N \8߬Uͧ4[G% -Q\Qa{BÝV$Ҽ~jBʤCkᢲgFpJ 3D9S}BSڡ納g^I\1Y'v!i '.%1OM,nRR]Oi˽1QO,{0}pVtGN8czѬ[|t[up1j͆iZftNGuyݟ9gAy)]wʿlBcNx(i۲zQp!'͂G{a_ nZWJTբ8VNS<+-N{E u: M˗ x@n<֫6-Y 7J2&^T;vLs#l>Æd(֢,r^GRj79)'/8ŽRW͑pvl!%yrM,v&k73'EZj|$#8ϾPK!ʳCword/webSettings.xmlQK0wP򾦕!RA& a\e6ė܏jlqH}+xS+6QPR~P=$*7?`St+B#%xnJ\I:?aLoIGyWU⛉(8F2e=&Џ2!D@8{2 gtD1|l$O(n^&QRtYv,l?1w_PK mUF ]$[Content_Types].xmlPK mUF? _rels/.relsPK mUFR word/document.xmlPK mUFz0word/_rels/document.xml.relsPK mUF4o}word/_rels/footnotes.xml.relsPK mUF&word/numbering.xmlPK mUF\uCU word/styles.xmlPK mUFEL\word/footnotes.xmlPK mUFudocProps/core.xmlPK!)xDudocProps/app.xmlPK!\Rword/theme/theme1.xmlPK!+word/fontTable.xmlPKKFVI word/settings.xmlUT Tux PK!ʳC#word/webSettings.xmlPK$pandoc-2.9.2.1/test/docx/verbatim_subsuper.native000066400000000000000000000006111363630463000220160ustar00rootroot00000000000000[Para [Str "m",Superscript [Str "2"]] ,Para [Str "m",Superscript [Code ("",[],[]) "2"]] ,Para [Code ("",[],[]) "m",Superscript [Str "2"]] ,Para [Code ("",[],[]) "m",Superscript [Code ("",[],[]) "2"]] ,Para [Str "m",Subscript [Str "2"]] ,Para [Str "m",Subscript [Code ("",[],[]) "2"]] ,Para [Code ("",[],[]) "m",Subscript [Str "2"]] ,Para [Code ("",[],[]) "m",Subscript [Code ("",[],[]) "2"]]] pandoc-2.9.2.1/test/dokuwiki_external_images.dokuwiki000066400000000000000000000003661363630463000227440ustar00rootroot00000000000000{{https://cooluri.com/image.png|HTTPS image}} {{http://cooluri.com/image.png|HTTP image}} {{ftp://ftp.cooluri.com/image.png|FTP image}} {{file:///tmp/coolimage.png|Filesystem image}} {{/image.jpg|Relative image 1}} {{image.jpg|Relative image 2}} pandoc-2.9.2.1/test/dokuwiki_external_images.native000066400000000000000000000010451363630463000223770ustar00rootroot00000000000000[Para [Image ("",[],[]) [Str "HTTPS",Space,Str "image"] ("https://cooluri.com/image.png",""),Space,Image ("",[],[]) [Str "HTTP",Space,Str "image"] ("http://cooluri.com/image.png",""),Space,Image ("",[],[]) [Str "FTP",Space,Str "image"] ("ftp://ftp.cooluri.com/image.png",""),Space,Image ("",[],[]) [Str "Filesystem",Space,Str "image"] ("file:///tmp/coolimage.png",""),Space,Image ("",[],[]) [Str "Relative",Space,Str "image",Space,Str "1"] ("/image.jpg",""),Space,Image ("",[],[]) [Str "Relative",Space,Str "image",Space,Str "2"] ("image.jpg","")]] pandoc-2.9.2.1/test/dokuwiki_inline_formatting.dokuwiki000066400000000000000000000005331363630463000233010ustar00rootroot00000000000000Regular text //italics// **bold //bold italics//**. This is Small Caps, and this is strikethrough. Some people use single underlines for //emphasis//. Above the line is superscript and below the line is subscript. A line\\ break. hello %%//%% world %%**%% from %%__%% me ''%%hello // world ** from __ me%%'' pandoc-2.9.2.1/test/dokuwiki_inline_formatting.native000066400000000000000000000017141363630463000227430ustar00rootroot00000000000000[Para [Str "Regular",Space,Str "text",Space,Emph [Str "italics"],Space,Strong [Str "bold",Space,Emph [Str "bold",Space,Str "italics"]],Str "."] ,Para [Str "This",Space,Str "is",Space,SmallCaps [Str "Small",Space,Str "Caps"],Str ",",Space,Str "and",Space,Str "this",Space,Str "is",Space,Strikeout [Str "strikethrough"],Str "."] ,Para [Str "Some",Space,Str "people",Space,Str "use",Space,Span ("",[],[("underline","single")]) [Str "single",Space,Str "underlines",Space,Str "for",Space,Emph [Str "emphasis"]],Str "."] ,Para [Str "Above",Space,Str "the",Space,Str "line",Space,Str "is",Space,Superscript [Str "superscript"],Space,Str "and",Space,Str "below",Space,Str "the",Space,Str "line",Space,Str "is",Space,Subscript [Str "subscript"],Str "."] ,Para [Str "A",Space,Str "line",LineBreak,Str "break."] ,Para [Str "hello",Space,Str "//",Space,Str "world",Space,Str "**",Space,Str "from",Space,Str "__",Space,Str "me"] ,Para [Code ("",[],[]) "hello // world ** from __ me"]] pandoc-2.9.2.1/test/dokuwiki_multiblock_table.dokuwiki000066400000000000000000000003431363630463000231040ustar00rootroot00000000000000Sample grid table. ^Fruit ^Price^Advantages ^ |Bananas|$1.34|built-in wrapper\\ \\ potassium | |Oranges|$2.10|* cures scurvy\\ * tasty | |Apples |$1.10|Some text\\ \\ after two linebreaks| pandoc-2.9.2.1/test/dokuwiki_multiblock_table.native000066400000000000000000000012411363630463000225420ustar00rootroot00000000000000[Table [Str "Sample",Space,Str "grid",Space,Str "table."] [AlignDefault,AlignDefault,AlignDefault] [0.2222222222222222,0.2222222222222222,0.2916666666666667] [[Plain [Str "Fruit"]] ,[Plain [Str "Price"]] ,[Plain [Str "Advantages"]]] [[[Para [Str "Bananas"]] ,[Para [Str "$1.34"]] ,[Para [Str "built-in",Space,Str "wrapper"] ,Para [Str "potassium"]]] ,[[Para [Str "Oranges"]] ,[Para [Str "$2.10"]] ,[BulletList [[Plain [Str "cures",Space,Str "scurvy"]] ,[Plain [Str "tasty"]]]]] ,[[Para [Str "Apples"]] ,[Para [Str "$1.10"]] ,[Para [Str "Some",Space,Str "text",LineBreak,LineBreak,Str "after",Space,Str "two",Space,Str "linebreaks"] ]] ]] pandoc-2.9.2.1/test/epub/000077500000000000000000000000001363630463000150455ustar00rootroot00000000000000pandoc-2.9.2.1/test/epub/epub2_cover.epub000066400000000000000000000430211363630463000201350ustar00rootroot00000000000000PK 3Noa,mimetypeapplication/epub+zipPK 6N META-INF/PK3N9> META-INF/container.xml]j0DWG-ˁ@{mlu"" \Cr7oϔ7="=| -&ap!mtA`d:a jT8dA2WsU71&ڌuiTXKL4Dl%osK}cY+xc{g@PK3NVMETA-INF/encryption.xmleN0 )p;u!q@CxqH% oOR|A9N6!kG AoNXƳhVH@aCu9j9Z^2OZt4y%)Vzw&˝*Ǵ8-K6Ƿ3wS?O.'џg]}9PK3Nc}-META-INF/com.apple.ibooks.display-options.xmle10 EwNyD*!i7NPf5Q=FoW手$& !utg0<㰳!I~qm%zK1䋊{P}D*)& ]djC[hQ-|PK NOEBPS/PK 6N OEBPS/css/PK3N7OEBPS/css/idGeneratedStyles.cssRM0=_a HqY>eZ$x[xmn.DyVͧn@zOū1Ywj^P~.WOZ4)pG/LhŞܛoRM*Ի8S%=+a-=c%Q9~1'E[c4b56q_g c$e&VE)#x)?uLQ=:&??fE/,mqPdXM}].,;ݕq0ĵM9iED D 6y#Ȏ@=H5Dk Gdrvmj0z$YB[_6/\nZxx̣9(_6@d57PK 3N OEBPS/image/PK3N"%OEBPS/image/cover.jpgxgTS[Fz J"HJAti)RD@P$REz't(R# lHH}}1ʞ{k=s>s1LLL]0~ XVUf<0\` w`x2p|XXYj윇xy9~0 x89x`aef:`b`bt0HSV4?!fV6H%.nh@5?>3!HYVDI%]6!{|'dsHꕷX ;> :rTT3geΩk\м|EMK+k[vN]\=? {2:1MrJ_i9 ?UTVU7wtvu|6:6>19E$L{k{; `fKt,v1 < zRMPל)z m-"HOSLeo,/ۮ)!frVp2Y12[89:$YRzͩ TF᧟맿EWZ O1wޑX-Q}YtNi̔6Q{NGY"!f xqɷb6@قRsÏa$g>#?FwO[&HPjYItL4YʷզPq7~P2Ѭ? n|~D0h1.QQ3>},w^Bjc=u:߼MbH5W~5 y<+Β"i  (0&IQ^bS'H|*sHoB=ɓt2MN`8BIoJ!/6^N;*8í"hTp3)0" sO JA tkNy TZ[[ߺoL=j|֋buiݕ_8oCPg,(s/ݢ\&t#DK'JZ՚`Y㏸Apt>ʤx/KEX#ɂu"*N ' k /J{).V_7_W. uzRAuܯm҂;:TM$X` ~ҚKy9So{u%&0zKMݽ$=v%5n #C3x3KycM> wqm-hߵ睒tu[cR@AviCUDcLLFӹ*A+htH=*Z#Wٺ6~SByNkO|TS NFpA8TwAʀocj34 W5;ok~mj=#UexO*xx1 LZt ầ;}:Z5G ܍rچK67/=޿R||1v(F72 \!vs]cmP5f44P{eM YIۊz mi$tm(|G>/@Ǘ[_8J4Amm2vl꫺xyV!-6dzb`Gi2l(+Lm[8tEdbpVJaHIR*%X5\ ׺]xQFӉL[⨚Q{&\L DR`kd3@b&rh09˥]*~ 蘌y]ǟd 35IʕynkNbŮG`ZbK9 =&{ķ]ܷ6KX17r Gt#l2FBe< `p2дb-ya%oWQ!W#ߨ"b˩Cֱ:ꑙ[CJy@:X2RcI*g=ktmZ^Sc qpW{?M2~̴%qߩ^k;Qf|;8/B-ZA.B r()$ QX&XD>\JXPPۭu 90Y!D.*$ VM {?|]3} Z.uq1H]=|M;;wT; \$x'RBekzyZ'?,ZS(mS|20q3a4燋S;BR[Ϳ;!Ee? N,e[]y5M3voPMo0.;vUf_m/g}.D>>#GQ|%ހ|hG}YRGNtC c~#"DLtxk19?<+ӸwF8E ʿN೯R֙ ,ch!tC8zMqXݼANjfjzΊnaȀ?JDȊt rSv0nФ `?pkյI6 Rfێ|'}ܸw#"ucKdw l2::@HRDa+H_}w%4OtLP| $0&*gق_Q"lx vA6K7.xU.aMJm3I}j੍fcSqP>C !2Ax*3vUHSt>#UK J 񾘌Cnƫ4Lcn|!=>Q[iLP"_GBCs6AE` 4^ێ *B/|\ nKBFr/4ekq=$E>MY3q*~=J>[Pw k0sƧr Qy銅Nx^Ulj>2}㌪)\NAUFςWJz u1"H>m W1>GqsrK78ǂ.+5~{j!WcadfŐpkr`|02vY ]+bx 6A@V%*8(b|-A$TuٌtE34xş6?}֢s \ PD4^UiY@[U-![;6V'9hP k, z' qո(Ghծ | <&T4}# ԹZxQؤ*T_v>*ZPS7&o){7H(\Z=_~fiȱf5x<.U5N 1Ne{&:>[>wXuB˸ 1nG< gV"vq(>5vp[ƃ[݇9e/,Yt юjUϧ)g/x5LҒY/`~wWZHDEŋs oQ5Z V?(\NQO4_ùViGrTC( \}2WwD$'A-z6xNߑy0Pe9sh d ? ֟n& b `'ҿmS ؈&0A\Dh$9;x߷16Y1{jdO>mmEd0V)4}J<ũT BAt@\Zdyu|ҔչF`y(s32lAoesi(qT7tS8ݎ!dL]bs ,~Z]*QkwsqC3A,1sA[^130xəDH Z{%4t4rm<vLaFIg&oY$/+OK: {v!֋O='dIzvfdN~>q!mp lx>9Stajuي"z[̘C9͍͋Z&i>wpB*A <,M~?t& a O$$X^>ũ{wnWQevgOR\LE%oJƮJ`O9֦d׈j,brv0_fp(U‚kC9S% t%^8ԌIB(~2CVD$;co4V1Y)rx}{WIÏ9E`7f `[uoqꎫ=jt4ܶ}Gź/H§{PKө ۛ6#"bL4vxߧwf#˰( N$x8]Vr~kk'ze7w&1a:~o|H=⏔zM]Zᦣ W]F:T-Ri"`4 J.h >}6\( ɞ~ww[\/x9O/) Di|xf +⥲v޽ZdC>b5-Ơ^.<'Vp,"׼qGU꤆䱈GV:=PdX䀯_:b=Ӏ-߇&A,OؔMDwC,=>WTsf#I+Py}j=+0'-X[F2J$]Dž.Mn:<#ό&h4!x&ԢWā+#U%__T,~5Ȧg۬NF1=C44 8SL"L촢%h h:׬mSuAmߪl|>y]`Άbkq,G&o7=ßX~}:';:nuHs(?j8fh_ c/1-4'G'{ќIWNocF)%6ELejGmk _߹ U߸BGHYwZ~fR0ܬ֊!; J@vpAk30|ȫ&+zs6UM.5&߄.& ¥u3iTȮ%pѤZxP-vC I /FsNL2P^xAìÉۏBLrdObVV]Zukxq="*޹VMv]bŹψ`z69'/f|J3l1ӤARb'vo(m31-[Цc-CrqVN,qzqweg6Cg1הj@wḷn ,n4o$a34ۏ`^-h\ 0Kݗ[w2ÖɊǯ .#g]#qt90@S3=7g)n^A۾ |gsj77-GK/ @t8]vDW'݉U}J\/Yb.s(j| es5hGX "\T~ rQw["̎IbSoDṎygg)!}bq1jITɎ7y݃ali/}D]v\U߫NpJQ v 2<5=vG?Bu\&u@Oj3 X!yOMOK%1A/&O O-2b̈wp!IfClu.c<-_J%69 -PK3Ng(_OEBPS/EPUB_Pandoc_Test.xhtmlmN0)ޓmBiV*/"8mY !)z&Xl>:IΛ搥Sd^C}AYRbOeDؿ|8*$%⼞ZdiX݂6q^ôwoX&ڳ,~Ω8a1YfډlIiNd0bՒfUw} T } u9qa;6GXΕ/ s qN65% Fm>G買AFNS}UMK.9ѩ&IN_|?e܂N̠ለv vuDy!qaim(A[gfx :+~PKN4{OEBPS/cover.xhtmlmON@>ONM/MM6F=nBjdh;45;2ڔ1X焑F`,leta*G~2W)bg13s 0;o7F:#w@03]a83*%$E䴫URXj|˄L.55rjpuiօ2NQ0)Y1F 'QT}UjZj̓v '/$)Ni(vPK 6N OEBPS/font/PK3NSL!OEBPS/font/OpenSans.TTFX \T3O0#p#SAPc35S!fȔL q-횯|VYgZ魬VYע3:g~wxY{;0}_ttw~ek;n68{[|"tm555fy[>~/%iݗ+^Fzu#QcI ˤK7/Eٹc[iv 0q^vf߾׹\2xbk_zVeSϹcm]kǦwOrPwg|&"|ӿ:.D,oo .{m|o=ݗKSBvWa޶Xyy_4wN/tuȐ{c1DY*]p%g_O8oM g?omIu&ǎ֣e/un+x:r)ݷ/doɦcuoMU֖W<џyzqo~G)j~l/]s+7B{].O=}7^8ip1aׯ,(/+}މ/I,;޾k+~5lmCsO_)%ꎈߖWnXajKB]Dܳ?՞b)8~cOٟ">uD4t /׏I?A~?eq璖eohK՞*z#{BskN˩4ts73ޫpqGN)doԬ_GxVBH7.򥷧5ܰ;jFKe/gε+/7w[^ko*6}VScxUp@K^նiݗ NEy=CmVb2@0j3Dn6 0>x^ _>Cq [(-h{#In~FYbr9S`,)c8 sXQDzZ"qA^2ڳX$"7xuHtIL0X,J% &($sY ftaj6j(;_HU뎐QR"XOQۣ8.`^hEA 1GFr2T8л ǓFj*9EVL,!:̭6r==7ǟzKFn^k/ y !x N 9U3! f'!HBrjS.K$ N )ۋĥ dS32 UÝ᮴MĀ5O>yRFУnOٝFhU *⌊hR8u) $ߛWtQa)#+t:Epjvyvsg>9o璗F.Zve^tBƄ~߹b-xǮ^=ٙ>3SS-Z%IȈpq0DBLwokB/[ JB>GisV+Op{6oXja +uQSx> Qɰ($D-VM R&xd*2$u8J}$

    g9~R؄~KL<<$r>< GbV*>澐i :?\b2V,1@]Ţ,:}cߟZBYŃH?k@~Һm|XXY%["V!ʴ2]BRQ6J%W"Yo3|9P+slݰu^jx}s^]|Þ0E|( IH攫H}iCV~NJ`7oҲeV"7wp^왏|jfm@:2H1&Rfs*U2TKHͶXJ> OJ%/'%RˎY\Ooܨ/*̍[]Z}//CrSi@z h4= lNJL"gT`q@zzJ\QqOֿfFÐ3WeB͎ilL 4ڡ7'd8Np R-fr K#;*;7CwJ㤴ГNPTdIU/܌ѴQ6߿ϩ/^ob ~2$& 5WP2/z'SC?7\ `x}_pBn7w^1,eryL!sXėeZ/f`UnfɩjfmOciP.-HL-K -xiq N%=&23@8H#d|;"H}A B )%0~eFOèT@8W+;(ҫMO-xӎx,rEjYD0o~?x7#t#G6EE]G_? k|^iB-}˵'{WYK% zAKBDn[/᫅- 4hEȎܨ5=$T\p3|/||g|||[} wȵu![Hdjrk{6I++n;ʞjkm=ՅZ?JQ6Q:)Rys$MqR,4:*44ȦRWK~"3zPָaDAc „Fz4ۼN^T[ ЋqM`:ybBa=BX áF3ʹ~@h`po6sv ]r,r47 WDr!g㲓`'~dP?#O`Ri`LW I%u!%m ok#FS=F11YDNܱcҙ"9/Q1%n:˟PK 3Noa,mimetypePK 6N A:META-INF/PK3N9> aMETA-INF/container.xmlPK3NVQMETA-INF/encryption.xmlPK3Nc}-YMETA-INF/com.apple.ibooks.display-options.xmlPK NA!OEBPS/PK 6N AEOEBPS/css/PK3N7mOEBPS/css/idGeneratedStyles.cssPK 3N A>OEBPS/image/PK3N"%hOEBPS/image/cover.jpgPK3Ng(_)#OEBPS/EPUB_Pandoc_Test.xhtmlPKN-N5$OEBPS/content.opfPKN4{큁'OEBPS/cover.xhtmlPK 6N A(OEBPS/font/PK3NSL!(OEBPS/font/OpenSans.TTFPK3N#ڛ -@OEBPS/toc.ncxPKApandoc-2.9.2.1/test/epub/epub2_no_cover.epub000066400000000000000000000230021363630463000206260ustar00rootroot00000000000000PK 3Noa,mimetypeapplication/epub+zipPK 6N META-INF/PK3N9> META-INF/container.xml]j0DWG-ˁ@{mlu"" \Cr7oϔ7="=| -&ap!mtA`d:a jT8dA2WsU71&ڌuiTXKL4Dl%osK}cY+xc{g@PK3NVMETA-INF/encryption.xmleN0 )p;u!q@CxqH% oOR|A9N6!kG AoNXƳhVH@aCu9j9Z^2OZt4y%)Vzw&˝*Ǵ8-K6Ƿ3wS?O.'џg]}9PK3Nc}-META-INF/com.apple.ibooks.display-options.xmle10 EwNyD*!i7NPf5Q=FoW手$& !utg0<㰳!I~qm%zK1䋊{P}D*)& ]djC[hQ-|PK NOEBPS/PK 6N OEBPS/css/PK3N7OEBPS/css/idGeneratedStyles.cssRM0=_a HqY>eZ$x[xmn.DyVͧn@zOū1Ywj^P~.WOZ4)pG/LhŞܛoRM*Ի8S%=+a-=c%Q9~1'E[c4b56q_g c$e&VE)#x)?uLQ=:&??fE/,mqPdXM}].,;ݕq0ĵM9iED D 6y#Ȏ@=H5Dk Gdrvmj0z$YB[_6/\nZxx̣9(_6@d57PK3Ng(_OEBPS/EPUB_Pandoc_Test.xhtmlmN0)ޓmBiV*/"8mY !)z&Xl>:IΛ搥Sd^C}AYRbOeDؿ|8*$%⼞ZdiX݂6q^ôwoX&ڳ,~Ω8a1YfډlIiNd0bՒfUw} T } u9qa;6GXΕ/ s qN65% Fm>G買AFNS}UMK.9ѩ&IN_|?e܂N̠ለv vuDy!qaim+Oew%4B4>X<<<ĂwUtM$9%0C$8H+*{ɻm rji9^7^3 .ܐ4Nɘ7wov B$inSM1%S,%=m0"Ynmr=P _|F;0vKfh1 Ty|AT[!=sG?cf8Eg][`t:0A-YnSecj#T5 ]wms@@+5cdXHCeLsOF $b^˼銲de N4MfE+YUٚf)^xE&kyQ)*7FSXh}aaҷÐ1:h?:cDxm4g8Zb}U%v/ -}l̘I-+,-@^SibҬ!~/yܚH9y[ ȵ dNR ^l$CULݿ{ktKxf5dʓ?PK 6N OEBPS/font/PK3NSL!OEBPS/font/OpenSans.TTFX \T3O0#p#SAPc35S!fȔL q-횯|VYgZ魬VYע3:g~wxY{;0}_ttw~ek;n68{[|"tm555fy[>~/%iݗ+^Fzu#QcI ˤK7/Eٹc[iv 0q^vf߾׹\2xbk_zVeSϹcm]kǦwOrPwg|&"|ӿ:.D,oo .{m|o=ݗKSBvWa޶Xyy_4wN/tuȐ{c1DY*]p%g_O8oM g?omIu&ǎ֣e/un+x:r)ݷ/doɦcuoMU֖W<џyzqo~G)j~l/]s+7B{].O=}7^8ip1aׯ,(/+}މ/I,;޾k+~5lmCsO_)%ꎈߖWnXajKB]Dܳ?՞b)8~cOٟ">uD4t /׏I?A~?eq璖eohK՞*z#{BskN˩4ts73ޫpqGN)doԬ_GxVBH7.򥷧5ܰ;jFKe/gε+/7w[^ko*6}VScxUp@K^նiݗ NEy=CmVb2@0j3Dn6 0>x^ _>Cq [(-h{#In~FYbr9S`,)c8 sXQDzZ"qA^2ڳX$"7xuHtIL0X,J% &($sY ftaj6j(;_HU뎐QR"XOQۣ8.`^hEA 1GFr2T8л ǓFj*9EVL,!:̭6r==7ǟzKFn^k/ y !x N 9U3! f'!HBrjS.K$ N )ۋĥ dS32 UÝ᮴MĀ5O>yRFУnOٝFhU *⌊hR8u) $ߛWtQa)#+t:Epjvyvsg>9o璗F.Zve^tBƄ~߹b-xǮ^=ٙ>3SS-Z%IȈpq0DBLwokB/[ JB>GisV+Op{6oXja +uQSx> Qɰ($D-VM R&xd*2$u8J}$

    g9~R؄~KL<<$r>< GbV*>澐i :?\b2V,1@]Ţ,:}cߟZBYŃH?k@~Һm|XXY%["V!ʴ2]BRQ6J%W"Yo3|9P+slݰu^jx}s^]|Þ0E|( IH攫H}iCV~NJ`7oҲeV"7wp^왏|jfm@:2H1&Rfs*U2TKHͶXJ> OJ%/'%RˎY\Ooܨ/*̍[]Z}//CrSi@z h4= lNJL"gT`q@zzJ\QqOֿfFÐ3WeB͎ilL 4ڡ7'd8Np R-fr K#;*;7CwJ㤴ГNPTdIU/܌ѴQ6߿ϩ/^ob ~2$& 5WP2/z'SC?7\ `x}_pBn7w^1,eryL!sXėeZ/f`UnfɩjfmOciP.-HL-K -xiq N%=&23@8H#d|;"H}A B )%0~eFOèT@8W+;(ҫMO-xӎx,rEjYD0o~?x7#t#G6EE]G_? k|^iB-}˵'{WYK% zAKBDn[/᫅- 4hEȎܨ5=$T\p3|/||g|||[} wȵu![Hdjrk{6I++n;ʞjkm=ՅZ?JQ6Q:)Rys$MqR,4:*44ȦRWK~"3zPָaDAc „Fz4ۼN^T[ ЋqM`:ybBa=BX áF3ʹ~@h`po6sv ]r,r47 WDr!g㲓`'~dP?#O`Ri`LW I%u!%m ok#FS=F11YDNܱcҙ"9/Q1%n:˟PK 3Noa,mimetypePK 6N A:META-INF/PK3N9> aMETA-INF/container.xmlPK3NVQMETA-INF/encryption.xmlPK3Nc}-YMETA-INF/com.apple.ibooks.display-options.xmlPK NA!OEBPS/PK 6N AEOEBPS/css/PK3N7mOEBPS/css/idGeneratedStyles.cssPK3Ng(_>OEBPS/EPUB_Pandoc_Test.xhtmlPKNW ]#OEBPS/content.opfPK 6N Ac OEBPS/font/PK3NSL!큌 OEBPS/font/OpenSans.TTFPK3N#ڛ  OEBPS/toc.ncxPK L"pandoc-2.9.2.1/test/epub/epub2_picture.epub000066400000000000000000000430231363630463000204740ustar00rootroot00000000000000PK 3Noa,mimetypeapplication/epub+zipPK 6N META-INF/PK3N9> META-INF/container.xml]j0DWG-ˁ@{mlu"" \Cr7oϔ7="=| -&ap!mtA`d:a jT8dA2WsU71&ڌuiTXKL4Dl%osK}cY+xc{g@PK3NVMETA-INF/encryption.xmleN0 )p;u!q@CxqH% oOR|A9N6!kG AoNXƳhVH@aCu9j9Z^2OZt4y%)Vzw&˝*Ǵ8-K6Ƿ3wS?O.'џg]}9PK3Nc}-META-INF/com.apple.ibooks.display-options.xmle10 EwNyD*!i7NPf5Q=FoW手$& !utg0<㰳!I~qm%zK1䋊{P}D*)& ]djC[hQ-|PK 1NOEBPS/PK 6N OEBPS/css/PK3N7OEBPS/css/idGeneratedStyles.cssRM0=_a HqY>eZ$x[xmn.DyVͧn@zOū1Ywj^P~.WOZ4)pG/LhŞܛoRM*Ի8S%=+a-=c%Q9~1'E[c4b56q_g c$e&VE)#x)?uLQ=:&??fE/,mqPdXM}].,;ݕq0ĵM9iED D 6y#Ȏ@=H5Dk Gdrvmj0z$YB[_6/\nZxx̣9(_6@d57PK 6N OEBPS/image/PK3N"%OEBPS/image/image.jpgxgTS[Fz J"HJAti)RD@P$REz't(R# lHH}}1ʞ{k=s>s1LLL]0~ XVUf<0\` w`x2p|XXYj윇xy9~0 x89x`aef:`b`bt0HSV4?!fV6H%.nh@5?>3!HYVDI%]6!{|'dsHꕷX ;> :rTT3geΩk\м|EMK+k[vN]\=? {2:1MrJ_i9 ?UTVU7wtvu|6:6>19E$L{k{; `fKt,v1 < zRMPל)z m-"HOSLeo,/ۮ)!frVp2Y12[89:$YRzͩ TF᧟맿EWZ O1wޑX-Q}YtNi̔6Q{NGY"!f xqɷb6@قRsÏa$g>#?FwO[&HPjYItL4YʷզPq7~P2Ѭ? n|~D0h1.QQ3>},w^Bjc=u:߼MbH5W~5 y<+Β"i  (0&IQ^bS'H|*sHoB=ɓt2MN`8BIoJ!/6^N;*8í"hTp3)0" sO JA tkNy TZ[[ߺoL=j|֋buiݕ_8oCPg,(s/ݢ\&t#DK'JZ՚`Y㏸Apt>ʤx/KEX#ɂu"*N ' k /J{).V_7_W. uzRAuܯm҂;:TM$X` ~ҚKy9So{u%&0zKMݽ$=v%5n #C3x3KycM> wqm-hߵ睒tu[cR@AviCUDcLLFӹ*A+htH=*Z#Wٺ6~SByNkO|TS NFpA8TwAʀocj34 W5;ok~mj=#UexO*xx1 LZt ầ;}:Z5G ܍rچK67/=޿R||1v(F72 \!vs]cmP5f44P{eM YIۊz mi$tm(|G>/@Ǘ[_8J4Amm2vl꫺xyV!-6dzb`Gi2l(+Lm[8tEdbpVJaHIR*%X5\ ׺]xQFӉL[⨚Q{&\L DR`kd3@b&rh09˥]*~ 蘌y]ǟd 35IʕynkNbŮG`ZbK9 =&{ķ]ܷ6KX17r Gt#l2FBe< `p2дb-ya%oWQ!W#ߨ"b˩Cֱ:ꑙ[CJy@:X2RcI*g=ktmZ^Sc qpW{?M2~̴%qߩ^k;Qf|;8/B-ZA.B r()$ QX&XD>\JXPPۭu 90Y!D.*$ VM {?|]3} Z.uq1H]=|M;;wT; \$x'RBekzyZ'?,ZS(mS|20q3a4燋S;BR[Ϳ;!Ee? N,e[]y5M3voPMo0.;vUf_m/g}.D>>#GQ|%ހ|hG}YRGNtC c~#"DLtxk19?<+ӸwF8E ʿN೯R֙ ,ch!tC8zMqXݼANjfjzΊnaȀ?JDȊt rSv0nФ `?pkյI6 Rfێ|'}ܸw#"ucKdw l2::@HRDa+H_}w%4OtLP| $0&*gق_Q"lx vA6K7.xU.aMJm3I}j੍fcSqP>C !2Ax*3vUHSt>#UK J 񾘌Cnƫ4Lcn|!=>Q[iLP"_GBCs6AE` 4^ێ *B/|\ nKBFr/4ekq=$E>MY3q*~=J>[Pw k0sƧr Qy銅Nx^Ulj>2}㌪)\NAUFςWJz u1"H>m W1>GqsrK78ǂ.+5~{j!WcadfŐpkr`|02vY ]+bx 6A@V%*8(b|-A$TuٌtE34xş6?}֢s \ PD4^UiY@[U-![;6V'9hP k, z' qո(Ghծ | <&T4}# ԹZxQؤ*T_v>*ZPS7&o){7H(\Z=_~fiȱf5x<.U5N 1Ne{&:>[>wXuB˸ 1nG< gV"vq(>5vp[ƃ[݇9e/,Yt юjUϧ)g/x5LҒY/`~wWZHDEŋs oQ5Z V?(\NQO4_ùViGrTC( \}2WwD$'A-z6xNߑy0Pe9sh d ? ֟n& b `'ҿmS ؈&0A\Dh$9;x߷16Y1{jdO>mmEd0V)4}J<ũT BAt@\Zdyu|ҔչF`y(s32lAoesi(qT7tS8ݎ!dL]bs ,~Z]*QkwsqC3A,1sA[^130xəDH Z{%4t4rm<vLaFIg&oY$/+OK: {v!֋O='dIzvfdN~>q!mp lx>9Stajuي"z[̘C9͍͋Z&i>wpB*A <,M~?t& a O$$X^>ũ{wnWQevgOR\LE%oJƮJ`O9֦d׈j,brv0_fp(U‚kC9S% t%^8ԌIB(~2CVD$;co4V1Y)rx}{WIÏ9E`7f `[uoqꎫ=jt4ܶ}Gź/H§{PKө ۛ6#"bL4vxߧwf#˰( N$x8]Vr~kk'ze7w&1a:~o|H=⏔zM]Zᦣ W]F:T-Ri"`4 J.h >}6\( ɞ~ww[\/x9O/) Di|xf +⥲v޽ZdC>b5-Ơ^.<'Vp,"׼qGU꤆䱈GV:=PdX䀯_:b=Ӏ-߇&A,OؔMDwC,=>WTsf#I+Py}j=+0'-X[F2J$]Dž.Mn:<#ό&h4!x&ԢWā+#U%__T,~5Ȧg۬NF1=C44 8SL"L촢%h h:׬mSuAmߪl|>y]`Άbkq,G&o7=ßX~}:';:nuHs(?j8fh_ c/1-4'G'{ќIWNocF)%6ELejGmk _߹ U߸BGHYwZ~fR0ܬ֊!; J@vpAk30|ȫ&+zs6UM.5&߄.& ¥u3iTȮ%pѤZxP-vC I /FsNL2P^xAìÉۏBLrdObVV]Zukxq="*޹VMv]bŹψ`z69'/f|J3l1ӤARb'vo(m31-[Цc-CrqVN,qzqweg6Cg1הj@wḷn ,n4o$a34ۏ`^-h\ 0Kݗ[w2ÖɊǯ .#g]#qt90@S3=7g)n^A۾ |gsj77-GK/ @t8]vDW'݉U}J\/Yb.s(j| es5hGX "\T~ rQw["̎IbSoDṎygg)!}bq1jITɎ7y݃ali/}D]v\U߫NpJQ v 2<5=vG?Bu\&u@Oj3 X!yOMOK%1A/&O O-2b̈wp!IfClu.c<-_J%69 -PK3Ng(_OEBPS/EPUB_Pandoc_Test.xhtmlmN0)ޓmBiV*/"8mY !)z&Xl>:IΛ搥Sd^C}AYRbOeDؿ|8*$%⼞ZdiX݂6q^ôwoX&ڳ,~Ω8a1YfډlIiNd0bՒfUw} T } u9qa;6GXΕ/ s qN65% Fm>G買AFNS}UMK.9ѩ&IN_|?e܂N̠ለv vuDy!qaimv%OEBPS/content.opfTn ^vmI$Vn*Z6}=^l&cV燦A.eI"T2.5^ K#F`l} LKnf֪㧧3U&RW8O9DQ+b@X^rk39{jF, ZjuPC%} og"A hbF:5"%5k2nGDũm5 LF m kwZF׷-#tsKr]m칦 E10TsexvWsS9h <͖q)mHb;tDBHLMհ\V:VZ^WqDTmdqL8bjQ-gŮMqNa Y/<$“PA<^kB05}qiqg"C9=Ќ܅ud_AJJ1*ٷ531b?JqCIAt~ jQ1t|#?A7.H{U ག*ȸHL1XD$Ɏ6N9M@Q=pBs{{[t8A9OG?6k%`˽9PK3NM{OEBPS/cover.xhtmlmOOO0?o#<]d+,qdbXc @@3طK+}]nZlX8>_6 qmsg<䈻7`PzZ"v]v5ft*Fa g.xbv&J-3፯t;j$ph׽q29SKE} +Sej$ 6y O0Y4_jQ\(_ lL1SPK 6N OEBPS/font/PK3NSL!OEBPS/font/OpenSans.TTFX \T3O0#p#SAPc35S!fȔL q-횯|VYgZ魬VYע3:g~wxY{;0}_ttw~ek;n68{[|"tm555fy[>~/%iݗ+^Fzu#QcI ˤK7/Eٹc[iv 0q^vf߾׹\2xbk_zVeSϹcm]kǦwOrPwg|&"|ӿ:.D,oo .{m|o=ݗKSBvWa޶Xyy_4wN/tuȐ{c1DY*]p%g_O8oM g?omIu&ǎ֣e/un+x:r)ݷ/doɦcuoMU֖W<џyzqo~G)j~l/]s+7B{].O=}7^8ip1aׯ,(/+}މ/I,;޾k+~5lmCsO_)%ꎈߖWnXajKB]Dܳ?՞b)8~cOٟ">uD4t /׏I?A~?eq璖eohK՞*z#{BskN˩4ts73ޫpqGN)doԬ_GxVBH7.򥷧5ܰ;jFKe/gε+/7w[^ko*6}VScxUp@K^նiݗ NEy=CmVb2@0j3Dn6 0>x^ _>Cq [(-h{#In~FYbr9S`,)c8 sXQDzZ"qA^2ڳX$"7xuHtIL0X,J% &($sY ftaj6j(;_HU뎐QR"XOQۣ8.`^hEA 1GFr2T8л ǓFj*9EVL,!:̭6r==7ǟzKFn^k/ y !x N 9U3! f'!HBrjS.K$ N )ۋĥ dS32 UÝ᮴MĀ5O>yRFУnOٝFhU *⌊hR8u) $ߛWtQa)#+t:Epjvyvsg>9o璗F.Zve^tBƄ~߹b-xǮ^=ٙ>3SS-Z%IȈpq0DBLwokB/[ JB>GisV+Op{6oXja +uQSx> Qɰ($D-VM R&xd*2$u8J}$

    g9~R؄~KL<<$r>< GbV*>澐i :?\b2V,1@]Ţ,:}cߟZBYŃH?k@~Һm|XXY%["V!ʴ2]BRQ6J%W"Yo3|9P+slݰu^jx}s^]|Þ0E|( IH攫H}iCV~NJ`7oҲeV"7wp^왏|jfm@:2H1&Rfs*U2TKHͶXJ> OJ%/'%RˎY\Ooܨ/*̍[]Z}//CrSi@z h4= lNJL"gT`q@zzJ\QqOֿfFÐ3WeB͎ilL 4ڡ7'd8Np R-fr K#;*;7CwJ㤴ГNPTdIU/܌ѴQ6߿ϩ/^ob ~2$& 5WP2/z'SC?7\ `x}_pBn7w^1,eryL!sXėeZ/f`UnfɩjfmOciP.-HL-K -xiq N%=&23@8H#d|;"H}A B )%0~eFOèT@8W+;(ҫMO-xӎx,rEjYD0o~?x7#t#G6EE]G_? k|^iB-}˵'{WYK% zAKBDn[/᫅- 4hEȎܨ5=$T\p3|/||g|||[} wȵu![Hdjrk{6I++n;ʞjkm=ՅZ?JQ6Q:)Rys$MqR,4:*44ȦRWK~"3zPָaDAc „Fz4ۼN^T[ ЋqM`:ybBa=BX áF3ʹ~@h`po6sv ]r,r47 WDr!g㲓`'~dP?#O`Ri`LW I%u!%m ok#FS=F11YDNܱcҙ"9/Q1%n:˟PK 3Noa,mimetypePK 6N A:META-INF/PK3N9> aMETA-INF/container.xmlPK3NVQMETA-INF/encryption.xmlPK3Nc}-YMETA-INF/com.apple.ibooks.display-options.xmlPK 1NA!OEBPS/PK 6N AEOEBPS/css/PK3N7mOEBPS/css/idGeneratedStyles.cssPK 6N A>OEBPS/image/PK3N"%hOEBPS/image/image.jpgPK3Ng(_)#OEBPS/EPUB_Pandoc_Test.xhtmlPK1N>v%$OEBPS/content.opfPK3NM{큃'OEBPS/cover.xhtmlPK 6N A(OEBPS/font/PK3NSL!(OEBPS/font/OpenSans.TTFPK3N#ڛ /@OEBPS/toc.ncxPKApandoc-2.9.2.1/test/epub/features.epub000066400000000000000000002015021363630463000175400ustar00rootroot00000000000000PK 7h9EEPUB/UT )$TE$Tux PK 1Q E EPUB/css/UT 6S$Tux PKXC5EPUB/css/base.cssUT V[iR$Tux S[0+"[V 6`x"3ɽ4o%v%ӴWT3:>sxL`{.{I2 -*4PtW~|[2eI~?<Ǔ%1 n!6 a dX-֌:hϖ,)+`F2 ElY S6 #zFGϚW2H5*]&5ň\{phVhF; =wd:36-H=1Υ+(œC%$k3% %Bj ;&TUߐ6_ft6-I=2VË)rAWTgXXھ,㶅t[iٞU.ui/lPg`5#l|%Jͧeq9/$^)EH<#X {XnFtxkPTm~ Bͥ K.):/PKDX~EPUB/css/svg.cssUT XS$Tux ]A EbRc (F6 Ķ .wW:TkcؕGg88i흿G:2O.ƃRڶ>Zh72%860‚%sPGfxPKK3DnCeEPUB/css/math.cssUT >1R$Tux uMN0FV$"5DjM±ElGTwhFx3s|$Oծbo2ĐR!c]i|˺]}dx7Ӥ,hN>y~$F r޴CM4%Wي%6]oݽdheBh+GT|ݙ,VA_ IV߲T8-"~>}IBl'PK h9E EPUB/xhtml/UT $T$Tux PKXCjN2=g !EPUB/xhtml/nav.xhtmlUT V[iR$Tux Z[S8~nj^vg\ hw˔ }Tl%b[IN~$;$vlYsѧGKe[sib9YoG={<? ŅIj]vǏcA$gԍzl"GXB7#`7HsAd*'O'#DZHD’Yڎ7{n1ь/3KD?O`c!5$! 5O % ؞|*Q5ʜk<‰Tk6V/( 2xdc-SxKE,ɂc~X^m 0'Rl NST# sq aV=%q xCfD&Qĥ߭3 BWj:@fJpF 7߮so7 m0#ǭ XpRf/U\ՐFw ؅yy9Atw?lRiv_I-hx׺Zۺ/VVġ~жz&m( Zj TgE|p"I٪ABAW2d>8FYRZ }~Lo5%3 G>X+c_>G>-tIՎLb:KHBkv yӺa9ÂX.rdǛ]1vp#<ۃn:fN(wYq SC1gcuO$4{En_w[+*Sh{{e~'Ԩ_jMl_>Wt!27o5k\9/!ÞK!e.#r:-s.zdڢ;^ž5Qbcۋ2ON@bv:@Mz gH n=}V 2y21sV e5JXɺ^v2VqeN^$=)G9^DC$"(MKj2kdxJ>TgOB. />? $6?Duϑ}]jd{~jPK|g9E9s T#EPUB/xhtml/content-mathml-001.xhtmlUT $T$Tux \oψ%ܝ}HmHQŊ\ \eIY%%ŵoP <hs(} گtw!~si˖wvfvvYr{;68B+Z{]5Q_]#/`~uubN&tjS9‰ېsCo{}zfUtaA!?C@W<f#BW?c_5P/83qB(g(FA#&{DŽlq#]?wUW +؆2q$x2.?9t:o߂VK𤋮!IF4س}:@>zu"~.0:CKٔw ;2*l-N*&oڸXGY6dZh 8#_u:YFL[,>,rs0JOI+2Cwp=z􋈡 Y–0Ҵh:_aNai2zeT=gHҭ`Y.Gޣsfz\N.( Je@畋=Asc? c7%Ɓ"+Pvฑź0sBWQ,1ElxR\6,;,)Dۨ=j~kA\]uyL &hdTVwy~Gdxiw>x5H` +@6rQ,Ɔ͹ya2 BP4dg}Xl5[A>;`~—6\BEVJquqvZw3dla@pD [6BXA\sf67|0<,x#;eF5ƔgtBlL3υVѧ8P@MkѫG/)ݔkd/ aw&ΣQ6be,/L鶐qgZT9'hZT@DHBXD*rRS QIAmA5@rU)iuE9spuԞhHCJz2/i"Uyf>Ith2+fzkBÍ4+ ͋xSYR=T ۞Cx <u؇1ÞL[>ih]gWoK} 51{X?GmH2 x뱠vs-L~EZ$*vZ;w,D۲QIm{ϳ9⃱}Ch{,߾Jn{1O.kY7|\j7b_rq9ymYrN*IzY&d6٫Hز>w'ߜbM+rÑ/ EY=Rk Wx'㒧 ]tAYf[Iu׷ <~'^\Cҗ͂^2.YƂl#l̳ arTz {WGɚl.Dۈ[;0O:?xzǕʚx%L`/d-:1.L O'GΣ >RY[grfhdM!&!1'f ڃs5\SGPKh9E #EPUB/xhtml/content-switch-001.xhtmlUT $T$Tux Vߏ8~f ו61 յKC+W TU`ambl@; $4u+|3<3!x3N H HƩxҏw+&< k~Fg?]Ębf7c_vqyyɶC+rAqvpB;$6.JOOGp%\i0SZ5&JX (ȦT]:0]Sj`kX1f`=oWl5\5XxԌ1f&5QBA& `΂mUHoxe\ȑm" tEܔ hۿfCҁY"/ixeQHe0A8Ǡ#.BM&ET xiPi[l<ĈxER&mb&Z_D5y{z,=Sqc::낶;a &N#P*yblee*-/z ⬇|:* &*;\χvZłAqUdkMn%9ZX˼0}Zjjsaq% 0]M.W׿aPi!Jv:=OAZOeDک {V .ޞ"zT ʒ[>;x;3 B֕&/U)D3%fM8άTQ sajm4kxS(r 20CBIJ%Ɏ=݀Er.tTGYQ* ;Jh vÖR;D屮$ZHL$Z8Q n.M<:ohVF- MKvowrje+L.15u&arQȃD(! x6fLoQε9F4+ IE@Y)h&Tr 1IjA5Ӵp \aZR^T ךAv9ocGUAыՌMX$Eӆ1jOہXI-D Ut|N +ii} X`qхW[|Fa@'6r\cɢY8m'8iظT 9< SRq AV1cQL}8@ikEsPhK߉^b,?hi=Yɜb]&ٚ(lxJ^p)17Jn%}ޛ7opٚ^GY=3* ەFP7PK 1Q E EPUB/img/UT 6S$Tux PKXC6%L',EPUB/img/multiscripts_and_greek_alphabet.pngUT V[iR$Tux mwVQEg9뎘o AP~6ղ} TvTJ-#[F;Ybq_.wg5~ :=}x: W(*((pGc)Eʤ͞xxߞqT{t7[-;AȎTEM\](^IdDɮ`kW¾+^p讘 1@,i4r#׷eckZf#00`m|E uDIMIũv{wIt52,i,5dŻS|x~g 3ٞecg63cYJfv~5YsphhiC'6"Q!},+3Ӹ 0rۻ;s[F m(9e.[q6<\o^W>r;$ۛ븎Atllnml V~l'G<;0rrrB4,vĴolI-o.e!oMA {RpZ(!$wqĚr^vze`ePIIc.rO8!bJKAzz>W+lS=+*b J]D9_mݖSx?SX5/_>k|^@ M7m-̂[ڜiv8f.kJ'Z@ L#h1.PNYLkZ~shH7&Q3Q9= sOp:KO'6c%%"W7$qppШmŅ\wF\tRc 9Eo*pe(\˿~C;wh`O8A;SDDp_cAAfE% D*Jc^%:/JCY%Q4 e#<-h݈a-插}DEۣFyzet]fy -,-߼ySh3pc±focHEQ]@u 3\$j~é盐014X;˧x͘6U9i{Gwf׭Iׯ_ j$L z8OcHHڐU&]jPWh|x(xL┰x5ߥ'3hzW2BSvŶ#ݼKqdAvKKK%%k~ Za345&L`l*G(=''c;I=me~b ldccG03 R+uA=߾}Bg+E/}.=7~o6_$N&8n4ΰz6,ƊUTHhhe~56bP<0@(ۢ3OZV??? C2&߻ ˽GbF>5pݞF>stcUW8a>;TBzI6MIųymH ?K]TFtvvRX P--/,`=&UqTᛟ?h!0D^ {o:;}e~vVc^žaQZ*]Pph}T"z\NdZEjHHȟǻgd rEdptl_A*SkJod3#v3‚0Mau0~*Tkjd/A0x`|tt)T2BLZ6An`βxjQi VU{q8"-c<[5)=$9~a5|͡=ƍ;@+ Ng $JPag+sn}JeE؎t)Kd_ww#1Qücd,jC8ǹٷNQB^tXg9ٹ܄krׇ -';_vQY>J^xu>wsua? Ԅw@>|U/ʈ"86\+Fp'EUikh6Lia!ⷬ瞇3)ȶ aEX0S\7bG+1:R7:E0ϗ<wKN8*VIx gsIwZl'ēnkiܼ uw>#",&7R6^{=ԥQGSxYYYUv/7z=TUoNMM=R1zf=U%0?LlGWgg2DmeiIl:Kz8)LYMނ::Cv`E*ջ6W31\uŭcu1\Ɩu*ɳkkjϯa Ȥ}ۍWf*12~"v6;;KoPءZ*7k1r:%k'fƲw3c ]r$$t|D`XІT0=%,ܜ1;T֔{##yyWW&@g?O||NjJz>N^pBZQ~5^g;::4rvA?)@Bu62t F7;$캕suH}>^[]]}/hVX5OO#-C+&&&.e(1Bl>+$/m&ffRzġ!Q} ?9YKIS;"k:j>* ?Uơ0_uvt^ EKyfԼbcS/,fpv(ac y$ꛊu^tL ?;{0߅a9]8C\ld < @VAch~, xQOCf@|!;ܜ0̮L3'(􇸋hT)|FF}_[JJ#Cp!-ԧu߭[/aJStF?uj0-af7jϭx, 1[H|IkXu #)1C%9X{9'O =Oú~}ŸSK] }]l;ok&@ +ѩzӷrp?ERWӭlY]舖I{ocAT * >Wj͉ \@|R265L;0# b):T?B)Q8Wl25-Nݻ >2hFk^-Muu_h-VV^"HIظkBY%m!PBF@CHBw8ZҩWUvT'iut6)q&l_Bua)a3<FE;@ZE<22JȘ(6Hx-}֪WQ+*7N@L=w~XEt,"->)\H8Mb5bdp&dg;I/9ҒB4gVjTZ$<ϟY \hpj~f)*+Z&􏶑ZZy^ CÇ^*U@[šU]հzU].)0L% ӊ*w35$}4lPpkCC8$$$h|ILL sL`jpXlB:[{Tp2zgEBW7DfaT5~Ԅ'&~8H./*\ǀ[5-~,,,p:/:s!+JfhhXX\WPPP봻'A9ٍU38#V  k 44D;2ܫB?`rl*CtӧOd#ccB6,{KP0g1׭N`ܼOO25:-*{MPBkA߫DkEQϻy"׭#82B0D!%yŽRh 4{Ӕ;iCTP#'}%Ż{= lmj9HՅ6Jp@ s !Gh9t&DsKZ\/~4Dx/heC# @W}rj&\DA}0>݀[ 2*hgȈ;N=E DP.wkaa~Α+ /sҰ^E= X VXfDLDja!q]]LOs!k7qd dб"/o@gފQOZ !)h]jVNe 嶙xQt(]Hf?𤵓ccJaBksuo<MkɌK衐PP}*Q픞`ù kh&""BQkŸVh?'LKVAhk@SXaIVnKWP?KaǿJš "oxc6 A _es[3GߥH5( y&,}u71h)䛀U.'gP*?>{u \<=J  P3[dڮFLfwT 7Y1Mt9h'V9IG3J0J̺["cc?VJ:kk%`3 11AY\_0?xQUT%3suI2ZX\RC#'m]Ȕ44y$_Vo^nC'.;ۙkr?]̞7w_ Ln4BQ<0iuטe}~fPP7!>A4ɚKHFgO@+Ŋ:[E=@Y5Э<=XV>VV~K3X͑᱐or/JH$?^ᾯu}Bj]YE%J þ;Qޣ`xZX[1Y`zX5u.zqq?=sU)dG[ cz+fi/n`'GFj/T{[L;=)So`57RAx=&j$x߾}|hrSeoI{vb A Y'Q{LT4''iMHfq~$uxy:3Lu õފz-{ UnP>in޻'--}~Tu_?+ؼ'_J*/=es̜g~mj |(Zޔ^ϪB+EGx<gf$ ->0^ݲ?zWoI+M:\Tz(|q)ߥW7ܸ'ܜٜ zӎg9)}_}/_~eujx>8VowMgkinWQ?PzݫRk_ O&20m#S'&q's[vԧ?i\gbό;w)>in,6i˅Kh[(^'^1nAUe:vyf-0lֲQy%[W9oW:>g]wfcYYgv4vΥGOn(y.^&ea}UI}9lޕ#cgk5m͘?-bHm[jyif?k&?֒S']If 0PK XClEPUB/img/nonimage.xyzUT V[iR$Tux FAILPK XC EPUB/img/check.pngUT V[iR$Tux PNG  IHDR.2~sRGBgAMA a pHYsod IDATXGYTTWF1guML*A`hC/`2aSD@%JJ@ԬYݍ1ꪉk]E ̰yhe~ZF*t<0@G6(edUO7.wB{($a(r/Y4$}=id}0ժ@B@7rY e@ArxfcTX/ LTehq3jȇA(+:{_{G&^;MF/p^j=eXTqi1ދ>ΐltdɭ1@ȺgD,\sE: )7`rYAӽT)1(w 1QY Y 6b>G[Jߧ@h1+kAqNFl}7_a9O\}J58qJR&| "}=e$~^(nZMgpv!-R$ Z~2zQ8nQ ~E}lmұWΑD;Dani63|7)AC|E2%YU=ry@6Ż)jiݒMvK b6 &vΙZÊ0$H{>Z27 D5rmZ&m"r;zl$#uwyDSV9y `>ia$;}s/( L93ۊw¸zyB od[=Y ؤp~6y?ۯq_MJiCϥiE\=~B Me$~'~ZU{,2Nz]RTJrQI]LgY"b.@ @P_P<  [n kάeB~He *.Yf'.v-Bi31-لd9~%m n)GUF0Ao ԡFVYLtH© Xi Zy2^*}mOslR$-AVE! Jz;~Hlk̫  9`pAx(㱎3IW_oBYںۨSрGѶAY1K {z?`8hXzK*ϠO.#~\P\{?w=y:4q)G7nhmkmio9v߯^#Rfc}*a@0T)MBj1[4@u~H& m&oWVOcw^ ؀IENDB`PKXCXF89EPUB/img/Skype_logo.pngUT V[iR$Tux {Sqw(P8ŵP/Pܽ(VܮS8G7/d3dgwg/r[ADo ~I@5Sx_-H7"ߎ5$ih *hozLfQ')-<\jc]$`c&3Pv78!DhHZî Y$W J"K_4as#{=$Wv kU>;!7.Q!4xo?o0{l8XsACO[I7--м8eOwր@PE(i`kճZl~$_Rf&(JycGfU-DZ#u+׌l_i29E]݊xfyhzR <0Ē]ƬBY TPj9gMS~ǬpI|Ep+x`P8l0R3E0y&5$6) <n.k6h *+`Jɇ7Gr=3Rln>h143]cUڣę>G5l:-+sۢgLkf蔰z c}BcSyn4P`nE'K!qdl`a> WoOƬEI?P-)%0+f: ~P3 \ rKAĺX RKx-e FfP Pg3(3x6SY:@hA . 8]*78LX}-Ur]& [fӣ>G*ry0V{hzd͈I.ҶZ_w^Y8u>ʯE]@mF E[:pG%U6+v'3cllN ^_ztha_xsSr oS (lqQȋ>PJ6 2R @ RK췢cj+oD.ڒl܃q{t^(e 2 ZžlLPRb)8ɲzgO9sB#v#lQ>֠{L&랦/o~{G5t{X>3Ɠh=~ڟ' ~E DY Zr\ 5{ŧ[88أC,*N13RUHZ0zjd}.;D4U!12U$ tQ$Cʨ;?kҢ2w䲈dKmT"'ũ1󶌉B0~]r+}e}D QUFrP`o?+Nֈ)Ôe Hp{n/ D.,ZVL7x]ozh0`\[Q+NgFHQR S$QOd Ahf6;΢Lmឪ@@|f{[y,!fX60i ԁ#3A/ \:\$ٞvx+kωۛnf˶?Z@$ ]pH\CQqډbj?!I\(.$dE7vcD$.=N%#+7$+iaX܍q3Mnɫ7_#E.(Ilcn =b.kӥmQ0l0k0f6x33k&Ғ}o3VLh=IKl~&:z=b-cc%wm7# )u8RB4K%7s#]%L׋ LmL: c&&%GA q] qOɠ{)S'QMPO.,a觏|>TPbZج;(LK&i[Ql=j9^^c3W-,!xr9^C&iD.Ȗ~Aw?kQ%Κl wgȇBtm-„v~'wDajTY>H zpk7ybcxpV&_U_\_ABo,L4k>k9 >7$(5<1 Dyoa^3RjVZj3$`&zR& Pw)JyAdWG~ʢi%/IE8'3,@*k Dkm񗀀=e5bl x+Ȉur qB/AN8]4=(Ԃ$]gi 'bڊ }"WO C5*BvԠ9er%f٫1DzBBP:c{–@/zg/8l $ ͎XѾ'c3KfN\V/%};J@%G;^ҟʯvz`Xz9SM3D׽0i5l4¾>'?pBe0܃ $$4v 5郯ך 4aJ~SfmZ,' L%µt´1/x|ܫöoOJM9&_b7?&ylr!mws "+Vk%95Ye`jJa!sPZI8G.VAF== ~Tqfb`>uFzɖ l2~[xij%"Zk]6 jL%KFK>w%Kjx#~GcMԀ!8 _0{JJ[X 9fJyJ0 35; XެkO r/ 4#e7@0/?Lx/#V s > ZW=j/^X9h)Ǘ/d̘Qˊ#&`38hĈ+=3 t7KyjC}jD'U'R[}FY q 54{#l9'z A3MֱY>NAL'/:M %iզʮ&5"C28x+%/4 MA?y}_N$Xz+ƶXP  ߤ^d`\.L|pI4e&fNOTx'gznti(=i;o܃3 s.'l%3Xmj^j$v۸!*hg9i˞E?at^9_Szں}Y;{锺,r_XY~o(+ﬡNGuR nJavWqJiM)wE/-/9AkFR'o %8fN%Mx{uV͍!Uq^"{F!uۘJlCzoQK\%:MZR+OAq[8UusVמדgr  /ը)y^#S9jܳ]E5 dG"'0&JcGeJ(ٟ@UXDJdgc͡i1<dž_H&q?jUHWfT~sCZܫ#±UoB=v,{Xy1͓w-!$EĦ şN]Y$=WV%Ol93яxX IYuډ\Y'6 7v kO%d8Xke}RP ޥ~/<$efS d!īKi~ )84Iui-ph~|7jEGas/@a:]}_ע[Rb}u5MMКP}۩p X Z`  RaD\'h6CWr5]~y_]zwjrRZ|%E̾nWb7%y|Y2-XV%G=|+?YO珮W:F1n;׾p43$>4Qz5et8Tq%:8&Z%:~yAy]56^9~GR,$f>eY:I DyB՞fc.0>)tTe_6IVS@o{(Brwwe'mkqy%]Ea싩ofRjt^k D;,f.a:QgcKx< jRC;ʣ Ycss( 'c~n95D,FhUg?r`W1KD=YBu~DŽ 6PA| ZƼczU0zNv wȔ3oꄽIߎ%T׺y7`/$'';ksm楏Uȹr O)ῌumWd h0~ ?D1Ur gMA? }(7P؛y"(dzoIٛGVf3pd^߆ \Mӑa 1 @s + ?Lr=XziSGbCdg dcCERW}k̳j_Kk7y7oQ=7* wIDW\""|IMT?8:4?M("\bYB(&3yB.ڨQ fjr&޷vϫ%%ifEr@WF7d 9@+"<G\?3,v|t4NW&ץe);Q`|[lߙtTL4CŔPvROpg2b+/A1"9,raf-]j ]ƳRxd]ap>Zo4rm㦫kX͚ 4q8_ȷʨu N*iJJUM1tX_8pwghyf "k[4ԛ2⏜nyǣʿߝjBNJ}, y{C nCk]7߬dQS7h;L$9m/L_ >W B%(WНϷүd 6K$%j6X^Nl&`jЋ4IR4!̠j56L.I~yqaKi6E~'dIN8hc AT19vHwc/x+ Q_j"Mcb +zFpm璯HlXX1uhV #֜F []O0a,)j ;-/.+K1 ^NEΕT9 ]'$;W*1VQN+CNwCr,a% 5YLŇ9* Z}NuEi,)NFx~aZHPjv \V|NyE$ʑ<R)*K S }mcYb Sϯ;Z94 #wdYyKHb!s/6 j"q69npH|VS7D>7F)J;Fgݖy2 = ID߽mA|<|mdt$Qg oǢ&U!mGܾ/\lR9.Ze1pv/U[O7g?Wa\(,,b%TљxHHټYl~ h.Em لVuﱾ,ٳt#v+MP~x-Z]lN.,l}G22dD2#8xNk1u}\ la[XƘtZږ'*rb CljGjD`aosەc|̸ JaC/|r?\`0aJ!|OEJ9A\5,YdW0>^7p( ~% B~7W<d;Ɯ,qО{Es}"?/{4$R&w&dmnŸ)=rS6k{odMya`PT+N8~WvDfϾ&=E~akcFj|fLn8SH{Pj:i͏\i_ lQy@r٬ߟRPTۮsv3Q . Wr(dk<}W'Qʜ.H_䶺ñ-A1 RgQoS 69?0Mn|hrNmN r~R}yN2F@! 2=&% @+BFlљc7 ϶c3\~;U#F2Wv2&K4er| pq۔;S1kˏˊqĆ i܄Ǖ*Vni\ ʽ@ i(&':3YT'|I}FW\-ӖQgq*Ra}R)yL}z#FVԆM>&RJ!%4`&²~yOXջ\D41_չk =LhJvL 5ĒE;+VQoM0y]#ollncr^)FkrĚ$60kEώfI3%n7AeAcZ kaf3$KKf}Vփ)6< 8tmT^@;Gs*$-:c8D¯P$ΎY}zlVh_Qiq&&03ďG:oG-kT=iE׵S*!ȍ[819E[pEJf*+$z o|-ۡ]LlR*GH-r/lj֗:M,(PikvYъFxz`{La&yʹjO,GP:~H`54N͒yl7 d%LAgL+ }%s *?p΁OA-(G㖣 #bf5q [M5;nL onU  Jfř{S:}ex 64ZppSaدkb]3*Gt0mɘ5pH]g.VlFxFѴ9vzpN+ 2Rj3&E%Ax.1\!;3dzTMD40Q׻lg33CAOP!$tjtJͰUrPGS>LyO9qc0+ycRex:w vgL:eڇm~1QD tu]/BKVi 6 `/~3f`ED~Fcrp1\;5~81t77sRZ攡S0,5 2"6619m[lvCyX`%n"nS=甙ELOn.Ӽ& ~|_ı bg4 _|`s2|x,\.-(&aofט:uu!1SփANsw}ju-+d߉׫ .FY8-6M|T d#BVț?D}` }vW`.yM|+npijGZ~mW«Oı] o F;@mVǙ#Q۳rbHj_ ,1lۢ $%c?'e8/y#PW.TcT~-e1_"qģҰEN(yϨ_pP3wUCN;إPq+|?AyǿG[VY7ZN:@> qg-*Tz/ _$+;yttɿ%a ޔ߽UC #vr;j]RW ŠlHrm΢{pM C&)AlmzQ3zW~dJELowt΅@u +dž{q-{>"Z vg&}/fßU"r^H s+(d׺ÉEnx0mϖl&FVJdZ 6Wm&՛  >ck9}J,u,\M߯{ňAz(1H|K|e鑎F*)5}c+z4bb+Ƕ]lmt ==Fc~1LxZ0ͥ Os@[_^孁4^Ӫ~(JўFGU(FZ |O9aTJovVkRJyX6lc )lF}h%=cfm2ϓ9nCkO`RB`u:Vky$E-31~ދ9,'2`J1 8ze$VE?$-~d<6,\oG9OW<!ϷS!?Vg?=}^$:+ѱÞ_I/qxѸ&sw3z,"tie3?׋<30RVq*)z6.+ޟ'FpRdۨN"Iy T6P#=*9:o*P9a}ǏGyK 9?4^EA_xLw$ oHwE˜^}1PܮW 뢥$NlX[~Ļ0h<ڒw' B},y@}kgg;$_K3R#)}h{GS khAZdاx;D2klS6z*Ǧ r]jw 1W8$SjLeT  eQM\U.@ rN wEn%&|Ea>GKmgOcef)R! ˹HO099 n1Q^,L[JN7ʫ'#]H'd? ([JɉJk/(WP|ېޜa {0ݜ{|0ړ Z#i@|GݝNռ!cr,$+*>!Y`؃e cPRЏKx9Cu,biÃ"ױdCw$'(/Bq#Eks"?EUaB$^zb:P@}m/;ա(p- y]V%NI54aem{hvr',DDt=QzdKSkW+(VtSםN 6  ` ;T:Ơfw 5"qEJ3E-|)/mlŒqݳ/["ֱ]uuD [NJ/&Hjs1.6%M>-,pTB&0 Z)^nt'LCݎ=%NY}?xI2'OD ϧ3E3% mFM ,otoGeP=93j]`{!bf;k)%cbpaZY B%o5HL'\s=is!~75l)z3; {21PTq;V-긒̻AHVJ Pl;I;jrqZ09:LsEwAHA7\H'~F*﮴u 'U.Rec J9fL3ZtـMr]ݬ'ffl[_eߎ#mlYoK.?sQvZ|b$q"(&ӏG;fN{e>ps b~2d%Pnd~wU rajw,2Ρ5rQt^ ;A8JQk;8\F(h6sb\BPgC28ye#`x2aD!^)!ԉ?]0,ՊR1L|vLƍ^"5Oiނ鲠M=쾒džS ۊiO)iX,IqubVMnD!0+lX Է4k8;y0KEE zFgL=d6PAjl ӴzAݭ Fxl9II> o #D18>*^FH_q+(QuU :$VzLT:ΚuJ_+ix}7Ix!"?[i_9riy֣÷|}.l뮌u1jSH};^OX;Qk@~3leo;7e:HOxTkt ѵxXog~*y>FdR 8E 'Mt<(v\WV!rW gw x |Qƪ∌ߛ _FlkS#/ewY箷\AMMUxL4q-$~6]lF؏og3 ۔eSBJ?7pV0\:|~܋D'kneJY_R"r&mBkc :Ez.>_O+07@fȋ}|*tl;ìx-9a3N:O܀3D&[u˖mu^G: tN@ÈF`JKm*^g9&lT "&I+O5*8{ҾQi/@zdr  |O/Q~d;4nͺVKWf:ط©`B4W+qBiR~$7!2L-EuvlhƠQON07 ]!_Kߣ_2s0 TlH l{|||#K_%m;BzUW@go gxWN %` =/I>_Hׯ00ip/_QUT+mPK XC EPUB/img/fallback.pngUT V[iR$Tux PNG  IHDR.2~sRGBgAMA a pHYsod IDATXGYTTWF1guML*A`hC/`2aSD@%JJ@ԬYݍ1ꪉk]E ̰yhe~ZF*t<0@G6(edUO7.wB{($a(r/Y4$}=id}0ժ@B@7rY e@ArxfcTX/ LTehq3jȇA(+:{_{G&^;MF/p^j=eXTqi1ދ>ΐltdɭ1@ȺgD,\sE: )7`rYAӽT)1(w 1QY Y 6b>G[Jߧ@h1+kAqNFl}7_a9O\}J58qJR&| "}=e$~^(nZMgpv!-R$ Z~2zQ8nQ ~E}lmұWΑD;Dani63|7)AC|E2%YU=ry@6Ż)jiݒMvK b6 &vΙZÊ0$H{>Z27 D5rmZ&m"r;zl$#uwyDSV9y `>ia$;}s/( L93ۊw¸zyB od[=Y ؤp~6y?ۯq_MJiCϥiE\=~B Me$~'~ZU{,2Nz]RTJrQI]LgY"b.@ @P_P<  [n kάeB~He *.Yf'.v-Bi31-لd9~%m n)GUF0Ao ԡFVYLtH© Xi Zy2^*}mOslR$-AVE! Jz;~Hlk̫  9`pAx(㱎3IW_oBYںۨSрGѶAY1K {z?`8hXzK*ϠO.#~\P\{?w=y:4q)G7nhmkmio9v߯^#Rfc}*a@0T)MBj1[4@u~H& m&oWVOcw^ ؀IENDB`PKXC=UvEPUB/img/complex_number.pngUT V[iR$Tux < J$٩\HYd$+*#+{%#eeqFHg=^/^^{~~>OEJ&J""(E9-x8Y+#2oĎZ 2DE, Ye95X8rN#y1ѧ8HR'ǑQSen䤵.kmJ^&{VL EMXukV[iU"Pˢ-ڱ)Le[r1̥<-OwZlF5fu^(n0dkS"S]_!"Ȱ61_gGf!ܖJ:ZPr7AsЪf@͛~*Box/+pA#H& *$V9V^ppQ8 ))Ѿ߿5"P $*/nP:8{xtd/f̙ZFFjhB]IO>ٹrEpxyy1NξWᐥxWW'a) KLy˿' N%Q3L/4>v%"'1Vd&7^Pu'fcc;<&6VАwm}n4$?)$?CE1r;zoSŇakSCC)- #!"Zka[]\\|Rn͈`o6GQRV~Zr*湺=s.'''} dfo$N+qfgeQ33wZm ;wxw'QGEe*Bᷔj噎U#Oe2{^2M7yBcSN..1XmLw| Ѫ:0}A#55<ǶM  ־yW48[91Z0,e{-`,LLAAa2ijm0dZ ZrĆIoyT>rsNب(>k[}8ܒGY cl9WlT̾Ń9[(Ĵ:indS8i2{Xjsڴ'xs}cqv֖W7.[}ci]RRäL˺$}Z6ԞٖpOEg/T>Fnb"_.B[\Z:08xֿxЯ*Rn=,,=Pb#(QLCS^nOx=җϲ2%a[~v||Ua c9[FGY .Z$N?2Cn-;^>ikWQTlKQ.뒓EC9~"FՌpkrgZEm"AW$P**tttceD=\nqqrrraHt9Zť UAGǗnÑR{5;ׂXMsTW\릚 괗/)eg֎Teis'IzIJJ3޸x#Zx(Lx]ZTq=x% 0ɥ~V86J*IjnJ7xI!NW1וP=RJZ0Y7.?GGqוij(Uh{n[[~}jb-߇I^}9 6>9>*0ĀK }ԟR]n˖]S\ ؽ?(E.NPXx87--p^AР+<;*mlSyhiSnA=>-W2qT 5<x*JUUC+~~kVDE)3duݽs #FOů?}:lÖ`3G.[ RL}:Z_5~vdog7h `n;>T'_$n\&~8Y4z=|Qߘp}prT&vZ~!ϛIm]]h>}zYy1i%@{U? W8bA.5ixM(IPgfKQ,W@a0ea> J|L)RizFw9R-,, WJ\NEZ ē䘘񤦦gN<` J,z3pj\:0AFO0drjW\ϟdde gEGG1|2N 03D!Bx @HKKm=gAQ2ͥgSCgVT$6m( (hy ,.&'͓D_+%>adBʿiv{ʃ}jZS'E/ :fss>{s ZZZGKWk#:VfrsqM =oi<&k}e4Vuɷ###%ؘ`6ڃ~5L2_*4~ɛduvz]J[٭'oh 2^AzA){ ć'SRW|2l|?n"lo;ΪXYYnHHn"@ SSवEC璻޷N`uuOrDFl;hcXcQGu ̪*fP;TTfG[;[A`M\\V:a9nhkcxxplZ{r7žG u'IAlb߇HXmow[5DxS8\l~,dM \DKlyRbnjnb?>ќQK o2ۙl\6)րV=LF8\reDjll,##CF[G'dee8^ZY9ΑFzm0-ZpŘrSK #ĭ[R#c Ouuu&VPvU_::0;/ۺFSXUǪ8دMK|c{# S-aW]tn?S55&0b@;&0;/x_4+){mϻ@XuPVe7;W/ro˳v&A]gZLMy%\Cc?:zi_O4i&'-lm|7}!G;%/K+7W*#Jrah4 $@[XƤ%Ic@BUf%Yjf˅δS _;1f5D7Ascccw뫦Ichhg&;;D?d։_׬JbL̖66x;N|cPHxxv~%Xŋ!&Rzi:=xpj45OgT,γ(׳17IKOg@iMNi镰f\< "t}s L\ j-_T[xtk.X]~ _YLI|G߯Fz[D2.^^N!sxX9LNj&<2x 5"'%G1:!Ǐi0)gT7Hi9T \.<2Ba$ۜ44Al/]C_Xm:_ L鸵:0L\k)᷶ yne+CsRC uVV"襤]ֶnDLLC׶ Ku3#e> 3W¹Z ~gaF;.`SM'8YȨ9s.$$^c\lZ~m~}g/9E_9YxU/|_Ï(W7[Zq;midz6]]yCe^gӥKx;>ұp݂6{Mi xŭd=hypM eKٿ\yZC g{Gՙu}ݴ؅ȃ[:l^p_i#Ao3lrSLU}Kw<^z~&JMzSMgn|m+y͇85v>mϟ[~}qSc2ĺWLIʻeq^N#8|ߝuĒiG jk% 񽉽ZGv=N;gwNZnX]A zXФo,[k}CucY>OZiSe~^Wĕ>17Í]yF۞sLiKyË2̍C}ke⓶,vk]_N2=%g|2OK6݃,\z&\denc2'6.~يCk,׾e7.뚝[;{N ^tn~sM1Cg?l%YӯZ}DKul7C׬G j7FUM]w.IxtJ艿 "sU- c7D|q+ԓ#*׶(hSzgVL{-+wBɿ{⠶e1,u$׌3hlHx}5}buI<8qhn5.'K\5̋Ӈ^oTJ2xv[77/BUcIpÔf_i7+xsgwSUwz;|߀zc69[{{uy'rWyS&杉NQ:uKO;wgE1^>56.C#3/x{ߣe Hx]zPzutonyΪH/MzYv}7iíf́9kƯ-~X9*Zs/oG֧]yկW7C;lTE~mJY3$'G3[x4kÐPKXCqEPUB/img/cichons_diagram.pngUT V[iR$Tux -XX]%DF\%C@UR@Q$KCs~p,g91e%=$yA#i)1EB1k d()mtKAw?u 5a=Eb㟁623Odأ D*-&0F yƯjI<|L೩@'˱ΣCEչIbibxTp$qZwj AqfmtiYڐj_P6?.ӣJ;|sue.[d0bNVa€!***LO.CQAA)/{K/y' Tu$%̿ h71aTe曃6DD ,:'9\14A#KLqo(M`J0szg ё731?Nn g0:\U Attt0-[1@RyCD\u:g\^!IJ$\u H,HOQgiň*+ofp!133ֹTjpU%=G9 nHk9|zm>⋃ $ @=7IyNW͑@AqDŽLjz:Cme2nLLL lV Z,r8?+vvyő¤ug(gMuTR䩘s͆,ҖSst.*,,ܝѥU,KCpCؠ$fmolκZ6a4/{9\{ƆL`IQOWWɎ{ skk  K7&5(^'MN6LOfȰ!zTTYFðNf/ȅ*kb<nlvcw'kݑC`GGG ۈ428"b1mc3Tvc\4ѬǦ=Uﯳ3Rn:c? IIa7:PSCZ<&\ϥ>|8Xm]un{ mX_羜z%B(,'-Þx>Pcx`87uD>6P6K7gdRgm%_h&)OLd9.4_ mSo7bҳА IҒ˗/ K)n찼=NSPP'n@'oNN^PndBVb`b}6A+|V?Ӄo'}^ T=-'}K# I hӉilz'#ft|wlB Noجu?U%@Ym n3aoQZ7\{fJ!\f,%EEЧH85꜆0M=N; o 5yJ_v {P ZSv 444'vV:*k5~Aɽlۆ ư뛂Mjyd ,opP>"*O|G1 <;`RZ[_ gdfpp4b3}y|~țnAO_  1ebcgt83xaXsAL|PaffV{diiy~p7l?eC>eRz[ :EG:jxy`2M33_eYuPBNGG ʢZϻDaO))*$$Eؘ.΢MߙH9i&vRSQ1xbvl_.Q[QZZ眱a|>ԐNI>Rvux'Ә7~NtU>[iJLܟAtUHYb>qs-J35c&"OHC#qѤvp34\@#?S5dꁊE n$%%ᒨZM׋&!*g·6ܦӰ=%F.ӆ6UU t 49f89F*=QwbˠCˢ̢sb@ni =dD!dk\XoZ]{yx<}><&6#Xa>-x&g(= 81P"`<7~X*M2Yy xs ʆ@{ ;c=g`8aR*5y˾g+LDSj{( Zex׍0A H&w,C1U Mj덠嶀_*j[j@N\uSH`fR=u\<fs[Znf+ӌZ@^1EͥKSEp !y5*>+T]|XV79X-*,g*Y3}t[t%0<˗mk?{\"JK9%xhvyZ1wx( ^lGU՘BI8S-O^ ]la-`I/^ 8ZͯԻ4B}cMX8V'405>nr3Z:r>@.o_ 6mcRTi󟴽8޴8A*SbڢwAhzCw,["i` Ӏ{Ŀ87Np:xˣ? _{4wU\sn6_=o.0aiVϓWӵ=. NQd]&ƻWQZUr_}Q7Z;0;E% MEs:t[{8i0daն;J(`si ۔}y4)z^vG.PI(}6=qVثrOf0.yM"k~mv7_]Sa܄8cl{>ϗa*U K/ȥR(J Rq(I0P|wFFFXDBjl >;00`HBݗF ‰4`An?"{ɵ&ELXC49 *ߟ#uK\IV___vِvٶS|/KiEEOjUVv0igQKH#b/zDEEC#"BBp:1 z۹ *m:7˭<BZKŵ$xzmXn!\7OGq}\ #˽iN'b0IV- tn ԘT&f+xm#۫c{8--_ʌŧFSD}IABL'3AjW|;ڟclE*eC W*17<<1@W(T}+lJmwT~JאyAEG:b'pSV%Y o,=L}pǧ(]لw:PRZW knn1]q8lʎEBCC Ϊ8:>>6ܟ,}p9V緹W:9Mǽ0bͽS[[H^'+،_Ohe% שּׂ€D i]#{0-PI8Vu.WWVDYYY lh޾};wڷwTEfGp8,8Ps.@@pQ1}""!A=@EBm}rz:ȧ-Kres8=9&mbݶ;wdk0tOނS7ycǠ+yxz~cxd裡!^Ғ0a7X@` kJkL/^x $6$\O =v[ʈHwD8ѥ5[SSA'G# OVw!I&0ruU\\<><)] ;]yf3텆$rD]?cu##{2OMHu uܢ=TrQRRSsr> SӼM&[9qD{8hV#Dgm\(EXxH }qA8׸~jp"W>^,.jX6wtwuu0AC@jN;k ^4"ؓ 11a<}X_@$6d9fAGJ2%#v;/pEJܛOg A(]ov$t{'tqJM~;=u6Vk/5!׷9]ぽ@򘱾W\RbАؖ@([ #inO( *@AbؿiQ GsT4I-'E`=rtt |G08mWCš_?ޝ d.jlL[ V#!# N8H|K23G__; Р?{6edX|.8τ?OM0Y* dl0T*XMPo@1·HP b;@Y%Uzy5%hXi3NO5~uOJ䬄e+3f}Tǩm;54-*x?K!-.+V PKXCܨQW EPUB/img/Maghreb1.pngUT V[iR$Tux uVwPO0R+.M Haq)z) 顈[5(b"" *D4"lH'@("=$$!͛yosw?|w0Gkcrp! ~q *(Bf@SK ͍h=_H[K1*ҐkYkj!4f Kv/Viu=; :Gf1j Uj?0`f#%2o]`!: D`-ߑᙞ~QU @L1Ȋ+Y&5~\]6*`"5-MqFTD6_1.i(_aQ\%wNC1ZTqUo]I?2iN2^6" rf/q9TF#C#Ί,gthuȣJ*_#hW}H(bol܉ K}(>}Y`0CC.]%ϴRc|[vxyݑ#dm}gœ!EȎ.!˚삺o{(+2;ˆ934m4]QzyeCK#gi joo0ɺ{`qkV7{mmm{O45.0L*8-z0Gڕ^jbg'7~} ׉ iG\_9ۋ<:`\r1RR,R5VR+U8q F=5M&AҰH#dC܅獤t;㰁 +ٞsGn,UvC)Z{ߕЬq= hHL*;:/wyWs t֩rߓ'~2w.r6 grK"\XP`&fB^&GIkeǨbnn^L y49z>,L{8ϵ9sFDMak./ڦ^Ogܨn$ x>Cy:%/[xpXw F2BYIfUXC` Yf("h+#V6ظ ѹ)3S\Xg/}uިr H[pu " =(vz?~|v2혫3ZGemq˿w_x9R*J-LtnvSfόUmMЩp}͵<)Vν2|m؁l xs'y$*n:Jr?_c>!|4zJt7u#ul> P!%U!ګn}xJ|G69mMrL*CgA3GN徔L(D9+s5]iYd[ޤ7fﮃPop8WǡenY A _ N49p@:VM/8"?wԠaTWMuѫz%[o_qq>n XA+㤑@%񉌷:G!uSiI"NCbCU#t. h6,p W?ͦ(ĄNh2 :F!e `?+Qv-Xo"tC8z\#4y:~|%[Rm(4YZ5[KL1*k,u&<]8^[izg!q⪷tf#U ?O;/!m=ad4}I w?K9DT}Ø>4O"TሐssDDDi *"znbbF\\LX$!VZZF6ȵ?^dկSV!)6s@Nx Ԋhr"br"V "" DD%ejDa89 .'^l>0Ԗ WJjlR82zl&]=}Cs mwgkg(Q_SR/^Jιv=7{<,*~TRֶ]C^y;ʘd0g◯Koʪ_"ٿKK΁8b/Q rfk9 rA&)GX 'H+36W]̱g8_<19 yi` ,"|gHz'^b8b{@uM"r(oT}0\8,J톞o4 5/x0U1576I컬j۩Ю]diL [.DAO?FTܒYL}A3-GQHa7M!c^*v:}tjwHhO#=7N4NB@N0F%{X߄F?bk b%t`C碜Sɺ Ixڄyq4 IҏEo^[ᚂM EѡF RnM;}ƲVj T!Pdǂ$ځ`ꏊȴ|%#\d*^iwv{*d3fۨwE] EKl.["ON< %eZwɱj OGE}RrU)>uyfKbmO&įge<f)0 k7lòN=$)EbY.HȐ~kD+yU5˶~'r/0poL/A6{1fnF4O݀׌rs3c0{aU7TAE-cbg"sΰ`:d g%DD;y0`ڭ!e{)beͻhh$*7 /A(tʶ'fmؘɫt-EZm/(>l`3g$W!@E%މLUWzUWM%e gkl{R ,@ކLHVqȓ=ʓ?zi.it~sW8bʬ+߻6\C̬ V.t|4خڪ^ 8LɘjEТ-B^/LFSH؞De9ߢ)-F/xT?f^0p0U.~@!{w){W~?\wߜwQ|D%utN;nK]`xHjCmhfoWoGP3iI2d˙Jo4t ˾fS[A}삓mNA{ Ϫ/ ˍ<5?Yeag*7kx$d? h"4<+r]0#0vQF͛bfkelmϴUXM *EpO{ U@:"1MsMm<_S~doC0jQ/gNw^Dbp~dOզXt4f!dPpIoJc̚8 7 n (+آ; 8c WOhy e s>(fLXN0&ȑvNe>x1Q^wfE Ѵi<𳡹؍!"lJΜp ֦~j.;NG3m_bsB@@0b[F(sløo2r1չ:g渙%:m3976u'@/U9ݺ/&x&sC'\sdyǡ`E- y|{®K& *3tscuci|Y#;mHEY4%2sh%U>i*_Slr1xS-‡$[-Xğ̉{?/;d(=W|$ET^l~B:KK 0C*8nN(8 0.>]prWNtbZQ{ܺd; ROr-:(|7PK XC3-33"EPUB/img/ElementaryMathExample.pngUT V[iR$Tux PNG  IHDRR3 pHYsod vpAgR!Ǵ\IDATx1 Cp [ZZqAq1o X *"%tlNENeiĊl=SrCwiҩȮ/[iPc c^Du#øVyR̋z^Ȉ:, =gƕ9A"=C['Iȇ9xEV"`lu _NJ/*!U}΀nKaJhIAơ!UHCё] / fO<|KzRVdE!7O]{[gB" ]|6K/#φ-]HcOfPa "+g^4B3!*Bj;ևkHsexOս5h Cc7!%eHL,`fHBO/-e_ Em%bBߩYH"C*%Ly&#ɑg2y.@#%Hr䙎Gː3I<3ɂJ<fMȊY$Β7h:1sO¯z.Yβ \,+r${YJTɌL,ʁ̢,ʁRudYEQY:QEe&<24Jā,ߩxE~82uRYT@s\t]" i#SUޞ.zTXtcreate-datex320505 1221246020Afߴ.zTXtmodify-datex320505 1024206020A BoIENDB`PK7h9E{:H EPUB/package.opfUT )$T)$Tux Wn6>OZ+bUn GE\bL*Iy7詽koC%!%-we` àH~|ÙB; Wr#&ʸ\MC~%dfskiV@e8oCU.n*X3&-_pgN^$#ԴӌJ Ϛѐ Vք0tWqF>ijb6VV2cM-O0p%͘'LI ;ѹWDijE!v[5:|^ߜo.󦶉[[@:~nO/ާ D &O1%3-**D`JP.< `ɈET_p9k6;5nw' z ,nLO'29'-뉛xtޱ'-h$yO)N4Go3" vb9e T3nŲۂC"@6:Fuiԭ bL1>q"VǨMaIJ{쮸 V@p^AtzۖO 4'uҝu9Mv?Av*r|P.DŽu~|ZbF! 3-C6 I:O~YJ$_@X xݲš+(g>c quY Nkc 5 %ۦ>dp ^U넛-*a}5Zπp&0?[ﯳ-I QDl}jmj6k/>\PZf-_afb5ڱq 0Ήaro '^8--ozXlJ;v 0x[u ]K 3b7=I]MBϹtxqg n> c W LzaoArPK 1Q E META-INF/UT 6S$Tux PKXC\ˬMETA-INF/container.xmlUT V[iR$Tux UA 0E=Eѝkz1j0 M*z{JͣNCV/װi gLxNƁ`0LvF"q+n쉳ycf>GS(A$w>PzFuce|;:*Ze~F10O9.?"c<)^PK XCoa,mimetypeUT V[iR$Tux application/epub+zipPK 7h9EAEPUB/UT)$Tux PK 1Q E A?EPUB/css/UT6Sux PKXC5EPUB/css/base.cssUTV[iRux PKDX~EPUB/css/svg.cssUTXSux PKK3DnCepEPUB/css/math.cssUT>1Rux PK h9E AEPUB/xhtml/UT$Tux PKXCjN2=g !EPUB/xhtml/nav.xhtmlUTV[iRux PK|g9E9s T# EPUB/xhtml/content-mathml-001.xhtmlUT$Tux PKh9E #EPUB/xhtml/content-switch-001.xhtmlUT$Tux PKXC_ EPUB/xhtml/front.xhtmlUTV[iRux PK 1Q E AEPUB/img/UT6Sux PKXC6%L',4 EPUB/img/multiscripts_and_greek_alphabet.pngUTV[iRux PKXC`P<dFEPUB/img/check.gifUTV[iRux PK XClKEPUB/img/nonimage.xyzUTV[iRux PK XC VKEPUB/img/check.pngUTV[iRux PKXCXF89VEPUB/img/Skype_logo.pngUTV[iRux PK XC 8EPUB/img/fallback.pngUTV[iRux PKXC=UvEPUB/img/complex_number.pngUTV[iRux PKXC%&e EPUB/img/check.jpgUTV[iRux PKXCqԷEPUB/img/cichons_diagram.pngUTV[iRux PKXCܨQW EPUB/img/Maghreb1.pngUTV[iRux PKXC]7EPUB/img/circle.jpgUTV[iRux PK XC3-33"_EPUB/img/ElementaryMathExample.pngUTV[iRux PK7h9E{:H EPUB/package.opfUT)$Tux PK 1Q E AMETA-INF/UT6Sux PKXC\ˬYMETA-INF/container.xmlUTV[iRux PK XCoa,UmimetypeUTV[iRux PK pandoc-2.9.2.1/test/epub/features.native000066400000000000000000000441471363630463000201050ustar00rootroot00000000000000[Para [Span ("front.xhtml",[],[]) []] ,Div ("",["section"],[]) [Header 1 ("",[],[]) [Str "Reflowable",Space,Str "EPUB",Space,Str "3",Space,Str "Conformance",Space,Str "Test",Space,Str "Document:",Space,Str "0100"] ,Div ("",["section"],[]) [Header 2 ("",[],[]) [Str "Status",Space,Str "of",Space,Str "this",Space,Str "Document"] ,Para [Str "This",Space,Str "publication",Space,Str "is",Space,Str "currently",Space,Str "considered",Space,Span ("",["status"],[]) [Str "[UNDER",Space,Str "DEVELOPMENT]"],Space,Str "by",Space,Str "the",Space,Str "IDPF."] ,Para [Str "This",Space,Str "publication",Space,Str "is",Space,Str "part",Space,Str "of",Space,Str "version",Space,Span ("",["version"],[]) [Str "X.X"],Space,Str "of",Space,Str "the",Space,Str "EPUB",Space,Str "3.0",Space,Str "Compliance",Space,Str "Test",Space,Str "Suite",Space,Str "released",SoftBreak,Str "on",Space,RawInline (Format "html") "",Str "."] ,Para [Str "Before",Space,Str "using",Space,Str "this",Space,Str "publication",Space,Str "to",Space,Str "evaluate",Space,Str "reading",Space,Str "systems,",Space,Str "testers",Space,Str "are",Space,Str "strongly",Space,Str "encouraged",Space,Str "to",SoftBreak,Str "verify",Space,Str "that",Space,Str "they",Space,Str "have",Space,Str "the",Space,Str "latest",Space,Str "release",Space,Str "by",Space,Str "checking",Space,Str "the",Space,Str "current",Space,Str "release",Space,Str "version",Space,Str "and",Space,Str "date",Space,Str "of",SoftBreak,Str "the",Space,Str "test",Space,Str "suite",Space,Str "at",Space,Link ("",[],[]) [Str "TBD"] ("http://idpf.org/","")] ,Para [Str "This",Space,Str "publication",Space,Str "is",Space,Str "one",Space,Str "of",Space,Str "several",Space,Str "that",Space,Str "currently",Space,Str "comprise",Space,Str "the",Space,Str "EPUB",Space,Str "3",Space,Str "conformance",Space,Str "test",Space,Str "suite",SoftBreak,Str "for",Space,Str "reflowable",Space,Str "content.",Space,Str "The",Space,Str "complete",Space,Str "test",Space,Str "suite",Space,Str "includes",Space,Str "all",Space,Str "of",Space,Str "the",Space,Str "following",Space,Str "publications:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "."]]]] ,Div ("",["section"],[]) [Header 2 ("",[],[]) [Str "About",Space,Str "this",Space,Str "Document"] ,Para [Str "This",Space,Str "document",Space,Str "focuses",Space,Str "on",Space,Str "human-evaluated",Space,Str "binary",Space,Str "(pass/fail)",Space,Str "tests",Space,Str "in",Space,Str "a",SoftBreak,Str "reflowable",Space,Str "context.",Space,Str "Tests",Space,Str "for",Space,Str "fixed-layout",Space,Str "content",Space,Str "and",Space,Str "other",Space,Str "individual",Space,Str "tests",Space,Str "that",SoftBreak,Str "require",Space,Str "a",Space,Str "dedicated",Space,Str "epub",Space,Str "file",Space,Str "are",Space,Str "available",Space,Str "in",Space,Str "additional",Space,Str "sibling",Space,Str "documents;",Space,Str "refer",Space,Str "to",SoftBreak,Str "the",Space,Link ("",[],[]) [Str "test",Space,Str "suite",SoftBreak,Str "wiki"] ("https://github.com/mgylling/epub-testsuite/wiki/Overview",""),Space,Str "(",Code ("",[],[]) "https://github.com/mgylling/epub-testsuite/wiki/Overview",Str ")",Space,Str "for",Space,Str "additional",SoftBreak,Str "information."]] ,Div ("",["section"],[]) [Header 2 ("",[],[]) [Str "Conventions"] ,Para [Str "The",Space,Str "following",Space,Str "conventions",Space,Str "are",Space,Str "used",Space,Str "throughout",Space,Str "the",Space,Str "document:"] ,DefinitionList [([Str "1.",Space,Str "Locating",Space,Str "a",Space,Str "test"], [[Div ("",["ctest"],[]) [Para [Str "Tests",Space,Str "for",Space,Emph [Str "required"],Space,Str "Reading",Space,Str "System",Space,Str "functionality",Space,Str "are",SoftBreak,Str "preceded",Space,Str "by",Space,Str "the",Space,Str "label:",Space,Span ("",["nature"],[("style","display: inline; font-size: 100%")]) [Str "[REQUIRED]"]]] ,Div ("",["otest"],[]) [Para [Str "Tests",Space,Str "for",Space,Emph [Str "optional"],Space,Str "Reading",Space,Str "System",Space,Str "functionality",Space,Str "are",SoftBreak,Str "preceded",Space,Str "by",Space,Str "the",Space,Str "label:",Space,Span ("",["nature"],[("style","display: inline; font-size: 100%")]) [Str "[OPTIONAL]"]]]]]) ,([Str "2.",Space,Str "Performing",Space,Str "the",Space,Str "test"], [[Plain [Str "Each",Space,Str "test",Space,Str "includes",Space,Str "a",Space,Str "description",Space,Str "of",Space,Str "its",Space,Str "purpose",Space,Str "followed",Space,Str "by",Space,Str "the",Space,Str "actual",Space,Strong [Str "test",Space,Str "statement,",SoftBreak,Str "which",Space,Str "can",Space,Str "always",Space,Str "be",Space,Str "evaluated",Space,Str "to",Space,Str "true",Space,Str "or",Space,Str "false"],Str ".",Space,Str "These",Space,Str "statements",Space,Str "typically",Space,Str "have",Space,Str "the",Space,Str "form:",SoftBreak,Str "\"If",Space,Str "[some",Space,Str "condition],",Space,Str "the",Space,Str "test",Space,Str "passes\"."]]]) ,([Str "3.",Space,Str "Scoring",Space,Str "in",Space,Str "the",Space,Str "results",Space,Str "form"], [[Plain [Str "@@@TODO",Space,Str "provide",Space,Str "info",Space,Str "on",Space,Str "where",Space,Str "to",Space,Str "get",Space,Str "the",Space,Str "results",Space,Str "form"]]])]]] ,Para [Span ("content-mathml-001.xhtml",[],[]) []] ,Div ("",["section"],[]) [Header 2 ("content-mathml-001.xhtml#mathml",[],[]) [Str "MathML"] ,Div ("content-mathml-001.xhtml#mathml-010",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-010"],Space,Str "Rendering"] ,Para [Str "Tests",Space,Str "whether",Space,Str "MathML",Space,Str "equation",Space,Str "rendering",Space,Str "is",Space,Str "supported."] ,Plain [Math DisplayMath "\\int_{- \\infty}^{\\infty}e^{- x^{2}}\\, dx = \\sqrt{\\pi}",SoftBreak,Math DisplayMath "\\sum\\limits_{n = 1}^{\\infty}\\frac{1}{n^{2}} = \\frac{\\pi^{2}}{6}",SoftBreak,Math DisplayMath "x = \\frac{- b \\pm \\sqrt{b^{2} - 4ac}}{2a}"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "equations",Space,Str "are",Space,Str "not",Space,Str "presented",Space,Str "as",Space,Str "linear",Space,Str "text",Space,Str "(e.g.,",Space,Str "x=-b\177b2-4ac2a),",SoftBreak,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("content-mathml-001.xhtml#mathml-020",["section","otest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[OPTIONAL]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-020"],Space,Str "CSS",Space,Str "Styling",Space,Str "of",Space,Str "the",Space,Code ("",[],[]) "math",Space,Str "element"] ,Para [Str "Tests",Space,Str "whether",Space,Str "basic",Space,Str "CSS",Space,Str "styling",Space,Str "of",Space,Str "MathML",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "the",Space,Code ("",[],[]) "math",Space,Str "element."] ,Plain [Math InlineMath "{2x}{+ y - z}"] ,Para [Str "The",Space,Str "test",Space,Str "passes",Space,Str "if",Space,Str "the",Space,Str "equation",Space,Str "has",Space,Str "a",Space,Str "yellow",Space,Str "background",Space,Str "and",Space,Str "a",Space,Str "dashed",Space,Str "border."] ,Para [Str "If",Space,Str "the",Space,Str "reading",Space,Str "system",Space,Str "does",Space,Str "not",Space,Str "have",Space,Str "a",Space,Str "viewport,",Space,Str "or",Space,Str "does",Space,Str "not",Space,Str "support",SoftBreak,Str "CSS",Space,Str "styles,",Space,Str "this",Space,Str "test",Space,Str "should",Space,Str "be",Space,Str "marked",Space,Code ("",[],[]) "Not Supported",Str "."]] ,Div ("content-mathml-001.xhtml#mathml-021",["section","otest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[OPTIONAL]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-021"],Space,Str "CSS",Space,Str "Styling",Space,Str "of",Space,Str "the",Space,Code ("",[],[]) "mo",Space,Str "element"] ,Para [Str "Tests",Space,Str "whether",Space,Str "basic",Space,Str "CSS",Space,Str "styling",Space,Str "of",Space,Str "MathML",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "the",Space,Code ("",[],[]) "mo",Space,Str "element."] ,Plain [Math InlineMath "{2x}{+ y - z}"] ,Para [Str "The",Space,Str "test",Space,Str "passes",Space,Str "if",Space,Str "the",Space,Str "operators",Space,Str "are",Space,Str "enlarged",Space,Str "relative",Space,Str "to",Space,Str "the",Space,Str "other",Space,Str "symbols",Space,Str "and",Space,Str "numbers."] ,Para [Str "If",Space,Str "the",Space,Str "reading",Space,Str "system",Space,Str "does",Space,Str "not",Space,Str "have",Space,Str "a",Space,Str "viewport,",Space,Str "or",Space,Str "does",Space,Str "not",Space,Str "support",SoftBreak,Str "CSS",Space,Str "styles,",Space,Str "this",Space,Str "test",Space,Str "should",Space,Str "be",Space,Str "marked",Space,Code ("",[],[]) "Not Supported",Str "."]] ,Div ("content-mathml-001.xhtml#mathml-022",["section","otest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[OPTIONAL]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-022"],Space,Str "CSS",Space,Str "Styling",Space,Str "of",Space,Str "the",Space,Code ("",[],[]) "mi",Space,Str "element"] ,Para [Str "Tests",Space,Str "whether",Space,Str "basic",Space,Str "CSS",Space,Str "styling",Space,Str "of",Space,Str "MathML",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "the",Space,Code ("",[],[]) "mi",Space,Str "element."] ,Plain [Math InlineMath "{2x}{+ y - z}"] ,Para [Str "The",Space,Str "test",Space,Str "passes",Space,Str "if",Space,Str "the",Space,Str "identifiers",Space,Str "are",Space,Str "bolded",Space,Str "and",Space,Str "blue."] ,Para [Str "If",Space,Str "the",Space,Str "reading",Space,Str "system",Space,Str "does",Space,Str "not",Space,Str "have",Space,Str "a",Space,Str "viewport,",Space,Str "or",Space,Str "does",Space,Str "not",Space,Str "support",SoftBreak,Str "CSS",Space,Str "styles,",Space,Str "this",Space,Str "test",Space,Str "should",Space,Str "be",Space,Str "marked",Space,Code ("",[],[]) "Not Supported",Str "."]] ,Div ("content-mathml-001.xhtml#mathml-023",["section","otest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[OPTIONAL]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-023"],Space,Str "CSS",Space,Str "Styling",Space,Str "of",Space,Str "the",Space,Code ("",[],[]) "mn",Space,Str "element"] ,Para [Str "Tests",Space,Str "whether",Space,Str "basic",Space,Str "CSS",Space,Str "styling",Space,Str "of",Space,Str "MathML",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "the",Space,Code ("",[],[]) "mn",Space,Str "element."] ,Plain [Math InlineMath "{2x}{+ y - z}"] ,Para [Str "The",Space,Str "test",Space,Str "passes",Space,Str "if",Space,Str "the",Space,Str "number",Space,Str "2",Space,Str "is",Space,Str "italicized",Space,Str "and",Space,Str "blue."] ,Para [Str "If",Space,Str "the",Space,Str "reading",Space,Str "system",Space,Str "does",Space,Str "not",Space,Str "have",Space,Str "a",Space,Str "viewport,",Space,Str "or",Space,Str "does",Space,Str "not",Space,Str "support",SoftBreak,Str "CSS",Space,Str "styles,",Space,Str "this",Space,Str "test",Space,Str "should",Space,Str "be",Space,Str "marked",Space,Code ("",[],[]) "Not Supported",Str "."]] ,Div ("content-mathml-001.xhtml#mathml-024",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-024"],Str "Horizontal",Space,Str "stretch,",Space,Code ("",[],[]) "mover",Str ",",Space,Code ("",[],[]) "munder",Str ",",Space,Str "and",Space,Code ("",[],[]) "mspace",Space,Str "elements"] ,Para [Str "Tests",Space,Str "whether",Space,Str "horizontal",Space,Str "stretch,",Space,Code ("",[],[]) "mover",Str ",",Space,Code ("",[],[]) "munder",Str ",",Space,Code ("",[],[]) "mspace",Space,Str "elements",Space,Str "are",Space,Str "supported."] ,Plain [Math DisplayMath "c = \\overset{\\text{complex\\ number}}{\\overbrace{\\underset{\\text{real}}{\\underbrace{\\mspace{20mu} a\\mspace{20mu}}} + \\underset{\\text{imaginary}}{\\underbrace{\\quad b{\\mathbb{i}}\\quad}}}}"] ,Para [Str "The",Space,Str "test",Space,Str "passes",Space,Str "if",Space,Str "the",Space,Str "rendering",Space,Str "looks",Space,Str "like",Space,Str "."]] ,Div ("content-mathml-001.xhtml#mathml-025",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-025"],Str "Testing",Space,Code ("",[],[]) "mtable",Space,Str "with",Space,Code ("",[],[]) "colspan",Space,Str "and",Space,Code ("",[],[]) "rowspan",Space,Str "attributes,",Space,Str "Hebrew",Space,Str "and",Space,Str "Script",Space,Str "fonts"] ,Para [Str "Tests",Space,Str "whether",Space,Code ("",[],[]) "mtable",Space,Str "with",Space,Code ("",[],[]) "colspan",Space,Str "and",Space,Code ("",[],[]) "mspace",Space,Str "attributes",Space,Str "(colum",Space,Str "and",Space,Str "row",Space,Str "spanning)",Space,Str "are",Space,Str "supported;",Space,Str "uses",Space,Str "Hebrew",Space,Str "and",Space,Str "Script",Space,Str "alphabets."] ,Plain [Math DisplayMath "\\begin{matrix}\n & {\\operatorname{cov}\\left( \\mathcal{L} \\right)} & \\longrightarrow & {\\operatorname{non}\\left( \\mathcal{K} \\right)} & \\longrightarrow & {\\operatorname{cof}\\left( \\mathcal{K} \\right)} & \\longrightarrow & {\\operatorname{cof}\\left( \\mathcal{L} \\right)} & \\longrightarrow & 2^{\\aleph_{0}} \\\\\n & \\uparrow & & \\uparrow & & \\uparrow & & \\uparrow & & \\\\\n & {\\mathfrak{b}} & \\longrightarrow & {\\mathfrak{d}} & & & & & & \\\\\n & \\uparrow & & \\uparrow & & & & & & \\\\\n\\aleph_{1} & \\longrightarrow & {\\operatorname{add}\\left( \\mathcal{L} \\right)} & \\longrightarrow & {\\operatorname{add}\\left( \\mathcal{K} \\right)} & \\longrightarrow & {\\operatorname{cov}\\left( \\mathcal{K} \\right)} & \\longrightarrow & {\\operatorname{non}\\left( \\mathcal{L} \\right)} & \\\\\n\\end{matrix}"] ,Para [Str "The",Space,Str "test",Space,Str "passes",Space,Str "if",Space,Str "the",Space,Str "rendering",Space,Str "looks",Space,Str "like",Space,Link ("",[],[]) [Str "Cicho\324's",Space,Str "Diagram"] ("http://en.wikipedia.org/wiki/Cicho%C5%84's_diagram",""),Str ":",Space,Str "."]] ,Div ("content-mathml-001.xhtml#mathml-026",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-026"],Str "BiDi,",Space,Str "RTL",Space,Str "and",Space,Str "Arabic",Space,Str "alphabets"] ,Para [Str "Tests",Space,Str "whether",Space,Str "right-to-left",Space,Str "and",Space,Str "Arabic",Space,Str "alphabets",Space,Str "are",Space,Str "supported."] ,Plain [Math DisplayMath "{\1583\\left( \1587 \\right)} = \\left\\{ \\begin{matrix}\n{\\sum\\limits_{\1646 = 1}^{\1589}\1587^{\1646}} & {\\text{\1573\1584\1575\1603\1575\1606}\1587 > 0} \\\\\n{\\int_{1}^{\1589}{\1587^{\1646}\1569\1587}} & {\\text{\1573\1584\1575\1603\1575\1606}\1587 \\in \1605} \\\\\n{{\1591\1575}\\pi} & {\\text{\1594\1610\1585\1584\1604\1603}\\left( \\text{\1605\1593}\\pi \\simeq 3,141 \\right)} \\\\\n\\end{matrix} \\right."] ,Para [Str "The",Space,Str "test",Space,Str "passes",Space,Str "if",Space,Str "the",Space,Str "rendering",Space,Str "looks",Space,Str "like",Space,Str "the",Space,Str "following",Space,Str "image:"]] ,Div ("content-mathml-001.xhtml#mathml-027",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],SoftBreak,Span ("",["test-id"],[]) [Str "mathml-027"],Str "Elementary",Space,Str "math:",Space,Str "long",Space,Str "division",Space,Str "notation"] ,Para [Str "Tests",Space,Str "whether",Space,Code ("",[],[]) "mlongdiv",Space,Str "elements",Space,Str "(from",Space,Str "elementary",Space,Str "math)",Space,Str "are",Space,Str "supported."] ,Plain [Span ("",["math"],[("xmlns","http://www.w3.org/1998/Math/MathML")]) [SoftBreak,Str "3",SoftBreak,Str "435.3",SoftBreak,Str "1306",SoftBreak,Str "12",SoftBreak,Str "10",SoftBreak,Str "9",SoftBreak,Str "16",SoftBreak,Str "15",SoftBreak,Str "1.0",SoftBreak,Str "9",SoftBreak,Str "1",SoftBreak]] ,Para [Str "The",Space,Str "test",Space,Str "passes",Space,Str "if",Space,Str "the",Space,Str "rendering",Space,Str "looks",Space,Str "like",Space,Str "the",Space,Str "following",Space,Str "image:",Space,Str "."]]] ,Para [Span ("content-switch-001.xhtml",[],[]) []] ,Div ("content-switch-001.xhtml#epub-switch",["section"],[]) [Header 3 ("",[],[]) [Code ("",[],[]) "epub:switch"] ,Div ("content-switch-001.xhtml#switch-010",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "switch-010"],Space,Str "Support"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "epub:switch",Space,Str "element",Space,Str "is",Space,Str "supported."] ,Para [Str "PASS"] ,Para [Str "If",Space,Str "only",Space,Str "the",Space,Str "word",Space,Str "\"PASS\"",Space,Str "is",Space,Str "rendered",Space,Str "before",Space,Str "this",Space,Str "paragraph,",Space,Str "the",Space,Str "test",Space,Str "passes.",Space,Str "If",Space,Str "both",Space,Str "\"PASS\"",Space,Str "and",Space,Str "\"FAIL\"",Space,Str "are",Space,Str "rendered,",Space,Str "or",Space,Str "neither",SoftBreak,Str "\"PASS\"",Space,Str "nor",Space,Str "\"FAIL\"",Space,Str "is",Space,Str "rendered,",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("content-switch-001.xhtml#switch-020",["section","otest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[OPTIONAL]"],SoftBreak,Span ("",["test-id"],[]) [Str "switch-020"],SoftBreak,Str "MathML",Space,Str "Embedding"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Str "MathML",Space,Str "namespace",Space,Str "is",Space,Str "recognized",Space,Str "when",Space,Str "used",Space,Str "in",Space,Str "an",Space,Code ("",[],[]) "epub:case",Space,Str "element."] ,Para [Math InlineMath "{2x}{+ y - z}"] ,Para [Str "If",Space,Str "a",Space,Str "MathML",Space,Str "equation",Space,Str "is",Space,Str "rendered",Space,Str "before",Space,Str "this",Space,Str "paragraph,",Space,Str "the",Space,Str "test",Space,Str "passes."] ,Para [Str "If",Space,Str "test",Space,Code ("",[],[]) "switch-010",Space,Str "did",Space,Str "not",Space,Str "pass,",Space,Str "this",Space,Str "test",Space,Str "should",Space,Str "be",Space,Str "marked",Space,Code ("",[],[]) "Not Supported",Str "."]]]] pandoc-2.9.2.1/test/epub/formatting.epub000066400000000000000000000322241363630463000200770ustar00rootroot00000000000000PK XCoa,mimetypeapplication/epub+zipPK XCW!Y|&EPUB/img/purple-aqua-square-bullet.gif_LvVLבʸ–҅/m6t频CQS IaB3S[V:ih/z^y~1yy#g+ta1U ,*%DX5V`\u*J~Og(-h   T((1СÀl:{BFAE€ƀ10*h4 P0$Pn$j$$p#AOEMCkI`Ii)eԀ8LՀ@#@AEq* H x<F X 88 8888=8 >C9pX9_ @s@@0*388 $$ *iPp1nTK`9 (cc8!LseN^hgD(ujÕZk #c{nomo3/rA?a" bjհY@ɂO}']Vu+c8{KeB딠%N1M2sOK>k~z4{ɧjkrKْy5;om)Oν|b UMl73gީj>7tKupkCvl 4eƿ:9HW e@X.-1~0]zfWsr3SA$A%5|LO`ʺKf-~m9!z^#?@(Yf)5 5A,uM,i(\Гy:Az9=4jA·˨nQ#:=$A㫍ܔ;1XbYuOv=99vCƶȋC'o;q}j`9'S|ǦwI'6NJg uwB3{]5~N)K>KMcvHk(C-ѧ ZgHh b^MG}lOs+= m_Pr(fмmF~Kޫ^]qg7nMSG&I.HND9yϏUz86:zפUon>#I%'-(./ʹqh0{,F<*v$JIoJʪíK~9\L8'~ {-)\s2wد?%_|!ְ74 +Ige0ye{6 Uξ3bi,k-R\\SeSBڶ<mnċ^}x| x׈/ƉrQ9\@|]M3~txXk{7ij&y-:qg Nɔ>(24\!./W > zw9FL;$ansGa`?>_.xu3lqNٵ^WOnϩIl:E 5(c.Զ6|Aݥx8=HvAm{K1>`}%FvևWfwab.cjj]*Bt5]/Z=\Pn=rUӫ{^BɓdfN|fZ7⁙ [f-:YkB$sç|pZU>qŃZcf˱d2}.mjy5VŎJ'o˸\Cy1+$=OpGgt.sI/l6i+o_wq9-+gyJ]:ZוYO&w /0[Y_PK Dރ;EPUB/xhtml/nav.xhtmlX]6}N~<nŽq:ݦfi飰/XE\Y#  /X_]IWW7(Z(gS')|ކ?_>TfTRCY1uR)[׃h &}I|n}|XsP}&@bX k}3M%@N!@:Hns:6ҋ E O@.``5DhOv0}'U[}&6y?Art5DK*i1􄷼l붔CB*OoR?_է)PZMgjQ.xBnw|lcINGۮWUD j`H} 5bIm6]\j) }݈͜}%jj%xy9Oڴ'}{߽=OK`v-Ȁ8K t[7KU|"iTڣuÛL/p2ܞgFꑤ8O,ӾBձvK[&Ilԩaki"+N빵3\ߙ,n[UU)kEePK XCԹ- "EPUB/xhtml/styling-xhtml-005.xhtmlWMo;]u3ӄ Z$'=@!}'cᱍ}ݤz'销T] >~vp1b^ @6nWfŋyr˫o._ui)zp^כͦ<|\󳳳z[b.C^D1vqz!V^tU{ jzn HT/cBZL' u{`R$zD@pKJG얢ʮ^Ʉx@GGQʘJ=ְ[-`aVPga_>g/ګ`;P.!D0-3-{??󔕕M$#KtwϝQ]~cS-Ѣ181}ݧmGMјh,G1d 0QIx#:L$t@>!&#`Bho}d$wM0(:54&k 80NmtvX+N|FI|βkb3a0eq[9̵9(f d qZ9(C.ATa!M`@68')3q"O|_q,G1r|pmLW X{".(CFMR[0>rRǩTnplQ nMˢ/&PK XCɣG "EPUB/xhtml/styling-xhtml-003.xhtmlX=s7_AZ@IE"\HʌgIbKE&:Lp ,H{~Xr}Wa{{v l_n)xzmx7?q0x_#Qrv.yyss#w#[5qݰW/2ܐNռV9ӏ'$zT)#D59|8n%2:#" ׈+A#3WN>]{́~$D(l5aQ;,./ Tf5a&~֏WCGWT៏=po/j5b88~/.2y^C̄&0#˰FL?sЫӝ`z Pr'd]mYA%>}^ TC/-)DLd1JznnS>8| '1 Lp!A{ PF&tO3hK‰Ӄk'(MiaR/^rsQ<v0ٺVM >dJ0iK5TqNM:#WZH PSWRB[P!Ą#z+q}w߳?wN|gdJ=䢸͕ịo~|$3hjxrt[{otvv歬 & wYe럞J+IƬ.W1We50Li0&JA&DAQm2)4te,_Ϫ,lWLXkBmzRYM 3&2ƍ W|5S˓2r]/}lD`IVz6KB eGg^`wVg$ #\9by #{6ix8񧖐>!B!"SK{i;b{NnWX> ..q 3/:[!93!9H~DUOC`v΀AvNr˾ ,&>""/pޥ `DHkkЍf059~&| fe, ]!іQ%±f7WGG8UaH2cpDq1.ʌe' ewbG|v攙YJ77Ưtv8 &6=j!qwg|oT6jb3/طfnE8DSHu @Bw0! !j+]_*P.I}-! z;;>@^lB(Yى /&"E]ҎG1*o~,9ƼE j+}`%A` J4N{X |HVTau45lu/)ْ% L=a.y_X\վ7,|dƨ]aL,GF>ƅQYƸ]a؏<|al&DaC.Y ĐFPMUǫ:<GF)z F, I;VuTSvڬX˅16}$]viW%o*m(EoPi&*h"#dҬcPyx>Z3͗.=NTc͠S-_d8:źAiz|s7h.4Lb#x%A%tO|16s\3kL̙2g,.8!wm3ZsœnL̙됵2W=bI"ּ¦O%M3g.\}8h<2@+T i2X*e?&Xşm^3IGNJS5MU+Bւ0huE.E󗶤i%Z+<2dqx5>}ڒv4͚S+kKaE3) ٞ.lxa9nq #ì<QxCw mX1hAok{|Xl>'HucW?sT}Zp{ԯV4pXD-Zq2/!JYz"ATIJ_"j  (rOS giÒPq(Q,A{oL"OT|QwsL4.$]D wĚ'xVF]y9Ju׆M5} z]UzV4tA::ѣAS#esc1ޓin\>OCw.ű/xE2c3]a.7?t>,K @rTt\^6[ꧏ~u((_o*Y1"6jU*.5|G*dl0&Eլ2v3er,]~|7 Ji@X9|٤T`:s4bϲ*2NONpm\DmS<EQPQ_F#4=:I}ƣMGCS1ի  3[JGJ$:)wKQqPK XC> EPUB/xhtml/front.xhtmlVMoF=+bJ@D\bȵ"EÊ,,w)Y~q`{73o0|u+8be.V¿X'8ڦ_Wѣ d6Wt?@W 2keN'!Xx"cJ0 E~ E; Ƿܿw:/ECcᶖàrWBV@ʠ#`bd*T+F)qYAlY}>{aw;0 :iG]cKu9leXl_αKX\,n#L f=Ƴ [)L:]|6\eeW2 t"[@ #0ДX cF?77^|} 6`ߐg~?tZruwRC~nHHz3235#Ǩgb+p9< U N4bnP(xtJāh3$eʬ ˙5#`>60F}=H t:8a{f=*v6I&(}:*. $BILu48kX]ƈ@%*}{lm ˇ'̥F{,bU'HL+k#Պ3Mh<F)y㹒zCCh*p-j`oZ{׵}Qto)6BVS^g e!y 82 b>wL3czSy\vD^EH<ʤr;\ $Q H0aj)($ őr9$wsOӼBI/p΄iHizS( ܅*N ē=qHk GH@V,S;]lJ; +YC 8zzcW[|0d&.b3)liAcL${qֶUMKP> ;_?'z;MG1AEMN6gU4Ud3ANC^ۋE?B# &Dc-K?{\dH t;UP38hmM} 8I֌3v `D0 `RٮDʯ `1.^Og 1[y*c'dۢ2ꖮ"qo]Mv8Ox?}d@t??Nķ9|$LmMfg 2+en5n84Kw G.oi+қ ?U%%7EXXBJԖz*`c].hߔK}|E6L&LJ&'&&gn2!moPK XC5EPUB/css/base.cssS[0+"[V 6`x"3ɽ4o%v%ӴWT3:>sxL`{.{I2 -*4PtW~|[2eI~?<Ǔ%1 n!6 a dX-֌:hϖ,)+`F2 ElY S6 #zFGϚW2H5*]&5ň\{phVhF; =wd:36-H=1Υ+(œC%$k3% %Bj ;&TUߐ6_ft6-I=2VË)rAWTgXXھ,㶅t[iٞU.ui/lPg`5#l|%Jͧeq9/$^)EH<#X {XnFtxkPTm~ Bͥ K.):/PK D<~- EPUB/css/styling.cssn SڕpʹTfŐ4;;&cR6! b͝]l~!"3rB0 ,9Pn`+5CABO;@XG<@ÑHrSD> ]&2قKT)niSe5"E+"_"8Yx/,rpI},kփNBӀK oֱE+ s_tP &jWMvv{ UiI}`YEfw)vY*5ہLmhfgH&IŠ^o$o9rw{3]"N7OuS?pk$,zf[&Ѓ?:͔Z %<# >ESfJ-҅zr4[fI>6 &V[v^/!Ln&}%<$NfZ#emᅧj?B79APK XC\ˬMETA-INF/container.xmlUA 0E=Eѝkz1j0 M*z{JͣNCV/װi gLxNƁ`0LvF"q+n쉳ycf>GS(A$w>PzFuce|;:*Ze~F10O9.?"c<)^PK XCoa,mimetypePK XCW!Y|&:EPUB/img/purple-aqua-square-bullet.gifPK Dރ;EPUB/xhtml/nav.xhtmlPK XCԹ- "D EPUB/xhtml/styling-xhtml-005.xhtmlPK XCɣG "EPUB/xhtml/styling-xhtml-003.xhtmlPK D8lG"EPUB/xhtml/styling-xhtml-004.xhtmlPK Dz9M",EPUB/xhtml/styling-xhtml-002.xhtmlPK XC7P* "MEPUB/xhtml/styling-xhtml-001.xhtmlPK XC6re"EPUB/xhtml/styling-xhtml-006.xhtmlPK XC> ",Str "TBD",RawInline (Format "html") "",Str "."] ,Para [Str "Before",Space,Str "using",Space,Str "this",Space,Str "publication",Space,Str "to",Space,Str "evaluate",Space,Str "reading",Space,Str "systems,",Space,Str "testers",Space,Str "are",Space,Str "strongly",Space,Str "encouraged",Space,Str "to",SoftBreak,Str "verify",Space,Str "that",Space,Str "they",Space,Str "have",Space,Str "the",Space,Str "latest",Space,Str "release",Space,Str "by",Space,Str "checking",Space,Str "the",Space,Str "current",Space,Str "release",Space,Str "version",Space,Str "and",Space,Str "date",Space,Str "of",SoftBreak,Str "the",Space,Str "test",Space,Str "suite",Space,Str "at",Space,Link ("",[],[]) [Str "TBD"] ("http://idpf.org/","")] ,Para [Str "This",Space,Str "publication",Space,Str "is",Space,Str "one",Space,Str "of",Space,Str "several",Space,Str "that",Space,Str "currently",Space,Str "comprise",Space,Str "the",Space,Str "EPUB",Space,Str "3",Space,Str "conformance",Space,Str "test",Space,Str "suite",SoftBreak,Str "for",Space,Str "reflowable",Space,Str "content.",Space,Str "The",Space,Str "complete",Space,Str "test",Space,Str "suite",Space,Str "includes",Space,Str "all",Space,Str "of",Space,Str "the",Space,Str "following",Space,Str "publications:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "."]]]] ,Div ("",["section"],[]) [Header 2 ("",[],[]) [Str "About",Space,Str "this",Space,Str "Document"] ,Para [Str "This",Space,Str "document",Space,Str "focuses",Space,Str "on",Space,Str "human-evaluated",Space,Str "binary",Space,Str "(pass/fail)",Space,Str "tests",Space,Str "in",Space,Str "a",SoftBreak,Str "reflowable",Space,Str "context.",Space,Str "Tests",Space,Str "for",Space,Str "fixed-layout",Space,Str "content",Space,Str "and",Space,Str "other",Space,Str "individual",Space,Str "tests",Space,Str "that",SoftBreak,Str "require",Space,Str "a",Space,Str "dedicated",Space,Str "epub",Space,Str "file",Space,Str "are",Space,Str "available",Space,Str "in",Space,Str "additional",Space,Str "sibling",Space,Str "documents;",Space,Str "refer",Space,Str "to",SoftBreak,Str "the",Space,Link ("",[],[]) [Str "test",Space,Str "suite",SoftBreak,Str "wiki"] ("https://github.com/mgylling/epub-testsuite/wiki/Overview",""),Space,Str "(",Code ("",[],[]) "https://github.com/mgylling/epub-testsuite/wiki/Overview",Str ")",Space,Str "for",Space,Str "additional",SoftBreak,Str "information."]] ,Div ("",["section"],[]) [Header 2 ("",[],[]) [Str "Conventions"] ,Para [Str "The",Space,Str "following",Space,Str "conventions",Space,Str "are",Space,Str "used",Space,Str "throughout",Space,Str "the",Space,Str "document:"] ,DefinitionList [([Str "1.",Space,Str "Locating",Space,Str "a",Space,Str "test"], [[Div ("",["ctest"],[]) [Para [Str "Tests",Space,Str "for",Space,Emph [Str "required"],Space,Str "Reading",Space,Str "System",Space,Str "functionality",Space,Str "are",SoftBreak,Str "preceded",Space,Str "by",Space,Str "the",Space,Str "label:",Space,Span ("",["nature"],[("style","display: inline; font-size: 100%")]) [Str "[REQUIRED]"]]] ,Div ("",["otest"],[]) [Para [Str "Tests",Space,Str "for",Space,Emph [Str "optional"],Space,Str "Reading",Space,Str "System",Space,Str "functionality",Space,Str "are",SoftBreak,Str "preceded",Space,Str "by",Space,Str "the",Space,Str "label:",Space,Span ("",["nature"],[("style","display: inline; font-size: 100%")]) [Str "[OPTIONAL]"]]]]]) ,([Str "2.",Space,Str "Performing",Space,Str "the",Space,Str "test"], [[Plain [Str "Each",Space,Str "test",Space,Str "includes",Space,Str "a",Space,Str "description",Space,Str "of",Space,Str "its",Space,Str "purpose",Space,Str "followed",Space,Str "by",Space,Str "the",Space,Str "actual",Space,Strong [Str "test",Space,Str "statement,",SoftBreak,Str "which",Space,Str "can",Space,Str "always",Space,Str "be",Space,Str "evaluated",Space,Str "to",Space,Str "true",Space,Str "or",Space,Str "false"],Str ".",Space,Str "These",Space,Str "statements",Space,Str "typically",Space,Str "have",Space,Str "the",Space,Str "form:",SoftBreak,Str "\"If",Space,Str "[some",Space,Str "condition],",Space,Str "the",Space,Str "test",Space,Str "passes\"."]]]) ,([Str "3.",Space,Str "Scoring",Space,Str "in",Space,Str "the",Space,Str "results",Space,Str "form"], [[Plain [Str "@@@TODO",Space,Str "provide",Space,Str "info",Space,Str "on",Space,Str "where",Space,Str "to",Space,Str "get",Space,Str "the",Space,Str "results",Space,Str "form"]]])]]] ,Para [Span ("styling-xhtml-001.xhtml",[],[]) []] ,Div ("styling-xhtml-001.xhtml#epub-css",["section"],[]) [Header 1 ("",[],[]) [Str "EPUB",Space,Str "Style",Space,Str "Sheets"] ,Para [Str "This",Space,Str "section",Space,Str "contains",Space,Str "tests",Space,Str "for",Space,Str "styling",Space,Str "and",Space,Str "layout."]] ,Para [Span ("styling-xhtml-003.xhtml",[],[]) []] ,Div ("styling-xhtml-003.xhtml#style-110",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-110"],Space,Str "Multi-Column",Space,Str "Layouts"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "CSS Multi-Column Layout",Space,Str "properties",Space,Str "are",Space,Str "supported."] ,Div ("",["multicol"],[]) [Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "text",Space,Str "is",Space,Str "rendered",Space,Str "in",Space,Str "three",Space,Str "columns,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Para [Span ("styling-xhtml-002.xhtml",[],[]) []] ,Div ("styling-xhtml-002.xhtml#style-lists",["section"],[]) [Header 2 ("",[],[]) [Str "Lists"] ,Div ("styling-xhtml-002.xhtml#style-list-style-type",["section"],[]) [Header 3 ("",[],[]) [Str "The",Space,Code ("",[],[]) "list-style-type",Space,Str "property"] ,Div ("styling-xhtml-002.xhtml#style-009",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-009"],Space,Code ("",[],[]) "decimal"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "decimal",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "decimal",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-010",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-010"],Space,Code ("",[],[]) "circle"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "circle",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ul",Space,Str "element."] ,BulletList [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "circle",Space,Str "markers,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-011",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-011"],Space,Code ("",[],[]) "square"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "square",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ul",Space,Str "element."] ,BulletList [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "square",Space,Str "markers,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-012",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-012"],Space,Code ("",[],[]) "disc"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "disc",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ul",Space,Str "element."] ,BulletList [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "disc",Space,Str "markers,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-013",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-013"],Space,Code ("",[],[]) "lower-latin"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "lower-latin",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "lower-latin",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-014",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-014"],Space,Code ("",[],[]) "lower-roman"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "lower-roman",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "lower-roman",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-015",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-015"],Space,Code ("",[],[]) "upper-alpha"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "upper-alpha",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "upper-alpha",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-016",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-016"],Space,Code ("",[],[]) "hiragana"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "hiragana",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "hiragana",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-017",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-017"],Space,Code ("",[],[]) "hiragana-iroha"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "hiragana-iroha",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "hiragana-iroha",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-018",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-018"],Space,Code ("",[],[]) "katakana"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "katakana",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "katakana",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-019",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-019"],Space,Code ("",[],[]) "katakana-iroha"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "katakana-iroha",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "katakana-iroha",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-020",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-020"],Space,Code ("",[],[]) "upper-roman"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "upper-roman",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "upper-roman",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-021",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-021"],Space,Code ("",[],[]) "upper-latin"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "upper-latin",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "upper-latin",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-022",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-022"],Space,Code ("",[],[]) "lower-alpha"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "lower-alpha",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "lower-alpha",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-023",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-023"],Space,Code ("",[],[]) "lower-greek"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "lower-greek",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "lower-greek",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-024",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-024"],Space,Code ("",[],[]) "armenian"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "armenian",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "armenian",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-025",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-025"],Space,Code ("",[],[]) "cjk-ideographic"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "cjk-ideographic",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "cjk-ideographic",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-026",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-026"],Space,Code ("",[],[]) "decimal-leading-zero"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "decimal-leading-zero",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "decimal-leading-zero",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-027",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-027"],Space,Code ("",[],[]) "georgian"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "georgian",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "georgian",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-028",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-028"],Space,Code ("",[],[]) "hebrew"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "hebrew",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "hebrew",Space,Str "markers",Space,Str "in",Space,Str "ascending",Space,Str "order,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-029",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-029"],Space,Code ("",[],[]) "none"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-type",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "none",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "no",Space,Str "markers,",Space,Str "the",Space,Str "test",Space,Str "passes."]]] ,Div ("styling-xhtml-002.xhtml#style-list-style",["section"],[]) [Header 3 ("",[],[]) [Str "The",Space,Code ("",[],[]) "list-style",Space,Str "property"] ,Div ("styling-xhtml-002.xhtml#style-030",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-030"],Space,Str "images"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style",Space,Str "shorthand",Space,Str "property",Space,Str "is",Space,Str "supported",Space,Str "using",Space,Str "a",Space,Str "gif",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ul",Space,Str "element."] ,BulletList [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "the",Space,Str "purple",Space,Str "and",Space,Str "aqua",Space,Str "square",Space,Str "bullet",Space,Str "the",Space,Str "test",Space,Str "passes."]]] ,Div ("styling-xhtml-002.xhtml#style-list-style-position",["section"],[]) [Header 3 ("",[],[]) [Str "The",Space,Code ("",[],[]) "list-style-position",Space,Str "property"] ,Div ("styling-xhtml-002.xhtml#style-040",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-040"],Space,Str "The",Space,Code ("",[],[]) "list-style-position",Space,Str "property:",Space,Code ("",[],[]) "inside"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-position",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "inside",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ul",Space,Str "element."] ,BulletList [[Plain [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat."]] ,[Plain [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat."]] ,[Plain [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat."]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "markers",Space,Str "inside",Space,Str "the",Space,Str "indentation,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-041",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-041"],Space,Str "The",Space,Code ("",[],[]) "list-style-position",Space,Str "property:",Space,Code ("",[],[]) "outside"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "list-style-position",Space,Str "property",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "outside",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ul",Space,Str "element."] ,BulletList [[Plain [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat."]] ,[Plain [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat."]] ,[Plain [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat."]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "has",Space,Str "the",Space,Str "default",Space,Str "setting",Space,Str "(marker",Space,Str "outside",Space,Str "the",Space,Str "indentation),",Space,Str "the",Space,Str "test",Space,Str "passes."]]] ,Div ("styling-xhtml-002.xhtml#style-list-start",["section"],[]) [Header 3 ("",[],[]) [Str "The",Space,Str "HTML",Space,Code ("",[],[]) "start",Space,Str "attribute"] ,Div ("styling-xhtml-002.xhtml#style-050",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-050"],Space,Str "Without",Space,Code ("",[],[]) "list-style-type",Space,Str "set"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "start",Space,Str "attribute",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element",Space,Str "with",Space,Str "no",Space,Code ("",[],[]) "list-style-type",Space,Str "property."] ,OrderedList (25,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "starts",Space,Str "at",Space,Str "25,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-002.xhtml#style-051",["section","ctest"],[]) [Header 4 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-051"],Space,Str "With",Space,Code ("",[],[]) "list-style-type",Space,Str "set"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "start",Space,Str "attribute",Space,Str "is",Space,Str "supported",Space,Str "on",Space,Str "a",Space,Code ("",[],[]) "ol",Space,Str "element",Space,Str "with",Space,Str "a",Space,Code ("",[],[]) "list-style-type",Space,Str "property."] ,OrderedList (50,DefaultStyle,DefaultDelim) [[Plain [Str "Lorem"]] ,[Plain [Str "Ipsum"]] ,[Plain [Str "Dolor"]] ,[Plain [Str "Sit"]] ,[Plain [Str "Amet"]]] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "list",Space,Str "starts",Space,Str "at",Space,Str "'L'",Space,Str "(50),",Space,Str "the",Space,Str "test",Space,Str "passes."]]]] ,Para [Span ("styling-xhtml-004.xhtml",[],[]) []] ,Div ("styling-xhtml-004.xhtml#style-media-rules",["section"],[]) [Header 2 ("",[],[]) [Code ("",[],[]) "@media",Space,Str "Rules"] ,Div ("styling-xhtml-004.xhtml#style-210",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-210"],Space,Code ("",[],[]) "all"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "all",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\",",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-211",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-211"],Space,Code ("",[],[]) "screen"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "screen",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\",",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-212",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-212"],Space,Code ("",[],[]) "handheld"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "handheld",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\",",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-213",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-213"],Space,Code ("",[],[]) "tv"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "tv",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\",",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-220",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-220"],Space,Code ("",[],[]) "orientation:landscape"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "orientation:landscape",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\"",Space,Str "when",Space,Str "the",Space,Str "device",Space,Str "is",Space,Str "held",Space,Str "in",Space,Str "landscape",Space,Str "mode,",Space,Str "and",Space,Str "the",Space,Str "device",Space,Str "supports",Space,Str "multiple",Space,Str "orientations,",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-221",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-221"],Space,Code ("",[],[]) "orientation:portrait"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "orientation:portrait",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\"",Space,Str "when",Space,Str "the",Space,Str "device",Space,Str "is",Space,Str "held",Space,Str "in",Space,Str "portrait",Space,Str "mode,",Space,Str "and",Space,Str "the",Space,Str "device",Space,Str "supports",Space,Str "multiple",Space,Str "orientations,",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-230",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-230"],Space,Code ("",[],[]) "min-width"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "min-width:200px",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\",",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-231",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-231"],Space,Code ("",[],[]) "max-width"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "max-width:2000px",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\",",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-240",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-240"],Space,Code ("",[],[]) "min-device-width"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "min-device-width:200px",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\",",Space,Str "the",Space,Str "test",Space,Str "fails."]] ,Div ("styling-xhtml-004.xhtml#style-241",["section","ctest"],[]) [Header 3 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-241"],Space,Code ("",[],[]) "max-device-width"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "@media",Space,Str "rule",Space,Str "set",Space,Str "to",Space,Code ("",[],[]) "max-device-width:2000px",Space,Str "is",Space,Str "supported."] ,Para [Str "FAIL"] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "reads",Space,Str "\"FAIL\",",Space,Str "the",Space,Str "test",Space,Str "fails."]]] ,Para [Span ("styling-xhtml-005.xhtml",[],[]) []] ,Div ("styling-xhtml-005.xhtml#style-text-xform",["section"],[]) [Header 2 ("",[],[]) [Str "The",Space,Code ("",[],[]) "text-transform",Space,Str "property"] ,Div ("styling-xhtml-005.xhtml#style-310",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-310"],Space,Code ("",[],[]) "uppercase"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "text-transform",Space,Str "property",Space,Str "set",Space,Str "to",Space,Str "uppercase",Space,Str "is",Space,Str "supported."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "is",Space,Str "in",Space,Str "upper",Space,Str "case,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-005.xhtml#style-311",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-311"],Space,Code ("",[],[]) "capitalize"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "text-transform",Space,Str "property",Space,Str "set",Space,Str "to",Space,Str "capitalize",Space,Str "is",Space,Str "supported."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "If",Space,Str "each",Space,Str "first",Space,Str "letter",Space,Str "of",Space,Str "each",Space,Str "word",Space,Str "in",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "is",Space,Str "in",Space,Str "upper",Space,Str "case,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-005.xhtml#style-312",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-312"],Space,Code ("",[],[]) "lowercase"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "text-transform",Space,Str "property",Space,Str "set",Space,Str "to",Space,Str "lowercase",Space,Str "is",Space,Str "supported."] ,Para [Str "Lorem",Space,Str "ipsum",Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipisicing",Space,Str "elit,",Space,Str "sed",Space,Str "do",Space,Str "eiusmod",Space,Str "tempor",Space,Str "incididunt",Space,Str "ut",Space,Str "labore",Space,Str "et",Space,Str "dolore",Space,Str "magna",Space,Str "aliqua.",Space,Str "Ut",Space,Str "enim",Space,Str "ad",Space,Str "minim",Space,Str "veniam,",Space,Str "quis",Space,Str "nostrud",Space,Str "exercitation",Space,Str "ullamco",Space,Str "laboris",Space,Str "nisi",Space,Str "ut",Space,Str "aliquip",Space,Str "ex",Space,Str "ea",Space,Str "commodo",Space,Str "consequat.",Space,Str "Duis",Space,Str "aute",Space,Str "irure",Space,Str "dolor",Space,Str "in",Space,Str "reprehenderit",Space,Str "in",Space,Str "voluptate",Space,Str "velit",Space,Str "esse",Space,Str "cillum",Space,Str "dolore",Space,Str "eu",Space,Str "fugiat",Space,Str "nulla",Space,Str "pariatur.",Space,Str "Excepteur",Space,Str "sint",Space,Str "occaecat",Space,Str "cupidatat",Space,Str "non",Space,Str "proident,",Space,Str "sunt",Space,Str "in",Space,Str "culpa",Space,Str "qui",Space,Str "officia",Space,Str "deserunt",Space,Str "mollit",Space,Str "anim",Space,Str "id",Space,Str "est",Space,Str "laborum."] ,Para [Str "If",Space,Str "the",Space,Str "preceding",Space,Str "paragraph",Space,Str "is",Space,Str "in",Space,Str "lower",Space,Str "case,",Space,Str "the",Space,Str "test",Space,Str "passes."]]] ,Para [Span ("styling-xhtml-006.xhtml",[],[]) []] ,Div ("styling-xhtml-006.xhtml#style-ruby",["section"],[]) [Header 2 ("",[],[]) [Str "The",Space,Code ("",[],[]) "epub-ruby-position",Space,Str "property"] ,Div ("styling-xhtml-006.xhtml#style-410",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-410"],Space,Code ("",[],[]) "over"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "-epub-ruby-position",Space,Str "property",Space,Str "set",Space,Str "to",Space,Str "over",Space,Str "is",Space,Str "supported."] ,Plain [RawInline (Format "html") "",Strong [Str "Lorem",Space,Str "Ipsum"],Space,RawInline (Format "html") "",Str "(",RawInline (Format "html") "",RawInline (Format "html") "",Str "Lorem",Space,Str "Ipsum",RawInline (Format "html") "",RawInline (Format "html") "",Str ")",RawInline (Format "html") "",RawInline (Format "html") ""] ,Para [Str "If",Space,Str "the",Space,Str "Ruby",Space,Str "text",Space,Str "is",Space,Str "positioned",Space,Str "on",Space,Str "the",Space,Link ("",[],[]) [Str "over"] ("http://www.w3.org/TR/css3-writing-modes/#over",""),Space,Str "side",Space,Str "of",Space,Str "the",Space,Str "ruby",Space,Str "base,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-006.xhtml#style-411",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-411"],Space,Code ("",[],[]) "under"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "-epub-ruby-position",Space,Str "property",Space,Str "set",Space,Str "to",Space,Str "under",Space,Str "is",Space,Str "supported."] ,Plain [RawInline (Format "html") "",Strong [Str "Lorem",Space,Str "Ipsum"],Space,RawInline (Format "html") "",Str "(",RawInline (Format "html") "",RawInline (Format "html") "",Str "Lorem",Space,Str "Ipsum",RawInline (Format "html") "",RawInline (Format "html") "",Str ")",RawInline (Format "html") "",RawInline (Format "html") ""] ,Para [Str "If",Space,Str "the",Space,Str "Ruby",Space,Str "text",Space,Str "is",Space,Str "positioned",Space,Str "on",Space,Str "the",Space,Link ("",[],[]) [Str "under"] ("http://www.w3.org/TR/css3-writing-modes/#under",""),Space,Str "side",Space,Str "of",Space,Str "the",Space,Str "ruby",Space,Str "base,",Space,Str "the",Space,Str "test",Space,Str "passes."]] ,Div ("styling-xhtml-006.xhtml#style-412",["section","ctest"],[]) [Header 2 ("",[],[]) [Span ("",["nature"],[]) [Str "[REQUIRED]"],Space,Span ("",["test-id"],[]) [Str "style-412"],Space,Code ("",[],[]) "inter-character"] ,Para [Str "Tests",Space,Str "whether",Space,Str "the",Space,Code ("",[],[]) "-epub-ruby-position",Space,Str "property",Space,Str "set",Space,Str "to",Space,Str "inter-caracter",Space,Str "is",Space,Str "supported."] ,Plain [RawInline (Format "html") "",Strong [Str "Lorem",Space,Str "Ipsum"],Space,RawInline (Format "html") "",Str "(",RawInline (Format "html") "",RawInline (Format "html") "",Str "Lorem",Space,Str "Ipsum",RawInline (Format "html") "",RawInline (Format "html") "",Str ")",RawInline (Format "html") "",RawInline (Format "html") ""] ,Para [Str "If",Space,Str "the",Space,Str "Ruby",Space,Str "text",Space,Str "is",Space,Str "positioned",Space,Str "on",Space,Str "the",Space,Str "right",Space,Str "side",Space,Str "of",Space,Str "the",Space,Str "base",Space,Str "text,",Space,Str "the",Space,Str "test",Space,Str "passes."]]]] pandoc-2.9.2.1/test/epub/img.epub000066400000000000000000001705101363630463000165020ustar00rootroot00000000000000PK (g9EEPUB/UT $TS$Tux PK f9E EPUB/css/UT $TS$Tux PKf9E5EPUB/css/base.cssUT $T$Tux S[0+"[V 6`x"3ɽ4o%v%ӴWT3:>sxL`{.{I2 -*4PtW~|[2eI~?<Ǔ%1 n!6 a dX-֌:hϖ,)+`F2 ElY S6 #zFGϚW2H5*]&5ň\{phVhF; =wd:36-H=1Υ+(œC%$k3% %Bj ;&TUߐ6_ft6-I=2VË)rAWTgXXھ,㶅t[iٞU.ui/lPg`5#l|%Jͧeq9/$^)EH<#X {XnFtxkPTm~ Bͥ K.):/PKf9EX~EPUB/css/svg.cssUT $T$Tux ]A EbRc (F6 Ķ .wW:TkcؕGg88i흿G:2O.ƃRڶ>Zh72%860‚%sPGfxPKf9EnCeEPUB/css/math.cssUT $T$Tux uMN0FV$"5DjM±ElGTwhFx3s|$Oծbo2ĐR!c]i|˺]}dx7Ӥ,hN>y~$F r޴CM4%Wي%6]oݽdheBh+GT|ݙ,VA_ IV߲T8-"~>}IBl'PK g9E EPUB/xhtml/UT $T$Tux PKf9EjN2=g !EPUB/xhtml/nav.xhtmlUT $T$Tux Z[S8~nj^vg\ hw˔ }Tl%b[IN~$;$vlYsѧGKe[sib9YoG={<? ŅIj]vǏcA$gԍzl"GXB7#`7HsAd*'O'#DZHD’Yڎ7{n1ь/3KD?O`c!5$! 5O % ؞|*Q5ʜk<‰Tk6V/( 2xdc-SxKE,ɂc~X^m 0'Rl NST# sq aV=%q xCfD&Qĥ߭3 BWj:@fJpF 7߮so7 m0#ǭ XpRf/U\ՐFw ؅yy9Atw?lRiv_I-hx׺Zۺ/VVġ~жz&m( Zj TgE|p"I٪ABAW2d>8FYRZ }~Lo5%3 G>X+c_>G>-tIՎLb:KHBkv yӺa9ÂX.rdǛ]1vp#<ۃn:fN(wYq SC1gcuO$4{En_w[+*Sh{{e~'Ԩ_jMl_>Wt!27o5k\9/!ÞK!e.#r:-s.zdڢ;^ž5Qbcۋ2ON@bv:@Mz gH n=}V 2y21sV e5JXɺ^v2VqeN^$=)G9^DC$"(MKj2kdxJ>TgOB. />? $6?Duϑ}]jd{~jPKf9ETPxp#EPUB/xhtml/content-images-001.xhtmlUT $T$Tux Un0=_1hmPʡqhΡzk!HzdY)4CfF.`Ʀe᳁g*ô}v}eAW|mg>ZX% ێ|0°hz*Kiѫ!eaGXTmҎH>יKs SɂmL*y$ꨦѲ`V?2 -!5LU&-J9z$xeqҭ vnv;+x>X%KC45usMG#'DX m.At8PoAj.\?Wz`@1W l)zp#3-s f. AuC42:\7WiђhO[Ïv~:?yf^u7S9?hGӷ[_>zߛߜQg g PK f9E EPUB/img/UT $TS$Tux PKf9E6%L',EPUB/img/multiscripts_and_greek_alphabet.pngUT $T$Tux mwVQEg9뎘o AP~6ղ} TvTJ-#[F;Ybq_.wg5~ :=}x: W(*((pGc)Eʤ͞xxߞqT{t7[-;AȎTEM\](^IdDɮ`kW¾+^p讘 1@,i4r#׷eckZf#00`m|E uDIMIũv{wIt52,i,5dŻS|x~g 3ٞecg63cYJfv~5YsphhiC'6"Q!},+3Ӹ 0rۻ;s[F m(9e.[q6<\o^W>r;$ۛ븎Atllnml V~l'G<;0rrrB4,vĴolI-o.e!oMA {RpZ(!$wqĚr^vze`ePIIc.rO8!bJKAzz>W+lS=+*b J]D9_mݖSx?SX5/_>k|^@ M7m-̂[ڜiv8f.kJ'Z@ L#h1.PNYLkZ~shH7&Q3Q9= sOp:KO'6c%%"W7$qppШmŅ\wF\tRc 9Eo*pe(\˿~C;wh`O8A;SDDp_cAAfE% D*Jc^%:/JCY%Q4 e#<-h݈a-插}DEۣFyzet]fy -,-߼ySh3pc±focHEQ]@u 3\$j~é盐014X;˧x͘6U9i{Gwf׭Iׯ_ j$L z8OcHHڐU&]jPWh|x(xL┰x5ߥ'3hzW2BSvŶ#ݼKqdAvKKK%%k~ Za345&L`l*G(=''c;I=me~b ldccG03 R+uA=߾}Bg+E/}.=7~o6_$N&8n4ΰz6,ƊUTHhhe~56bP<0@(ۢ3OZV??? C2&߻ ˽GbF>5pݞF>stcUW8a>;TBzI6MIųymH ?K]TFtvvRX P--/,`=&UqTᛟ?h!0D^ {o:;}e~vVc^žaQZ*]Pph}T"z\NdZEjHHȟǻgd rEdptl_A*SkJod3#v3‚0Mau0~*Tkjd/A0x`|tt)T2BLZ6An`βxjQi VU{q8"-c<[5)=$9~a5|͡=ƍ;@+ Ng $JPag+sn}JeE؎t)Kd_ww#1Qücd,jC8ǹٷNQB^tXg9ٹ܄krׇ -';_vQY>J^xu>wsua? Ԅw@>|U/ʈ"86\+Fp'EUikh6Lia!ⷬ瞇3)ȶ aEX0S\7bG+1:R7:E0ϗ<wKN8*VIx gsIwZl'ēnkiܼ uw>#",&7R6^{=ԥQGSxYYYUv/7z=TUoNMM=R1zf=U%0?LlGWgg2DmeiIl:Kz8)LYMނ::Cv`E*ջ6W31\uŭcu1\Ɩu*ɳkkjϯa Ȥ}ۍWf*12~"v6;;KoPءZ*7k1r:%k'fƲw3c ]r$$t|D`XІT0=%,ܜ1;T֔{##yyWW&@g?O||NjJz>N^pBZQ~5^g;::4rvA?)@Bu62t F7;$캕suH}>^[]]}/hVX5OO#-C+&&&.e(1Bl>+$/m&ffRzġ!Q} ?9YKIS;"k:j>* ?Uơ0_uvt^ EKyfԼbcS/,fpv(ac y$ꛊu^tL ?;{0߅a9]8C\ld < @VAch~, xQOCf@|!;ܜ0̮L3'(􇸋hT)|FF}_[JJ#Cp!-ԧu߭[/aJStF?uj0-af7jϭx, 1[H|IkXu #)1C%9X{9'O =Oú~}ŸSK] }]l;ok&@ +ѩzӷrp?ERWӭlY]舖I{ocAT * >Wj͉ \@|R265L;0# b):T?B)Q8Wl25-Nݻ >2hFk^-Muu_h-VV^"HIظkBY%m!PBF@CHBw8ZҩWUvT'iut6)q&l_Bua)a3<FE;@ZE<22JȘ(6Hx-}֪WQ+*7N@L=w~XEt,"->)\H8Mb5bdp&dg;I/9ҒB4gVjTZ$<ϟY \hpj~f)*+Z&􏶑ZZy^ CÇ^*U@[šU]հzU].)0L% ӊ*w35$}4lPpkCC8$$$h|ILL sL`jpXlB:[{Tp2zgEBW7DfaT5~Ԅ'&~8H./*\ǀ[5-~,,,p:/:s!+JfhhXX\WPPP봻'A9ٍU38#V  k 44D;2ܫB?`rl*CtӧOd#ccB6,{KP0g1׭N`ܼOO25:-*{MPBkA߫DkEQϻy"׭#82B0D!%yŽRh 4{Ӕ;iCTP#'}%Ż{= lmj9HՅ6Jp@ s !Gh9t&DsKZ\/~4Dx/heC# @W}rj&\DA}0>݀[ 2*hgȈ;N=E DP.wkaa~Α+ /sҰ^E= X VXfDLDja!q]]LOs!k7qd dб"/o@gފQOZ !)h]jVNe 嶙xQt(]Hf?𤵓ccJaBksuo<MkɌK衐PP}*Q픞`ù kh&""BQkŸVh?'LKVAhk@SXaIVnKWP?KaǿJš "oxc6 A _es[3GߥH5( y&,}u71h)䛀U.'gP*?>{u \<=J  P3[dڮFLfwT 7Y1Mt9h'V9IG3J0J̺["cc?VJ:kk%`3 11AY\_0?xQUT%3suI2ZX\RC#'m]Ȕ44y$_Vo^nC'.;ۙkr?]̞7w_ Ln4BQ<0iuטe}~fPP7!>A4ɚKHFgO@+Ŋ:[E=@Y5Э<=XV>VV~K3X͑᱐or/JH$?^ᾯu}Bj]YE%J þ;Qޣ`xZX[1Y`zX5u.zqq?=sU)dG[ cz+fi/n`'GFj/T{[L;=)So`57RAx=&j$x߾}|hrSeoI{vb A Y'Q{LT4''iMHfq~$uxy:3Lu õފz-{ UnP>in޻'--}~Tu_?+ؼ'_J*/=es̜g~mj |(Zޔ^ϪB+EGx<gf$ ->0^ݲ?zWoI+M:\Tz(|q)ߥW7ܸ'ܜٜ zӎg9)}_}/_~eujx>8VowMgkinWQ?PzݫRk_ O&20m#S'&q's[vԧ?i\gbό;w)>in,6i˅Kh[(^'^1nAUe:vyf-0lֲQy%[W9oW:>g]wfcYYgv4vΥGOn(y.^&ea}UI}9lޕ#cgk5m͘?-bHm[jyif?k&?֒S']If 0PK f9ElEPUB/img/nonimage.xyzUT $T$Tux FAILPK f9E EPUB/img/check.pngUT $T$Tux PNG  IHDR.2~sRGBgAMA a pHYsod IDATXGYTTWF1guML*A`hC/`2aSD@%JJ@ԬYݍ1ꪉk]E ̰yhe~ZF*t<0@G6(edUO7.wB{($a(r/Y4$}=id}0ժ@B@7rY e@ArxfcTX/ LTehq3jȇA(+:{_{G&^;MF/p^j=eXTqi1ދ>ΐltdɭ1@ȺgD,\sE: )7`rYAӽT)1(w 1QY Y 6b>G[Jߧ@h1+kAqNFl}7_a9O\}J58qJR&| "}=e$~^(nZMgpv!-R$ Z~2zQ8nQ ~E}lmұWΑD;Dani63|7)AC|E2%YU=ry@6Ż)jiݒMvK b6 &vΙZÊ0$H{>Z27 D5rmZ&m"r;zl$#uwyDSV9y `>ia$;}s/( L93ۊw¸zyB od[=Y ؤp~6y?ۯq_MJiCϥiE\=~B Me$~'~ZU{,2Nz]RTJrQI]LgY"b.@ @P_P<  [n kάeB~He *.Yf'.v-Bi31-لd9~%m n)GUF0Ao ԡFVYLtH© Xi Zy2^*}mOslR$-AVE! Jz;~Hlk̫  9`pAx(㱎3IW_oBYںۨSрGѶAY1K {z?`8hXzK*ϠO.#~\P\{?w=y:4q)G7nhmkmio9v߯^#Rfc}*a@0T)MBj1[4@u~H& m&oWVOcw^ ؀IENDB`PKf9EXF89EPUB/img/Skype_logo.pngUT $T$Tux {Sqw(P8ŵP/Pܽ(VܮS8G7/d3dgwg/r[ADo ~I@5Sx_-H7"ߎ5$ih *hozLfQ')-<\jc]$`c&3Pv78!DhHZî Y$W J"K_4as#{=$Wv kU>;!7.Q!4xo?o0{l8XsACO[I7--м8eOwր@PE(i`kճZl~$_Rf&(JycGfU-DZ#u+׌l_i29E]݊xfyhzR <0Ē]ƬBY TPj9gMS~ǬpI|Ep+x`P8l0R3E0y&5$6) <n.k6h *+`Jɇ7Gr=3Rln>h143]cUڣę>G5l:-+sۢgLkf蔰z c}BcSyn4P`nE'K!qdl`a> WoOƬEI?P-)%0+f: ~P3 \ rKAĺX RKx-e FfP Pg3(3x6SY:@hA . 8]*78LX}-Ur]& [fӣ>G*ry0V{hzd͈I.ҶZ_w^Y8u>ʯE]@mF E[:pG%U6+v'3cllN ^_ztha_xsSr oS (lqQȋ>PJ6 2R @ RK췢cj+oD.ڒl܃q{t^(e 2 ZžlLPRb)8ɲzgO9sB#v#lQ>֠{L&랦/o~{G5t{X>3Ɠh=~ڟ' ~E DY Zr\ 5{ŧ[88أC,*N13RUHZ0zjd}.;D4U!12U$ tQ$Cʨ;?kҢ2w䲈dKmT"'ũ1󶌉B0~]r+}e}D QUFrP`o?+Nֈ)Ôe Hp{n/ D.,ZVL7x]ozh0`\[Q+NgFHQR S$QOd Ahf6;΢Lmឪ@@|f{[y,!fX60i ԁ#3A/ \:\$ٞvx+kωۛnf˶?Z@$ ]pH\CQqډbj?!I\(.$dE7vcD$.=N%#+7$+iaX܍q3Mnɫ7_#E.(Ilcn =b.kӥmQ0l0k0f6x33k&Ғ}o3VLh=IKl~&:z=b-cc%wm7# )u8RB4K%7s#]%L׋ LmL: c&&%GA q] qOɠ{)S'QMPO.,a觏|>TPbZج;(LK&i[Ql=j9^^c3W-,!xr9^C&iD.Ȗ~Aw?kQ%Κl wgȇBtm-„v~'wDajTY>H zpk7ybcxpV&_U_\_ABo,L4k>k9 >7$(5<1 Dyoa^3RjVZj3$`&zR& Pw)JyAdWG~ʢi%/IE8'3,@*k Dkm񗀀=e5bl x+Ȉur qB/AN8]4=(Ԃ$]gi 'bڊ }"WO C5*BvԠ9er%f٫1DzBBP:c{–@/zg/8l $ ͎XѾ'c3KfN\V/%};J@%G;^ҟʯvz`Xz9SM3D׽0i5l4¾>'?pBe0܃ $$4v 5郯ך 4aJ~SfmZ,' L%µt´1/x|ܫöoOJM9&_b7?&ylr!mws "+Vk%95Ye`jJa!sPZI8G.VAF== ~Tqfb`>uFzɖ l2~[xij%"Zk]6 jL%KFK>w%Kjx#~GcMԀ!8 _0{JJ[X 9fJyJ0 35; XެkO r/ 4#e7@0/?Lx/#V s > ZW=j/^X9h)Ǘ/d̘Qˊ#&`38hĈ+=3 t7KyjC}jD'U'R[}FY q 54{#l9'z A3MֱY>NAL'/:M %iզʮ&5"C28x+%/4 MA?y}_N$Xz+ƶXP  ߤ^d`\.L|pI4e&fNOTx'gznti(=i;o܃3 s.'l%3Xmj^j$v۸!*hg9i˞E?at^9_Szں}Y;{锺,r_XY~o(+ﬡNGuR nJavWqJiM)wE/-/9AkFR'o %8fN%Mx{uV͍!Uq^"{F!uۘJlCzoQK\%:MZR+OAq[8UusVמדgr  /ը)y^#S9jܳ]E5 dG"'0&JcGeJ(ٟ@UXDJdgc͡i1<dž_H&q?jUHWfT~sCZܫ#±UoB=v,{Xy1͓w-!$EĦ şN]Y$=WV%Ol93яxX IYuډ\Y'6 7v kO%d8Xke}RP ޥ~/<$efS d!īKi~ )84Iui-ph~|7jEGas/@a:]}_ע[Rb}u5MMКP}۩p X Z`  RaD\'h6CWr5]~y_]zwjrRZ|%E̾nWb7%y|Y2-XV%G=|+?YO珮W:F1n;׾p43$>4Qz5et8Tq%:8&Z%:~yAy]56^9~GR,$f>eY:I DyB՞fc.0>)tTe_6IVS@o{(Brwwe'mkqy%]Ea싩ofRjt^k D;,f.a:QgcKx< jRC;ʣ Ycss( 'c~n95D,FhUg?r`W1KD=YBu~DŽ 6PA| ZƼczU0zNv wȔ3oꄽIߎ%T׺y7`/$'';ksm楏Uȹr O)ῌumWd h0~ ?D1Ur gMA? }(7P؛y"(dzoIٛGVf3pd^߆ \Mӑa 1 @s + ?Lr=XziSGbCdg dcCERW}k̳j_Kk7y7oQ=7* wIDW\""|IMT?8:4?M("\bYB(&3yB.ڨQ fjr&޷vϫ%%ifEr@WF7d 9@+"<G\?3,v|t4NW&ץe);Q`|[lߙtTL4CŔPvROpg2b+/A1"9,raf-]j ]ƳRxd]ap>Zo4rm㦫kX͚ 4q8_ȷʨu N*iJJUM1tX_8pwghyf "k[4ԛ2⏜nyǣʿߝjBNJ}, y{C nCk]7߬dQS7h;L$9m/L_ >W B%(WНϷүd 6K$%j6X^Nl&`jЋ4IR4!̠j56L.I~yqaKi6E~'dIN8hc AT19vHwc/x+ Q_j"Mcb +zFpm璯HlXX1uhV #֜F []O0a,)j ;-/.+K1 ^NEΕT9 ]'$;W*1VQN+CNwCr,a% 5YLŇ9* Z}NuEi,)NFx~aZHPjv \V|NyE$ʑ<R)*K S }mcYb Sϯ;Z94 #wdYyKHb!s/6 j"q69npH|VS7D>7F)J;Fgݖy2 = ID߽mA|<|mdt$Qg oǢ&U!mGܾ/\lR9.Ze1pv/U[O7g?Wa\(,,b%TљxHHټYl~ h.Em لVuﱾ,ٳt#v+MP~x-Z]lN.,l}G22dD2#8xNk1u}\ la[XƘtZږ'*rb CljGjD`aosەc|̸ JaC/|r?\`0aJ!|OEJ9A\5,YdW0>^7p( ~% B~7W<d;Ɯ,qО{Es}"?/{4$R&w&dmnŸ)=rS6k{odMya`PT+N8~WvDfϾ&=E~akcFj|fLn8SH{Pj:i͏\i_ lQy@r٬ߟRPTۮsv3Q . Wr(dk<}W'Qʜ.H_䶺ñ-A1 RgQoS 69?0Mn|hrNmN r~R}yN2F@! 2=&% @+BFlљc7 ϶c3\~;U#F2Wv2&K4er| pq۔;S1kˏˊqĆ i܄Ǖ*Vni\ ʽ@ i(&':3YT'|I}FW\-ӖQgq*Ra}R)yL}z#FVԆM>&RJ!%4`&²~yOXջ\D41_չk =LhJvL 5ĒE;+VQoM0y]#ollncr^)FkrĚ$60kEώfI3%n7AeAcZ kaf3$KKf}Vփ)6< 8tmT^@;Gs*$-:c8D¯P$ΎY}zlVh_Qiq&&03ďG:oG-kT=iE׵S*!ȍ[819E[pEJf*+$z o|-ۡ]LlR*GH-r/lj֗:M,(PikvYъFxz`{La&yʹjO,GP:~H`54N͒yl7 d%LAgL+ }%s *?p΁OA-(G㖣 #bf5q [M5;nL onU  Jfř{S:}ex 64ZppSaدkb]3*Gt0mɘ5pH]g.VlFxFѴ9vzpN+ 2Rj3&E%Ax.1\!;3dzTMD40Q׻lg33CAOP!$tjtJͰUrPGS>LyO9qc0+ycRex:w vgL:eڇm~1QD tu]/BKVi 6 `/~3f`ED~Fcrp1\;5~81t77sRZ攡S0,5 2"6619m[lvCyX`%n"nS=甙ELOn.Ӽ& ~|_ı bg4 _|`s2|x,\.-(&aofט:uu!1SփANsw}ju-+d߉׫ .FY8-6M|T d#BVț?D}` }vW`.yM|+npijGZ~mW«Oı] o F;@mVǙ#Q۳rbHj_ ,1lۢ $%c?'e8/y#PW.TcT~-e1_"qģҰEN(yϨ_pP3wUCN;إPq+|?AyǿG[VY7ZN:@> qg-*Tz/ _$+;yttɿ%a ޔ߽UC #vr;j]RW ŠlHrm΢{pM C&)AlmzQ3zW~dJELowt΅@u +dž{q-{>"Z vg&}/fßU"r^H s+(d׺ÉEnx0mϖl&FVJdZ 6Wm&՛  >ck9}J,u,\M߯{ňAz(1H|K|e鑎F*)5}c+z4bb+Ƕ]lmt ==Fc~1LxZ0ͥ Os@[_^孁4^Ӫ~(JўFGU(FZ |O9aTJovVkRJyX6lc )lF}h%=cfm2ϓ9nCkO`RB`u:Vky$E-31~ދ9,'2`J1 8ze$VE?$-~d<6,\oG9OW<!ϷS!?Vg?=}^$:+ѱÞ_I/qxѸ&sw3z,"tie3?׋<30RVq*)z6.+ޟ'FpRdۨN"Iy T6P#=*9:o*P9a}ǏGyK 9?4^EA_xLw$ oHwE˜^}1PܮW 뢥$NlX[~Ļ0h<ڒw' B},y@}kgg;$_K3R#)}h{GS khAZdاx;D2klS6z*Ǧ r]jw 1W8$SjLeT  eQM\U.@ rN wEn%&|Ea>GKmgOcef)R! ˹HO099 n1Q^,L[JN7ʫ'#]H'd? ([JɉJk/(WP|ېޜa {0ݜ{|0ړ Z#i@|GݝNռ!cr,$+*>!Y`؃e cPRЏKx9Cu,biÃ"ױdCw$'(/Bq#Eks"?EUaB$^zb:P@}m/;ա(p- y]V%NI54aem{hvr',DDt=QzdKSkW+(VtSםN 6  ` ;T:Ơfw 5"qEJ3E-|)/mlŒqݳ/["ֱ]uuD [NJ/&Hjs1.6%M>-,pTB&0 Z)^nt'LCݎ=%NY}?xI2'OD ϧ3E3% mFM ,otoGeP=93j]`{!bf;k)%cbpaZY B%o5HL'\s=is!~75l)z3; {21PTq;V-긒̻AHVJ Pl;I;jrqZ09:LsEwAHA7\H'~F*﮴u 'U.Rec J9fL3ZtـMr]ݬ'ffl[_eߎ#mlYoK.?sQvZ|b$q"(&ӏG;fN{e>ps b~2d%Pnd~wU rajw,2Ρ5rQt^ ;A8JQk;8\F(h6sb\BPgC28ye#`x2aD!^)!ԉ?]0,ՊR1L|vLƍ^"5Oiނ鲠M=쾒džS ۊiO)iX,IqubVMnD!0+lX Է4k8;y0KEE zFgL=d6PAjl ӴzAݭ Fxl9II> o #D18>*^FH_q+(QuU :$VzLT:ΚuJ_+ix}7Ix!"?[i_9riy֣÷|}.l뮌u1jSH};^OX;Qk@~3leo;7e:HOxTkt ѵxXog~*y>FdR 8E 'Mt<(v\WV!rW gw x |Qƪ∌ߛ _FlkS#/ewY箷\AMMUxL4q-$~6]lF؏og3 ۔eSBJ?7pV0\:|~܋D'kneJY_R"r&mBkc :Ez.>_O+07@fȋ}|*tl;ìx-9a3N:O܀3D&[u˖mu^G: tN@ÈF`JKm*^g9&lT "&I+O5*8{ҾQi/@zdr  |O/Q~d;4nͺVKWf:ط©`B4W+qBiR~$7!2L-EuvlhƠQON07 ]!_Kߣ_2s0 TlH l{|||#K_%m;BzUW@go gxWN %` =/I>_Hׯ00ip/_QUT+mPK f9E EPUB/img/fallback.pngUT $T$Tux PNG  IHDR.2~sRGBgAMA a pHYsod IDATXGYTTWF1guML*A`hC/`2aSD@%JJ@ԬYݍ1ꪉk]E ̰yhe~ZF*t<0@G6(edUO7.wB{($a(r/Y4$}=id}0ժ@B@7rY e@ArxfcTX/ LTehq3jȇA(+:{_{G&^;MF/p^j=eXTqi1ދ>ΐltdɭ1@ȺgD,\sE: )7`rYAӽT)1(w 1QY Y 6b>G[Jߧ@h1+kAqNFl}7_a9O\}J58qJR&| "}=e$~^(nZMgpv!-R$ Z~2zQ8nQ ~E}lmұWΑD;Dani63|7)AC|E2%YU=ry@6Ż)jiݒMvK b6 &vΙZÊ0$H{>Z27 D5rmZ&m"r;zl$#uwyDSV9y `>ia$;}s/( L93ۊw¸zyB od[=Y ؤp~6y?ۯq_MJiCϥiE\=~B Me$~'~ZU{,2Nz]RTJrQI]LgY"b.@ @P_P<  [n kάeB~He *.Yf'.v-Bi31-لd9~%m n)GUF0Ao ԡFVYLtH© Xi Zy2^*}mOslR$-AVE! Jz;~Hlk̫  9`pAx(㱎3IW_oBYںۨSрGѶAY1K {z?`8hXzK*ϠO.#~\P\{?w=y:4q)G7nhmkmio9v߯^#Rfc}*a@0T)MBj1[4@u~H& m&oWVOcw^ ؀IENDB`PKf9E=UvEPUB/img/complex_number.pngUT $T$Tux < J$٩\HYd$+*#+{%#eeqFHg=^/^^{~~>OEJ&J""(E9-x8Y+#2oĎZ 2DE, Ye95X8rN#y1ѧ8HR'ǑQSen䤵.kmJ^&{VL EMXukV[iU"Pˢ-ڱ)Le[r1̥<-OwZlF5fu^(n0dkS"S]_!"Ȱ61_gGf!ܖJ:ZPr7AsЪf@͛~*Box/+pA#H& *$V9V^ppQ8 ))Ѿ߿5"P $*/nP:8{xtd/f̙ZFFjhB]IO>ٹrEpxyy1NξWᐥxWW'a) KLy˿' N%Q3L/4>v%"'1Vd&7^Pu'fcc;<&6VАwm}n4$?)$?CE1r;zoSŇakSCC)- #!"Zka[]\\|Rn͈`o6GQRV~Zr*湺=s.'''} dfo$N+qfgeQ33wZm ;wxw'QGEe*Bᷔj噎U#Oe2{^2M7yBcSN..1XmLw| Ѫ:0}A#55<ǶM  ־yW48[91Z0,e{-`,LLAAa2ijm0dZ ZrĆIoyT>rsNب(>k[}8ܒGY cl9WlT̾Ń9[(Ĵ:indS8i2{Xjsڴ'xs}cqv֖W7.[}ci]RRäL˺$}Z6ԞٖpOEg/T>Fnb"_.B[\Z:08xֿxЯ*Rn=,,=Pb#(QLCS^nOx=җϲ2%a[~v||Ua c9[FGY .Z$N?2Cn-;^>ikWQTlKQ.뒓EC9~"FՌpkrgZEm"AW$P**tttceD=\nqqrrraHt9Zť UAGǗnÑR{5;ׂXMsTW\릚 괗/)eg֎Teis'IzIJJ3޸x#Zx(Lx]ZTq=x% 0ɥ~V86J*IjnJ7xI!NW1וP=RJZ0Y7.?GGqוij(Uh{n[[~}jb-߇I^}9 6>9>*0ĀK }ԟR]n˖]S\ ؽ?(E.NPXx87--p^AР+<;*mlSyhiSnA=>-W2qT 5<x*JUUC+~~kVDE)3duݽs #FOů?}:lÖ`3G.[ RL}:Z_5~vdog7h `n;>T'_$n\&~8Y4z=|Qߘp}prT&vZ~!ϛIm]]h>}zYy1i%@{U? W8bA.5ixM(IPgfKQ,W@a0ea> J|L)RizFw9R-,, WJ\NEZ ē䘘񤦦gN<` J,z3pj\:0AFO0drjW\ϟdde gEGG1|2N 03D!Bx @HKKm=gAQ2ͥgSCgVT$6m( (hy ,.&'͓D_+%>adBʿiv{ʃ}jZS'E/ :fss>{s ZZZGKWk#:VfrsqM =oi<&k}e4Vuɷ###%ؘ`6ڃ~5L2_*4~ɛduvz]J[٭'oh 2^AzA){ ć'SRW|2l|?n"lo;ΪXYYnHHn"@ SSवEC璻޷N`uuOrDFl;hcXcQGu ̪*fP;TTfG[;[A`M\\V:a9nhkcxxplZ{r7žG u'IAlb߇HXmow[5DxS8\l~,dM \DKlyRbnjnb?>ќQK o2ۙl\6)րV=LF8\reDjll,##CF[G'dee8^ZY9ΑFzm0-ZpŘrSK #ĭ[R#c Ouuu&VPvU_::0;/ۺFSXUǪ8دMK|c{# S-aW]tn?S55&0b@;&0;/x_4+){mϻ@XuPVe7;W/ro˳v&A]gZLMy%\Cc?:zi_O4i&'-lm|7}!G;%/K+7W*#Jrah4 $@[XƤ%Ic@BUf%Yjf˅δS _;1f5D7Ascccw뫦Ichhg&;;D?d։_׬JbL̖66x;N|cPHxxv~%Xŋ!&Rzi:=xpj45OgT,γ(׳17IKOg@iMNi镰f\< "t}s L\ j-_T[xtk.X]~ _YLI|G߯Fz[D2.^^N!sxX9LNj&<2x 5"'%G1:!Ǐi0)gT7Hi9T \.<2Ba$ۜ44Al/]C_Xm:_ L鸵:0L\k)᷶ yne+CsRC uVV"襤]ֶnDLLC׶ Ku3#e> 3W¹Z ~gaF;.`SM'8YȨ9s.$$^c\lZ~m~}g/9E_9YxU/|_Ï(W7[Zq;midz6]]yCe^gӥKx;>ұp݂6{Mi xŭd=hypM eKٿ\yZC g{Gՙu}ݴ؅ȃ[:l^p_i#Ao3lrSLU}Kw<^z~&JMzSMgn|m+y͇85v>mϟ[~}qSc2ĺWLIʻeq^N#8|ߝuĒiG jk% 񽉽ZGv=N;gwNZnX]A zXФo,[k}CucY>OZiSe~^Wĕ>17Í]yF۞sLiKyË2̍C}ke⓶,vk]_N2=%g|2OK6݃,\z&\denc2'6.~يCk,׾e7.뚝[;{N ^tn~sM1Cg?l%YӯZ}DKul7C׬G j7FUM]w.IxtJ艿 "sU- c7D|q+ԓ#*׶(hSzgVL{-+wBɿ{⠶e1,u$׌3hlHx}5}buI<8qhn5.'K\5̋Ӈ^oTJ2xv[77/BUcIpÔf_i7+xsgwSUwz;|߀zc69[{{uy'rWyS&杉NQ:uKO;wgE1^>56.C#3/x{ߣe Hx]zPzutonyΪH/MzYv}7iíf́9kƯ-~X9*Zs/oG֧]yկW7C;lTE~mJY3$'G3[x4kÐPKf9EqEPUB/img/cichons_diagram.pngUT $T$Tux -XX]%DF\%C@UR@Q$KCs~p,g91e%=$yA#i)1EB1k d()mtKAw?u 5a=Eb㟁623Odأ D*-&0F yƯjI<|L೩@'˱ΣCEչIbibxTp$qZwj AqfmtiYڐj_P6?.ӣJ;|sue.[d0bNVa€!***LO.CQAA)/{K/y' Tu$%̿ h71aTe曃6DD ,:'9\14A#KLqo(M`J0szg ё731?Nn g0:\U Attt0-[1@RyCD\u:g\^!IJ$\u H,HOQgiň*+ofp!133ֹTjpU%=G9 nHk9|zm>⋃ $ @=7IyNW͑@AqDŽLjz:Cme2nLLL lV Z,r8?+vvyő¤ug(gMuTR䩘s͆,ҖSst.*,,ܝѥU,KCpCؠ$fmolκZ6a4/{9\{ƆL`IQOWWɎ{ skk  K7&5(^'MN6LOfȰ!zTTYFðNf/ȅ*kb<nlvcw'kݑC`GGG ۈ428"b1mc3Tvc\4ѬǦ=Uﯳ3Rn:c? IIa7:PSCZ<&\ϥ>|8Xm]un{ mX_羜z%B(,'-Þx>Pcx`87uD>6P6K7gdRgm%_h&)OLd9.4_ mSo7bҳА IҒ˗/ K)n찼=NSPP'n@'oNN^PndBVb`b}6A+|V?Ӄo'}^ T=-'}K# I hӉilz'#ft|wlB Noجu?U%@Ym n3aoQZ7\{fJ!\f,%EEЧH85꜆0M=N; o 5yJ_v {P ZSv 444'vV:*k5~Aɽlۆ ư뛂Mjyd ,opP>"*O|G1 <;`RZ[_ gdfpp4b3}y|~țnAO_  1ebcgt83xaXsAL|PaffV{diiy~p7l?eC>eRz[ :EG:jxy`2M33_eYuPBNGG ʢZϻDaO))*$$Eؘ.΢MߙH9i&vRSQ1xbvl_.Q[QZZ眱a|>ԐNI>Rvux'Ә7~NtU>[iJLܟAtUHYb>qs-J35c&"OHC#qѤvp34\@#?S5dꁊE n$%%ᒨZM׋&!*g·6ܦӰ=%F.ӆ6UU t 49f89F*=QwbˠCˢ̢sb@ni =dD!dk\XoZ]{yx<}><&6#Xa>-x&g(= 81P"`<7~X*M2Yy xs ʆ@{ ;c=g`8aR*5y˾g+LDSj{( Zex׍0A H&w,C1U Mj덠嶀_*j[j@N\uSH`fR=u\<fs[Znf+ӌZ@^1EͥKSEp !y5*>+T]|XV79X-*,g*Y3}t[t%0<˗mk?{\"JK9%xhvyZ1wx( ^lGU՘BI8S-O^ ]la-`I/^ 8ZͯԻ4B}cMX8V'405>nr3Z:r>@.o_ 6mcRTi󟴽8޴8A*SbڢwAhzCw,["i` Ӏ{Ŀ87Np:xˣ? _{4wU\sn6_=o.0aiVϓWӵ=. NQd]&ƻWQZUr_}Q7Z;0;E% MEs:t[{8i0daն;J(`si ۔}y4)z^vG.PI(}6=qVثrOf0.yM"k~mv7_]Sa܄8cl{>ϗa*U K/ȥR(J Rq(I0P|wFFFXDBjl >;00`HBݗF ‰4`An?"{ɵ&ELXC49 *ߟ#uK\IV___vِvٶS|/KiEEOjUVv0igQKH#b/zDEEC#"BBp:1 z۹ *m:7˭<BZKŵ$xzmXn!\7OGq}\ #˽iN'b0IV- tn ԘT&f+xm#۫c{8--_ʌŧFSD}IABL'3AjW|;ڟclE*eC W*17<<1@W(T}+lJmwT~JאyAEG:b'pSV%Y o,=L}pǧ(]لw:PRZW knn1]q8lʎEBCC Ϊ8:>>6ܟ,}p9V緹W:9Mǽ0bͽS[[H^'+،_Ohe% שּׂ€D i]#{0-PI8Vu.WWVDYYY lh޾};wڷwTEfGp8,8Ps.@@pQ1}""!A=@EBm}rz:ȧ-Kres8=9&mbݶ;wdk0tOނS7ycǠ+yxz~cxd裡!^Ғ0a7X@` kJkL/^x $6$\O =v[ʈHwD8ѥ5[SSA'G# OVw!I&0ruU\\<><)] ;]yf3텆$rD]?cu##{2OMHu uܢ=TrQRRSsr> SӼM&[9qD{8hV#Dgm\(EXxH }qA8׸~jp"W>^,.jX6wtwuu0AC@jN;k ^4"ؓ 11a<}X_@$6d9fAGJ2%#v;/pEJܛOg A(]ov$t{'tqJM~;=u6Vk/5!׷9]ぽ@򘱾W\RbАؖ@([ #inO( *@AbؿiQ GsT4I-'E`=rtt |G08mWCš_?ޝ d.jlL[ V#!# N8H|K23G__; Р?{6edX|.8τ?OM0Y* dl0T*XMPo@1·HP b;@Y%Uzy5%hXi3NO5~uOJ䬄e+3f}Tǩm;54-*x?K!-.+V PKf9EܨQW EPUB/img/Maghreb1.pngUT $T$Tux uVwPO0R+.M Haq)z) 顈[5(b"" *D4"lH'@("=$$!͛yosw?|w0Gkcrp! ~q *(Bf@SK ͍h=_H[K1*ҐkYkj!4f Kv/Viu=; :Gf1j Uj?0`f#%2o]`!: D`-ߑᙞ~QU @L1Ȋ+Y&5~\]6*`"5-MqFTD6_1.i(_aQ\%wNC1ZTqUo]I?2iN2^6" rf/q9TF#C#Ί,gthuȣJ*_#hW}H(bol܉ K}(>}Y`0CC.]%ϴRc|[vxyݑ#dm}gœ!EȎ.!˚삺o{(+2;ˆ934m4]QzyeCK#gi joo0ɺ{`qkV7{mmm{O45.0L*8-z0Gڕ^jbg'7~} ׉ iG\_9ۋ<:`\r1RR,R5VR+U8q F=5M&AҰH#dC܅獤t;㰁 +ٞsGn,UvC)Z{ߕЬq= hHL*;:/wyWs t֩rߓ'~2w.r6 grK"\XP`&fB^&GIkeǨbnn^L y49z>,L{8ϵ9sFDMak./ڦ^Ogܨn$ x>Cy:%/[xpXw F2BYIfUXC` Yf("h+#V6ظ ѹ)3S\Xg/}uިr H[pu " =(vz?~|v2혫3ZGemq˿w_x9R*J-LtnvSfόUmMЩp}͵<)Vν2|m؁l xs'y$*n:Jr?_c>!|4zJt7u#ul> P!%U!ګn}xJ|G69mMrL*CgA3GN徔L(D9+s5]iYd[ޤ7fﮃPop8WǡenY A _ N49p@:VM/8"?wԠaTWMuѫz%[o_qq>n XA+㤑@%񉌷:G!uSiI"NCbCU#t. h6,p W?ͦ(ĄNh2 :F!e `?+Qv-Xo"tC8z\#4y:~|%[Rm(4YZ5[KL1*k,u&<]8^[izg!q⪷tf#U ?O;/!m=ad4}I w?K9DT}Ø>4O"TሐssDDDi *"znbbF\\LX$!VZZF6ȵ?^dկSV!)6s@Nx Ԋhr"br"V "" DD%ejDa89 .'^l>0Ԗ WJjlR82zl&]=}Cs mwgkg(Q_SR/^Jιv=7{<,*~TRֶ]C^y;ʘd0g◯Koʪ_"ٿKK΁8b/Q rfk9 rA&)GX 'H+36W]̱g8_<19 yi` ,"|gHz'^b8b{@uM"r(oT}0\8,J톞o4 5/x0U1576I컬j۩Ю]diL [.DAO?FTܒYL}A3-GQHa7M!c^*v:}tjwHhO#=7N4NB@N0F%{X߄F?bk b%t`C碜Sɺ Ixڄyq4 IҏEo^[ᚂM EѡF RnM;}ƲVj T!Pdǂ$ځ`ꏊȴ|%#\d*^iwv{*d3fۨwE] EKl.["ON< %eZwɱj OGE}RrU)>uyfKbmO&įge<f)0 k7lòN=$)EbY.HȐ~kD+yU5˶~'r/0poL/A6{1fnF4O݀׌rs3c0{aU7TAE-cbg"sΰ`:d g%DD;y0`ڭ!e{)beͻhh$*7 /A(tʶ'fmؘɫt-EZm/(>l`3g$W!@E%މLUWzUWM%e gkl{R ,@ކLHVqȓ=ʓ?zi.it~sW8bʬ+߻6\C̬ V.t|4خڪ^ 8LɘjEТ-B^/LFSH؞De9ߢ)-F/xT?f^0p0U.~@!{w){W~?\wߜwQ|D%utN;nK]`xHjCmhfoWoGP3iI2d˙Jo4t ˾fS[A}삓mNA{ Ϫ/ ˍ<5?Yeag*7kx$d? h"4<+r]0#0vQF͛bfkelmϴUXM *EpO{ U@:"1MsMm<_S~doC0jQ/gNw^Dbp~dOզXt4f!dPpIoJc̚8 7 n (+آ; 8c WOhy e s>(fLXN0&ȑvNe>x1Q^wfE Ѵi<𳡹؍!"lJΜp ֦~j.;NG3m_bsB@@0b[F(sløo2r1չ:g渙%:m3976u'@/U9ݺ/&x&sC'\sdyǡ`E- y|{®K& *3tscuci|Y#;mHEY4%2sh%U>i*_Slr1xS-‡$[-Xğ̉{?/;d(=W|$ET^l~B:KK 0C*8nN(8 0.>]prWNtbZQ{ܺd; ROr-:(|7PK f9E3-33"EPUB/img/ElementaryMathExample.pngUT $T$Tux PNG  IHDRR3 pHYsod vpAgR!Ǵ\IDATx1 Cp [ZZqAq1o X *"%tlNENeiĊl=SrCwiҩȮ/[iPc c^Du#øVyR̋z^Ȉ:, =gƕ9A"=C['Iȇ9xEV"`lu _NJ/*!U}΀nKaJhIAơ!UHCё] / fO<|KzRVdE!7O]{[gB" ]|6K/#φ-]HcOfPa "+g^4B3!*Bj;ևkHsexOս5h Cc7!%eHL,`fHBO/-e_ Em%bBߩYH"C*%Ly&#ɑg2y.@#%Hr䙎Gː3I<3ɂJ<fMȊY$Β7h:1sO¯z.Yβ \,+r${YJTɌL,ʁ̢,ʁRudYEQY:QEe&<24Jā,ߩxE~82uRYT@s\t]" i#SUޞ.zTXtcreate-datex320505 1221246020Afߴ.zTXtmodify-datex320505 1024206020A BoIENDB`PK(g9EWh̟EPUB/package.opfUT $T$Tux Wn6>oU~ְ@t(C $Zb,*IvcR-;Jl "g3!GYq< xlOYQ9 i&VT>tb(9\n޺œ*(c ^Ѡ>ɧtCεl'9_?;+Yl,F!$P&bPܺ^o{}۟tzCσߏk@RW13h*?P3DU[Dekd3L 3HDi y6ɯ -&|V:ڋGm'lVg] i \ڞi3CXj gD݈-FX%pǦkgY;zJR d,&K0eYoD(e.`Ilw(̚ '^heme1>ޔRyR5 )- r7icl eZqgFY~m\גvZl(zPB15!޵Ah vqGY@ĎK8hp& 킵ҳ`W8r\],VЀ%Bl,VÖ)eIN1 d>i]B7t̡A1fMG0&eA!JqP_ʲG y|ɸ-Sxyʄ/4O 2?PK f9E META-INF/UT $TS$Tux PKf9E\ˬMETA-INF/container.xmlUT $T$Tux UA 0E=Eѝkz1j0 M*z{JͣNCV/װi gLxNƁ`0LvF"q+n쉳ycf>GS(A$w>PzFuce|;:*Ze~F10O9.?"c<)^PK f9Eoa,mimetypeUT $T$Tux application/epub+zipPK (g9EAEPUB/UT$Tux PK f9E A?EPUB/css/UT$Tux PKf9E5EPUB/css/base.cssUT$Tux PKf9EX~EPUB/css/svg.cssUT$Tux PKf9EnCepEPUB/css/math.cssUT$Tux PK g9E AEPUB/xhtml/UT$Tux PKf9EjN2=g !EPUB/xhtml/nav.xhtmlUT$Tux PKf9ETPxp# EPUB/xhtml/content-images-001.xhtmlUT$Tux PK f9E A EPUB/img/UT$Tux PKf9E6%L',>EPUB/img/multiscripts_and_greek_alphabet.pngUT$Tux PKf9E`P<n4EPUB/img/check.gifUT$Tux PK f9El 9EPUB/img/nonimage.xyzUT$Tux PK f9E `9EPUB/img/check.pngUT$Tux PKf9EXF89DEPUB/img/Skype_logo.pngUT$Tux PK f9E B}EPUB/img/fallback.pngUT$Tux PKf9E=UvEPUB/img/complex_number.pngUT$Tux PKf9E%&e ɜEPUB/img/check.jpgUT$Tux PKf9EqޥEPUB/img/cichons_diagram.pngUT$Tux PKf9EܨQW EPUB/img/Maghreb1.pngUT$Tux PKf9E]7EPUB/img/circle.jpgUT$Tux PK f9E3-33"iEPUB/img/ElementaryMathExample.pngUT$Tux PK(g9EWh̟EPUB/package.opfUT$Tux PK f9E AMETA-INF/UT$Tux PKf9E\ˬ$META-INF/container.xmlUT$Tux PK f9Eoa, mimetypeUT$Tux PKvpandoc-2.9.2.1/test/epub/img_no_cover.epub000066400000000000000000001426421363630463000204010ustar00rootroot00000000000000PK n9Eoa,mimetypeapplication/epub+zipPK %NEPUB/PK o9E EPUB/xhtml/PKn9EjN2=g !EPUB/xhtml/nav.xhtmlZ[S8~nj^vg\ hw˔ }Tl%b[IN~$;$vlYsѧGKe[sib9YoG={<? ŅIj]vǏcA$gԍzl"GXB7#`7HsAd*'O'#DZHD’Yڎ7{n1ь/3KD?O`c!5$! 5O % ؞|*Q5ʜk<‰Tk6V/( 2xdc-SxKE,ɂc~X^m 0'Rl NST# sq aV=%q xCfD&Qĥ߭3 BWj:@fJpF 7߮so7 m0#ǭ XpRf/U\ՐFw ؅yy9Atw?lRiv_I-hx׺Zۺ/VVġ~жz&m( Zj TgE|p"I٪ABAW2d>8FYRZ }~Lo5%3 G>X+c_>G>-tIՎLb:KHBkv yӺa9ÂX.rdǛ]1vp#<ۃn:fN(wYq SC1gcuO$4{En_w[+*Sh{{e~'Ԩ_jMl_>Wt!27o5k\9/!ÞK!e.#r:-s.zdڢ;^ž5Qbcۋ2ON@bv:@Mz gH n=}V 2y21sV e5JXɺ^v2VqeN^$=)G9^DC$"(MKj2kdxJ>TgOB. />? $6?Duϑ}]jd{~jPKn9ETPxp#EPUB/xhtml/content-images-001.xhtmlUn0=_1hmPʡqhΡzk!HzdY)4CfF.`Ʀe᳁g*ô}v}eAW|mg>ZX% ێ|0°hz*Kiѫ!eaGXTmҎH>יKs SɂmL*y$ꨦѲ`V?2 -!5LU&-J9z$xeqҭ vnv;+x>X%KC45usMG#'DX m.At8PoAj.\?Wz`@1W l)zp#3-s f. AuC42:\7WiђhO[Ïv~:?yf^u7S9?hGӷ[_>zߛߜQg g PK n9E EPUB/css/PKn9EX~EPUB/css/svg.css]A EbRc (F6 Ķ .wW:TkcؕGg88i흿G:2O.ƃRڶ>Zh72%860‚%sPGfxPKn9EnCeEPUB/css/math.cssuMN0FV$"5DjM±ElGTwhFx3s|$Oծbo2ĐR!c]i|˺]}dx7Ӥ,hN>y~$F r޴CM4%Wي%6]oݽdheBh+GT|ݙ,VA_ IV߲T8-"~>}IBl'PKn9E5EPUB/css/base.cssS[0+"[V 6`x"3ɽ4o%v%ӴWT3:>sxL`{.{I2 -*4PtW~|[2eI~?<Ǔ%1 n!6 a dX-֌:hϖ,)+`F2 ElY S6 #zFGϚW2H5*]&5ň\{phVhF; =wd:36-H=1Υ+(œC%$k3% %Bj ;&TUߐ6_ft6-I=2VË)rAWTgXXھ,㶅t[iٞU.ui/lPg`5#l|%Jͧeq9/$^)EH<#X {XnFtxkPTm~ Bͥ K.):/PK ,N EPUB/img/PK n9E EPUB/img/check.pngPNG  IHDR.2~sRGBgAMA a pHYsod IDATXGYTTWF1guML*A`hC/`2aSD@%JJ@ԬYݍ1ꪉk]E ̰yhe~ZF*t<0@G6(edUO7.wB{($a(r/Y4$}=id}0ժ@B@7rY e@ArxfcTX/ LTehq3jȇA(+:{_{G&^;MF/p^j=eXTqi1ދ>ΐltdɭ1@ȺgD,\sE: )7`rYAӽT)1(w 1QY Y 6b>G[Jߧ@h1+kAqNFl}7_a9O\}J58qJR&| "}=e$~^(nZMgpv!-R$ Z~2zQ8nQ ~E}lmұWΑD;Dani63|7)AC|E2%YU=ry@6Ż)jiݒMvK b6 &vΙZÊ0$H{>Z27 D5rmZ&m"r;zl$#uwyDSV9y `>ia$;}s/( L93ۊw¸zyB od[=Y ؤp~6y?ۯq_MJiCϥiE\=~B Me$~'~ZU{,2Nz]RTJrQI]LgY"b.@ @P_P<  [n kάeB~He *.Yf'.v-Bi31-لd9~%m n)GUF0Ao ԡFVYLtH© Xi Zy2^*}mOslR$-AVE! Jz;~Hlk̫  9`pAx(㱎3IW_oBYںۨSрGѶAY1K {z?`8hXzK*ϠO.#~\P\{?w=y:4q)G7nhmkmio9v߯^#Rfc}*a@0T)MBj1[4@u~H& m&oWVOcw^ ؀IENDB`PKn9E%&e EPUB/img/check.jpgTkTG3 AĬGP;JTQ5*b E)Q4 D7h6H%CCB1Q=&nݯ:Vﻷ^i@|4k#(0 `Zu@/lungڦ}=w @ݔp5 @ "@ "H@ !2@ #( @ᠠ7  57!@ 0\@@D""R"2"r""HHHHHHd 2!2%2#2'2BBˆ‰ !H 2CM(P WiQ@@T**R*2*r*"JJJJJHe22222RBB¨©"H)2Zep"L&&P&0&p& $`aecg2LL̘̙LP0p C`HR!gV_m6@90\m E"""""r DDĸĹ\..S.3.s.#W+++++8#9 PKRQEQ@E"EQD%EQBe2EQFT EQ%Sm6hl:hmp:u:;9;Ngp5]Tzl&U]g9ЃjF*VU ;8 j)wVkuWF=_93|n^~3?\Pq2ĭJu2~> ~gaF;.`SM'8YȨ9s.$$^c\lZ~m~}g/9E_9YxU/|_Ï(W7[Zq;midz6]]yCe^gӥKx;>ұp݂6{Mi xŭd=hypM eKٿ\yZC g{Gՙu}ݴ؅ȃ[:l^p_i#Ao3lrSLU}Kw<^z~&JMzSMgn|m+y͇85v>mϟ[~}qSc2ĺWLIʻeq^N#8|ߝuĒiG jk% 񽉽ZGv=N;gwNZnX]A zXФo,[k}CucY>OZiSe~^Wĕ>17Í]yF۞sLiKyË2̍C}ke⓶,vk]_N2=%g|2OK6݃,\z&\denc2'6.~يCk,׾e7.뚝[;{N ^tn~sM1Cg?l%YӯZ}DKul7C׬G j7FUM]w.IxtJ艿 "sU- c7D|q+ԓ#*׶(hSzgVL{-+wBɿ{⠶e1,u$׌3hlHx}5}buI<8qhn5.'K\5̋Ӈ^oTJ2xv[77/BUcIpÔf_i7+xsgwSUwz;|߀zc69[{{uy'rWyS&杉NQ:uKO;wgE1^>56.C#3/x{ߣe Hx]zPzutonyΪH/MzYv}7iíf́9kƯ-~X9*Zs/oG֧]yկW7C;lTE~mJY3$'G3[x4kÐPKn9EqEPUB/img/cichons_diagram.png-XX]%DF\%C@UR@Q$KCs~p,g91e%=$yA#i)1EB1k d()mtKAw?u 5a=Eb㟁623Odأ D*-&0F yƯjI<|L೩@'˱ΣCEչIbibxTp$qZwj AqfmtiYڐj_P6?.ӣJ;|sue.[d0bNVa€!***LO.CQAA)/{K/y' Tu$%̿ h71aTe曃6DD ,:'9\14A#KLqo(M`J0szg ё731?Nn g0:\U Attt0-[1@RyCD\u:g\^!IJ$\u H,HOQgiň*+ofp!133ֹTjpU%=G9 nHk9|zm>⋃ $ @=7IyNW͑@AqDŽLjz:Cme2nLLL lV Z,r8?+vvyő¤ug(gMuTR䩘s͆,ҖSst.*,,ܝѥU,KCpCؠ$fmolκZ6a4/{9\{ƆL`IQOWWɎ{ skk  K7&5(^'MN6LOfȰ!zTTYFðNf/ȅ*kb<nlvcw'kݑC`GGG ۈ428"b1mc3Tvc\4ѬǦ=Uﯳ3Rn:c? IIa7:PSCZ<&\ϥ>|8Xm]un{ mX_羜z%B(,'-Þx>Pcx`87uD>6P6K7gdRgm%_h&)OLd9.4_ mSo7bҳА IҒ˗/ K)n찼=NSPP'n@'oNN^PndBVb`b}6A+|V?Ӄo'}^ T=-'}K# I hӉilz'#ft|wlB Noجu?U%@Ym n3aoQZ7\{fJ!\f,%EEЧH85꜆0M=N; o 5yJ_v {P ZSv 444'vV:*k5~Aɽlۆ ư뛂Mjyd ,opP>"*O|G1 <;`RZ[_ gdfpp4b3}y|~țnAO_  1ebcgt83xaXsAL|PaffV{diiy~p7l?eC>eRz[ :EG:jxy`2M33_eYuPBNGG ʢZϻDaO))*$$Eؘ.΢MߙH9i&vRSQ1xbvl_.Q[QZZ眱a|>ԐNI>Rvux'Ә7~NtU>[iJLܟAtUHYb>qs-J35c&"OHC#qѤvp34\@#?S5dꁊE n$%%ᒨZM׋&!*g·6ܦӰ=%F.ӆ6UU t 49f89F*=QwbˠCˢ̢sb@ni =dD!dk\XoZ]{yx<}><&6#Xa>-x&g(= 81P"`<7~X*M2Yy xs ʆ@{ ;c=g`8aR*5y˾g+LDSj{( Zex׍0A H&w,C1U Mj덠嶀_*j[j@N\uSH`fR=u\<fs[Znf+ӌZ@^1EͥKSEp !y5*>+T]|XV79X-*,g*Y3}t[t%0<˗mk?{\"JK9%xhvyZ1wx( ^lGU՘BI8S-O^ ]la-`I/^ 8ZͯԻ4B}cMX8V'405>nr3Z:r>@.o_ 6mcRTi󟴽8޴8A*SbڢwAhzCw,["i` Ӏ{Ŀ87Np:xˣ? _{4wU\sn6_=o.0aiVϓWӵ=. NQd]&ƻWQZUr_}Q7Z;0;E% MEs:t[{8i0daն;J(`si ۔}y4)z^vG.PI(}6=qVثrOf0.yM"k~mv7_]Sa܄8cl{>ϗa*U K/ȥR(J Rq(I0P|wFFFXDBjl >;00`HBݗF ‰4`An?"{ɵ&ELXC49 *ߟ#uK\IV___vِvٶS|/KiEEOjUVv0igQKH#b/zDEEC#"BBp:1 z۹ *m:7˭<BZKŵ$xzmXn!\7OGq}\ #˽iN'b0IV- tn ԘT&f+xm#۫c{8--_ʌŧFSD}IABL'3AjW|;ڟclE*eC W*17<<1@W(T}+lJmwT~JאyAEG:b'pSV%Y o,=L}pǧ(]لw:PRZW knn1]q8lʎEBCC Ϊ8:>>6ܟ,}p9V緹W:9Mǽ0bͽS[[H^'+،_Ohe% שּׂ€D i]#{0-PI8Vu.WWVDYYY lh޾};wڷwTEfGp8,8Ps.@@pQ1}""!A=@EBm}rz:ȧ-Kres8=9&mbݶ;wdk0tOނS7ycǠ+yxz~cxd裡!^Ғ0a7X@` kJkL/^x $6$\O =v[ʈHwD8ѥ5[SSA'G# OVw!I&0ruU\\<><)] ;]yf3텆$rD]?cu##{2OMHu uܢ=TrQRRSsr> SӼM&[9qD{8hV#Dgm\(EXxH }qA8׸~jp"W>^,.jX6wtwuu0AC@jN;k ^4"ؓ 11a<}X_@$6d9fAGJ2%#v;/pEJܛOg A(]ov$t{'tqJM~;=u6Vk/5!׷9]ぽ@򘱾W\RbАؖ@([ #inO( *@AbؿiQ GsT4I-'E`=rtt |G08mWCš_?ޝ d.jlL[ V#!# N8H|K23G__; Р?{6edX|.8τ?OM0Y* dl0T*XMPo@1·HP b;@Y%Uzy5%hXi3NO5~uOJ䬄e+3f}Tǩm;54-*x?K!-.+V PKn9EܨQW EPUB/img/Maghreb1.pnguVwPO0R+.M Haq)z) 顈[5(b"" *D4"lH'@("=$$!͛yosw?|w0Gkcrp! ~q *(Bf@SK ͍h=_H[K1*ҐkYkj!4f Kv/Viu=; :Gf1j Uj?0`f#%2o]`!: D`-ߑᙞ~QU @L1Ȋ+Y&5~\]6*`"5-MqFTD6_1.i(_aQ\%wNC1ZTqUo]I?2iN2^6" rf/q9TF#C#Ί,gthuȣJ*_#hW}H(bol܉ K}(>}Y`0CC.]%ϴRc|[vxyݑ#dm}gœ!EȎ.!˚삺o{(+2;ˆ934m4]QzyeCK#gi joo0ɺ{`qkV7{mmm{O45.0L*8-z0Gڕ^jbg'7~} ׉ iG\_9ۋ<:`\r1RR,R5VR+U8q F=5M&AҰH#dC܅獤t;㰁 +ٞsGn,UvC)Z{ߕЬq= hHL*;:/wyWs t֩rߓ'~2w.r6 grK"\XP`&fB^&GIkeǨbnn^L y49z>,L{8ϵ9sFDMak./ڦ^Ogܨn$ x>Cy:%/[xpXw F2BYIfUXC` Yf("h+#V6ظ ѹ)3S\Xg/}uިr H[pu " =(vz?~|v2혫3ZGemq˿w_x9R*J-LtnvSfόUmMЩp}͵<)Vν2|m؁l xs'y$*n:Jr?_c>!|4zJt7u#ul> P!%U!ګn}xJ|G69mMrL*CgA3GN徔L(D9+s5]iYd[ޤ7fﮃPop8WǡenY A _ N49p@:VM/8"?wԠaTWMuѫz%[o_qq>n XA+㤑@%񉌷:G!uSiI"NCbCU#t. h6,p W?ͦ(ĄNh2 :F!e `?+Qv-Xo"tC8z\#4y:~|%[Rm(4YZ5[KL1*k,u&<]8^[izg!q⪷tf#U ?O;/!m=ad4}I w?K9DT}Ø>4O"TሐssDDDi *"znbbF\\LX$!VZZF6ȵ?^dկSV!)6s@Nx Ԋhr"br"V "" DD%ejDa89 .'^l>0Ԗ WJjlR82zl&]=}Cs mwgkg(Q_SR/^Jιv=7{<,*~TRֶ]C^y;ʘd0g◯Koʪ_"ٿKK΁8b/Q rfk9 rA&)GX 'H+36W]̱g8_<19 yi` ,"|gHz'^b8b{@uM"r(oT}0\8,J톞o4 5/x0U1576I컬j۩Ю]diL [.DAO?FTܒYL}A3-GQHa7M!c^*v:}tjwHhO#=7N4NB@N0F%{X߄F?bk b%t`C碜Sɺ Ixڄyq4 IҏEo^[ᚂM EѡF RnM;}ƲVj T!Pdǂ$ځ`ꏊȴ|%#\d*^iwv{*d3fۨwE] EKl.["ON< %eZwɱj OGE}RrU)>uyfKbmO&įge<f)0 k7lòN=$)EbY.HȐ~kD+yU5˶~'r/0poL/A6{1fnF4O݀׌rs3c0{aU7TAE-cbg"sΰ`:d g%DD;y0`ڭ!e{)beͻhh$*7 /A(tʶ'fmؘɫt-EZm/(>l`3g$W!@E%މLUWzUWM%e gkl{R ,@ކLHVqȓ=ʓ?zi.it~sW8bʬ+߻6\C̬ V.t|4خڪ^ 8LɘjEТ-B^/LFSH؞De9ߢ)-F/xT?f^0p0U.~@!{w){W~?\wߜwQ|D%utN;nK]`xHjCmhfoWoGP3iI2d˙Jo4t ˾fS[A}삓mNA{ Ϫ/ ˍ<5?Yeag*7kx$d? h"4<+r]0#0vQF͛bfkelmϴUXM *EpO{ U@:"1MsMm<_S~doC0jQ/gNw^Dbp~dOզXt4f!dPpIoJc̚8 7 n (+آ; 8c WOhy e s>(fLXN0&ȑvNe>x1Q^wfE Ѵi<𳡹؍!"lJΜp ֦~j.;NG3m_bsB@@0b[F(sløo2r1չ:g渙%:m3976u'@/U9ݺ/&x&sC'\sdyǡ`E- y|{®K& *3tscuci|Y#;mHEY4%2sh%U>i*_Slr1xS-‡$[-Xğ̉{?/;d(=W|$ET^l~B:KK 0C*8nN(8 0.>]prWNtbZQ{ܺd; ROr-:(|7PKn9E=UvEPUB/img/complex_number.png< J$٩\HYd$+*#+{%#eeqFHg=^/^^{~~>OEJ&J""(E9-x8Y+#2oĎZ 2DE, Ye95X8rN#y1ѧ8HR'ǑQSen䤵.kmJ^&{VL EMXukV[iU"Pˢ-ڱ)Le[r1̥<-OwZlF5fu^(n0dkS"S]_!"Ȱ61_gGf!ܖJ:ZPr7AsЪf@͛~*Box/+pA#H& *$V9V^ppQ8 ))Ѿ߿5"P $*/nP:8{xtd/f̙ZFFjhB]IO>ٹrEpxyy1NξWᐥxWW'a) KLy˿' N%Q3L/4>v%"'1Vd&7^Pu'fcc;<&6VАwm}n4$?)$?CE1r;zoSŇakSCC)- #!"Zka[]\\|Rn͈`o6GQRV~Zr*湺=s.'''} dfo$N+qfgeQ33wZm ;wxw'QGEe*Bᷔj噎U#Oe2{^2M7yBcSN..1XmLw| Ѫ:0}A#55<ǶM  ־yW48[91Z0,e{-`,LLAAa2ijm0dZ ZrĆIoyT>rsNب(>k[}8ܒGY cl9WlT̾Ń9[(Ĵ:indS8i2{Xjsڴ'xs}cqv֖W7.[}ci]RRäL˺$}Z6ԞٖpOEg/T>Fnb"_.B[\Z:08xֿxЯ*Rn=,,=Pb#(QLCS^nOx=җϲ2%a[~v||Ua c9[FGY .Z$N?2Cn-;^>ikWQTlKQ.뒓EC9~"FՌpkrgZEm"AW$P**tttceD=\nqqrrraHt9Zť UAGǗnÑR{5;ׂXMsTW\릚 괗/)eg֎Teis'IzIJJ3޸x#Zx(Lx]ZTq=x% 0ɥ~V86J*IjnJ7xI!NW1וP=RJZ0Y7.?GGqוij(Uh{n[[~}jb-߇I^}9 6>9>*0ĀK }ԟR]n˖]S\ ؽ?(E.NPXx87--p^AР+<;*mlSyhiSnA=>-W2qT 5<x*JUUC+~~kVDE)3duݽs #FOů?}:lÖ`3G.[ RL}:Z_5~vdog7h `n;>T'_$n\&~8Y4z=|Qߘp}prT&vZ~!ϛIm]]h>}zYy1i%@{U? W8bA.5ixM(IPgfKQ,W@a0ea> J|L)RizFw9R-,, WJ\NEZ ē䘘񤦦gN<` J,z3pj\:0AFO0drjW\ϟdde gEGG1|2N 03D!Bx @HKKm=gAQ2ͥgSCgVT$6m( (hy ,.&'͓D_+%>adBʿiv{ʃ}jZS'E/ :fss>{s ZZZGKWk#:VfrsqM =oi<&k}e4Vuɷ###%ؘ`6ڃ~5L2_*4~ɛduvz]J[٭'oh 2^AzA){ ć'SRW|2l|?n"lo;ΪXYYnHHn"@ SSवEC璻޷N`uuOrDFl;hcXcQGu ̪*fP;TTfG[;[A`M\\V:a9nhkcxxplZ{r7žG u'IAlb߇HXmow[5DxS8\l~,dM \DKlyRbnjnb?>ќQK o2ۙl\6)րV=LF8\reDjll,##CF[G'dee8^ZY9ΑFzm0-ZpŘrSK #ĭ[R#c Ouuu&VPvU_::0;/ۺFSXUǪ8دMK|c{# S-aW]tn?S55&0b@;&0;/x_4+){mϻ@XuPVe7;W/ro˳v&A]gZLMy%\Cc?:zi_O4i&'-lm|7}!G;%/K+7W*#Jrah4 $@[XƤ%Ic@BUf%Yjf˅δS _;1f5D7Ascccw뫦Ichhg&;;D?d։_׬JbL̖66x;N|cPHxxv~%Xŋ!&Rzi:=xpj45OgT,γ(׳17IKOg@iMNi镰f\< "t}s L\ j-_T[xtk.X]~ _YLI|G߯Fz[D2.^^N!sxX9LNj&<2x 5"'%G1:!Ǐi0)gT7Hi9T \.<2Ba$ۜ44Al/]C_Xm:_ L鸵:0L\k)᷶ yne+CsRC uVV"襤]ֶnDLLC׶ Ku3#e> 3W¹Z^ݲ?zWoI+M:\Tz(|q)ߥW7ܸ'ܜٜ zӎg9)}_}/_~eujx>8VowMgkinWQ?PzݫRk_ O&20m#S'&q's[vԧ?i\gbό;w)>in,6i˅Kh[(^'^1nAUe:vyf-0lֲQy%[W9oW:>g]wfcYYgv4vΥGOn(y.^&ea}UI}9lޕ#cgk5m͘?-bHm[jyif?k&?֒S']If 0PK n9E EPUB/img/fallback.pngPNG  IHDR.2~sRGBgAMA a pHYsod IDATXGYTTWF1guML*A`hC/`2aSD@%JJ@ԬYݍ1ꪉk]E ̰yhe~ZF*t<0@G6(edUO7.wB{($a(r/Y4$}=id}0ժ@B@7rY e@ArxfcTX/ LTehq3jȇA(+:{_{G&^;MF/p^j=eXTqi1ދ>ΐltdɭ1@ȺgD,\sE: )7`rYAӽT)1(w 1QY Y 6b>G[Jߧ@h1+kAqNFl}7_a9O\}J58qJR&| "}=e$~^(nZMgpv!-R$ Z~2zQ8nQ ~E}lmұWΑD;Dani63|7)AC|E2%YU=ry@6Ż)jiݒMvK b6 &vΙZÊ0$H{>Z27 D5rmZ&m"r;zl$#uwyDSV9y `>ia$;}s/( L93ۊw¸zyB od[=Y ؤp~6y?ۯq_MJiCϥiE\=~B Me$~'~ZU{,2Nz]RTJrQI]LgY"b.@ @P_P<  [n kάeB~He *.Yf'.v-Bi31-لd9~%m n)GUF0Ao ԡFVYLtH© Xi Zy2^*}mOslR$-AVE! Jz;~Hlk̫  9`pAx(㱎3IW_oBYںۨSрGѶAY1K {z?`8hXzK*ϠO.#~\P\{?w=y:4q)G7nhmkmio9v߯^#Rfc}*a@0T)MBj1[4@u~H& m&oWVOcw^ ؀IENDB`PK n9E3-33"EPUB/img/ElementaryMathExample.pngPNG  IHDRR3 pHYsod vpAgR!Ǵ\IDATx1 Cp [ZZqAq1o X *"%tlNENeiĊl=SrCwiҩȮ/[iPc c^Du#øVyR̋z^Ȉ:, =gƕ9A"=C['Iȇ9xEV"`lu _NJ/*!U}΀nKaJhIAơ!UHCё] / fO<|KzRVdE!7O]{[gB" ]|6K/#φ-]HcOfPa "+g^4B3!*Bj;ևkHsexOս5h Cc7!%eHL,`fHBO/-e_ Em%bBߩYH"C*%Ly&#ɑg2y.@#%Hr䙎Gː3I<3ɂJ<fMȊY$Β7h:1sO¯z.Yβ \,+r${YJTɌL,ʁ̢,ʁRudYEQY:QEe&<24Jā,ߩxE~82uRYT@s\t]" i#SUޞ.zTXtcreate-datex320505 1221246020Afߴ.zTXtmodify-datex320505 1024206020A BoIENDB`PKn9EXF89EPUB/img/Skype_logo.png{Sqw(P8ŵP/Pܽ(VܮS8G7/d3dgwg/r[ADo ~I@5Sx_-H7"ߎ5$ih *hozLfQ')-<\jc]$`c&3Pv78!DhHZî Y$W J"K_4as#{=$Wv kU>;!7.Q!4xo?o0{l8XsACO[I7--м8eOwր@PE(i`kճZl~$_Rf&(JycGfU-DZ#u+׌l_i29E]݊xfyhzR <0Ē]ƬBY TPj9gMS~ǬpI|Ep+x`P8l0R3E0y&5$6) <n.k6h *+`Jɇ7Gr=3Rln>h143]cUڣę>G5l:-+sۢgLkf蔰z c}BcSyn4P`nE'K!qdl`a> WoOƬEI?P-)%0+f: ~P3 \ rKAĺX RKx-e FfP Pg3(3x6SY:@hA . 8]*78LX}-Ur]& [fӣ>G*ry0V{hzd͈I.ҶZ_w^Y8u>ʯE]@mF E[:pG%U6+v'3cllN ^_ztha_xsSr oS (lqQȋ>PJ6 2R @ RK췢cj+oD.ڒl܃q{t^(e 2 ZžlLPRb)8ɲzgO9sB#v#lQ>֠{L&랦/o~{G5t{X>3Ɠh=~ڟ' ~E DY Zr\ 5{ŧ[88أC,*N13RUHZ0zjd}.;D4U!12U$ tQ$Cʨ;?kҢ2w䲈dKmT"'ũ1󶌉B0~]r+}e}D QUFrP`o?+Nֈ)Ôe Hp{n/ D.,ZVL7x]ozh0`\[Q+NgFHQR S$QOd Ahf6;΢Lmឪ@@|f{[y,!fX60i ԁ#3A/ \:\$ٞvx+kωۛnf˶?Z@$ ]pH\CQqډbj?!I\(.$dE7vcD$.=N%#+7$+iaX܍q3Mnɫ7_#E.(Ilcn =b.kӥmQ0l0k0f6x33k&Ғ}o3VLh=IKl~&:z=b-cc%wm7# )u8RB4K%7s#]%L׋ LmL: c&&%GA q] qOɠ{)S'QMPO.,a觏|>TPbZج;(LK&i[Ql=j9^^c3W-,!xr9^C&iD.Ȗ~Aw?kQ%Κl wgȇBtm-„v~'wDajTY>H zpk7ybcxpV&_U_\_ABo,L4k>k9 >7$(5<1 Dyoa^3RjVZj3$`&zR& Pw)JyAdWG~ʢi%/IE8'3,@*k Dkm񗀀=e5bl x+Ȉur qB/AN8]4=(Ԃ$]gi 'bڊ }"WO C5*BvԠ9er%f٫1DzBBP:c{–@/zg/8l $ ͎XѾ'c3KfN\V/%};J@%G;^ҟʯvz`Xz9SM3D׽0i5l4¾>'?pBe0܃ $$4v 5郯ך 4aJ~SfmZ,' L%µt´1/x|ܫöoOJM9&_b7?&ylr!mws "+Vk%95Ye`jJa!sPZI8G.VAF== ~Tqfb`>uFzɖ l2~[xij%"Zk]6 jL%KFK>w%Kjx#~GcMԀ!8 _0{JJ[X 9fJyJ0 35; XެkO r/ 4#e7@0/?Lx/#V s > ZW=j/^X9h)Ǘ/d̘Qˊ#&`38hĈ+=3 t7KyjC}jD'U'R[}FY q 54{#l9'z A3MֱY>NAL'/:M %iզʮ&5"C28x+%/4 MA?y}_N$Xz+ƶXP  ߤ^d`\.L|pI4e&fNOTx'gznti(=i;o܃3 s.'l%3Xmj^j$v۸!*hg9i˞E?at^9_Szں}Y;{锺,r_XY~o(+ﬡNGuR nJavWqJiM)wE/-/9AkFR'o %8fN%Mx{uV͍!Uq^"{F!uۘJlCzoQK\%:MZR+OAq[8UusVמדgr  /ը)y^#S9jܳ]E5 dG"'0&JcGeJ(ٟ@UXDJdgc͡i1<dž_H&q?jUHWfT~sCZܫ#±UoB=v,{Xy1͓w-!$EĦ şN]Y$=WV%Ol93яxX IYuډ\Y'6 7v kO%d8Xke}RP ޥ~/<$efS d!īKi~ )84Iui-ph~|7jEGas/@a:]}_ע[Rb}u5MMКP}۩p X Z`  RaD\'h6CWr5]~y_]zwjrRZ|%E̾nWb7%y|Y2-XV%G=|+?YO珮W:F1n;׾p43$>4Qz5et8Tq%:8&Z%:~yAy]56^9~GR,$f>eY:I DyB՞fc.0>)tTe_6IVS@o{(Brwwe'mkqy%]Ea싩ofRjt^k D;,f.a:QgcKx< jRC;ʣ Ycss( 'c~n95D,FhUg?r`W1KD=YBu~DŽ 6PA| ZƼczU0zNv wȔ3oꄽIߎ%T׺y7`/$'';ksm楏Uȹr O)ῌumWd h0~ ?D1Ur gMA? }(7P؛y"(dzoIٛGVf3pd^߆ \Mӑa 1 @s + ?Lr=XziSGbCdg dcCERW}k̳j_Kk7y7oQ=7* wIDW\""|IMT?8:4?M("\bYB(&3yB.ڨQ fjr&޷vϫ%%ifEr@WF7d 9@+"<G\?3,v|t4NW&ץe);Q`|[lߙtTL4CŔPvROpg2b+/A1"9,raf-]j ]ƳRxd]ap>Zo4rm㦫kX͚ 4q8_ȷʨu N*iJJUM1tX_8pwghyf "k[4ԛ2⏜nyǣʿߝjBNJ}, y{C nCk]7߬dQS7h;L$9m/L_ >W B%(WНϷүd 6K$%j6X^Nl&`jЋ4IR4!̠j56L.I~yqaKi6E~'dIN8hc AT19vHwc/x+ Q_j"Mcb +zFpm璯HlXX1uhV #֜F []O0a,)j ;-/.+K1 ^NEΕT9 ]'$;W*1VQN+CNwCr,a% 5YLŇ9* Z}NuEi,)NFx~aZHPjv \V|NyE$ʑ<R)*K S }mcYb Sϯ;Z94 #wdYyKHb!s/6 j"q69npH|VS7D>7F)J;Fgݖy2 = ID߽mA|<|mdt$Qg oǢ&U!mGܾ/\lR9.Ze1pv/U[O7g?Wa\(,,b%TљxHHټYl~ h.Em لVuﱾ,ٳt#v+MP~x-Z]lN.,l}G22dD2#8xNk1u}\ la[XƘtZږ'*rb CljGjD`aosەc|̸ JaC/|r?\`0aJ!|OEJ9A\5,YdW0>^7p( ~% B~7W<d;Ɯ,qО{Es}"?/{4$R&w&dmnŸ)=rS6k{odMya`PT+N8~WvDfϾ&=E~akcFj|fLn8SH{Pj:i͏\i_ lQy@r٬ߟRPTۮsv3Q . Wr(dk<}W'Qʜ.H_䶺ñ-A1 RgQoS 69?0Mn|hrNmN r~R}yN2F@! 2=&% @+BFlљc7 ϶c3\~;U#F2Wv2&K4er| pq۔;S1kˏˊqĆ i܄Ǖ*Vni\ ʽ@ i(&':3YT'|I}FW\-ӖQgq*Ra}R)yL}z#FVԆM>&RJ!%4`&²~yOXջ\D41_չk =LhJvL 5ĒE;+VQoM0y]#ollncr^)FkrĚ$60kEώfI3%n7AeAcZ kaf3$KKf}Vփ)6< 8tmT^@;Gs*$-:c8D¯P$ΎY}zlVh_Qiq&&03ďG:oG-kT=iE׵S*!ȍ[819E[pEJf*+$z o|-ۡ]LlR*GH-r/lj֗:M,(PikvYъFxz`{La&yʹjO,GP:~H`54N͒yl7 d%LAgL+ }%s *?p΁OA-(G㖣 #bf5q [M5;nL onU  Jfř{S:}ex 64ZppSaدkb]3*Gt0mɘ5pH]g.VlFxFѴ9vzpN+ 2Rj3&E%Ax.1\!;3dzTMD40Q׻lg33CAOP!$tjtJͰUrPGS>LyO9qc0+ycRex:w vgL:eڇm~1QD tu]/BKVi 6 `/~3f`ED~Fcrp1\;5~81t77sRZ攡S0,5 2"6619m[lvCyX`%n"nS=甙ELOn.Ӽ& ~|_ı bg4 _|`s2|x,\.-(&aofט:uu!1SփANsw}ju-+d߉׫ .FY8-6M|T d#BVț?D}` }vW`.yM|+npijGZ~mW«Oı] o F;@mVǙ#Q۳rbHj_ ,1lۢ $%c?'e8/y#PW.TcT~-e1_"qģҰEN(yϨ_pP3wUCN;إPq+|?AyǿG[VY7ZN:@> qg-*Tz/ _$+;yttɿ%a ޔ߽UC #vr;j]RW ŠlHrm΢{pM C&)AlmzQ3zW~dJELowt΅@u +dž{q-{>"Z vg&}/fßU"r^H s+(d׺ÉEnx0mϖl&FVJdZ 6Wm&՛  >ck9}J,u,\M߯{ňAz(1H|K|e鑎F*)5}c+z4bb+Ƕ]lmt ==Fc~1LxZ0ͥ Os@[_^孁4^Ӫ~(JўFGU(FZ |O9aTJovVkRJyX6lc )lF}h%=cfm2ϓ9nCkO`RB`u:Vky$E-31~ދ9,'2`J1 8ze$VE?$-~d<6,\oG9OW<!ϷS!?Vg?=}^$:+ѱÞ_I/qxѸ&sw3z,"tie3?׋<30RVq*)z6.+ޟ'FpRdۨN"Iy T6P#=*9:o*P9a}ǏGyK 9?4^EA_xLw$ oHwE˜^}1PܮW 뢥$NlX[~Ļ0h<ڒw' B},y@}kgg;$_K3R#)}h{GS khAZdاx;D2klS6z*Ǧ r]jw 1W8$SjLeT  eQM\U.@ rN wEn%&|Ea>GKmgOcef)R! ˹HO099 n1Q^,L[JN7ʫ'#]H'd? ([JɉJk/(WP|ېޜa {0ݜ{|0ړ Z#i@|GݝNռ!cr,$+*>!Y`؃e cPRЏKx9Cu,biÃ"ױdCw$'(/Bq#Eks"?EUaB$^zb:P@}m/;ա(p- y]V%NI54aem{hvr',DDt=QzdKSkW+(VtSםN 6  ` ;T:Ơfw 5"qEJ3E-|)/mlŒqݳ/["ֱ]uuD [NJ/&Hjs1.6%M>-,pTB&0 Z)^nt'LCݎ=%NY}?xI2'OD ϧ3E3% mFM ,otoGeP=93j]`{!bf;k)%cbpaZY B%o5HL'\s=is!~75l)z3; {21PTq;V-긒̻AHVJ Pl;I;jrqZ09:LsEwAHA7\H'~F*﮴u 'U.Rec J9fL3ZtـMr]ݬ'ffl[_eߎ#mlYoK.?sQvZ|b$q"(&ӏG;fN{e>ps b~2d%Pnd~wU rajw,2Ρ5rQt^ ;A8JQk;8\F(h6sb\BPgC28ye#`x2aD!^)!ԉ?]0,ՊR1L|vLƍ^"5Oiނ鲠M=쾒džS ۊiO)iX,IqubVMnD!0+lX Է4k8;y0KEE zFgL=d6PAjl ӴzAݭ Fxl9II> o #D18>*^FH_q+(QuU :$VzLT:ΚuJ_+ix}7Ix!"?[i_9riy֣÷|}.l뮌u1jSH};^OX;Qk@~3leo;7e:HOxTkt ѵxXog~*y>FdR 8E 'Mt<(v\WV!rW gw x |Qƪ∌ߛ _FlkS#/ewY箷\AMMUxL4q-$~6]lF؏og3 ۔eSBJ?7pV0\:|~܋D'kneJY_R"r&mBkc :Ez.>_O+07@fȋ}|*tl;ìx-9a3N:O܀3D&[u˖mu^G: tN@ÈF`JKm*^g9&lT "&I+O5*8{ҾQi/@zdr  |O/Q~d;4nͺVKWf:ط©`B4W+qBiR~$7!2L-EuvlhƠQON07 ]!_Kߣ_2s0 TlH l{|||#K_%m;BzUW@go gxWN %` =/I>_Hׯ00ip/_QUT+mPK%N}[h{6EPUB/package.opfWn6>oU~ְ@t(C"$Jb"*IvcR-;Jl "r!'ys< djξYILNTbܡQ;\$n޺5@ӕRF)S"VI#?z3ɉVGኹ(EfX%+ݞs5$ k>D2乓PC2JT9L.Uk-`)$d@ǨZ,WkL1xUENE&QfL"v-}č3O{l}y;mI ;iN^UIwRTMkR9FhԩHc{}jqTU*(J1T((n}7zǕkJꔏ9L"TžZTklӶf:,bS@ "!e5_AZ[n7!Ïm:܇CcUA޼5φVӦ9̹=f0վΉJVKMe֭f=vUq.T8.+2YOD(e,@`Ihlw( 'QhLb7|L!V4UtTqwap PYiT;XNPK auN META-INF/PKn9E\ˬMETA-INF/container.xmlUA 0E=Eѝkz1j0 M*z{JͣNCV/װi gLxNƁ`0LvF"q+n쉳ycf>GS(A$w>PzFuce|;:*Ze~F10O9.?"c<)^PK n9Eoa,mimetypePK %NA:EPUB/PK o9E A]EPUB/xhtml/PKn9EjN2=g !EPUB/xhtml/nav.xhtmlPKn9ETPxp#EPUB/xhtml/content-images-001.xhtmlPK n9E At EPUB/css/PKn9EX~ EPUB/css/svg.cssPKn9EnCeG EPUB/css/math.cssPKn9E5K EPUB/css/base.cssPK ,N AU EPUB/img/PK n9E | EPUB/img/check.pngPKn9E%&e EPUB/img/check.jpgPKn9Eq!EPUB/img/cichons_diagram.pngPKn9EܨQW <EPUB/img/Maghreb1.pngPKn9E]7sFEPUB/img/circle.jpgPKn9E=UvWEPUB/img/complex_number.pngPK n9ElkEPUB/img/nonimage.xyzPKn9E`P<2lEPUB/img/check.gifPK n9E pEPUB/img/fallback.pngPK n9E3-33"{EPUB/img/ElementaryMathExample.pngPKn9EXF89WEPUB/img/Skype_logo.pngPK%N}[h{6ҹEPUB/package.opfPK auN A{META-INF/PKn9E\ˬMETA-INF/container.xmlPK pandoc-2.9.2.1/test/epub/wasteland.epub000066400000000000000000003067561363630463000177250ustar00rootroot00000000000000PK i(@oa,mimetypeapplication/epub+zipPK  .@wCמ=>EPUB/wasteland-content.xhtml}is7gߪު-Z;F)ْmؑR⚏`7Hb[z<fSByJXξ/_D]y2Y6mۇFUxb]}wFҋDqTy)6.2??ʋj RSkuYobQG st97ꋮj>,~UJ&ۨ#U/ Qm֏yi-8DWsx##6e170y6˽{ÇryÇGx5[@ex/ܔ2THxT13Zun(?u ԣ݋]uؼ~֛vVb>:ܗ*׹Bg=NhNՅ,ؤMJYlQGMbvիI]*) WbS2T$hLiUl#|a\ FZڬF݄G?_t?ߺ7O7~Fp_<Xmɍڑ_G=ZRuq{B.MUDׄ^/ʃ]<~i@vxwGȵE+cפۼTZ}ʛ,m \J ^MdR~nJwdHw]"I}:3ϣފXvSg[ywrz|-ؘySȧGE SIjjRCԇ{MtTU>c/x x} >ѤyT]YfU۲ ~<+\UJmb3@N]V e:VQIT4 4IT勱mX%ďq+KkbU7.4Œ+|j.3 0ƄOKˋ:zIe:6x"*eXQPtlHEI{t#};xpԐQ>,rصNRo7Ue3Nql,Xh^kMSWFWЛwhL$m[.d5 <0#4Vإ΃ԠzKp2 mn[ii+ KC0 -xJPW*cIsA<(I5em.-e(͵!c =o ڧ, jS  qS!DIoN]}{ =@^o׊ { ݚ37 Zلz[?qK_rۊ7cFV@Z;yL_ʔRGs [bL<.=';9@6io1&b˄͇_?{_@V8FOO4\ #,JsL!p(qNrε-1(ZnBzͩ0=.Y;M`24"D"ǴUfTzs\:p,6u"<häGJ 2v?ޏx:o!?꘸qW9y喆Q1[^K e !h4P*3JT**9x-"M-rorӦ̋L-Pk6 +l:"G74ʙ)5v8', |,v[r(dNH^clb"x$ɋE%B_4%4t#\i©W(UX]!\DloawyW2E@GB V9akYit'`$ꍭhi_$?݈uJ 7EH@#Uf} ^C ;夙 { UD(V73јPkL;}3yX-"T "Q ff:hT:b! N[hP(~d[f T: 7d1ugͩ& tNhC{c |6l rԔ^ g[BcC#A7 -, MxEq4tt ]Ԧ쇀Jv12@p֘lQѤL.=獔 }^dlHE δvA=vʗ%5`H/ An ∿8[y\irB^Mٚ) ՌCp)6:2:bGP⒆b6oB ^ʠTX`b3mLi.Mk~Z"J C31Qmk~BI?7*G;޽uMO'lWwO|-d#"1P2;5R$w{w^y.VN 銉 @/TբtRMPhZBQ0L`Ri5J{2ApMM}OyxLVY=kE5|? ('y3IstMPUxfL`lg3%S @yDrX[Ɠ8Wo0E&!A&AF*&]$ 3B '١n=N[II?iJm\2ufU-3lβ6``ٿe3iЭPy 1 ) LPmJSSlt*| E#, rSlV:I|l2{6(3:Q F|,Kĭn|-š )7`mY/aIڜ `N_4"=.SZ'3'!;jTeT&iqȦc<6cDtlCA? {KY},ifv5E~؞Wbs8'ZψrwHBhL ~QRedȐIu绩ѩ?2axpÈ!|I4§E~|~;Vv1(nRϜL|_D@0J`^6^YĮ[:EƠB'Eݯuw+M #:F7+=Ǟ/^_Ylb-ї :ϕ'+28Yl@#ʕILgjNbH0& 9h)a 0j!SX(r˨J2м"6.\L,;i^\ 9ֿ->Kq.#I`&aHN*]Bt~;i0'PqT#LO#+g :!AJz74l6qid Udb}BNRE8zU1ߥm>ON/N兺#r Q1aIW*IbYV= 7R#\ yEy*y/53:chL8ZƦ`LZ;crs u).3e\nkSliQ$ߤm:Bz.ؘ ~ń;k,d&9^0WT׆{ x;K7MM ")a޲؉.P!m-_ EX*yYv7GONWNT %t\ '^/80OLe$Fӄv/p H!$ʙJ2Y7DNC=FR|^Vj$#zT8DWrsW>!B{DxM1VQIPKz,@IkK=9ըRUbqeJ IpVIlsV6BIJU`W!I`>@r(hMe<؈c+Pwa{kcǫO6.݊obtxMTZz!C0C?DniU:WlJX5X2|YJ?lo XUur\mAy/e`'o\b+k%|ggyH>},wi3W.e>b$Vo.u,)K"6|+8@ovt'ʿ5dX;Y83-ht& XL7,|ʷzd\Iη2z=5D&2-^s )%ex5 .9.HҵqAn u6S`bM1sRX p͕Ah$+nUTPb9Vrw:N$UDQ%d&m/jTؘD!f6 mm' .M'bo0out@7q}[Þ%yׂI,Շo)wDV"]Nt":: jnjv j3 .-&\,KؓHBR 4LfnWx]PY$(ϴ ҄^ An ݪƵϦ4a瑧,gΝl5rk/\A  4S۩eO0.i5,Mt\_ p/axfxWv0cwعjYXFjr]- y.\;K){zJ͕MN\P&7cr{6S0+ŎD7I$Tyy*lU,R/cHpҴC]n4W94л@}!_vs*kG/\LxbFcB`2d+qy!hXp|\,&"Y Z(ؾ2y %=m*,A? |0x7z]4~J7 φpqRLǹOpE6؇4"hSIx{=wwQΊ^f.}<pN)ܽݙd6Ke6u QZ6k$;HOG=˚^ߑzֳ NCj*-c1u6W 65ߧ^@u#ou&@x8ťD_\"W/kX}7{xˮZ{:۸'CA TqpB;BId|ApuV  Yo<1V'Ռ i_2ibS c!q]G{k:Ϩ p+ꂖqr9TԶ(2V i;r\/ Z[w,ڇG^n%q Jl>f3Wo;>x#'CN|B>I?txZPsiDW6ZngU! "ZІG;op-o]|^K}9.nUp!V1sGW\> i؛2)<+?9Iws1[(X`CE u11)?lnX&hΗ#صnҕxsח@Ы}ޔO) //%o~Vgܾu^FsתtVF&rwOJeѳ"J˨;38.Lꃙ@~K,4_KOL9vN(&\6r=>麄q0Ŭ{k-ng>ݪG+LoҸ|-i0r_i=ОgT'B w!/I.}LٸZcM0>;`0\7e6zۮ|6/]V@'I)mS0C=K=m^eso.%w>® tNHC<׸&_#躤3m:n{֚͘SJ T__e+.CG*Oc&Jd6cP2kcnMU~ ud885N~Ҧ[ tf56ұ؜d+fInNIV:RԌWT\$饘~s^ 2NJ[_V__ou$c/c/9Sh&.-qo;hM ^ćT3S{ 7f? Y ]w,w퓢j8yϿK= R>cWW"ױq!۵e1RR/q!OSPD[6wH mD+:B6q9:*cS. j/QU a]ww S(§~yN^d2;Jn`ǪIK2ZDG.is糕{>lhfʕO^=äVF oʫ:6eUw\ӧ(!VRw NL qbb29 {}Vnʄ-Pg'ĥYH_B)Җ?)촘8f; |T^x<,">6o,w=P:i ؿ^vHL+tpPS'fr0rt;) 2v_7) :e=#FV"^&tNmMB,&&bEiԛ$>rdъr*M`@^wrLHq*PYe>b$\ݙqDS|*Äeofxpp,2ߨ)|J%/xV~_ǤrywK{ݧR4#MqfZ|%U]vb1.ɖe$?-3E 5J;>;g؉6:x5nY"KH4*2k\`X7ǥNԠpntDR# wYÍe7JX3ǁX##v.]%8 @It8G45ԁRK/w7+H\. 7kJ&LkF$oh{a五3|6b72J.VijET}豛UH!i; KagQ@C4mǀJ8\B^{q~5'<ޟS^ $K0`@~wJ&ccwQuNƃmE|I_1rdV3]R>k벶WúE7҄2nM$ĞZw2(B_<4ZJnHT8Y$w}˶玠Ŋ-aҦFMLlY]zmSbLUxhL_fV cE[W?nчacgH%K7עB}dJ< 2eGn"CzOt7\jSnUfU+fsksof@ꅻ2`?d.+gÔaX:UiĊ5_5:)}-UO4Gwy1,p+ie$l g].ign0eWe:: ]3Ah̳eCJr;75vU!tWu ;<8b7[=oLvn+m?i$>Aݯk5T_v/P*!}=zۮg:U:T}8d($еě(H#g3PeJڪU@y:7sTllcy?ڪRg+W>/b鄞m/ޕxᇔ`g* gx@0EsI֓@2r Iun6jںnKr!. ޟ:ƫfn?jQgĉJ+;uٚmKVuti.:V.ۺ W@6?TP\ RQ[pQLb|Ql6M_[ &EDJ/1fj:2w2,z<^?9:"Wymqº:k8,]?qt+hj?r8✙߀e¿6&I8J-ت5dc k.aZRȷ{ՊNNs۵ls*wǻVtWi,{xݳz*ބQH'`oœm=^{nR\=rGYE+;AgmVq8 F*]em;?f'SB;|$[KbSX]TrUG8e1\O ]5b녿U2\[M+P(czY7|u+1]kvuc~Y6,=1.^g|niVo<" ³)m~wߖOS]\ w]VCΚU3%i%%('ci'2][wЏ/jy;}Ksn]|;1NksHVW5D3mׄKBV?R7#Y6Z7: XQۦ988-(i6bn|XSmC)O) O{f##6&xћսF|coMŸy9v?XrI:Ư&ztt()-$7e#g$7VY, yD`O{,1ٮzϻAn;TeӠ&/--"I4߱ ]*:w_zD e2E7VQ7&j*F_gðxzU@^Cd@_cB< czΦѪsߑv* (E3W;)aH6DkD({> >@3cUГg7ʹ6r%wX wdN' b&(pu'V+秝bPc a23DİoI܀c'C+HVA~9՟^A8oʦ7 $3+.e]VpVمW>50P"]{Pl)J7J6b_M~hGةzӤɸu\dC׆FBmDE@ o=]*=ѴXڪa@?XL/Y]Gfb_z55dv5=607/V"76Rfj^PdtSz%mK[妑* }y549 T&Xvb%^_sZeNsA XFkLCLNL 5U&߱g`;:лi3޹ tŬBԖ0JM<,"[潕MC65UE6kලET9sMl8dm wҳ=c:8'[7%/)gzu|JZ3,f&@@&[vic6,&'nX&m0iB.z=L3+gV3$ ž"aB{E'P57F?L 93 Ed{ȃ)Ю'0L>1\>Cٽ>?l/Jqj;Tj +v4-9hDo>A:T0FjX#y<#V\_)E*0V]ߜUtBx1󱯑u_T~ tɩ5V؃;b,y*۷tl5k[䲐]GzF[J+6̘zgO=EJhV~;$DR2Ĥ<_1J6l1 fޔt?a]iR]Gw @֯t @*ǚqß|Ӈ-7ܦ$['+&MeպKDx"5TJJ9싵9_-`+h =/bk  c{ͱk.;}" U (!0mѭV.NWciYaU3 tsh,m ؔt7hR]rR4ݘc9Vϋ^[fZl7gEv8VFP*{Աzݵ񮄼W_HiXox^!A*GZGmD(5`WZG%3ז雈wa;=s~ \]N0/D7PwKDPQW_5i $^VL:lX&C^6eR"p.xcx8E8P:NdI뽍Ei k >%^z<1nvM5DS ~t%bFjkѻ$y:ȂџnzWNvTݸQMV.՛DWHĪ,}#@y{]^蜕iLNZ~P/w8 tr\g1~MϯN}RguӲ]5֓AH_IwV]r&JkL;X4e_O36c8hNj΄4σDqxp9݀#u fQU}CD&1REiO>ۤMD\~mƱf_! bq+:I2b!\'pO !(s[ot~z=m0-B>Ykҍ\#H ؗ}\wD7uٌ:wiL :Pۊ>'y]Z(&[+OWX===?ʉi@`#菉ڙ{R,v[#Eΰ zb]aNQ@V.[{J^,Λ9E^yv7\o\- Ed [b^ %W[>Ob߭T\=k5w*ŸaVyݹw`#ى4%iow¼DhbΟNv! NqIqcstr}J{-umwи5ip **C*AW]@#]Wg/eR+]z)_bˈ)cju9bv]z{.+~t*1Z^a(YøWʥjSMR8EpjG7 v0v}q,.7 . V_/TRA;mE[AjY:9A=Br>!bV ^:3V*\ZRz,ƙ7K9b^cϺ=U_^[fݗwK#-%u@ =056֊d=ic6޶Sf3aWJ0eCwOy?gC{b G^V`7嵝A;;-Xx,ܶRggl+5)ÛQbN:M M| [Rsn5X؅S.eg&^nU8l@Еy߅#o _/dJU;OFw"4BВ78R2r J*jП 6#QxHH(Hi$I#U`p q2gx3uٮF~җe0BU-޳aƎ5 ,&:c|ON*_3u H.X9g}72wr @DDЖdO'r2R="!hpnj5l_85#&0BrٮR5%XM=!?Ug P?<s+5̼ͱmb.(8 ؿ _?8<ݏ{O9ㄦ@xurWB\ۆըS1[UÏ P ә3f9<ITJoOs!z_pp+7=, x6 ZpalސMֳs_kUk_; SAG}1YX]0Hޥ.]riWL^u4!moC7)vN%2ut1{2gU}9}nwb&/fT-3 ZRЪ6.vfYMMa&7{Eh&Ao_^lhkvk LsmSxky(-qk$2Qq;ó}+UrDIk;<.:D:]JIx\ė:}wbyu7XpU5p'hb[e1OCe0'֋|귿(-H#܏MqQ?k)k8Dr#e*ڕn֏mZbB2jL|͟j b0ʖ1y86V&#EEΜ{mẐEݻ~t8 Ríhv6O?^ 4UЫ5 ;_[$Smrcv59;_vꋲFA7mR{x/^ T~n~IT/K SޗG?\k|oģ9ʖ!<5{N2[AŬ*=ԐR-[ٴ0$Qb.n-iX*n60{FlV7UW)6 +Uehu `Bf:\iwԫB\`5Z{U "S?W,q 5}W@*LaN^oٱ{r ׃8T\lpi1Tus8lMI><.T pzB , “i;w\WsK0{:[{d>U<82;ii^+=x2P0ˈH5o].W+'jP<eA:Jlz|S5LH/>g4+[D$Ixp:DX̳u39Ia)|@d{1FG׃q3\!fe \_4e"e"$U9fO6܉Z^21-nZ\^Jh7᳝㪷N5.H ^Ж*B1v膻&fD[ Hz6r>぀.C.H'I)%"̬"K2BiV˩M F9r[ +m%@ !rRq>Vw0('5@0ϭutfy9g+5X\LSXylV\{ʶFuFIq9 -WDn1tz1*E3 9fa$~f3'D:v:,<襈b5)-242JTop֘--/gljHk P%Nf.mO~!m7uvYpR13Ջ̕Wע(l(gBT^<*.oV˗am$XVjPJITP)AjVc J=s? 's.Ϭ }bW̌S'YⰆm L' xng9<@PrϜD9=!nFM?)\dڜFFVoPI{m?s6\R!/%Pv4F:W$Z[J%`xnqq|` O99&(OT֝J7KQ >|L*ML+.z92T'xe؊} ꑯ+:ԗrm`P)t7c_8,~!]ZY 9Febmj<^s6SBItV/[\Oԓx{jEq֠L_Sp g},ۜ*A!p|+zL$-,kd;p@(ƌ8^pF!*A_\q]"=4F;0UjQwcޖ̾ɶnH *A9MjP2ޫ= H#E68z)T ͦ7Y4smY9ʗͭ6y,<0k=16^yUWyfB\ 7*+WMSJjHfO4_$=ʕ.

    z27>J[FͮD=rA,[ ʅ3ՀrK}/ʥ7,  cA`GJ!ʭnhTrNYީ\tS +G¸%iᣖԬD#z~V* 0U݅z,ߛ#CG$umlKC`<eHY vW޲|4*ђK(;weKsAPb|yy!WZى {+/wF'MD$P2>l8}~7f^m'gɘCta^۹y; ?2+O_[ASS˧|=]%掶iȞIݳEn?Gl uhܰ/)[,FEs1qj˵*-T.*{jmpZiZ8'JQƅK+TֱF}!4(`fneJ{s0K/1kg09y'R?5wvi"2iߟJ2t۩w ]-.@dLp.ɣEt= Ato<\pZ q6,~3a:8Lo3ҋ3,p䨝KWnlZ\VyN? k;cuqɪ_\j\o92f3tٌ y(?f\W<`m%$q(&K3{BNA*c8R7`!3o^Z& v5 ZԻ`ضDo M4d׭]s>lA28 >"f׳Sk^WhFYc֪7`]&/s\{kcWA8$#+P.*MkyQD[}||SLըM\s >`!˜[iU˷rQ*{MPU߀mJ“G.ljA/mpg ߢ~ j aI, #+VB+:Cri1Ȼ:6QVnY.̥ 9i )j T;S 0H#Y3Y,<;X'+~DGY^!^TF*H+ Cm+m=&3 )umP)x`[i+?y $wv-(MDH?ؼ\aI%%w囼Ct,9N{If6"R3&a8b+wVYd<7`ϯ8U+&ܜ7!)k\!yyxQm0! KRr΋7'_sy螶:G85Y [r5.棃քYkHde˶7D@Ջ9cg08kO p&X/C?߮\KLŎȻ /veqp4j%aa r0Q4Xl\UKkL@^h>6X8b3r{򎖄+b'Ԑ Wc!~GdIS.z=2et%WV_D;]g2=wˊ50Xblp je p]/Zф-ZPNRwcǖ:Fy8{@P?΋)8'81x{HFmLEjA/U<}S#!W-Vaz.;ڀ!B/Z SC&՝k;#S-#O:[ڜ nNgy ~60ҵ"C^K R:[焐V6F;̴hzY4ǫ;fWȱcV!OGT;kc*eBAEOaəAn#[qm(y-ĄC+uyzrwrta'2Fe4A,2LUOa62y0_M޹#D2ZF}%C̴_Ca)TPL* 0S 3qP*QɁc&, m_Q/ '96y8g>d56!gzt1/fg$m̰8'_V'qMIν7 LUW|l؊9Vf k)f#oa򤐺 Ҫg1OF7ҤlqI\PGumg81+uYif3z藘Sdv.nu O&QkePF E-s܏ɶ%ukO1+;giΣaV+ӬZQY1ܱ;wjpmˮ2$ C9Nz9ƞz"<0M""JsǬ₫?6]}Gmg<`xT9?tu֠jY޻%4T3*:rC&.X=606=T֎3͍aG*j_e`nց{vD?2ՌgMc ۣC/sU&Bq&x"ߊ Xɩ`sZw1뭽"h]\ x:`_6`Ŵ/;[{P[xQ <"gͨX.#>S#&ل.dG7+ 8s} ʁ(kʮN^ t,][wH,|%(#Ri{ 03)UQCWV@qT [;-7Sf;Qu:uuS((L"?Wc Ya`Rg?fmͭUXu~*vCMny̐dh鑜{S-#^=<=>޽2?8T"ZY9j]S}}Ӈ @ǹ=hCɉPF% #k4#+f=26OmsD(~ D=8Z[m/Cg˾5DC\  6D ngL#ܾ5 s#=~(oLnpwB<͟þ忩a|ad7W0aꦋح79{e!hnrg8o(2; #hԍv p<=~8i2;17]n̙H7cusߍ;F Cfil !A|<zpnoĔ.p_U7Wx]:Bn^Ͽ!7Y Ÿ19`W }_JOe' I0_Ԅ.v3޼:o*Kx=p wf`e~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p~p׃˾E{o?= 8py{t ܀ڷ-5> U󲼈;B~7vB _U|.ۃOnby5e5W 9(S). >07w^x-ǽG U3; A]=wcep 'Ol-;̧˗7t+'_:EvJԋSmDR.1D/I_  y e}f)\, r\RHNTJM4QtP쐘M2q~qxxJDbYR@"+' 'uWF +-#!-=-s\s^YFe?ȑʝCUmK{/*)@!cJǔ>+s+_T~Y娊+<O'T=zI5Su3g6ޜ%>{샳-MԣՇ5i8kdh,:w&c^--V֒{#hQ]~]2="=m0!A|篜/@v b ҍ֍4AԘқZn5{b\߼тբĒ2rJ*jZ:кdž-m]Eҋf/ؿ_srxVGgO;>u(A@&8M9+99OD̹F._ҼwijMr`RCPpN˟_ 㑌!l%T$򋗲WצwAwW_M#\;zƵ/6j7n@o4&٭sNF ]G`]qHk/q?>テ Ѡ bς!N!-ҡ?y8'OŠr?}n1B2".*Qv]cKrKӨxl+ ډIɴ)i˳s/\(X<شd4챌_yʺD׬_^oo&iUQ#u/,!_](-Jìk$vd[[ݽCFV޳Ԓ}S,\ޏJ+?/myAtzY ۍ7Ĥ6P~^Jz1ٕs߶9d,q\R&y5ѳX(vUVgs4YIwT7PKrD}xPh9g";A!}RےT.@}C @5o L#T_- ņf𤯭[.x+8nfT^Y TT2~-{(ѝXaW\9O%H[$kloCfhӘ9 ;}oK/C:mN&7 Ls&}fٵ6ʙLpmsܡ3WW+ˎNJ':g2'_Ve7*j8zj"QbcuRetȧf͞kg> xnq˪ZJɔvGwwf:C*Щꇟd9jw;M=Ic_0~3ݒ-[6@ҟCW\s;9^u%q˯ LC[Oq)~zU.yrCUZSg\ u^9[^ ٲn_SV=mvj?728E+N p"S qEbt\5eN59^l( ;6>8v2;8>w[8TۯU_6;{ZSWזQܨmo(FDRUD-3mq3i 5D ZzmK64)F髆}-JWBˤAy 3V&4?,Uz' S,lK!5@KĞ;\qR#Y$nM1:Lr-J[˝W~9#Ŝ6"b:efS$;9V'LJ=n._BWOJ6k%nHj/aQYX4mľP5Z쬦1ֈ")trפ>/zn['}p Τz} k:Tc@KdzP[`mׇv߼ݿ+7 ;WS[n2toǫ?q::GV$sTX8 c38|Ce6ITANΫJ-!x,\܊*4f3l*3a=ە(`scD_/s*g\ /47vsA\H\a1BD}?,K|QIJ $,#oit 5BγNcmuII X]c$dXr чc#7=Z|9R\qS9ZDv7xFaIgh5]n|pxr[neSΊªWUFĻ+W]hs.N)d6qcǺ\i?M4cGF΅6/6N:}7qŏ8ckDP 票o,;4lxh4WU S5$iDrkYrX蕅P' +2m(n֚#ϦS1g]l55 ԁ+t3 VVgM >. T[AR,y K#sEխ$[9d8쵢nat DOCY֓^;]\jh(tJm'rV͛qs/lUK/˼ }D_Vg{4sY$vK֪;Pf=ejgʼnѝN5eO}M_9ZnȔsޭ2Hf(?^vK+.6r;FR?pڋ)M3+;8Uf('~`ua׍UTxǁ_ &sSۅqEޚUB]6!$el19 rԊ.MSoV7fI9>a^~2RGMWM}irM-۝恕ztizb]GdN<'e 4/[ V@GiW5fgdn2@wVvDوs78<(k&<;kTsdz z"9C-zzDZXO4(8oFno2iL,F6}17:^}y[YGWR}=N.JxyWR=],[Q9XrՐvBC򡛵Scϒu:HLKYzٖU G?`<{ao&Lt,azRu%aa7i6TʴH{2גd2'dw&[RXR/+xyu ow&qO{8JpvBsNe-c;\'WT mݼf2*X9."z5ЊK_idq3\?M!p)XgW(rţ6,(zjטUN5XZ gu}8^rZ)#xMΨL+x| o%ݬ#]OsהeTah܎U>ѥPi\++TU1GٓYޱgXh? y;@2~4QG~qaNyMֵw >%%%ް ;GD|?ĢAuп^9.066 2ty[,:j:[SUƮstjP0>0PU8FE'P0riSZ,9=5j P^vI2%q;}fl}ߎѶtDZ%iMg3h9KjbGJrPBfQ(ʔz(?$̥lI1PZXc j'ls_y1KMȏ䀄8E:mL-(o?rFs_GO=Oqy_؋Jk@zh},tP>W<8L^ic%=A>fJh5~fe'V{1||o*DzHɖܦdcA?|$-A2=z<" p9:&[L]Re)+o@ .MXMy 1qڴz8 ҿIFL^ZOJ^Fl]Mek%f6nkLeŝq5\uDI}`UI1~"oӐ g4S_VNA8lj ~k{ M}3Xf`DEzF5)*ˆwf2U]yZ0) KKU1YtIgln;z3j 8 Ћg|ї,Rz^;"A‚ыbg:S~ZekdEoGc32W"*6**wV. $@?QM)B_+ j:a0yYSC'>MfLϙD91AԐ+p1v8w֌o.˓4sRWSjTZuufnÅu36"g巖Jq">oo{{Gr-;s46L<պ)C{^ CVn凟¸6YL_&T|;GU ?7F2-6cO$^R3g;&| J?Fe]/7lKG>g`gvI l'׀*)Dfjh⾒9|ޝ`LM҃܇ȓe^>,Ghhmx U_ \65@µ4w2)HE/ x9ǜT w@O?imggYzzl̐grwGN B&Q]]tĕ0־Z!k&Ek50rM^h*01ps՛Ġৄ:5`姿FCX rO^({_gV[a1Uv1߰j{1'偤a즦7SIJP2v3N[Go:͖l$j_AAI~{(i3EǓ]ww$.Đ޺/_fOVxx15RYVXa==HN7|q[A\7HJ'=]TEc&fy5ՍM:$Nl׀Z2v+vEM5@*f`Js?u = -(-՛?a*z b677з_FF3 ~ 8|t 賊EF@EPVRʪo,>SU):HIw3o#u|t$C((DҪ`;DyC,SҼ43ɢՔvv0c4[0 7jKS\_̵ Dkf<")SQ:=N)MƳW7[I{BCv{hPĄvW\gwҹpcj$6FRXN?^0އ y GܳPIDoóMLmb2l'ux3U. 59]FJ>\`"zDZ:~W$ےXroHШe#o :5k&39~k|B\JC\M~e'VUp@ҙ#M} +S^Vk{5?!1\v@4df<:mq"ʬf2Ly{' NDXf\ݵ6]V&^Vfs>~(,XRU)5Bv9'bwm>YJE݈Q̈́RLycc_`;dE?J\Tk& ;\oϬQ1J{/O?BuAoh_i\x ;J$ ݅[7Zj_<0;g{F[_J:U0mQo}LgunRz..“[.[2U_?X9_8nkUd U7 ɞov* 7$HLO$cڗdC[_^kp\gL;k}DwOs`OEtlvO&Pqqw›D.u"{XLg=ﭫ$EaQ]t{D{aЂ0CugE!0κw;%ĂąttkBAMwSGS.x]R]- YWh*Yy450qJG0+3N㮇D+ruJj/ y"t"6Vb:K;d~ r[l:^LN [AJot%Ҷ;Se|T =hMHCA]MaEps 7\27?wDhJݷ*# rе{8|9X9꜁qKGIL*5ao.we u{jES`Gj]&X*U{QG>R\s\P%]*f OeG_q;BNRʹfYÂLQ̒cKK7i1;i׺^wKx8:y `! >h FbԪU,(/1/o[nW)xTn0$d1o~: <zrcN7ྎ~zpcHT!$EHAzQHI8BOHJlG| p1њ!AJ"4;!Yg:´.T"|1'S, @҆M-'D^{ n| ENx`Wr݁9BJՕzxna^o%T&ҖfH( hi B֠@KnnCjH]/P,@puJE~y,~!\ᑔ퀂t_6~~vZ4jJiYUw_- \`l\.;rFf>Z7LK>E3.qF%)=< ٱْ,UF97}.׀fmaT׬'$3ih s1]4[l_`Zˉ >]،<]aoG? l 449 &q:rgjrs699kWDeϓci\_ڎӸ6=mYXE׷'zض4B@Z?K]C Ϭ#q q)!s=?' fk2 gCb=cn6l]|77{#yy[AVP5%!/V'W]4KA"e$U|A=eG!=C)'nJ2zT\SrÜ2l_X%9xm]Crz 2L[LX{ehm`^v/m};: ѓDdDyF$~ɟwŅt8o. 羬n4Ki*u ]QU"N 4Eܿh!uWcwhrs-[n>^zg64AAҘWoGuv@>C &\ܼrl :ۧ<⴪ekبŤlX[<}ê"O{\ s}f穲|Nmw&%OΖbPq|8,8WC>A-MSޣZV?&+M 2t}4.;S{ou Ӌ*xО7'ts3͙ԦD%"e[^ @+1XulL̚=.&v>w) »jgĚXZ:Pa Q3F@;yHVĭƭٓ mkw3M&d KVa'8 S" O/Vln@GZX:胈`|Yy`.^]rM![tOP ) g|z)v4T ~aiIpOQ]W茂 L D}lBۼ<ߡ=+GP8cb,+شv2'GE|F@)D&ijz}_*TnHtyAU[(Q5o)mQj q (gИ_#Q{Y/};N];GU4&ɋ`7>V1Mͱ iюgPptd(%J+𝨖b?#>1_:d: ).8Ocxm439ciWW|33k@ku[ُ|":?hjx k)_[UVgw]f B 0+!#;8;SB".u曱/ @> SQOJ\j|[p{H`ﯶ[} 581ޑv]LN@9|T%z XeDX7W^B3$x^w&L'RY.[gf)m 4🌟((z~̨j>9,F[Ig2)n>1 7 'd@g}[xWYӟ gV]qb|aߏE_#iX `5ȶgЁ!ޣ,x\N/@+o{qs4ZbG:)G]9.-gc]ѫމӄ*)15:;#Y)g+[hvW𦸝P2! Q,꥙CyjvjEpMr|]d{Iâ)Yӝ͎܊b8pR_~>S$*HQ~IN)9ŧ^ش&sB fPfG8v«ًgqg/1TQXM$:;:qaeW`ٕHuhgʎ)|nYQGzUD55`u_ &V:aE>`.I`~ Ps W';ڼz7J:lmSCTE:@84E8V("'܎d1/38ty-M=38M$Y]5ӠK9~{]"K|^, -\&؝)kLmE5Ǣt7oD߹6J,퇆[]Na뻣 a96ԉu61WOp^d]풥ǗqkRL=FEH;'` IY(SQskw2jU5ZUr6(+TﭬxCc59|jc֗Ӌ2m'>k/H }e۬fnzly`RG65t*F 8CȣrwL$m֖?ur/DbXW?q2@3r{ٛp{7Zū͟x-/c yM-B%bT|~%s_uњEn;JaExEOHv䪔_|BAKZ%nޙGeɝpeҪB$$lfi_&TlIuÑWhӱ0p/Nc 1ڛu!@8Гci&F8[^;Kݛl&{\ :=\)5vPCW_COM\ D5<AyeAEPp[[0UF/Drnգ_G׎"4! ārS(/7RCN6j.H277D:eR獈Ru~@V]&Q,*rc !Jܼ;ڕK! :Sܦ>71s 1k]sj1vg".1L<5G4fi+~t*ULkM]ZÏ8͔ P@6oVljoI˰7/F+{HDZB_@buZKlR[wE!4fi: U-p<^շޓO83@w;OR*Ti%EG1TFv\І*&Jq1Ҽ0xMbtXŸK|yO>C|\/*{?D/*p ~εeQpzΛ YT_&~ 0NA ~OA3q6]숄5rǞdXzRѯW+R@!X;\H宎w8w ff0Yz[cAhEGE5}΅74>>[h͡mB 0`Mzi5PZ~7Cm/ΙS<X﯉t6wv7 2ӡQl &{߭eʹs<l3DK5K7uڨBFɺǀ=gfw\_"/JkUug&%*2#bfbrpB׀E¾ڛ3 1&˻a8ϢT|N@Xɮ]p3>FUKh豸B=3'd`^ʥe 1ժ}=*sp< 2N6/ǃvjF#ǪIv놖L_5M6 /d,e^Pڄ:XW'-3;M"'I(1ъjF!jjE%W$_EfX]~쇡[ l++~]{[s}(TH:N񽑲 9=$S;Z+z_RjI+YG\2j1ˈ}֕^V]*td17Gro5ʕI]IьVbgjUTB@ʓ!k/n8T1Ob~k(3D>}<ͺcx e6I]`GbF--9'򢝻XA ?c~[nSyެ*c3WLsRGBL6:hБ1c3_eU-{̝ɩOly R5MsI6Nsr^M]P@ XbN1;VnycD4_Xi0 "_:iagfSq#]#^h5ҌHU:g s.C- rjNH18㵗pGen/`}(X[xͳ8[-H( Gb^Vo B4ZcONf̖-R=evCʪUIQY"m,-Zۦ[S:r|9xSxClnPpe:|QNSG,~z['Xnl h؛A_϶M%O _Rh3W5'ՙ|?\WѾi6-Ưsfx!(AY+W:PvX(632+,HgܝpOM ړ*iW?LOo,cՋdma0JwUvfR[)JDt]pUU"u\#N23 @$<?]4DE,̂}uhD! WЙ /c@W?j;xro%Xv8_Gqj:UKeۄ"vTL tQJ8ֶiΪdhb0ػ$>I5Iܐu3a{w^K2ҩX26Xk*~`6/$K1Z* O'pSgf YIx%/PE|a\ؙrm9#.Ƹ ӸdJ`R7EGOPCc˝)vsʍ'ET D@E0Q,mw>B[;07qݻ "~]^qx.`K@sI8!N?QS$|f`D"X{S[sWؿ>J]Yp1JWeH5}+#Lr};[ >2kFp6{ S先 r 8!3ռu#i^^%*7qtRdZ!,<0(v++h0+G^L@)?u[B5$TwTzL8b;>¦jc4 B~w/^mҐE>fKٟ9 ySLΉl=dw]y 8`!*yoڈ1]hϯ`5gA#+)]"*~k}ʘQ`lcjkwJ@82,yQ\OZΜ:#_ǧ7l?UåZaFESQ+d%=KPbNa?7-^O+wu]Lbf5Txb4|dnH#r~A Ú,t-Fޯ옇3qg%M/uV:p{[v~n>B Kv+]viȔyUdn&)g7SB} hBti~.PqwiLLQîu4a%7GzS"dOELqByJ+Evw9,.#>}&/"R*iZZWo,u\Ji`yk= y`CNd壐29zѠ||o}`ɜ\ NRSZe!c7z\X{8[*%ŴgyhV(ߘɻjv^p a|ՀGgk}Ќ~`,b9Slc _ MxúciNϑWKsvsCGRPlek89 Ş'R#]#hF==|3R:%541שA:ew쎡heCTlS!Tԟ6U/9uv ~r\@v=7GObI't3( k%#BM5cv]sʶu/bL/걊JfhUCtpici&4p"yjU)u"!?g80b3 U du6/%$Zb ;-)z*҉̈́ϞJE %S AR>; p 7W &%0gU5DKL#*׹nFBw=f1S63K)\F0[gO5!YYF`Ўܳ`3$5Pd' Χvη-Η({ <**Gc3 VYt3%.=Wݧ %}ܺ=ʔ6wұ k@ReWNy3l,'NQkt Z_ftrDɧlYg{> _~9Ų0݃ϓx$W[﫭Үs81qBrL%{Nok ?KLCց\/ L{ؾO-بT\ ʆ Ԋ9v0&8rYXD}櫸O&a; p0804Cw|E^5Oť MYրNƶ'QTC/S@~GA%1=> OzihFPK=ߛݭbk4 S[j'12s'әؚ+b@͟Xon0]K0WERHT${ƾnm׮Xj "݀!;^CG::@ҕޑz3{fk<*s#D&Z #nIh6 ӈ縸h85|u;p8EnD$L-ψoU?PAmSdQ*o٪aZk9#;MDF.#ކ X]0̳Y"@(l9ty̪I)?~/-Vj,_izƪb@Yz=MU2`8[@èIߧž|WDHfglk0q!^twZm'uAt7`-I+M6Ȉ͞H>C3qnʸ%Q.w[M3u&A5DMszp.5߷RQVD^t?^BZ4+a7PeU=_kSssln eݏ^fct zmRH$l;{+*j+6^0]`:]+*#.,2LoIp^8ˇ(Ƭ}ޚ~̲#xK'] jX[řJZw%K gppf̆*?c7Hb1=VH|>r}3]k؂Qm 2| ~ \* t\Jq7Bxx~u0ץ :L[S?nTRu<̳j͑;qr.f4 a9JLk`hNFzv_i(u#PY/<̄cҐߵO'3^lDH/*\5Kݻ-nU$Gc;C HA&:0[x Y!jQ<t}s\ie gQ'U~1 Lݸ'ZIz=KOd,'Xij;Ji }Q16,׎j҈uАh,+_=t@- {N!WȎlNjÊ-Oc骽yKe9Zerc0->_0hrR>d.,x19;Rk /c#"LE#R5eFݍS %,a֏ QQ/ f) /vjngHZ 0EC wnnҫڿc'$XxR_A0·,OɳKRmUϜLe^.)Z=C SukTk׻̆ھ|wc˨*Ds0 F8a/28KŅl3 5SakzJY|Qኩ:U55%n\h&?-2| 97m|dڍT-t0FU4OsR.k6ݝ28 $gNc4*hqq={{z_஦A3ܓXr\6Qmeގ|$mױ'&raqany#$*E,S$ҼU0S[}{$nmzG-N:̪ELy* J|kg 髽3偭tpsU9zVy܆<_A5f,Iܭ湥ȳ1$G\H3 W9IQ(0ʸì:s%'I 7G˭+BhV?T =f s9zIQQoJ͍ P"I-ªOg\]X3r[A2zr=gv)*Jѧ>҉7ݠKiGmLޝi%- #802yz3G nfs[L[b}wh-7ӰiYGK`n%~F[CYX +'wUـfә)%Reo⟒ciC}AAFWԌ4%M}nvQkR̳pڂM_!e_.mAG.gjJTjJirD°,^\P]֡Xat#ߥ \(ϲ&ODrqQG0eEKP kf0)d! S5vڋ`}ݝ%ʇV$.VujW>@M~Rh1F &ΜIY^^"#Sc_*ig$#Cϒ?Oq{ Rs{ruY9b-S7^,W9ݴo9!aRpomn]e4Y1@ ⰣNfGu-#>},6yg5$v_%^I@po״8#2]@q.{{Kc``8NLs" ?PE}cEV_FqdK2g|#"/q7#{xS5XKNuW/*`{636 eKlӯ:y'rȚ=ձܸ+%# y^򔫭{?@0|_Ԃjb-_ 4ױk~HzΔH`"\ܜ7CLcT(37F='`eQ %-SNZԈ>&7uT%̸v\jhIhm7 jJVʖ1r* cdG_[`j|z )he4Ϯ{;HLQcPӺi he+s!(띂]^8e0{ó $uC>a|5&A9W:=xeM#\".>9X<3Kd'|JX?j>'fjeMH'i),= 7H@^~[fE9M )ۀ#f+4"=%j~HYiG9f%I{yd7b7R&Мn瑥]8ۉ;Tt)U!{eg4T`\ܑlNǫ3ߨ&v՜]}!̜mL4H6^pv'ϓgOZ&eqc8udSj+;~M[̠+)n)HVdRT-P& &vQB,wֻWոf rznwlXѿc#H/X9n%5i vgk2dU<򳿃9~$~qki~#+yb*L'I9C1o0ҐgE˺ )f)^-mrmȣ78I6VJOA\}yXVQ&tsg\p|smWB{IgKC X[ЧY"Al ?:3r)E)s7}D\w B~6۷sG@RFёfAP{2?}?),Cm -3.22A!S»k^OG&-E$L/|k F(d>J\j {?@ :W~eO$@a Bl߭$71LBW[ץ'IG{gaRTń()0-d>9r4^m0ZF9sHqR`!V-XND{"=vI4cn?yz] j1jJV0*GeYѠHf}ѼĞ:BD4@({G+Ciolm4H]3a]XsÕT 3OMNCW}vU' /+ntL9i/ ;Yriiyoa @7>;,Oà٥VX3W#xaVT+g rE}pU*.i$ـRb`go"Rpj}J5쑞RC55C HҀàdu^wj0+] w!{̉NjJaM.P(goU5՝ڃ _2 < Gݰ? 5 yseYKM_O/;ŚOLx=O͖/UMaJXWԴ(K9Ox-Y"9%+T]<2ȑFlM$ \˭5>H J.Ōǯ2BO `5'"ߴ|>("`PE'}\<|=/Lo/ YEҀIWhVFy)tg(6x 2j7 ʷ+Xu ?s]9S@RPT!QKܿbCl{ Q=\W_j%yޗ~^Y<,)7R-k#&U]8w}GXxBIax$ǖ$ xbW@ܝG: zcKEXՑFP7g慨đADNZ\Z.zFh2 +Oξ $Օa nL? g۠ +j=D/W䗏9z8ȧ!d/趾tnҡiOўoHN9lpa6;9_ZYFo8uiUže? gӯW-C-F7}B },-(ݷAPyr{RȂ5cUrSU§?.(0'+iO6[f;DjjOE~i'fYl%?ԑ-zhiOQ3%-]fs:f w4m>Y+ jR'{ɑ))l Үk4>ľ<v]}[g9T!1lY6jQs'Or /,~[HY0WQ_oOK&rC]|=)%TGv,ʩ7A\~f*^k*)qrx7jk*)TSUbD0 /*N]LcjűܔUrCR@:;8rnsaKZDf'a$V,?h:C"3<)%Oǎ8H($H!=IOmUqh졻IhFDnAߥ54#kgդ&;Ӻ{~7n!.NIV6LBH~dTNc(Lc_&w"Okr;9z%~ɠDi[<=c{9G jYV"(=~U:RgpE@EIY0l6[f*ػ tl}S\t 7ొ8;((ThE=6νt8^K a] N9q;azdC-؊LeT5o>#ǜ9WݬԆCh 9xSp7˽AM xoQO@6kٌKpͣ~B U+/[l>2?c9J{Z伦a$Q9 +\UZyK1[=w)HdmPst2sR.".^ל>ԢhHǝ`B%fO6{G_4/JBs8g;zv>,3aDB7S IiJn!p WL^6OgIBNNBCWbӲ{'فko'QmD+G$ ZuѻZd]U RTSiN4:NrK۔$;˸do6C aЌ*?ɼy1y?PjtĨ^iѠpA{!{RDg| p"hܽuI )5`!Zy71?$G;xj:=4UQS;7(Uarz|ouy_<ܲKel-ooV! Rڂӯ 1ljB}+gMCk)=WItR{ A,㙧)WP;njdM9xLvPUPV6H_PfzQ^_8mbۇ< ]'AYҍ ';rUsSIJPG<k{1s>.F%tr2HbzJ"RY2KySw/?($D0GR/;KO ,R"~9Z5Y'U$A??Pv\h*4g>r#<]SxN=zCA{e!F \ {gs_&`)xx,|{43:a4bozzm҄.-r~{*(Ykeޕ0f|XٞH(3+E1ЯY(>߯TrTK%t0"TA||` KLUu\`wfkW4:vi_VݞhzL왍vk]ށ,C̕=r5Ąj1k7ݤ`M)pgܤ478wƪWq3XlNyA.G[0*ζD%%B nu,0/H{ֵWVz(Q3*)P1uXO:-:o@r7[չxj zM +d/r >m9E͘sR?-V,b*i`⇜D66?qkA \-,бk7/ʚF սH<_ś%/f`:v@)nrasۚN ]q-]Ţv7m^y۔L74,!?ۛR7a^u k|-U{P<sHbU|iU)Yz8S#2VV:x,4DKuϏ3yz!"J8'2R_&`ؾd+Ν'%Oڕd̔uT F>E/{篺FV8h||ͅNyAIؚ<68g~_ )7 k"b ~DN%[4}W^mNS86K4E/1DI6L p Hہ[VeR Isgz㌙ Ю.1{B{UT N/"E҄喲U.ӲoKz O S=F5f%bJTʒ>s]`/*ggYfN:i%WSa<ӼWo-T:E,JZѥiFaw&z-}mONfN~R>!}D33Ag]iaaCmyx˧W}F}rb0gl/ uB! [ŻUdꜛN>}'z* >z źoaX4;"/ϢCǧ"/8~d藡 ])29 uQ%frgY+foS_1^KLUQAwUmoj}CEw[""H?:YHsc=opg>ҩ6L,i쯴 ׋/խN' m(=0T卡*.ZV|<=+w8kꂮ:fJ2%g5UڔA˺B F2R٩G2p!VdeM}/V>aƳtv%F=׵Hm xj~];[/ɻ3F2B,y.7}M.B Tqu:JaR4H]@wxG66- bdZ!,w,2%+vJIq?csyHc5~0!;=!3?eYrיы @eJ”nXHH لq[&; LNEK,_ODS8PR_oxD3LmIutcx18hUWouav5a3\L`MUU?6 \fIh 2:03ʉ edQ TA_ޙ0ByN7:zy,C8Y߿:h% !L&:G~2@HdH%25QW¨&ػѱAM/].^ѭ]8KUs^*-֪%Tk';t| TW kjS3&{؅SSK9Ԁ!bg 8S׫pǃ]kX4#şsTη >qj.NEAN n"& x}8JͅZ FjŞ i &DHqkn%>h;vB WP$m&F>*2{# %i!WRp%({9[j@UY1csѸ|'iGq!7Cr%6)3)t,Rv&I!*0^Dp{@l 8lpTf]Q.nQ4rJ+>qPrJaYGŎth|8UdGߪ:5EiқhwQ"^dy𲺼%m7(<5@ȴW /!x<jY4ArhʺǷ05]c-4qP0[I e_YN4J0gT_ t5Dv\<3K#2C 8Gi^lmcTA|дy4>XMfBl~F.<=cI`ՠ[D]m0Ǜ˓j $8/m01;edRxY>aaNmꕥ><ȟ}G,/_'Cuf)f+?& Uߒxl_2# 撋#\ch}sƤG!q U%jw;YڕcG`R:Xs3('7L o=08}&_}@K 0ZK^{ʱ: { IdiH<$̖`u/IsGEXc~γfS!ۃPѮU=7iL`귱]4)b6%`ieCnv7n8Լӝ3aqъMohEoqxZE5⭫q-)0XYHB5sM%?h3m2,:Q|ivG=o,za01JB͖z_»j _4_Vrj\8?ymr^(y Vv-}rX]C d9s И\`mM̀FΥY زU9BO t +Z &LH88{ھ8;2p ?˪ٝCUl9EjDOJL1/`k *ZB:"zPfR3XXුUuw !{>iOc 84cHMA`O%.; Ipz"<,ãDPs { Ԍ3ZW[X8X6]$:v55,u{r8BWy+/`'4g}ӏiY"g>agcT48Kue'/Trl1`6ڤV$BE#~&Z72=w lQXbyeS #W^FP[<6:>OW7*-y-(3J!|<KDśL_{ bnB}R4[7JYQk/87f-e'8hc}G*UO3QѪ[TS8R6cO?]I l&L>=wQvWtZE63Oi .Z?/)C8`jVhzusbn<UcѢ{kB  +>h iE dIZTձ|,% {, RէD-VDgQ>UZsR<CC!LS&# ]% >Y\WjJC{T4*qp3d>j)J p}%MTkCd^4-Vm%HՖǞ T7>oO*$ζCHPՎ99F~ ,b1ud|_"l';d RrJo YqUެf&5^ e_Ix+ K`e@Ư Q] wyΫsPxA09kC=KStre!*ϟ&m Y8ˠ06G) 4/̌$ 3l8 lڒe8D[S^WN٦ o>e0AG0b['8;O.ܲGr2knJEN*e!!jUej\݀-MzNWȂsv" T?U)ogBڥLkiBԲl%k$Kc2zpdQow'lnj5#n/W"{8&3QA~PżnG:Ms:]LG/G; vw< F&{WJ]Zu+pG[Q2y/gB*~{h"%C$65׾ZHߡYq/:nPcw #&;9bpddgSM&/M W@fp\ B2\UXݷM% Y]`hz+* s6]zE9c?|͊qxRWU_ydX\ _uЧiBjsN>bTpdh9`~g1jSTO|q/ÐR1cGOLMdmǃ.tk*~s'bi!ό,MGdjYV_G{[pvz\Z&ehNM.R|I;58cm~UGcC(K9gzp pzv/ID-x_qGyn6lO#hڰʊy:~jiK}=g%~Ee/3!>D^Ʃc_̼hs%[NtټG$]'`ک?ػYGp-yo~p.s[fT<-ё3FVӹpTd=zp$ž}1i: =G=S9c,:'RS*;yN }P ,qN'pKxH{[Gt\jEE Sã:SsRs_yߔw`ISXΥx婧U7HbzK@3[5djst6[_Le˩uPlm•XRqO_# mceGޑثG󭟦4WŋK4r߼lxƠYſФ/D"m gr,F+_ Hn6YBUrKw˞tF %b_o]D=08) ~ԾN,DN; LŽ.\<Of`sKs{ ڹ]!UK?Axbnx@2) kn"#nb(z e췦]5h}Џ -q_,$xT{&[ @m-lr: `7H.+X[Z+.ך)>AݎW>\BGķ낪TUx_(_wC] W%WT$;lbv~"PbQk-k͔ @p; B-vy NdK\w$*i0Kp R[:`77$e{owqƀnI!6X`5sݛbpJtGW~H )MOA3=9GIwypOLIC0Wy0H>ѬJJN~&fS*J33y6yN$$5Qzrn仯2{&(@R%zUʭtBPB^BtB&AE@:$w1H$wsu:=sO5{3Y܅/K/oYï!>:Y늛"5%勴~ƾg+w6Þ,zor9d}Lg# w3On>C_HXCp9y~CZ qgG%GR#^5G\ƣ uj.DqRMb2_Cd77:!#7QC"i]WEjgm1?cun\2kV_~hTjqvn:}X܅1:r~hU먍 ZovP tH2+'"$.hbc4h`p[+Zb~l aG\6}FOK#~S%Z~Fiۚsu̙t6[zbL#k!i#IsrMƗc?1G/1bol;I?; !>dk `?\.֯R\ *>0^2*wuNL,{UAswB檙t)=2/ޙӞ>ǵx GYI Rw*!83xZcTdZEM!8[ iZH?PuQcR @^Cȏdw#֗} W0㚎h  9q (_`n1f8uT6W1d_4m垀.[un-g3o%: ?V".DH8DPRلޟEF Tz#llF--ϤH>:")F?tk_lV ېfNkHCG5ϷNADO)1k^ SLt 9sS,7sX+ SRqYĦL-q#T?SJi_BK +Гm/++p9< j,*p Ω|v8qQ2fgFunEŋPiuNoۗ^\Y+3m]w(R3ӆ?+i);m,mev Z"1&*3 sQ^Kyt1s i9&_Xq/uز.Rer8!Io왼r8$%.󽵨E\< OyNK&QJ[ OF-.^<3]hDѻZ"g"I75g(.Ʒ(j P.ϕ5$Dw$h7TPɘ<CCj^p L鄘Wie_B*An5,Wҭ5.g8sG; Gr ^nK ۂ;֔?&6%,? ZWL7(*^5%#u?am-`s:( 7atܒ3Q?#CU ;XS q:xhey }GȳVmngg&G> kh({өac  ke@Mcuo ^ӻ)3ѭs%Ta6, _ɢqNjǧ,Y.h6iaoƳ8 ״3LP-z{Q'W7ڥV&6tʃ[Izo\]kCb Qq+;!zPA֒s؎=4I2crԒui4eRO6$[Q.8:h_RV*u䷗21$2,;:j$ y %b#X52~Olӽ"=3 jLp5? juО\2 ahkM[En bxic8sm7,6$ ܿ*,D$+[z_bTtfm.xjϑ g,y`,LΖP 8! zX+vI[ ww/|>ݵ/)[+J\pH6sRd|)wX?L.=_;S{tJ@1ئΓR,W#<[iL^7ߐI B^ֹ Ԉ ޙ&T霞|{zq.e:9=* !|b*q|JȐW]ϭRʏsy9/vEBI5ߏIJmZo{o&' ,ҍ5;x)IM`?`UHnЦdmX#֍Z :F"<-4tή{@\+.p11AV]EM՛C _;6EtgސH1NΞFY% AT&B]z9-w,vѨ<ՒcWܡg M,,. |N]II6ǛLoccZ*mE\`](h4垳_gdRǪPkseuHA'';7w`y~=#)CK"MoG>#TKh8q;8sy'tTc̈ }ϱ=lߗs:8;,Z 'l~9xNe(l#lH&@TJshk˩ms3LVg>hO7tQVb~?V|j!G(\N[K/o#23h<.[9*5"GNf5H9%ݧ߷koڀPI < 2 "s5t Cq'û0ySc 0BE9Xd"-H)ǩr}++#YOl#1jR49O69ŬW~jn6@֕elj[w=`D'H[x5Y}\`Gj}pc~D߯,oC$V}:R ]Q.im1$}R^ca:j,y$X9{%@A:[{)){b31ID;֢j"P˶𨠥8ۡ>8Ji|E˃kqZ5Qւz_-c=N͜ssT(=@m@ ϝW!}ge_,",lZTG>t]-҆'_TMZG _Kse L{Z^C?٧IuT:yޱӣ}ĕI ZCVʩ|Kmy1^gu7(WFYn*eSf#n\ t!$͒ݓv_^g V7>zf7QZ\=+a~dN,m /ASӳ# oK WvOi%?~h`@Em}z`'c_\XL0'vgY&.gv/*IN ZDWVuNIZϑA`'gw;yeYngܖtaNajI2i͖ʿg^BBY<5]k0G \Ryضk5 ZRY~_"ѣ)įc1ŘnFP?o}Nmpmd)HiKqYRwn܏Sid%ܡKDhu}&Eab.ŏY@[J3}vAmɎXu ]iƾ*T{bÀɈ4B鼐5 -0 J 2h PwckJWϝI=?mCԎ ָ#-C$puuↃnvoi&UxxNŷ"}6;/-Yd=K/v+B P V%~YPcvZkA^tL~uWW ކM[N SyJ2{$c|7SwzN[8{`ށT!p<逞iP|nrڴwlc PKM"1Ga>f<``U 36h t3'(yh̓&ovtD*vhj! ֕%cynÝ: vDLE՗U%%Y%b\Sw;ǓgY\'L,$ph]՘q14~7VLm2}cW>[K2T.n)y-3n{l̗E@<#bt>8llyKM389B@䑲 0]| ڦWIZ]\s*q2WgJ,byr%39/zs4OΌt@zWKUu/2J_}+Z;u$=w,棧dt*ks.iB؀Lɿ~؋f9yVFFt}Ye;'eDpg_0zqF=Ӥ">zxm2_u^~UcrVN2YFC0BX-G)s C;J3P>p ƛFqw~d@}g#6Q\|/iZbu /5KA;p1M7ua ؼl? 4w_~4/9Qǖp 8!h^9Ҩ£}ϟpdjZ̤(EIk Kw m>ԳO ,U5e&`^MW`@њ(,7{^W8PJwJ"K(<&FǞ(-1hc$K$ 0ϣ ﮖ<)yXl{t[pة03G> ӫ_T}Ru@m=r@ž !&a!,UPPRZ=Q wQ(f>$5ߛ fe78kf[9hNl"o{NI3#H}3 ߏ B &茽o&OC&lY(~FK)-@:&7Ķz|2r(i+ds\{QqfkWcSR,v'#fäRZsvJU,v4:ugc0#.b_VfC/t.p\+w+i[:]10@U$~T )4.v?"%\Ѷ:dE% =%i- `rBts'}jP35g+"a )9V#c<8hJ߹UV⭪S6N@dP 拫,ݿe|N`mℐdža5R[l=1wFT&A7nCE~oGO1C#ը*/;`7ÜF<HMj'X {fmGohm ljDhv~Ie@ۋ!xv44F&.\#jklfc\n 4;17_4Vǐh7hp[1 ;ˀz2XU_}9jQhs{(Q֯D̺ l?7' %R QhSz۝01pqfar5WlE[ d^]~lRzP@x !ɝץ֨gw;Hbwr̗7Qw9 a'm;; 9襺ZQ|Es Hb] +fTs{z@qҹNYBvxӃw]dXcbɃ]ymTu~RNy'Z2v\a3}>q~$[*aSȈأeFlNx}oshhUܻEL%R0#Er9lV'wj"{Wsv7SkL,u)Fjt:B~?klaJ0dbOߜ<[ii+wya?du3ֺ7;)uѷ'azj^Ց7gC %&&0vtc /Vll*L[Ezt1 )34֨.SiYQ/:%J*C\H\cɯÍ]^-+xF;>|w;O_izSMD 0U'y"u|qtn%PfLj^Sřq]sWy[s:`8Q>vgqL:8oƨv2Miq1È ?h16olŋρXn;`ˎm.\(X[{ax6 I0w>o-_P{U+ӵt:IFè;^$\~X,vU,c=h}Ôy]D 2&azp8sgmCj$sܶ=fݡѫ,f AV6:N+bAvMmVfXR2I5…Ȓ.b0Ĩ/|/_wF6ʩU)ppON|D:X\yVSG_^Zu6Z`ŁGx‹ӻw}p%[UQ `+_߂xMxrQ$-W$QY;/0$rvR?chA}A8I=i^MSb Ŀc x6Aۛ^%2 %c]t}YBn,CT~o3"oFTU h)aQp}VE/>3ns>zV`C1;cmxjI6&X }A$ƥA G@WjʟZ&HHpFàQ@ 4N +~g(VvCCei@ i3DR_Ko5=!Bps局9Pc䗟qCͲ-l^9Los Nm'h*{FJVʵ.`ZJOkKig 6f)EfxiN77xv˯>[S4 EpǍM_6d'.HeC_]]iFn F t">_^+IF D ǁڒL!c;3-@Y?UY2]xEp 0:S6n f6P?AbnS~L.QIlAQ$fg')&t'{,)8Oֳd~7Wj(3?E>6vݘc7}B\gck)#̕} iWv>ͳܺ|[?m7wI*Μ^~:_0 g>-&Fm%^~z)1]m6l`e}P4ĦRP0s[?0&3ӷ%X;edJaf (ţs:z"|; 2s%3qN17\aeITO}_NdYжhG_Z2\<(2VkeG҇*A޹ !LwjDmP{5{͋dC+8eu|خFԏFpCk;d 9i:0h&%9Ь #7,ŕ>+zդD'W[M]' ')+}{W6><6O`Յ'}}-j_%X~ka%`3u/DN 2g ͤ [~͝BVZTTz6 ,C@j)6ʃƝbϬVD#<(k (I5@nXL'2{Q>ػĢ{\K'|wUgf2ޔwo?$2DA&: @1c{tQL&,%|V\X'<('0%~0l@`LEEWx@c򎣕PA]۸#I/3Kuuآ8Y{ʪQRU NE홱9;֦ݔ3as'xM TP'6ͧGf;+keo{ʏMO"%ϭDQ ,ꗵږAY54hȹ] X]RE*ht;M]5F[:xNǺ{NW6A?օGjY#w66f-Eot^5Kf6k-(1tUhg`;Qhq p:BNΦ hxŗX5p67E5B:p$"p7'ۄ>8ؚd!TsX{ S-,A(_UiyCdzLKG<4̟KwteWZ"y!‡Aq;ݶQJ0%`0;"7s Az7O Z{8܆˧a]st@@~0zxѯVw&-'*)nR}Fk㯕u %g5㙞0ƚGJZ,.L%HW_n:Ł3yW+`Tс%[1a~A,ϱ0Is6¡l `lhEC& _# vo7ӕ5cYX(!W΂aSGHi8r:5WGB*2 dv(~ϡBRkq|Jq{f%( m?fۿҩ0NâgO%^2{sR-"Y)d9+yJ!~ 7,h-t1w,-VIulmN܍mUF'C*JVtf4,)ςjGCYwˌ b%1˻kEo[nbIM Z ºRN ^sc6& -1ֻ'Z^iZgx!Ri.::ON!{Ɣgp@5F2a*=lX"HA:HT H HТTiAjP@Tz.]J5Ԅ$|y~9{kkAgu͞g=w1:JOӀ (m06T;E񁗷u42y35%r!: CGB6ϩ`3Ž^GB& |R`S/ _ev Nwn|4k^\Z(8 A*e\QI_Lv02v_X M ɇ Qa=uMW1wjjj.>v?0â>&jj6IT2dauXG0")n[C @8A)v_\RU83:8|Q{y&BMڒ)+f{dww5qy=oВ"/~C2)m8trLA|! fbکKT&k7,Fy_EtN Z:I|wT^5JGSfQce5# D"+͊=/+^c'?c ]=$&/#Y46a jÚbίZJ Tw@ RJol tT31aŎW"+Y*d_[\ʬ O2 d ]N^eo|dT]qג@nρ2B7H5,Zp:^V\nU9z{F0r@25e)^z{NO=8̋j4v{qjIo2; 7M9]RclcGU%n ұ ,U<^(fV{Qh{u RgfQ<##oӒZY&qRȃ: i:ScR ,7 ܌V}疯B]uF+__2MYR$@ffΒ3jηCAEeT7uiE͒K^.a5׳ Im!׎#{ o╋lSO_9< CIqXb.qkExڧ<E cit\8gZ_[ݠtk"*.^u)-Uї@N!,D槲|"L6o=|\V R[6˱k0FV( 4 q@7QRyqkV/z3Uјש?2˝pQefz(2Jr5D<3R"vZreS m+:O!qi:o.Yҍ^(u sFkQCL19FS@ݶsp IX2m05^3<%'|Us+{GVl^ J/'4u( LaCy/'\}?j2@Fj7u:ѵSU`Oa5OC=[R_zv~7ݪϜ1]SQ>!M )+REXT8fP9~Zg!13IKc+G !x2 淥;X~j^dU}̹I0[=Q)k^{e%2\uً863:C[)Δ]7&#=ݯQ|4 U"Ni yFsJsUJy-[TEi}sCO^Jzw5䮏U&[Y 031,9{|!e nƀC./ .>5=)NFl3ϛYc>TŘn*(s.QQ25`-x7\0S[2r3Rl_:Z8ߔ`b)j7qpG묲菀˪Ly.uP]U:@><%q-S9Wx# O &OAڢhlo{qM׾~֏#P+Fm]!$1m05<`IO=Qy^8#QX}Y.ֽ6+54Vq|je0PRuo7rdr@! D?y܍Yy>H=5#6>_d"u"0ëo~.G {yXe⫝̸-/Xm'G%4.M>n|{9a{qdTDE Ekqմ97]aab^zUB2Bo~}qd~?9p1XX6=Sx~ Z]^Rl (CuH_Z冱,JHFx[N0|BR/qG}9@q賻[[[A'*k\J;Ђ7mlLKßfmu_1R!Q-^)#kQtǣkIH/cէ>0MVLls}` rgco'ddYYΈ-9/ lK\r$k"GG>T~O]13jl{tN{kp}E9Q*o4guh{oAT(aZQ@P}')0O<(B菱h$ÅÎJ@ՓqG0EZopgї1I~ݯwg4>+63et`v]r ֙< Gu..zVU0.s&!az[-_yN*궭c΅g>_GG[*(ki7Vn=85#WTTQ-/ Y-21=|NÒTyTr'{X鉖c jvY/\BYͰHtq4g|0^҃Y8we`CGB"t;=O8ex6,](> w$W߯In%c}Ew3^wۦ ΍J`0|MU{4H}yy^G;ۂCeT#hu6r9vQg {?撷:ji5 NY8 WpYGH: E"u?[ͱ>Ld,O<kY!jQPNP+!me'qt˧Rhٻ&2ݲV (݌~Y2-x5IQKU0-T#*KU߯xo:ϛYT%-mT$U{XtY%;r4/F=r8's}.{ /<|ez5S.!VweoD+ru~!~ݧ埼ty~1{KG9` B9B'=ă^6u2*I(\t*w96 YϩsϫТvgazM|$/Xfj~mUX#|nNK G}0K%1}u) w:T9Lf#4߲v1Q UHF o@~ho╮/ {pHRM_ZCj{:Dp!:'Wyddh\qdtt_ rj#5𓲕4>sDp3'sv7LG#G6)\vP͡$NnTP>҃bȿXc}䊎L:E1RUAKq\!n~y~m֒Y-ǮgQUDZMJ|Kd2waG"#=/z~A]ʩv νȘBANZ|_ b8$>&o6v~W&&GvxhI ιȹ)bK%ܟ^[W|}h/{v ſ;i.z.FVHL,Wݑջګ`<ۖun**.E6t9oY3imeˁZ c UMt0 +&;dg$Bd.?S ɩOW0JeYr{yV6vlq'H-Qa=r1LӮQhǮѤg .~g9Uk_@Lcu2z` 7+4`c&JGuH);Pl,r'G^Ԅw}]Ev蜲W~/CFfvTvv]g(%L17F(q?=֨.:%"˧UFЩKc#۠w&9v"+,"$yqZ.w4.t8`4yePZ&ddMj'ܻW0\si QGƵ:϶THu8og:pcư# fweCغU ( Z7eKR:2VWb˜OfL'Sy&zMs՞lgap wfu{JeӈȪ1(?XӶg;St.O: ~rN$S0ՎˏUbw<%xsO43ӈK]>UXmB sɤAZwMx=Ŗ@9<~ծfW(Q 1ON }%4RZ:srE8)4΃BYx:Z70^ÏnўM@)D+PG葶Ld7 bP^B8ܣҋJc<Ћk}t/8*S`2~Ҭ~ j7GGlѠOS8ɝ@3dszܲFA kѣ7<O֟ ߏ>n5h&VL"J~8QmU".^Ȟ<*LT$abiFueőfFma}^xJSi&nD>-5~^G#?eoiKLt.Xfjq^J vˑ"ZXquH@\=\(ܐ ʉR-=x[#9rt%X Mj8_5߫9N8 _ثd 50bKI:t(V108 9*c[ ^ ]` ZLEAWuCR+ghP5Xs-j2oR9zw-ʴԺAb*6}; {PḊL7.ݧi }8;tLՇ@ŋ#CwM\&].Rƍoa)~[M'xi@|-eu<w㴇# ~ bpzmi{3n [%RXt*iI98"ene 8c˞a_I哪= t3Ѻ0^g,Uʓa7}j)bTA!/H5֫W~Ѫfg՚2{6k=cj# Lo0iE~kh4uq4 tL3^}Pd@=qLp'?#$ }ƻ.Ug|yyn崆#-0"T. jB7Wƾ!ٷLR̙vͪ2(&:!)WaDP^@픐Qs)KCc˔DQA`rc{bϖȬt;A3A5_Xipaز*Hf<Nt "+yvEp< BND~yZHx'>[d?6|h:M& 6`e;F7}d|B&4;n1[V-= Ѧ.Ҳ+YU7V< {͋A~PSK(\5*%Pʃjj_av(gC Iif؁e;'scHRؠr-uVo/q,XI&ޥ瀫&&F%4z{kJFK\8![ZZz%N'x=HAf}} wOZjsjܾݵ gmc۪)8n]pC&Qqt߱84}^Mf"Xnyˤu>SML]?e pyX$((0`x?S1]$35MyVw/]%H6 Ĭ^Lәo:;?ǘ-^մ7Dgs+=wi8+G9/D#jK} ?n"8yZj[.a\' >S陬j7؄{.WUוf}tp2v[.P3NCnt9DgN"[rA4OT 8d;e)?fsAoD`35" K*6$g|&.M/ʫ_ 2 mRh*oςe\^`kk4RW.=D(#wYu1Swmwr.(? ǒ&4Emm᜸OX#jl(evu ̩,:C>^甜o»% 7zWMVk;ZU*pSv|`фxO ̝I\#}|.:j6L`y<_Uv:ޡNJ[ԫۙ@>XS :M+h2?r뫄 BZ.W]k*gA5 z&rǿnuBV.ʂ= >^UM'd\V^kK/\i=.xbbH$4!/#>@@)/[M_<~7Hδ`pl(xh׈.3wSttl@6αu'G+V)W/[a3"*+RV ܊ׄZJN=^K]):8}`ۚN}Rj.9nC]^4x樦_! u%i =WռG\r3QzUu@'pxIy ʏʅʿdYs6p(h B|A<~ĝZ9IT]YՖy?p;عk+y+ i0.ib0Ⱥ@1,oΗIN#j\ h@#c '|&/"?~I\Y w,rp'# {9Bm&/0Lb?<'O҃߁'1m9T6y,ix(3 X{m8T Z>ʼn$J%oɂ9m ٽpE=W.cEx,$B>`9`Dv0ЎDs0_^I^!%6eU4XO +"cInRAWꬋ3hagzV5,Ȓ8U~lKOTײu`TBeJ#quC#z6Bv>Cj*bǃ2Yſ,H4M;C:nV|Z5`Iͥo( }%Ӆ[e;DZwo7`VWJ z}>ep]Y[:-Oۆ7fT\/3 `w 8*F`Gv`RrcioAw7> XF-ڇ&}Nk-Hcg`˳ك*+i6jO1o;Ƈ/7󙛊QZ'W܏}O zhtyJSE rT{[ =]*Mt|~< Dj!7=r!"V8r܂>Ѯv/θe~4SpT;i1Ta嬰楮!Z8tA+\;$2FZ8zSgQ1C8R=?W-5ې^mƼvwK@%j?iq(", (n큫o̘|~ծC Nغ‡Gz>=gzyUy ՜ ޷K3CNQ(*4 a%M#M֏}ne}%!5oPZܹ1;$AWއm臮h+)s+X/{LǗ qjFcUs΁@{w=5j5"E PGy=Kmy9F3xe_M󣖬gi&94<$Kb9 :yD{6F#dn9B d$hՏ.19=^hcBaNVU\1S-Jw滀+bDo&tf SOr0S &G6t{:y `ceW\'ױBm4pAB m҄'ڒܳ=)C򜣐 ]Z, ϗ9NhG+Q.ɬoŴ] NMk</M=53eK[96Tx7Cjv6cf41l(Ӂg`X%czYg HZ+f^ ؋S <(hWPw]ˈV6 Ek;DF)zScWBU:RuzW40@%-"Ct%5KGJwF^׍7b]tlnz97f}B9Δ#{@ZʲcA&D b1:kpG S/HO$LYxVpM0jx<2SڏOA fs2E1+3ͿguȻ*vҀ=Bw S%XNhAi,`zd p46W_pq?ƨTT}1?>i 1lZ:)ut,ԮiJdB8 *QE7i#ɑ&ݻqre,X:NF+1u^l* gZe d8dlL i]]:5YGbZlp` >Ē˶s[XYl_ZH5²qwь>|vYpg{6KL5nVp-hk,4]-L"XOo=N!O(?"VB q;UYp'8dGXGާ{]F`",h/'x鼱jǼ9Ynp[B,皃X6m,I^ y3'a,7U /jI7uDLu: aA￲ ,O$fٳqq:;Kub<YF咥[g6?t.@y+:DjrN4vXc~LghΣs'V :MNSVl!7fOx۝ O<p,lwfK"YXA1oK.i >ߕ*4ν͛ Џ'Ew5D /d%E{t6? 1 riWIZQxxy? n_;6oG7--ynPq> Q:fP /Q-6>weĺBةQ s@Gm=lvN]M?u(l .2iEkoT++,>/ZQ!iTb8=#h=Ĉ ~T kbrѪ%zܲ=A VPZ>ig259A֍e_CÏJQ$ZOa ?^BD$'f x~NYK|KJ-Ԑ)+OOAc1+g?ALnk >N1ۣbM<1*dF#JudP ōݿVmgj;±ܑ&tijd]jԻ#^uf>~CYnPQ]NZ"6WxnIVe{p+)ڌvu('.Պ/kcK'/秹,.(KdED fMQ?A{p-D~Ü^{g[ј;l{iQRӂ8#k&T:PfZ7y;Ů!o7((Q=\`ΣKN|SqjCyʝ$ӑVWo< WdR}na)YP|&3gB.2',}8~C5'g*9l]$ ~%n Ygfޏ=Vh돉Hˣr{ȫo(śK[[YO'Y.[92ȚnL-kWkR7\W"m YYb;p `=LrН-!)AǗ^]}5\&}mO$nпNV(N*!1adʔWֿ-G(/]Fҩ"m>Fd-PV>Yhc{I-tȊ@pAɝ2ÀS]*:;0K~nĞ# &&;yi'=JBgӠ" q 0%ՀHeP9[W72^0kMݐhL%sGZGK.Zߟh6!Os#VX<\vн` =zxM~:>id j ,S D]8B8⿩ >taKB[93t0FCF͛[c&ðvWSI -jɬT2j>qV,0B59V"G}i:<`]kTH1}zt*~pﭭ-+K&%Qk/^Cq#xc+gOU"eA قs. Hk~v~dn9HhFHZ,;d:loR /FJc&b(9UNKytN⓼wKH@ąM@gPu x"$$6z/"7cس>?!si п=tȅ s0_m%A+Dۜ 8^L_ifϨ:E rtqCLĞ9Sxt䐰yV@B]D!ɲW$7\w^ƥfl!cM r?#)Z<+VvxZ@['ɳ `ROKلw58]'0&:C +x>gi4_ PAK>w GEK#Iᬇa j 7F|G2C^.IC >&ekf%.NItĿ>R{3V:+{ߑog\']h'] ](l_-ݙA=b*@1BG.Gr{#tjG)|~j`cb;*?_MjnGL^`?Du>?z)Ϡ{Bq{vs46%:b (9W' @%ŠSW(/88ē~K 0? $ 5Ȍ?#(oS o B=h-t/A)cJ O5_αc-_h9LADzċ؂/$#uC1Rmge677ojф&fo?l Y@$TR@xk^|;VauQ&ak0p a0H֥, ?%bj7P$3",u1P %6 ?^&IcI s C+L49os?-ПJ"M#D=_PK 3(@yVMTEPUB/wasteland-nav.xhtmlQo0ǟS=7vrR# $ M N}"|;vë꬐BEɥCfwXPZY;$USl͝]TKzt5D9ׅ$p,s/ʗF CtӢ Z,<сBqS^B9E-(Qv-HLCjE ])VѸ X8dk%6856^T.JT+2U'N&sjNiѿ]"5K zhUȒ&kf+r6#.R敾ic`=thN0qkϑ4k_ptr+~ۺh`E~pq4y)-&?_4JJJOtD^M(>8#jͫUlGK5WܶYJAK/ǬZʃ1#>htT3oO|Oſ< PK ݍ-@6EPUB/wasteland-night.cssA 0E9Eh Xt'h0J5#H)Ż7. -tg*}rtqB3Eu"?go?x<':L|qc(,rZ[a-3e4y6ӂ) B:.A,b\YH0|3hHZ9LbZ=1Tf1"mu0GYbRZ$M-_creOa'=|_@gJXQ*Os0^V*2 K4R:AY>ܙ`\ނnf+^}˙b u{׆%UEvGzɫ?Lh;fyp0t(l8H{2M@;߻l(`oP ?`GNp Qs(VNʏ2FS1Zqv9Pǿ5E49PK e2@hs1=EPUB/wasteland.opfVMo0 Whe +3]zZR ePd&V#K%7ɿ%;Mr LO'Z{h4zd(!)^M5=O.bW@0[iRyos6M*KLMbLp\,A{LVI4,!N!r L]"vIqB7{޵36*fҌ+"ˮteJA)vAnmt6{ ȏPEn,t/qRtoJ3AnPmQ$6PGYFG_(1v BwӤ5:B5|4;gY>PvRU-х;4 84kdSa])*%] d#}1p J :tf \zE둉Bk 9riu(j~8>9@hN7r--Gf_KPee5{fAN2 R Ֆh=#KKj3.~4GF{D?cw TA kd` wS7VV NP̭EyP!=Sl q{WʰVpzgWChJvga5l!%瞰1xaYBu87h¯ b_:JlN/~V8x#:Gȇ59X' 'PK i(@META-INF/container.xmlU;n0DkĶD Q$ j%v JۇIO9y%oZphg ~۵N8gZU9YV6'øP2ģm!3<;]ծ"yR -:b>[x?oS<6'PUFuF10m-S)/\gV>uPK i(@oa,mimetypePK  .@wCמ=>:EPUB/wasteland-content.xhtmlPK ;'?!CB5>EPUB/wasteland-cover.jpgPK 3(@yVMTWEPUB/wasteland-nav.xhtmlPK ݍ-@6EPUB/wasteland-night.cssPK `2@ɜscEPUB/wasteland.cssPK (@S,/EPUB/wasteland.ncxPK e2@hs1=9EPUB/wasteland.opfPK i(@META-INF/container.xmlPK Vpandoc-2.9.2.1/test/epub/wasteland.native000066400000000000000000003073101363630463000202430ustar00rootroot00000000000000[Para [Image ("",[],[]) [] ("wasteland-cover.jpg","")] ,Para [Span ("wasteland-content.xhtml",[],[]) []] ,Div ("wasteland-content.xhtml#frontmatter",["section"],[("type","frontmatter")]) [] ,Div ("wasteland-content.xhtml#bodymatter",["section"],[("type","bodymatter")]) [Div ("wasteland-content.xhtml#ch1",["section"],[]) [Header 2 ("",[],[]) [Str "I.",Space,Str "THE",Space,Str "BURIAL",Space,Str "OF",Space,Str "THE",Space,Str "DEAD"] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "April",Space,Str "is",Space,Str "the",Space,Str "cruellest",Space,Str "month,",Space,Str "breeding"]] ,Div ("",[],[]) [Plain [Str "Lilacs",Space,Str "out",Space,Str "of",Space,Str "the",Space,Str "dead",Space,Str "land,",Space,Str "mixing"]] ,Div ("",[],[]) [Plain [Str "Memory",Space,Str "and",Space,Str "desire,",Space,Str "stirring"]] ,Div ("",[],[]) [Plain [Str "Dull",Space,Str "roots",Space,Str "with",Space,Str "spring",Space,Str "rain."]] ,Div ("",[],[]) [Plain [Str "Winter",Space,Str "kept",Space,Str "us",Space,Str "warm,",Space,Str "covering"]] ,Div ("",[],[]) [Plain [Str "Earth",Space,Str "in",Space,Str "forgetful",Space,Str "snow,",Space,Str "feeding"]] ,Div ("",[],[]) [Plain [Str "A",Space,Str "little",Space,Str "life",Space,Str "with",Space,Str "dried",Space,Str "tubers."]] ,Div ("",[],[]) [Plain [Str "Summer",Space,Str "surprised",Space,Str "us,",Space,Str "coming",Space,Str "over",Space,Str "the",Space,Str "Starnbergersee"]] ,Div ("",[],[]) [Plain [Str "With",Space,Str "a",Space,Str "shower",Space,Str "of",Space,Str "rain;",Space,Str "we",Space,Str "stopped",Space,Str "in",Space,Str "the",Space,Str "colonnade,"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "went",Space,Str "on",Space,Str "in",Space,Str "sunlight,",Space,Str "into",Space,Str "the",Space,Str "Hofgarten,",Span ("",["lnum"],[]) [Str "10"]]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "drank",Space,Str "coffee,",Space,Str "and",Space,Str "talked",Space,Str "for",Space,Str "an",Space,Str "hour."]] ,Div ("",[],[("lang","de")]) [Plain [Str "Bin",Space,Str "gar",Space,Str "keine",Space,Str "Russin,",Space,Str "stamm'",Space,Str "aus",Space,Str "Litauen,",Space,Str "echt",SoftBreak,Str "deutsch."]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "when",Space,Str "we",Space,Str "were",Space,Str "children,",Space,Str "staying",Space,Str "at",Space,Str "the",Space,Str "archduke's,"]] ,Div ("",[],[]) [Plain [Str "My",Space,Str "cousin's,",Space,Str "he",Space,Str "took",Space,Str "me",Space,Str "out",Space,Str "on",Space,Str "a",Space,Str "sled,"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "I",Space,Str "was",Space,Str "frightened.",Space,Str "He",Space,Str "said,",Space,Str "Marie,"]] ,Div ("",[],[]) [Plain [Str "Marie,",Space,Str "hold",Space,Str "on",Space,Str "tight.",Space,Str "And",Space,Str "down",Space,Str "we",Space,Str "went."]] ,Div ("",[],[]) [Plain [Str "In",Space,Str "the",Space,Str "mountains,",Space,Str "there",Space,Str "you",Space,Str "feel",Space,Str "free."]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "read,",Space,Str "much",Space,Str "of",Space,Str "the",Space,Str "night,",Space,Str "and",Space,Str "go",Space,Str "south",Space,Str "in",Space,Str "the",Space,Str "winter."]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "What",Space,Str "are",Space,Str "the",Space,Str "roots",Space,Str "that",Space,Str "clutch,",Space,Str "what",Space,Str "branches",Space,Str "grow"]] ,Div ("wasteland-content.xhtml#ln20",[],[]) [Plain [Str "Out",Space,Str "of",Space,Str "this",Space,Str "stony",Space,Str "rubbish?",Space,Str "Son",Space,Str "of",Space,Str "man,",Note [Para [Link ("",[],[]) [Str "Line",Space,Str "20."] ("#wasteland-content.xhtml#ln20",""),Space,Str "Cf.",Space,Str "Ezekiel",Space,Str "2:1."]],Span ("",["lnum"],[]) [Str "20"]]] ,Div ("",[],[]) [Plain [Str "You",Space,Str "cannot",Space,Str "say,",Space,Str "or",Space,Str "guess,",Space,Str "for",Space,Str "you",Space,Str "know",Space,Str "only"]] ,Div ("",[],[]) [Plain [Str "A",Space,Str "heap",Space,Str "of",Space,Str "broken",Space,Str "images,",Space,Str "where",Space,Str "the",Space,Str "sun",Space,Str "beats,"]] ,Div ("wasteland-content.xhtml#ln23",[],[]) [Plain [Str "And",Space,Str "the",Space,Str "dead",Space,Str "tree",Space,Str "gives",Space,Str "no",Space,Str "shelter,",Space,Str "the",Space,Str "cricket",Space,Str "no",Space,Str "relief,",Note [Para [Link ("",[],[]) [Str "23."] ("#wasteland-content.xhtml#ln23",""),Space,Str "Cf.",Space,Str "Ecclesiastes",Space,Str "12:5."]]]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "the",Space,Str "dry",Space,Str "stone",Space,Str "no",Space,Str "sound",Space,Str "of",Space,Str "water.",Space,Str "Only"]] ,Div ("",[],[]) [Plain [Str "There",Space,Str "is",Space,Str "shadow",Space,Str "under",Space,Str "this",Space,Str "red",Space,Str "rock,"]] ,Div ("",[],[]) [Plain [Str "(Come",Space,Str "in",Space,Str "under",Space,Str "the",Space,Str "shadow",Space,Str "of",Space,Str "this",Space,Str "red",Space,Str "rock),"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "I",Space,Str "will",Space,Str "show",Space,Str "you",Space,Str "something",Space,Str "different",Space,Str "from",Space,Str "either"]] ,Div ("",[],[]) [Plain [Str "Your",Space,Str "shadow",Space,Str "at",Space,Str "morning",Space,Str "striding",Space,Str "behind",Space,Str "you"]] ,Div ("",[],[]) [Plain [Str "Or",Space,Str "your",Space,Str "shadow",Space,Str "at",Space,Str "evening",Space,Str "rising",Space,Str "to",Space,Str "meet",Space,Str "you;"]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "will",Space,Str "show",Space,Str "you",Space,Str "fear",Space,Str "in",Space,Str "a",Space,Str "handful",Space,Str "of",Space,Str "dust.",Span ("",["lnum"],[]) [Str "30"]]] ,BlockQuote [Div ("",[],[]) [Div ("wasteland-content.xhtml#ln31",[],[]) [Plain [Str "Frisch",Space,Str "weht",Space,Str "der",Space,Str "Wind",Note [Para [Link ("",[],[]) [Str "31."] ("#wasteland-content.xhtml#ln31",""),Space,Str "V.",Space,Str "Tristan",Space,Str "und",Space,Str "Isolde,",Space,Str "i,",Space,Str "verses",Space,Str "5-8."]]]] ,Div ("",[],[]) [Plain [Str "Der",Space,Str "Heimat",Space,Str "zu"]] ,Div ("",[],[]) [Plain [Str "Mein",Space,Str "Irisch",Space,Str "Kind,"]] ,Div ("",[],[]) [Plain [Str "Wo",Space,Str "weilest",Space,Str "du?"]]]] ,Div ("",[],[]) [Plain [Str "\"You",Space,Str "gave",Space,Str "me",Space,Str "hyacinths",Space,Str "first",Space,Str "a",Space,Str "year",Space,Str "ago;"]] ,Div ("",[],[]) [Plain [Str "\"They",Space,Str "called",Space,Str "me",Space,Str "the",Space,Str "hyacinth",Space,Str "girl.\""]] ,Div ("",[],[]) [Plain [Str "\8213Yet",Space,Str "when",Space,Str "we",Space,Str "came",Space,Str "back,",Space,Str "late,",Space,Str "from",Space,Str "the",Space,Str "Hyacinth",SoftBreak,Str "garden,"]] ,Div ("",[],[]) [Plain [Str "Your",Space,Str "arms",Space,Str "full,",Space,Str "and",Space,Str "your",Space,Str "hair",Space,Str "wet,",Space,Str "I",Space,Str "could",Space,Str "not"]] ,Div ("",[],[]) [Plain [Str "Speak,",Space,Str "and",Space,Str "my",Space,Str "eyes",Space,Str "failed,",Space,Str "I",Space,Str "was",Space,Str "neither"]] ,Div ("",[],[]) [Plain [Str "Living",Space,Str "nor",Space,Str "dead,",Space,Str "and",Space,Str "I",Space,Str "knew",Space,Str "nothing,",Span ("",["lnum"],[]) [Str "40"]]] ,Div ("",[],[]) [Plain [Str "Looking",Space,Str "into",Space,Str "the",Space,Str "heart",Space,Str "of",Space,Str "light,",Space,Str "the",Space,Str "silence."]] ,Div ("wasteland-content.xhtml#ln42",[],[("lang","de")]) [Plain [Emph [Str "Od'",Space,Str "und",Space,Str "leer",Space,Str "das",Space,Str "Meer"],Str ".",Note [Para [Link ("",[],[]) [Str "42."] ("#wasteland-content.xhtml#ln42",""),Space,Str "Id.",Space,Str "iii,",Space,Str "verse",Space,Str "24."]]]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "Madame",Space,Str "Sosostris,",Space,Str "famous",Space,Str "clairvoyante,"]] ,Div ("",[],[]) [Plain [Str "Had",Space,Str "a",Space,Str "bad",Space,Str "cold,",Space,Str "nevertheless"]] ,Div ("",[],[]) [Plain [Str "Is",Space,Str "known",Space,Str "to",Space,Str "be",Space,Str "the",Space,Str "wisest",Space,Str "woman",Space,Str "in",Space,Str "Europe,"]] ,Div ("wasteland-content.xhtml#ln46",[],[]) [Plain [Str "With",Space,Str "a",Space,Str "wicked",Space,Str "pack",Space,Str "of",Space,Str "cards.",Space,Str "Here,",Space,Str "said",Space,Str "she,",Note [Para [Link ("",[],[]) [Str "46."] ("#wasteland-content.xhtml#ln46",""),Space,Str "I",Space,Str "am",Space,Str "not",Space,Str "familiar",Space,Str "with",Space,Str "the",Space,Str "exact",Space,Str "constitution",Space,Str "of",Space,Str "the",Space,Str "Tarot",Space,Str "pack",Space,Str "of",SoftBreak,Str "cards,",Space,Str "from",Space,Str "which",Space,Str "I",Space,Str "have",Space,Str "obviously",Space,Str "departed",Space,Str "to",Space,Str "suit",Space,Str "my",Space,Str "own",Space,Str "convenience.",SoftBreak,Str "The",Space,Str "Hanged",Space,Str "Man,",Space,Str "a",Space,Str "member",Space,Str "of",Space,Str "the",Space,Str "traditional",Space,Str "pack,",Space,Str "fits",Space,Str "my",Space,Str "purpose",Space,Str "in",Space,Str "two",SoftBreak,Str "ways:",Space,Str "because",Space,Str "he",Space,Str "is",Space,Str "associated",Space,Str "in",Space,Str "my",Space,Str "mind",Space,Str "with",Space,Str "the",Space,Str "Hanged",Space,Str "God",Space,Str "of",Space,Str "Frazer,",SoftBreak,Str "and",Space,Str "because",Space,Str "I",Space,Str "associate",Space,Str "him",Space,Str "with",Space,Str "the",Space,Str "hooded",Space,Str "figure",Space,Str "in",Space,Str "the",Space,Str "passage",Space,Str "of",Space,Str "the",SoftBreak,Str "disciples",Space,Str "to",Space,Str "Emmaus",Space,Str "in",Space,Str "Part",Space,Str "V.",Space,Str "The",Space,Str "Phoenician",Space,Str "Sailor",Space,Str "and",Space,Str "the",Space,Str "Merchant",SoftBreak,Str "appear",Space,Str "later;",Space,Str "also",Space,Str "the",Space,Str "\"crowds",Space,Str "of",Space,Str "people,\"",Space,Str "and",Space,Str "Death",Space,Str "by",Space,Str "Water",Space,Str "is",SoftBreak,Str "executed",Space,Str "in",Space,Str "Part",Space,Str "IV.",Space,Str "The",Space,Str "Man",Space,Str "with",Space,Str "Three",Space,Str "Staves",Space,Str "(an",Space,Str "authentic",Space,Str "member",Space,Str "of",SoftBreak,Str "the",Space,Str "Tarot",Space,Str "pack)",Space,Str "I",Space,Str "associate,",Space,Str "quite",Space,Str "arbitrarily,",Space,Str "with",Space,Str "the",Space,Str "Fisher",Space,Str "King",SoftBreak,Str "himself."]]]] ,Div ("",[],[]) [Plain [Str "Is",Space,Str "your",Space,Str "card,",Space,Str "the",Space,Str "drowned",Space,Str "Phoenician",Space,Str "Sailor,"]] ,Div ("",[],[]) [Plain [Str "(Those",Space,Str "are",Space,Str "pearls",Space,Str "that",Space,Str "were",Space,Str "his",Space,Str "eyes.",Space,Str "Look!)"]] ,Div ("",[],[]) [Plain [Str "Here",Space,Str "is",Space,Str "Belladonna,",Space,Str "the",Space,Str "Lady",Space,Str "of",Space,Str "the",Space,Str "Rocks,"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "lady",Space,Str "of",Space,Str "situations.",Span ("",["lnum"],[]) [Str "50"]]] ,Div ("",[],[]) [Plain [Str "Here",Space,Str "is",Space,Str "the",Space,Str "man",Space,Str "with",Space,Str "three",Space,Str "staves,",Space,Str "and",Space,Str "here",Space,Str "the",Space,Str "Wheel,"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "here",Space,Str "is",Space,Str "the",Space,Str "one-eyed",Space,Str "merchant,",Space,Str "and",Space,Str "this",Space,Str "card,"]] ,Div ("",[],[]) [Plain [Str "Which",Space,Str "is",Space,Str "blank,",Space,Str "is",Space,Str "something",Space,Str "he",Space,Str "carries",Space,Str "on",Space,Str "his",Space,Str "back,"]] ,Div ("",[],[]) [Plain [Str "Which",Space,Str "I",Space,Str "am",Space,Str "forbidden",Space,Str "to",Space,Str "see.",Space,Str "I",Space,Str "do",Space,Str "not",Space,Str "find"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "Hanged",Space,Str "Man.",Space,Str "Fear",Space,Str "death",Space,Str "by",Space,Str "water."]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "see",Space,Str "crowds",Space,Str "of",Space,Str "people,",Space,Str "walking",Space,Str "round",Space,Str "in",Space,Str "a",Space,Str "ring."]] ,Div ("",[],[]) [Plain [Str "Thank",Space,Str "you.",Space,Str "If",Space,Str "you",Space,Str "see",Space,Str "dear",Space,Str "Mrs.",Space,Str "Equitone,"]] ,Div ("",[],[]) [Plain [Str "Tell",Space,Str "her",Space,Str "I",Space,Str "bring",Space,Str "the",Space,Str "horoscope",Space,Str "myself:"]] ,Div ("",[],[]) [Plain [Str "One",Space,Str "must",Space,Str "be",Space,Str "so",Space,Str "careful",Space,Str "these",Space,Str "days."]]] ,Div ("",["linegroup"],[]) [Div ("wasteland-content.xhtml#ln60",[],[]) [Plain [Str "Unreal",Space,Str "City,",Note [Para [Link ("",[],[]) [Str "60."] ("#wasteland-content.xhtml#ln60",""),Space,Str "Cf.",Space,Str "Baudelaire:"],BlockQuote [Para [Str "\"Fourmillante",Space,Str "cite;,",Space,Str "cite;",Space,Str "pleine",Space,Str "de",Space,Str "reves,",LineBreak,Str "Ou",Space,Str "le",Space,Str "spectre",Space,Str "en",SoftBreak,Str "plein",Space,Str "jour",Space,Str "raccroche",Space,Str "le",Space,Str "passant.\""]]],Span ("",["lnum"],[]) [Str "60"]]] ,Div ("",[],[]) [Plain [Str "Under",Space,Str "the",Space,Str "brown",Space,Str "fog",Space,Str "of",Space,Str "a",Space,Str "winter",Space,Str "dawn,"]] ,Div ("",[],[]) [Plain [Str "A",Space,Str "crowd",Space,Str "flowed",Space,Str "over",Space,Str "London",Space,Str "Bridge,",Space,Str "so",Space,Str "many,"]] ,Div ("wasteland-content.xhtml#ln63",[],[]) [Plain [Str "I",Space,Str "had",Space,Str "not",Space,Str "thought",Space,Str "death",Space,Str "had",Space,Str "undone",Space,Str "so",Space,Str "many.",Note [Para [Link ("",[],[]) [Str "63."] ("#wasteland-content.xhtml#ln63",""),Space,Str "Cf.",Space,Str "Inferno,",Space,Str "iii.",Space,Str "55-7."],BlockQuote [Para [Str "\"si",Space,Str "lunga",Space,Str "tratta",LineBreak,Str "di",Space,Str "gente,",Space,Str "ch'io",Space,Str "non",Space,Str "avrei",Space,Str "mai",Space,Str "creduto",LineBreak,Str "che",SoftBreak,Str "morte",Space,Str "tanta",Space,Str "n'avesse",Space,Str "disfatta.\""]]]]] ,Div ("wasteland-content.xhtml#ln64",[],[]) [Plain [Str "Sighs,",Space,Str "short",Space,Str "and",Space,Str "infrequent,",Space,Str "were",Space,Str "exhaled,",Note [Para [Link ("",[],[]) [Str "64."] ("#wasteland-content.xhtml#ln64",""),Space,Str "Cf.",Space,Str "Inferno,",Space,Str "iv.",Space,Str "25-7:"],BlockQuote [Para [Str "\"Quivi,",Space,Str "secondo",Space,Str "che",Space,Str "per",Space,Str "ascoltahre,",LineBreak,Str "\"non",Space,Str "avea",Space,Str "pianto,",Space,Str "ma'",Space,Str "che",Space,Str "di",SoftBreak,Str "sospiri,",LineBreak,Str "\"che",Space,Str "l'aura",Space,Str "eterna",Space,Str "facevan",Space,Str "tremare.\""]]]]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "each",Space,Str "man",Space,Str "fixed",Space,Str "his",Space,Str "eyes",Space,Str "before",Space,Str "his",Space,Str "feet."]] ,Div ("",[],[]) [Plain [Str "Flowed",Space,Str "up",Space,Str "the",Space,Str "hill",Space,Str "and",Space,Str "down",Space,Str "King",Space,Str "William",Space,Str "Street,"]] ,Div ("",[],[]) [Plain [Str "To",Space,Str "where",Space,Str "Saint",Space,Str "Mary",Space,Str "Woolnoth",Space,Str "kept",Space,Str "the",Space,Str "hours"]] ,Div ("wasteland-content.xhtml#ln68",[],[]) [Plain [Str "With",Space,Str "a",Space,Str "dead",Space,Str "sound",Space,Str "on",Space,Str "the",Space,Str "final",Space,Str "stroke",Space,Str "of",Space,Str "nine.",Note [Para [Link ("",[],[]) [Str "68."] ("#wasteland-content.xhtml#ln68",""),Space,Str "A",Space,Str "phenomenon",Space,Str "which",Space,Str "I",Space,Str "have",Space,Str "often",Space,Str "noticed."]]]] ,Div ("",[],[]) [Plain [Str "There",Space,Str "I",Space,Str "saw",Space,Str "one",Space,Str "I",Space,Str "knew,",Space,Str "and",Space,Str "stopped",Space,Str "him,",Space,Str "crying",SoftBreak,Str "\"Stetson!"]] ,Div ("",[],[]) [Plain [Str "\"You",Space,Str "who",Space,Str "were",Space,Str "with",Space,Str "me",Space,Str "in",Space,Str "the",Space,Str "ships",Space,Str "at",Space,Str "Mylae!",Span ("",["lnum"],[]) [Str "70"]]] ,Div ("",[],[]) [Plain [Str "\"That",Space,Str "corpse",Space,Str "you",Space,Str "planted",Space,Str "last",Space,Str "year",Space,Str "in",Space,Str "your",Space,Str "garden,"]] ,Div ("",[],[]) [Plain [Str "\"Has",Space,Str "it",Space,Str "begun",Space,Str "to",Space,Str "sprout?",Space,Str "Will",Space,Str "it",Space,Str "bloom",Space,Str "this",Space,Str "year?"]] ,Div ("",[],[]) [Plain [Str "\"Or",Space,Str "has",Space,Str "the",Space,Str "sudden",Space,Str "frost",Space,Str "disturbed",Space,Str "its",Space,Str "bed?"]]] ,Div ("",["linegroup"],[]) [Div ("wasteland-content.xhtml#ln74",[],[]) [Plain [Str "\"Oh",Space,Str "keep",Space,Str "the",Space,Str "Dog",Space,Str "far",Space,Str "hence,",Space,Str "that's",Space,Str "friend",Space,Str "to",Space,Str "men,",Note [Para [Link ("",[],[]) [Str "74."] ("#wasteland-content.xhtml#ln74",""),Space,Str "Cf.",Space,Str "the",Space,Str "Dirge",Space,Str "in",Space,Str "Webster's",Space,Str "White",Space,Str "Devil",Space,Str "."]]]] ,Div ("",[],[]) [Plain [Str "\"Or",Space,Str "with",Space,Str "his",Space,Str "nails",Space,Str "he'll",Space,Str "dig",Space,Str "it",Space,Str "up",Space,Str "again!"]] ,Div ("wasteland-content.xhtml#ln76",[],[]) [Plain [Str "\"You!",Space,Span ("",[],[("lang","fr")]) [Str "hypocrite",Space,Str "lecteur!",Space,Str "-",Space,Str "mon",Space,Str "semblable,",Space,Str "-",SoftBreak,Str "mon",Space,Str "frere"],Space,Str "!\"",Note [Para [Link ("",[],[]) [Str "76."] ("#wasteland-content.xhtml#ln76",""),Space,Str "V.",Space,Str "Baudelaire,",Space,Str "Preface",Space,Str "to",Space,Str "Fleurs",Space,Str "du",Space,Str "Mal."]]]]]] ,Div ("wasteland-content.xhtml#ch2",["section"],[]) [Header 2 ("",[],[]) [Str "II.",Space,Str "A",Space,Str "GAME",Space,Str "OF",Space,Str "CHESS"] ,Div ("",["linegroup"],[]) [Div ("wasteland-content.xhtml#ln77",[],[]) [Plain [Str "The",Space,Str "Chair",Space,Str "she",Space,Str "sat",Space,Str "in,",Space,Str "like",Space,Str "a",Space,Str "burnished",Space,Str "throne,",Note [Para [Link ("",[],[]) [Str "77."] ("#wasteland-content.xhtml#ln77",""),Space,Str "Cf.",Space,Str "Antony",Space,Str "and",Space,Str "Cleopatra,",Space,Str "II.",Space,Str "ii.,",Space,Str "l.",Space,Str "190."]]]] ,Div ("",[],[]) [Plain [Str "Glowed",Space,Str "on",Space,Str "the",Space,Str "marble,",Space,Str "where",Space,Str "the",Space,Str "glass"]] ,Div ("",[],[]) [Plain [Str "Held",Space,Str "up",Space,Str "by",Space,Str "standards",Space,Str "wrought",Space,Str "with",Space,Str "fruited",Space,Str "vines"]] ,Div ("",[],[]) [Plain [Str "From",Space,Str "which",Space,Str "a",Space,Str "golden",Space,Str "Cupidon",Space,Str "peeped",Space,Str "out",Span ("",["lnum"],[]) [Str "80"]]] ,Div ("",[],[]) [Plain [Str "(Another",Space,Str "hid",Space,Str "his",Space,Str "eyes",Space,Str "behind",Space,Str "his",Space,Str "wing)"]] ,Div ("",[],[]) [Plain [Str "Doubled",Space,Str "the",Space,Str "flames",Space,Str "of",Space,Str "sevenbranched",Space,Str "candelabra"]] ,Div ("",[],[]) [Plain [Str "Reflecting",Space,Str "light",Space,Str "upon",Space,Str "the",Space,Str "table",Space,Str "as"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "glitter",Space,Str "of",Space,Str "her",Space,Str "jewels",Space,Str "rose",Space,Str "to",Space,Str "meet",Space,Str "it,"]] ,Div ("",[],[]) [Plain [Str "From",Space,Str "satin",Space,Str "cases",Space,Str "poured",Space,Str "in",Space,Str "rich",Space,Str "profusion;"]] ,Div ("",[],[]) [Plain [Str "In",Space,Str "vials",Space,Str "of",Space,Str "ivory",Space,Str "and",Space,Str "coloured",Space,Str "glass"]] ,Div ("",[],[]) [Plain [Str "Unstoppered,",Space,Str "lurked",Space,Str "her",Space,Str "strange",Space,Str "synthetic",Space,Str "perfumes,"]] ,Div ("",[],[]) [Plain [Str "Unguent,",Space,Str "powdered,",Space,Str "or",Space,Str "liquid",Space,Str "-",Space,Str "troubled,",Space,Str "confused"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "drowned",Space,Str "the",Space,Str "sense",Space,Str "in",Space,Str "odours;",Space,Str "stirred",Space,Str "by",Space,Str "the",Space,Str "air"]] ,Div ("",[],[]) [Plain [Str "That",Space,Str "freshened",Space,Str "from",Space,Str "the",Space,Str "window,",Space,Str "these",Space,Str "ascended",Span ("",["lnum"],[]) [Str "90"]]] ,Div ("",[],[]) [Plain [Str "In",Space,Str "fattening",Space,Str "the",Space,Str "prolonged",Space,Str "candle-flames,"]] ,Div ("wasteland-content.xhtml#ln92",[],[]) [Plain [Str "Flung",Space,Str "their",Space,Str "smoke",Space,Str "into",Space,Str "the",Space,Str "laquearia,",Note [Para [Link ("",[],[]) [Str "92."] ("#wasteland-content.xhtml#ln92",""),Space,Str "Laquearia.",Space,Str "V.",Space,Str "Aeneid,",Space,Str "I.",Space,Str "726:"],BlockQuote [Para [Str "dependent",Space,Str "lychni",Space,Str "laquearibus",Space,Str "aureis",Space,Str "incensi,",Space,Str "et",Space,Str "noctem",SoftBreak,Str "flammis",LineBreak,Str "funalia",Space,Str "vincunt."]]]]] ,Div ("",[],[]) [Plain [Str "Stirring",Space,Str "the",Space,Str "pattern",Space,Str "on",Space,Str "the",Space,Str "coffered",Space,Str "ceiling."]] ,Div ("",[],[]) [Plain [Str "Huge",Space,Str "sea-wood",Space,Str "fed",Space,Str "with",Space,Str "copper"]] ,Div ("",[],[]) [Plain [Str "Burned",Space,Str "green",Space,Str "and",Space,Str "orange,",Space,Str "framed",Space,Str "by",Space,Str "the",Space,Str "coloured",Space,Str "stone,"]] ,Div ("",[],[]) [Plain [Str "In",Space,Str "which",Space,Str "sad",Space,Str "light",Space,Str "a",Space,Str "carved",Space,Str "dolphin",Space,Str "swam."]] ,Div ("",[],[]) [Plain [Str "Above",Space,Str "the",Space,Str "antique",Space,Str "mantel",Space,Str "was",Space,Str "displayed"]] ,Div ("wasteland-content.xhtml#ln98",[],[]) [Plain [Str "As",Space,Str "though",Space,Str "a",Space,Str "window",Space,Str "gave",Space,Str "upon",Space,Str "the",Space,Str "sylvan",Space,Str "scene",Note [Para [Link ("",[],[]) [Str "98."] ("#wasteland-content.xhtml#ln98",""),Space,Str "Sylvan",Space,Str "scene.",Space,Str "V.",Space,Str "Milton,",Space,Str "Paradise",Space,Str "Lost,",Space,Str "iv.",Space,Str "140."]]]] ,Div ("wasteland-content.xhtml#ln99",[],[]) [Plain [Str "The",Space,Str "change",Space,Str "of",Space,Str "Philomel,",Space,Str "by",Space,Str "the",Space,Str "barbarous",Space,Str "king",Note [Para [Link ("",[],[]) [Str "99."] ("#wasteland-content.xhtml#ln99",""),Space,Str "V.",Space,Str "Ovid,",Space,Str "Metamorphoses,",Space,Str "vi,",Space,Str "Philomela."]]]] ,Div ("wasteland-content.xhtml#ln100",[],[]) [Plain [Str "So",Space,Str "rudely",Space,Str "forced;",Space,Str "yet",Space,Str "there",Space,Str "the",Space,Str "nightingale",Note [Para [Link ("",[],[]) [Str "100."] ("#wasteland-content.xhtml#ln100",""),Space,Str "Cf.",Space,Str "Part",Space,Str "III,",Space,Str "l.",Space,Str "204."]],SoftBreak,Span ("",["lnum"],[]) [Str "100"]]] ,Div ("",[],[]) [Plain [Str "Filled",Space,Str "all",Space,Str "the",Space,Str "desert",Space,Str "with",Space,Str "inviolable",Space,Str "voice"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "still",Space,Str "she",Space,Str "cried,",Space,Str "and",Space,Str "still",Space,Str "the",Space,Str "world",Space,Str "pursues,"]] ,Div ("",[],[]) [Plain [Str "\"Jug",Space,Str "Jug\"",Space,Str "to",Space,Str "dirty",Space,Str "ears."]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "other",Space,Str "withered",Space,Str "stumps",Space,Str "of",Space,Str "time"]] ,Div ("",[],[]) [Plain [Str "Were",Space,Str "told",Space,Str "upon",Space,Str "the",Space,Str "walls;",Space,Str "staring",Space,Str "forms"]] ,Div ("",[],[]) [Plain [Str "Leaned",Space,Str "out,",Space,Str "leaning,",Space,Str "hushing",Space,Str "the",Space,Str "room",Space,Str "enclosed."]] ,Div ("",[],[]) [Plain [Str "Footsteps",Space,Str "shuffled",Space,Str "on",Space,Str "the",Space,Str "stair."]] ,Div ("",[],[]) [Plain [Str "Under",Space,Str "the",Space,Str "firelight,",Space,Str "under",Space,Str "the",Space,Str "brush,",Space,Str "her",Space,Str "hair"]] ,Div ("",[],[]) [Plain [Str "Spread",Space,Str "out",Space,Str "in",Space,Str "fiery",Space,Str "points"]] ,Div ("",[],[]) [Plain [Str "Glowed",Space,Str "into",Space,Str "words,",Space,Str "then",Space,Str "would",Space,Str "be",Space,Str "savagely",Space,Str "still.",Span ("",["lnum"],[]) [Str "110"]]]] ,Div ("",["linegroup"],[]) [Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "\"My",Space,Str "nerves",Space,Str "are",Space,Str "bad",Space,Str "to-night.",Space,Str "Yes,",Space,Str "bad.",Space,Str "Stay",Space,Str "with",Space,Str "me."]] ,Div ("",[],[]) [Plain [Str "\"Speak",Space,Str "to",Space,Str "me.",Space,Str "Why",Space,Str "do",Space,Str "you",Space,Str "never",Space,Str "speak.",Space,Str "Speak."]] ,Div ("",[],[]) [Plain [Str "\"What",Space,Str "are",Space,Str "you",Space,Str "thinking",Space,Str "of?",Space,Str "What",Space,Str "thinking?",Space,Str "What?"]] ,Div ("",[],[]) [Plain [Str "\"I",Space,Str "never",Space,Str "know",Space,Str "what",Space,Str "you",Space,Str "are",Space,Str "thinking.",Space,Str "Think.\""]]] ,Div ("",["linegroup"],[]) [Div ("wasteland-content.xhtml#ln115",[],[]) [Plain [Str "I",Space,Str "think",Space,Str "we",Space,Str "are",Space,Str "in",Space,Str "rats'",Space,Str "alley",Note [Para [Link ("",[],[]) [Str "115."] ("#wasteland-content.xhtml#ln115",""),Space,Str "Cf.",Space,Str "Part",Space,Str "III,",Space,Str "l.",Space,Str "195."]]]] ,Div ("",[],[]) [Plain [Str "Where",Space,Str "the",Space,Str "dead",Space,Str "men",Space,Str "lost",Space,Str "their",Space,Str "bones."]]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "\"What",Space,Str "is",Space,Str "that",Space,Str "noise?\""]] ,Div ("wasteland-content.xhtml#ln118",["indent"],[]) [Plain [Str "The",Space,Str "wind",Space,Str "under",Space,Str "the",Space,Str "door.",Note [Para [Link ("",[],[]) [Str "118."] ("#wasteland-content.xhtml#ln118",""),Space,Str "Cf.",Space,Str "Webster:"],BlockQuote [Para [Str "\"Is",Space,Str "the",Space,Str "wind",Space,Str "in",Space,Str "that",Space,Str "door",Space,Str "still?\""]]]]] ,Div ("",[],[]) [Plain [Str "\"What",Space,Str "is",Space,Str "that",Space,Str "noise",Space,Str "now?",Space,Str "What",Space,Str "is",Space,Str "the",Space,Str "wind",Space,Str "doing?\""]] ,Div ("",["indent"],[]) [Plain [Str "Nothing",Space,Str "again",Space,Str "nothing.",Span ("",["lnum"],[]) [Str "120"]]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "\"Do"]] ,Div ("",[],[]) [Plain [Str "\"You",Space,Str "know",Space,Str "nothing?",Space,Str "Do",Space,Str "you",Space,Str "see",Space,Str "nothing?",Space,Str "Do",Space,Str "you",Space,Str "remember"]] ,Div ("",[],[]) [Plain [Str "\"Nothing?\""]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "I",Space,Str "remember"]] ,Div ("",[],[]) [Plain [Str "Those",Space,Str "are",Space,Str "pearls",Space,Str "that",Space,Str "were",Space,Str "his",Space,Str "eyes."]] ,Div ("wasteland-content.xhtml#ln126",[],[]) [Plain [Str "\"Are",Space,Str "you",Space,Str "alive,",Space,Str "or",Space,Str "not?",Space,Str "Is",Space,Str "there",Space,Str "nothing",Space,Str "in",Space,Str "your",Space,Str "head?\"",Note [Para [Link ("",[],[]) [Str "126."] ("#wasteland-content.xhtml#ln126",""),Space,Str "Cf.",Space,Str "Part",Space,Str "I,",Space,Str "l.",Space,Str "37,",Space,Str "48."]]]] ,Div ("",[],[]) [Plain [Str "But"]] ,Div ("",[],[]) [Plain [Str "O",Space,Str "O",Space,Str "O",Space,Str "O",Space,Str "that",Space,Str "Shakespeherian",Space,Str "Rag\8213"]] ,Div ("",[],[]) [Plain [Str "It's",Space,Str "so",Space,Str "elegant"]] ,Div ("",[],[]) [Plain [Str "So",Space,Str "intelligent",Span ("",["lnum"],[]) [Str "130"]]] ,Div ("",[],[]) [Plain [Str "\"What",Space,Str "shall",Space,Str "I",Space,Str "do",Space,Str "now?",Space,Str "What",Space,Str "shall",Space,Str "I",Space,Str "do?\""]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "shall",Space,Str "rush",Space,Str "out",Space,Str "as",Space,Str "I",Space,Str "am,",Space,Str "and",Space,Str "walk",Space,Str "the",Space,Str "street"]] ,Div ("",[],[]) [Plain [Str "\"With",Space,Str "my",Space,Str "hair",Space,Str "down,",Space,Str "so.",Space,Str "What",Space,Str "shall",Space,Str "we",Space,Str "do",Space,Str "to-morrow?"]] ,Div ("",[],[]) [Plain [Str "\"What",Space,Str "shall",Space,Str "we",Space,Str "ever",Space,Str "do?\""]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "hot",Space,Str "water",Space,Str "at",Space,Str "ten."]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "if",Space,Str "it",Space,Str "rains,",Space,Str "a",Space,Str "closed",Space,Str "car",Space,Str "at",Space,Str "four."]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "we",Space,Str "shall",Space,Str "play",Space,Str "a",Space,Str "game",Space,Str "of",Space,Str "chess,"]] ,Div ("wasteland-content.xhtml#ln138",[],[]) [Plain [Str "Pressing",Space,Str "lidless",Space,Str "eyes",Space,Str "and",Space,Str "waiting",Space,Str "for",Space,Str "a",Space,Str "knock",Space,Str "upon",Space,Str "the",Space,Str "door.",Note [Para [Link ("",[],[]) [Str "138."] ("#wasteland-content.xhtml#ln138",""),Space,Str "Cf.",Space,Str "the",Space,Str "game",Space,Str "of",Space,Str "chess",Space,Str "in",Space,Str "Middleton's",Space,Str "Women",Space,Str "beware",Space,Str "Women."]]]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "When",Space,Str "Lil's",Space,Str "husband",Space,Str "got",Space,Str "demobbed,",Space,Str "I",Space,Str "said",Space,Str "-"]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "didn't",Space,Str "mince",Space,Str "my",Space,Str "words,",Space,Str "I",Space,Str "said",Space,Str "to",Space,Str "her",Space,Str "myself,",Span ("",["lnum"],[]) [Str "140"]]] ,Div ("",[],[]) [Plain [Str "HURRY",Space,Str "UP",Space,Str "PLEASE",Space,Str "ITS",Space,Str "TIME"]] ,Div ("",[],[]) [Plain [Str "Now",Space,Str "Albert's",Space,Str "coming",Space,Str "back,",Space,Str "make",Space,Str "yourself",Space,Str "a",Space,Str "bit",Space,Str "smart."]] ,Div ("",[],[]) [Plain [Str "He'll",Space,Str "want",Space,Str "to",Space,Str "know",Space,Str "what",Space,Str "you",Space,Str "done",Space,Str "with",Space,Str "that",Space,Str "money",Space,Str "he",Space,Str "gave",SoftBreak,Str "you"]] ,Div ("",[],[]) [Plain [Str "To",Space,Str "get",Space,Str "yourself",Space,Str "some",Space,Str "teeth.",Space,Str "He",Space,Str "did,",Space,Str "I",Space,Str "was",Space,Str "there."]] ,Div ("",[],[]) [Plain [Str "You",Space,Str "have",Space,Str "them",Space,Str "all",Space,Str "out,",Space,Str "Lil,",Space,Str "and",Space,Str "get",Space,Str "a",Space,Str "nice",Space,Str "set,"]] ,Div ("",[],[]) [Plain [Str "He",Space,Str "said,",Space,Str "I",Space,Str "swear,",Space,Str "I",Space,Str "can't",Space,Str "bear",Space,Str "to",Space,Str "look",Space,Str "at",Space,Str "you."]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "no",Space,Str "more",Space,Str "can't",Space,Str "I,",Space,Str "I",Space,Str "said,",Space,Str "and",Space,Str "think",Space,Str "of",Space,Str "poor",Space,Str "Albert,"]] ,Div ("",[],[]) [Plain [Str "He's",Space,Str "been",Space,Str "in",Space,Str "the",Space,Str "army",Space,Str "four",Space,Str "years,",Space,Str "he",Space,Str "wants",Space,Str "a",Space,Str "good",Space,Str "time,"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "if",Space,Str "you",Space,Str "don't",Space,Str "give",Space,Str "it",Space,Str "him,",Space,Str "there's",Space,Str "others",Space,Str "will,",Space,Str "I",SoftBreak,Str "said."]] ,Div ("",[],[]) [Plain [Str "Oh",Space,Str "is",Space,Str "there,",Space,Str "she",Space,Str "said.",Space,Str "Something",Space,Str "o'",Space,Str "that,",Space,Str "I",Space,Str "said.",Span ("",["lnum"],[]) [Str "150"]]] ,Div ("",[],[]) [Plain [Str "Then",Space,Str "I'll",Space,Str "know",Space,Str "who",Space,Str "to",Space,Str "thank,",Space,Str "she",Space,Str "said,",Space,Str "and",Space,Str "give",Space,Str "me",Space,Str "a",Space,Str "straight",SoftBreak,Str "look."]] ,Div ("",[],[]) [Plain [Str "HURRY",Space,Str "UP",Space,Str "PLEASE",Space,Str "ITS",Space,Str "TIME"]] ,Div ("",[],[]) [Plain [Str "If",Space,Str "you",Space,Str "don't",Space,Str "like",Space,Str "it",Space,Str "you",Space,Str "can",Space,Str "get",Space,Str "on",Space,Str "with",Space,Str "it,",Space,Str "I",Space,Str "said."]] ,Div ("",[],[]) [Plain [Str "Others",Space,Str "can",Space,Str "pick",Space,Str "and",Space,Str "choose",Space,Str "if",Space,Str "you",Space,Str "can't."]] ,Div ("",[],[]) [Plain [Str "But",Space,Str "if",Space,Str "Albert",Space,Str "makes",Space,Str "off,",Space,Str "it",Space,Str "won't",Space,Str "be",Space,Str "for",Space,Str "lack",Space,Str "of",SoftBreak,Str "telling."]] ,Div ("",[],[]) [Plain [Str "You",Space,Str "ought",Space,Str "to",Space,Str "be",Space,Str "ashamed,",Space,Str "I",Space,Str "said,",Space,Str "to",Space,Str "look",Space,Str "so",Space,Str "antique."]] ,Div ("",[],[]) [Plain [Str "(And",Space,Str "her",Space,Str "only",Space,Str "thirty-one.)"]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "can't",Space,Str "help",Space,Str "it,",Space,Str "she",Space,Str "said,",Space,Str "pulling",Space,Str "a",Space,Str "long",Space,Str "face,"]] ,Div ("",[],[]) [Plain [Str "It's",Space,Str "them",Space,Str "pills",Space,Str "I",Space,Str "took,",Space,Str "to",Space,Str "bring",Space,Str "it",Space,Str "off,",Space,Str "she",Space,Str "said."]] ,Div ("",[],[]) [Plain [Str "(She's",Space,Str "had",Space,Str "five",Space,Str "already,",Space,Str "and",Space,Str "nearly",Space,Str "died",Space,Str "of",Space,Str "young",Space,Str "George.)",Span ("",["lnum"],[]) [Str "160"]]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "chemist",Space,Str "said",Space,Str "it",Space,Str "would",Space,Str "be",Space,Str "all",Space,Str "right,",Space,Str "but",Space,Str "I've",Space,Str "never",Space,Str "been",Space,Str "the",SoftBreak,Str "same."]] ,Div ("",[],[]) [Plain [Str "You",Space,Emph [Str "are"],Space,Str "a",Space,Str "proper",Space,Str "fool,",Space,Str "I",Space,Str "said."]] ,Div ("",[],[]) [Plain [Str "Well,",Space,Str "if",Space,Str "Albert",Space,Str "won't",Space,Str "leave",Space,Str "you",Space,Str "alone,",Space,Str "there",Space,Str "it",Space,Str "is,",Space,Str "I",SoftBreak,Str "said,"]] ,Div ("",[],[]) [Plain [Str "What",Space,Str "you",Space,Str "get",Space,Str "married",Space,Str "for",Space,Str "if",Space,Str "you",Space,Str "don't",Space,Str "want",Space,Str "children?"]] ,Div ("",[],[]) [Plain [Str "HURRY",Space,Str "UP",Space,Str "PLEASE",Space,Str "ITS",Space,Str "TIME"]] ,Div ("",[],[]) [Plain [Str "Well,",Space,Str "that",Space,Str "Sunday",Space,Str "Albert",Space,Str "was",Space,Str "home,",Space,Str "they",Space,Str "had",Space,Str "a",Space,Str "hot",SoftBreak,Str "gammon,"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "they",Space,Str "asked",Space,Str "me",Space,Str "in",Space,Str "to",Space,Str "dinner,",Space,Str "to",Space,Str "get",Space,Str "the",Space,Str "beauty",Space,Str "of",Space,Str "it",SoftBreak,Str "hot\8213"]] ,Div ("",[],[]) [Plain [Str "HURRY",Space,Str "UP",Space,Str "PLEASE",Space,Str "ITS",Space,Str "TIME"]] ,Div ("",[],[]) [Plain [Str "HURRY",Space,Str "UP",Space,Str "PLEASE",Space,Str "ITS",Space,Str "TIME"]] ,Div ("",[],[]) [Plain [Str "Goonight",Space,Str "Bill.",Space,Str "Goonight",Space,Str "Lou.",Space,Str "Goonight",Space,Str "May.",Space,Str "Goonight.",Span ("",["lnum"],[]) [Str "170"]]] ,Div ("",[],[]) [Plain [Str "Ta",Space,Str "ta.",Space,Str "Goonight.",Space,Str "Goonight."]] ,Div ("",[],[]) [Plain [Str "Good",Space,Str "night,",Space,Str "ladies,",Space,Str "good",Space,Str "night,",Space,Str "sweet",Space,Str "ladies,",Space,Str "good",Space,Str "night,",Space,Str "good",SoftBreak,Str "night."]]]] ,Div ("wasteland-content.xhtml#ch3",["section"],[]) [Header 2 ("",[],[]) [Str "III.",Space,Str "THE",Space,Str "FIRE",Space,Str "SERMON"] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "The",Space,Str "river's",Space,Str "tent",Space,Str "is",Space,Str "broken:",Space,Str "the",Space,Str "last",Space,Str "fingers",Space,Str "of",Space,Str "leaf"]] ,Div ("",[],[]) [Plain [Str "Clutch",Space,Str "and",Space,Str "sink",Space,Str "into",Space,Str "the",Space,Str "wet",Space,Str "bank.",Space,Str "The",Space,Str "wind"]] ,Div ("",[],[]) [Plain [Str "Crosses",Space,Str "the",Space,Str "brown",Space,Str "land,",Space,Str "unheard.",Space,Str "The",Space,Str "nymphs",Space,Str "are",SoftBreak,Str "departed."]] ,Div ("wasteland-content.xhtml#ln176",[],[]) [Plain [Str "Sweet",Space,Str "Thames,",Space,Str "run",Space,Str "softly,",Space,Str "till",Space,Str "I",Space,Str "end",Space,Str "my",Space,Str "song.",Note [Para [Link ("",[],[]) [Str "176."] ("#wasteland-content.xhtml#ln176",""),Space,Str "V.",Space,Str "Spenser,",Space,Str "Prothalamion."]]]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "river",Space,Str "bears",Space,Str "no",Space,Str "empty",Space,Str "bottles,",Space,Str "sandwich",Space,Str "papers,"]] ,Div ("",[],[]) [Plain [Str "Silk",Space,Str "handkerchiefs,",Space,Str "cardboard",Space,Str "boxes,",Space,Str "cigarette",Space,Str "ends"]] ,Div ("",[],[]) [Plain [Str "Or",Space,Str "other",Space,Str "testimony",Space,Str "of",Space,Str "summer",Space,Str "nights.",Space,Str "The",Space,Str "nymphs",Space,Str "are",SoftBreak,Str "departed."]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "their",Space,Str "friends,",Space,Str "the",Space,Str "loitering",Space,Str "heirs",Space,Str "of",Space,Str "city",Space,Str "directors;",Span ("",["lnum"],[]) [Str "180"]]] ,Div ("",[],[]) [Plain [Str "Departed,",Space,Str "have",Space,Str "left",Space,Str "no",Space,Str "addresses."]] ,Div ("",[],[]) [Plain [Str "By",Space,Str "the",Space,Str "waters",Space,Str "of",Space,Str "Leman",Space,Str "I",Space,Str "sat",Space,Str "down",Space,Str "and",Space,Str "wept",Space,Str ".",Space,Str ".",Space,Str "."]] ,Div ("",[],[]) [Plain [Str "Sweet",Space,Str "Thames,",Space,Str "run",Space,Str "softly",Space,Str "till",Space,Str "I",Space,Str "end",Space,Str "my",Space,Str "song,"]] ,Div ("",[],[]) [Plain [Str "Sweet",Space,Str "Thames,",Space,Str "run",Space,Str "softly,",Space,Str "for",Space,Str "I",Space,Str "speak",Space,Str "not",Space,Str "loud",Space,Str "or",Space,Str "long."]] ,Div ("",[],[]) [Plain [Str "But",Space,Str "at",Space,Str "my",Space,Str "back",Space,Str "in",Space,Str "a",Space,Str "cold",Space,Str "blast",Space,Str "I",Space,Str "hear"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "rattle",Space,Str "of",Space,Str "the",Space,Str "bones,",Space,Str "and",Space,Str "chuckle",Space,Str "spread",Space,Str "from",Space,Str "ear",Space,Str "to",SoftBreak,Str "ear."]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "A",Space,Str "rat",Space,Str "crept",Space,Str "softly",Space,Str "through",Space,Str "the",Space,Str "vegetation"]] ,Div ("",[],[]) [Plain [Str "Dragging",Space,Str "its",Space,Str "slimy",Space,Str "belly",Space,Str "on",Space,Str "the",Space,Str "bank"]] ,Div ("",[],[]) [Plain [Str "While",Space,Str "I",Space,Str "was",Space,Str "fishing",Space,Str "in",Space,Str "the",Space,Str "dull",Space,Str "canal"]] ,Div ("",[],[]) [Plain [Str "On",Space,Str "a",Space,Str "winter",Space,Str "evening",Space,Str "round",Space,Str "behind",Space,Str "the",Space,Str "gashouse",Span ("",["lnum"],[]) [Str "190"]]] ,Div ("",[],[]) [Plain [Str "Musing",Space,Str "upon",Space,Str "the",Space,Str "king",Space,Str "my",Space,Str "brother's",Space,Str "wreck"]] ,Div ("wasteland-content.xhtml#ln192",[],[]) [Plain [Str "And",Space,Str "on",Space,Str "the",Space,Str "king",Space,Str "my",Space,Str "father's",Space,Str "death",Space,Str "before",Space,Str "him.",Note [Para [Link ("",[],[]) [Str "192."] ("#wasteland-content.xhtml#ln192",""),Space,Str "Cf.",Space,Str "The",Space,Str "Tempest,",Space,Str "I.",Space,Str "ii."]]]] ,Div ("",[],[]) [Plain [Str "White",Space,Str "bodies",Space,Str "naked",Space,Str "on",Space,Str "the",Space,Str "low",Space,Str "damp",Space,Str "ground"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "bones",Space,Str "cast",Space,Str "in",Space,Str "a",Space,Str "little",Space,Str "low",Space,Str "dry",Space,Str "garret,"]] ,Div ("",[],[]) [Plain [Str "Rattled",Space,Str "by",Space,Str "the",Space,Str "rat's",Space,Str "foot",Space,Str "only,",Space,Str "year",Space,Str "to",Space,Str "year."]] ,Div ("wasteland-content.xhtml#ln196",[],[]) [Plain [Str "But",Space,Str "at",Space,Str "my",Space,Str "back",Space,Str "from",Space,Str "time",Space,Str "to",Space,Str "time",Space,Str "I",Space,Str "hear",Note [Para [Link ("",[],[]) [Str "196."] ("#wasteland-content.xhtml#ln196",""),Space,Str "Cf.",Space,Str "Marvell,",Space,Str "To",Space,Str "His",Space,Str "Coy",Space,Str "Mistress."]]]] ,Div ("wasteland-content.xhtml#ln197",[],[]) [Plain [Str "The",Space,Str "sound",Space,Str "of",Space,Str "horns",Space,Str "and",Space,Str "motors,",Space,Str "which",Space,Str "shall",Space,Str "bring",Note [Para [Link ("",[],[]) [Str "197."] ("#wasteland-content.xhtml#ln197",""),Space,Str "Cf.",Space,Str "Day,",Space,Str "Parliament",Space,Str "of",Space,Str "Bees:"],BlockQuote [Div ("",[],[]) [Div ("",[],[]) [Plain [Str "\"When",Space,Str "of",Space,Str "the",Space,Str "sudden,",Space,Str "listening,",Space,Str "you",Space,Str "shall",SoftBreak,Str "hear,"]],Div ("",[],[]) [Plain [Str "\"A",Space,Str "noise",Space,Str "of",Space,Str "horns",Space,Str "and",Space,Str "hunting,",Space,Str "which",Space,Str "shall",SoftBreak,Str "bring"]],Div ("",[],[]) [Plain [Str "\"Actaeon",Space,Str "to",Space,Str "Diana",Space,Str "in",Space,Str "the",Space,Str "spring,"]],Div ("",[],[]) [Plain [Str "\"Where",Space,Str "all",Space,Str "shall",Space,Str "see",Space,Str "her",Space,Str "naked",Space,Str "skin",Space,Str ".",Space,Str ".",Space,Str ".\""]]]]]]] ,Div ("",[],[]) [Plain [Str "Sweeney",Space,Str "to",Space,Str "Mrs.",Space,Str "Porter",Space,Str "in",Space,Str "the",Space,Str "spring."]] ,Div ("wasteland-content.xhtml#ln199",[],[]) [Plain [Str "O",Space,Str "the",Space,Str "moon",Space,Str "shone",Space,Str "bright",Space,Str "on",Space,Str "Mrs.",Space,Str "Porter",Note [Para [Link ("",[],[]) [Str "199."] ("#wasteland-content.xhtml#ln199",""),Space,Str "I",Space,Str "do",Space,Str "not",Space,Str "know",Space,Str "the",Space,Str "origin",Space,Str "of",Space,Str "the",Space,Str "ballad",Space,Str "from",Space,Str "which",Space,Str "these",Space,Str "lines",Space,Str "are",SoftBreak,Str "taken:",Space,Str "it",Space,Str "was",Space,Str "reported",Space,Str "to",Space,Str "me",Space,Str "from",Space,Str "Sydney,",Space,Str "Australia."]]]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "on",Space,Str "her",Space,Str "daughter",Span ("",["lnum"],[]) [Str "200"]]] ,Div ("",[],[]) [Plain [Str "They",Space,Str "wash",Space,Str "their",Space,Str "feet",Space,Str "in",Space,Str "soda",Space,Str "water"]] ,Div ("wasteland-content.xhtml#ln202",[],[("lang","fr")]) [Plain [Emph [Str "Et",Space,Str "O",Space,Str "ces",Space,Str "voix",Space,Str "d'enfants,",Space,Str "chantant",Space,Str "dans",Space,Str "la",Space,Str "coupole"],Str "!",Note [Para [Link ("",[],[]) [Str "202."] ("#wasteland-content.xhtml#ln202",""),Space,Str "V.",Space,Str "Verlaine,",Space,Str "Parsifal."]]]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "Twit",Space,Str "twit",Space,Str "twit"]] ,Div ("",[],[]) [Plain [Str "Jug",Space,Str "jug",Space,Str "jug",Space,Str "jug",Space,Str "jug",Space,Str "jug"]] ,Div ("",[],[]) [Plain [Str "So",Space,Str "rudely",Space,Str "forc'd."]] ,Div ("",[],[]) [Plain [Str "Tereu"]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "Unreal",Space,Str "City"]] ,Div ("",[],[]) [Plain [Str "Under",Space,Str "the",Space,Str "brown",Space,Str "fog",Space,Str "of",Space,Str "a",Space,Str "winter",Space,Str "noon"]] ,Div ("",[],[]) [Plain [Str "Mr.",Space,Str "Eugenides,",Space,Str "the",Space,Str "Smyrna",Space,Str "merchant"]] ,Div ("wasteland-content.xhtml#ln210",[],[]) [Plain [Str "Unshaven,",Space,Str "with",Space,Str "a",Space,Str "pocket",Space,Str "full",Space,Str "of",Space,Str "currants",Note [Para [Link ("",[],[]) [Str "210."] ("#wasteland-content.xhtml#ln210",""),Space,Str "The",Space,Str "currants",Space,Str "were",Space,Str "quoted",Space,Str "at",Space,Str "a",Space,Str "price",Space,Str "\"cost",Space,Str "insurance",Space,Str "and",Space,Str "freight",Space,Str "to",SoftBreak,Str "London\";",Space,Str "and",Space,Str "the",Space,Str "Bill",Space,Str "of",Space,Str "Lading",Space,Str "etc.",Space,Str "were",Space,Str "to",Space,Str "be",Space,Str "handed",Space,Str "to",Space,Str "the",Space,Str "buyer",Space,Str "upon",SoftBreak,Str "payment",Space,Str "of",Space,Str "the",Space,Str "sight",Space,Str "draft."]],SoftBreak,Span ("",["lnum"],[]) [Str "210"]]] ,Div ("",[],[]) [Plain [Str "C.i.f.",Space,Str "London:",Space,Str "documents",Space,Str "at",Space,Str "sight,"]] ,Div ("",[],[]) [Plain [Str "Asked",Space,Str "me",Space,Str "in",Space,Str "demotic",Space,Str "French"]] ,Div ("",[],[]) [Plain [Str "To",Space,Str "luncheon",Space,Str "at",Space,Str "the",Space,Str "Cannon",Space,Str "Street",Space,Str "Hotel"]] ,Div ("",[],[]) [Plain [Str "Followed",Space,Str "by",Space,Str "a",Space,Str "weekend",Space,Str "at",Space,Str "the",Space,Str "Metropole."]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "At",Space,Str "the",Space,Str "violet",Space,Str "hour,",Space,Str "when",Space,Str "the",Space,Str "eyes",Space,Str "and",Space,Str "back"]] ,Div ("",[],[]) [Plain [Str "Turn",Space,Str "upward",Space,Str "from",Space,Str "the",Space,Str "desk,",Space,Str "when",Space,Str "the",Space,Str "human",Space,Str "engine",Space,Str "waits"]] ,Div ("",[],[]) [Plain [Str "Like",Space,Str "a",Space,Str "taxi",Space,Str "throbbing",Space,Str "waiting,"]] ,Div ("wasteland-content.xhtml#ln218",[],[]) [Plain [Str "I",Space,Str "Tiresias,",Space,Str "though",Space,Str "blind,",Space,Str "throbbing",Space,Str "between",Space,Str "two",Space,Str "lives,",Note [Para [Link ("",[],[]) [Str "218."] ("#wasteland-content.xhtml#ln218",""),Space,Str "Tiresias,",Space,Str "although",Space,Str "a",Space,Str "mere",Space,Str "spectator",Space,Str "and",Space,Str "not",Space,Str "indeed",Space,Str "a",Space,Str "\"character,\"",Space,Str "is",SoftBreak,Str "yet",Space,Str "the",Space,Str "most",Space,Str "important",Space,Str "personage",Space,Str "in",Space,Str "the",Space,Str "poem,",Space,Str "uniting",Space,Str "all",Space,Str "the",Space,Str "rest.",Space,Str "Just",SoftBreak,Str "as",Space,Str "the",Space,Str "one-eyed",Space,Str "merchant,",Space,Str "seller",Space,Str "of",Space,Str "currants,",Space,Str "melts",Space,Str "into",Space,Str "the",Space,Str "Phoenician",SoftBreak,Str "Sailor,",Space,Str "and",Space,Str "the",Space,Str "latter",Space,Str "is",Space,Str "not",Space,Str "wholly",Space,Str "distinct",Space,Str "from",Space,Str "Ferdinand",Space,Str "Prince",Space,Str "of",SoftBreak,Str "Naples,",Space,Str "so",Space,Str "all",Space,Str "the",Space,Str "women",Space,Str "are",Space,Str "one",Space,Str "woman,",Space,Str "and",Space,Str "the",Space,Str "two",Space,Str "sexes",Space,Str "meet",Space,Str "in",SoftBreak,Str "Tiresias.",Space,Str "What",Space,Str "Tiresias",Space,Str "sees,",Space,Str "in",Space,Str "fact,",Space,Str "is",Space,Str "the",Space,Str "substance",Space,Str "of",Space,Str "the",Space,Str "poem.",Space,Str "The",SoftBreak,Str "whole",Space,Str "passage",Space,Str "from",Space,Str "Ovid",Space,Str "is",Space,Str "of",Space,Str "great",Space,Str "anthropological",Space,Str "interest:"],BlockQuote [Para [Str "'.",Space,Str ".",Space,Str ".",Space,Str "Cum",Space,Str "Iunone",Space,Str "iocos",Space,Str "et",Space,Str "maior",Space,Str "vestra",Space,Str "profecto",Space,Str "est",LineBreak,Str "Quam,",Space,Str "quae",SoftBreak,Str "contingit",Space,Str "maribus,'",Space,Str "dixisse,",Space,Str "'voluptas.'",LineBreak,Str "Illa",Space,Str "negat;",Space,Str "placuit",SoftBreak,Str "quae",Space,Str "sit",Space,Str "sententia",Space,Str "docti",LineBreak,Str "Quaerere",Space,Str "Tiresiae:",Space,Str "venus",Space,Str "huic",Space,Str "erat",SoftBreak,Str "utraque",Space,Str "nota.",LineBreak,Str "Nam",Space,Str "duo",Space,Str "magnorum",Space,Str "viridi",Space,Str "coeuntia",Space,Str "silva",LineBreak,Str "Corpora",Space,Str "serpentum",Space,Str "baculi",Space,Str "violaverat",Space,Str "ictu",LineBreak,Str "Deque",Space,Str "viro",Space,Str "factus,",SoftBreak,Str "mirabile,",Space,Str "femina",Space,Str "septem",LineBreak,Str "Egerat",Space,Str "autumnos;",Space,Str "octavo",Space,Str "rursus",SoftBreak,Str "eosdem",LineBreak,Str "Vidit",Space,Str "et",Space,Str "'est",Space,Str "vestrae",Space,Str "si",Space,Str "tanta",Space,Str "potentia",Space,Str "plagae,'",LineBreak,Str "Dixit",Space,Str "'ut",Space,Str "auctoris",Space,Str "sortem",Space,Str "in",Space,Str "contraria",Space,Str "mutet,",LineBreak,Str "Nunc",Space,Str "quoque",Space,Str "vos",SoftBreak,Str "feriam!'",Space,Str "percussis",Space,Str "anguibus",Space,Str "isdem",LineBreak,Str "Forma",Space,Str "prior",Space,Str "rediit",SoftBreak,Str "genetivaque",Space,Str "venit",Space,Str "imago.",LineBreak,Str "Arbiter",Space,Str "hic",Space,Str "igitur",Space,Str "sumptus",Space,Str "de",Space,Str "lite",SoftBreak,Str "iocosa",LineBreak,Str "Dicta",Space,Str "Iovis",Space,Str "firmat;",Space,Str "gravius",Space,Str "Saturnia",Space,Str "iusto",LineBreak,Str "Nec",SoftBreak,Str "pro",Space,Str "materia",Space,Str "fertur",Space,Str "doluisse",Space,Str "suique",LineBreak,Str "Iudicis",Space,Str "aeterna",Space,Str "damnavit",SoftBreak,Str "lumina",Space,Str "nocte,",LineBreak,Str "At",Space,Str "pater",Space,Str "omnipotens",Space,Str "(neque",Space,Str "enim",Space,Str "licet",Space,Str "inrita",SoftBreak,Str "cuiquam",LineBreak,Str "Facta",Space,Str "dei",Space,Str "fecisse",Space,Str "deo)",Space,Str "pro",Space,Str "lumine",Space,Str "adempto",LineBreak,Str "Scire",SoftBreak,Str "futura",Space,Str "dedit",Space,Str "poenamque",Space,Str "levavit",Space,Str "honore.",LineBreak]]]]] ,Div ("",[],[]) [Plain [Str "Old",Space,Str "man",Space,Str "with",Space,Str "wrinkled",Space,Str "female",Space,Str "breasts,",Space,Str "can",Space,Str "see"]] ,Div ("",[],[]) [Plain [Str "At",Space,Str "the",Space,Str "violet",Space,Str "hour,",Space,Str "the",Space,Str "evening",Space,Str "hour",Space,Str "that",Space,Str "strives",Span ("",["lnum"],[]) [Str "220"]]] ,Div ("wasteland-content.xhtml#ln221",[],[]) [Plain [Str "Homeward,",Space,Str "and",Space,Str "brings",Space,Str "the",Space,Str "sailor",Space,Str "home",Space,Str "from",Space,Str "sea,",Note [Para [Link ("",[],[]) [Str "221."] ("#wasteland-content.xhtml#ln221",""),Space,Str "This",Space,Str "may",Space,Str "not",Space,Str "appear",Space,Str "as",Space,Str "exact",Space,Str "as",Space,Str "Sappho's",Space,Str "lines,",Space,Str "but",Space,Str "I",Space,Str "had",Space,Str "in",Space,Str "mind",SoftBreak,Str "the",Space,Str "\"longshore\"",Space,Str "or",Space,Str "\"dory\"",Space,Str "fisherman,",Space,Str "who",Space,Str "returns",Space,Str "at",Space,Str "nightfall."]]]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "typist",Space,Str "home",Space,Str "at",Space,Str "teatime,",Space,Str "clears",Space,Str "her",Space,Str "breakfast,",Space,Str "lights"]] ,Div ("",[],[]) [Plain [Str "Her",Space,Str "stove,",Space,Str "and",Space,Str "lays",Space,Str "out",Space,Str "food",Space,Str "in",Space,Str "tins."]] ,Div ("",[],[]) [Plain [Str "Out",Space,Str "of",Space,Str "the",Space,Str "window",Space,Str "perilously",Space,Str "spread"]] ,Div ("",[],[]) [Plain [Str "Her",Space,Str "drying",Space,Str "combinations",Space,Str "touched",Space,Str "by",Space,Str "the",Space,Str "sun's",Space,Str "last",Space,Str "rays,"]] ,Div ("",[],[]) [Plain [Str "On",Space,Str "the",Space,Str "divan",Space,Str "are",Space,Str "piled",Space,Str "(at",Space,Str "night",Space,Str "her",Space,Str "bed)"]] ,Div ("",[],[]) [Plain [Str "Stockings,",Space,Str "slippers,",Space,Str "camisoles,",Space,Str "and",Space,Str "stays."]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "Tiresias,",Space,Str "old",Space,Str "man",Space,Str "with",Space,Str "wrinkled",Space,Str "dugs"]] ,Div ("",[],[]) [Plain [Str "Perceived",Space,Str "the",Space,Str "scene,",Space,Str "and",Space,Str "foretold",Space,Str "the",Space,Str "rest",Space,Str "-"]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "too",Space,Str "awaited",Space,Str "the",Space,Str "expected",Space,Str "guest.",Span ("",["lnum"],[]) [Str "230"]]] ,Div ("",[],[]) [Plain [Str "He,",Space,Str "the",Space,Str "young",Space,Str "man",Space,Str "carbuncular,",Space,Str "arrives,"]] ,Div ("",[],[]) [Plain [Str "A",Space,Str "small",Space,Str "house",Space,Str "agent's",Space,Str "clerk,",Space,Str "with",Space,Str "one",Space,Str "bold",Space,Str "stare,"]] ,Div ("",[],[]) [Plain [Str "One",Space,Str "of",Space,Str "the",Space,Str "low",Space,Str "on",Space,Str "whom",Space,Str "assurance",Space,Str "sits"]] ,Div ("",[],[]) [Plain [Str "As",Space,Str "a",Space,Str "silk",Space,Str "hat",Space,Str "on",Space,Str "a",Space,Str "Bradford",Space,Str "millionaire."]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "time",Space,Str "is",Space,Str "now",Space,Str "propitious,",Space,Str "as",Space,Str "he",Space,Str "guesses,"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "meal",Space,Str "is",Space,Str "ended,",Space,Str "she",Space,Str "is",Space,Str "bored",Space,Str "and",Space,Str "tired,"]] ,Div ("",[],[]) [Plain [Str "Endeavours",Space,Str "to",Space,Str "engage",Space,Str "her",Space,Str "in",Space,Str "caresses"]] ,Div ("",[],[]) [Plain [Str "Which",Space,Str "still",Space,Str "are",Space,Str "unreproved,",Space,Str "if",Space,Str "undesired."]] ,Div ("",[],[]) [Plain [Str "Flushed",Space,Str "and",Space,Str "decided,",Space,Str "he",Space,Str "assaults",Space,Str "at",Space,Str "once;"]] ,Div ("",[],[]) [Plain [Str "Exploring",Space,Str "hands",Space,Str "encounter",Space,Str "no",Space,Str "defence;",Span ("",["lnum"],[]) [Str "240"]]] ,Div ("",[],[]) [Plain [Str "His",Space,Str "vanity",Space,Str "requires",Space,Str "no",Space,Str "response,"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "makes",Space,Str "a",Space,Str "welcome",Space,Str "of",Space,Str "indifference."]] ,Div ("",[],[]) [Plain [Str "(And",Space,Str "I",Space,Str "Tiresias",Space,Str "have",Space,Str "foresuffered",Space,Str "all"]] ,Div ("",[],[]) [Plain [Str "Enacted",Space,Str "on",Space,Str "this",Space,Str "same",Space,Str "divan",Space,Str "or",Space,Str "bed;"]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "who",Space,Str "have",Space,Str "sat",Space,Str "by",Space,Str "Thebes",Space,Str "below",Space,Str "the",Space,Str "wall"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "walked",Space,Str "among",Space,Str "the",Space,Str "lowest",Space,Str "of",Space,Str "the",Space,Str "dead.)"]] ,Div ("",[],[]) [Plain [Str "Bestows",Space,Str "one",Space,Str "final",Space,Str "patronising",Space,Str "kiss,"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "gropes",Space,Str "his",Space,Str "way,",Space,Str "finding",Space,Str "the",Space,Str "stairs",Space,Str "unlit",Space,Str ".",Space,Str ".",Space,Str "."]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "She",Space,Str "turns",Space,Str "and",Space,Str "looks",Space,Str "a",Space,Str "moment",Space,Str "in",Space,Str "the",Space,Str "glass,"]] ,Div ("",[],[]) [Plain [Str "Hardly",Space,Str "aware",Space,Str "of",Space,Str "her",Space,Str "departed",Space,Str "lover;",Span ("",["lnum"],[]) [Str "250"]]] ,Div ("",[],[]) [Plain [Str "Her",Space,Str "brain",Space,Str "allows",Space,Str "one",Space,Str "half-formed",Space,Str "thought",Space,Str "to",Space,Str "pass:"]] ,Div ("",[],[]) [Plain [Str "\"Well",Space,Str "now",Space,Str "that's",Space,Str "done:",Space,Str "and",Space,Str "I'm",Space,Str "glad",Space,Str "it's",Space,Str "over.\""]] ,Div ("wasteland-content.xhtml#ln253",[],[]) [Plain [Str "When",Space,Str "lovely",Space,Str "woman",Space,Str "stoops",Space,Str "to",Space,Str "folly",Space,Str "and",Note [Para [Link ("",[],[]) [Str "253."] ("#wasteland-content.xhtml#ln253",""),Space,Str "V.",Space,Str "Goldsmith,",Space,Str "the",Space,Str "song",Space,Str "in",Space,Str "The",Space,Str "Vicar",Space,Str "of",Space,Str "Wakefield."]]]] ,Div ("",[],[]) [Plain [Str "Paces",Space,Str "about",Space,Str "her",Space,Str "room",Space,Str "again,",Space,Str "alone,"]] ,Div ("",[],[]) [Plain [Str "She",Space,Str "smoothes",Space,Str "her",Space,Str "hair",Space,Str "with",Space,Str "automatic",Space,Str "hand,"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "puts",Space,Str "a",Space,Str "record",Space,Str "on",Space,Str "the",Space,Str "gramophone."]]] ,Div ("",["linegroup"],[]) [Div ("wasteland-content.xhtml#ln257",[],[]) [Plain [Str "\"This",Space,Str "music",Space,Str "crept",Space,Str "by",Space,Str "me",Space,Str "upon",Space,Str "the",Space,Str "waters\"",Note [Para [Link ("",[],[]) [Str "257."] ("#wasteland-content.xhtml#ln257",""),Space,Str "V.",Space,Str "The",Space,Str "Tempest,",Space,Str "as",Space,Str "above."]]]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "along",Space,Str "the",Space,Str "Strand,",Space,Str "up",Space,Str "Queen",Space,Str "Victoria",Space,Str "Street."]] ,Div ("",[],[]) [Plain [Str "O",Space,Str "City",Space,Str "city,",Space,Str "I",Space,Str "can",Space,Str "sometimes",Space,Str "hear"]] ,Div ("",[],[]) [Plain [Str "Beside",Space,Str "a",Space,Str "public",Space,Str "bar",Space,Str "in",Space,Str "Lower",Space,Str "Thames",Space,Str "Street,",Span ("",["lnum"],[]) [Str "260"]]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "pleasant",Space,Str "whining",Space,Str "of",Space,Str "a",Space,Str "mandoline"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "a",Space,Str "clatter",Space,Str "and",Space,Str "a",Space,Str "chatter",Space,Str "from",Space,Str "within"]] ,Div ("",[],[]) [Plain [Str "Where",Space,Str "fishmen",Space,Str "lounge",Space,Str "at",Space,Str "noon:",Space,Str "where",Space,Str "the",Space,Str "walls"]] ,Div ("wasteland-content.xhtml#ln264",[],[]) [Plain [Str "Of",Space,Str "Magnus",Space,Str "Martyr",Space,Str "hold",Note [Para [Link ("",[],[]) [Str "264."] ("#wasteland-content.xhtml#ln264",""),Space,Str "The",Space,Str "interior",Space,Str "of",Space,Str "St.",Space,Str "Magnus",Space,Str "Martyr",Space,Str "is",Space,Str "to",Space,Str "my",Space,Str "mind",Space,Str "one",Space,Str "of",Space,Str "the",Space,Str "finest",SoftBreak,Str "among",Space,Str "Wren's",Space,Str "interiors.",Space,Str "See",Space,Str "The",Space,Str "Proposed",Space,Str "Demolition",Space,Str "of",Space,Str "Nineteen",Space,Str "City",SoftBreak,Str "Churches",Space,Str "(P.",Space,Str "S.",Space,Str "King",Space,Str "&",Space,Str "Son,",Space,Str "Ltd.)."]]]] ,Div ("",[],[]) [Plain [Str "Inexplicable",Space,Str "splendour",Space,Str "of",Space,Str "Ionian",Space,Str "white",Space,Str "and",Space,Str "gold."]]] ,Div ("",["linegroup","indent"],[]) [Div ("wasteland-content.xhtml#ln266",[],[]) [Plain [Str "The",Space,Str "river",Space,Str "sweats",Note [Para [Link ("",[],[]) [Str "266."] ("#wasteland-content.xhtml#ln266",""),Space,Str "The",Space,Str "Song",Space,Str "of",Space,Str "the",Space,Str "(three)",Space,Str "Thames-daughters",Space,Str "begins",Space,Str "here.",Space,Str "From",Space,Str "line",Space,Str "292",SoftBreak,Str "to",Space,Str "306",Space,Str "inclusive",Space,Str "they",Space,Str "speak",Space,Str "in",Space,Str "turn.",Space,Str "V.",Space,Str "Gutterdsammerung,",Space,Str "III.",Space,Str "i:",Space,Str "the",SoftBreak,Str "Rhine-daughters."]]]] ,Div ("",[],[]) [Plain [Str "Oil",Space,Str "and",Space,Str "tar"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "barges",Space,Str "drift"]] ,Div ("",[],[]) [Plain [Str "With",Space,Str "the",Space,Str "turning",Space,Str "tide"]] ,Div ("",[],[]) [Plain [Str "Red",Space,Str "sails",Span ("",["lnum"],[]) [Str "270"]]] ,Div ("",[],[]) [Plain [Str "Wide"]] ,Div ("",[],[]) [Plain [Str "To",Space,Str "leeward,",Space,Str "swing",Space,Str "on",Space,Str "the",Space,Str "heavy",Space,Str "spar."]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "barges",Space,Str "wash"]] ,Div ("",[],[]) [Plain [Str "Drifting",Space,Str "logs"]] ,Div ("",[],[]) [Plain [Str "Down",Space,Str "Greenwich",Space,Str "reach"]] ,Div ("",[],[]) [Plain [Str "Past",Space,Str "the",Space,Str "Isle",Space,Str "of",Space,Str "Dogs."]] ,Div ("",["indent"],[]) [Plain [Str "Weialala",Space,Str "leia"]] ,Div ("",["indent"],[]) [Plain [Str "Wallala",Space,Str "leialala"]]] ,Div ("",["linegroup","indent"],[]) [Div ("wasteland-content.xhtml#ln279",[],[]) [Plain [Str "Elizabeth",Space,Str "and",Space,Str "Leicester",Note [Para [Link ("",[],[]) [Str "279."] ("#wasteland-content.xhtml#ln279",""),Space,Str "V.",Space,Str "Froude,",Space,Str "Elizabeth,",Space,Str "Vol.",Space,Str "I,",Space,Str "ch.",Space,Str "iv,",Space,Str "letter",Space,Str "of",Space,Str "De",Space,Str "Quadra",Space,Str "to",Space,Str "Philip",SoftBreak,Str "of",Space,Str "Spain:"],BlockQuote [Div ("",[],[]) [Div ("",[],[]) [Plain [Str "\"In",Space,Str "the",Space,Str "afternoon",Space,Str "we",Space,Str "were",Space,Str "in",Space,Str "a",Space,Str "barge,",Space,Str "watching",Space,Str "the",SoftBreak,Str "games",Space,Str "on",Space,Str "the",Space,Str "river."]],Div ("",[],[]) [Plain [Str "(The",Space,Str "queen)",Space,Str "was",Space,Str "alone",Space,Str "with",Space,Str "Lord",Space,Str "Robert",Space,Str "and",Space,Str "myself",SoftBreak,Str "on",Space,Str "the",Space,Str "poop,"]],Div ("",[],[]) [Plain [Str "when",Space,Str "they",Space,Str "began",Space,Str "to",Space,Str "talk",Space,Str "nonsense,",Space,Str "and",Space,Str "went",Space,Str "so",Space,Str "far",SoftBreak,Str "that",Space,Str "Lord",Space,Str "Robert"]],Div ("",[],[]) [Plain [Str "at",Space,Str "last",Space,Str "said,",Space,Str "as",Space,Str "I",Space,Str "was",Space,Str "on",Space,Str "the",Space,Str "spot",Space,Str "there",Space,Str "was",Space,Str "no",SoftBreak,Str "reason",Space,Str "why",Space,Str "they"]],Div ("",[],[]) [Plain [Str "should",Space,Str "not",Space,Str "be",Space,Str "married",Space,Str "if",Space,Str "the",Space,Str "queen",Space,Str "pleased.\""]]]]]]] ,Div ("",[],[]) [Plain [Str "Beating",Space,Str "oars",Span ("",["lnum"],[]) [Str "280"]]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "stern",Space,Str "was",Space,Str "formed"]] ,Div ("",[],[]) [Plain [Str "A",Space,Str "gilded",Space,Str "shell"]] ,Div ("",[],[]) [Plain [Str "Red",Space,Str "and",Space,Str "gold"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "brisk",Space,Str "swell"]] ,Div ("",[],[]) [Plain [Str "Rippled",Space,Str "both",Space,Str "shores"]] ,Div ("",[],[]) [Plain [Str "Southwest",Space,Str "wind"]] ,Div ("",[],[]) [Plain [Str "Carried",Space,Str "down",Space,Str "stream"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "peal",Space,Str "of",Space,Str "bells"]] ,Div ("",[],[]) [Plain [Str "White",Space,Str "towers"]] ,Div ("",["indent"],[]) [Plain [Str "Weialala",Space,Str "leia",Span ("",["lnum"],[]) [Str "290"]]] ,Div ("",["indent"],[]) [Plain [Str "Wallala",Space,Str "leialala"]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "\"Trams",Space,Str "and",Space,Str "dusty",Space,Str "trees."]] ,Div ("wasteland-content.xhtml#ln293",[],[]) [Plain [Str "Highbury",Space,Str "bore",Space,Str "me.",Space,Str "Richmond",Space,Str "and",Space,Str "Kew",Note [Para [Link ("",[],[]) [Str "293."] ("#wasteland-content.xhtml#ln293",""),Space,Str "Cf.",Space,Str "Purgatorio,",Space,Str "v.",Space,Str "133:"],BlockQuote [Para [Str "\"Ricorditi",Space,Str "di",Space,Str "me,",Space,Str "che",Space,Str "son",Space,Str "la",Space,Str "Pia;",LineBreak,Str "Siena",Space,Str "mi",Space,Str "fe',",Space,Str "disfecemi",SoftBreak,Str "Maremma.\""]]]]] ,Div ("",[],[]) [Plain [Str "Undid",Space,Str "me.",Space,Str "By",Space,Str "Richmond",Space,Str "I",Space,Str "raised",Space,Str "my",Space,Str "knees"]] ,Div ("",[],[]) [Plain [Str "Supine",Space,Str "on",Space,Str "the",Space,Str "floor",Space,Str "of",Space,Str "a",Space,Str "narrow",Space,Str "canoe.\""]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "\"My",Space,Str "feet",Space,Str "are",Space,Str "at",Space,Str "Moorgate,",Space,Str "and",Space,Str "my",Space,Str "heart"]] ,Div ("",[],[]) [Plain [Str "Under",Space,Str "my",Space,Str "feet.",Space,Str "After",Space,Str "the",Space,Str "event"]] ,Div ("",[],[]) [Plain [Str "He",Space,Str "wept.",Space,Str "He",Space,Str "promised",Space,Str "'a",Space,Str "new",Space,Str "start'."]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "made",Space,Str "no",Space,Str "comment.",Space,Str "What",Space,Str "should",Space,Str "I",Space,Str "resent?\""]] ,Div ("",[],[]) [Plain [Str "\"On",Space,Str "Margate",Space,Str "Sands.",Span ("",["lnum"],[]) [Str "300"]]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "can",Space,Str "connect"]] ,Div ("",[],[]) [Plain [Str "Nothing",Space,Str "with",Space,Str "nothing."]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "broken",Space,Str "fingernails",Space,Str "of",Space,Str "dirty",Space,Str "hands."]] ,Div ("",[],[]) [Plain [Str "My",Space,Str "people",Space,Str "humble",Space,Str "people",Space,Str "who",Space,Str "expect"]] ,Div ("",[],[]) [Plain [Str "Nothing.\""]] ,Div ("",["indent"],[]) [Plain [Str "la",Space,Str "la"]]] ,Div ("",["linegroup"],[]) [Div ("wasteland-content.xhtml#ln307",[],[]) [Plain [Str "To",Space,Str "Carthage",Space,Str "then",Space,Str "I",Space,Str "came",Note [Para [Link ("",[],[]) [Str "307."] ("#wasteland-content.xhtml#ln307",""),Space,Str "V.",Space,Str "St.",Space,Str "Augustine's",Space,Str "Confessions:",Space,Str "\"to",Space,Str "Carthage",Space,Str "then",Space,Str "I",Space,Str "came,",Space,Str "where",Space,Str "a",SoftBreak,Str "cauldron",Space,Str "of",Space,Str "unholy",Space,Str "loves",Space,Str "sang",Space,Str "all",Space,Str "about",Space,Str "mine",Space,Str "ears.\""]]]]] ,Div ("",["linegroup"],[]) [Div ("wasteland-content.xhtml#ln308",[],[]) [Plain [Str "Burning",Space,Str "burning",Space,Str "burning",Space,Str "burning",Note [Para [Link ("",[],[]) [Str "308."] ("#wasteland-content.xhtml#ln308",""),Space,Str "The",Space,Str "complete",Space,Str "text",Space,Str "of",Space,Str "the",Space,Str "Buddha's",Space,Str "Fire",Space,Str "Sermon",Space,Str "(which",Space,Str "corresponds",Space,Str "in",SoftBreak,Str "importance",Space,Str "to",Space,Str "the",Space,Str "Sermon",Space,Str "on",Space,Str "the",Space,Str "Mount)",Space,Str "from",Space,Str "which",Space,Str "these",Space,Str "words",Space,Str "are",Space,Str "taken,",SoftBreak,Str "will",Space,Str "be",Space,Str "found",Space,Str "translated",Space,Str "in",Space,Str "the",Space,Str "late",Space,Str "Henry",Space,Str "Clarke",Space,Str "Warren's",Space,Str "Buddhism",Space,Str "in",SoftBreak,Str "Translation",Space,Str "(Harvard",Space,Str "Oriental",Space,Str "Series).",Space,Str "Mr.",Space,Str "Warren",Space,Str "was",Space,Str "one",Space,Str "of",Space,Str "the",Space,Str "great",SoftBreak,Str "pioneers",Space,Str "of",Space,Str "Buddhist",Space,Str "studies",Space,Str "in",Space,Str "the",Space,Str "Occident."]]]] ,Div ("wasteland-content.xhtml#ln309",[],[]) [Plain [Str "O",Space,Str "Lord",Space,Str "Thou",Space,Str "pluckest",Space,Str "me",Space,Str "out",Note [Para [Link ("",[],[]) [Str "309."] ("#wasteland-content.xhtml#ln309",""),Space,Str "From",Space,Str "St.",Space,Str "Augustine's",Space,Str "Confessions",Space,Str "again.",Space,Str "The",Space,Str "collocation",Space,Str "of",Space,Str "these",Space,Str "two",SoftBreak,Str "representatives",Space,Str "of",Space,Str "eastern",Space,Str "and",Space,Str "western",Space,Str "asceticism,",Space,Str "as",Space,Str "the",Space,Str "culmination",Space,Str "of",SoftBreak,Str "this",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "poem,",Space,Str "is",Space,Str "not",Space,Str "an",Space,Str "accident."]]]] ,Div ("",[],[]) [Plain [Str "O",Space,Str "Lord",Space,Str "Thou",Space,Str "pluckest",Span ("",["lnum"],[]) [Str "310"]]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "burning"]]]] ,Div ("wasteland-content.xhtml#ch4",["section"],[]) [Header 2 ("",[],[]) [Str "IV.",Space,Str "DEATH",Space,Str "BY",Space,Str "WATER"] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "Phlebas",Space,Str "the",Space,Str "Phoenician,",Space,Str "a",Space,Str "fortnight",Space,Str "dead,"]] ,Div ("",[],[]) [Plain [Str "Forgot",Space,Str "the",Space,Str "cry",Space,Str "of",Space,Str "gulls,",Space,Str "and",Space,Str "the",Space,Str "deep",Space,Str "sea",Space,Str "swell"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "the",Space,Str "profit",Space,Str "and",Space,Str "loss."]]] ,Div ("",["linegroup"],[]) [Div ("",["indent2"],[]) [Plain [Str "A",Space,Str "current",Space,Str "under",Space,Str "sea"]] ,Div ("",[],[]) [Plain [Str "Picked",Space,Str "his",Space,Str "bones",Space,Str "in",Space,Str "whispers.",Space,Str "As",Space,Str "he",Space,Str "rose",Space,Str "and",Space,Str "fell"]] ,Div ("",[],[]) [Plain [Str "He",Space,Str "passed",Space,Str "the",Space,Str "stages",Space,Str "of",Space,Str "his",Space,Str "age",Space,Str "and",Space,Str "youth"]] ,Div ("",[],[]) [Plain [Str "Entering",Space,Str "the",Space,Str "whirlpool."]]] ,Div ("",["linegroup"],[]) [Div ("",["indent2"],[]) [Plain [Str "Gentile",Space,Str "or",Space,Str "Jew"]] ,Div ("",[],[]) [Plain [Str "O",Space,Str "you",Space,Str "who",Space,Str "turn",Space,Str "the",Space,Str "wheel",Space,Str "and",Space,Str "look",Space,Str "to",Space,Str "windward,",Span ("",["lnum"],[]) [Str "320"]]] ,Div ("",[],[]) [Plain [Str "Consider",Space,Str "Phlebas,",Space,Str "who",Space,Str "was",Space,Str "once",Space,Str "handsome",Space,Str "and",Space,Str "tall",Space,Str "as",Space,Str "you."]]]] ,Div ("wasteland-content.xhtml#ch5",["section"],[]) [Header 2 ("",[],[]) [Str "V.",Space,Str "WHAT",Space,Str "THE",Space,Str "THUNDER",Space,Str "SAID"] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "After",Space,Str "the",Space,Str "torchlight",Space,Str "red",Space,Str "on",Space,Str "sweaty",Space,Str "faces"]] ,Div ("",[],[]) [Plain [Str "After",Space,Str "the",Space,Str "frosty",Space,Str "silence",Space,Str "in",Space,Str "the",Space,Str "gardens"]] ,Div ("",[],[]) [Plain [Str "After",Space,Str "the",Space,Str "agony",Space,Str "in",Space,Str "stony",Space,Str "places"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "shouting",Space,Str "and",Space,Str "the",Space,Str "crying"]] ,Div ("",[],[]) [Plain [Str "Prison",Space,Str "and",Space,Str "palace",Space,Str "and",Space,Str "reverberation"]] ,Div ("",[],[]) [Plain [Str "Of",Space,Str "thunder",Space,Str "of",Space,Str "spring",Space,Str "over",Space,Str "distant",Space,Str "mountains"]] ,Div ("",[],[]) [Plain [Str "He",Space,Str "who",Space,Str "was",Space,Str "living",Space,Str "is",Space,Str "now",Space,Str "dead"]] ,Div ("",[],[]) [Plain [Str "We",Space,Str "who",Space,Str "were",Space,Str "living",Space,Str "are",Space,Str "now",Space,Str "dying"]] ,Div ("",[],[]) [Plain [Str "With",Space,Str "a",Space,Str "little",Space,Str "patience",Span ("",["lnum"],[]) [Str "330"]]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "Here",Space,Str "is",Space,Str "no",Space,Str "water",Space,Str "but",Space,Str "only",Space,Str "rock"]] ,Div ("",[],[]) [Plain [Str "Rock",Space,Str "and",Space,Str "no",Space,Str "water",Space,Str "and",Space,Str "the",Space,Str "sandy",Space,Str "road"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "road",Space,Str "winding",Space,Str "above",Space,Str "among",Space,Str "the",Space,Str "mountains"]] ,Div ("",[],[]) [Plain [Str "Which",Space,Str "are",Space,Str "mountains",Space,Str "of",Space,Str "rock",Space,Str "without",Space,Str "water"]] ,Div ("",[],[]) [Plain [Str "If",Space,Str "there",Space,Str "were",Space,Str "water",Space,Str "we",Space,Str "should",Space,Str "stop",Space,Str "and",Space,Str "drink"]] ,Div ("",[],[]) [Plain [Str "Amongst",Space,Str "the",Space,Str "rock",Space,Str "one",Space,Str "cannot",Space,Str "stop",Space,Str "or",Space,Str "think"]] ,Div ("",[],[]) [Plain [Str "Sweat",Space,Str "is",Space,Str "dry",Space,Str "and",Space,Str "feet",Space,Str "are",Space,Str "in",Space,Str "the",Space,Str "sand"]] ,Div ("",[],[]) [Plain [Str "If",Space,Str "there",Space,Str "were",Space,Str "only",Space,Str "water",Space,Str "amongst",Space,Str "the",Space,Str "rock"]] ,Div ("",[],[]) [Plain [Str "Dead",Space,Str "mountain",Space,Str "mouth",Space,Str "of",Space,Str "carious",Space,Str "teeth",Space,Str "that",Space,Str "cannot",Space,Str "spit"]] ,Div ("",[],[]) [Plain [Str "Here",Space,Str "one",Space,Str "can",Space,Str "neither",Space,Str "stand",Space,Str "nor",Space,Str "lie",Space,Str "nor",Space,Str "sit",Span ("",["lnum"],[]) [Str "340"]]] ,Div ("",[],[]) [Plain [Str "There",Space,Str "is",Space,Str "not",Space,Str "even",Space,Str "silence",Space,Str "in",Space,Str "the",Space,Str "mountains"]] ,Div ("",[],[]) [Plain [Str "But",Space,Str "dry",Space,Str "sterile",Space,Str "thunder",Space,Str "without",Space,Str "rain"]] ,Div ("",[],[]) [Plain [Str "There",Space,Str "is",Space,Str "not",Space,Str "even",Space,Str "solitude",Space,Str "in",Space,Str "the",Space,Str "mountains"]] ,Div ("",[],[]) [Plain [Str "But",Space,Str "red",Space,Str "sullen",Space,Str "faces",Space,Str "sneer",Space,Str "and",Space,Str "snarl"]] ,Div ("",[],[]) [Plain [Str "From",Space,Str "doors",Space,Str "of",Space,Str "mudcracked",Space,Str "houses"]] ,Div ("",["linegroup"],[]) [Div ("",["indent2"],[]) [Plain [Str "If",Space,Str "there",Space,Str "were",Space,Str "water"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "no",Space,Str "rock"]] ,Div ("",[],[]) [Plain [Str "If",Space,Str "there",Space,Str "were",Space,Str "rock"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "also",Space,Str "water"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "water",Span ("",["lnum"],[]) [Str "350"]]] ,Div ("",[],[]) [Plain [Str "A",Space,Str "spring"]] ,Div ("",[],[]) [Plain [Str "A",Space,Str "pool",Space,Str "among",Space,Str "the",Space,Str "rock"]] ,Div ("",[],[]) [Plain [Str "If",Space,Str "there",Space,Str "were",Space,Str "the",Space,Str "sound",Space,Str "of",Space,Str "water",Space,Str "only"]] ,Div ("",[],[]) [Plain [Str "Not",Space,Str "the",Space,Str "cicada"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "dry",Space,Str "grass",Space,Str "singing"]] ,Div ("",[],[]) [Plain [Str "But",Space,Str "sound",Space,Str "of",Space,Str "water",Space,Str "over",Space,Str "a",Space,Str "rock"]] ,Div ("wasteland-content.xhtml#ln357",[],[]) [Plain [Str "Where",Space,Str "the",Space,Str "hermit-thrush",Space,Str "sings",Space,Str "in",Space,Str "the",Space,Str "pine",Space,Str "trees",Note [Para [Link ("",[],[]) [Str "357."] ("#wasteland-content.xhtml#ln357",""),Space,Str "This",Space,Str "is",Space,Str "Turdus",Space,Str "aonalaschkae",Space,Str "pallasii,",Space,Str "the",Space,Str "hermit-thrush",Space,Str "which",Space,Str "I",Space,Str "have",SoftBreak,Str "heard",Space,Str "in",Space,Str "Quebec",Space,Str "County.",Space,Str "Chapman",Space,Str "says",Space,Str "(Handbook",Space,Str "of",Space,Str "Birds",Space,Str "of",Space,Str "Eastern",Space,Str "North",SoftBreak,Str "America)",Space,Str "\"it",Space,Str "is",Space,Str "most",Space,Str "at",Space,Str "home",Space,Str "in",Space,Str "secluded",Space,Str "woodland",Space,Str "and",Space,Str "thickety",Space,Str "retreats.",SoftBreak,Str ".",Space,Str ".",Space,Str ".",Space,Str "Its",Space,Str "notes",Space,Str "are",Space,Str "not",Space,Str "remarkable",Space,Str "for",Space,Str "variety",Space,Str "or",Space,Str "volume,",Space,Str "but",Space,Str "in",Space,Str "purity",SoftBreak,Str "and",Space,Str "sweetness",Space,Str "of",Space,Str "tone",Space,Str "and",Space,Str "exquisite",Space,Str "modulation",Space,Str "they",Space,Str "are",Space,Str "unequalled.\"",Space,Str "Its",SoftBreak,Str "\"water-dripping",Space,Str "song\"",Space,Str "is",Space,Str "justly",Space,Str "celebrated."]]]] ,Div ("",[],[]) [Plain [Str "Drip",Space,Str "drop",Space,Str "drip",Space,Str "drop",Space,Str "drop",Space,Str "drop",Space,Str "drop"]] ,Div ("",[],[]) [Plain [Str "But",Space,Str "there",Space,Str "is",Space,Str "no",Space,Str "water"]]]] ,Div ("",["linegroup"],[]) [Div ("wasteland-content.xhtml#ln360",[],[]) [Plain [Str "Who",Space,Str "is",Space,Str "the",Space,Str "third",Space,Str "who",Space,Str "walks",Space,Str "always",Space,Str "beside",Space,Str "you?",Note [Para [Link ("",[],[]) [Str "360."] ("#wasteland-content.xhtml#ln360",""),Space,Str "The",Space,Str "following",Space,Str "lines",Space,Str "were",Space,Str "stimulated",Space,Str "by",Space,Str "the",Space,Str "account",Space,Str "of",Space,Str "one",Space,Str "of",Space,Str "the",SoftBreak,Str "Antarctic",Space,Str "expeditions",Space,Str "(I",Space,Str "forget",Space,Str "which,",Space,Str "but",Space,Str "I",Space,Str "think",Space,Str "one",Space,Str "of",Space,Str "Shackleton's):",SoftBreak,Str "it",Space,Str "was",Space,Str "related",Space,Str "that",Space,Str "the",Space,Str "party",Space,Str "of",Space,Str "explorers,",Space,Str "at",Space,Str "the",Space,Str "extremity",Space,Str "of",Space,Str "their",SoftBreak,Str "strength,",Space,Str "had",Space,Str "the",Space,Str "constant",Space,Str "delusion",Space,Str "that",Space,Str "there",Space,Str "was",Space,Str "one",Space,Str "more",Space,Str "member",Space,Str "than",SoftBreak,Str "could",Space,Str "actually",Space,Str "be",Space,Str "counted."]],SoftBreak,Span ("",["lnum"],[]) [Str "360"]]] ,Div ("",[],[]) [Plain [Str "When",Space,Str "I",Space,Str "count,",Space,Str "there",Space,Str "are",Space,Str "only",Space,Str "you",Space,Str "and",Space,Str "I",Space,Str "together"]] ,Div ("",[],[]) [Plain [Str "But",Space,Str "when",Space,Str "I",Space,Str "look",Space,Str "ahead",Space,Str "up",Space,Str "the",Space,Str "white",Space,Str "road"]] ,Div ("",[],[]) [Plain [Str "There",Space,Str "is",Space,Str "always",Space,Str "another",Space,Str "one",Space,Str "walking",Space,Str "beside",Space,Str "you"]] ,Div ("",[],[]) [Plain [Str "Gliding",Space,Str "wrapt",Space,Str "in",Space,Str "a",Space,Str "brown",Space,Str "mantle,",Space,Str "hooded"]] ,Div ("",[],[]) [Plain [Str "I",Space,Str "do",Space,Str "not",Space,Str "know",Space,Str "whether",Space,Str "a",Space,Str "man",Space,Str "or",Space,Str "a",Space,Str "woman"]] ,Div ("wasteland-content.xhtml#ln367",[],[]) [Plain [Str "\8213But",Space,Str "who",Space,Str "is",Space,Str "that",Space,Str "on",Space,Str "the",Space,Str "other",Space,Str "side",Space,Str "of",Space,Str "you?",Note [Para [Link ("",[],[]) [Str "367-77."] ("#wasteland-content.xhtml#ln367",""),Space,Str "Cf.",Space,Str "Hermann",Space,Str "Hesse,",Space,Str "Blick",Space,Str "ins",Space,Str "Chaos:"],BlockQuote [Para [Str "\"Schon",Space,Str "ist",Space,Str "halb",Space,Str "Europa,",Space,Str "schon",Space,Str "ist",Space,Str "zumindest",Space,Str "der",Space,Str "halbe",Space,Str "Osten",Space,Str "Europas",SoftBreak,Str "auf",Space,Str "dem",LineBreak,Str "Wege",Space,Str "zum",Space,Str "Chaos,",Space,Str "fhrt",Space,Str "betrunken",Space,Str "im",Space,Str "heiligem",Space,Str "Wahn",Space,Str "am",SoftBreak,Str "Abgrund",Space,Str "entlang",LineBreak,Str "und",Space,Str "singt",Space,Str "dazu,",Space,Str "singt",Space,Str "betrunken",Space,Str "und",Space,Str "hymnisch",SoftBreak,Str "wie",Space,Str "Dmitri",Space,Str "Karamasoff",Space,Str "sang.",LineBreak,Str "Ueber",Space,Str "diese",Space,Str "Lieder",Space,Str "lacht",Space,Str "der",SoftBreak,Str "Bsrger",Space,Str "beleidigt,",Space,Str "der",Space,Str "Heilige",LineBreak,Str "und",Space,Str "Seher",Space,Str "hrt",Space,Str "sie",Space,Str "mit",SoftBreak,Str "Trvnen.\""]]]]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "What",Space,Str "is",Space,Str "that",Space,Str "sound",Space,Str "high",Space,Str "in",Space,Str "the",Space,Str "air"]] ,Div ("",[],[]) [Plain [Str "Murmur",Space,Str "of",Space,Str "maternal",Space,Str "lamentation"]] ,Div ("",[],[]) [Plain [Str "Who",Space,Str "are",Space,Str "those",Space,Str "hooded",Space,Str "hordes",Space,Str "swarming"]] ,Div ("",[],[]) [Plain [Str "Over",Space,Str "endless",Space,Str "plains,",Space,Str "stumbling",Space,Str "in",Space,Str "cracked",Space,Str "earth",Span ("",["lnum"],[]) [Str "370"]]] ,Div ("",[],[]) [Plain [Str "Ringed",Space,Str "by",Space,Str "the",Space,Str "flat",Space,Str "horizon",Space,Str "only"]] ,Div ("",[],[]) [Plain [Str "What",Space,Str "is",Space,Str "the",Space,Str "city",Space,Str "over",Space,Str "the",Space,Str "mountains"]] ,Div ("",[],[]) [Plain [Str "Cracks",Space,Str "and",Space,Str "reforms",Space,Str "and",Space,Str "bursts",Space,Str "in",Space,Str "the",Space,Str "violet",Space,Str "air"]] ,Div ("",[],[]) [Plain [Str "Falling",Space,Str "towers"]] ,Div ("",[],[]) [Plain [Str "Jerusalem",Space,Str "Athens",Space,Str "Alexandria"]] ,Div ("",[],[]) [Plain [Str "Vienna",Space,Str "London"]] ,Div ("",[],[]) [Plain [Str "Unreal"]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "A",Space,Str "woman",Space,Str "drew",Space,Str "her",Space,Str "long",Space,Str "black",Space,Str "hair",Space,Str "out",Space,Str "tight"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "fiddled",Space,Str "whisper",Space,Str "music",Space,Str "on",Space,Str "those",Space,Str "strings"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "bats",Space,Str "with",Space,Str "baby",Space,Str "faces",Space,Str "in",Space,Str "the",Space,Str "violet",Space,Str "light",Span ("",["lnum"],[]) [Str "380"]]] ,Div ("",[],[]) [Plain [Str "Whistled,",Space,Str "and",Space,Str "beat",Space,Str "their",Space,Str "wings"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "crawled",Space,Str "head",Space,Str "downward",Space,Str "down",Space,Str "a",Space,Str "blackened",Space,Str "wall"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "upside",Space,Str "down",Space,Str "in",Space,Str "air",Space,Str "were",Space,Str "towers"]] ,Div ("",[],[]) [Plain [Str "Tolling",Space,Str "reminiscent",Space,Str "bells,",Space,Str "that",Space,Str "kept",Space,Str "the",Space,Str "hours"]] ,Div ("",[],[]) [Plain [Str "And",Space,Str "voices",Space,Str "singing",Space,Str "out",Space,Str "of",Space,Str "empty",Space,Str "cisterns",Space,Str "and",Space,Str "exhausted",SoftBreak,Str "wells."]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "In",Space,Str "this",Space,Str "decayed",Space,Str "hole",Space,Str "among",Space,Str "the",Space,Str "mountains"]] ,Div ("",[],[]) [Plain [Str "In",Space,Str "the",Space,Str "faint",Space,Str "moonlight,",Space,Str "the",Space,Str "grass",Space,Str "is",Space,Str "singing"]] ,Div ("",[],[]) [Plain [Str "Over",Space,Str "the",Space,Str "tumbled",Space,Str "graves,",Space,Str "about",Space,Str "the",Space,Str "chapel"]] ,Div ("",[],[]) [Plain [Str "There",Space,Str "is",Space,Str "the",Space,Str "empty",Space,Str "chapel,",Space,Str "only",Space,Str "the",Space,Str "wind's",Space,Str "home."]] ,Div ("",[],[]) [Plain [Str "It",Space,Str "has",Space,Str "no",Space,Str "windows,",Space,Str "and",Space,Str "the",Space,Str "door",Space,Str "swings,",Span ("",["lnum"],[]) [Str "390"]]] ,Div ("",[],[]) [Plain [Str "Dry",Space,Str "bones",Space,Str "can",Space,Str "harm",Space,Str "no",Space,Str "one."]] ,Div ("",[],[]) [Plain [Str "Only",Space,Str "a",Space,Str "cock",Space,Str "stood",Space,Str "on",Space,Str "the",Space,Str "rooftree"]] ,Div ("",[],[]) [Plain [Str "Co",Space,Str "co",Space,Str "rico",Space,Str "co",Space,Str "co",Space,Str "rico"]] ,Div ("",[],[]) [Plain [Str "In",Space,Str "a",Space,Str "flash",Space,Str "of",Space,Str "lightning.",Space,Str "Then",Space,Str "a",Space,Str "damp",Space,Str "gust"]] ,Div ("",[],[]) [Plain [Str "Bringing",Space,Str "rain"]]] ,Div ("",["linegroup"],[]) [Div ("",[],[]) [Plain [Str "Ganga",Space,Str "was",Space,Str "sunken,",Space,Str "and",Space,Str "the",Space,Str "limp",Space,Str "leaves"]] ,Div ("",[],[]) [Plain [Str "Waited",Space,Str "for",Space,Str "rain,",Space,Str "while",Space,Str "the",Space,Str "black",Space,Str "clouds"]] ,Div ("",[],[]) [Plain [Str "Gathered",Space,Str "far",Space,Str "distant,",Space,Str "over",Space,Str "Himavant."]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "jungle",Space,Str "crouched,",Space,Str "humped",Space,Str "in",Space,Str "silence."]] ,Div ("",[],[]) [Plain [Str "Then",Space,Str "spoke",Space,Str "the",Space,Str "thunder",Span ("",["lnum"],[]) [Str "400"]]] ,Div ("",[],[]) [Plain [Str "DA"]] ,Div ("wasteland-content.xhtml#ln402",[],[]) [Plain [Span ("",[],[("lang","sa")]) [Str "Datta"],Str ":",Space,Str "what",Space,Str "have",Space,Str "we",Space,Str "given?",Note [Para [Link ("",[],[]) [Str "402."] ("#wasteland-content.xhtml#ln402",""),Space,Quoted DoubleQuote [Str "\"Datta,",Space,Str "dayadhvam,",Space,Str "damyata\""],Space,Str "(Give,",Space,Str "sympathize,",SoftBreak,Str "control).",Space,Str "The",Space,Str "fable",Space,Str "of",Space,Str "the",Space,Str "meaning",Space,Str "of",Space,Str "the",Space,Str "Thunder",Space,Str "is",Space,Str "found",Space,Str "in",Space,Str "the",SoftBreak,Str "Brihadaranyaka-Upanishad,",Space,Str "5,",Space,Str "1.",Space,Str "A",Space,Str "translation",Space,Str "is",Space,Str "found",Space,Str "in",Space,Str "Deussen's",SoftBreak,Str "Sechzig",Space,Str "Upanishads",Space,Str "des",Space,Str "Veda,",Space,Str "p.",Space,Str "489."]]]] ,Div ("",[],[]) [Plain [Str "My",Space,Str "friend,",Space,Str "blood",Space,Str "shaking",Space,Str "my",Space,Str "heart"]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "awful",Space,Str "daring",Space,Str "of",Space,Str "a",Space,Str "moment's",Space,Str "surrender"]] ,Div ("",[],[]) [Plain [Str "Which",Space,Str "an",Space,Str "age",Space,Str "of",Space,Str "prudence",Space,Str "can",Space,Str "never",Space,Str "retract"]] ,Div ("",[],[]) [Plain [Str "By",Space,Str "this,",Space,Str "and",Space,Str "this",Space,Str "only,",Space,Str "we",Space,Str "have",Space,Str "existed"]] ,Div ("",[],[]) [Plain [Str "Which",Space,Str "is",Space,Str "not",Space,Str "to",Space,Str "be",Space,Str "found",Space,Str "in",Space,Str "our",Space,Str "obituaries"]] ,Div ("wasteland-content.xhtml#ln408",[],[]) [Plain [Str "Or",Space,Str "in",Space,Str "memories",Space,Str "draped",Space,Str "by",Space,Str "the",Space,Str "beneficent",Space,Str "spider",Note [Para [Link ("",[],[]) [Str "408."] ("#wasteland-content.xhtml#ln408",""),Space,Str "Cf.",Space,Str "Webster,",Space,Str "The",Space,Str "White",Space,Str "Devil,",Space,Str "v.",Space,Str "vi:"],BlockQuote [Para [Str "\".",Space,Str ".",Space,Str ".",Space,Str "they'll",Space,Str "remarry",LineBreak,Str "Ere",Space,Str "the",Space,Str "worm",Space,Str "pierce",Space,Str "your",Space,Str "winding-sheet,",SoftBreak,Str "ere",Space,Str "the",Space,Str "spider",LineBreak,Str "Make",Space,Str "a",Space,Str "thin",Space,Str "curtain",Space,Str "for",Space,Str "your",Space,Str "epitaphs.\""]]]]] ,Div ("",[],[]) [Plain [Str "Or",Space,Str "under",Space,Str "seals",Space,Str "broken",Space,Str "by",Space,Str "the",Space,Str "lean",Space,Str "solicitor"]] ,Div ("",[],[]) [Plain [Str "In",Space,Str "our",Space,Str "empty",Space,Str "rooms",Span ("",["lnum"],[]) [Str "410"]]] ,Div ("",[],[]) [Plain [Str "DA"]] ,Div ("wasteland-content.xhtml#ln412",[],[]) [Plain [Span ("",[],[("lang","sa")]) [Str "Dayadhvam"],Str ":",Space,Str "I",Space,Str "have",Space,Str "heard",Space,Str "the",Space,Str "key",Note [Para [Link ("",[],[]) [Str "412."] ("#wasteland-content.xhtml#ln412",""),Space,Str "Cf.",Space,Str "Inferno,",Space,Str "xxxiii.",Space,Str "46:"],BlockQuote [Para [Str "\"ed",Space,Str "io",Space,Str "sentii",Space,Str "chiavar",Space,Str "l'uscio",Space,Str "di",Space,Str "sotto",LineBreak,Str "all'orribile",Space,Str "torre.\""]],Para [Str "Also",Space,Str "F.",Space,Str "H.",Space,Str "Bradley,",Space,Str "Appearance",Space,Str "and",Space,Str "Reality,",Space,Str "p.",Space,Str "346:"],BlockQuote [Para [Str "\"My",Space,Str "external",Space,Str "sensations",Space,Str "are",Space,Str "no",Space,Str "less",Space,Str "private",Space,Str "to",Space,Str "myself",Space,Str "than",Space,Str "are",Space,Str "my",SoftBreak,Str "thoughts",Space,Str "or",Space,Str "my",Space,Str "feelings.",Space,Str "In",Space,Str "either",Space,Str "case",Space,Str "my",Space,Str "experience",Space,Str "falls",Space,Str "within",SoftBreak,Str "my",Space,Str "own",Space,Str "circle,",Space,Str "a",Space,Str "circle",Space,Str "closed",Space,Str "on",Space,Str "the",Space,Str "outside;",Space,Str "and,",Space,Str "with",Space,Str "all",Space,Str "its",SoftBreak,Str "elements",Space,Str "alike,",Space,Str "every",Space,Str "sphere",Space,Str "is",Space,Str "opaque",Space,Str "to",Space,Str "the",Space,Str "others",Space,Str "which",Space,Str "surround",SoftBreak,Str "it.",Space,Str ".",Space,Str ".",Space,Str ".",Space,Str "In",Space,Str "brief,",Space,Str "regarded",Space,Str "as",Space,Str "an",Space,Str "existence",Space,Str "which",Space,Str "appears",Space,Str "in",Space,Str "a",SoftBreak,Str "soul,",Space,Str "the",Space,Str "whole",Space,Str "world",Space,Str "for",Space,Str "each",Space,Str "is",Space,Str "peculiar",Space,Str "and",Space,Str "private",Space,Str "to",Space,Str "that",SoftBreak,Str "soul.\""]]]]] ,Div ("",[],[]) [Plain [Str "Turn",Space,Str "in",Space,Str "the",Space,Str "door",Space,Str "once",Space,Str "and",Space,Str "turn",Space,Str "once",Space,Str "only"]] ,Div ("",[],[]) [Plain [Str "We",Space,Str "think",Space,Str "of",Space,Str "the",Space,Str "key,",Space,Str "each",Space,Str "in",Space,Str "his",Space,Str "prison"]] ,Div ("",[],[]) [Plain [Str "Thinking",Space,Str "of",Space,Str "the",Space,Str "key,",Space,Str "each",Space,Str "confirms",Space,Str "a",Space,Str "prison"]] ,Div ("",[],[]) [Plain [Str "Only",Space,Str "at",Space,Str "nightfall,",Space,Str "aetherial",Space,Str "rumours"]] ,Div ("",[],[]) [Plain [Str "Revive",Space,Str "for",Space,Str "a",Space,Str "moment",Space,Str "a",Space,Str "broken",Space,Str "Coriolanus"]] ,Div ("",[],[]) [Plain [Str "DA"]] ,Div ("",[],[]) [Plain [Span ("",[],[("lang","sa")]) [Str "Damyata"],Str ":",Space,Str "The",Space,Str "boat",Space,Str "responded"]] ,Div ("",[],[]) [Plain [Str "Gaily,",Space,Str "to",Space,Str "the",Space,Str "hand",Space,Str "expert",Space,Str "with",Space,Str "sail",Space,Str "and",Space,Str "oar",Span ("",["lnum"],[]) [Str "420"]]] ,Div ("",[],[]) [Plain [Str "The",Space,Str "sea",Space,Str "was",Space,Str "calm,",Space,Str "your",Space,Str "heart",Space,Str "would",Space,Str "have",Space,Str "responded"]] ,Div ("",[],[]) [Plain [Str "Gaily,",Space,Str "when",Space,Str "invited,",Space,Str "beating",Space,Str "obedient"]] ,Div ("",[],[]) [Plain [Str "To",Space,Str "controlling",Space,Str "hands"]]] ,Div ("",["linegroup"],[]) [Div ("",["indent"],[]) [Plain [Str "I",Space,Str "sat",Space,Str "upon",Space,Str "the",Space,Str "shore"]] ,Div ("wasteland-content.xhtml#ln425",[],[]) [Plain [Str "Fishing,",Space,Str "with",Space,Str "the",Space,Str "arid",Space,Str "plain",Space,Str "behind",Space,Str "me",Note [Para [Link ("",[],[]) [Str "425."] ("#wasteland-content.xhtml#ln425",""),Space,Str "V.",Space,Str "Weston,",Space,Str "From",Space,Str "Ritual",Space,Str "to",Space,Str "Romance;",Space,Str "chapter",Space,Str "on",Space,Str "the",Space,Str "Fisher",Space,Str "King."]]]] ,Div ("",[],[]) [Plain [Str "Shall",Space,Str "I",Space,Str "at",Space,Str "least",Space,Str "set",Space,Str "my",Space,Str "lands",Space,Str "in",Space,Str "order?"]] ,Div ("",[],[]) [Plain [Str "London",Space,Str "Bridge",Space,Str "is",Space,Str "falling",Space,Str "down",Space,Str "falling",Space,Str "down",Space,Str "falling",Space,Str "down"]] ,Div ("wasteland-content.xhtml#ln428",[],[("lang","it")]) [Plain [Emph [Str "Poi",Space,Str "s'ascose",Space,Str "nel",Space,Str "foco",Space,Str "che",Space,Str "gli",Space,Str "affina"],SoftBreak,Note [Para [Link ("",[],[]) [Str "428."] ("#wasteland-content.xhtml#ln428",""),Space,Str "V.",Space,Str "Purgatorio,",Space,Str "xxvi.",Space,Str "148."],BlockQuote [Para [Str "\"'Ara",Space,Str "vos",Space,Str "prec",Space,Str "per",Space,Str "aquella",Space,Str "valor",LineBreak,Str "'que",Space,Str "vos",Space,Str "guida",Space,Str "al",Space,Str "som",Space,Str "de",SoftBreak,Str "l'escalina,",LineBreak,Str "'sovegna",Space,Str "vos",Space,Str "a",Space,Str "temps",Space,Str "de",Space,Str "ma",Space,Str "dolor.'",LineBreak,Str "Poi",SoftBreak,Str "s'ascose",Space,Str "nel",Space,Str "foco",Space,Str "che",Space,Str "gli",Space,Str "affina.\""]]]]] ,Div ("wasteland-content.xhtml#ln429",[],[]) [Plain [Span ("",[],[("lang","it")]) [SoftBreak,Emph [Str "Quando",Space,Str "fiam",Space,Str "ceu",Space,Str "chelidon"],SoftBreak],Space,Str "-",Space,Str "O",Space,Str "swallow",Space,Str "swallow",Note [Para [Link ("",[],[]) [Str "429."] ("#wasteland-content.xhtml#ln429",""),Space,Str "V.",Space,Str "Pervigilium",Space,Str "Veneris.",Space,Str "Cf.",Space,Str "Philomela",Space,Str "in",Space,Str "Parts",Space,Str "II",Space,Str "and",Space,Str "III."]]]] ,Div ("wasteland-content.xhtml#ln430",[],[("lang","fr")]) [Plain [Emph [Str "Le",Space,Str "Prince",Space,Str "d'Aquitaine",Space,Str "a",Space,Str "la",Space,Str "tour",Space,Str "abolie"],SoftBreak,Note [Para [Link ("",[],[]) [Str "430."] ("#wasteland-content.xhtml#ln430",""),Space,Str "V.",Space,Str "Gerard",Space,Str "de",Space,Str "Nerval,",Space,Str "Sonnet",Space,Str "El",Space,Str "Desdichado."]],SoftBreak,Span ("",["lnum"],[]) [Str "430"]]] ,Div ("",[],[]) [Plain [Str "These",Space,Str "fragments",Space,Str "I",Space,Str "have",Space,Str "shored",Space,Str "against",Space,Str "my",Space,Str "ruins"]] ,Div ("wasteland-content.xhtml#ln432",[],[]) [Plain [Str "Why",Space,Str "then",Space,Str "Ile",Space,Str "fit",Space,Str "you.",Space,Str "Hieronymo's",Space,Str "mad",Space,Str "againe.",Note [Para [Link ("",[],[]) [Str "432."] ("#wasteland-content.xhtml#ln432",""),Space,Str "V.",Space,Str "Kyd's",Space,Str "Spanish",Space,Str "Tragedy."]]]] ,Div ("",[],[("lang","sa")]) [Plain [Str "Datta.",Space,Str "Dayadhvam.",Space,Str "Damyata."]] ,Div ("wasteland-content.xhtml#ln434",["linegroup","indent"],[]) [Plain [Span ("",[],[("lang","sa")]) [Str "Shantih",Space,Str "shantih",Space,Str "shantih",Note [Para [Link ("",[],[]) [Str "434."] ("#wasteland-content.xhtml#ln434",""),Space,Str "Shantih.",Space,Str "Repeated",Space,Str "as",Space,Str "here,",Space,Str "a",Space,Str "formal",Space,Str "ending",Space,Str "to",Space,Str "an",Space,Str "Upanishad.",Space,Str "'The",SoftBreak,Str "Peace",Space,Str "which",Space,Str "passeth",Space,Str "understanding'",Space,Str "is",Space,Str "a",Space,Str "feeble",Space,Str "translation",Space,Str "of",Space,Str "the",SoftBreak,Str "content",Space,Str "of",Space,Str "this",Space,Str "word."]],SoftBreak]]]]]] ,Div ("wasteland-content.xhtml#backmatter",["section"],[("type","backmatter")]) [Div ("wasteland-content.xhtml#rearnotes",["section"],[("type","rearnotes")]) [Header 2 ("",[],[]) [Str "NOTES",Space,Str "ON",Space,Str "\"THE",Space,Str "WASTE",Space,Str "LAND\""] ,Para [Str "Not",Space,Str "only",Space,Str "the",Space,Str "title,",Space,Str "but",Space,Str "the",Space,Str "plan",Space,Str "and",Space,Str "a",Space,Str "good",Space,Str "deal",Space,Str "of",Space,Str "the",Space,Str "incidental",Space,Str "symbolism",Space,Str "of",SoftBreak,Str "the",Space,Str "poem",Space,Str "were",Space,Str "suggested",Space,Str "by",Space,Str "Miss",Space,Str "Jessie",Space,Str "L.",Space,Str "Weston's",Space,Str "book",Space,Str "on",Space,Str "the",Space,Str "Grail",Space,Str "legend:",SoftBreak,Str "From",Space,Str "Ritual",Space,Str "to",Space,Str "Romance"] ,Para [Str "Indeed,",Space,Str "so",Space,Str "deeply",Space,Str "am",Space,Str "I",Space,Str "indebted,",Space,Str "Miss",Space,Str "Weston's",Space,Str "book",Space,Str "will",Space,Str "elucidate",Space,Str "the",SoftBreak,Str "difficulties",Space,Str "of",Space,Str "the",Space,Str "poem",Space,Str "much",Space,Str "better",Space,Str "than",Space,Str "my",Space,Str "notes",Space,Str "can",Space,Str "do;",Space,Str "and",Space,Str "I",Space,Str "recommend",Space,Str "it",SoftBreak,Str "(apart",Space,Str "from",Space,Str "the",Space,Str "great",Space,Str "interest",Space,Str "of",Space,Str "the",Space,Str "book",Space,Str "itself)",Space,Str "to",Space,Str "any",Space,Str "who",Space,Str "think",Space,Str "such",SoftBreak,Str "elucidation",Space,Str "of",Space,Str "the",Space,Str "poem",Space,Str "worth",Space,Str "the",Space,Str "trouble.",Space,Str "To",Space,Str "another",Space,Str "work",Space,Str "of",Space,Str "anthropology",Space,Str "I",Space,Str "am",SoftBreak,Str "indebted",Space,Str "in",Space,Str "general,",Space,Str "one",Space,Str "which",Space,Str "has",Space,Str "influenced",Space,Str "our",Space,Str "generation",Space,Str "profoundly;",Space,Str "I",Space,Str "mean",SoftBreak,Str "The",Space,Str "Golden",Space,Str "Bough;",Space,Str "I",Space,Str "have",Space,Str "used",Space,Str "especially",Space,Str "the",Space,Str "two",Space,Str "volumes",Space,Str "Adonis,",Space,Str "Attis,",Space,Str "Osiris.",SoftBreak,Str "Anyone",Space,Str "who",Space,Str "is",Space,Str "acquainted",Space,Str "with",Space,Str "these",Space,Str "works",Space,Str "will",Space,Str "immediately",Space,Str "recognise",Space,Str "in",Space,Str "the",Space,Str "poem",SoftBreak,Str "certain",Space,Str "references",Space,Str "to",Space,Str "vegetation",Space,Str "ceremonies."] ,Div ("",["section"],[]) [Header 3 ("",[],[]) [Str "I.",Space,Str "THE",Space,Str "BURIAL",Space,Str "OF",Space,Str "THE",Space,Str "DEAD"]] ,Div ("",["section"],[]) [Header 3 ("",[],[]) [Str "II.",Space,Str "A",Space,Str "GAME",Space,Str "OF",Space,Str "CHESS"]] ,Div ("",["section"],[]) [Header 3 ("",[],[]) [Str "III.",Space,Str "THE",Space,Str "FIRE",Space,Str "SERMON"]] ,Div ("",["section"],[]) [Header 3 ("",[],[]) [Str "V.",Space,Str "WHAT",Space,Str "THE",Space,Str "THUNDER",Space,Str "SAID"] ,Para [Str "In",Space,Str "the",Space,Str "first",Space,Str "part",Space,Str "of",Space,Str "Part",Space,Str "V",Space,Str "three",Space,Str "themes",Space,Str "are",Space,Str "employed:",Space,Str "the",Space,Str "journey",Space,Str "to",Space,Str "Emmaus,",SoftBreak,Str "the",Space,Str "approach",Space,Str "to",Space,Str "the",Space,Str "Chapel",Space,Str "Perilous",Space,Str "(see",Space,Str "Miss",Space,Str "Weston's",Space,Str "book)",Space,Str "and",Space,Str "the",Space,Str "present",SoftBreak,Str "decay",Space,Str "of",Space,Str "eastern",Space,Str "Europe."]]]]] pandoc-2.9.2.1/test/fb2/000077500000000000000000000000001363630463000145635ustar00rootroot00000000000000pandoc-2.9.2.1/test/fb2/basic.fb2000066400000000000000000000025211363630463000162370ustar00rootroot00000000000000 unrecognised pandoc <p />

    <p>Top-level title</p>
    <p>Section</p>
    <p>Subsection</p>

    This emphasized strong verbatim markdown. See this link.

    Ordered list:

    1. one

    2. two

    3. three

    Blockquote is for citatons.

    Code

    block

    is

    for

    code.

    Strikeout is Pandoc’s extension. Superscript and subscripts too: H2O is a liquid[1]. 210 is 1024.

    Math is another Pandoc extension: E = m c^2.

    <p>1</p>

    Sometimes.

    pandoc-2.9.2.1/test/fb2/basic.markdown000066400000000000000000000006641363630463000174160ustar00rootroot00000000000000# Top-level title ## Section ### Subsection This *emphasized* **strong** `verbatim` markdown. See this [link](http://example.com/). Ordered list: 1. one 1. two 1. three > Blockquote > is > for > citatons. Code block is for code. ~~Strikeout~~ is Pandoc's extension. Superscript and subscripts too: H~2~O is a liquid[^1]. 2^10^ is 1024. Math is another Pandoc extension: $E = m c^2$. [^1]: Sometimes. pandoc-2.9.2.1/test/fb2/images-embedded.fb2000066400000000000000000000136031363630463000201550ustar00rootroot00000000000000 unrecognisedpandoc<p />
    This image was embedded using data URI scheme

    This image was embedded using data URI scheme

    iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAIAAADbtmxLAAABmGlDQ1BpY2MAAHjapdG/axMBGMbxTy4tldJSwSAiHW4ootKCqIOrVShIkRIrJNUluUvaQi4Nd1dEXAQHF4cOXVRcLOLirJv4BygIggqCi7sUBRcpcbiDgtBBfOGF5/315eV9qR7qRUk2EpL087S+MB82mivh2BeBcUcddrwVZYOLS0uLDrRfH1Xgw1wvSjL/ZpNxJ4uohFiKBmlOZYC7t/JBTmUXtWitFROMYDZtNFcIzqDWLvRl1FYL3UAtXa5fIughXC30A4TtQr9AGK2lCcFbzMRJPybYxWScxDFVGE16m1G5ZwUTnf71aziPaXUsYB4h2tjEOnrIMVfG/QJyAC/GtKvYKFlRqQe4jbTkrGKtZM+WvZvI0CnjbtnfKb1XMtBoroR//yzrnjtbbDRxhdFvw+HP04w9Zu/+cPj76XC4t0P1M2+29+c3trnwnerWfm7mCVP3ePl6P9d+xqstjn0dtNIWitMG3S4/njPZ5Mh7xm/8b734Z1m384nlOyy+4+EjTnSZunkyzsP1ft5J+63eKWT1hXn4AzDofghlJQBJAAAACXBIWXMAAAsSAAALEgHS3X78AAACInpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjahVRJtiQhCNx7ijpCMIhyHNPU9/oGffxeaNY3p/5VC5IAQkAhtL9/evh8Pp+PiwaNKZubAYDuugNcMH4ZIAN6A6ATo68kdAA8VQ1DkoEIq2EILiBiALIQDTISWvz3SSQNJHwnilWTGgC/ZMSa1Fc8TDznZH4rgWOtRrwQKGh8VyNZ8bAY9Ccj1EGXUI0JwNE3n3itxrzis7Sq1TgBiNMwesKo1TjfcdZqXBaiWRpLrcbbEjBLU63G9QGv1bit+CSKWi2W8+3QLDluF/wIBgBEaNQWNSjFzHj7/zgOP92EBap3v2BqlNi2pEbGVi0yBNwkcRPiTVxIJDVLRgJxEXGLRgAgLBASkiIIwlIEYgyBJCnC4lKExN6yGSW6SD961nvvQaxhBZq4rbptbX1HlJPSokN37t9m9957a5utDux7Xwk06WnWWOJ2yqgkPqW4e2urnmNPK0HMtq0Hkkc7ZbSXUleHiNMIoGy7r/ppEwAIV+Amv1rS/3ghgCz23ns+m/HrASdJMWT2chsBiS2z73fcLGd+3E8hZ05nQ81zzOW2n8Saj1VzwTMHZ+g6xcPg5ozLASM7Z/hl9kaPnPFQmrcyvm8lFKbrAQwAoegtYFy34rEXRSFP/qEo4tmQ0wywlwPyG5G/BJQXvF5wOR4k7m9HjlupR/y6Mp42RjhWxm+Oh99BvMrwD3UCiGvkpxuRAAAACXZwQWcAAAAwAAAAIACELJ4GAAALGklEQVRYw11YW48dV1b+1tq7qs6t+/TldPsSx3bbcRwncWY0A4LMCOYFXpgHJCR4QvwAnpAQj/wB/gR/ACR4QUKDECMUEjLOZew4zsRxuu122+52n9Pnfuqy9/p4qNNtD1tLpVKpap/vrMu31rdl/nAgIjSpF0kAJAEHGJwAAIQheqeARVqomCQZGUkjSYLmTAyAkCJiESRVNYQAaL3h8k3SzPj6MjEzsr7SqyoAcRABQItRVZ14kqifmNEkTZNiUZiZ934xm4WE3mva8GYGAA5UJ8YYIyCipiKk1ZuTBAhQBGZQFRKvTAgBaQBIeOekBqpa+0gBxFgAlmhqhixJzUKMRVEUx/3RWmel3z9xzrVX2+tuRb3WnrDKVFUEgKlCVWI055WMZ76AieipX0AYzYwQUZqZqJD0tKCqFJAxhKiqSZKooirj06fPMt/odlezhngFYar+0e7jxWLR6/Vc7ubzpNnM4BlDSDLvvQ8hnAYFIlCFRUDEjASgIGFGEcBIoSrMCFAVhgiKTxJPkgJVSeBBhKqaTCb5Ip4cD/efPP/g9q2soSvdTp7nAuv2Vk/2BoHFyWgRYxVjbDezRiMDMicNxqCqqhIZVZxZVK3zaRkgXYaMdeDMoMoapSpo8GSE1t6ihaCqPs3WV/VwPpxOp8fHRw++cUmq7XYzSbLV1W5vu3fw7Emn0xwcD+ZzF8vKQtlI09R7J6SXOldgEDEwAmdguMyYV/lEVWEkARExEkoVBxHWxeUSFefK6fTJ48dlme/sXN7a3vjVnf8NIQ6Hk1ajOZ+Nf/3ZZ9Uij0V+fedqM0v2nz5ut7LtCz1GC2WVJqmry1KgZKLqlbo0qLPanJrAVKgSRX/LPElxQF0smiDy6Ojo7pd3qXLjxo2r1y8fnwxORpN8Nt/u9fLF5OTFcRVKDWE0HJZF2O71IsOzZ0+e7D3tdDo7168miU9SJ6IhBIGD2KuKMpHaPwoFXkXq9Aak+/u//TsFRCEgEAljjFtbW+UiHPb765sbJ8M+Y9HtdAbDgWs0pSge7O1u9Tar+Xwwmy0m03I0XpgbjydZlk2n43armaVOJIqQDEIIIKBABK/iBYuAnT4HwJrx1CkhRosAIRBBo93ImunO25dv/eBmb231+rUrRTH/we1ba+udhw/uSoZGOzt38Vx/1D85folYLhazqpg3mj5ruNWVTqPhxcEsAOa8ihJiAhMEQVChCgXmhKcWT41O6IGq5kCjqPOTk9F4PF7rrlvKRtQHjx/d2Lk+mgy+evrwhzs3Xuzv0tmbb5z79LNPzm9utdorEoNkzPPx+x+812o10tR7DyCqUwCMQUUIUqm2JOolbb/GjmbwoDGS9GZBnYM4IS0E5+TChS1Nk7Z28uPhW29euvPRf2fN1pdffNE1vXnzxsGgf/B036duvbce5tXG2uZkfnL79q3t8+sA4Rws0CJIAOI8LADUusLqeC0rTl4RJgyg1Fe+fB7yUrxTQoRWVoExbWTjl6P5fD7dO6yIF4P+bDK/92T3hzffLWGffPq5c7K1uf7hj3+PrLqbqxffuDQc9VdWVtY31846l1CFqJlalk8gr/UxAIzLLrZkbVK5WHgHhFIYmS+K6ZhFkY/Hi/5gPOhLUzvnu73L59KVxjyffXH314vFIsbYaTXeuXFtcHx4sPd9S+3l84PMwTsyBrMgQhUIgrEUREWUU4O8uhcLdW45BsWpiVRgoSyYTxYn/ee7e9/f/2Z8eOwYm8pko4EktDvpzOZXL5z3Dd3b2/vi/r1G0795cat//GxrvWPTaW+lvdVdXUkTCaVagAUrF6wKVSAGxIAQJEZYiVjSSrBSq4SVWCFWKINYpQzK4FHmhqjOgbF/+Hx0dJyXtv/46ZuXtrrd1V6ruRhNJqPZlfbq5999/Dt/+LNf/tf/nEyH585t73338OrVS3E8Pnl+MJnOi7i4fG1no7cJ79Sh7vPISwCwZYCERN3TjQCFZFxGE3FJV97iXCGIKBZlcyV799zbIdhsNnvyaP/x3r6Z+Tx02i6Kv/7WO8bFX/3ZT37xyZ2yf9Ta2n73vZ1vf/Xlv338+R/97MOVjc63X99fbXduvfuONBJTAlDxiBGAWKQZSVn2BZ4lDYwAlDQzkF7LEmYQyUSTdkvTzNuiZLz25vlOt3N0cPTwxcH7W2/9+NbN0Uef3Pvs6w/+9KcraePb3+z+6NKF+cHLvvN/89d/2SQsTSdr3clwMh0M1nvr0ki4yI0iQgBSu8dYOwxm4BIEyTrTEY1mHrNpZD3KiMIhlLEokljKWueyytsX3ji/2rqzuzt4Obh95eLd3+ztf7Xv1e2sp8OXw73h8Od//FNNtIh5Rqx322tZWoWimo1c7hQi4mgBxtPpA3VBkXQ0M8BOh5VoS3D8j3+CACqsR4EYzUyIalqaCqCxyIsB/uFf//lPfv93R/2jf/z4m0Zmf/6j977af/wXH/7B6ubK+dVV2+g6D0Yzg4OoA0kRrYoiEXcarFfzq7IueJKsYZktAXl7MRURiARakiQ08xAACHCGybj/i3v3ZoNyDa3/vPPg59cuf/fi4GKjPRmH99cuHT5+Ouv3ipV5b2ve2lxRdfPJLMa4ttKxEEl68ZH52bh4xkDhbLI2OYNiBpL+cHfmnKvfq2nf+eWXi2L+6PgQh42nk+GVc1uf7h9+f1T8ZOftXz76flu7L07Gs7FttCYvknH74PiDt24kjWa/PyvLElupJ2OMZFXBROS3hnoz8sxBS9+YYemhrw9L55xCFCYSalgR7Ehy/+DFnChC0kq3m37j9nr2L7uPnrw8UBb//t2emGsnybW8OW9M3uhc+fbprNWW0Qwh6MwKAQGEEIhlpccYSVLl/wkPM4unqEj6+7MyUZeIpj6pRxOJjDGO5qNpbNLsWTiSyt/dex5mR1Ui+9Phxe72w+moI1mmViSbG7xQNNpHlrhKBnkkcbIwi5WZGegpgMYYq6oCoKoiamZAfB1TWCoq+o/2DxzEiU/TNHXeBCGEqqqKGKGIDPOFTedDY8x8M5HEIRlXi5D7TtrsVpv5cDbZyB69eL7a6IjIfD6NNBHJy1A3tcRJCOV4Nmq1OiqZUgFznonzZVWIECoqXjWpijJGevVipFkZqipYKt6JE1XXjj5tJHk+n41jptrtrifqptNpq9WaTMcqyXon9VlqxHgyi5GjWa6qeZ5DJcsyM6OomVm04WQwnY3XIGkCQGEhzktjORoN8yp3zqVpI0lSUNXB59OhiChE1RdaSK0XSTNqoSSbmQe8F8Bi4jRN00WRr3TY7jSzJAEAQZIkCBUQo1aqmtSTHmJkrGApQtu7lodKKXDQGCyaaJo4mgeAEEPM667sd59/dyoQpUYDUQBCpZiqqmrNIgCEIKlgWS1OTl4OYl9gRoo40VgrRhGpP0G9qMZgFieTKgaKOFXQgolaCE7MBOrgnEO0aKWfLI7rWRaAnC4ATv3ZpiLiVQFYoCmzLAuhHI5eMsInIBkNUXTZUAERAVlvFSrziZoZFxOaaK3HAJOw1K9ArQXKMl/MJ7Ld6Z0l/1m86qMCGEXEe7+EW0+g4iFljCHxLQGcWq0NUp/Ur52K+Vc3ohrrFrs8PzhlJgBiKt7MYoxVKIpiIRudtdc9QSxheTPnHIAYCaNzTlXNzKg+YWRQpgKQRjGIB8Pyb0BJnv1ikFoYOwBEBKAEqFQlaRalFtqkc440n3IZrNp7Z4LExMpgy4SAVBaFVp9zhBCIaBQnDqhPSQgKIAJPksal+AG8ogpRnQCIUVRFoSEE9QIaLNCpqiPFQUK0/wPxadi/ncvxsAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMS0wMi0yOFQwMjo1NTowMiswMTowMGbLlncAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTEtMDItMjhUMDI6NTU6MDIrMDE6MDAXli7LAAAAEXRFWHRqcGVnOmNvbG9yc3BhY2UAMix1VZ8AAAAgdEVYdGpwZWc6c2FtcGxpbmctZmFjdG9yADF4MSwxeDEsMXgx6ZX8cAAAAABJRU5ErkJggg==
    pandoc-2.9.2.1/test/fb2/images-embedded.html000066400000000000000000000136321363630463000204520ustar00rootroot00000000000000
    This image was embedded using data URI scheme

    This image was embedded using data URI scheme

    pandoc-2.9.2.1/test/fb2/images.fb2000066400000000000000000006343121363630463000164340ustar00rootroot00000000000000 unrecognisedpandoc<p />

    This example test if Pandoc correctly embeds images into FictionBook.

    Small inline image: alt text a small PNG image.

    Paragraph image:

    alt text of a big JPEG image

    alt text of a big missing image

    A missing image inline: alt text of missing image.

    /9j/4AAQSkZJRgABAQEASABIAAD/4QOoRXhpZgAATU0AKgAAAAgAFgD+AAQAAAABAAAAAQEPAAIAAAAUAAABFgEQAAIAAAAUAAABKgESAAMAAAABAAEAAAExAAIAAAAdAAABPgEyAAIAAAAUAAABXEdGAAkAAAABAAAAAkdJAAkAAAABAAAAKIdpAAQAAAABAAACXMYSAAEAAAAEAQEAAMYTAAEAAAAEAQEAAMYUAAIAAAAMAAABcMYhAAoAAAAJAAABfMYiAAoAAAAJAAABxMYnAAUAAAADAAACDMYoAAUAAAADAAACJMYqAAoAAAABAAACPMYrAAUAAAABAAACRMYsAAUAAAABAAACTMYuAAUAAAABAAACVMZaAAMAAAABABEAAMZbAAMAAAABABUAAAAAAABQRU5UQVggICAgICAgICAgICAgAFBFTlRBWCBLMjBEICAgICAgICAAZGFya3RhYmxlIDAuNy4xKzkxM35nYTA5MzllYQAAMjAxMTowMjowNiAwNzoyOToxNgBQRU5UQVggSzIwRAAAAZM/AAEAAP//NuAAAQAA///jlgABAAD//2viAAEAAAABh0EAAQAAAABNLwABAAD//+62AAEAAAAAKd8AAQAAAAFHQAABAAAAASNbAAEAAP//py8AAQAA///Z7gABAAD//4X3AAEAAAABWGsAAQAAAAAZVgABAAD//9qsAAEAAAAAUBMAAQAAAACr2QABAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAEAAAABdAAAAQAAAAEAAAABAAAAAWX//4AAAAEAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAVgpoABQAAAAEAAANegp0ABQAAAAEAAANmiCIAAwAAAAEAAQAAiCcAAwAAAAEAyAAAkAMAAgAAABQAAANukAQAAgAAABQAAAOCkgQACgAAAAEAAAOWkgcAAwAAAAEABQAAkgkAAwAAAAEAEAAAkgoABQAAAAEAAAOeoAEAAwAAAAEAAQAAohcAAwAAAAEAAgAApAEAAwAAAAEAAAAApAIAAwAAAAEAAQAApAMAAwAAAAEAAAAApAUAAwAAAAEAhwAApAYAAwAAAAEAAAAApAgAAwAAAAEAAAAApAkAAwAAAAEAAAAApAoAAwAAAAEAAAAApAwAAwAAAAEAAwAAAAAAAAAAAAEAAAAyAAAAHAAAAAoyMDExOjAyOjA2IDA3OjI5OjE2ADIwMTE6MDI6MDYgMDc6Mjk6MTYAAAAACgAAAAoAAP/iAxhJQ0NfUFJPRklMRQABAQAAAwhsY21zBCAAAG1udHJSR0IgWFlaIAfbAAIACgAWABAAGmFjc3BBUFBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtbGNtcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADWRlc2MAAAEgAAAAUGNwcnQAAAFwAAAAgHd0cHQAAAHwAAAAFGNoYWQAAAIEAAAALHJYWVoAAAIwAAAAFGJYWVoAAAJEAAAAFGdYWVoAAAJYAAAAFHJUUkMAAAJsAAAAIGdUUkMAAAKMAAAAIGJUUkMAAAKsAAAAIGNocm0AAALMAAAAJGRtbmQAAALwAAAADWRtZGQAAAMAAAAABW1sdWMAAAAAAAAAAQAAAAxlblVTAAAANAAAABwAUgAAAEcAAABCAAAAIAAAAGIAAAB1AAAAaQAAAGwAAAB0AAAALQAAAGkAAABuAAAAAAAAbWx1YwAAAAAAAAABAAAADGVuVVMAAABkAAAAHABOAAAAbwAAACAAAABjAAAAbwAAAHAAAAB5AAAAcgAAAGkAAABnAAAAaAAAAHQAAAAsAAAAIAAAAHUAAABzAAAAZQAAACAAAABmAAAAcgAAAGUAAABlAAAAbAAAAHkAAAAAAABYWVogAAAAAAAA9tYAAQAAAADTLXNmMzIAAAAAAAEMSgAABeP///MqAAAHmwAA/Yf///ui///9owAAA9gAAMCUWFlaIAAAAAAAAG+UAAA47gAAA5BYWVogAAAAAAAAJJ0AAA+DAAC2vlhZWiAAAAAAAABipQAAt5AAABjecGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW3BhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbY2hybQAAAAAAAwAAAACj1wAAVHsAAEzNAACZmgAAJmYAAA9cKGR0IGludGVybmFsKQAAAHNSR0IAAAAA/9sAQwABAQEBAQEBAQEBAQEBAgIDAgICAgIEAwMCAwUEBQUFBAQEBQYHBgUFBwYEBAYJBgcICAgICAUGCQoJCAoHCAgI/9sAQwEBAQECAgIEAgIECAUEBQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI/8AAEQgBqQKAAwERAAIRAQMRAf/EAB8AAAEDBQEBAQAAAAAAAAAAAAMCBAgAAQUGBwkKC//EAFQQAAIBAwMCAwUFBQUFAwoCCwECAwQFEQAGBxIhCBMxFCJBUWEJFTJxgSORobHBFjNCctEkNFJi8BeC4QoYJUNTc5KywvE1Y4Oi0iZUZDZEhIWj/8QAHQEAAgMBAQEBAQAAAAAAAAAAAQIAAwQFBgcICf/EAEQRAAEDAgQEAwYEBQMDBAICAwEAAhEDIQQSMUEFIlFhEzJxBhSBkaHwQrHB0RUjUuHxBzNiJHKSFkOCojRTCLLCY+L/2gAMAwEAAhEDEQA/APstdMAYBGvaZl9gY610gKfiDqFyh0Suj1wdAPQSeg9sDTZ0UoIfj6aGZSEroXGMaGYqEqukfIamdAqukfLRBUVwo+mdEuQlW6BnOo5ygVigP56mdLN1foHx0MyEKwQfHTBycOsq6BjGiHKFUEHx1JCiuFAOpITKgoHpjU9EJVdPp8DqI5tlXSPTGjKit0D11M0KFW6fn30WvKRW6e2caBPRMNFbpPf/AKzohyhCSVyfgdSUQFfpwfTRzKQk4+HbUzJFWP01MyaEkJnAwM+mmzoR1TWkqIK6miq6aRZYXGVKnI9cEfoQR+mmJIMFAshGIAYKSOsjOPpqZ+igburlcH4Z0MyMFJI/XULoUhJ6RnONNmQhJ6PXvpsxUI3SShH11A5CLKxUkYI9dHOpEJJXIGc6mfooAd0hkPwBOi1yI7pJUjOiHqEJJBz27H8tHOmISCudTOEggWSSnft2GjnvdEgJJHx7euiHlQJBUYxqB+6m6Gy4+ujKASCv5HRzJtEgp2ONQFTdIKnv6Y0wejZIIyMdz+ujnUkpDLj6agegEMqPkM6bNsiEMr8vT56mcI6pBHzGiCgUIocakqQhMv076aUShlT31JSpBUdxjRzbowhlPl30Q5SEIrnUzKQhMpGmDghCEyE9sZ0A9EJDJ8x30cwUIQmQ57DOmlQITIO/bRLiigMgPqMaIcpKEyYyQO2mD+qiAy/IHvoZkShsnzAB0S9QlBK/D4fXT5+qhQmXPcAk6AepKCykg4zps6KC6egPcabOiCEBk7kgfu0Q5QCUFkxnGjmTaXQGX176YPlKTKAynHV302aNUSEArkjI0c/RAgILDue2nDksILKB37Y0Q9RAZcjP9NMH9VCDupxOpx6d9eAlVNch9B0C5WJXR+ulLkFboP002ZQFX6D20ZRV+jUkKEXVdHbuDj4HQDglVdGPj/DTAhMVXRqSgrFPqSdSZQ0VBPTPb56kpQOqv0DH11ApZV0DRlNFlYL2ORg6gKkjQKug4+B0Q5AC11fo7/TUzFPKt0evw1MyVV0Zz8NEORMJJXGpnSgXsq6To50wVdJ7dtTN1RA6q/QD6HQLlIScH5aIcorFcn0OdTMirFc59dTMgEhSjNIo7lTg/uz/AF0S7opCUUB+g0M6isU+XY/P5aOZRcupLhXbe3rJZKqjxZ7jIGjnSRmRKhkJXpjOfLV/LdT8DIo+L62kB9PNNx+X39JTkDVbTeb1TWmv22s08YFfO9FCoIzNK0ZdFUk47+W2qaTM0joJ/dANMFbHgHOMMM41XKVJJBPTkhsZH+uhKm0rHWyup7rRR1lKwePrkib4YdHKOD+TKw07xBui5pBgp+U+RzpQdksJPSf10ZUhW6Tj07ageoQkkA6MqQklPlol6kJJT9dMHKQkFPiR30cyBCSUB1A5EJBQ/PUDhohCSyYwMaaUoCGy/Eagcp6pJQ/nqSpF0PpGScd9EuUIvKQU+XbRzqJBU5xjRlGEMoPXRzIhJKfLvqNd1UF0IoP104dCMhIKEenfULlPRDK/MaIcpKGyY76YOUPVCKg5OO+pmMolDKn5Z0c6CGV7k9tEvRhIZMemdEuUQiuSc6OYKEITJjPy1A5EITIPUZ0wUQyvx9DqSpCEyfLuNQlSEMrnPbTZlIQSnzGpmU7IJU/LA0xchCCU+f8A0dEnojCEVwe4GofVSEFo/wAydNmQQmTHwxqByl0Jkz6jRBTAoLp69m0Q5QDdBZNNnUBQHQ9+300Q9MU3ZMfTRzpQdkB1z9dNm3TdkEpg57jTZrIFAZPoTohykoLR5+GRo5lB3TdlOPidOHjVMSpyMpI+WvArIzVC6D393RJVoSuj66TMpF1RQd/XGnlTdUE+edAlFX6Ae+dCVFcqDn5nRDkFbox8dGbKQq6BjGTqBxQBKro+uoCoSrdA0cxShXKdu2pnKOVW6PTUDkQqCflps6gKsE+fbQzo6q4T6/lqZ9woq6O2pn6Iqug6Oe6EQklDnsO2iHoZVXSRo5kysB9dQlBWx2z8NFRVooBYqOp6LjV0FQ0ahkSWEE4LqfdYD8mA9O/vD6aaOWU4FpTC03ACSa01c0k9bEVxIwXMyuSUPu9s4BHb/hPz07x+IJ3M3TG+VM1oS4XgStLQy0pUDq6EppEVmErkZJU9gSB2wM9snQZDuXdOy5DYuFmXraW2wWiKuqYUlqGSBGDHpkkK57E+oJ+J+Y+egbkxsqWNcRJWU6ckgEHHY/TSSgub8pbFi33toW2OpqrXe4KmGqttfTTLFNR1KOGRg7AjpLBQykdLdge3cacJiPCeHG43HVWMeQC0biFzXf7XvkDjm37p2hLctq1sVPFcY6KpeOBKmohPmiikUk+S6zRFBICMEFT1K51rY8UKpY+99Rex37yNt+xVmGa19iJmdvv6LJcZ8sLu+3W26S0F8+974sN3jtMlKqTWOklCokdSFJEbAr1N1HJZmUZ6OxxWBNM5ZENsTNidbf29So9oIDtBFup6/WV1uO4yy193daKrlp6VVhJj6WLydRLBVByTjobvj17Z1gDYAM6qoiAAtK2NPRTbj33bqD2wCgucxnjkaRQklQfNXCt2YYVsMD26iOxBA0VQRSY47j8tfzTV3XibwPyXUSpHy1lzKpUUPy0cyiTj9+jmRCSVHyGiUFYp+eoCpKQUPxwdQFRJ6c/DtoyokFB21FFboPw1JQSSp9NQFGEgqP8A7abMpCQUPwxqZuqEIbL8x21A9QhIKA+miHqRukFSM47/ANNM1ykJBUfLUzbKRdIKYxjTZghlQ2TBOjmUi6GUHwOhmKKQyeue+ma5RBZMZxnTZ1CUMp6g5zoB0KNQmXuB8NHOoSkFPTt202dFDKEdu502YKAoTJ2+OpmCEoTKfiPrqZjsmlDKZOc40c5COyEyDtnB00qIRQj8tNnRkITKT89EOvChiEJlwcYGjmQiUArj8tEOlEJDJ8+x0Q5BAZPUdtEOUIlCKn4DUlQtQmXPfuTokqbILL8xoyohMvx9fz0Q5RBZc+moHIi2qAyaaUCgMnx0Q5QSm7pgk4I0QUyCyHOO+mzdUEJk9cgnRzKEoDJgaOdQlAZCfodNmuopwlcjXgyZKqQipGhmKZWAzqSmjol9OfhjQlKkY02ZMG9UoIe2fTUzFSBsrhPnjGpmKUBK6RnONQOIUVujsR2zo5lFcqNHNKit0frqB6BCt0fqdQORVdH11C4qQrdB750Q5RV0H89EuQVivSCWIAHx1JRV+j8s+miSoFY9hkkAfM6kqSr9I+ulzIqxU/EaYGVDCrpOceh0QUEnpGM41JQgKinzGiHKELXb9bq2qSmqbXBRyXKncSwGaZkUN8VOFYYYZGcZB6T8NW0agBh2iYGAZXGNw3OOOS/bwtFXJR1FuqzRwRVLiNaSpkRYvLqgpbEDtMnSxGFdeoHB6jupsjLTdfMPpO3ex30K1U3yMpGn1i6cx72NFvXbNkNnu021qiCaioJkzKsssULtOlTHgCORQFXBOGLEDI9IaOZj3mJ1O0AkRH3+qRzRlAJh33+X3KjZ4gt03ba+zK2k2zdrYL9bqykqKCGVZatrlRR1YaGKFcftJBGXSSE+8ysjq2UZ9bMIMz2l03+F4v8AA2vte2y00WG8aQfhpJ/P5RF7Sf2zycI9mbfve7glBuy4mgqqyjAZlpzWuojEJwDLEnWqdYA/AxYKSQMVXCxUyMFhafQSZ6TcrKGZiSNAPv4/ei6XeKlJorlQiGOenWJWqWyCYkPqekj3jgEjHy+eM42E66Kpg07rz2tXJNsjpeWJKRabc/8AZjeX37FUQ1cK1c1TJ5TGJ6dsI83tCVFN1t2LjqxGVXXoJJFM9RliDpJ0IuBBn0B1W+ngHhzmPNnXnYCBr/4/ULeuMb7e6PdXKJ21T7u3NSV1ZBd6ZKuuhFFY4A0sclHGoVWjZK6GbrXplkPnZLAdlSqA6kwOIEW3kzEfDLMaC3Uqirlzw6dJ0+Pz0N+ogRZSlqr1BsW07kku8ktatHTSXSaRCWnqM5JRUUdyOjy1C5yAg7sTrkn+ZlFMdgPvrqe/ZV02Go4Rafp/j9yuacXXeppauTcd2ucMdmu9BNXSLPD5UtBMJ0lCSscA4SqlDEBQGQ9sHJ6GNY0NyAXbAtpERb5DXqlq5nvaG3bfa/btsRH1Ui4JEqIoZoyDHIoZTnsQRn+uuS61lWm1BWQ3CnFTB1eX1uncEEFWKn1/I6JBGqL25TCeY0JSkpPSPlokqaqxQamZGEgrjRBUKTgfTRzKSklQfhqZ1FYoMamcqJHTg49dHMokFQfhqFAobLjOPTTZkYSOkE5xoyiklAdQlBDKnvoyokED5DOpKMIZQ/DRzIJBHqCM6kqQhFPljUBRKQR8CNEOUQyo74I0c51QIQyuSQRogqQhlMH6aYOCkIZX17aMhSEgoPh21A9DRBKDOSNGUUIqfQDOmzFSEMrn46IKiEY/U/HRkqBCKH4aIcmQnT9+mDkQN0JlwfTRDrKRuglDkYxqAo9UJkHxGdMXKR0QWX1GpmspBQWU57aaVNUJk+WNQPMKeqAyfD002ZEBCZcflo5lIQWX0xoyiEEr39B9dGUMqCy+hPfQlDKITd1HcemmzIwglPn6aYuQhCKgep1A5SCEFkHppwUE3Zcj0xqSiApvMvu9gO2vDF0KtDK4GSNLJUVsD5ahdOicq4BPp30M0JSrAH4Dtoh2ybQqgPlpp6pi3qlBfoTqSkVyp+WNQOUVdB+R0ZUsq6DkD01JQVug/LUJUKrpPfUJUCsFJzgaMqBWxlimfexn+mpKib1kpgpamZfxIvUfTsPif0GT+mi2JTNbKx1+uMVus9wrxiaOLCN0nv3YKcfM9/TTU2y4BNTZJgrH2Hc9Nd6FZZg1NXrMKWenZSrxTB/LZWU5x74JHfuuD3zqypRLT21+Gv5KPZ00WUu1fDQ0ZqJCxiEkYJAzn9oo6fzOcAfHSUwSYCDWXhZVvdYqxGc4/XSAykDSqx3x6aOYoQqx8PTTFyirpycYzqZ1AE0pqqmrYPaKeRHjDMjEH8LKcEH6gjUJITOaQYWsTSXdK2tthnpah3V5oYiSJCvu9LI3pgNnKt8/xemrhlIn7+/uFY0DVcf3fcutmtu87PdaSarMMNtudHCjGRj78lNM464THmE+7IHjbrHYntrpYbl5qZkCZH5EaGb7Qe6cU81m2MfnZcK3byfPsCx7yum59o0lx2YtqpqnbNTArUSU1XIiI8M87jyYahQtH5ahwknSVViwKjoUMO6qfDa+HEw7e06gakXdNrbqhxbSLOWB2Pr1I0A6ydk4se2rXsyyis3ed48gcibGKva77uKVRLd7KMyVEtOUCQwq9OrIyRop66SLAKorBKmLJ8gDWvmQNibCdze+sQdlZ4T3ENz6X0H5R8JPe5W3VVRx9zBtG3RrfZaVprbHRCoo4eiopqmQdMUkZfICdLyHHSylVb1C9Qppuq0HEtFwZ7WuZjeQOn1V1RodfUGYOtjaIPXvutbr9wXb/s8rtz33dF0uG4IaqWkSvoa+OGO4vIvWY5xh4IllwpTq64oxlWPmHoNjHtDw1rQAbwQbRvMzbeL9LXQOGz1MhcWgaxHa0ESfTc3NlFu07tXatTu3kHatTZ+RrRuFNyUCU0spjWonpqh6wVFNMxePzVgqrqwL9DSRQxAq3UOnUB/JFIkgDKZ7aQR/4Wvcm8q+thmnEh0X0jWTAP0gibbbQsxw5vqpoOYJNsVu37gzihhqau9U9bVSia2VlZFVx3OveT9lHNLIktOyqG6MydZULovZFJ0RAOkDVocIG52M7xaZSV3seQ4G5mO85RpFgNpvp3Ui/EFu+43W87Jsu1ZLc9qorlbKu41E8yJAtUKmE01PCzNiSVTmZh0tjMIOWZVOHh1GJe+0yB10MnsALfPoSGp0AGkPFyJ+E76anTsL2IBY8r7Nv9qvdNcKzclTt+03qjvNHWSxU8S+05tkk4eaUq8kbO1M8RVAxeN16elhkW8PxDC4M1iCBJ/rb84mfUXtrW+tDC9oFj+hFtgANzN7qR+3a/7i27Z6Vq56u/Xu4TyxR1EhE87lcyEqT7gTA7L7oUIAPf7YKwzvyRZov/frM77+iqIDnGpsI9OwHwH5ldXtlugtdvo7bTdXs8MYjjBAHSuPQAdgPprHVrFzi46rNG6JTzw1SSvCWIWR4m6lIwynB9froOJGu6nZHK5yOx/pqZt1Ekp+7UzqSmtPMk6yAFTJGxSQA56GHr/r+R0S6LokEFFGGUMO4PcH56OZQFDXpbrAOek4YfI+v9dSVCqKkdyO2pKiSR6/A6JKBQynbt66JUSMH641CiAk4+mNSVEkpn0wNEGFEMqfiNGUUgoDnI1MykpBQg/TRDkYCQV+Y1CUIQinc4zjRzWUKGyZHy0cyOiQU+I1MyBQiCfjjTBEBDZcZ+WpKgCGRn10cyCGUP66kpkMgjtpg5CJQiuPTAGmL1MqGVB/PQLlIQ2XB0wdKEILKPgBqB15TNQmUemMabMgZQymO/ro5ijMoJQflo5kfRCKfMYOoHIygsuM9johykILL8v5aObdSEBk7nt30Q9GEJlP1A0S5SUEqcn1OjmUhBKY9NMHIlBZQcjt9dEOUQGXGRj6aYOUQHX4YOmzIwgsv6n5akqQgFDpid1AJQmXP56kpYQGXTByBFlNorgEj014WVUrY+nbUlRWwPz1EwV8dhoI5VWOx+WiCpoqx3+OjKJCrH7tBAq5Uj10Q4pVbRlEhXxpSUIVYPy7aM2UAVsEfAjRDioAr4+OO2pmKMStD3FuZNvyUd2njeW2wzSUtwkUkLTRsR0PjHvHq8texyBJ6fEaaNMulo1Onf7/AEVzKc8vVB3pfWsFPdaqoigqKNKeJ5YXl8oxqsg8yR3/AMKKmS3ywMkDJEw7QSP8o02ZgA3Urkt4vlxodvbYssNdVVFHdq6BKOtKtIqRtIwRWlDd2KlR1EscqjEOHI1qaWlxcRED9On30tCvDRmcTt8/v6arS7hzWtrtQ82Kvtty9qhs/tlxpWhpai4xpJ0TSSKMxIpjKOHVe7wgEZGbvd8x7XOtwLTv8td0zcOGv5rzGgJmTp0+K71brm122JJHQ11NXXRIizMYyvXL1GSMeWxypbCFQT3BUg4YE43hoqdB9z/dZ3NLXSR9+q3SW4otJS1sgdkE0C9lwcucHsT8nHb1/XtqrKJgKtonRZyNw3utlZAASp9RkZ/odVk2VZCX0gZ1GmVJVdH0yP46mYKErC1tDUo809D1SRyBRNCHIJwwy0eewYr1Aj/F27gjvY143RzLEVtWbrT3SW1VdFFWRIDA8jFDE4JDlxjqQd+nBHqPyOmAiA5O0CRZc6qa6rroLrtuppqy239I4ZUQt1w+xMOhqiB0XuqGBmCoSyO0fUvvAHZoBVHlv89YPrMfOE3LMG/7rld43ls+S2yTbut9z2/ba6gSz3p7Ksaw0zVTPC6yRHJk6usZEkWAGGR8daOZ0tbczadbDY7R2KuGCgDSG3g6GN/v81onAd2p+RONt5eH3llLpFyds2WKyVP37WwS1V8sbZprdfFaJinl1sNO6yAEBaiOeMke6TdxB0OGIpRlfMxoHalt+mo7HsslFzqVUMIu3QwRIG+n3EqLOxPEHtHghdn7c3pHvHe1BYCLFUvR2qGlqEvUHXSxU9SSkSSrLFRe0QMpfsfKLNJJGJd+NpOrtdVbaepkQRJI7jQ6fS1uHcQfBdadwDNjEECYmbSZPxCJfOaGoeWNvcTUlVvO68X7rs9vulfa4Nr1FHV7et1RRzzJFUSwhZkM06xwiAqpZJJXLgBSYMKXBxe3maSASRBIgQAbGBLtTECyvZWy+G5pAzWGtr3cTcDTKJF3G2hXNeVuJppdvbM3fwvdaDbnEm2N22S8v7ZY5DHdY+v2B6ny2WExU8Iq2qCz9Sz9IfowQZN2HdU8QNqWeZAHQG43idAALieulGIfTZhyLOAu686RIG/rrYEbFdcuVJyXx346tubF4otu171Bf9n3lLrT3mjehpNm1MEtBIK6iRJ2kq45JGQimWOJUkqyfNUTHHOwz6dTDudUJa0RcEEm5EaWsYkm4BsYVWOrOa+lmOYOJsJuAJJJIixG0m46gqXF62BLZ7XaKabeIuFXQXZax7DaaaCnStmZaj2h1Y+ZM9bUJJIxmLorsQvSgbAye/Nc/MG2IiSTYWtsA0WnU7yVspscQZAF5k66gg/DYAQFovLd6o948s+G7j/j+ONKK4NedyVtdDL1iz263UtNSgRB5F6pZDdI6fsQE81m6upOlruHy0ValS4AA9S51tjblnS+XoVkxbCGMafOXCJ2gEkkSDoYF7FwJClbY9oXiK9JuC81CGrjQRQyTOEeOIsMgRQN5ahiqnpJIX0+Jxzq+IZlLGb/AB+p/bp0vZ4gIA+/1P73+Gs0/JFTcbu+yrZJPXXuCVJ7lUPC0K2undWYGTAIEzDBEBw3fLdIIyzcMI8Rw5fnJ6D9ToO5Vr6IaM3XQddvl+e3VdSgvtuo6RKamgnZlqWpKaJpMvO2V/xHOCfMyS2CCGz6ay5S4z9j7hUmiZknun9Deqa43CppaZo5adURo5EcN1nv1enwHugHPc9X/CdA0yGhxSVKRbqswroxlGQChIIJ9PrquUmVaFUMDfLzbqIU6xVE8HtEUfaSpdoY+tmYY8sCMKev1Y4HyzsYZYCdp+An63OnxV4BADj01+cR92Wbt10iq7nX22BE8uliVXKuW6XDEdI/7vQfXIzg+ms+Uluc/f2bKt9OI7pVonWsrb3NG9U0aziHpcYEZRQCACAQSc/PtjTPGVone6FTYLNFO2kDiq0kr8xoSokdGjmUhJKkfA6mZRIKgZ7dvXT50Ugp8tEOCiQVI9QdTMFEMoPhogoykFSProgqIZUd/gdEORCGUI+GpKISCMjUa5CUIqR9dGUbQhlfp30Q4qAIZTHx0Q9QBDK5z66IciG7oRU/HtpsykIZUEknOpKMQhspBx31AVA1CZfkNSUcqGR9dNmtCmVBYY+WoSpG6GVB+miHIZUEr69tTMUwCEUx6HI0cyhQyvf0GdNnCWLIRXGM41M26bVBZcZOpnRhAZckY7HTZ0sbFBdSR3GDqByIQipGcjtpgUQgMvf46bMogso7k6AcoEBl9cY0+bdSJQWX4HOjnTEFBZT8Rpg7oiGoDL9e2iHKITIP10ZQATdlz8dEEoAKbRGR3HbXiS5ZlbHy7HQzKKxQaBcd00K/QB2xqZkXKukfLUzISqK+mRjRBTG+iuB27aJco4KsagKRVjGO2mzBGFWBqIwkgp1eWGXrxnpz3x+X6ahQITGvrYbesNRO5SAE+YfXpTH4seuAcenz1BfRO1s2TajvFPVzpSANFVBZWkjfCtGEcLkr8Ac5H0GnLDlzbKOZBWBv37CH2qlZDaK7KV7N0yRqrKVDkNnKd+lgBjBByMEF6XfUaffVM0TYrVL/AEtXaLVNcCovdJSQElZqfzJ6VekxqsyDPmw48wMSCUBLEMF6lvY8OdAsT8j6dD+fZBkAAO0+/wA1yvbVtse5uNL1snoXyqOrFx2+JJ4jLa4+oPSEyA4IUlAjg4kgliKkZONVeo5lQP3Ig636/wBxsQVaGnODPrHbXe4Xlty9v6svexOfKvlPan3DBaYLnPyBarbUeY0lVJb0poUBRcunu0dUlRGI0OJ0LZyB1mA0g1zDmP4ZtN5J/MXvpC6VJ2Z5psJaOtzEfqQQYH+ZlcRcm3y57R4y5YutDRxbMvVpiqaimjqvZkqameOGQRwxTEtPJIVwqu6lRTOMymYOcuMosBNIG409L9LCJv6jSCs4OYQ0GTF97D7077iF0bZ/J1GlbT8eWu90t9jtm5Lrbon6et5umV6gUkvUQRNFHJTh+xAHqq4JGTww7+YbS0ftPpP31d9GA4u1t8JAPz6KRcl9rNr3yrqrya6otNVNFTUkzBCkQLkJ8Qe6iXLHH4B8++UUw5kN13+/lZY8oeIbst3h3B5tDeJzBIs9FUmnlUggN+FhgkY/C65+R1nLLC9iFU2nzAdVi7PvCh3FYpLnZ2jrnhpo6kssqkM+TiMkE4YlHBB9D+7TPGXXSVbUw7mvDXWlZHbm7dv7rtBu9ku1vu1u62iMsEgZeoZBU/EMCGBBwQQR8NCtTcww4Qs7mmbfd4/MQtW3HbbZaLw98pbcKW5VwSlerplaf2tOkALWU47zIAvSHzlQB7y6vpVi5uUmR00j0Ox+7p2Mkei4Bfd9vQ2qr2atNuKx72VPa7KlTFUSQR1SKpNLT3IReVOis0fqeuVH6ChcEa6LcMZ8QRl3OlupG29ttdE1NwAzPudIFz/cnquccYVnKXI+1d0U1PxzS7c36N8Vn3jDuOthqae1vHIEneiMEjSiMH9oiyIuY50yq9Z1oqtosLDn5cu2t5127a7dkzalnl4k6RfKdIuRe1xbX5jCcteEGwbw3XtblFd+bY29y7bYaaOzNHtinFsiaOSab2OsKt7RLQysZ/OQOGGIpk6JYELW4TjIptyNaS0m5LrmwFhESLR8rgrPim1ql2ACBbWdRN+h6RFttRxOm21tvnHcHic2Fs3jraWwt3GzWqHkXZ9/kiqLZQ7gner6h5M8Xl1NJWU0fmpcKaSPzeqN8LI0sa63VXU2U3VHktDuVwBBLQB0OrTaCDuOhVVGoKk5pzEOEEyRMAdCAfqIMKHe59lczch/9qXgt3DuCm4erdsR1++rbva5U1yq7puG3RV/TJFFc1mp2nBjeOhq5pImMMC0pPtBljliudUptDcVdzRAyiIm5FoMSRMA3cSBEGUwIrkGk3krOGuaYFhazZgcokCGgE6gCWe0PGNxdyZxPHZr1Rbl3JQ7hWbYG39pQXxZL9fq+eHoFFFRySh0kRQzLJOEjhihmkldAj9OB+Dq589MDP5piwDZOYmD2JidgASRO8eCKRLnZWtFzEiTaALF0mbC53gCU38EaUW8ardXiC5atEdz5Tvlisdu3Bda9yKGO6mKOorIY6mWQI8FEBaaRQCAs61En4pcjbxd3hsbh6AhuYkdSLwYvdxLo/4gD1zYSnVc4VKr5c1sQNW7BsjSWjM6NXOJJIgCVFPyVDvHj+6X20JX7O49ttwvdklsctMjXGoqY6uSkBlWL9rFG0iOscODPKCC3vME1x3MDHtDyHPcG72E3joTGv4R6XHYp0z4jiASQbu001jsP6vlG/HPD5bLHunxNcqcnU8l4g4/jqJNh7DFOj08FJRUEUdRc6ql60Mb081yiqlRYB0xvQHGBIoGvEVXtw0uu5/OZ6TDAbzMEmTqHeq5rg51UgAQzl/+brv+UNad5Bnopkb35G2QbhFZbXuvdt8rpKY+3z2uGuurUFIzMhYRUULxlywKqDk9XwADMuTB4N7muLmAD4CTrEuNvhtedAb6QLG+I4gdJgXHW8wNx8N4WvUsV/s63e0cb8ZT2uzXQ0K0Uty6LBThlZllNYJmkrZZHIDHEMhlzhiPe1a9oJDq1QS0nTm6QGhoyiL7gD5KmniGuaXQXESN5J65iNNIN+wlbDs6mhs24LhDyNuinuFfTdNRBDA7Q0Kz1UqoVcMS81SXBReo9PSx6EGTjLUqhzYoCdr6wATbYCNTra5W2u5xbLGhoOvW287D0iTrJXRV35Rxci23ZEENJTK9DLJK/WVIZWCxQxoqlGIJkyOoFcL294aytoOdSdVN4/vefQLI6m1oAOpvHYRJ+oWZvV0lstPU7hoaRq1W8hq6np1UyzJ09KyJ1EAkAj3cjq6QMg+opjNFOesdJSsZJgrCbCuSXesu9wmo6eineaXz0aJVkE0Ajp2DHLZChVwQcEEEEg6trvd4YBMgaehJKavRa02m/X0+nVa1t/edBbN38s0csVVUz22sgNdDTwyO01VNCjxRxgjLyyJ0MFUBeklh8cX+CX0KZbuSBpsbk9huT6JarASL7T6AfcdZXR9oVdxqbbTtdpbOJ5IlmRaWpEpfqJLuRj0LN2wT2x8dZMQGgkN27fJLVaZmCtqjkjlDNG4cBmQ4+BBwR+8aqzWuq3NI1SiM/lpcyVI6Ox+emm6iQV9cjtoZuiKQVGMaYFBIKEfXRJUSSPgRqZpRSCo79u+pmUQuk6JKCQUHp30S6bpo3Q2XGfQ6bMjrZIKA49dAvKB6ofQfmNMXKITISfpqZ4TbIZX5d9HN1Q3uhFP36OZNskFD27Z1A5CbobLn6aaU0IRX17dtSUUIofpoz0UQiM9tQlFBKkeuNPmsohMnyxqB4RKEyn8jqSghMhH5aOZRDZcn0xoByKCynuD6acFQILKR+WpKIEoTKfUDUUgoLLn17HRBUhBZcYzjTBxRI2QSh+WjmQyoLLnvjvpsyEILLnUDk2VN2UEY0ZUI6ITJ9e2mLkxagMmASNHMla1BZMA/PRzlNFkBk7Z087IQVNkgHXilmLQBdWC/+OllLCrpz6aMogbquntgdtQlPlVdI1JQaCrlRjGNGU0FVj1zjUQcFWB8hqSUpar4B+GgjlVsA/DOjKGVNqmiiqkCuOiUAhJF7NGT8VPqNEORIharU7WuSyCW2bgmjjWCaJaepgWROp1UdXWvSyjK5I7g5PbVwrNiCE4qR5hMrhFztG89vV26hdy3szUqPBVyHot0cTQvBUeS/UxjlVUilKSiNCzHpYdTa6DHMc1uX++oIkfSRJ6p6dcZxbS5/wA/f7N75yltbbezLbums3ElfsWpb9kKSmcyW+VJQHiYx5KCOTrUqyk+oIPSc1Noue8tA5/znT5+q0MozP4YGp0jr+6fSXy/8X0Ox9t7pp933zc9XQSrMttphVBauNVbDtnzAGYdAd8Drx2GdFzW1HuNOIB3MW+gVNJ3is8V0AW6kaXvF/kB+SitzdLY9tX3a3K1kvHK2w7TYR0Xy11tsr4WtEdROrTVCARkNHAsTgw9RpvLlaWNRLBH19ag4EGnWAcToQReB66m1/NaDYmDQZUgGjldMmOtgB3+HZQ58btbsrdGx+CN58V8k0O46HkOReOtxVlgro7n7fSXONqqnaWp6wKcsKapWOcCI5VohG5lHRbRrPAfSeCAzmAIiI1/uL7dEjA1tTx3gcxygjeTlAbG41n6wsL4ZubLPujjvhvZc9t22vD229tUUN6u89TJU08qimjFNUUSiMxytPU0pRY8qFklVQwLdAj8O4Pe4znJsI1+xv023W+mGEBjIOonNpHmk9t9x8CuqcUcX8h0+87iu293UW47/VbgqNy1VuuNBNDb7pb4IaaNYpKqmUTJUzCZoQsgnPVHGp8zyD5dj6tEU7yMttiZJOxtAibRqTabx1eoSXQMpiIsYtJk73iTtadlN/kXelv3pctv09Vc5tjPbquiuDWuZ1N0k6WjnhZYGlEStHJA7Bm8zKrKAD7ynlYcCkSTzajtuDeJuCNI9UKdB3h8rZJ3/wAXv8B6rrdRuSk27tO8SXcW2lrK+pEUyR1DyqHZgghSUDqkZCRnA62DCTv1YFRGd4bT0H3MbfkIhUUWOe6Tt+X38tNlr1notqcQtydbbDSwUVrvc1ZcYqR38uFKvq6Kgr1HJLFzKY1yR0v6FtPVc+qxnUfkdP0HxTNaaj2lxnSfkPl+SJwralgsG6bfHXUtRZIN31qUqRRMn3iQIyyswLO/VIZlaSUlmaMfDOji3XYYvl+Qk/AegtukxNQl5MQYE/Lrv8NBouybqqaajsFdFUQrZa1q0PFH0YadVbqAjKHDMVGOxJXucdtYKZ5hNwqqIzExey0OuprfU2eWh3HQy7u25WVkdT5NxmWaC4DKhRVoECFSqiTLqyv7ue6lRpY9zXSyzh029Py6j5J2tBtO236f2/VRituztp8O773Pv3a9oprJxvcbyYL7UR3Gq8rYt1CJHLKyda9VBWJDSIHZxDSSxI4CxzMV7bcQ+vS8N5l8SLDmGsbwQZNhJBjVc11Q0nAOJLT1O99TrYWjrvuugy7hsdLvW1bPqts8s8qUlIsUFumt8LV9RbqxX6SlQRIlPCIRhjOzuVDsshUqvXTSoPfTdUAawm8mwjtNzOwAgxbor8TiXMYHF09QBvI2AmbzBjqFyvl+n5ts6bR5S4/8N254OfdtU09HSU9s3Dbq2Hd1sqZDUVFkukfnRBaepljd4qhDKaGpEboWQzRy3YV9J2ak+oCx0dRBAgOaSNR0MZhI1uMXE8NTd/1LHHM3TlPa1ie23raZjxzhyXZ+XducNcn26muEG4LHy5ta01m19y3CG0bh2hd7rPDa6qz10BMdSGlpat26kbEhgSoiMsbCVNGHwhpVRRtzNdcXBaA52YaixA9NDBsrfeKVWgajZMQbAgiCBGsAnNppcaysb4KuCLzvfkfdXio21vW0+ZtWW6ca7Y3DeKGKprd6rRX2qqbze2uMQjkK1U2LfE8iOUgpJWCssirocQxbKWFbRqBw8RrXEbNblhggzrd50nl3Vb8O2pjXQwHISL/1k30JEMbyCI5s/wAc59l1PX8v+Ebg7c9Gaap4Rkve46230FXWS091vV4F+uHnTVaANEKcTSqEiV+7p1YIMYWvibxRqSP93K0aWaMoFjrJveNDrMrdSxtMvqimLFzszv8A5GwBGkASZ7C2uO3/ALkn8Rt73h4WfDJxDtHbG9bVdFq75vimuEVBYtvXCOsiWpWkvlJHJUS32CRiRFDE7xSzwyVBTDRyX4JjmtGLxbyaUWEHmEGwbblIkEyGxmAJMRMfXoUCcLTl1UiY/puDLySQDo7KZLrSA0yurcu7C3NZeILHxpU7l2txdtuxyWX7u2lsa2zU8dNZ/N9lMZuEjNWPCSmS8C05kDsJM9UinOMXTrVzUIL3uJuSImJAyi3oCSBAhXcIwtZjGlvKGgyZzEmxJzECDckuyz33XZeM9ybIqKUbM21tuksO1qSGnYNW3v2esvEcFHl44yJ2naSKZ1jbzHAjRgMjKjVGMqOzGtUcCb2ABA5ovaAIvOpIVmHwx8NtRgdM63gZpJI9ZsAB1suoVF/t1daKf2S9S1N/lqWmtkxuDFIqbrWUSuQZRFGo6lMhwf8AhBBOMbCA7bKNdP7T1gfFaCx4JLm26RvEfP7K45d930lNyDuWuuL2Ox0dNYw9PLX1lWsy+ZIzeZO3R0ws6QoIogS4LOvuhio0spsFLLcmQLAEWFwL3IOp0tutIYTAmRrrE9CBEQOvoReJw+4ee4NjTcWVk1ZZbTapnuVJX3Rp4nWz0lMjsJ5TkpAonpY4HPYCWRwWynSB4JJe13SfU6CDvIJI6gCJmVU7DNdzbSAJ3mJJBvp8RuF0K8cmXe08Y2Xkex2KrqNvW2SkutXTrMrSewM6SVc0iMSoYRdcqgufL6gEDN7ogofzcjzfT6QAPiQDa99AgaTZc2ZJ3/LvEf3W78R7mt163dvC42ncVovWwrncKutthoFjZUEjxzRyOwBKpPFP1o3ZWVB37jNWIpllABwIcAJn4/lY/ErJXBMQLix3kwP1t6hB4kpG37unkXlKwV9urdoXS9imsNwpoGVVttLTx0zzxGQkSyTTQ1AWdQU9n8vyyoduqyu51Gk2jVF4kg2PNcC2gAhxFpOosElZzmk0z+GBrN9Tm00JgC8EdTKkpcJ7Zt201t2NNGsEUXV/s9OC8mSAqKEGWJJUAfHI/PXLl7zk1J/P71VNNmYgEwFex0lTSUXl18dLDcpXeqqEhPuiRzlsdgSAe2SMnHfUquBMN0FkpANxosuV7fHOdVyhCQQRnUCJYkEdsAnUlQBIKnRBRAlJIxoygWJGD/y6IcUSxIYd/XtqSpCRj17Y0Q5GAkdA7aOZANKERg9/XTSiWpLLnvoypHRCIx8MaEqABDK50ZUhDYAHOPpqSp2KGVz6flohyiGVI9RokowhFPU6hcQohFQfkdEvUhDK4Pro50UIqCc6OboohMuPUaOZGEJl+WNNKkITJ37jvoZkcqCwxjGjKKEUwO3fUmVIshEHuNQFTKhMPX0I+Ojm6JgBsgMuO+dNmlEDZCYZ+R1MyKCy4Pr30cykITLj00Q5RAcfHRDroZbIDKCM9gdNKkIDDOjmuiQglT6986OZSOiEy4+o0WuUhBZc/TRDuihCbuowf4aYOlGNlNhx2JGNeNL1lypAU+uM6WVIV+kj1A1Ad1I2Vun886IKZXC5+OhmUV+j176OZCFXR2GNQOgIwr9AOiHKK/SMdux1MyBCoLjPYaJeoQq6R8MDUzKQrFdQOUhaxeK2OB6gSpR1EUcfUAT1PGfiWjJ99cEY6fe9dWMBMIhuwUGfEFwHUchw0t246E/EO5Fr4LjX3K3tU0tLXSQnKi4W9SILhRszftOoRzMidKyID37WDxjo8OpzbCYkeh1B6C4B2lX03CmCWvI+RH166WhRe3TyLf7ZuThrYvL0W9tn3+mvdPZaS5WZWuljaOsjlcwQXZulpo5Gpo2SkrpIamGRafpSoKoT0Tg3NYajAC2J/pMjtFtbkAtN7hSljGlxBEPM2P4tvl6AHrbWXtsitm57RuO9WO4UVPvCJ5Hugr6FTcqSoRmWMvQVUcciq4VsskjqcZQufTn1KjgGB9mnSNL6wRb6fJNRxDc5awZoMHWO8wfpA+S8cftK+PYE4Lr5uFntzXyrulHIsdG0Ap4a2lu0OYqatJp5KOaqmd3ZKlJ4gx81YonkabXZwGIe6sKdfXvOhB1F7BtpBHQkiypxGGeMO+pQHygQRBN9+YACxE+i5vyTylS7wvvHe6PD/cn495ur7621Ny7HqlJbb/s1Kktv3JWw4eOGmFNIzCWEup80ilZmeWbULHuBFW1icwGoJILQdSZt1Ng6AIUwlX3dpayXCA3KSNbHSLD8RJkTcSSuweF7lva2xN37dt1LuCbkHdl3uF1aukr6Tzrq11AlWpniFPI0KJJVR3OnDTHDKYTGWLl9ZqlRxYRT5QANIiNQCYB0h2nWbBdd2ElsVzN+pF4uI0hvTYiZkgKZXK95445l2VJbt17NodwXNbVFW1NZDWGgqqBykk6Tw1cJV44agCPDNlJYVce80RAy4YPpkwYHcSNreo16gxYApjhMxADiCDsfgeulwdtfRYLjy8bjsu1au48pbnu29OLLrXUtVQ3v2VaG6We9QSR+TTXCnTy41AmFOwqWaOnkJmSYQq6ebfTw8v8A5YAeLwdIvJB7XtcixEnTNXxYcQwaRGYaRa3WTsBrotw5a8TvG+xt7RXDkDdtmsm+YVvFiqqWpqY/ZKCslSjq6yVUcdJp4qaoSXz2BaWJI0VQ7FTRToZqRZTkg5esmCQBAvJcIAA1NzCtZh25WPIAaCTBIEiDF56NzG8NEkqS3FklwsPEHF8e05bbRtQxyStQXCFKGorrhLU+dLDV/iWCVmecMvdkdHDFfexVjY8Uh4iwFrgACLdY+R2lYqQDy9x5sxmfWYgdIiPnC23lberbl4B3veq/bUtfUQ2SqrbhRB0Z6ONIpJI3BYxukxUoAyggnqGQPe1kFI06ljBkR3001EKzBU2+8tYDvr/iV5sUPic5WrKDj6+7V463Zu993BrRS0FVOLVX1FTFRSz9FcZ4wiTqADDWROyM8HS6Fz1Hsv4fzZHENOs3IFwNjcHca31hamCn4Yc6SBE6Te/aALzIhSo4csvPG4+Pq+33TZm2Zt5V01RTbneS+tT025K6JxBUtWxhJmipQuMLDKfP62jLCMt5gc+i2CX2GlpgbEaAk3sbAQb2jmVK1Nzs72Fpi4gbyQAdJFiTePW43PwnzXfg+73vg/lva1q2VcbruS6ybAudLXNU2u8WUTSNS2WnmcBoKyihToWhYBWp0R4DIElWOriLHVqTarHZsoGbqCfxHrM3d1sYtPH94YyqWE22noP206nUk3idl8slsulK8tdJLAI181Z0bBhKjPWAexxj0PYj9+vPsqlplbwXaN3Xz0/bA7js/wD2KbO8aux9lXTaPNnEW4rLXVF8q7NXU1BeLb7esf3dNUQxN7VTLUGjrYEmChJaYKjZlZH9Ngm1KZ8B7uV8iJBIJGsTYwTp6xYKivgxTYapgkXIBs4NMkG29xoddRK9A/Dfuja1Pxl4c+IOJTLYNqVWzaJhWSU0scFXQiiWQ3G2VUuPb2kZPMMkY6VaZWZlLBSOIsL6tTEVoIBsN4mACASQIgX17rRw/IygMrs7tjMyTJJ0A1Mx8xC89/BTT758QHh33FwjxAm4uOPDDZ99b52/dd2QVYtcu+qT+01wkgo9vTReZJT0RWojNXcQEf8AYmmpss8k8fSrmm008RiBL8jIaRNw0DM8WsIOVn4iZdDRfLhnmjWq0KMy2o8lwjlkyQ2fM+5BOjPNd5bl9HN18V3PifaFvtezq/ab23a1PFdrBaLPQCzx2egjeJbhJSNSZMiiBQskcimKUd2CPhhz6XEW162arJLjDi689LbX06bWWmnQp0qctYGtAjW83IzF3zkXJ1ub6Z4hYrFyLcK3duw7xd9j7i295kt23LJRzVtNS2tUDR2+NIvN9okqKZvaEiwYo1linkUyNHG9eANSmwF+h0A1LjE9IDTAJ1kFrdCRtIBHhEgyI1AABMkneDeBYujUASod7B35x1t6+827p3lLtTiPk662OFNzCru9NuO6XO4xO9KKuipeg1Iar9+Voj5RMUcD9ETYXXSrU3PoeHSMtzaMBDRI3IJHLG+aCbk3TB3hVm13tOUAklxAGUXBA7g2yxOgG5P4Qtu1G8OOtiXfkXaG5anjyigq7LYtzw7ZM0lyti03sxkjhkCC2xTCIx9flyyMrqFMIc9N2LfklwPM4A5S4WuCJve98oI0uTCWnjX1GhlJwgHUE3sbgARYdTF5AMyu9888M8ZWXiTe1Bwpuzd3HXJq09y3TTWaC4T28V0DSeVWs0QVJY6d0XyutWAVpIgBg65Da9bEPBqiRYTrE6dp3j1lW4QGgQ0Rl9ekEi86ehj5LSuLeFeMeS7nxrw7aqPf+4qrbApIuUZL5dauv9prqZStRbqiLz1iid5QWeMAo/SE6ZAszjqPrClnxRDQy4ZAFzoDJF4/MTYZQc9WpVNDw3VZeY0gDKTJ0kjMIm83kmSImfunfdstW8uMeBaE0FDSbvavNVHSO9LJZbZSxOtS+IlK/tVkgpoo26felkZSViOOHhafiZ6tTmFMT1BJiBruZJPQdSjWcaTQ5o5iYGn/AJXGjbablo3WM3fS2WTkHdnF+3Ky27U4p3Ftm3VW6K6MOlTAkTtRR2ynlXAiiqKaB1abr6olpisQLTB4tFAudT8SsC5zXSBHmLhJJG8EC34s0GGgyho1Bly2MOEgwWxFx/y5jB2iTeFJ202aZts0+3LdST0NJSUS0EVBTRR0tJRwBE8uFVj7riPpRYwT0Ad+wA1y69Yl5q1DJJkkmSTNz3vqVXSYykAymAGjQdtPvcq9Pcqq943HBS1lJt2lRa23PVrGYpR0gST9XXlVVPMC9YUdPU3YMDpnt8PlcbnXsOmmptMdh1VmQf7cX0+Ow+f19Fse2T97Tz7kW61lVTVESxU0EqRr0RKzHzMBQwD9SsAT+FYz6sdV1oYMkX316aeo37yNklU7DQdN/v7stxZPXAyNZs3VVNG6RjHwxpi5MEgoMdvXRDlCEjpPy1MyhSCudTMoksowMA6IcEUMjGiCpCGUH5aIKiQUIP01JUQyuTnONTPCiQUPwB0S5RDKg+udAFEoRUjGmBhSEgjOoHKFIKfLTeIpBQyAfqNDPdGDCEykE49NHMplKGQD8NTOoAhFceuNTOoGoTKDkgHOnndTL0QSo+OpmRCGVx6DRzJssIRUHuRnRDkwCCRnTEqFCZMdx6aBcgQgsvb6/wA9MHIgITL6jsfz0Qd1AIQGU+vfTAqAITgDB1JRhBYA4zoyiEEj1BGpMqQgsvr8tHMjCAy4B+OpKAagOvxA0Q5SEIqDo5k2VBZPj2xo5kC1BZcZOP8Aw0wcplQGXt29NEO6KbKamvHuMLKq0ocoq1C9SFWiHhRVqB4UVaGdRVpwVFWhKirUzKKtSVFWiCokO4jCkgnLBe3zJ1J2QJVGKNpFlaNGlAwrEAlfyPw0wcQoQtfu1WKi2yVdFLXxzQv1fsITI5IfpZCi9yDgg9PfGSPQaZkzCbL1i/VcV3FP/wBre395bZuqbdrrLJ1UF6sF8UlaWMqFeKoiYASQzIGdWbox1o6PkYG6nNFzXXB2I/Q9t/iCEuIw9IgMiR8L/wB9v0XlXtvjHxkbe25fePuOZeLuWbBZTXUdop79v6en3Jsi50jH2SGkuUkDLNEpdEehrDjySE9pmRgdd91bDF2Yuyl0SMhyuBFzA0P/ACG+jQqMVXfTcHCk57BJzAtLoJmI3BHprzOOiglzty7vXxick8e8BHhOs2tzltRqKr33bLzQex3bb89Ky0MULXFFnSvo6u4V1NNHNRiRPJidutC2rKOEfSzOc/8AlmSI8pm8gWPK0OmYvAWscQwtRjWRD3G4JggC99ruytETMzFjBOdfCT4mLftraHiE4X3VDcqjjcXKoodqVkNZWbmntTS1DvHBcKanhSbyDWTXOCmqY6hfNVVSRBJKjXUhTc4UnkgmNLASADcmQYGUkR1INlzMdiadGH0myQTOYeYDSQJBG4B00tNo7+FHxC+GykrOULr7NZdnUm4NrNuSzwWaGaho7zNZHo6e3Na6qnVYVqn9orKmpqmPVHUFneKONWcvi/FIAfd03kTBMh0jZrRDQAJj8RJhdDh4woqB9MwHAjUaC8iJzOJkwDEGMpiVKrcW97vsbbHh72DSrXbS33um5JvLc9ngiluVPX0vs1NTUtdSVa5zRU4jp1COuOinMoLKdYK7peS64aCAdLkkmZuCZO4IBA1C7FAhkhsFzoGUmSA0WDYtE66ySdtfRfjzf+z7zcaXiC18a2zkK5V9jenrrNT08U1uIqJiTLJNUytLAiJ7Ikqz/jjCKFbK6xtzkl+fKARzdCL6AQbzEXlXYxoYwVHkk6gSZI0ibbT0AXiXyP4d6/hrlvjSLe+4rzetmw74tGy937otxmnqNrVEd3kiigq5YVE8lJUolOsMXmEQuz9b9cdIT2WVRUOcSRBcBpPLt3G56aC7lxMVTJpNcQROlwYlwImxtERa9geUBexewqDm/j/jre23t88mbV5Z2JS3oXuwVF33BNFdLBY5KCeWRHqDTSrUUiEo0Mucx5PUSUZlxvp4ckOYC10EaEgmQBvIMkj07a9BniisTlsYvyjQ7+UbaC51JWo3fkjmBt/1PDvK/GWxPELapbM9XVtad7U9LS29CsKVArY5DEprEXzlChQSssrKg8pi1dGm0A1cO4Ng6lp6kiLO1tcbAbFTFVIA/lOg6AZbiIvmLYF+t5Cwv/azzBsywbOod9cScxbmskPIqXy4181PDuEUlolmy8slbRM61EaQz1CRwezK6p5ZZj5bE6hhA6plpuEhpbYxeDs68kxJmBe2izVMYxlE1XNLZiAW6XH9PKAL3Bup07Q5b2i162zT8V70423nZ62znb1vpbBcZDJFVUrKKd6nK+7LmWSHyikZwVYgojFefXpOcHNqAhwOYyIiZmL9BM9upvBSBcHk8hncHuYi0aTcmSBrZdg5BsWx9y7Ordnb8hbem17nSSwV9I8vlzTVq/tVqKdh/czxzBminQjyZY0kVl6ATjw1Z1OpnpcsaHoNL9iNeo2ukrYXxmFrhv8AL7+awPhu5ZuW8Nqbs4d33uU7i5R2RWSbN3DcZpR59466ZKm2XSTsMtXUEsc7Mo6PPSqUfgwL8fSY2o3EUxDH3A2BBhzfQHTeCFzcEwsc6kTLm3H/AGnT4jQ6QVFLx/cIw+Oq9UHg3t0iW+ktG363kTddXTVU6R0lxSGrotsUjmJlBd7i01wKn/1dsGRhwdaeEvGHpux77wQ1o6kw53yYI9XD0TYxxytwgmKpvtyNjNeNC4tA2OVw1C8xKXdHiJ3tyZwP4dPB1XUmwts86cTVPJF4uMdIqtwJb5CtLuNLEq+4ZKupZjBDmNKa4POygrJ0R92pTp56pxd20iM1/ONWNM/Im5y+i5VPHeBToik0F7nEMm+R7QMznQLgTIboTEyCQvpg4W47444U4d4z4s4qtFNtjjHbtlorNZKON8rS0ccSrEGb/E7dmZj3Z3Zj3Y68dxLGVa+IdVrGXk3/AGHpoOwXRwWCGHpCi2THXUncnudSuTc77k2DtSXcO795bVtiR7foKSQXSWOANJHV1UcBjWQlSo8wwI6yOkfTIGY9IOrcFUquApMfZxiJtMGNbfQnpddbD4ZgLXjzGeuw7dp/svCXwUcM7F5Bo91Q7Wt19p5rvf8Aed43DcLtuq7S7Io61rzU0ltt9ktsNVTx1aR0dFMYwojgJUAyn3Ydesq1Qyk11QDytjlbncSAXE5py3IuRIk2JkrC7E1m16ngl0ZzYOOVgaYAJAm9yQwk2/DIK9fuMPClw5S7ZgsVLuup3RTxU8UNRS0CwWSzUtRT+ZEv/o+3CGJ5UZXV/OknkLd3Y9KjXGx/GHudnyW2LpcTppmsB/2tAGymGwz6Dsw5ZuQLGdZJMvMzqXdI3XNuTadfD/vKy3amtVgo+F75Xxw71oq69VkFLa6qupGpqeuFLMxh9neaJYKkB2DdcbDuJCUpvdVaRPMAcpyzMHMRPWJy2BntC6dB7dW3dNzaYFpBsZJIEnQSblcR3byfUcgbF3JZJN8bF4c4921E0e4XF5NsutQPYEqUttBR9EYp40V6EVD95c1FRBEsLx+cNTKDWPD6hLqjiYBBcJzAZnG9g6QALHLJdBgvTID/AAsM0hoAGYRYXuJkBxbzc1mgizjpJ7hHjmq2tsm3cTcL8kSXqqpqdK++XeKmpWsdtq5hK0j0xgjWWonaR3kRBM7BFHmzAuGejGV2PdnrNLWCwknMQALQeUCIkwBewOixYcsokvewF75JAtdxJlxuYmReXGL9VhbRyNsrjznfeVPJvDa8q2LastTva5VEEa+wiGYSpNPK4jhidYaqBHRyip5yAFih1INTCl34S4ZQNyQWwNSZPqSWm1wrMThHPxFNwiS0gA2MS10jo0QTPQiTdE2NbeZuYd67y5Hs15sHE3Ge6ZLXJZqbdO2JqrcFXb6OCRaerNI80UFvDvPUzxQsHlRRBJIOtmRLXsp4VgpVZL2lxIaRAJABBdBJMAB0WuWg2lZaeN8aH0mNcwDLJLocJJJAsSCTAJs6J8pCmpSbFu9dtqj28/INVT2JYzE7WGjjpJalcnqzUyPO46yW6mQhmJb3hnXJOMYKni5JNtTYRpYBsgbA27FPUc4g2hx3uSD1vafUFZE7borXWUlPeb/f7/ZZo0g9kuckUsCyRsDGelI0BJz09JDDKp2GO6nGFxLqbQ12siZvrqT6/NMZc2AAPS1vvvp1WzU1dFJfr3b/ACVjMENPI8nb3+sOST8e3SPnn9NZTAph07n6QkLIAWSpp46qmgqomV4pEDqQcgg/I6XeCg4ahGK+uQRqAypAQimATnUzXhFIxj1GNFRWKjHoNCUIQiuNFFIKg+ujNoUQyh+GNQOUCTg/I6gdCMbobKcADGoHQZUAQyCPUamZFDZfiPXRzHRQi0oZHroFxRaEMqMghRoh0JwIQiPpqAoyksAdHOlhCIwe41A47poQig747aIcpCGy/MDUzIkILL+o04KkIZXOT8dQuvCkIRB9fTRBQAQmX5eujmRQSoI9BoyohFfodHMohMvxAGmzGJUhBZc/Dvo5lEFh8MdtRrpRCCy/DGRo5kYMoLJ8tPmUyoTL279tDMoL6ILLjt3xogokpu6+ucY0c6aAgsB3xohyMJuy/HT5roG6GwyPTUJRhBIwdGVEBgPTGNMHXUm11NFlPc68e5c1rtlQXP1+egSiXJfSPlnUlJmSCuPlqApw5JwflqSmkK/T2yNBDMq6fnkaMqZlXTpsxUDlfoOM6EoZ1QUnBx20cxCheFp9/wB1UG2o6m43Od4qCmTrrgsbSNBGchJcL38vPYt3x9MHVrWF1hqVZTYXGBusJvbfG3dt0NNe6+80lFbaS7xUlXN5yhQe4ZSfmCV7evy9RkMBNhurcPhalR2UC5H7LT75zztC227bt2db1TU9VXtRzrJROJLevkPIJ54zgrACEDP6L1AHB1a2i6SD06jrGvXp1VzcA8kj00m8/DpdaraOYEvO8ptu2qKJLlO6NTOatIvbadI5nlKU75eWRDGqsF9FdT1eoBawFpJOn7genz7rQ/BgUxUOn0k6XtG53WT3tR3G411DLfr9x1Zb1LAtIkJtE1VVSxsTgGUVMeV6sgJ3VfMbJOTrZRqUgMsOcPUAfVp+dlyhQq5s9Gw3J39LiPrPZRv2lx/vHZ+5dybz2jdeKN2VNTLBLf6SSy1lDXikSl9mgQsKioWonhNF05SMOQuVDZCttdUovAYS5ovHlMmZtZpAvuY9Fuq1n54c2x0hx06uBFydrjovM37QjeHJ8u+Ni+JzgPZFxqPEDxwsd92xNsu8TbiO/rP1QxXCx1NI9JiAyU1YrxSftHVkiDqehfK6nDsE/wAN1CoDkdY8uWNbzN4jQd4Os4MbhWsb4zNR1LRmAuYAkgkT6kDsVLmxeKXYW7fD9tnxDcM8mbY55L0Md1qIZKCmorpdqNGKvFLUNPCaKro3d40jeIeSUMQAWQtrnPYRUNB7C0AxrYT6gzmiTe/wW7BUjVIqsIaxwMXMzcwABfuIvqbr50fGbd9q8LbguW++CdtbNsvBNxrqnf20p2qo7pcdlzVTzUm46EqoWeCip6ynFYRFLLTxzywwyfsappV6lCv4jhmcMwgOA30LXdL6CYJ1GkHDUo+A05mmNQTLQNnC0wIMnpcEAOtL7hng/jvm+r4suW89zpuinoNzX62b8C1E8u2am4pSVdVTJZvIqICKaRKljVx5dVzSxIqKVd2di2MYagE25ZiTBAMzMQdNM1ySdFUKVapUaxjsjuUHLIgETqIEnQC4ZaASpe8RcI0vHO16KtsW56Hc236TY0lPVbXsVA9pFFWTQxxz1gVJhFCivEHVqlvOkaKWUTxRyxnWbHYhpLnEXmQXCbagabzo2wBggmV6fA0qtHw6bYDQYMG5NgdbkgAa72BsQuX0HLvJHiC27DwONtbH3VS7jltMd6sFiremShWpoFc+XVSpT0lNX0lXZp6mJU6pTMsbrJIEfOg0nYdwxGYyJhzrD53JBBiwiNhZc3EVKdbPTczLJExd0SQSQNO+cg79Suh8A86eJvlifdlk3DYdp8T7jsUXk7ytFTUwxT2mptlXHJUzm3KqsPbjO9R7PJKIlSqdyWikHVmxVGi3nc6QTaLgyIAnTlG9zYWlX8Pc4htPw5IETIknWbXgjSB6kajsnhEsNl5ZTkqep5h3dZuNNqVdTaqX+xASzUFxu8LTdUFTcYkLVLwRTR+U9OYhMs7rKXeHoAr12sa2q5mZ7ojNMAWuGzoTa9hFheUmML21fAw5a0gmYAc68ESSIHUm52JEL0KuPDUPFZguGyL1aLfZaq8UldcLrcaOne5mRmkbNVWLEvtgZ5Io1WYq/VgGQgLjmOx3iwxwNrAA27QJt9RCTD1nVB/M5nQb6ToNNoHRQU8XGz7RYa3aXivvu0qiwbxod/WCXc9xs9M3UdqyTSUdRcLk9Liaeighq5pD5oLUhR5E8tWJbo4InMMLMgh2ptmiQADuSALa73sFe2nSBqUxBbGmpuAZibAEmdo1MKTNBytsLc9Fvy67I5ipNv11vhmo7jT1FVR3Skoh0pLSTzUvniNqYwVXmJLDJEJ4QjB3UkjmxDYqN5ZFxY9DeNexBg7BbG03Pe3LckSJkaidLG9jrJXmz4tfEhQcBcgbE8S1Je5KKi2ffIdt7kq025cUtm5rP7TC3TJV1XlU0jwlpKmiYMz9clTArdFQ/mdjC0i8ZCCGu7t5TcTAlwkkB1ha5uBGLEmnTa6oLVA2TqQR0kWkaiXWMCLqbvgH5Tg3RuzxW+IJ7jtG+7W31yfXWqy7ttU7T2+5WmyUkFto5ErcBWV6hLoUkICuS5UsCCcWOa/3ahRJ0bmjeXuMW18oB63E6rG6hTrYms5o8uVg9A0F3UWc4gwYkHWCoR+E3cg4m+3o8UXA24L/AEFZtNuLqy67BpxStFSWelud5hvVypaeXBBiNVNVzA91BZ4xjo6dWurvq8LfUfqCwH0aHNH0IHWLrBiqGTHU6TAeZpcBqczoDp/8ZAHVeqG2fE7S724/tq8HbEk5goUq6qjnvs08lk2rTvHPKrM10qYwKxF6R7lvjqWkAz1opDGgcOLYq4l4pggETdxsNGC/pmyt7ldbE1Gmu+nTJc8G4bci4Fz5W7zJJBtkKjxzrYNkQ8UeI3mPxj0d68SvH1tt1TUUlrWmlpbDM1ErdFJbLQhPRWNWddNBVVctRUO7wtEU9BrbWfTNOjgW5ajiIm7+YgCToARBIYBAnMSgMOKgyV35WBpztb5csEuLjq8gCSJDZEADRdZ8B3hf3RwD4aOFtjck3KrvHKd6rqzeG8Vq5faJKevuFbLcp6JZpQZZUh86KjaQnLeQH9XA0nFsXT8cso3ZTAaD1LRGa2knmA9Fy+EGo6g+pVblLySBuATyg6CQ3tqTEL0IrrPTWmO5VVrssU1LUvJVV9PToqGaTpyZVVfxSsQM47k+9kkYPA8YmMx0sPvot7ABZeZ32gPiH4g4Wt3GH/adunal8s1zq3++7FW+dVSVtigp5bhLOtLTxzTGNmpFpyzoqYnYF+2NdPhdBznuLBoDFh5tGiTAmXSL7fFdHDz4ZBORptJtAM5u5gA6epXjzyXyFbuN+EvDPPyxZ7ts3kq02yn33yfX7rSS0XK63KSop6+LatHc5l8qvq5faJK6WIeY7rkt1CUI3qq2GLsWRTu1kNaG80uFi4gSQ1hgToCbXlcfhWOp1sKarYirLpJiKZmCSQ0Fz8uWJktbEABeldbyvuBuOaLnze1pt3hP4yqpKhbnWw1jT3zfMlTORGtks8SiWKSaGHohllp2uLeaOinUKJdcqphmMeKTj4tQgQyOgnndeBeXAOygeZ7bhb8HjvEa4UWljWmS4iGt2kWEkm4LgATYNqGx2Xwq+GWh5Jtlg3hy1xDsvaVosTpX2Ljkmlq6OjrXIqhW32ZOsVtTH56eTTDrhpnBmeSqq+qoTRj+LnD/AO0+X6ZxMACxDBA1i77W5WBrPNzsTQOIgPltF0kg+d8/1m0A2cWyS43qaNYz16hn82CJ6ajjMh95WDKY/eOS3WPUEjOfU4+evHk3WnL1RKyant1DLLhKeGNGIKqAqdicnHYDOgXSoxhJgLA1tfS1llmZpxJVRMqlYuoFZwewA9cEgj6gnTEw626sZTIN1zWiuNdet01FfLLcbba54ZKZaR6V1kmSGQB0Eh93yuvzf2vu9ShVUn1GjKGN6mx/Yn4bddVqeAGANiRv3I/P5xcrtqZaNCyopwOynsB9PprMSueAksVDBGOG6S3c/DQTQrFcEjv+7RkpZSCM6AMJgkFO3YnOjKkJBGM6OYowkFR2wBqZkQ1D6SfQfD9+oSVISGGfTH66gemIlDKHUDkIQyue3pqZk0IZTHx02YoZSUIrnOpmRBSCp7n4amdQBDK50Q5OEMp+78tTMlAQyB37DUlEhCZcfXRBTEJBUH10ZUKCV+GM6JKOVDZc99TNspkKEy/PuNNmRIQ2X699EOJRyoDKO50S5DKEIgE57jUDkIuhMgAOiHI5UFlzj5amdRrUFlB0cyOVAZfUfu0xdKmVBKgHGdSUQEJx+7RDlIQWAwck40Q5SEAjvqZ0YQWXv9NNmUCAVxnt21M6iEVznv30wcogMudWFwRhAde3f+GpnMqBTPIzryhIXIBVYwMDtoTupKvqEoKtSVFWpKirRUVEZ1FFWooq1FEKWaOEBpGCgnGpKIC57cbnZ9xXi5bLuVJWRyyU8nRJ5TxjpBxlZlIPvAkjB/wtn5GxjoAd9/JaRScxoqtKiTvHZlfW025tvbVmtO4JrZdXr6vbVQ4C1srdDeY8jYg8uZMYil6AGCdMiAd99DENBDnmJETsNfjI7T3BXUFRwhxFjBne2wGvZecnIdw3PQXa/wDKCWfkOz8R0FZDdBtW6Weqq4KhWBL+TRwiaeh646h4ulRNBP2lEkTZLdSnQIAykZzaQQCY63AMRqII0IhM7iTXEUSCSBcwbXIkmLzeWkXJETZce8P1dYuMfFFyRyRuHZfJXFtXV5vW3rJWUjz5tNXSpTtSu4zTuXlENT5yuYGcuA6tISa69N5plpg9SCImQdR00uJ3hWCvTqAMa6RaAZGkjym4JOg6yB0XpON68q3Tm3b2xaC6bZNptG3I79uKZ6iUVdJa5x/skVQvS6TFpmlVZFdWMdJ1NhmGsxoUvDc+8gwO5+m1z6wgK1JjGtyznNriwGpE31EbyT2Ut+P7fBfbDSVO7rtUzXq5KzzmmuJkiozCqfgR4x5LGSUnBBbpEZJPYDNWcASGDTtBv8e3zlYMS5zakssBp3/cd1naug31DBe4du3y1brmhSmpaP7xLUFVTxt0lmjqY0ZfMUpE/U0WGZFDdIGdRjqZjMSAbncSNJEgxc7yO6yVC2RmZe8xpfsdfSQvAjxibf5t8AnI26PEFwb4cbPyj4U92XF63m/YlJafNS31wX9tuOzwvIq07SpIxqhG3s8z08UjOjmV19Bha5xDAzPD2jlMiSOh6xtN76G05cRSo0aorsZmaSZBEkTHMJECdxpFwoML4LuJfGVbPCpzptO6WCl29vCx7qlrKfbURtMzLT09tqYKB0pRIjVeZR7Y6BuhlljWNhB1S7BWhrvEBdGXW+riO1hEDQnUkSANjnsxRD6PIy9hAhpadROriJgyBpBkrzn5t8JXLvhE5q4t2NwzScw7+493ZvCams2y4aqejrpWgR2ktsNRVU0CymogWVAGQSjEXusSua2hlQh1QwRrMfOxdEHaYPzXOqtxOAAdROZrjYNOYgkX1DQZ62O69Y/Bb4v+VLxsqwb43rwvztvTwR2S011ugq7XZ6hXqam118scibuipUnZQ8lQka0jGWOSSmD1LLEVcGlhqhe4jKKh0ki0iBlkiTYmQBlnlBK0HidBzWtJc2XHnDTmLhd03JaA20zLoImJXrrcOYdjbn3HxRtzbnCV55L2HuPZNferbZ7ZZqK8UcVfTOlLAtBVUk0lFDEJLhUsZlmRKd+o9SAtjnMpYjnOcBwIBJdETM5s0HRuhBLhFittOrh2DKZbFwQCLDKQAADLrgQNBqVCPYFikj5R8XXJG2OPfJ3NZH2ttKGybqpaqOvsN3TatKa+tqIoVLTRoXVorgvmvUrEghleMBj0OIVMrGNpugPLjI0yl1gL2n+m0TLoWvhdcvrvfUvAE31MugOkGbQCbgCQAdFIDw4eK2Cw7q37w9W8PbzpaS7XOroKuhhjobhZLXdYrZbwsdXXGRhTvUxoalxNEmHDu/v9WufjPErhtUOgjQ3FszpgRfLpYkdNVaOGUc5DxEwTIMmw1iNZtMGLQF3e0ty3um8VUlw2zyBv3iukv9HW7et9Ikdvr6ieGHIuklRU1RFbbYJcCKCSJJZcR1HvqsUeoMlK8gVLiTsOkC4e4SNSGi1nSQ+Kc3yGAwCHQM03nKLAEaSethI1x28fF5xlt7ctqfm+t3XtpZ9w23aVvt+5Ns1NoFTU+3RNNOvWjRilaaeJGlaaQfsekg5IdKeDqwPCZIubEOjlIFx8SBAuR0shfRFMlr8siZkg3iBeCTFtALkqA/je8MtRxJxDcPFJ4X7htjcvGa3E3Xf+yLZaI7laY6Y1bvNW2aGIxRy0bvTJNV2iRjTyGJ5qdIZg6y9DCcWbXIoVXFpEQ4mLx+KZhwk5XASJgyNOT7g7DVy9lOWkGBcuAgSBu6dDpbSN5b3GLivmLhvk/b+4tkbQrPDvvrajmj3LTX6Or2vumskpnX2un6kf9vGqR1AecQlHiIRpTEGGF5ezmzXadIOYCbz0G03JnvftUTTq5GEklwkgwRBiADO/9ItEWGigD4K7nb/BjtDf3gE5e39ZZtv7BuVJv7al7v0sVopN1bLrkarp3xPIkSGCuSop5nVpFBnT1HTjfjqrXOZXYCDJb1IcLDSSbG0QTHdYvZ7C1KTamFzZoEiP6Sb30kHWbC211x7d+56TxefabeLzetPHyttzi+g4P29bI7HDZ5bVcuQLfJcW9jiYKfaqO3VLuJHj6EqaqFVgVF9oAeYCg6lhXNqAOeKgtIcAY1I0LmiYbMBxl1mmENWcfRbh35WimZdcSMxJyG1ibeJEZcxbs5e/3Btk46tPHvF3FVntO4ty7ModqUEdJX1ErwQQU8cYhSkqlHlxrI3SyhPwRtE4ypRBrjcQrVJq1DAdO+/cHW0TO891to03NZTDLA2gDQa6baxAE7HefN+n39yh4nrh9mlsK+S3+j2Fdt0UG7mtUrPF97rtyNK+43O5lnaSupZaye1UNN1ARNJ7RVHrzTMO9QoU8NVq1hGZjSf+0OGRgAtBMl53DQABJcsHEaoe19KiTzOyuN7w4ucAYiGNbBDfM90Ew2D9B1PvC3xVMtjr6inG46eCN5Ih6ydfmKpjHqwYxeg9Opc68bfLmHlH+Upw7iM40J+5+aiPdfF5Lve/b4438MW2rbzJyBbqgxVt8r6/2LZ+2pSD0w1l1RZDVVa9JZrfSJJMoPTK9P8AiHVo8KcaIr13eHTIsYlzv+xtpH/IwzudEmJ/lVBTIzPtLBZw08xginM2zS+IIpkEFeA32h20OZ9geHWz3XcPI/DNh3jNaawbgusm3a97lvjc94np6GkjZKyR4qeSWSAxqsPX7HSBuiIRque7hXsrYinRpZgJY1rbQIOYkxePxPNi42m4WjEUH0aFXEVAHPAcXEmwGUtDWiBaXZWNcTzHNrJU1Lfx9tvw1793ZYd+bu2t4pfF9utaSO5bTsNrqRuC83euCyVdJbPOqJILPYY4xSIaypijj6Ij50nWFTWili24lpo4NpZTYbkkBsAk5qhABkkkhgJP9Iddcyo6qyi3GcSa245QJe1sQwCmw+cgCCRFyC4tbcdeunhZuNdW2Pkjnm2Vke9FimWl2/aFaLbWwrVUq0MtksksPQXqXWGKGW6dpp1bDJTwdMesv8TYwkUDmG7neZxF/KZhgNwzsJLnLfgS+pyvgAeVo1bsHF1pfBNx5JIpxcmWlsuVDtrYdNu6y2mtt+2qid6fymrpYIRHJLKsDBWK+fPMFGBMgReuJRhQpPHrvJPhvPN1gHvH/EDci5v6LqUKYe/JOmka2sfgNAAfXqpXW6W81Nism5aGaqjiCq5pnj63npeggBu4w5OWDZxhh2A9MLyGvIcuYQ3yfXv+y1fcnI9hkv8At2lW6W+osElNFWVucMhhkmEUIZgcL+3Vsk9sRupGe+mw9N0kmxFh6wT+X5hX08MTTIA5r73ga/RNd/3OtsAod6q8dRtIXYLeEasSEQ04c9NQ7kH3FaPJAww6vUgFdJRLYibxI9Y0jqdtvzQogumnF9P33Hx7Cy5nxNyBSbuh2lUxXG9UlxltlLJWUlbEGW3VVbUSyrBIyAKkpSNm8tjkdS9h+HWutQDJsIsPWGyYnWJ1GiuxDTLiNDJ9QLT6fp2upAHf1htVNb4K+dKdvLnWRi46IvJdYypYnJY9QKr6sAcfDWBzCbi4t8Z6fqszMM57iAPvr/dIW/CoqJJpJAAVZI0Vj0O8rgRqTjBKp0scHJ6sgHGdPki2/wBk/fqpk2/zYfqV0JVcRqHcSPjuwGOo/PGqS/os4b1SSnYY/jo51AxJKkflqZ+qYN6JBGfTGjmQyoZXtkeupm6KZUjGoTGqgCQVH5aGZNCGRkeh0Q5SENlz6DUzIoZGDo5ggENlz6aOZFDKnt276k9FEgrnRlRCIx2OpKiGVBydEORQiPX1GjmRIQSpGNHOpEpBAIxoZk0dUJlIznTBwTyhOvx+OmBUF0Ij0BGoChCCVxjtnQzJkMjscabMogFQe2pmhRCYEds6gKkIDr+ZGoCogso7nvps2yMdUEj4Htoh6mVBK4PcEaJeoUNlyfX/AMNTMgE2ZPjnvpsyMIDLnJzoyiWoJBz3OmBKWENlPc47amZEoLj89EPUiEBlyNO110VMrXlJ6riqtTMoq0CVFWoCoq0cyirRzqKtDMoq0Q9RVpi6FFjbrbY7pSNTtUT0kgIeOaIgNC49GGexx8j2Px0ucbp2PymQoX8x8ZbvvDWK/bH39cNhV1srzWLWyMnsfkufNEbnpPTCzLHkyZUK7FR+LXRp4ikRD2z6Tt97brp0MS4jISbjaDOxsdx/lRZ3jScl2+dmt3O+3IjdbjU3WvnprdHDDUQzoUQQ1JdljghdpveTMiRnKu/QAIxtMmADAteddTYXk9NNrLuuqlzi1rAHACBqQB66zuTPoov8b8fx88Wem31uHkvek9n2b97UVsuO1t/1tfVzRKXgNaFZOilo36SiwlY5qrqhEq/s1RuzUqigPDawHNEgtjuATeXdrhtzrpie19QtHkdMgy2JvIbHmEyS6YtaASTyvjrw08/00dx2/Dy3yrxJxsm4XvUPIN3s9LXWxKaoZ2ntl0tNXDNT0rFoaeV4S5pBJTRSGZJD5I0UfDdztbmnYO5pGhBB5rSJAnYA6rnY93guays8Z4J05SJuADlI2tM6kGDBtvrZfjz8Gt92rum9bB2p4quCK6ul2vb71s66NDdobM9vimSrrIJI5JTCtTSSVS09LU1EeEnjhgQezhYwUK5JpOyu1LXDQzFjoTBgkgHc7rGzipY7JWYXaXb3uZaYygHpNjroFIjibxoW/eF6u/HXG/F3L9p5MpJTIl0o7zaLo9VTsoboloqmsp6iUBfPMjvEirGIZIyQ8esFTAmS15b6cwj45YHbWSYO66tWuKsv8zQNwCJ3jK5xnSR0kyu58f8AjkuWx9lRU3iV25eOGrzb5pkuFdvKgq7Vb9xqk7wq1Bcpo1plqmCjriaTo6ukQs6uGWmvwmpmmlzN2yw6JG4BJi+vzWem+lVguIDyNNI/8svwGvVTYsF8pNxU1+r7hb5aulaCqjmsW4YBTSGkZx58ohmUxVsTKY0LpmP3mVZH6yDl8NwjLra4uO0EafG/YKqpldlpdb29PgQvACLgyt+yS8T1n5WsdUm8vs9NyXi4WvatCblPSUXCG671UUazPUQ95GttX7AKRHiHTTPMgkHvl39KMacZh3MP+5bMIBJDZNh1kyZI6hcNmF92r5Yik6+1nRlEu/pvA13la94+7rvzdXhbbxUW7imv29VbG3zR8w1F6So+57nDcqSRKSrjmhYzzp00c3moJGgLGjOQQxzVg8rX+CXC4yRrY+gi51ubFd/ixApElp5YcBtyRpMEixvluRHVc/Xkk+AnfXJfNFJttr34SeQbhZN4W63W+8xqNl3KqanofvydHVfbKKujDTecqeZRzVUUzowmaVFdSFZjaYtUFtOt8oOxAgX2BAOxlKrUo1nVwZov1IveIzGDGVzrmDeNIUmfF1sPeNl8V3Hm6fCrynt/wpeKWagmmt71ElLUWLcgNuFU9Dd6aNWhrWlkbs4iNWzZYOIwCKaGKDsM73g52je9gCBynoL6nKN+isxOCzhjKTS2bA6B0k2Im1wLtudAvP3f29vFRHa99eMfifdm1ucueqSpsdZuizV0b2bcd2sQp/KktaWON2o7zZom8yahuEcYlEVRI8TSJJNBrfVbQpsZQJLWyYm8aGc0S1xGrSNgDFisWXFNq1K9OkCQIcGyAIJkQZk6uzBwMzrF54+CG6yeJDa1p3/tfcvKuxOB77uO6TzXe7WqC4XO910nn0dbb4vMVoaG1+UtNHNHLE0rzI5WOGN1aSkkUGBzmjMG6AxacwJNzOa4AIHUk2GltX3kF1B0HMDcQJADYaLTAkZjoRYauXsDab/Lxlbafb9lvu+eZ9u0lI9JQV9XQUntvtQgWpWoq69TGskcat5RKw9YwFIcjpPJxL2vJq5Qyds1oFjAuZJ6nW+8q/C4J5ptZUIzE3MHcwBAs22gECIUZvFtvDbNr4Q2fc7bdk3ZR7uudsFvpqKrM9uv1YGNT7QJoiJCnTQ18riIO0TwRe6oKsLcNSLcVliInUXaNNN4BGsAybqyg41aLgdWxPrIOWRYToDuJtaFA3nTw2Hb0VBwDuo2d7xdNy00dtvW38WOqu1kInr6iZ6aieDqqI4YrhElKxkGWSYNUBuhdTMW10FskAEkOvEWiTOstEiANIGq2YWmchqkEOmOUkNuY0kCGiS4kEm8wAsX4ZYN9+HrbfOOxOQLtt/k7w43C1U+5t0batLSuKawSJGKnclHFTsvQaOeWOmvtqhjTzQxrolLyyQzb30aWIaL/wAwGAT12aZvBv4bjYEBukEeXqVKuBr08zTlM6RvuBEAkai4vNpgx28SdVwduzmj7Mvd11ue09yWfaa8g7FoatLv7VUV1ZbbHDNSiKvmSfzZjV1tHLSlVmDOwYZMmVuw7HltU0pzVGhwAGknKbCOjg7QATMCU+JYx76FOsQclTmJgghzXPuDAIgMN5kwI0BX4TNj+Irjr7YxrVv3iyz8X8s714CpbzRWm3VUVPZZ6m3yQwe1+ZIsrtJBGJY+pVabzw7hgrK4pfVY3DVQ58tzC/QGZAAiAdNQMpvuDRisXSOPpOqyGuZlIN8zmmWgkGLSC7USIjLC9ceN6em5Km37cZbpyLY+DHt1yvN/3PUu4uG9LashlmS2QxuTQWjDApWnNVVpUS+zdCP7Q2HFPZh6ZzsBIiG9D1ed3dGCBAGe3KfSVsTWqVG06Lg05omwAOkMtDjrmceVhs0EgFvm5R+I3ZfH3jUruOdtcd8wcp7r2VxpsuybUtW2dv117FntU8dffamhUjpgociewwCOqmjEcNDGGLLH23ZK1WnUIAzFzsxJaAS1rWAkkx5s5kA3NhdcoVcJhsQykXkU8ssABJIe++gJILWtEyJEQRqpY2r/AM47xO+JnaVy542/suj4YlgjpKvjvau4amWz000TIy1G57lCkTXGeL2iQtQ0+KSQMGLTxxiR8VMUMK1zmODnC+Yt018jXa6QHOuNYaSAuo5tZ9EM56QOwLfEMkWLhPhzplHcFzrx6ZcLwW2xcb7G2VYv7GbYtkdmeWkoLba1tlq9jTLvFCIQRTI3UroYyOgOXGR2OXi+IFTEPc4uN9Tc9pH3pG65fD8I+lhWnwwH7gGYcT9e5Mkncr5s/GfdN3eNPxn1/HFTv+88OcI8QXRdpXHc9BEI7nu/c08NDILdRJNG8UFXSU9H1TVCK5p4mll/AzhOvw1pEYksM1CcoFpAcS50i+UGLWkgBV8XzVf+ga8BtMZ3nzAZ2wxoBsXHMYJkAEmV7X8C7C494TslVdeLKpbtyNuWme83LkDdVVU3O8bulpnhMtbdKt2kkmkMQcRqWAhRukJG2UGXHY11RpaeWmyBlaBAzdI3/q1JIiTBK3YDhgp5fFGZ7rEz0FgDAhg/CAA3cCLmUu6OWLNbeN75dq+8Rmj6WuFbU08LGAQvOZGFT1H9kHWKaIHJQZz290a4DcoguEAWv1g/vfddEYMmsGgenwAEj89p67qFj8l2bcI29w7Zdw7fvlDYqiz3mVKBBcLfLT+1wxwTm4F0hmSmT2hVJdj7RHEvSwAfXfoMzVRVMg3A2nlMwCJ5rRA0cTayjqWVriRzGZk8wAOhAmDPmmLDqV6Mxby3jLRbyuwti2ujiukcdM89WzFYmp4+lmVIwqF2cjpDEKcdJPVgccU2NDZMk6279Se2sXkrKMNTztZ22/ydOh6Sou8v36bZ28uVbjPVbRoNuGK2XS5Q1XnVlNV0ziog9kpKdEMkxaWT2l44lLhiMK3mYFuHcHU2ls2JiNZgGdfwgWJN+tlfhmDK3rBgm0QZudp8o/wtEtHJfI/KXH3GNDx6lRZoJ9u0k9LdLqYk/tAlbS1cjSPSlJegSrBI0bsPxv04AXzBfjMK1lR5qmALQDcAAWJkXuPTWdi+FewNFWzy4yYmLEC0gSBPabCJkCO3hY3RdLFxruPalo2HyDuy2Wfel3qaW5ewLWK70VTUNTVklZUzRF6pTDOAtO86SgzOGBDpHurSaVJ5cAMu5As4CYA2cIJJAgEaiSshcxuJqNfLnSWnLJ0IJBGgykhp3lsQLBKr+a7tyBy3dqm0bjlte17JPUWr2VrfU0s1IlwqBMKlDNGYjWO0zxRxzOo8pg4bD9S0soimAXbwJkRy3AsdIALjrsdweo2mS00hE6n4gCdJMCYAEE+gj1X2Bua03W6UT0cs+4w0JuFIKctOZ8MqPOAhIUKZCque8hkc56VXHNe05TFv0B9dzGmwF7lcrF0SAM9p+Gn5xv05QFvVt31VVe7UouimFqqonenAYNJ5cCkyTPgkKjFlRcE5ZT379s/hQx0m4/WAB66n0VFWlDQQD0+f7fqt3tt6WptFbWVR8poZp4GY9gegt0tkgDuAO47ZPrqh9ojdR9OHQO31WYo5fPpaZ3KGUxKzAEHuQPlqPIBsqiE4KDOe4/LS5kAhkEZ+miXIwkFc/loz0UjdDKkZ+OpMBHKhsuT39dDMpCQUPfRBUyoZXUJhCEMqRkj00cyMbofSMHAxoSgAhlCB+mmzJo2QyM49NQuKmUoRUD4jTZlIQ2XJPpo5rJoQSProh4Ri0JDL64A0cyh7oTLntjOiHKBBZSO/bGpKMILr8f6amYbooRUHGdGVAhFSO39NGVEMr1fEaAdCJEIDAHI0c26kITKB2ONHOpCAU79tHOmg7oTKSfQ6OaE1oQWX4HtpsyIQWX44GBoZlCgMvx0cykILJn6aMox0QGUZ79safMgBuEJl+YGoHqaoDJ+o0cykJuyEemma6CoBaFMY/nryxcuCq+eoXQoq1JJUVaUv6KKtNmUVaOZRVqZgoq0ZUVakqJjX1U1HD58MazsCAEDBWZj+EKT26icYBxn56k9EzWzY6KKG4N90thqLuzbNtbyUVWaWiqbfVqKoiXu49kCySlwRIvkBHLFCQFBB1qotc85A6ZvppGh2+c6arvtweZoJcYiTN2/A2HS9tQLqMPN/BOyt9G38h8m8fWjaFzgmiqqumrNxyWm3UcMEZElwdIJc1caJLKGaQUzlSe/uoD2MLiAx2WQ8kR5cxk6ASLEkWgu9CZCGHl4NOgSI0LTE7xbTobEa7cyipb/DZsbZfFnJ26+P/C3vzfXIzzC7bZ3DZautal3Nd5JGng9usdXXQSNCjTRw9Uqs1SJnnKq5wnXdi3tcKTHNZsQQ3MIEHmykdTE8oGX15NSo2pUnEOmk67occpFzFjM/1Frcs+Uwtd8OG6tkb6t9ypOGOVL1Z+QdrIslZtnija1PspqipjAnq6an+8Vlrq8GVpIJoSpx09XoBqnEV30+XEMJB0NQmCBYEBgaBa85tO6avg6VZgLIbeDl5yCZs7OXNABiOUGbQASmtRxDwt4p7PuS38Y+ILxU8MbNo6ikv7Xat3vXRyybjEsksc72oyezrSGalErGFaaWYUz+QESbzpK/eS1xdiKDHHQgDQdCdSYOhmxGbSFofgKjKLaVGoTUcSQQBBy//EAXF4AaDYSZhl4cfCtc9zbPufIPEu+r/wADeKnYG4btxxuraVbeG3Pte80L3COuoeuVzHchb2pp6GsoZ4p0aHrDBCyzBjisTRaRRcJa8Bwc3lcDBBlplszIcCOt9FzKLq7qxqEWaDyuG3TMBPcaxpGymzY+X+ZrXxZd+NfFp4eeW94UiXasstbu/im10m69v3dY52Q/7AwNziBwY5FnopUdw5DMpBOYcNDXCphqjSYBAccjr6bgDtD5iEK/EGmqW1qYaCLhwLgAROwvYyQWgDvqoveDnm3wl3jkfe/hI4/3fvPaK7Ur6DcW0bTT1+4tpVEdjkibzacW24NTSrNSzxShkiSSPyZ4kZiqDp1cXOIptbWrsEukGWtN9uYSCIIvOot3s4UKdXMzDPa5sSIIdv6G3Yn4KXvjl8O/JG7+L6zbXFu663e53Rcotv3vbO9o4rjabtaJ4JY7gKupCJVRR+yq6+YJHkVhF5eH6Nc7A4tjnZ4yFgkEE9bWMg8xEAR3srcI4DNSqgODtojpYRG0m9oHwXyv8l+I3kHw++BrxcfZ0+JzZF0bkGs2zchx7f6+4jz9x2OS+iiUp50onq7lRzJVxGPy5KiWGOMsiCMZ6zaM16eIY4ZCWzHWJ7xIg6wCTcqjFcQdSpVMPVzZ2teAdZblIEkwTE9JMCBde8925D4D5G4s8OnDlJabpy9s247bqtp2qltVmN5uFdt6SywQSwlaUmanB6kppZKiNfLmlGJFc9KcvPXdVqvZ5gZIkCIdYmY62jULucOw+GoYRjajgKbmtaC6YJDSNIMwBJ0jcLz58Hdelkr9qeGPxN2Tdk9w49v11vd8m3FfEq6xdqT2txZ6qSaNkkWCWmqLfbxEJGR6ujmTpy0iDqYkGPGpgXAEC/PmEgDrMns2+wScOqOc/wB3zONQGGk25IMGbmABBMC5ANzaX+9/C1a937w5C3b4Vt47S23yWFudpoaiqlq7rHXQ1kcU8Fpu5lZZqK2OZHi66Z4GoqgUs0bITMmswqBrTTxAIBubBvUF1/Md7zmEiDYrXi6jg6nWFy2I32mBl0FiYEkbRofG7weeIre3g48Re5eH9y7KbhviXebUe3rtZLnfoYLntrcD2KeWgvtNUxienklrIqdKCR+lBU1EVNM6QyVBOt+PpGraxcJywDBgglsWO8gbXGy83w6qaFdjSC1jozZjffnv1IILrSRO8L3/ANrcv+Jm08U0vIzcJ3nfO4WWO8VcFwulst1L7VUUsKR0tRRLVSmieQSrVZcqYnfocN5fWvJx2BaH+E17RAjUu6yQcsEDS3eNb+nwePZXbJpuAOggNJAvuQ6TpDtomDIELuXt0bI2zxtYL9zvx9uyi3nRU9ZaaO9LQ098j3JU3B4KetmN6tk58u5e0h5qUuKeWRykHTLTmQx9OnXeHuGHhzCAIbbKBJaC1wBIjWZGriQYnLmlrTiR4T5zHNABc1sHLGcCActogRF7rMbC5L8R/KW9uAd8Xq5JyLxlV7e/tEu2p7bBXXafbMNPTwVVRdK+J4Gp1qZpZAIjGrI9JUxqzr1MaRTZSFQi0a3IaHHygT5iBJ1MiDA0Re11UU/DIZfK10cx3JgAtBENAIEtJNyV1raW5uL/ABFcu7jqrlxPuCssu1LnLYV38m8K2wVVluUjyCShs8zCnq6qoKCMTU/mPB5UMJHUfcOOpUdRw2Z0BrtA5s5gBEkXAaP6rGSYHTTVpeLiG0WE5qYOYsjlcYkE2mRNoO2YlfPre9t7Y+z2+0q8Gtql5l3LuDwd0tdd907PkqZ1pKiywXCOenqaepmdFSTzJEpwJSSXp3hjZ06T0dbD1c/iOc3K8tAIvHURBncyOs67+Xr4I0MZQw1SoPCzkyQDDvKZMAdgYtoIXqj44juLlz7WL7Ma5znenEtq5D2pftpJuGuqIYamt2/UKGNNBHTPIYJzHPUIZ3UJ11ikdQiBWvhjGUWVQ+IbDiAZki8GYtIAImYB6q3ib3U34atSiZeNPKS0Am8y4zIiwtN5ClJ44vGDw1wVZ9yPx3c75v8AsdDTyPcajaNG1bZIOiGoFdapq2N2gi6reJZVp0LtEaNWVT5YzzMPTrkipVZYkQXQM1wQQDBMuIEjXMvT030KDW03nK9jTDQCSwQAJAEttOsEgabKG22vBdztZOL+IN73KzbD4/5Q5YudVvHd9YldNN7DV3VaipENyjpIgRQw00dLQ08PmdMPRI74JJXuYuM7qLTmbSEeWbiMxEkcxcZJiwygbTxeA13vonG0m5H1HHUkcujGgieVrI6EuPTSVV621beEaLgniGexQ3kV9PJY6ilNzqB93TQMqw18tbJMEhUSrVyjzEleHyicyrFG6cgVg57sQwhpF5iwt6GTEExEzaC6/q6ZLKfguzEExZ3MSZMC4MSQ0X2ANgQu8eILxJJ4XfCvuTmyuWj3DylatqQbYsbUVdldw7quM0UNEYlljVUpneoiqVhRBiGbLIfRaa1M4ysKFEFviuAEzIEcxNySR1JsQRYlczDsZgsMauLILaQLnC0QNGiIF3csnVaP4f8AjDbHh18PK8I3Pd8t5v3H9LW7hv25amVXe/b1r3qBX3y1VAlM8VRBV1DQiaMFY2icO3SWOuni8Uap8agIa4BjRN8g0JGkOiTJE7Bcbh3DWTkxnNVc7O8kEQ6xLSTYwCAAdnCI207ijm6p5E8RfIPAnItveE22726lWTbVNTtTXq/1Lf7PfIMRRx2+O4Ukc8zRuTG1RTzsWX3Q9TKLBTFU6gnUkZWi5aTvECIuAe9uox/gk0w2IF977GBOpJBn+kbLlPLOxN8c28+cgb52BR7Y/wDM3s9rgtVypr3cKqmTc0lc9QValmhE8T08c1Eq9c0CisWpRW66dxI1GGmk018ReoTygiSIEgmbiZECSRAJhwyjb4tQPZh6YOSDmuBJJyuiDHLcONhchpNyp0bbXbF/4Y473+914Vt/JFnv1uNztUl5o45LAWnpYqiywy0xWGgCBYad6fAVXgl7EMWFr6oFcsklpJBIl2YkO5iTd1zI2iB65MGwhmUUy1uWwjKAARFvQH4n0Uz6DkWo5J3XuHbuyLNSwbFjs7U91vBCR0y9HRHDTjzOr9shSTqEaSRJgAsesAc1zIpmriDF7Dcm5J9L7lvQaEpadEUxTygucSd5jWd9zpqdzFphJU7hvW6ObJajbFutO6eOqG8xDZ1tC+y113qYaWmlrr3bEOUe2L5qpGaljJM71jIxUw9XSw7XsZnPK53xhpMNzGwDnGIaBZoE3JhnVGvbzg5QLumxdeWi/NlEy4EDNAA5ebmvj45gtVitG+NiNy1xpt17NFb7luPdxs0FNBx/PNVey3GjIknD1spoq6V4rbAskySTGSR6fMeRw9rHFrzmyZojUvHYAHVzQ0uMNAESSCFhmqymTSZzZSQc3K0AAhziSA0QSWzzOMQMpkB4T2dwjuTaO2L1ufjTmbe1W1bJU7dsN027V0ltskDVlXS0MFsttNTw0VJD5PVM5WDzy0/Qsg6+o769fEOfmaLkDM6Q50wC6XEkwIhoGVu5AAtXw/BMp0YbVimHEgDlAAcTmixLnTJc5zz+Igk37TxrsbZe9PFBzFZ7iKev4X2dabJerosFoipae33Q22QS0VXUR4cMKZaJlDSPIAjeYw90NgxGPjBnEOu4ucGkmZ0mLX5pkARtc6anUjSc3D0Ya5wbLRrq7KSN7QRproApj8d7H2VbNu0N625AvH23KmhcpHbZXMtXNNFHO/tFUxWdshuzBwFCL0yBe2sGMxj3yysc2W0WAEGLD166k3BJThpY8lgkkySbk6gdRpYAA20Cdcd3u41m59ybkltQXYEFfDSWy4MscNNV08MMbSSR9zLKodjGHkUK8ilVPYFqsSC2mHZpe7MY1I1A7Cdt4uRCerldFFsyAJ9Tf8rkDT5rauGY3rNiWYVFZXxx1cgv9VTRJHIaypmVJDFFIAfMhEj5aZiAzDC+4CxtxzMj4F8oyjt3PS2g13NyAsuJqZnudaXEidYA17TFoEgC2ukirJZjbRPLUP51wlLM5yThOosAfgTljlvj8OwGuW+oDZun39/msznZvv7/ALLNlkUOzMoVfxE/4e2e+q5spGyt2K5XuCMjUKYAIZUj56IKGXok4/Q6kyE2VCK5+epMKBqQe/w0ZKkIZGTgAdtQORCGe/w0Q6FIQmHfPfRDtkUjRDt0IQ2Ge+P3amaCjEIRHr8DolyACEw+ef10cyMIZX5akqQhEEeoxpiZUQ2Uk5GpmKMITD5jTZlIQSD27EDUDlEJgB8BnULrqQhMB3B7jRzIjW6Cy4PyGpmUjqhMO+dEO6poQWBI7Y1M6OVBYYz2A/XRzogbIDDHfRzJpQmGiHIEILD1+ejKhCCy/PI0cyLR1TdhgkfDUlQ9kJl+OmLkcpQmGR8dHNshlTdgMHP6aMpiEBh69tTN0U2UwWXtn1GvMrzqtqKK/wDHUlRXwfU5zqSoqI9fTUCiTohRXxnQlRXx2yR21JUVuk/no5iosNdaAVcc4ajoZo3h8p2kZgenPdSFGSvx+h/fohx6q2m+CDuuXrsPYUF1S8Wmx2u7b3ESQG4wJ0V0ESkFUFUMOkQKZ6Gchsdw3prX73ULfDnk1jb/ACtD3PJzVLet/W28/cLH0/FtBVX+Lcu7Vk39fqapWWmkrYEljo6hVPSYCwHQIw7Krdh1O5Izgh24xzG5adu+nr8/yFtUcRXa9gpBoa36x+51PURss5vJrNTx7YtNaKm93Ce9UkbxQSEzec0juZHAK9SgeZ2b1AAAY9tVUiXElo0B+AiEMOHQ545QBI6bQP8AHdct5Z4m465WtVfszmTaPGe8Nm09KtXTVVXbR5tD0sCJRIPeglVo27xFSyuQO5I1qwfEKtJ80XGTaNj2jQ/EItwrX5ajQcwNr3nsdRrrNuq8Tubts83eH/kYb42BS8r7blqdySVy7KvLx35L05pYoKaNKyAm4LTYFbJmomqZKSKTqMMAjDJ16DWPAYYLiIlsgC8uN4aDGuWMxtJkz0atfK17qTs1MAS4gSQJAFpcRmIAJGXXYKOu1d4bh2Fz14dOZdz3vdvhx5M5C3WmwbnQ2a9W1LdvWx1NdUCyvJWyCao9toZzSCWCthpJlpa5ooeoKWO88O/kuYW5wwZpOblMc0gAQHCYMuBcJJ6c7G4xrqpd/ts8lgCXiwEGMpIOzQC0EyLL3hu/C3L11pLjLs/xAcsDbcVXJUfdtIbbC91uLVEkzFKmejmmo0MjxtLGC3qwVF6SNcZmOokjxaYmwEl0AAAXAc2e36qzIxjiJyl1yYBLdLNmREAgSLWIIlR65C+zfuXPuwKTbfL3iB5Su3KVovE9/wBqbpoL9TyTbYmSNoUeNZbaGlidCIJ6YsIZ40UFE6zjTR43RpctKkPDOo5xO+mcidwdvguVieGudiBiXVHAiI5acyb6hoMGbi4O8rnnEUvio4b5t2l4d/Gr4kL+t+3HLU2Ph3fFn2daZNr7u/YpPPbJ4DCJ7TeClMzrSSzNFNDGwp53YPGNL6eFdh3VaDMwmXAuOZvSbQWydQNYkC00Hi9dtRzHNaDbqAYGouepsZ3MnbyT+2W4Ds1Nsfa+y/Ehbtv2ao2jui7br2pumyW2e2We/bdujRLW22hri7+x3O31Ukty9gl83zo4A0bv1zFL8DVY/wDmUXEghrbwSHzAJA2ItmEDaBAVnFSMUwjENh4MzJnKAcxnqYm5mwK3/wCzU5PvG0+R/EHsrlba+2dteNDaVHNW7w6Y4Tddw1Fshp6a91MbHBmSso6fb9/j6epJJmrChcyvqvHn+QKTPJsPWS35OzMPQEAxCt4bXa6u11ZwJPLOgJ0DtrOaQRG9ypH+Lyg35tO78Ffal7dvFt3DxPb9mbatnK20rdZJqaq3DtZpluNPcS4eUmrtUzpWqixmXoWdeogCJq6FbK52EBIdmJbJEBwBbBiLG4nQfMjoV6QzNxVECAHZjcksJBMToBAMWJEx1Mt131y940t032TjHaHF0VJa7TT2S77nuF1pjc6Oq9nnmZKWpo3lannZKqhlHUVXHS3SB0suI0GUqIbVqWcfLcjYbgSBcSJ6A9epSfh8M3xWMJ1iCNDoYGmgs65m9tPE7x4+H7xKU9HwVbtubV5LvfM/E13mrdh74p9rWKrkavgip1pbfc445p3vFOKe3wpFUQjzMRIstK0gQN1ximh/ih8tdrzGbkzls2JJMg9bOiY5OJ4f4+FENIcCHDlJiAIDxO+pLR3Mb+xP2cniz2V4t/DRb+dq3dvIFpv1ZE+yd37Ou1ZDV021b9TSZSCokjhhkjRgJTCarHuPEjF/LI1zeJUjSJohgAs4ETMaWkn4xOkiJR4ZjjizTq/ikzYA9SAO0i4v6KV3NvE+3927WvFtS4bbist1WSS/RUbU60d0R6X/APD69S6rUU9WrOJD1nyi5kiaFnVtctmM3JktmNdZ1HTLrpewM3XaoYdrpbk80XieUE7R8G6HebLwp8HtRybxJzj/AOZvyNuu/bGt27qzcW2eN99X65Uho6+zPHbZai1080yxr96BpaiSmnIJlaeeo6JKhJEk9I9zTRL3gAiC4Cdi4CRsDEHSAMogGRyqtXwKzg+S0HksTNg43aeY7wScxu6GghS/2RzpwDbuP77tmapquWuSa/aUFhodlbaEm564V9BUVdopZEigMlvtsrw0sVSZq6WJYhGkzMuHZan4evWJrMEiZzeVoBhzgXnppDQTcgTad5xVGkWUapLQHGQYvlNiGed+ZxAEAAu1iCvM37aaxbq2hR+CTxP820G0uOeO/vG/bGqbZY6Q7kvlPbqugirBLcqqsKQVcszwyhhTQJGizOySSlwNJTZRcX0AS5xANuQSHWDdTF9XGSRBAuuRxHE3bXqDkpuAJcA7zNIPK2wjLoC4jYwoL8i+EnmUeM37OnjbnrlDcF98Mt6vVs2nsW2XLcMNbcuPLLWFqyktFdURxezpVdBiBaLzYh5XkqzLAo11sBiKbK732LmgudqAXNbNjYkDraTeIcvP8WoVwyjMsoEw3lGcAmJyiYJjlkuLRHQr2c+1U4Y3N4nty+APwe8fbsssG5uRd13S5UV/uUytTWzZttosT3CSiiWnp4qfy27RwxxmaSQiORUJ6svCajn4p+JqgtFNoc7UumQQJJcSSYABMDVw6dz2oxDcHws4agBLntZAgCcpzGwAJg8x1EwLkr1I5GoXk4/u122tcd2c4ckWqG47fqtsVF2pqWK+SVM9IsiVUtIoNA0iJFDHLKHpzBKsTAph15XjudDcgaCQZMmIJImbG93RDiROoXew9OajX5gWsFoEAmPwzNxeADymSTJkwC3tcNxcpWk8abn2DtPjvkWq3Maq21d7Srs9NtmneNaOP74iCyR19FItXHQU8rNJTSA1Kly3TILKbKrMribazY635ejiRJ0cABa0HXVqUagLKbiTERN7G4MXhsnMBOYmx0UIOR+Sd6+MHlOwbD5U3fScQcYcDCTcW+7ja7pTU9xbeFRVVVNS0Lmqp0gars6LW1K+UjNJGkbxmNpImW7Btp0ScRmzF0MYLiZaC51iXQ6zTpcwTqFz8dWOLqMwdBmVo56ggEAAwxkEZQfxcxMgTBtM56jk7wweGbwsch33fvJdXeL1JPcaXYsFfWQT3i99FNGklPRzGITzeVVTzRg07u7vFH70pYEjFNxNTw6FJhLnXIAIPmAEjpAtIAv8uhh6bGVDiqz4pMBBc4t1guIEE85tN5N7dYTtwJzbztUcseIK0eGrxI8e73obdaWsk1JcoNk26ittKtPM1Pc6isqDdJqh1MtOZ6OCJYleTyU8qZ3fcyjTw7C17mGXXBObcggNaCCP+48xAzREDg4nHe9VKVbD57thoAgkESCXvIAI2DfKCYLzdSs4x29zh4xuEd1cY8f7+4j4Rt+9baJ75a6a31V8ulu2zb6uK2QW64XCsaKGJporbNFEIaLzHUVEpfy4mD56jcM0CpXJfBBMQ0Fz5dbzOJiCbgNAAILoC1Oq1m1A2nTyDyNmXRk5XOgBrRckS4uBdGURLhgLb4dbDxP4dub9vbc585wntO3Jai07XorHu1NvWujrqWmNdHNW+zUdK81Q0UMx6peuWUQ5bv0pqr+JU6j2VqtIXN82YkNBggDOQNrCwnXdX0uE1Kdb3elWyCDIApkuLhaXBkzJEkmCOoKn/Z+DuFr5tyjq+Orlz3vrYVVaaSGZr9undVZTbkgqpYJ0SjgSeFZvM9qkTzCRC3XjD5JF+KpVQ5zKtNrSXQBlZIgEAuzTFoNxNthKycJ4i3K0OrlxILjDrCbk5miJtbKcwGuwXF/EDxHuXw/+HHnCe27j5hroNm7TqauitW2d3XS2JaWlijp6OnmnqKlsdFQqyRCnMeQ/SFIyFyMJxDg2mG87gyXARJIuANSJBvPeNT0sViKTKYrOeWkZiIILiGtMgS0wCLdo8ywu1/AvxrcuO+GOB7U1XuyS+3fbdZufdKXu4TXW63CnaOtuNUtdPUKS4e21MpMaqiSVqhUaR+odB+Jiq5+WKTM0NgAQBAka/iaL3ImIauEMPkwZFZ5OIe0ZnEgkkuDj+EiLOOUERlzOmAvRzhO7cO+HngOyw7O4+uFNcLdcpLTZNtJLIJai4fe0lupqeLzXIwZig9obqYoWkPUQRrjVG4itUZTJEuAkxYAtzSYFgBMgdIWvHUQc40ptJ13i+pkuc4xGxJEwNMVZuFuP+E9u22k33FS888r1t5l3FuOz2my1VYlQap+urlo7NAsigKWidWqV65hAMkMwRdVTHPqf/igimwZQ4wDbSXGA0kjRpESdbk82jUcGuq1iKfiGDBgbw0nzO5eUkSLCwEKH9tvtw3DuTet+414Y3vxJthLZU1tXuO93KHbdmtFupR7THIKVmklkZelewhKTdIeQKUj8tMTXysy1qjSbG/M8nQQB1zDU22Mkz6rC1A4s8PNUBOUZRLRNiJMGOU3G5jyhSm2PXbj3vZuP7Lt2O53LYltlW2PW2un9istrkjpvOqLhVyTmN53BlLLGC5aaQdYiHmJqzFFtOq6o+wIJBJEwOUNYBIvEA6AaFxAXOo4inSpltNwNW0i5MuvBOwi7ov2uCpQ7X3fEthW18a7c3fuSigXyIHxFFTALjOJpGVZ5CuSz9TL1SdyD1Y5GIZUfD6kNJvc/QDYCwFrxaU76VMPmq8TvFz8YFusaxsLLeLJByjuKgs9+vFqsGwbxLbYIqihqJjXS08pw0oYwMIsgl1XpdwDgkkDBVzKFN5aXFwna31In6LMa1MCGAm51t6WufvZdDks8tVL13CtFRRnJkpViCxyMQoHXkksB0j3T2z6/LWRtUAyBf8lU15gDfqswTkkn10gdCcCFbHcHRzKQhFcZ1JGpRSCMjGpmCiQV7ep1M1lEPH79TOohsvqe+gHbohDI9NNnUQyn79NmUQ8amZGEhlznHrqB0KIWmlHKhMv5nQkpghkA6bMoWoRXHp3GhmupCEUHw7aYvULUIj4aJemDUFlwe3fSh53UhDKD8tMXoZUEj6A6gejAQWUZxps0aqQglfXGiHKBqCyj5aIdvKMdEEj56IeoEAjH00Q5SEFgfX11MwhHKZhAYDHy0cxTNEoLDt6afOEYlBK+vbvoF3RABBYepxpg9GEFwMevfUlNkQHHyzpsyMKXp9B8deZLl5hJ1A5RVo5lEvOf8WhmUVZ+B/hoT0UVZGPX+GnzXUVAjGc4GoXhRKBGMA9wNKDeVFXYd8/TTFyiSzIq5cqq5xnUzbqLHxBVjEVHBT0SM7AlABhsnPugd27E5P8AHTZiTdEti5usZer/AGPbtm+8bjURw21JUgLM3cMX6cD4ls98epwdLmJsrqOHfUeWt11UVOQuR4ZZ6rdGwrTyZuBKC4U8Sy2qiMtFWdSRl5THjrqRH1Ih8vPUGlX8Sgrsw9FzxBAE9TBH6Cdp7db9+nhhRblxJGhkau7AQD6wNLHQEJruHeL02+rRe95bR37Z9k7dn++qu41lpdre8widI64eRK5jWAdbuJQxVWWVujC6uoUXgfyyJdbVvxF4ubAR3F7rFXqUm0jSzS50DlDiYJiJy6E66D81vPI3GVJvw099u0lXW3aJSlv6J4J1pWlKx5gYr0RmUdKN5fvtE0gL4bSYetByAwDrr6wesfLsphca1jYaIGuhm2/W14J3iB0ze+fDtsXl/jjdvFHLNLf937GvFL7DXUdXdpJRUdLB46mL4U0sUgSWExgGB0Rk6Si4dnE3sqNqU4aW6R+R6zvOt5XKqvDgYDZN/KLeh1+Myb7kqB/CHL/MHC3NFf4T/EnuncXIXNVvt9RWbE3KVMX/AGx7NjZDJcOgDyP7TW8MsdZEnQ0sQWZFKzZj6WPoUn0xXw7YpuN/+Do8pMzkdqPlqFm4a45fBrEAj0AOnQTA/p6mekT+3PuCAtYLFa2qrbXVMUj0opGWIzU7JiQqxP8AeN1iVSQT1LnByTrgB5cZIn70t8tl38JhiAahIIGsif2FtCtC594PsPiT4r3fxByLSbnpLbWUsMsM1tenWusNxhZZaK70M3WWgr6aeOOeGQYwVKnILa24DH1MNWFWnBI1E2IOrTbQixXNxOFo1WAmN4Jn9oj5rzX4i3PaPHHwpyp4b/HNxVtTfHO/HW76DjrlLbFyVFortPPIpS/UqxEJSR11JURVEEkTs0Enm9LADv167hg6zauFs14Jae0HlJOsGxEXtKsoD3nD1MO93KB01gDIYkm9ztExqF80XiV4i3J9nl4+vC9R1W7t13m9HdibVtW8JaiMyb/4wr5I7fHHU1TMipdrbE9Va5vM6P2TW+bJC511GVqWJpGWw0ySNmuHNG/KbEHsRquRVFfCYmlVJ52kNEiZabdpyaa3BF19ePHEnF27+MtlcbXuhsF6sN529JBbKOhuNbc7ZVozTwPRVxiIE1O8aJKjSNH5vXMyEnGfL1Xl7nVReIJJAEWBtNgeg2svYvoPoT4ZIaHFp0BO0jW+zoDo0O6hj9lfxtbePOd+ffD5ujalvse5ONNu2So2pW14hnuG6NnV7VbWWpnjj6mZ6GnUWmR+pi3scI91u+u/xnFPfh21wfMSDGxAGa/cwQO5XBZVGCc7h7LAmRBgEX9Lgk3I7r0b8Rm1rxd6/jjb42lS1+y6y/tVV1TFGeu3QtR1geZqZWWZ1WadOkp0P1yg5yhbXBwTywve7QNPck2I7XjvYHqu3gajCyQTnBA1gRb8Wk27jQr5dPtd6O6eGfkKXx4eCzeF+4m5dvFLSW3mKybf9sRaKqWSJ7fuWGBlWmBcpFFJTVSkxyTUztGGczH0WAf4tHwq2jTykxf+ps6yJ1b3GwC85xTBYjA1DimXBF+kGwOW8xBuRlPWZUvPCZ4uOf8AmDZFJtg8V8W8+cb0Vkt183/urivctvFz3RFXzM0UlLQ3JIIae6SPB0XGCKSQwp1wAI5gcZalFtNzqhqWBhocHNEgaSJLmiZBMSYuRmXawuLqVG0w1hzkSHDmaGiwJbIDTrDSTlidYUNfGR4iN1x2j7Q+g2n4WN926JNmWS/Gwck0FvNXYqoy1lFcb2tlqJJKie0tTV5xPSvPHDUxLK3k+YEXVgsE9jaWZ4a4uIlp1aQLAgZc0jQwSDAkocU4m2tTe5jDUaxocA5pEOabAgkOiBJIG0WFz6QeFSXYnBG1uDuL+Jdy7Z23w7aeIrtXVc93tVTS0S3CK80kcVwnwlOayrlhheSRZCzRqxeQs0hUaMeDUe7xA6S5gHYEGQJmANzpNhuVz/ZnBMbh6fgMAeQ+TLZdpqRsTO4Ji8ABRP8A/KMIp968HeGLa22K2DmDkm68szRUltt3VUUdXM9okVUjgWFVfzW8ohAxCYZR1kyPrh8JLXPLWyAGm5sdQTvtcz6aABbeP0agwIFRkS5gDbGfNvMxED1NzoF4seO6l5B4f8Pnhe2/tncm/t57PornapdsX3cVOKWu2bfrdTSmoslQzp5lRAhuNJNTtMweFY6qEh0VGHVwuID6/iNbDr7zLSQARtsQ7WbEbrkcbZXwmAZSe4uaMsGLhwH4rAgEeUW0M6BfUf8AZt77qvHX4iebPHFyHs+wxbU2HsKz8G7Otq2vEiXCKOCu3RWRxYKhRWNHRqYhgxQDo7EBs+JxXu+Cy03EurPLp3yAkN/8jc311WV2EGLxVGmWjw6IvN2+K8DMADaGANAPqdyvSTkO8cZWfhPdnKtlvVZs+groJDG9DBIiX6SWqhip6SrpwqPLUPJJFGie5J1tKgYKX1xhUfVqNp+Z5IAk7mZgyRGsm4sCdF7PBYU0MQKTWgNYDNgAABdwj9Ooi8Ly1+0x3DxPxh4eOV6HdW2bRuDeNgta37fN8iqVr7dx/PNUQz0e3VeSbzKhqysUD7qDqs586rqPLgZNdijXfmFSkZphwDLXqPFpFvwi5dcMbA5nmDzWYljmObUJaXNcdxlpgXqGIADuUDd55GwGlw8BvAjVeJfd995r2xRca7I21y1uW4Q7xqbjY9m0st6pqO5wmX2H76rpvYbFTLErLCnl1NdGaeRIaZ5EyevSw7TTaC8lrTB5oBIvctBe506taIgyXNC4uAxlY1atR1MCpVh4BaXOA0bDXEMaAAeao4CbkPmF7ieFLwib2rt1bhh57vtHsm4VRtd0jrNoh9z7s3ZXW+uSWGju29rskhDU1WqSywU1LTxuYwQY0hMQzu4pRZTy0OYbAfy2NkEF2VpzutMOc8/1XkFdPF8IxFd7H1mtBEy6oTVeAbwAQ2m3NblaywOUXJJ7r4ja+Dw1ffXHnHvNvJVb4l77dRZNrUF23xPc5q+nrvMZLjerbLGYloAsczSsfKjCwsY3EiqdchtX3nKynTApgcxDTyht4DpN4mNSSdIldKlhXtPvleo5ztWtlpaXeUZWgNIAOv8ASAb7KCvC3iT314b/ABGc02as4bo+RYrDebhuDcdfx5Q0Vn23tl6ehoLfTXWWuljkEdvih86mmIapmSriqZI4nkSfq6JqCvhmudU5LgOcTfO5xMACZdAyhoEtBuAQqajvArGiaZD3gDKAXEhjA6DmeP6iXkmOZsxBC3zw/wBbuTxE3Pdl54t3Bt/kvY92qjXyzwUPte3KSsSoWKR6OjaKOomTzKo+Zcrj/tFUQz+wNEsYJLadJmR0ggAc1nXG4uGAAcrG5iN3tcSRe3FOrnO5rQxxkBsObykyJBBqO6uHh0xIa3MAZ9guAeC3o9jcZ7efxC+Im8V+1oKeGppGqfcppqcS08MheWgEs4j65SgY9OMOqgop1zquNYx7iKQEjU5twJ/HYxrve5uq8YxzWBrg3KJ/puNSLbTFhFxG0KPm8tibe8QfiJbblHzLva+eG/jq/ne3KVXetyGps943FS08M1utFenQiSwUNPQi5TxFxHGZLehUM7DWvB8RZSw7eIhjWkAtpxMzJzvEk3GYMaYJzF0HkXOx+Gr5v4a8czgMwDWg5DZrCdR4jiXECCWtJdIqBcGuXiq5N5Y8TO9PEZwpszb29drbd2tcNuT3653Fts7atdTLUwvS1d5q6tZHFxaLpmNPFHPNR0slOk6o9VIsZw/D8mGNKo7L4hbBPMbE5gxrZzR+JwgF4yNJLObUx1DxKdKiwuLATlETBaNXQ0Ma6Tkb5iMz8uV7CGezdp8n+Lu+bn4U37z3zjZFpN02/ctM+2LNPZZ+l5UnirYLermroaMVMVTLHcLtUDqieN6WkRnDJsp0qNBpeKXlkQ4gwINnHyB2UwabA+oTZzhBWDiNepWa2o8huYjmaDEg3DJBe+C3ztDKRNyXiFK7kvw97R44gsPh72Fx5svlvmDclTUbg+76O7XS0+x00k/l1d7ubS1NVBHGhlcLLKJJJqkxrEjt1dHNwmLdWfIIbTpxmLmtgA6NEAGXaBrRMSSQBK6n8TNKkar3PzOkDKZL3ACNTMCxcXOytEA6taes2/wYcS3KW3U/Onh14KrWoV9tjtO2rbRz2v8AZnphevWojjrbgEUKAkrGE4J8klAwsqcfeweJh6hLhuREE65AJa31u4bELC6i7EgsdIa4xdziXADRztIOpaABoCSF2XjHYvDl+usO3rDw/sjbFnjSequVt+6YaVkYSD2elkpMDMSqzS4ZMEGPsARnnVcdiGjNUeS4WBmb7meo0sfit9ZmSjyOMOtFwIiCbxEkR6KS1t4823ZJrcbRRfdVvpB009DB7lNG2fxCIYAOMDt27A4yNc12LcZkyTus/juyZNvv6LdldX6ukg4YqfoR6jWfOqlcjPb4ahcEWobY79jqZlaEjRzbplY9hn92hmlRBP0Gjm6qKxGdDOjCCfj2AGhmCgakH0+emzdE+WEMj8/nqZghllDIzjRlEidElgMdvXUDuiOSyFqSFNkJx3GjJUDUgjII02ZMQgH1Px0JUASGHb6aIdsjCCT8TokwiAhsDk5B0S5SLwgt8fhohyMdUHUzXUDd0Nx/189TMiQZQiM/lppTCdUA+upmUyILDB+WpKLWwgsPjjOmJCJBQWH79EFDLKAwzkamaEYKCR3I0c0oEIDDHr30+ZGEJgew9dQvULUEjP56ObooAgMMg+mmzowm7AHPp+mmY68qBS415tzl5dVpc4UVaJd0UVaBcFFWpnUVabMoq0Q5RXBI9DoSohSytFGzInmSYJVAcFzjOBn49tQuUAWqw3T2qSpoqinlqI2VjChp2xUqW97qyOkFfTpz39dMCdlqfTyw7T46frdco3xdN3bTVLnxxQ017qTOJJKO61ISlLO4V5WmHVKr9PWixqD1uUXA7ur0wHnKTl7/AKR+ZkQJK30aLHtPijsIseu9o3Jg/W/BbfNz1yzvK/07fcfGOy6ftVVUjF7rR18kRIjoqeN6qmZ0VVZ5JMriQGPr8xvL1soUWsz1HS46AXBiJk8pA6RJ6xF9VTGU8Pkp0qZeYuSQAGz6STO3LFpXQ9u+Fi3NbqNNy8j89XHcShxVVdDuyttdNVsZxUM5pqSQRxkPjpTJ6AXCNhmza/ibAbUmR3EnSNbT99AuPicdUL8wcBroAdbfina1hfUgErZajw8bMqeg0HJnP0tajSwySx8i3Or8rqiYN1QzSywA+8v44yBkDGDgg8YY7lNOn/4gH5gg/X6qhr8QzmJjTVjYN7fhEj47LnFNx54gdp2nbNJs7mbb3Ju2dqVdLU01o3paloa28wU9O8SJJeqDAUjqVjJJQye/EQR/j1pZicK8lz2lhcDcHMBP/F1//tv8Ej21KTHMawOe4RqRGhPUXjaLeq7rsHnCxbtvw2HuGyX3jXk4Uz1QsV4CkXGBApkntlbGTT3GBepSzwMXjDKZY4sgaxYnAuptztIc3qOvQjUHsQO0rO2sN/yj5g3H1G0zZc/8WPhq2/4nONn2ncLtuDYG8rRXQ7j2ZvWyRxvd9jbgpj1U9zt/Vnqce9FJAfcnhd4nDK2Bbw3iTsO8nVrrObsQdv1B2N0a+FZVAMw4afsZtHr3BsSoMeHLxV71ve5dz+FTxIbc2xtHxebXudBU3SosMLwWvcNDPI7Uu4LWe8n3fXSIIzB+Omq5Z6UgHyi+vH4IQKtAl1MgkTrb8JH9Q+RAmYXU4VWhxZXJDgIg7jSQSdIm+0DVTe413/yTurdO8Lbc9qLsWnpbgop2nmWrp7lQtTKyVPnELK4MgnXp7eWVKEno78qrTDQ0k6z8IOkdYhdPEUsO1m7iBHS8zaLdtJOsBQE+0F8BvI3M01bzt4Z910Vm8VVuaioZ4pap7ZY+QrPTVcdZFZrw8PvJLDInVTXAlpKaQ9Oeh2C9jhXEqbA2nWuwXBN8puCQNMp0cN9dQuRiw9rDUwwyOIgiTLhve8HdsC2twSDCXxV8ObW+138BPLexuLOPNy8feMTiy7z1440v12c7g2JuVOky0FU0zOTDWUomSmeNhTTlKV1YMpCbWF+FxIbVIyPEZh5SNiIiSDEnUXHrlxlehicKX3DrG4vJvHoJmdxewUyvspuTNp8leDXw4brt9q6tqXexU+z9w2eqpup9v7qtEsVHUW2dZWJzI4nqowy9QZmycuDrJxui6lXeDrqPQjbsBb5LXw3GOxFENjK9kySbxfm9S7W87x01Xxu/9ofE8XD/ANol4W6Jd/7x4op7jaL/ALYNT7PW7u2L7aUutpkndStSY3ghraXzCksM0LdLTB2QXYWvTdmwVU2fBB2zZeUjpMxuCOiOM4VXJdUAlwvYzOki+lgZgagdTMo+PPExZvElbuFOS9m119O3tzUVq3/Ty0lMtwpYbe1HIKW11DDEaPI9Q7PIpGZY5lBI8snGaBoGowxLJbrEkxcTcgaCQLQbGQutg6IqYWnWpEBrwYkXieYyJANhYkwLbEroHJfhK4n5t46ve2/EH/au5WO4W28UF+slFcpVp77BcDGstRU02DmrVwTFIrDyyE7kL7udmNbTdNIAm0E7RNgZi+8jWYhU4itVq1HUaQHhusB1GWACYkADYa95hfIJ4TPDrz/4V7nzXt228ybvg2zxTve42Tl/bMtqaoi2/s+5Uapb9429opB7TSy+z0k1WI0Lxfdq1KeYsDK3q8TQo4ljHNkZxLbxJBnJ1B6SYMkbhcThtWvw3EuY2CxrhY6wQRm3GnmnQ21Unftpdl7g3TsbmO40XFl23zNt3iza24bjvGi3NSXFbDO811qZXS5NIKipp6qmm8+Smp0EU6FJCuFTHOwNSoC1ocGjxCADImAyLdW2Ac426r0HEzQr4F9QBznBhhwAECSCNoBykOABMCCJXoJ9lvy7fuWWl4e5SXdfC3KOzttbd2vU2Ovvy3WKssFXb6iWS+UdSpEU1NXV0rxxxdMgjeNQ7sysNTiGHp0mGqwSHSZjplDW3vYSSRFpjqufguJVKlI0qtJudsWMS4k3JF+UAATmvABiQE6+0i2zxbZuWvskqW3VVlj4/HiSpc2Wk90UapQziokQxMW6DJGvShwFIKplW6Rl4VVLq1R1W58J221o+99StnFKdYUW0mNObxKdyTqc0CNBA1jQa7Lj326Gx+FLV9lxyzuLcNitz3SDf1DadizxOsklNcIK5YlcTBQVL0Ud08yPCnp/GS2NU8PqvFank3aS6xAAuY+ENg6SbKe0JFfD1m1rZWhw6lxiIE9XRNzE6BSr+y9p9veCD7NLhbcm+aSi2HQycfW/dcU8UTSTX/cN1eWuISNQ01RUyJW0NKkKqzOUCxKzYGtHH3mpjPBYMxBDAB0AAPzdmJPTWAsPs5w5rsAw5rOLnvJNmtMASdgA0fEgGUw3zx3yb4nOUuPtk79tm5/C74aJZq3dP3Q13kpN3XmGgdPJrbh7OfLsq1NTcB000XVWBIpWkmpyoQCrUw1AOr1i172jyi7G5uWC78ZDQZg5Ba7l16eLxNdraGGa8BxH8yBzEQ4ta112gENhzgXOvDGEAnyK8ZXJ21PGDetueGTwz8kcIcT+CXgncsN93buXpiprNuXc887eVS0kc8nk1zUdNTVdS1TLKYGxNIxfoRJOhgMUTGMxZdneMrB+IDVxAAOUXAENnQBsm3N4ngX1K9TA4NoLhlNVzjmHLZjHExncXXc3MJjmcMrlrfhC35DwT4hN/cj+GHirxWcp8ZpseHf+7dzx2Kjpp7zU01VVg3o3a5TU89DR1tJV3aN6nyhKxSnEVPCIsrtdTr+BUpVWhgaQMpMC4jK4AOJu1pyyTMlzuuapXwJxLKdI+Ka03jPmIcIcyS1pgGNAwNs2QZM0fEL4kN9cTQcO7svm1K/bXNF5qVSw7XsW7bXWbcoJayAxG0UNj2xU1V5qHkp3dmramB1dsBhAkgQZMPghWLmUC2q6OYgFziRcnma2m1gIgCbWJLtuhi+JilRDsXTeykCC0ODmASYbmqyXOeZkZW5fNAEZlHbhrmDmLxcxV+zuFuUKXwIpbrzHJuzkHlt7Z951V0WnqKaeksNreATRT0TNVQ9U1YRSqxDhJKllXTW4e3whUr5zSIIDWZiXTEku8oa7QkDm8okNJOXE8frVqzvdGNfWESXgNDADOTKXFznN8waQLy9wALVIXw8fZ52TYG4uV7dfuQeMfEXxLsK1UkFXW3O+vd6mqtcME8scVDboZobfQxPU1k5aZWkqI5Z5URwzzSyYa3EQGZ6QLHuNgG3mzQC5wJMAABoyggXEQ1dHA4Oox9OnXcXNeIBcS0GSXPORoALtXZn5zJDrky3r5binhHb2y9/eJXe1zq+a5rov9gLZxdTSUW59/BqiQU9tFDTqxrayOSnWGpSqSRKc9fXJCQ4GY1H1K/u2Hb4j4uHaC3mLjAa3eZgnQGy34msyjRficwo0y4jNfQwAMkuLyR5QBm0NhJXZ6bbv2h3ivkp6XnvxHXf7NXZFwxRW7bXHdFBe9219XNiMx3u7zh4bZUukKCKCjDrl3AnJIQwYbh1FpbUnEO7HLTG5i0v3zGwgaQuDiMXxCsPF4fTbSYd3gOfFyDkuxgEg3zOkgzooK+Ezwq0W86jk3wy8dcicv+J/wabIuVw25VRbj31HYtl7juNTJ7XPFXpZKZa28SUwWJ6oBgk81SI550FMsL9lmMpik3GV6YY4xkzBzyGtNixriGgScrJgSHEBxPLhxGAxFOo/A06rnPsapaGMcS4HldVgvzwS4wXOghpyiSvdLZPggoLDQbCvfLvJ9v8A7JbOoo02vsvZ9ii2ps7b05dmNRFQxvJUVFV1SdCVM83mA++iJIxY8nF8bBqmrRa51U2zPOZxERADQGtEbAG1ictkMBgy1rsLTY1tJxktbJnS73OkuIiTowHmgmCM1y7y3Q8HXTYG99gbYo7XcNx1osc2yhRRW+8bpgDSSNcYJ6mRKeCOmlm656ypBVIZG8xg7RI2fDU313e7PIJiRflZa0kA2OkNEkwGgmQtmJp06TXVXy4g3cJdJsIixccozASBALrNBeOOcT8rbY2Xup95cz7T5PvHiKvUtXNeH29T124bbIWqEjpaWjutDijkoqeARwxrKsDoFqJZY0eWQ63YmhWFMYXDAFmkkBt9XOdn5hJ6TDQ1o0uuHcKtJ1WoQwG4G8CYAAkk7kScz3EhS0r93WWe3GlQ2Sm3TXLJIbbLd6WijMSrjpnlDipaPqPQGwO7/hIHVrlPpPp6XYN4kT2EZZPf6aLdgarq1zIIGhBzjXbbSZ+p0W77bmt1+ulvtdVtqK3Lb2d45mo0E01wbtJ5TAMsSJjo6kdg3SVbsnfI6sXAkEme826nrJm0bzuE9ejkGcG517CLDYkm2oHbUxuFPtKwU9yrBT3jdc08LB54YrnUmOnwmellMhVeoHOAFyfl30lTEZ2CWiBbQD8gJ+MqhlSo0TYZjN76+s26DQbBbtb2t9KkVvtMQanVj1GNupYsjqyzE5JPUPme+qHOJN0tTMeZ5uVl9KlakkH1BI0JhOQhnse+Doyik/rqTsohNg9++pJUSNRXABWx66EogILLj49tSVIScD499QlGENhoyhCEwzjUlQhDI9f66OZEBDYY7/TUz3shCDps6KE2AT8dQORAQz/HTZkQ1BbsfTB0S5ENKGRk/L9NQvTEHUIRyO2cHUDkQEFgc99TNuiAhsOx1JCMIJ7Hsfho5kR3QW9TjRzKQguPj2H9dQuKICC3x9dGeqkIBx8RnRLiUwCCfU+o009FHNQX9fTRDkcqA+fn2+WpmhENQm7j0ydHMECxAJzj5aYFTKgN2zntogpg1Ab1zo5lMqltrzjn9V5BVoByirTZlFWhKivoqKsHRlRW1JKivg6koStdvlTIf/Rhsd3uUU0ZYSwBehCCMhm6gUbByDj4H9WAJuVfQgODswEffxUc77uGTake4rpuTfNys+xbNEzZqamnp/Y5yjdfmzhGdowrqFVjn3izM3ugWMcCIY2T8T8gOvy2AXeo4MPLS0Aud2OloFyBNrnUzC0i3cs3+2WWvnuGw+XuSLiahXpLjabC8tBU00/ZSJpvJjmmEQImbqC5GV8tX6dbhgnmA0BgOuZwBkdpJA6WvvKyVatIXDwYEgN5nGDaMoIEnQbbzqtp2VT+Iiqhp4KCy7V41a9RVFdcrve2jrqygnMnWkNNaqRvZyIklaBWmqvSFSY3HbVrm4UOzVHl0QIbvG5c4WnWzTqufjcQxwb4YLg0xfltFpNyTuYy+sldCTw48f3OpiunIVTvHmC9K/mNPum8T1dOGznEVuQpQwpknCpAMDtk6B4w5oig1rPQCf8AyMuPzXPb4nLLoifLyi8axcm2pJQbr4W/DzXLWzQcL8ZWmrnYPPPbbFTUlRLgKpImgWOQN0ooDBgR0rg9tK3jeKPmqEjoTI+RkK+o8uEPJ/8AJwPa4Oy0K1+EuzbbqJ5+NOUvEBw9SyRPEaG1bzqaykjYyF/OSluQq4lcnGVwFIJOM50zuKhxmrTY4/8Abl+HIWotdkpNog5gNC4Bx+bpJj1XNOVfCFzRyHtU2CyeL7e9j3RSV9PcrPfrrs2w19TYK6LBjrKNqSChkhkADKUDFHSWSKQSRuyHTg+K4amTNKA6xh5uOnMHf21EFJiHVC5rjlLQDAhwEm14dcevyumM+8ftHuMjHDubhrw0+JS3RMzTXDYm7Z9sXmpGAQy2e7xvSF3I/ulrgoPYMB30vueCqE+FXLDsHt//AMmz88iTDYyGA16LgdOU5x63DSB6uJ9V5tfaLcqVO4dkW/xB03h18dHh28V/HNPVV1iutfxpNPa9yWeUqbnte4XSxNXxex1saFknZgKapSCoRkZGOu3wrh1do935atN39NRpII0cGktNtCALtkGVjq8Rwzj7xTqtZk/qD59CC3LOlp1iNFMfwk+LLZXil4G8NPi729vK3xrfunZ9+gpqlZ6vbV1qpsSWq5QRjyfaGkpaciRkUrLKXHVHLri4vAmlVfRg25oNtOhsQBJ9QOq7eA4g2rT8MMkC4ncD8RvaNCATqAIC9EK2zW/YlOKqjqJqnYK079dB1q0dPIzl/ONQxMjJIWKnLEBnU/hJA5VSqDLo5vp8tFoo16lZ4a6zydd/ltGw7RsoT+Kbwm7r5A3xsrxWeEbdO1eC/Grt23intVyqgXtO9rf2eTbe4o4e1RQMclZgDLSysksTAZU9bh/EmNacNiuakemrT/U2dPTQ7rl47BHI6q0EvFrzBbO4ud7biPVfK39mb48uYeH/ALQ3xccH8s8XS8J7I5k5TnoLlYrnXyx0XE+/qqqnloGmk6Op43YT05AEftHTTsGAXOvRY3h2ei1lR0ljZBF8zYvA7iCJ0Mz0XMw3Ew3FmsWkgnSxOnWwExciYmQCvqx2cm6nv21bRfBV3+1bWp3tN7o1Trllrq2dVp6qNQVp0RkhqvMilyscjOFx0515PEFrZe2wMQSbAASQSbzoBGy+iMqMNNzW5Q52Z1hGm0QSZJmdTqZXlf8AZl23bXgW8VXjV8FF22huHdGyblc6PmTYFwttB7VBJtmolakkphLkySiiqQIBGrOFJYhDIz47HFalTEYalWbrcETFyAdwLuAn03i54tCg5mLq0M8WkEk6HVupAAMmwEz8F7L3jdFFuOwUt/uNs3PYt0tX1kG0oI5aimaruCK6qKyKIPGICqMcuroiqznLlAeBSadIBtcxOVpOu1/Q7gBd51E06hpscC22a4uImGzf9Z7Ax4M/aG1/KHgs5Y4W+0qsE143pscU8vG3MNhubUtN9+WCpnd7dJWpSsTLSwVMj0sRdA4jSNSCpdm9HgqgqU3YbYAObbNBHqPMRzG5H0C4/FWmjWGMI5QS12UQA07gkC4JuY3J1K86fGHyzcvDj4IvEBxg/CO79s+FXne2X7dvA9TWmqWs2xQinp4aW010rSdLwGgiiqqSnV2EUM5hMf7II2yvSq1K9Go6M1NzfE0iXOkne82cYFx1uMGH4hTpYetLpa5jmtIn8LbC92tkkt6tME9foH5x4UPLHCPDHi98P279lbc5b4qtthrtnXCOpkS0X/b8NHA9dabpLTszzWeonCsswDCnaBZo48Rv14quLa2vUo12kh5dbe5IaQDo6Cd7g3OkLg2VWU6Qp5Q+LkWbOpaTYaDmtZwkmV57+NjxX7f5Ztf2YPL7W3cNt3PtvxUUVj5D2xV2yJ7psi/ezz07WasELRQTTIrqY5YyiVEbLOCFI0vDOHOOLfSY6Q6m4AzZ0xcEzbrrHrZauMcQDMEMQWZclSmcu4iTpc3JtMzIi10y/wDKRtoV/G/go8EXht9tiuF1vvJ0a3C6Oyj7xrY6GVZamoUY6mae4u7OOxGPQnU4NFbGOFMQzLA7CWgD5BcnjfE3VsDVrPu4uZba+YxtblECJELE+Fa7PtPwE8Z86+M3k2Dc8nB3KJ4dtFJcFagsWwFttwSkS6TKmWevmpo4ylwkDyLE6QxRgOxmuxuMayo11Ec1YZnO1MEGWtA2tcC7jcmAAOjwSm8iphcVyijsIAcWOaGucXawSIEtY0HNGYkqGn2mfi68YPip5x4x4E8E3HXIUHH3LFjKbbocGnvfI9jjlkIqVow6SWjb0q4KrM6STQ0nmTuiAx6fh/Bed1KrAc2HPmCGTeXkyC4TOW7WkgAFyT2j9r6uFwtN+Gu1xLQ8auIiQzRxnQ1IaXScuVtz7LfZb/ZCcB+FPZdt5B5c2FBv7kiZ6CttkG96WWW3bcuMMAp56iChmzTxV086yOkrRdS0/s6xMnv9Q4j7QPpktwhym8uF3QdBMyBF3QbuJmwC4dD2XpupilUcXg6smAXAnmLYExMNMWAJvmJXFuN1359oT4xPGNfKvdt84y+z8NQvFN2h21EtJeOTKawTVHtlPJdAvmUVkFReZYpjD0SSRCGMyIqyZz4au3C4SlXxAz1HnxGtPlEgNa527jy8rTbMSTNgfU4ylVrYp+HwJa1tBopufq7OeZzKYmGmDGYXsckEyO+7ms/GXDO891eFD7PHw58IcZ3G3Vltr9+bu2m9BZbpZdvVkbM9opbyivKl+qOkpHGBK1NSH2lkVjEdXYXiGJxjG18fUJw4JAaSYe4bBo1YNXm39EybZW+z+Ewbmtw9M+8OGpaXim3/APY7NOsRTBPM85rsac2xcS8w3jwk7G3jxPJtvZ3Llle5V26dg2PY96Wpq6+yXVah4rfbaSthgikgo6qkrYZqiWUeWgMrqPMDNix7HVQx7HkO8pkFtwQQ4kE5QQ4AADYNF4C7eCwFJ76nisMeaDDzMwd5c9xGb/lJLnWK574o+Z+D5bTsGk2R4eK28+NTccITj3jegL7b3Laq+SBWa57geDylgtFKRG8tRWiWnnw5VGHQxtw7MWazqAeOXzPdzMY217zzTZobzdbkgV4qrRo0BiQXFp8rWeao68saBsRdx8rBFzYHm/E/GP8A5ru+du+IjxX123ec/FJuuet3Du7flmee4Ns+SKsHtFDb7cYmjo7J0iRfOpl8yYQSvIvSC6rWxlNlI4bBAikImQAXzo5zpudS1tgLWkwnwHCa1R3vfEBNQCGiTkptyizW2giGh7rkkySuh+IDe188bW9dh3Lw9x8lWfwTyK1prtzbFgnbcHIsMUzms+7Hjlikt1jdi9K1ylbqlKyvEkcYSWYUcHkaa+LAe4gEMOUACOU1CesgimLxGbUNVmHx9YsdRpVMpDoNS5uSOWllkOe2IdUuGO5WEua5zZIbB8T/AIPvCrW2jgDeXLPG3HtlsWz7fV7bsLSLT1lJA84po7TT2imQS1FyEqhumOAzMhXqXMgd8jKeIx7n1KAdVqZgDALibSL6NaALiQAYEwLW43C0sBSZTDRSZDjchogXLnOcRIM6ySTJudZJScseKfm2njtnAHAO6eONvvHKkW9OaRLYo7d1Dp8yk2/SObpWyhW6gak0I6sYlXvq8cLp0v8A8uqGi3KyKjj8f9to2u5x6tIsvM1eMUW5hh2eK/aJbTO93Pbm/wDi1kEfiBiOt8U+DbYexN1zcu78vN1548Q1ZDFR3De+6II2lhoUdnW32qgT/ZbVQIzArT06gllV5ZJpB5mpieOnJ4GFb4dPWAeZxiJe6xcfk0CzWgLCxlZ7vFxTszoIAEhjQSCYEkmYGZzi57oGYmBErbzbEu9LHC8ksVRDKlRTSo5VqeVTkMjd+k92U/RmHfOuKysQZWtlCmNWgjpCxlXtyC7IBdi1WFbqjWoWKoCnHqQ8eD8fh8fnpm4hzfKSPif3VoA1yifSP7rV63iba1XBHHCLlaJUYyB7XVy24uxcs3WKVogwYsQw+Pzz307cWQQTeOoB2jeVpGKeCT1+P5z81m4duUNPSJbWtlRNSAg+W1dLJEx7d26m6mPbPvZz8SdDxjM2+X396KvMScxdf6rZYaanpQ6U0SQRluoqgwufmB6D9NVmpOqUknVG1MwTtKsxwPXGkLlZCGxPx0AeqiRpsyiQ3z7Z1MyIEoWoXK9VpcyiExzj5agKiRqSiAkMPXOBqB10wZ1Qz6nProl6IZ1QXxn66IcmypB757nUzoBgQWGD8NEPRyobDPyxqFwRDUHTEqAJDj5YzoZkYQiAcj4ambdQBBYeoxjUlGEM49MZ1J3UDUE9tMSiWobj1x66Ad1RAQHA9fjo5tk2VAYAjRzlEAhBOPz0cymVCYfTto5pRAQWX5YydN4iMIDAYPbRDlIQGAPbvjUzJoQT3+H6aIqdEcqAykfX46OcC6ICE/p3A0c90Q0Ju47ZHroh97oBllLPXnSV4tVqEqKtTMoq02cqK+pm6qK+ewGBqZiorHUzlRV1YBzjH8tNnUhaXurc1s23Z6y/XO+2qwWeNcy1dbULDDA34QWd/cAyV7EjvjHrpM82GpW3CYR1R+QNJOsDpquX7Nt9dvp6ur3rQ0UlDS1krVcq03k091qQemNFjbLNBCixsTJhjN0jpxCc9Btbw6Yc03OnYdbaE6CNpOpV2PcaZFKmYsLAzAjQyNSelsu5zLcKyzVW4LtY7TVPUNaKB3kqx5yziSRVHkqwcZHcM+fewVUYGcjLTeBJ32/VDxhSYXASX9RB7mx+G1l06GlpoBCIoY18tOhO3dV+X8BpfEK5ziSSSdU4/do5glIQpJUjGZHVB65J7aMotaTomNdW+zASAxqkcqrP1HHShHr9fn+h0peFZSp5vlZc+u/JWzNli93LeW9tu2a3UwLTPPOqpTp1Aq7kZx7r9/ng49NMwEkNaCSdLG/ot44fVqNBp0z9Ol9Y6I2zOQdtcgW19y7fnpaqlChYJutHWVeru0bgnKsrIfgcMMgahc5pLXWIUxnDX0SKbrz09LSs/crxPT1DmFXgtiL786YCTN1YCdf+EnAGcge98dQOkyVno4ZpHN5unT4fX4Lxj8cHgPvMHJdL4xfAVVWvifxcUl2t+4d0bJcy0+1ec0op1nipLvDEREld5kCrFXYBLMokzkOvpsDxxtRooY67RIa6JLZEepEHTUahc9vCcRSLqmEPK7USB6+h77XBMWXWPD59orwb4sOKE3PaIL1x5d6e5T7K3/sTdaIlfx5cwD1wVkful4fMQpHKB74jLKq4kUcrGYKrhqpDpMDMCJOYbRE6/T4hej4LQOKa4Dzj0BzaEGbSPkZ16Z3ijxe2zlPiazc02qmuCW2xVQtm445atZKqppRJ5UdV9104lqlZ5uiRYceeEdcqw6gM9XDFtXwhYnQXm9wATANj6SF1aeEyE06pkGYIAiRZxJmALHUCx00K8Sft8/AnuPmHa25vH/4adu7rG9oNvw2nlayU1J5cl5sNOyyU14ip1HmpWUD06GR298RxxuhzTuD6bgONzxhatngy0zod29L7bEkjcR43j/CHUWmrQIcCCDfW8zfUgwRFxGikH9i14oL79oJxjvLcHJ3Kl0oeYLfdKfb28LdROqU9/SW0p93XeQyhwatqm0TSiWPCxvLJGVfOdV8Yw7aDZyyDJB6QZI9IcZm+kRCPCPaGWM0zMEbzqAelo0A7zKw3i88Qx4b5k4H8aFVe6qa28Vblq9ub5SipnNTLx9uSc0UstSyMFkkoLhR09fmMBGEkTqFDHOfh7w5tTCOsXgf+bRmEb3Bi916fjmDNClTx0QGuGhnlgNdJuBe/YCNQvYTjK/0+9dvWbdtPf9w7Sg3VZqS6baSqpIxSUdsKRyQDBJzFN0U9TKMh0kmCq2IlXXHxDwx3huEO1Inf/wD5nKOtzEmVqY4PaKlICo1u9wTM36zBOW3lAmJKccwcKbW8UHE3KPhU5YprZDtXkbbVaBJOrIi1jYL+yCQdTey1SQ1cRz1e9KT2Rxq6hin03Csw+T8jpN9xb0hcviNKkKRLpdeCBf5x1BvqJAiLL5iOZOXKnnr7AeXwsckUi7q8VPF/JO3+HZrBJP8A7XHeqK9rQUJUsoWFqijnMSOSAVSXucHXqTTycVp1qZmnU5t7jKSRPwn4hefbgyeH4hlTz0wWzbUuaG23Gnz11X0Z+FznDYPib4F4isex7BufbIrrdcLRuGhktgVrAbXUewS22silHU08UqNFIoLEtHIcFJe/Ax7arKz6rzcXknc3BEWjcfCdF6ThDDRpeMIytgNGhzbg9CNOkm2gXzufboeH/cvAm2eLfFrwJSbP2rw1uDcW1blyHS7dASjr90UVVU1Npv6RKAkc7oa6jkljALdMStnII9F7PY59Su2nXuWG3oYDgeux+a8rx+hQbQdUws5XSHA7BpbBG+v0I7Jt/wCVZT7kk3l4Ct9bZ3ffpbHd6C83aisERDU9PdFmoXir6eMjqE0scsETKTg+QnYEuWw+z7hnqUxZ4IEztJt2giZ+qycfzNwDHAjIHxpcw0RJiSBJgaXMC6idwHxfs/kPfPir5b8cPLu0N6+HThGksHKu9duWOSuisu5d41FILa1op4fMNHWn2m3mGqr1BaqqoRCkkcZmJ6nvhw1FtbDNLqjjkpkgSQbh43DQJLBuOd0wAtzqdfG4s4LGPyMID60GMuVpJa8HV+hfchh5GtDpj6JPsivDJyHufanJP2gPixqYp/FFyzb46Onoa2l8io2ZtKFAKG0QKOn2ZZlWGplWIL1o0IJB8zq5fHcZTwlAYCkZg5qh/qfO53y97ZvQJsIHYvFsx1RkAANpNFg2n1A0l2smeu67z40vH1Q+GPgq01exLBLyN4jd/TVe1dh7GoZQ1dc7yY3ijqhC3SVpYD5NRPLJ0xxx4DHqK685g+HuxdQ0GEARLiTAa06knQbxeSdNCvX4tlPBj3vEzkYRlgSajpkMaNydLaCXaa+OG3rb4qPCP4VvDX4WNp+H7hqj8U427dNxJel3ybrU7bg9rimuG9LxTxUYjlpBXuvlUvmSxVDSU8SCoZZAPX4pjMZiHCnXiiwMB5SMoMNa1skHO4TeARzGzRJ4XD8Y/CYB1TFUnHEPc4RLYc4y505SeVgjOJnQSC4NHp3w74YuauMvDbS8V7T8QlhvG9NqU1Rcn3ZtrZ1EtgvN8nqJJ6qrmqK5aqouFfUSSOJpYCvW7eWGh7Qrhx2NwzqjXFjvDgNaC6DlAAAaxsQ3pJvOY5rldbhDarGl1drRWqkufOYkuOhcSeWw0iwFmiy8nfGJf93V/jD4H8NXgQ5IHil8dUC3On3lV36hg/s9xesns0pMtTRCGmiMFTRz1bU7xS4Mz+Z5srJFrXg6TcYx+JaPCoNiXm+hMRmBJJBgRv5BqRh4tx6vgSym9rXV3eWmJBIc0SXNDrN0IzGS0GYbGb0K8O/Bm9+DOTt47g3LXXHkTxL1e1mrOTeeN9X9au33CZMPBaKSipoy8VqQK7LS4p1RoEaTqclRixlag+h4VI+FhxGVoBLnH+p0lsn/AMgJIbOq08Po1GP94xTHVsQeWAGtaxtjlZcwJJNgHO1MSoneJTxB7w2/xDtvibkflri/ircO/wC81x+9aWmq4vunju2xzpXS0Kwu00s1wkna30UdND5kz3IHs8PmK2AwbHVms5nloBLQJL3Oy5KcTqbF0uAAa4mAV0ONcRc2k99EASS1ri4AU4JNWqSWxFMAnMc0EsaJJgzW4c8B+7/EzZrbvjnK2XrwscbxWWGzbV4mslyqrLWXCyoEWCffMlBJHLUTvHTQeVbaeZI6OBI4pJJXjIGriXE2UnRVIrViSXEw5jDeQyRD3SSXVDIzHkaAvLcNquDGsweenhWiGxyvqCIn/wD1MiwAAqOkue4l0D0J4F8KPCvhusdyuXhr4a2DxduWaVvvW5fcqdVylicKGluIBq6pWK9QlcuTk9MkbZGuXjuO4jENax74Z/S2wgz+AQN+07yFoo8GwbaznV25i6Lklz9BqXzpsJtuCphbYTc1ViK7XAwVUKsk6RhGClvVkHSOlMjCdRZgM9XcHXHygDKPv/Pb5rTiX0fMwTPr8u8bm0roCuvmGEHLKgLH+Az+46SQsEWlL0ZQBhVoSrQVWimCSw+Q1JUQj9ABoyokkgdzoJmoZb5ZHy1CVckaTMoq0Q5RIJGfTvohyYShk6AdZWgJJOPnoF6KCcjsdDOoramZWMViPoNMHqxBIwTqFyiGxzkaXOjCFoh4RylBb1+GdTME2WyQ3ppg5DKgkEE/PUDk+VCbPr8dGVMqHoZkS2UFs5zjTEqZQkEZ+GhmUyoB/LvolyICE5B9PXUDlIQn9NEOTEQUE6hcUCIQCAPjpsykIT4+nrqByJCCwyARol6bLKA3ocdtTMny9EFsfLUzKESUFvh66IcFIQG0SUYQWxjvol+yIagNjHcgaYFMGqV59O3p8NcEuXhQrA+mO5/npcyJalZGpmSqs/qdEP6owr6Yvugq0cyirUzhRBqGKwSsG6SBkdie/wBQO+pKZuq4pftoHct1p2rbfDNbFeF4pK+JKge09ZaMwo6AgRuqSnrLLmNcKcEh6FQtObQ9tfWdrSOvou4MSwUnUzzSDIFhG8wbzpaNbldLoYKKl6tvx0KR22ipl6CWXpfJI/D6huxYk+pfOTk6DqpcSSuUSSfEnmcfu/3os1BTUsCieKlp4ZvLCkqoHYf4c/L10DVOiqJJME/ZTtW61BOM/HHz0MyQhX0QUECpjgkhf2hVaJQWJP8Ah7HuD8O2dSbJmEyMuqx4slnkkpqmSgp6qaIfsZJx5rRev4S2cep7jv3OnZULQQ20qx9d5BE2PS35JleaaZJqGqpVfoDCKQIgbyxnKtgYbpVu+FPYnPbBOgXbk/VWYdwgtd/n9PuOih9yVzBw3xRv/ZnJG4dz8f7Lp70tSu4b9WV9NJQC3UBSJFdg2UqPPrYoY2HcebJ1h+kKNuHFR7CyCTsBOYk7AakQJMAxFomVtpUs2fDNccwEhtxrcuJMCAOpE7LXr541Zqm4XuxcceG/nfeFJRW2O5terjJbdrW2qppvNMc0IutRHVy07ezzEMtMSQvuqwIze3hhBy1ajGGYAJJM9IYHCb6E+sJGYRxYKtM+JJFmtzRpuSxsibw4jeVx/dHiT8VNRdb7tuz+HLherttLbmuQrpeVqt0pVIZYaZZYrP0STiWORlMOVCxkdRIxrNUw2GN/Ht/2G57S8WAOpiV1sDhXhzPEpOkmIlgtE5iJdExBBJImV4gcobU8c24uf5fGd4N7d4Sqznylt1xt+77Ftvc1wrn5rp4ZGaGknpqqlpaasrqaKFp6aePpcMkaZZ0VG9FhTRNFuHxT3ASMpLC0CdYJJyggxfrYRdYvaLB1cJV97wtMCBDx4jTYcoENAIPcHqCYkLsNu8anhF5O25wtzDxRT7mvPH0UdPY5tu3KoqZ7htC609umC2tLbRhq2a4wyNThmiiKLE000Mo/bgYK2CxfvFRj2c1zYSSJF7nKGgbkgEgA7Lt8H4thvcmONTLEAnS83mxlxM8t3GZykBeiWwfGJwVZd0cXXCs8SFiuG2txWa2bfbZO7rjJYr9Q3Ko6DDLJT10VIvS3VLTsio0YZoT1dBbNHEcDVY5znUyHC4MGIHV0m+hmR+S5OELK9JzW6ZnEuOV0k6BrRLo2gifQyF8Wn2iHDnI/gR8Su/uUPCPv3efH3At+u7TW+6bJuNwgoLHO0s00VpeuVY0nC+TNLD3KlFfpHSgLd/B4pmOoBuKGZ0aGLzHMGzO4k9YJ1hea9qOGYjhGLGJwbi1pvI/CehMQL3Am3lvBXudwHwLWeJ37MSPf3PUHI+6+Vtw7aPt1T91VIramiXptnsyMv+z1Sin9lnSeQYjn8qUe4jA8fE1BRxAbQaCAZBMG55pFyQLQdyJ3Ij2vDKtXFYFjaroJaQ4eXYi4gAkySBppbUqYP2UXKe2uVPA34RpLpVvunkDb1BfOLr5b6yJZrlQ1dppaloDRR46o43jgpnKSDsWGG6yQ04zTyV6j6dpAfbqSAfrOn5LB7PYl78M2gQAGnJe0xYz1t1vGoheuO3bpUXDZVJW3jbouFDJF94biq4Fkie3IaOKrEsJYl/2RlkVVhxJkEN0EsDzajMjy1lhp3deNtZ3vHqupLXkEul1so23EbaxvIvN4XyPfaZ8c8qeBTx18Och7tvFNN4eOct+bH5D3Tcau2vPM9/sV2innllooY1aln8qsV2pYA4dJHCgMOlfccKqNcA1vmpZmgD/k0tFybyZvYTGwXguOYpjKrn0z/JqQDOnK4ERvAaAJdJPMTdeunB3iMn4x+1l5T49mhXj3Z3Nu5KmqjsU7Cnj2lvSGgpJoapRE5RJ7pboZgWmCmaqopT0KrOG89mdiMFLrmkPNryyQWzoMrosJhsE7Aeix2CoYAsaCXNe0Ty+ZwEg3BJaQTpaRAlwlbb9pLt+38k/ZF/aD2Cx0ENNtPbFNcEtEbSN7LXU9vvkVaLhSB1VxJ/tVQM90cplWKkEph6j6WLoveYecvrcZQCO8fW90/FchZUZlklriTazizMb9BA7yIsvnt8UPMW1ftTOSPsS+DqjlLbl23fX7Rt+3+Qns8jo22LjUVVPDUpLJJ1eXUmmtzTFRnod+sf3gGvUYOkKWIxNV3k82kAw1ziNNJMWt8ivD4yvn4dhcM3WbCQTHK0E3JnWA6CY6QTIPxA8bcUeKL7WPgD7PzgStoePeJdpbXsm3tx7WasnpbVeZ7LWT18FsMMUZy9NHX1MhL9QkZ5yXLyZGHgmMruZUx+JBzZiQYnYNJiQALQAIgCAIXo+NYWhQq0eGYc/y8hLw2BInPBJBJLjzOnzSM1wF9Gfi+8S/CXhZj31a/EzyZVbcsNu2vNc4vLdI6S4qi+TbqWltiSZnmlM7wdEnmmX2Riwjiw2vKVH+Ly0my6bbuk63IgQOb/jIkmV6nhNLw6bccSKbJh2waJBcS7XUQA2NYaMwK+bbi+qi5m5K3L4jrpQUu/PE7yXbKvbvG/GsxkZNkbJolNG9duFaaR1t8EpiWoqkUCR+0EMUk0+I/SPoeHRNCkYjnq1BcA6tA/rIAho3dqWtaSsTMU6pihxCo0kSWUKZOVzh+N8HyZy67tGs1zEtafcrw6eFHii1WLjne/PXIlx8Q/JHKO2P7S3Xd92igtlJHQU9HRyRUfkHIjoKOJpBHSVMjU8UaSySIZWZytfiYwtR1HDtytonNzHMS4m7ibCToXAT5WtMLPh8PUxOHfXqukvmmQ1paC0l0Ma3zxP4RzPc5znX04rvzfHiC+1/3Zf+JfBnv68cCfZvWKplp9y8o22mSgvXKtXB0F7PtwMFMdDHlUaqwIy6kkuFSJqKOBp4el71xYZqjrspk3O2aodgbxN+gmS3FiOJupVBg+EkBzTFSq27ac6tpjRzzo534fKIEl3pt4bOA+AfALx7HsPw7cawbUoEtK3C7Whuh7vuKsNSitNcq+QM9VVIruVMgK9iEwrdIw8Q41iMdUyvMBsAASGt10He0kyT1WzhfsxQY0hty4kmobuMDUm1j0BETosD4uuYtmbO2nvmXeHKVt4qs9so7fPumuraiBKSw0gZnpRWRurdS1FRVIDAcOyRzdJLFQMOGqAvFs0G0TJIAs2NSACekwN5Xp8DhYZ4gAEgwT0NiSTECBEmJm2hUWvCP4Zrt47fEdx/9op4i+Oa7Z/Em0rKlr8Pey62l9jqoaBmJO6rpAWMkVZVMvmU8OeqGNYpGPWVJ9NXqu4bSqUHf/k1P9y8hg2pjbNFnn1HWPnHEMTR4jWZVoGaFInK4i9V277i1MQPDaRfzRovYmsvm2RcU2jQ3Wqrd2LE1RRUnt37cw9ClnUt3SPMiq0uQAT6lvd15NkvEaDc9Ok/oNTFgvVtpVGA1nCGntv6b6aQfgDKzw2XcIaoy0G41tJUo1PaXj8yiRh6sMgOc4D4B6QwHYZINrKrQeb7+/vRZffbXZmF5O+/31jdbPuHctktKQy36rpLKqKZZ3qqgRNHECFysgI6gWZV7epIGMkA0ufcN/usuDwz3Tkv0j9Z7f5TKn3Ba5Wd7ZUK1xlqEYRlSjSRAhet1PoG97BIB9B2Jxp4IMH/AArnYdxjMLR9dbenyW8U6yJBEsxBlC+92x30JiwXPcQTbRLWRH6yjq4UlWwc4I9R+egHWsmgjVXPcE9iNTMU4KET66bOiraBcokMB8idQuTtdshnHw0CVYFbSzZFJJ9MaAcNVEInPfRBTNF1bRVyQ3c4z31FEIjQzBRW9NLmVgNkhj3IzkaherEPUJuohtjB7HJ0perGoepnTwEJvXTZ1AkHRD+qKG2O50S5HL0QzjHxI1A7ZNklBbvk4xqZ4TBsaoTY9T2OjKOVCPx1A+QpllBf8R9NQORDUJsdhjUzEaqQgkdifj8NN4nRGEFgPiNQv2UhCK/L10c6YNQWGfXTBymVAYeoPbQzqBqCRjGmLlCE3bsSB20cymVBYDPY99TPKbKgt+eBo59kQEBh2OmzIlqAwH+moHiUSFKssceoA1wy5eFyq2e2NGUYulAj46EpS1V1/HudFTIlBh8hnUJQyK/UD8RooZSr5HrntoSlhClkdU6oo/OfP4eoKSPzOinDL3ssfBRzvVNVVU0jICTFCzBhGSMEk/PGQPkCfXOjMKx7xlytHxWs7jtsscyXS1SVEtfAwaSnapIjqIvjEUbK4OAy4H4lAyOo6mYeivoVTEO09Pr6/oSn1huhvFleoild5iz+U8g6fMB7qcf4eoMPdOCO+QNJsjiqYZV7W0WSsteJ7fTPNJG05jDzdJyFcjJAPxx3/IY0Q+yrxVEteQBbb0WaVg6q49CM6IKykLH3CshpaeeaYF6RARUYBJRCO7YHcjGew+H5aOdW0aZc4AanT1XN9tbvpqV7hTU73G97WikeKlrIYjL7OyBR7KcEvI+GUqQvpkEk4yjX8oI3+/l6/JdbG4AyA6Gvi4n6nYKPfJHLsu9dxXviDju33jce7BaKe4XWjq6OVLOKCeaWFaipmAD+UfLlxFG3mVJWMKBGJJR0MNROQ1nWaDraZgGADq4giAfLOZ2wXRw2GZhi19UiZIbB5rRN9BHU+W4HMQFgLNtDgfYm9dybor9u0G69908FvDX++UFK9ZaIZ3ZPYLcjoqW+nYx+bHDS+4xyzeYwyb8VxqsaeRpLWONwHamNXGSXGDHbQAaLnD2efWcyq9rZBcWgAwI3EXN9S7mJvKitdq3c1dzXu2npNtVEFBZrTaEpaIW2atmnkkmuMwanqaqRaajk8k07PSP15DFsRK5dctDD0zTBBy3N5a0WDSZNzqdQB0kkQvcTlZLSCXZjcnSzRZovcGDPpOqiFDtTeG5vEPuXb2x7/wAzHdlu+7qGlrbrSUstVstJemeCtgsy00MdTA8grWWoSJ4E6/2lQsasJd7qEtzOblBnc36jMXWtEjMD0aTAVT8QynT5qgJEyAIAmReLkzAFnGJ2zESg3l4bPFLS8KcWcIbtudg3LaEq5bJQRW2appaG30ywForxf6akQy1NQOjzWWCtVBMsUaA9Zdb8+GdULmkkRJJEwP6WSYPQFzJMyYAg+WpY4PNSqGc2xBylx2Mm7BrIbEC8kmB5C+LjwC86fZzXWyfaA+Ad+VrndbXao4OYaeW7PdI99Wz3PPmwnlyxMoCtJSoiLGoDo6+VID1cJiaeMb7rVADTOUCRe+skzqYN/wAl57E4M4WqMXRvVF3NIGlvKIiRAvLSRsZJXr7xdv7gfxc+Hzgzdtvp7furjPc1kpDSQbztS3CrnQExyxRyVPmxVTrIkmUhkPs8kbB4yWjUefxNTEYWqblhJ0YYH0Mi3WCRMRdezwGIw+Ma6GirF5IbEmPwwAOhgEHTNAKijyR9lb4VPFHs/lDbmzOFOFOIK2qo7nbKS7wsaMzVFN0w0N2pKKkWNKRzM4PmuVDxDyjBKjhl2UPaCqCH16hcbSInU6Ek9LxczuIhDifCMOWOomm7K6NJsYJMC4OWIECDzGRMnxh+zP8AG14z/DFzPR/Zv7z4ftXJO5Nnpf7JYLEl7O3tx0FShFU8Fpr58U9SCtOamnhmVPPjwiSYaNT3uL8IpVCcUKmUODZJEtI2JAuOh6HUC68NwfjVXCk8LxDczQdrk6iInKRBJFwR1Oh7z4T+bNrcD/agc27Q2KNkbas3JFuqd67foYbdJZ32tfIKB1qbXdrVWBam1SzlGlUMCYnKVMcjwO7PRjW1BgCMUbtsSTYgmxDgC1wGhynTlsdO2x9F/E/5QOWocwAM3Ah2ZoIJJBmHASZkQvae2+IWg2JPxTWWt913vi64WKwXTcF0t9lmG3LHt6KU1dZMszA5WF66NmdXkaRZZAO7e7xjScKlRzm5Q02JIzTGVsCxgkcoiB1tf0uJa19MOY7+Y/NDRBcTY3MxJbMk5doEgBRc/wDKWNu7e5E+zq21zDTtSz7q2Rva0X201DnraeKrSWmnOGwTG3XTSDGQ4iBXspOr/ZLHupY0MNpGnpBH5b9bryPtHwgHA1pAhon0hwbAjWzjpoV2XlTwu1viU8LHPm+uMbBsSx8u0lj2FzNs6RaUVr3XdlDbTd2NcOny5DULUNSEL1AR1DxsGQINdKljW4WvSaTLWue06RlJDbGBcRJPUTqq6mMfiaAaWkFwABuCDJyRcnKLAT3I7xj+078Qr8rfZB8peJLh5rhT8a8obc2hK9rmqJCbNQ3aamp6lJVVWLNBUWqogUOwRfNcZJ6BrGcIWY5lF+rXOnvALh01m5gm3qVtpcQZ/DKtVglxa6LRBMMPpDXCQIkidJXyt7i5F4+8Nm5/s7+RuLdl1Ut52/x5T7v3HX1VPPQNui91dZXvOySnDyQU69FEkqARt7LIE6gSx9NWZUquq0m2BAa3f8IuR1cST1iOy8TSqYXCMwleMzgXPdto6A0Hs1vwJPdellqsu6vs09ueEPxgb7rLJvjxepuOm5n3NaPu+R7s1gu8NXQXWmuNQrukRp0mtzr56QdD1RKPIOtY8VSu2pUqYKh5GAsJEQHQDM63II1MxMXk959EnCt4li2y+o4Pm4zNMAgDQhrSCNACS3ss340PGdtDxkeKzgjffPG16/l/wzcdWVt/7q2bS2+a21lVLXyJBQUKzGQNWVFWDbpgURIxFMIlidE6ZOfwug7DFzqLZrOhjZgjNc7TAadZvmBkCwG/2idQxjaWGzZcOwGo8gOs0Q0WMZgbwGnmFw85i5fR79mLxVf+MrHv3mXlDaO2tveIfe9FbbpU7fhtptS7ZtMqu9FYaag6Io0pLfG6wow8paiaWpncFpQVwcfxnhtGGLi5rTzONy4wMzi6SBOgb+FrQABzLdgMDTxIGJFMMDiYAjkaHGGAxmzE89RwkveZkgNXkDzkdw/ayeJG78HcP8u2TZX2dPE97qqy+bmu0c9uh3lU1M9Klx29RJE9OaqmgPWrqJlULJ19QzT9W7gmFp4WmziOOaS50BjTcmCSHGbDTWNoiS6M/tBjMTXru4Rw05XCTVewuhpDSCyQNTJzf90SQ2Hew9x5V2De7xw3sPwObeua0G25aGz7kjsFRHa7JBsqGeNqmOmrOhkjWJ4gkUsjxKJGmWNqiSQAZKPjV6z8RjxANzmBEughkgdSbNAJjRobJXZPD/4dhRhaBaQLMaOe5HMR+EkASSDc+Yg8pl/U2zctLyHuDmzcu4bLQLSWySmqKg1y00O3reKOatlSu8yMM/T+yZpnaFkC4VUUssnGNZlGm6nMiTPeIFo7k2vJ3NsuugXOZTpZRJiALiS4AR1mLWgC/Ur5zuI+auBPtGvE9vbxLeK7lnjG1+ESh3dVvtDjG2zT11133crYvRTXa60NLG9WLcnutDTSDDyZLKyrlvZYDh+IwFBlalTc/EkEg5Dlpgm5mMucydzlHqvOcQxruIF+ApuazC04a4l7QapB0kkSwamBzGNtPfW5eN+uuO4dsSeHbgLxT830dRDU0tyq6TjWstNNRKTEY6ySe8PRCVIsyL0ISGLrll6TrzA4LiC53iltMATLqjAddgC4knb9Vecdw6mxtPEPN3NADWvd1tIZlaNJMkjpoU22F4prJs6hqb/yB4d/FfsyiuEqx3K+XDaUN5mmrMlQ1T91VFXNCEJiWNDGEUOvSOk5JOEqOAbRc0ibNa8T/wDbLJO5v0toN3EX0/EAdIIn8Dw0N6CxGU3NzfWZupRbb8W2wb9dLpQxbS8RVbX05c+V/wBku5oCkK9PVK3nUKL3ZsdIJb3cBTov4RiWMzvaI/7mfLz6rzVXF4YlrKbxJE3m/wD9enWJQrBvTZ/iG2JtzxBUG4Y6biujqqu52eshtnlVdHFTNLDJNXmuj66RiY3LQGKN4QF8xiQQtGLp+6mKoIfF7wBIkC2vrMEmw3PT4fiJccPRhxdAvNzP4QImNLzJBiNFhNw8n3zjCh23f6O40+8RdKhXkjuNBJRivEhTpNLWxxJCqoCD1OpVlaR8knJqe0tZkaDPr6ySNf1FhC6tPh4xVQtJDWtta5HaJPyEbXAELql05Iv96t9us1i2vvW336veH9tDRJPDDCV6pMVSyeXGcBgshyw9RGT7ukpg5huAeoH9/hFxuNVlZw+lTcXVXNgA9ddrRf8ALv17Daqq3rSRwU09PhD0N0oY8ue591u+fX17nSuqSZK5tWm6czgfzt8Flj2J76UP6pEnTZlFWlDyorE+upmRAQSdDOr4SG9M6WVEIkk/HUlRW0wKtaIVaYuToTHOf56TNZRI0M2yiG/r89DNKsaCh6ElWKs40CSohMQfz1C8KxgQ2OB8NDNNlYgnTZlEn66OZWtCE3r651C5NlCQfr6amayIQiTk6mdQoLn4ZGjmTBsoROB641M0KZUJj3+P7tEO6KBpQn/MaGZMGoR+h02dQNQW+Pz0cyYNQHOiXQmhDY4x89TMoAgH0OdNmUhAPqdDOiQgPjJ9Roh40RDUB+3YYxolwF0csoTA4PpqB/RANTdvj8tMHolqC3x740Q/ujkUpiwxntrjucV4NXBB+OgVFWQPU40FFWRqKK+e/r30cx0UV8nGPho5t0IEyraJeirEgep1A9AlM6ytiolE0rERorSOACSEA7tgeuMjSvf1VtKkXmBvb4rVqivF1nakno7ZU0EtPBKpnJB6ZHKjp90huxHoQc9j89KKl4JWynRLAHtJkE6dQJ+9VrFVXS7Le6VS2O83SzrI9ZcYaalLozsD1VEABIxhQXh9e5Zct2e1gkwNvRCozxAH5gCbCSZA2Hz0PToFslqqLfRbbtz0U9HWrPSRyQVNNUmpSpgYK3mRyerphwQw7EFTnvoPeBOVLBqVS4kwDva/7rbLm0aUFWZJzSxhGJkDEGIAfiBHpj1z8Maj4IhZKXmBifvuuNLuHd9bV19jo0cXCnXoSqkgWSKWAoh89pRIgYBiyhQASQc9I6jqumSQSTb7++y9C7B4ZjWvdo7aTr0iDHc/KTChfy9uLlLw/i63Qco7c4/sd1qqiuulzqbK1XHaZehjFJSxTzNTxzSuqRLAC0R6mmIynQ+zDUqLhDQXEahsS7tMT3LstgI1MroPazFlpa2WAES5xAbprEEgaXLTJgQJjNeHLe3GWyds3TZlNUCTdF0utRSRtRVMl2uF4qjlSa6PPmpII4JVSRnEPk07eSyIoiW/EVn4gtEwIt+FoE31tc3OpJN5Ky8ZpVRVOKLZy3JjSBIAOh1s0CxNxcldjks1duGRtp7i2FdayqJklSVnMEr07MwETyMeh2iRR0shZhkEdwSec6qRyuIgd/n1/T8ldRr0wPe6T4BEGRp3iNz1/VcVh2/drTyHuXaqXGw7msVwpZbrSJW1uKuKYdMa00/7MrGEg6ZI526iFZl6UMaFrGFjWTTMOB0vpqSDPWAQLknW9u7708ta57CNBI0t0GrpJ7abyVt1k403DFebc10iqxR1sdVeapS3RWRVY8oKtPXiQvTxxSTSiNAERSB6AkNaa75Ja6WiwFo6SRFyRvc/Jcmq+hUpkG77Cbi1zAHeJIm9zdMLhy3vzjarppeS7bd5NlvU1Brb2kaQfdypGDHT1x7RLEzRgLPSlYyzJ5kcXX5pR7JBLNW7bb3Gsx3i3VRuGpPGoEi36mNet3SfyUoW3HtG5WGxUNWlnMFdRwvFDTTlzLC8ZBAp4SXKYZkPSCG6iAT30tOq596fN3F/r+645wlVr3OJO9nCPq606G9xvsvj+l2pxH4DPHjH4aV5U3Dx34IeQ9xDdXFl2qoqmGk4i3yJUV6SrgqvLWa2lWnhbzWCPE3vspjlkPsapOLp+9uZ/MaIfYczeo1AO4AmOhBAWXCnEcMIw5INJ5lsHNDtQ0kf1639QQZI9uuO+YuIt97deycMX3j+77021uGvTeKLevbqB6CJWqbjC1RDkS00/mxyRSOPLiT3yRJTNFrz2J8TDnPVBY0gEcsG1hGYyP8AkR6CZC9TQL65OZ4c7QtDrtc4wJABvFgLEkgaErx2+3P4PTedu4++0/8ADpVb223zps+42L7zrIqdkq7jYfZ2qrZfgEwYxTyQSxeZIqebD05yFTPo/Z3GOZmweIGs2JmDYFp7mdBMHoZXhuPcFOVtfCASwEktmPMQY6xrItBN9FAr7S3xbeHX7RfwieFHxK0m17bsPxGbZvX9nuXmtDLBVWqmmaNWejif/eaSZ6kVEAXPlDzYm/C51fw2jUw2KfhTemQS2dCdpO0RB06hZcU9uJ4b74XEOY9gkHmaMsHeTNsskz11Akt4PfENvStk48u/jJ5W5ouPhbs227lxXbuT9t08tPtDc1HSzQJS012Cwedb4V9ro42rJkeCQiHzJIT1A5sTwgAur0qeZ7znyuPMDLgSACJFiQAZEGxhej4H7QGlRp4Qua3w7BwDXMuBrMw/KI0AdoDe+2eKbem9eQfBb4z+BuQNn7l3bd9u7Olvm2t4XTf810ium3Irt5i1NHUIjQXFaf2KjomK9AVkHW3Ueps2FrAVaVeiWtY5wEBomTPXmGaSQZ2sIXRx2CbVo1sO7MXNa8gEwCACQYENzNBzEEEklepf2Q/i0s0vgs8NlBaotjm/T2i3UcdDPUJSCGupLbTU09VMIUbpXqpV65ZOkAyAvgyAsPaJr3Yx0G1zoTAJmBYCTNhOphcT2ewdPE8OD8QSMrQC6RzCXQBeYA6CwHQLxc8dF15G2/4V/tbPDHZqimuHh/445I25ebVPbqillht63+8RXmK3CSJX64oJa27e6rJ5ZaEd8so30Sa1TDYt1i6Wb6sY5pOg1GUT6xol4mwUqGLwgEHJnuCDlcadgCeoJ0kiDuvLzwt2DbvjB+0I8EfGFx3ZE+wdvbN2va45rftQ3JoUs1mNdNRi2O2KuU1q1MTFi0crMXKMhMR9DReaIrYgZiSXEQQDchrYJEAARBIkATrdeGxDjjX4bC0w3lY0XJDSbudmIIOpMxoLBfUz49NhcR7N8MXKm8rvxBvG42yC170s26Nzbg6Km67sulTY66F7ldrgcSVEazU9NTrF1JDHNTQ+XF0wwQjxLOK4nlptho5cjR5QM4IIBvLrnMZcQZJkkj61Q4FhXOe+o/OfMSLQA0zTAFgwAzlAAAMWEk/KD9mLszlO58jSb/puLLVyptS3VENbQwX2719vprjuek8gUTddBTz11caQ1McopYF6UkmpZJGREzr1vEsjKPmyEggGAYBs4wS1okcuZxAEuiSvmPsg3EVqxzNL6fKXXyyWiWMzEOJFs2RrXE5RaIXspxhvz7Rb7UblTlDhba3JS+D7w37bqpNp8mbh25eXulDUjyxF93UFdPNI1XXygVbdEDwUyRN5j9+78NnDeH4bDtxeM55uwAZcx2ho/CBEudm6AXhetxvtJxOvjnYPAU/CqgcxdzFjRqc0WdJ0ADyYzHMLT+vvgq4T8JHhp2Pt7gKu8QfMc22jT2+yX247jqJbJY6y5tLC9XR0JEtreVpKh3ZYqR3jCTqWHmAil/F61ev4mRtNrrTcPyjmjNIfFp2BJGq6/B/ZunQpeCXh7oc7LIIcdMzmwQIt5ibXHlXqDx+lZbod0XrePiR5NhorbXw0i0NdV2eoEMkKGZlqlNBE9Rk1UJVWRcFwgz5agcDE4+mxpqZLmSDL9LiRLj35iTMEzqV2m8MqBrcNQa2MsGGBuoERlIDbDQbHoV4veLbfG5PtFOc67wu8Ocz78vPgs27uWy3HxA77Fwihsk0EvskI27SvBTw+0z9Pmswz0xkBW7gdfovZ7B4eixvE8W0BgzeGDmJe65kAu0sBMbiNQvO+02MxNuEcPH/UuEVC2BkZJ5SbkOfcmHaA5oGYD3Q4/wCMePOINj1G2+JLNuvbdrtUYs+3NuWu9Tx2mhpj0JTNMlcTFHWeX0oVEjdXuKeti+ORjeJVcWQaxDnTcm3qGi4IjoAOkABa+F8Lp4RzWU2hjALw0F5A3zNAcRO776km6kyvGFPVXLbN93bbnul+UGngmnrWdqJC5JXyoylLKoCRnpCYHSD72MjI6p4ctYRBvMXkXsTJH0Cp/iAcHBhIDbxoCdL/AIrzuTfon+3KSwX0We7pSypJT07xMk7xxxzzzYY/s2bpPQDjPSfeJ75XSuaWG4ubTPz+e3aUa9SpldTmxMxBmBIva0669Oqbbtpdzbks287Rt7dtq2qLfVsXuSUsk8tEYitQWeOVjEyhGXqkZXAALBSVxqphaweJUHLra3Uai49BB7hIKjaZZUiXOGhIgzaLXmxgTqbyF5qLHxrzVW1Fj2hxnaGpL7BFT3qa7XCtro90p7RB51TVUMRb7yZ4o6QC7Vvks0MrBepUaHXXc+sXtLrZYIAAlovEO0YJk5Zc5xF7mR2MDhhhmB+aQAQTmgGWk2EXIGjWjKA4XAhT4puMwd6W611e7d0UFDSUcyUlusNQ1poKiHrjSNHpwXWocLE465MAguCoXpBynGNLCC0OcbydZMkkREaiZm+8yuIHvZFRgAbAEEZogbk6XNg0D1MLLceUW5uPtvSbQrLvFuhkq6qe1rMkVFVx0zVUrY6FHs5eAt0YQIpiEfu5JLZ31hUggxoOu3zvv3steMptq1fEIsdY00EDrGwvMyV1+y3utuEgkrIIKhkVCjCk8ueok79gjHqjPp+JRgA/pXLhYn77rmVaLAOWR1vYfGL/AAW6U9T1pBHUtTx1rIHeJH6un54PxAORn6aOcbGVicw6gWTvP79NugGykFwPTB0C4BMGIeT8z+/Qzp4SSR8xpc6KEWyPrqSmDZSdNmThgSGfB7YOoXXTpBYnHwOlL7Qok6XMmAlIY4HqRqAqwNhC/PQlMklh8xoyjCGzEnQThnVJPx0MysCGSfmf9dSVEFnPfuDpgU4akFjnRzFWAJBPz0uZFIYnB+GgHBOAhHvpsyYNQm1J2RyoZ/LOmDkYQSRn4aGa6MITj0xohykITenwOoHKBBPqfjqAwiAgse5Az8tEvRA2QXJHbUL1IjVAbONTOSmyILZB7A/lqZ+iaEBvU6OdEBAb19QdQO6JoQ29Ce/7tHOdVAEA5wcDRzI5U3P56YOuplUoCQNckvXgmthX0ofdQsCvk6Jch4at1fI9tHOp4av1HPr3xoh6GRY64XBbcaeomMaUrOsLuzhfLLEBT39Rk4/dpXOi6tpUS+WjXX5K9TcYYY6OWZikbzLGpx8SelR+pI0HVLAqUqBJcBqAmlfeIoGCI8TuJTFnPuo/lkgOR+Ek4Hz76Dqqto4RzhJG0/CVpG9KuC509DFT1O5KG4B+g+wMEmiDAhx7w+AXv8Pj8QdV1KgJuNO/+F0uG4dzM05S3uJFtOq5zaJrrcLs9HLUWCe/2xaeoRZw0E1db38yINE4HT1Ll1YqnT5igdgwwKQBEkwD+fTr0j5rbi6gYAGtJDpnoDYzHfWCZyrrNi3NRlaq2XZ5qS9RzSQtSTqOtiPeTHSSJGdSp90+uRgYOrDXDbE3P3C4tbBvdFRg5ev0nsB3XC44ZNm7s2VteBpoeO9110tbb1owqy0FfFDJVyUM3USVppwhZfLIVJI5kICzINaGHOwuJkjb4xPeJ37G910n1wHPJbzttJ0vaRpeJ2vaLhSSu8939nVaNV9r61dJUHUD8wV/M47Z7aofUMWXJw1OnPPpeyjF51iivN8pL3uGuguFbWw0poYIZKOgiIWVkp28klnD4aTuwJV+691RjQrtYc4aZG9j8Y0t3m/e49e/DVH0gGtBbGurjoCZMAdLAaWO4c7c2rxbbLL99Q2uy026b5TQ1Mtc1NFULWzqhJhVcOAIwjr5IOAkS5yyk6ur8Rh5p03GBPx9f1kam0LAG4qoGioORtst7C0GT1tB1kzoVFbeW2th8Ic2cYVFPs28763pSXS4VFVtva/VdrvU0NbbZKVSlKxQ+y0U8cbr55jWNatyhHknq6eCqPfSfTAEG0mzQQQTc2BI2mTHdZ+JYqrUpDEtqFrSAbgCYd/xlzpJAOUFoIE3K1Plbd3iE52tlTPtPifi7jm6/cdTdbVbLzVVVwrqejeRqf2q6PBLTW+keVoJRHTxtXTHy5gMdDHVtPCUKUvdVvYGGiNjALg5z+8MaB/VBE24Oq+lUaxzXGnOpMOzRoGtJLQA4S91RouDE2HKrn4SvHqtDS7ru32gqXHcMlLUywWu1caWgUcLMDGlCtTM0s01LMG6GMillKRN5YA8o5q9Th2bK2m/1NQ+ugbaNYB+JNxdgsbjnEk+GGg6ZCbDckuFwPxQBMxA12jw28K+Ofh+7b62RavGRR7+3ozw3SGy8l7JirnekkjYSVEVXS1VPNT0bVMdQypTtOqdS9f7Qui6HPwXhimKTmNJsQ4H4czbmIm7d4783iNWrUb49Z7XkSNC29rQwkdgXBxgBdqq/ED4huL6uaxeKjwo7i3Xsi4UE8O5tz8NxzbrsVGqGNOq42poYbpCXiaUEQx1OUHfqA6tDD8M8W+EqB8RZ3I7ewk5Xf8Al8lkxWNo02Mc8ZHfhzcw0kw6JidJYBrda9wr4g/C5xulJs7wjb8405e4rWSWah4/sF6obfubbkpyq0Fto6+WmlnphI0rikqDHNEzCOJpExFG3EHPLoxjTSeTq4FrSdzpAMbgZTqSIvVhaOJq0PFBzta2JBzkAQb5cwEgGTIOsgmE98W/FvDX2lvhvu/F62G/764nvdtlunt9utUaXO33dOuKI00kxSFJqaojqFqlZgFkjWFi4eZNJw7EVMNV8VroIiJMAjrOsEeUgGfMNBN5wLHUizFtABka6HYRBOboCQQJDgJEfPHw/wAk8kb85IrvsnvHrY7q/ik21HS0O2N+2OqjFfWWmniSSOpjuFM6VM6tbjMTDExepEahl8wS47GPw+T/AK6iQ7Dul2U3Gb0NvNEEwGkm8Qr+CY6mP+irAsrjyuEtLmySDtl7m/LMCV6Dbq4J8SHOMlLtLws7/t281t1ra01M+/qisnjpZlCJX0hqkjiklhIK08lBcEugD5A8ry2bXNpuw9SXVx4YN5F5N9nGQSd6ZYNzO/puIVX4Sl4oeKgJPKYgDQXaHSAATLhcQJk2+KDxCcPc5eD3kTmXw7bpr4dtXa5WelgulNa6sVNuu9ufyrjSCOYoqzxpIkBEigASQt0nGc+/D6WIy1GmQ0mDcXEtNtRqddrwvh/EsNisDUfRIjONLGWm4i3b1GnUL61vs+rDyluTwV23kzgep4+2Vx3UXWWzbBsu46Casp6GOc2633ieslkdneirLibqxo8BXMKABgwOvM8ZFN2LbTqEte6JywMsF/hxH48t57yYgz9N9mqlMYItpNzsbcl087srS/4AgibQNDpGO8U3gP5S8C20L7fvD/Z9ybi4Spdi3y1b14nudZ/aKLbj11skparcO0pmEXUE8+aaS2FYQU9pkjVCxRcn8WpYouY8inVJEOEgOgghr5mCYgOk7STvMFhn4djcThyalAzLYjLIN2tGw1c2wMiBaUx/8mx3nJ/5tqbQp9p128HhvF5r2kSCGf2WqppKONlhMk0ZZnpbxSn3AzHpz0nB1r9p8LUc/wAUOygDSdZJkCASPL6d9lw/ZLH024EUi0klxaSNAIDgXHpJJ+aid9vRy1eOGORefNq7U25cV4j8S20tpXAmtqEpqqhu21riIPbPZlBkME1MyU3lz+W5kQuVHlgGcDLnsYyqRnouLo1tUaRBOmYG9pgbyUfaGqzBte9vN4zHMkaBwc11juIN43gAxdedn2LmxN02z7VDwn2ba+9n2deq+wVt6hu8tvSRqKKq27UzuY4XLrIwSR1RmKgkBj0DIHpeIOacLXzgwBBA3Ac35TbrA6ryPB6XhYumXDNmExpqDAPabGLnQL6M/wDyhLxVW6zcKcdfZv2a02jfHPvKFysk8NbT1bxR2W2pckjglmiDMySVU6rGkeSnlCof3sL1eK9lsF7xixWLgGMNyY1INvgDJNosLTb3XGeI+BhajmyHVQWNb8sxJ1IHl0MuME8pCgduvwv0O9Nubd+xa+zVls++d+2Gd7r4iecfPNJbaWtcqlVbIp1VmkfzIkQU4aRf9mjiRQwqJF7xxTMY7+JYg5MKz/babl8aOy6E3me8zlDZ5VBtfhOFOBpicZWAzkD/AGmk3JdMgloAjlcGiXcx5fYHh37IHbHh4sXh7tce667bFrirGud4sGzYpJaakvUNM3k1iS1BeSrgIPVUwzoYpW6VSONSVbhY3jTKtUvILzFiQABMaAXEXDbk7k7D1HAajqVGph8O3w2tiTmcS4SfMbAF28QALX1U690WKK/8Y27i/cfOe3LhPS3G32qsFPa46SGulku1IqrDF5rS00qKhhCL1HpqCQv4SOFTxlE4kOgm9gTcwCTMATMfIar0FLC4iizx6VLJIJzDaGn1FyZkmJ7rxZ+2I8Ve+OMtr3TwreH/AHdbJOdN5U94t9dbVhpI6nYeyImcVNbXVclQIKGQAvHG8jRMIpWfqBUZ6HBMAzFVvExDppNgvMiHOJszS5vcCb2i6r4xxOphcG33OnOIqAZPMb5eapFpa0DzGxN/wmI/8N7npbR4TeBuI+MqDw38J+H/AG1uS3XWC3XmePe1w3BcKSpjebcd7p6WamtyU00sUUqtPJLGhhV1jYLD09+rin1cb7w9zjUAMZGkCk0gw0OeCc8EkxTzSdiXTxOGcCp4fhhw4phrHkB7qjodVIcCcradyyRE+KBl1MBe5dTxmd42zam8N0eMXnvcd4q6lblQRW17Ptmpm6jGklTTRU9oaVHkJpu0kq95UUsGwTxqFWi0uNPCzAvmdUdl1gEtLWjQzY6Hur6lPFhgois1rdJFOmWuBvll7nEgSYiTvoVrd43nx/ta47y49snil8fVl5SqKOG7VW1auuorlc6hJFlHtMElwoJaeGn8umUpIsyRL3wA7ENBiG1GBnurS0HUF4A3MkPmTOhBd0EAIUOF4htRuIfWYAM0clPQGLCJNyZLRH9RW+bRs/jUgqYY+N+Vaa/8TS1sFVUz7s2/a7xuOCCWV53loHoTSUglQCePyqlJSh8tgsgVkIpuwJIFSWOb+FrjcjYl4Jv1bbuNUeM0KtJpkhz3SMxDmNAgCAGm8SDMt3m5C3Ta204Nybtss9/5GquVaq4UdVd49i72emouurR1WomqYaKGnJqVilZHhroJ44S0OEVnZ9U0cTTpvc2mzKQBJBL4noXExJ3Bk3AMC44hh8R4MipytcAHNAbIEmLAZhGgbExLtl3298b8WQ0tBvDZNJd+Cr/a6WO1VMNopPu9fIidGWhlhjX2SboYKqKA6sHPlnLKwrrYmq+Q/nkzPXvOqwcO8Rj25oLTpJBAm03Mi2u430Ty47pvlgvFBVy7Z3BuSzNUGVtwxFYaeGnaMMsQDESecrJleseWWkwzZPTrIQQ2LCJEE3n8gNr+saldtlBlVuTMGuI8sTodT6g6C9raBdJsVp3JDtyjiNvtFpv9VJ94PNJIJpYnlPU0bjuCw6ihKkrgAqMjRqSIZNha338evoue+vRdXNRxLmi0aaCPhpp8ytunqYLjSWxKmhWG8sQCEhYuiq5VmRuxKZHx7dxkarc7MANlkbSdTe5wPL69pE94+K2Cliq6WV09jt/k9lEkR6C31ZSPy7Anv37acOKzOIcJkz3usnk/PUzJFWpmUVaGdRCLZ+egSrQ3qkH0ONHMnQix74OiSokaBciAq0A8JwxIZsfPShyshDJ7k5A0cyiGxI9DoZkQELRz9FdCrSl6KQzfD46mZEBBJ74Axog7qxrEIn886maE6TqZ1EksBj00MyYNQ2OT29NQOVoCESAMg51CUUInPc6JenDChsWGc40cyORD0uYqBs3QWJPY/u0cymW6Qcd/y1MxTwgE/PA1M5UAQWOST20cybKUFtTMgBugscDQzpsuyAx+efro50Q1AJPzzouenIQGAz2BxohyaEFgRj0zqZwoAhN6H01M4UhN37D89HPdEBSWMhPpnXGzrwQYrCRhnUzhHIEoSY+Y0M9kCxV5nYjBxo+Jsp4arzO3fOdEPU8NCmMjhRG6IQe/WnUCPljtpsxRDI1/ZaPfaPcdvtk9RapoL0sZVhbmcUwZQynEUvfBADEK3YnADKNVv9VvoVqZfzNid9diL6fE/mtNk31Z6+r29tyOpig3DUubhNRVigVao4OHjCZEhU+6HQsD5Z7nSPqGOy30MC4B73WAEdrbGTbuD1WNv9+tvsf9pjcrxFHTwpFU1NBRMXhj6yredAR+0AJwT8FycD1FbnONwCfzW7D4Ut/lQLkkSdbbHbsOvUKNFbzQu2dxVNnqbxWcj3+jlbcPlW+gRKt7Mzye10sNMxjZ1ijj8/3etlZYi34siyjUJFvKetrjqTb632FlrxnD2hviCGHSJtJgNMiTfQW1nss3zNyFZeMNi1ty5FoLrVWTpN8t16stonNRRTtKqnyBIuG6UnhVGHdghBByoKuL3RTYM06CwJ+u5Wjh9HxK3jUnQW8pBIIjS8T0JM/DdbxvvdwuGwdt1Oz7fdp99Um9doUVXaaima3XG3wPc4cxywShTGWg89j/AIHAfpZguddjAU3EuzDVrzfrlMXFtdF42tXw7qwZWePDvcGRJi9uhPr2ut0uO6Kr2fcctI9C0lTJRw09mlfEsMh6ulc+kUrOjgEsEHT3I7nXEZVLzlba/wAP10Xpm4ANDHOk5Q45hF/3Gndc15Y3su2rDRrPeNpcd1lVVLFVRVLNT+2TSTCBYjNEsy5PXESyOJCyIAR1BtW+KJ5iXR009dR9YHVbuE4Rr6hLml7YESRa07wOoAgjX0Ufa3jeonFdaNy7W3E3JMUtRVJctkVNckCrMA4p6mWmSGczOsskXROH75J7KzHoNqOqNGjmaAuA+IAJiBra30CY4igyr7xRhmaCQSJIbYOMyNvwjt6JqLjZb3X7T8O9PxpyHwBVLbzX2mSvL2x9xT9cSsKFiJXqqsdMvnRysGdAW62Vm1ZXoV35qlbK6DAgyBrBhsNaIAibf8SsGCxOHouD6NbMDdxiSNy0ufc3My0EydWkgqQ/De3LJxTaJKnd9tuddyHdZqKkv1ZfaoVdVcKuCGOlE9PVZxJThjLKkSojLFK5RB3XVOKxbJyMAa0SQBpe/rJgTJ+NlgxTcTXd4lOSB/SALSSAW6CJ66i8mCtR5w8WPBPDm4v+zXmDlTYdgrjLDc4rAlStRfI4vMBjL0FN5lRFASPxtECfdK9Q6iDgeGYrFAuw7HPAP4WuIB7kNIB7TPWFX49PDN94kN5YzOcGtPXKXluY9wSNplcT5N8Z/HG5LPuTdz7e5q3Lse2W6nkX2Xjje0NVHWq7Sq1LVQ2dRDJ0SJ5csbh+rALKGLa61L2b4iBmFOHG0EsuN5BqX/8AGyz4fjPCKZFJ9ZoubyLTa4vIgEm8HYGyd8B/aieC+42y67I3N4hNpcUrbq6OgskO/qefbNfWUjU6uep6+KnjqJ4pBURtJEWV1ETdTOz5biPB8e0eLUoPE6w0uAvsWzaIgGDraAuZTNKu8eE9tRxuSHt16QTN9bSBfQQpScucW+Fjxg7ajqbxx7wZ4j6iMOlur5KK33+Ond0DdDVCiXpiYLH1FWyMKVKuqMOfhvaDEYcmnQqFs6iY+lp9PgkPs9TltTFsygaFwLTr+GYINrER8l5/8beEzmHwyLb5PApzDtzbvHUUklW/DHI1ZPeNpW6oeodKmntN0iU3C19E6TsvV7VB1SFjFnqxufxHD4txq4oZXx52DURbMwnKbaFuUwLHr1H4WpQoZaEvaXGxgHY2cBmudQ6byIEiPKz7YXd0u86bjTxAXzindvgb+0k4opk3Bs+vu11pqvb/ACPZoZXert1lv9MRS18saStUxU0qwVJSSoiMOJca7nDmmmx1Gq4VsLUtmbJgnTM08zAdJuNDNlwajRVIrYaW4inLsrgGkRc6kh1gZAJO+USV7PeADn+0+Lfw+7Y584wtNptFLumuqrt9wwVkUtVa6mFKamqKaRUmXomFRTSTBpGRmjqIg3diR5Li+HNGp7s90lguexJImR0MWkTpovYYLH0q1D31xOV0TOgMXEwZv27mF89P28HC+wOQfCR4avGjtSrpareVvu0m27jK1O0NTU2S4zV0tJBUowDCSjkgjhHUOrE7A4wAPWezOKfTrOwtTcA9eYAZr95O+y4/t9gPEonFU22puidAQTlt2Jvtud5XjN4G/E74ovDFvHY2ydjXCq3Dx7vC77e3vSbHrHiel3m9ru4qkgoJpcihuLS0UyKEAadsQMrNNFn0+OoUXvzuMFs3/plsSRuACPTqACvBcFxuJptFBs5agMCSMwzQ4NM2LoIvYxoSWr9AW/cqcGeKLwq3nmjafIOz+auIN02KartlvukcMNPLV06mRrfVL0AwVCSoYpqdwJUYSLkAZPyvEUquGrCjdtSQNzE7/K4OhHwX1PgWKbXjwqZAaCSQTOUg9yY1E3jcTZfDv9nb4heevAX44OVttW+W+WzgjZF7v1RyXa7bQJcP7N2Oaogts95o6F3LzmlBtkpAMiiCEPIsiodfTcVw5mLw4NTzkAC8SfMBpAkg3I1MCCQvm9PF1cHjq2GpNmiHFxBtygcpnzRzDS+9tR2f/wApdpePm8S3hnvnG9XS7ooLvxLHe23KlaKs7rae41LxVz1PUfN6ovKIICqqMiKAqBV5vsrUztql7Q2HAQBEWuD/AHJMgyrvbkP8HDvqOLpL40gAZBAgAATJtrMyZUdeJfFRt7wPfag8B+I/dtsu3I2zNs8dbWjp6KyUaw1k9DU7Cpaakj8pnVfOXz4etiVzhn6c+4ejiaVarhK9Old7y8X0nPOomwj1HqubTr4ajisM6q6KYp07gEmMtzBiSTPTta6id7XzZ9pt4z9sPaKlrpz5ybuEUxpvfjt+3EErLFFTtkuKOjoofNZhhsRyEAue+3hWDpYamadQ5abBJMSSIlxjubAeg0Wf2h47U4hihiKU53GGtmzQDDAD/wDZxtzEnsvu6+zJ4V448GlJuLwwWriq3wpsJ7rS3XkyKeMjf10neiqfvCqojI1RSO1JPb4w0mY1dJIof2ah38Rx3i7sZS95YRksGtjmaBmBvYczpJiSbEgWC9pwzgNbCgUiXeJVOZxMQ6QIAMkvcOhAygnmJJiaHiG8TnEnh62DYOWec920XGlhcw1dpWvqnFxv1eqHyqC30IHn1r9Mr/s4VLM3rgAHXmqFDEVangYdhfU/paJPQk9AOpgDWV7GhQoDOH1A2m0kOcbNaCbydA50WFydACV86X2m3jO5+qPCBvPnXfVlo/CRNubcFtfYW1rhQwHke7mSoFZBO8nV5dgpI4qV53kCzV7yLErimiaNT6vh/B6bKowNWoKlW+YNP8to/FmcLvPNAa3K0SS5zjIHExHHW08H7/g2Obh2thr3WLnWADGGfMROapYAOysBGY8C8DGzvDdsnj63w8Ibd319on40a27Uu4+QL3Y6TqsdFU08kcxS6bruNO8cFFA8f7OCITS1TEzyBuunjg7nGsTW8ICgPd8MzR75YCbiWsEPe69gIDBacxcTxuBUsOHk44txOMrNjK0iq9swQwEnw2Njzue4FxGVrSxonr/F/KPiV4F5d33vG7+GPiax7On27NuLc1tkutcu3937cjrEp6GSiucVniVPYPvOdBLOZDVx1MS9DLCpHDr0RVw3PVc8MIaHFtw5w3BqGMwaIG1yYleywrXtxeSjTZSfUkkB7ZIGoBbTgkHzHSBAduvSHjfiPxubc8N++6fanI+0fDTso2Gd6GwRGfddxnhkQziRNxzywyB3Lx0sNNHDHFSqVCA4j6eZxKtgjaq4vJIFsrGW5YygPJJPM5xdJ0AF1roU3txLG02AkExOZ7wSSbgljWhoMNEG4u6Nc9wf4gr9tranEHG3Ifhq3fYtzNdn2vWTcZWoJQ7ungpJJJpqh6mWG50xbyIizSq2EZmErxkNrTXD69Vz2PD2gEgPIAaARsAWESdAY2InlVTKRwrDzZXOIBdd9zMBsg9DJcJzDlJBLl6QXrdfhyk3PZtqXLa1puG/L7OJqeils1UldPUwpI6R9Tqkrt0RyBCzdDBJDkDOuWcXiAA0TGo0jYHt0+ELFSwFR7nVc8eHDScwsNdLgDUkASCd1qVm2tQ0E9s5N2xZLrs7ccG7aozvcIvPqKOkcGGoo6moqOqSRJRAMRwO6RyGPyzhez0sa8U20qp5MugsNZGWNeuYgTe91uxWGa95aYccoi+pgXgeUNmwMWFwZhTxtlyo6ih/ZeYlB1NBEZuxnUZGTn1B7/x1jZVBEryWIwzg+Dd2pjZalvBbfbKegvNVeo7LZ3rKSOtMvTidPMBSMs3c9TdKdIyz9QUdyAS2pDgQJ/eDB+Go26rThy580gOa8frbS4m+2q1bbO5Lrua9y2VqKeiMUU80lXUNGzeV57JHIkcfUqyOFVgshUoAfdOcF2UgLza3z1ifqYn4LfjaTaTA7c6DTQX1uQJi2s6rr9LRUlEZXp0cSSEtK5YlpW/4mPxP/QwNLntC4r6jnAB2ydlxoByRW8z6aMpwxJLn541JTBiQZM/HtqTsmgIZc/pqByYBDLfMnUL4UDSklxjtnSeIrGsVi/yGNTOnASC5GMnGjnRAQy4+HfQzJgwpDP279hqZ4KcMhC8wfI6hqJknzPpoZ0waUgydj72iXI5Cklx8ydLnVsIbPjPfGj4myICCZPpoConDEksTnRD04aEgtj11C/dFIZsduxGiH9UwYUIsO/fJ0M5VgaEMv2x6HUzdUwEpGc6BqJwxCLk9uw1A7qmDOqGz49Tk6mdMKaAzg9+2NQv6KZAhM/y9NDOmy7oLPj66meyhYhFvXJ/fo59wiGIDMT66mdEM6oDOfqdTOiGIDuTnJyNMHJsiCznPz1PECPhoLP3750c6YMlBd89zoh10AwoDP6+mNDPe6bIVI0y5+OdcUuJXgsgVeZ8zoB5ULArmU/8AENTMUMiV5hPoRqZ1Mirze3qNMH9FPDVmnWMdTsqr8z2Gm8SynhnZa/dLwqwSLCldH7vciHvg5GVJ9SPX49vzGs760iy2UMJBl0fP8wFDrlnd227mlXZ7bZrVuffNtiivFvpXvFDE9G4Vo1qnWR1NGwL4EvVE7dR6WIzqUHgtLs8NNiYMDseW/pfqvUUsFUY3xCwmDpF3bw0zffqNlHLi7xX7p42sG0U5G2/VQbOvFVDPaN13uokgW+gxRmsmqXhgkhhfraWUNI6h0RmzHh0Gt2AqhuamZibCTl6Tfp211TY2lh6tZ1JxgtECMsaS0Dy3GmkEQRJTrl3ePEl9qeRqvkXbPG1Hte42yeAvernVGmvdHHEZRdqKejgmURRLOiM8bBkMZ6gAU1VhW1czcglx2Dc28XEAz0mR0XWZRc7DNptqEBu8tblJHlhzxrB6Eg67nR+HrbZNwbv2hwf4peE9uXfcrU9Va9v7nrL1PfLTe6ekpoJp4RO/QaS5TQ/t3pmWJngilfDh3VejTrPoZ6+EcMk3tBBJMAg6gWvcTA1uuBiMc52HZQeXMdAIaIvbKHSNhJAJueoDSut8ycQjjTjiv5Z4Ktkth5H2y8e6rVQUVTNDZ92PaWneO1VkZkdJYzC9akeQrxyy+aj+6YzVgeLHMG1YyvtMC2aASIA7azIt3WTiuA98cQ9xJaIMmXRqBeSJdEkdgQVm6Hnbijclp2/4jtpSX6u2tcrIldS0EUsgmpoqtIKoTS0wIjQDpXzADIGQlk/EQ2GpRqAuZk5pg26SLHf4fFd/BYJ9Skym90SAc23pOswbTBGmmnWaP+zHKVtmul7v/Hv9hJld6q2WuCmqvvcBQvTcnqF6Io+ojChI2Zo0LPhektSxrWwCSXxG4j4am3wAJsseJwVSk4sbTJEgy6Ykf0xqRFzLiNo1XH9oXy2+Ha67IsVXdb3a+BamhqbNaGqKSH2K2VWBNGaOkhiFVSUMywTxtPN1Dzhg+WHiZ+i+lUrSRzVAJIEkxO+1pFmxAiRrGbEuFRxLWbgkzodIJJ5nCc1yQQYBJBCVyFy5SeIRN58FeGio2nc9xU5pEreR6yN57Zx9XyeXNTNNCGSatvChIpUpU8tYwYHqJoRJGstmBolh8TFyxkkARD3RqGg6N2LzaZADiDGHF0alJgd53EE5JBbaYJIMBs3DRLyAYDWnMmM3hz5e5wtG/bT4u/EjfN3WK3tWwLtHjajqdpbeqYsyCM3KohmludW5Ur1xLVxQofMTocKGNrMXg6LQ6jS8R39VSHQezBDIHVwcd7aLPlxU0zTijniS0nORpZ7pLJF+QNMEAkm67ZwF4fNoeGOx3TYHFe1dq7IsVTWyXSporFQpb56kSxsIoZalG824So0ZzUVT9cinv3AUUY/ilfFECs8uyjQmwveAIDR2A/dMcJgyfeGMGZxALjcnLHM4ukzfbSbd5eVNwo6qjp2FdOaWbpgjAmIV+rHbIPyJHY/Md9YTUEjqubSwrmvNriSetputW5ApLVdqF6XcNPar7YnjZqmnucUdVT9LkAu8cwZSnpnA7Zz6ZGrKWMqUnipReWkbgkH6XVdLhWGxNJ1CvSD2mLEWMbftPooYckfZ/wDg35Fevv1T4cOCts31QTFdbHtiOzV8c7sMYq7e1PMHJ8spKj9SsfU9111G+02OIyvqucDs6HCOkODrLVw3hlDClootymb5XFp9ZG+szqOmq4DYfs59x8J2i3WnwleOzxa8A26lq5XoLRuprfvWwWyMVDytHBT19OJzEJKmdw3tSsS2SWx20v4rg6z/ABMRhgD/AFU3OYTaBYEtFhpkAjQBVChjWU3U21BUzXh7Q6S65zGW1Mx65ifhYxf8WE3IFk2HuzhX7STiTjfxb+F27NSVFw35xdDUpX7VKKyx1tdtjqasp2WTLJW0U9StMz94egdJbAilTqCtwusfEEjLUgEz+EP8jraghpjS62VqjsVSNLHYcsZFy2XDUcxF3NAI1uCdSIJXjB4O+e9n/ZX+MXeXhbs/M/H24fCXykKPcGwuV3uUdbabNBURFBU1U8aAVESNAtLMqrF1z0sDOYoy/R2OI0RxOgKxkFkh7ACDI2DTJBM8s6AzeIPK4Vi2cJxJw4YXMqQ6mXQL9zIF4EkEkWi5Xsp9qlatqVX2THPXh/2zYJbvDszaFvu61vtEDNJJba+kaSvlkXtLJLI1QSV96R5ZG7AONcHg3EXV+K06jPITA7AgtAgTsB2A+E+k4l7ONpcNrVKji5z2v6kyZqamOxJjaAJNvIrwVfZ38c/aEfY7WQWmeybI8UGx9/7rGx93JX+yvSyF6arWhuDBS/sksj5Rky8UoilT0ZW9rxjj/uuPaypem9okRJ3FhuY166GNV894LwB2OwcUpzMJykaTMzO0W6AASLrgfEniw8RG27ly/ads2C98b+POw+0JzNxpXBae2c126ji6JL7RUUhCQbvgj95mgUiujY1CpJ1SJrJxDhtNzKbHn+URyPky2dGHcsdpe7dJEX7PBOKV2Yh9TLNdtnssc4/EWkCAQACbw7eREOtseMDhzjj7bXg3xsUe8diWjw8cqW2CHfArKrzYrTS1lta13akvsUkS+RLFVUsck0ZQr0p1L1BgNNwzD1Rw6pg6s+LTkaHWczS3UukG0dYXP9qRRq8Qo4nDEeFWa2Lt1FoIkBpaYFyIIkkBQt+2k4Jt/AHN2xdq7J3Pdo+Grptq47g2BsetqGll45slXXzypRIT/c008jSVkNLktTxTrGxLAk9P2bxQrVHmo0eKHNFQjQuA01N2izjYE6dVyfbLBGhSoupuJpEOygxNozEEDyk2bf8ACYAFlH3xVX3au7/tE+YpdlS0HEOz6rdy2emnpKpKVbDTpSw0lRPBIHCK6rHVOoVgjMwUdmA1fw8tfhRUqTUBlxAvmGZzo63ED8+qxcQYaXEWUaJ8NzRTbJMBjsjROoAykmPSy93v/J7/AA+WDmPxk+Ifxy2zjg7f4l2eG21x/SyyrBFQ1FTEIgoPq9TBa4Yg7AdpK5nPc5HK9pMc7C8NDarhnqk5tdBzOjtmIaNLAjquvwPh9DE8Sc6gT4VIANt5jAa0kWEmC4jqR6H1IvfiT5T5p8WfiM4T8EV349rdj1cSvvnlK90puG39kVVTDRWuS1UFGgSK91kTWv3IjJ7LE89QJZCIsHyuD4bSfhWY3HFzGaNy2fUGYvls2aDJ5yNAMrZIX0bEcRr0sSMHhmirVaJOY8rCAY8Qg5s0GTTaQ8zDi3yiYW2eF/D/AOBmPkjxIb+ve/vEFzbQ2Ses3Pyzvmpp7hcqKnijXroxO6ilslIArstLSiJgo6GWVgoZMbx6s6j4GFZ4OHcYhsnMSdXOu6oZ9ROwWbBezIxlSnUxbw+q2S2eRrYBJNNghrR1MXmS83K8I/D14Tt2/bYeJu6+MHmTc3I1J4BNvbzvFm2hYRdJkvd5qH6JZpIJET/ZaZ5RCskikS9MENLGFaMuPSYZ9HguCaarA/EVGzB8oEmM17/isLOdmcTET5rj+MPH8TlwrhTw9CADaXENuQdDFoJ0ZeMxK989m8I8K8Y7IsvC3Dmz7zxl4YrBbKivgoKYPdqHcqLO7SGOqkdy1KsxYyIX86qaCNVXyghfy/EuI1a1Y16wBqnLlAgZehy//wBQBDZDjzQB7r2ZwLcFhm4fDuEgwZkOuNCYu50gEmS0Ejqtf2/Zrly7W8wrVw7blgr6kWLfdJWxSX7asFTF7PU0oq7VMzeZXUsDxKY4hHGnURO+QvVQ2qKcPa4iDZzRDnRIeWmLyZGY9OUHRdTitLDFtNop5xlgNcQCAYgGIhrtS27iDcAQRpUvG/FF1s1j4p3PWch8kcR01miuMVg3DKbHarHT0MwKmKy0iwEGZYXlhjkWoDrD1ZCyK2qa2PLaj64aA8df5jiSNJMtDr3jLEjoY24fAPcyGnLJykMGUQDoXQHFs2MmD6RPX+A4L9aOPOLt20OwFpL9bIhFBTUFNSW970zq6zSsDGhjjjWsOeoonTCesBlRRdjMVWdULHOkC13WEWJsSLkE7mTa6wV8Dgxn0h0SYJIGrGjfQNAi42sTPbd+W+yb+25Ytw2rz7zeYKqKo29XzuAJa1ZeiGojZSAj+8yLJGAWUOTkSrnnGm5ri13KXWPodZte14Olt5V1AhvmgsAkjpaTE/WbXjYrdto7FksewRsLc12XdD2q3xtQ13nMI5qcSEOIWLOQwjY9XUuWwGKn3jpnFlQmbAx922+wsGJxxFUYik3KXOMiJg6jNMTewv8AGLLctsXK27K4stuyK67x1tfQ0UdBH5XvtUxtIYUlAOetyBg49W9/sHyBWxHibXOwt3Pp+gWOpgn1MYawFjeTOwm++sX+HZK2fZYOQb/953inq02xtur8ihts1X7VTyXQAsZmOWV3pllRUZDhZmlYEmONhrwxFKmXjV0gG9m6GJ/qMjTyg7OK53GXZSKQ8xhxMAE6ZRESLjMQdRlncLtckNbRVNRLS1hrVCKRDM4VYckjqAUAO2BgFiDgYzqnxbarnsaxwEiNdN/2+HyWQjuKB/KkDRyAIArsvWxb5gE49NAVRMbpThz5hpf0sm8V3VoKgzRyRPG7oQ646gvYN+R+fpoPqQ2VZ7tzANvp9/BHtVRPNbaCWpjEFQ0KmROrPQxHpn6aszdElemA8hukp55gI9ToGok8MpBc4GPXUNRMGJBk9fe/dpS8pw1IMn6/nqAlMKaQZCPU6IdCfIEkyfXQDwiGBIMvz0fETQhmT66BqIhpSDLn56GdNkKR1n6aGcpw2EkufnjQzp8qQXGiaibIUkvj8tLnRDEIuPnnUL1YAkGQD8tEuTZCkM/rkgaOYp8iEZPU/wA9QP6JwENpO5741BUnRMGlIL47fHUzJwwJBc9u+NTOE8IbSAn10DUTBhQ2f5HGlNROGdUJnA9PXUD5ThvRCZ+/c/8AhoF9kwYhM+fTtqeIiGFBZ/kc6IqI5EIuCe/y0M6YsQGcH6aJqAlTL1QWk+GcDU8RNk2QGfGR3B1M+yIpoDMO4GiX9U2RBZxnTZ0MpQWbt30c6PhoDyfu1A+6ORSGM3yOuP4q8GKSrztAVFDRV/OGiagAQ8JX80euRjUFRDwlQmHc6gqXU8JNqp53iIpmpQ/xEykqw+XbQdUkcqenTbPNPw1UfuQJWlr7bYbaXp7vK5WI2+GXy6TAAPnuT0lCScAKCvckjBzjqjxLD5r2PCA5rHVnXbGjiL+lp+N+wWHoePto7StF5t19o9qxbeuUr1t7tVLH5zXqsZ8u1bIoZ5l90ghlY490MqL0HY7GloHNOXTYDuBoOuwm5krOHOxNbxcO0ioYGc6gaCJiIGl7a63UALzzVtzcfHNfwXwzS7evd3iMNFbrmJJKKWnqYYZDFLTrIqx0opYklDTVBipSsXQi1Rn8g9PC0nNeatc5Wm8HeTqTJmTERmcTEBvmGzG4EgtquBsSBEW3sA2TmvYCwnM5sKJvJ3hn2Dx1VUd5rOWfFlUc71sEpuF0485OktQo7a0kRraK2baoIZaGho6nyV6Y4I5gkiJJO6gFj06fFqeJ5BQY4DUuaS5xvlLqktzG97tAGgcYWCr7NYg0/EbVLGAQ1gbyCwAIa4uJiASS0k7RMrlm09k/bYXOg2LRcLzcV3qHbm4nvcR5bjttBe6I08MlIi3entkk3TUz09QyOw6nlDF/MwwIuPD+FsqPFSsWS24YS8Cb8pLBIBuIJHquBiOKV3YZvhUxVbIALmuplwEGDzm400EHUNK3/eA+202xR7Ysr7I8Nl3sl1VVr/8As+sFvu1NHNIHklf2O53Ckj6WwqZdUJVnOTJ05ys4bwhxzNxDjHUhh6ASKTr+k9NLrq0OL41x/m0MrgYJ53RfYio0kCNSR10Wh8R+KDmXwhwbJ4T8UfBW6N0bH2Vt5Ns0d2jtFTtO/VFPFEiiL7prZ5rTe0MUiqUt1f5k5EixwuVXq6PFeEioH16D8uYl1y1zZO+dk5b/AP7Gt7kLDw7ixcwNbDxIEgEGN4pua10gjVhqRHeF6teFbefDvOtNs7lPjuz8Scs2ESy1kO47EiIKQw08cKI9FUKslNXRgxeYr9MiN1kDIJPlq2KxVF5ZUeQRMg2MHadI9DBHZejxj6FbCk0y7I+AASTJzEkntawix80Lslx5etGxN1XLacFp3LW8h3u6TixTyUFTLHNK6RtmtmVXSKihEjeaD+zC9KjEjKNZMHNSwIyDUgiRfWJknp1PaYHEsJ4lJhJs0DlggGJs0wBmMSDII8xtqFKbam2FnltNTbNx0Rijpdx1YRZKy7VcwMr3YTg+Y83WApkBzGjqhwIQAcXxDxCYEAWA2AG1x13tJnqtHDeGPYwNeC1xJdYEAGzcsaRA0vMAhdN2Lv6jTbu0dmXCit+3Llc6cPR25KsPijRwaly7Ae0GNCXklXqD+bCwZjJk2ueXGXm3WCNrAD6D9IXNxfDXNqurNlxaTJ3J235bxY6Q6dF1qG41EiNfxA1wgpw8EaAHokjGRKQvchgwxg/8LYxkjVLK0c33CwPwrZ8CcpMHvO3rb8wuT7s38dqX24VNHcbNNBBc6OWqp7rV+yJRmWFoozGhXCCXocfIv0tgkkGt2INyDBHbWf7LtYThAq0mBzTzAiRewM/GDFrWm61l+TZ54bpueSmrtp7XNM9HDV3KAxU5SNmJkyiyFjKskZSHCt7p9CcEjMBmNidhc+lj8zp8luPCWtcMMYe9tyB3gbwIBFySddFy6r5b5LpNw12xtw3ri7ate1JHeLBLtygq7lWC1pUrHHFVwzuoSYmUKiIJgJCgOCQTrb4TgAC4nQ+VoDjtJJmPhaToFmPDGBprFhLASOYzmhsuIa1oOo66ddF1vZu+N7y8XVW8rHvHcW971bqycSUt7oYYXuUdNUBZonWOngaknkQMI1YdpHQnqQ6DatNpBqjKOxmJ0uSZBtptcLm8R4ex9bwaTG8wGkiCRMAEmY36QRqFy7nDmHg29WKXc9ZerFvex09It0lSx22S73GECISoYhBFMYZlBVzEelusIcqcMLMmIILWAkGw2aSbb2M6arocE4S5pFR7cjhaXWgAztDiJ0MG0+h+OjxK/ZE2Kr+z/wBkeLvw87Xv9FyC1srd+7gts9VLJ95bdqqiWeKNaZx0pXUVPJE7ohzPGJB0hox1fTcJ7UNbjPccTAiGz/zAEydIJsDFl84477H06uDdxDBg3JOXq0ucZ+UbCIINyuxeCLxHWK4+A7xKeGvdT3e5bA5F4j3hHxzf6yeasqbbuW32hZ7hs2pqsAMUSmiuNH2zLSz9J95TrFxPA+Fi24sQ003tzDQEF9n69y1w0Dhay3cB4r4uGpYQk1A8GJM5YY4OafTVpuS0ncKeH/kwW9aG+eDjxM7HlEEl3tvI1Nc6GRKcNJTtVWmF0YSKpYAvROPoM49dL7ftLDReNw4fI7/PquD/AKfYh7iWXytgnpDrdYMR8LLuH2wf2cd/8c1o27z94Yds3C3eOPaLF4rrZ7qaMV1PSmST7sat6wDcYGUimkQh0cGJjGrjp43sxxp1N3u+JjwHTqN7XA1LT+K0bySF6r2n9n6LcN7zRdlrMjLEAmSJJgW1JBPfUElfHp4kN27Q584uu/N+8pqHZHjTt+7TYuRLNJTCgl3VFLTPGl1ioQix089PNSGnqkwHMs3mOGLEj3+CovwtVuGu6nBLTcxBBgu7zybQIC+e8XrUMbhjigAyuyBUFgDsC1syTu87GdBCkh9qNu/afMW3fs4OUdr23bdvq79xQlHcUguHtVVV1dPdpaZprhVN+0edyCGMxaROhgztgdOH2ba5lbEUHnyubtDRIJgAWje3buT1fbqoytg8HiQScwIuZJyhgvc/DYGRAhefB37fuBOQ/EDZNi/2NWS5UF/2BNWUTfeMNHbqiqWKdrbVSDqJeGBoFqvxmGaQggyZ12qf83DskmDkdplJi4BGwJglvaNF5DHP90x1UhgzNzAAnNlJGWc34i0EgO632X1FfZOcP+JTxF+Brjng+O6bi8MHgdS71tdvi7W6oEG4eZbhV3ICeioZY+ma32qOD2aCSpJEkxQRRHpLMvmPaR+FpYsYjGHxKjQPDpGS1sAuz1BoSTOVl9czrL6H7DeOcK2jg6ZYSXF9aYOkNbSmYMWfUAkXDYN1662fZG0uNecL3wZwRf7dw7sX7lrNs3K1WGhdLXs2ww01LWJO0XtHlRGedLvTxxExFZJKicNJJGQPFHiTcVRficZzGQ4k5RmgkBg5b2gnUZRlGWZXv6fBhgmYanhqYgA5AQ4mXHmcfhBDjd7iM2YC/mp4hud+bvtWuU7j9m34Wqqh2d4Kdo1EU/M3IO04ZZqWeJJ3f2KnnmKo6eagjVCze0TxtNI0kVO7P6DgOCbQp/xniflEeGyzZMW9J2AAyNuG5i0DyvtXiaZxh4Rw1wOIeIqVHGS0WDgIF3R5zqZNNpaM5XsDeL9sXi/g7gzwmeDzYUm5NkLX0e0LlZ9t09XUNbdsOZI6+c18aAmriMhqJJoy9Q5lMgTJ615OevxDGuxOJMDXmAAMDlaGuI5dGgWBFidl2cFwejwTDRzACIMiQ4nzkyQJ/wCQIkERuui84bz2tw1ypt5d4cp8SbYt1ptCU1n++rrR217fUzsqU1JLJO3mikWSGCpmBPSQsLBSyHPBp4plRz2eITUedhMakut0BIA6k6L0XDMOypgjkw8URr0cGxYAak6Bw0gi8rz/APs77tNxDfOX+D9vc07E5q5zvW6pN1Xi8Hf1FdaLdNfPIDW3qiSnkLW6jYPSwLSy9U7zBjkxwNI3b4yaVanTdQAp0aYyiWuBAAsHF0BziZMNkNAzG5AOXAUTTL6mPDs1TmgRE6ZWtFw1oi7gBowEm655zh4iNh7L5W8RfCldV74pueRYaS3Q2pLZ98oxZ3Mt1pa2NfMr54mqKiFKVEgRZZIoWjcTOYq+HYCrUoMdSZNMv1BgW/Dc2c7L5nE2kiA2/oMRj2OxAbVqAEszAEZbGRmiILWy0mJNiJktmd/hZ5N2RNtK77X5Bt+1ePhYKC2Q3e0CpS5Ku4HkllqTU1sbolbPn2JPLCqPPldT1lT058bVbTfna7M7MQ0gQIAiWA31mHHRom2qy1MJXqUmmk13ML5jDg0iwIvkkcxHQgDopabtqK3kCmue37dPLLYkplepKTwIkdb1RACJZCfLnQPO+SEJwvc9gcPvByGo10XEdTe+2lo1udd4oZg6eHLWvbzmwEHywdY/+MAyI23XIORfFlw7xxx/uravL/LXHXGW8JaOms9ZS1letFUW6vq5WgSaQzENBDGqzTRYXqEUQYBUKkjD1KdWqGGS2QDABsLnQmTFjGhIBMwFXiOH1GPbiKDcwBJ80AgbAmLk6zEmYkgpvdfFJxhurb+4t38UU/HXK1o2tNSWna9WL7FUfeE1Q1PQR0qCEEo9SagK8g6jEOjzEUDA2kVqpMENNQmZEAfi1MCGxmN9vll/hzcKxlTE1C1xBLrTBBJ2nu1trk21ujw4+ImgqtjUkD72J3A1yraqpsrUcldXNcJH/wBpqmWlULJQCpkqZBLCZovLMb9QGcHGMqMYHvBiOUmQA3YkuiSW7GDJsE9Xh2HfVIawSYmCNZjKBcggw0yAYmSFLCk39fEt833hcIN3XnzRVS0dHbJIA3XjyVYPMfLQdSBRJ0s5BYDPujEHEjk9LxE/ewmBvuqG8LZnEjKNJm4AmdtYmSLbLeNt2FrA0N73BuO8723e0TSskqJGsLE9TrFEoATGeletmOP8TZJNzqtNtqY+Jufn8du1lz8RWfWHhNaGU5i2nb17/ojwXVK65V1NUzma0irE3m1LLD1xdCyABiBkBSFx3PvnJ0oc2QSdPz+4UqYc06QdEOiLSY2/OTPYQtw2vdXuVH51PF/6POZIpulVWbrJYdIBycBlBJ+OR30zZAg7WWDH4cMdBMn8tv8AELaDJ6+8Bo5gsQYEkuM9znUzoin2SDJ9NQVOicMKGZfUZ0A9N4aGZO5x66BedEwYkGTBPfGoDNinFNJMn1J1AU3hpBf1wNAPRDEkykE+g0A9OKaCZs57jOpKcU1bzR9O+hmTZEMy+vc99HMERTQzJgdwBoZxMhOKaSZMDGQNHP0TCmUNpB886AqFMGJBlAJyc6AeUwpoZl/PRzpxTSDIAD21C9MGJBl+udTPsmDAkGYehOpmThiEZvroFyfIUMyZ7476mYJgwJBf5kDU8TorA3ohNJ39fz0uadU2RDaX9RoByYMCC0nbvjGjmujlQGkHzwNHMmyWQWlz37Y0Q68KBqC0v10ZRyoLSD0ONRrk2VAMvc4IOjmKYsQmkAz37aIcgGJu0g7nvnRzFOGbBBaTP+mhmKgZZSAabA9dcV1ReFFO6T54+BONIaiPhJXnd/XUzhDw1fzvrj9NHxEPDV/M/wCYaYVFPDQaiRzE3lAPIMFRnGe/z0xfIsmpsAN1od1u9iskVYbneX23C2HlDwrDGwyF63+DDJAJDY9M/DWc4lrCDU0XVp4HEV48FuY7GZI7CdO1vRef/NF1uPJG7Ytm2DfNPtbiLbsdLe+RaxnWKkrKCSdvIt6U8BDs05Tz2j93zo1CHzBOqyb8M5sjFZdbMHmJd1giLSLXgkWtb0+Fo1aDfBfzVnTGzmiN3TI3AcPLBuIJGI2DwZFFvyPc+9jyBNva82efb+36/wBggi/s/YGqvagtRb5+ukSSV+gyRGLppxFSRiNelm1pxHEC0eC0SGmXHMZJ0gPEG0m8nMS4iQAsVdrXg12ZWgQA0TBMXMC5AIABsSBc3hSd2nxTZNoWawbgs01528plFT7PUTC8Xi8MqOsRWsqlaRZiGRxDEEiXGAigltZqmIe85AA3sOUfH0GrnEnqVkqVAXvp1D4rhPMZDWzBMNFgyREfLYLnvJln5UsMcvK9um48p6O32iahv9gqtx3O3SX2CN0NPI/sUEgirEUywrBiaL/aQiv0hRq+k2g4BheZm3IHAEyCLuEg25iBpMLmYWviRW8KnQDw4iHyBAiSbtIF5OocQLkOuOY76qPFVc+OKmjs/CmwOIN03mrprLaquTlBrrUWP2qaNWrEpIaBKeompF86UQRVKySPTKOtuonWinw/AB7c9fNFzlYbxchrnH8UQCWwJlbcNxerUeS1pcA0+ZoaZi2YZiQ2SJ80iRAla/vn7Pzj7f8Ax1Hxhy5unxP7s20zQztua58t7hlW51SMHjkuNBNM8UTNJHTkZhkhMgGVXAQ2U+NGnVFZtCkInSmARPQjm32cCsL8M1zXNbVcS4AZARBjoQA2xkxFhoCvMZ/BlyL9nDyFu7lfwheNam4Vp913arudTsHmi2W6TZ27axHCSRwR21Y6hagRyEJJR0paMFY2CD3ddapxzC8RLKGJw7g9os6mXPcB1LXAyOpc4CZg7rDhfZDF4cVK2ErteCRLSMjZdcQ4EBkxa/NEkELvvh38bFl4+Xa+xvGB4Q+VPDX4p973KuFBf5ngs2296VHUzRzWe+XJ41ik8tkjioplEpVB0R9JC6y8S4HVp0szXNfQZEmbt/72MDi0k6nTq5b6PtKcTinUc/hvkgNIL22As10gOEX1aSdGnVdL5n8Te8Np7vsWzuNuLqbcHiBuNYae0x7d3Xt+43PcVOZ4vb4LjRPUxKZRT9U71KMqgRdB8rsBiw/Dn4h13gMN5PiNaAAY5iyCJsNSSR5rruOrMo0i6oHPDNW5ROaw5Wh8i1yIsJcbQuhbh8etr2Jtq8UXOPDHN/h2G3Zo2sNVujZFRPRUUUUMYqbSbtb5aqlE/kPKI5/OjWVOhiUKd4eCYyqSKMVQ43yOa6T1y2dHq2y5WExWCLxWc7JIJcXywf8AcS5uWCRoCbyACpM/9pkdl4+2Vdtvb2oN/wBBfBItllooKSrprxHEGkV5a1Gy0EscaqXUNh5cEs2WPIqYmmWua2nzDzXNtiCI19YXcp8IrYqvnD8rQZ+DtABpIO8yQJjQLmF43w3KfhVt+9OHdmXvkeTcFLPQW377eS3w0lC9XLTGqrnh6qtI6WP3swRvU/sh0oXA0vu5Fbw3PDIuT5tpgNBvm0AsL3MLcKgpuf4kGIs0kEutbMQA0EiXE6C4Gy4NY/EpcqDaWwNv3G+1lH58NNZRFuKknqfui400Mq+2090kaliejnngqIY5pmRz0I/qpiW3FYdxe/LMC+05ToIuQYgkCdxvK7mHwVIDxKpGczmLTIJJBcDHmyi8wATrElRfqfFdyPuTlyLbG0Wh8T+8LJVTbju1faLRUfc20vLR2o7VWyB1ovNqaeRFNa9SAHSmPSr9PV0eH8KPuxxTSWUiIDqhAk6Ogz5QZsAXXIk3A4nFOI0aFT3MiKpjlpy52V1xygZszosOVtiSMsE9V422Hybzxtix8w7l5L4y8O20dxVNrqKDaO3qiq3VBC6TvD0XCaqq4Kaohk64USDyp4UdXETK5zq5uIwNBxbeu+4JaGsAO2XledBqQ0kaxdZTX4nVLhTZ4eWSHPJLjqXTlDAO7Wut/wAhZRG8TPiZ5Z+yp5e4+s/M/iN2t4i+PLjcqu/0eytu2WKxX631kj+b7dBaqZ1hqKOJ4j0UlQ/QPPaRZpGHlptwvD6XFnOGAY/xWtjM45xvq4jlcZ1AMARlb5jxanExw+gMRxEMbQqHLDeR0WByXJc0Xz+Vxdq4iGr0E8C+9LHv7wq8BWGkNZ4k9yNx9aq+Gu23K9JaqVpqZVqKNXUinYpNCsMnmF5FYt1iJSFODj7HHE1mUKQDA6JdqYvOlhvaARFyV0+BycNRxtWuKQdzZRcQZibyTBMA6GY6r5SftEfBtvn7OrmXe2yd1UO8KDwY8ryzXC3yfdHW237tDG00S04SQQCtopqh40lhlImoJpkIILxj6dwvGjGUG1Gia1MQbjmBMQdbOi8gQ8A2sV8W4o1mExL3sMYeqTpmlh2dFiCLkf1NkGbqev8A5LByjbrfyl4u+GLtcqS3zX/aVn3FSwyzkK8tDVSwTrHGSFZui4Re8e4ABGsP+oFEHCseb5XEfMW/K6r9gcS5tc02AkmDpsJ31ESPVfZFTXmTam6jbKa3W1LbcIWlpRFTsFopkUSVSPL/AMMgMc2Rks6zMfidfKRiHEFwv92gdB8gvq38PZVZcmRP/wApJg+uwmLQF8i32+/2fG1uU73vvxx+FraFbLdbNSdXK9PbaENb7qY5PJa508kWUarjGPaVGA8aiXJkjkDfQ/Y/2me5owmIFtGE/OOsf0nQG2hC8Z7X+wD2UBjGEeIZJbfMW9YIkEdNSNrSvkgvW5L1dbVt7btxulXV2q1w1EduhkbqSijmmM0ojHwDOxcgfEk/HX0JtBjXl7RDnRPeBA+QXyXE46o6k3DvMtbMW0zRP5BY++C2Rmaos3mtRm3U8kisrDy6j2dfOQdXdgJBJg+h7Y7Y0aRe6zheT8pt9PuSq69NgcDT0yidbGBIv3Hp0X6cPgu3BtnYnhF4P2dyekWzqu27W2ek8bQSxSQSLZqZTG0TBXBcUo7dIU5OMjqbXw/2lqzjapcJl7/z+O5vfppZfpfgWCq1MLh/dCDFJpibX0M+s95B3svm88YvI27eUd82fwReFmolu3iV5Ov0+891SUlzcW3jy1vJUyU6S1XWZImioKyaoqA3u0sdZNgNLLH0+k9neEU6g8XFWw1AQSRq6wdDRaAQ1gOr3NDRbNI9tvairQd7rggXYysYZBJIZNnE7ZiCQIgAl5EBk+0PhS8Nvgu+zH4b3bwzvzcPHzXOOxf2o3TuS9UiGDcVOlM+LuzTF/JpgjLTJCoCwydSg9UuRzPaD2pq4t4fSloFmgay46WElziBN77CAs/sZ7KOwlA+DMkgVCSWyRMyJyhrAXGby0S4nc1Bt7xE/arX+3c47U5c5G8EvgWs1oltu2Ku2UslFuvlOjeSnqKivlzJHJa7O60kSxNG6VVQisx6EcY0nAYfh9N44m3xcQ4z4ciKYAMB5vmfecl2ttNwuHX41Vc9tDg3+1MmpA5zMAUgW2aLgVNTJygNgnitV9kpb9lWjh/cFkt/F2/bzer99811ku/Ey3Suq3NE4NPWbleeonpI0pGZ1mkHSamIDu8uddF/H6kmjSe9oY0glrmtYDIl2QMbN7AAzl6CV1sNhsNXc+pi2MdcXqF7qjmyQGgucYMiSbgDW1kypvsxPCVxfbN38cc5WrlGxMaKqr6i6cfKljse64wF/bigiMy09dDJUxUyMxjlKSU5YSe904j7U4lzYpN8W4aA5xc4TAAtkBDiJNiBBjRdDC+ztKW1cI5lFzpkAZdZvzZiMjfxNImJkLkfF3EPIXhB5eu/H/iD33uHlaGngqb9tCk3JRTUdbWVNV0wLXVG5KaJlmqba9RPRy108LrTyVLVAKxTB6XVisTRr0ctAFoPKQLtaBckMmQHxYAy5oLQJJzY+G0q9GqOcPHmBMZ3c0NDjckCQ6JF3Mc4w0Acir/FTx1xNzly0bNtaw86bsuO3ZLhBeKXyLJTV9JFJKlYtdHIqw0UCTQTyT1EJlmquiVF9sDpIMQY+pQD2O8NrXNGZ1zoC3S7reRggAxOUB0+r94pU62WrzVHgkNaZggkOm8CN6jtL2kNa2QW1udvFd43bPV2HwR8nS3WgXyl3RuaPbkO29obYeSpkroloHYTXu9TvG0paeFKdZBIOmeF8eXG8Cw1BrKnEQ5gGgcc1R0DQUmgNYBP/uPN9Q4TPmsT7R1Klaq3h5p1HOFi2S0EhrTmrPOWRAAbTpmBJ5CAu8cSfYiWG1HeHJfJfL1y3Vylum6G9Xm61PF+0o1EToqpTxw19JXyU9MFMf8AsoZTkL1Et31rd7XMpU2YaixzWMn/AN5wJPU5AwOM+rRPKFwa3DHVcVUxFapTqPfAk0i7yjytD3HlEQH+c3JOqyfKn2K2xd70lt2c/OfNlj2jJdVr73b9vx2TbkVdUhg6FKWlt1PDK6sHkA8vOGX3lGerJhvaik2t4xoBxFhmc9x7m7nGw6wAtT+DPq0crMQaZMkljGgG8ictmgmATJMi0rdLnsTem5N40Ph38QvG+6uZxtBIIK/cLWq3QWC42ieSb7muUSTVkaGqKU08M0ccXRFJ7VC4khdfMxFgZ/1lJwGbq7mzbtAyuMXacx7Ecwt6nhHEqTqRw2WHiSIa4WESSQGwP+LSSRGgMqZu3NpcjcW2fZdPtra9Zunju3yimpKOS6R3K7WacKYxUO5eDzFEatEyyyOySdByynXLjxHudmGYz2AB1AkQD3AEgdSrX42lJa4kEjm5TLoMgfiJEEnr0NjEgbRyVY7ju217eusG5L21XQzVEAe2COO3wRmEES9A6YijMASWJLN27DIyOqcxJiBuSL326/Abd1S7h1RuGFWnyOJFrzJB69RsY+azOya23X7c+975czaUs9VXrabUi+WWuMcEMZqHfpJBX2gyRlQB70B6s9hq2li2Cm3nBzEutFgDA7ydb2uN1i4hQqtDaLWEFgub2LiSIm1mxB6G1l2mS8UNLQirRlNGqqQVXC4PZcfAA/DQq4poEk/Vcengnl/hxf8Ab9lq9m35b7xJXSUlRTV1JFOaWM08gkaomDEMEUfAY/F6Zz37HC0qxdfY6d/09Pmt+M4Q6jAMgxJkRA7n46enVbZSTVzRM9b5KSkkhEJIRcnAJ+JxjOO2dXZoXOexs8qcGU49QBo50BTSTLj1YaBfKbw+ySZsd8nOoHHRMKaH5w9DjUzFN4aQZj8B30PVMKaGZSSe41A6E/hoZk+uTqZ04YkGQfPJ0M6bwwkGUfTQzp/D7JBlP1OpmTCmhmX5ldAvTZEgy9vxE6hqJgwJBl+BP8dDOmFNIM3y/ho+In8NCMx+fbUzJvCSTL9RqZk3hIZl+pOoHpxTSDKM/A99AOTCmkGY/nqZkwpIbTHHcgHUD04pwhNMTnvqF6YU0Nph89DOm8NBacZPf+OoHp/BQ2m+uiH9URRQmmBPrnUL0fCQTNn01MyBplBacYI9TqZ90xp9UBpR3GQBo5+qYUrIbTD17amdN4abtN699MHqCmgPOg9XUfrqZ+iPhpu86EfiBOoH3T+Gu/GUfE/n31wTUXhQxI834+6dAPRyJQlHxI0c8IFqV5w+f8dAuQDFfzfq2iHqeGsDfK2qEBSgqoKWrj6Z19oysE6g90eQAlQfTIGR64Olc6TGi14Oi2Ze2QbW1HcDdR934N13ikp7CtnoaK01UwgmkuZnrTKznCLSwI0aEEv0t5jKegHCnsyrSJaZNjtEfEknS3QSvUYSnhwc4dJAkxDbDqYJNwDa06nY47Y/BO1tqz7WqNvWmsprLYKprxDE9b1pdbiF6RWGAFwmA1QIkR1RAVPSSEZdjsa5zi9oA2HWPWwkiJMT6SQsOMxeZhpVXXfYwDyj+mScxAtMzJld+vlrpty0C0S0FbTMJkmieQGLy3U5z27gEDpOPUE4+B1RrYrl4aqaLsznAgggxex+/gVerq7dZaRKyWmrLrfJFYxqpHnZCnKqx7RRgKcn0wCT1H1ZtS0D79fv0CDaFSs4izWD5X7fiJn19AuS712xue/bhs63bc9LUbSCwXO9WaC0pLDXNH2p1jq3JdQsyLM2UAcQoBgnT+KxgcWZidBeNbGQB0ka7rdgyC1oYwCCQCSZG5tIHQbxJ2QN9bSstbYbTet10O99xWzbMjVdNa6W6LQlmkp5IBIqiRGeXy5nCdUqYY5QK5BD4aodDEutzSehjQ9O/Q2UDyXkUIDnzcCZjadPp3JgBFotm8l122knsO8rhsuluVPPLV2rc1K16jt8UzDojCPOJ1mji911NQYzIz5VgANXVX0QSHiI3aQJPYQWxO4EwO5WDxaJeHluYiAAOWdJJIgdYhthFxqo77Y4WvO26mnuForW3xydVU8Vlp9zbvMlyrI7f0BZA0iFY6WAdMgSmpgquABP5kkjSaqr8VdWaKVIhjDchunYkky8xubN0aAF6WjgaVIOq4k5iy40bzG8NGUxqJcZLtc1gue+Inhe/wDiK4k35wHzhNRc37earpY7xZ7VQx01LURRtG7z1MzuZqeVIlVlCFJlZl6S+SzX8JxzsNXFeiSC2bk29MoF5NryOsKrivDMHXwwApANqWAMF2tspJgX5sw6W2C8vNtx+Jn7JLkIb23+m+vG39nvY7JDtyg3DHSRRby4h277TLLHJJSyL1V1KplCLLG/WIYx7sHuqfVPp0OJCMMfCrvMljictR0aMvDTuWxrqV4pzMVw9h94aKlOTDgJc2JnxCBLwAYnbo64Xr5sjxoeHjl+27H5G4L5LtPJfGG6bdV0DVu34GnqLVW0cC1MDT0o/b008fXKGWSMsGkjHcYB8bXp1qJfTqtLXNixtqY+XcGOi9Vw7hoxzG1WEOv5pkOB1E6GR+Gx6gLzuWzbP4lpt7734a5J2T4e+aqa71tk3PaKNOjaW+JoX8+kN2sjuFC1dME6a+ieCpWUn3px7h2O40cRlpYkGo0gQ4WqDrDrBwH9L5tEZdV2m+yFVpNTBktLTMOuwF2tr5COrRB/Fm8qhX4bvFjuHj7a/NPGnNfMmz6zdEc1buWw2DbFGs0tDQTTTzV0m17rHKKW5RRtUxErNHHWRSdYCgBS/W4nw6m5rXYNpeDDS4xBsAAQRmYTGglpGhO1Hs/jqrsY5vEYaWy9rRrYzNrVAASbERPOwSCN18P2wvGdzht+W77R2Dx1tE7gukH3be6/dtfb5ZrVmq9tt1nho4JI4rdPFR5Ssn63jnmqnpgB5bx3VMJgqT2ivUk6kZZM2ILzmbF/wNALmhuciTLYnirxndQaAxunMIEnRoIeXkAg5iQ1rnEAOyAL0p8OXA2wd101Hwxyxwztfjfj3jKKifb3HdlrJqjb01rq5ZZIrrWFo4xXPNVUc8ApKtAKWSCQusspWfWbiHFnMJxufO99vEdALYtlbchpgglwOhhuUTPGo0mMYcFhBkaSTlmcxixmxIaMx0JJEkxlAiLuLl+427de8vBD4ArTsrgO97YWReQd8QtSmi41tlXUPCY0jYmOS9zsJWpoeookc/UwMiQoHwdB2Jpt4jxJxdTJIaBM1SB5QYu3+pwE2yt3K6PFMmHqjA4IZqrgHQRLaYJnOW2N5BbTMAxnfFMQ7ddl+FXhjw3VnC1/2BxXyFvPdF+u1urr1y5uGuir9x1VP58dSlVcofMatnt7vArBHwUUBQgU9QbEcZxeIaaLMrKbQYpsBgSCDZoyh8GdfyScN4Zh2PrYmsXVKh5S83mIsHvcAGg2OQZRNrG8Ntsb25V+zK+0Rr+N15EtG0/B9zVuSs3VxvOjQUmzrHdatSKm3V6tGrUEMssdKB7O6MoWGbpk/aDXTcafEsCMS4F9akAHmTmibGJIJiZzDqARZeLxGHdw/HHDPhlGrdoygw8C7Z1AvLcphziQd49zPGn4XuOftQPC/vPgXd9BU7T3dSzvW2wvcVeo2juWKldaSWUQnpnhIqgQcmOeCfzB8AvE4RxipgcSKzIc0i++Zs7aRpY7EKviHDadXCPo1yYPaIOs3m4/ENvKdZXxQ/YO8m3Xw8/av8R7S3dAlmnvv37xveqaaTpEFTJE2EOT7zJVUESBfjkjGca+re1VLxeH1HMuBDgewvPyMr5ZwCi6hxDwatnAub8f7kR8V+ghyJs+i3PbbhZ7NbLlT3cmGporjSVslM9tfzOoS5jdQ6qwLeS3aQEqQUY4+H06kOhoEdwDE/fwX3vBPIAqVXwNxrmIFvj3H564u332wPty8be3XYbHS32pnFg3Lb5oBLQV0k8TIEZQcezTQ++mcfsGxglWUXVM7SHU56yPmT6j7gLP7u/EtuZAEtvcQY0O8m+vMb6r8uZfDpu7fHim3f4ceP7dTDdsN/3HarVQTuUEgt61s4gVioJdoqExoCB1OUHbPb78ziLPcxjKpgZQ4n1An6nZfCuJ8Aqfxarw+mIeHuaB6Ex9LBOfBDx/sLmLxfeFjjTkyvitXG+4N7WWhvTyBh10T1CNJF7vcGUDygfgZB8tX4zEuw7H1iJLGuIi9wDH1XF4ZgjXxFOgLFzgINtxb46L6f8A7YDxg37gvk9PDp4fZb3cubNwW+x2K2UUitVVlHTVBqnidDIuUqDLUCmEQcKfUqUAY/IfZXgw4gM1S1NhdmMwLBsgn/7F20bEr9Me1ntK7hNEPpx49YDK0D/k4ZgBYttlDdTIGkhSq+zo+zm3V4I/CtvDxJc38nbN2LzZeLZU7w3TeGRLhVm3hBLBbqy7VDkLAwHmzeSnvyThnmcIqjR7acfw9TLhcOSaLIgAZQXE/wBIEuiwaDEXhsmVwPYLhFajiTVxVLPiqhLXFxBIA1jRo05jP4QAQGrlXGfHlf8AahcxbK8ZfO+0ZuLPB1aoI5ds7Mpqp5IORqOOrkb7zvwn6YjbPbqWAQ0SxqZUjaUpgl2NJ38DpFgh+LdeY/25BDcupNWCSZs2QOgXWxFN/H6nhUHuGCYS0XvWPLmEDSkACLmXGZJEAfQFd57e+wpOMqy8buq66/Xql20qeaIAaercTSeVIiqej2WOrYg5Zelo8gJgeSwT/wCc1zm+SSZJM5Zde+ug7kyZldTG0cn89ha1obILQJBAyAAGRZxbEWiCBKkq9+pxVUjxNFQ0da7yRweV5TzuoJCENj1UKfdyT0YGq/EJufj6riNwBDMpuWwJmbdo6d+sqJvJW2J+QOXLDY7ReodqR2Cgj3g8/wB2pVMt4jkljt9PKjYJQh6yZ4kKsRBTnqXqzrdg6zWNdUO/KAO45j6hsAHQF+8Lo1iXUxTc3PJgySBlsZBFozAXM6EBfPx9ob9pHU+H3mzZ8u9uPavbnP2y6umism2o69Xte4bTW9aXcPdEjCy089PFRRJJMkbU09Of2TOjMe1wTgb6gqCm4OY6QXROXLOUZZmc0kxq3QgEK/jXHMHhaVN9UuzyCBBBfJAJaSYa0CTe2YtzTEDye4fo6fxF8xb25kruCtt8x3PkLddFuHa9hpqsWTijbl1Efe23WK40scNfJRrUrFIsAkId/MjWTrlx7muKuCZTpNqBj2gzVeP5hB1cxjS4gOPlLgLNjM0AE/OeF0KfES6vUpvr03wfApmWWBDRVqnKA8eYhriObyE8o9orB4COYjv66XHlrxK3Tj7fFbG9M1t4PvFbtrb+xUkeELRVUJIrqmORouhWlljp1jVniSRiq68NU43gmAUcPS8YHzPqiS4yTZohovqedxsLar6dw/g/E8SG4qvU8BrTyU6cQQABOdwcXQACAGsAMzlGvovsf7NPwyXeM0e9eRfFNvi7Wlwtxhv3M25+qkqWIlMhjirEEbEqWDDAKsfTtjM7jt8woUg28fymntqR+uq5+NwdZnN4tQl4m1Q3E9iNNBrHeV2Gn8I3hy40oJtx8ReIvxI+Hm2UMDvUXa3cr1tZbqSJcly8V8aupO5X3vdHbPf00tXj7A4NxOHpmRblLCZ0A8MsJ6jVYn8I4pUHhtc515ykCoSbXIcHEQPiOy5NzvxD4ytoWBufeIfGfsrk2/bTs10qvYOS+PLZS0m47I0Cz1VNNX2o0zMpEMM8TmEqsqRt7oZi17Mdw97HUHU3081rPzQ4GAcrmk9tZuey5lHCYynUa9wa64sC/rFodDT1i0CNF54bj8Q/jB4dsNm3lzDyd4muG7lFaprxcN2LtCe47RrzDCktHQChp46mljR4A9M9XUVEnn9ccv7FlMQ6ruC0A7JhqfiZdg7nJ0JMubABg5QwECZ6nqU+JU8Q01MYabPEPLyw1gJk83MS4gnR0SCGmYaOr7T8RvL+5Nt7X5G5k8P20d0bpu9tgrdt32l3HTrZLBLXwNUrB7APaaa33QnolMHnzCrdkjheRkECcWrhaNN1SlRrDlMPMEmxGjgBLQDl5Q2HSXADmXpcA+q5lNz2OAdlcwaFwAyEOl2YnrmJaGwWuJJCnbtLavDu1LDWzLtywbUs5t9JRyVu26BpLbcROAUkFc8SvT1oV1VwzRtIrK2JGIVMGIxT6k/iuBe0QdIBPLtqeg3nVh6VY5KdQgF2YwXde1pnWYN9YClHs3jfav8AZWCy122aG+7WjkMtuoo6GTCQoEeET+c7kFcABThiAOpQCRpa2KrTncZcJvAAnTYD9Y6yuK+lTo1yaByOMAkuJ6zF/jOnSdV2zb1PQLJTBKW1U9dHFHPNFTIFjpAVKoiKFAX1fPxPTn4jGfxcxkmT16n7/NYMUHAECcpkCd73J67fktzWpWTr6CCVYofoR66gqLB4UKjMfQHvomoUfDVjLkZ+H56gej4YSDKPnqBxTimkmUd+57/DQc/qmDCkGVcZznQzo5CkGUY/FqZwmyIZkyPU6XOnDUlpPl20fETZSkGX5nGoXphT6pBk/M6XPdHwwhmX17jQLlZkSGlORgnRNRMGIbSH4nGhnThgSS/zbt+elzkpgxCMoB+A1YXbKzIhmXsfjoZkRTSGl9e/79TxAE/h9kIzfXUL0/hobTZz31C9OKSGZvhqZ7JxSQmqPgWUaQ1N1YKSA9Snp1jUFTdMKSxDX2iF4Wxf7abgaU1gIpZfK8oOE/vuny+vqI9zq68ZOMDOrBmLS7YR8zP7fD5IwMwbuf0j9/u6eNUEk+6366QVQVYKPRCaZviuP10PEU8LqhNM+fVFH6nRFTqp4IQWlbJPUP0GjnT+EEBpTg5dif00M6PhWQDL82Ofz0zqiPglD60HwGNQVNkRSQmlUfAafxEDSQWqPkdTNdHwl3czj6k64JevEikrif17/wAdDNChoqvPGDg4/XUzlA0ksTj56heUPCV/O7+p0Qd0PBCAVjeYTyFpHX8HUBiP54/P4n6aYPhMGENyhYqqtslddIKyqrZpKGNSPZM/s5CR+Jx8SPlnGgQJzLTSrZKZY1ok77/Dp+aytFTUtvhkgpIliiaR5WHUT1OxyxJJJPr+QHYYAA02dZKuZ5DnmY/TRImm9ngWKEVaqi4URjqZh8gTnB/PQLkWUZMmPjZYwVNLaglXUUVdGsuYwI4Wm8hPU+aV6jk47t3HYDPbUBIsArKjTUBGYWv0n0002Hx3Wvy8hbDpZo513Lt6KerQQxLNWRwswiBbpWJyHPT5mSOntkHsMaFaq5ktcDbsr6HDK1Rghpy66Hfvpt1T+P7tqZ1rtwV9HNW0zskPnlYvZcYYv0E4Vj0qeo98AdxkjQp4hsHm1RxDSwZaTYaRJ3nbXcCY9Z9VzrmDljaGz6BYblu/YkdXNDK0VsrpJJZKxVADdEUAeRh+0XICnORjQBqPM0JJHQTfudvit/BOG+I6XtcG65hAAA7ugfVQkuvjg2BRCTaj8S86vy9PbVqW2ltLbsEl5vtN70KyQwzvHKsWAArGOMYGerCnXS4fwnFYk5AW2kEl0MB/5OEgH1Pz0XS4myjgwa76gNGeUvzGd+RsSZvr8rysMvKXi021Q7Yv3FXgRvtrpL3Vtb7g3IPIlpilo6JRiGolttJNM7OxjI8sVAZfMBIbuda28JoME1cUwEf0h75naS1rRHUSOi5mI4x74802MqGNCGsZl3JkucSLxAZNrwopbj8VHi7Pio2/4VdzX7cdNveS03K+vRcbce2LcNZQQU6RKgZ7hcp46FpVkqGV6lQWHkKhJZ1HV4ZwWiWVMUyXMaQJLywXJ1/ljS05Sd72VHFsbSpsosDAwPBPNnuGxux8m+xYAYNlDLkD7L3iK0xb25V8HniP8V3hm8TE13q5L/T7r2TeLLt/cKSTRvLQVVHaLfTJSQsI1DGj60cMT3XpK+nZxJ9doo8Swmels4ObUdN4Muc7NroRrrdfPKGFbhsSa3C8U1tU8xaCGtsIIghsSZ5pBF4K4R4L93eBvnTmTe3CHiW8OfFfhy8QtPHRUFq2zuKSrrrXu+9RTSxSz22pvLHyoOyuIZX65OqIRl1hKtm49R4lgKXvDXyx2jgxrcrY1dlFj6SNZgwF6HgHE8Bj64wuLZzAy4OqOfmg6Nuc46RBjSZLl6HXL7K3wc8l7V3HsG48TWbYW5aWdTV8oWGOO2XqxVsgDUM1rhihhkmWZJGC04hEeYyjM5CufP4H2xx7HhznhzDHIZdm66zHUkkayBFh67iXsXwoU/8ApqWSqcxaW8uUjUl0wMp/7iRrutHtHiv5x4J8RmzfDF4qduUu7+VKO1TybE3RtyantlNzcad/YrclDG6lLbdFkqpFnVv9mWOCokGQU6q6vBKNdjsdhKkUnESHTLC4y4vcAZYACQ4czuURKpwftBUwjWcKxdL+ZBhzcpa4AB0NYSDnJyjw5sTMgC00qbwu8Jct2bkrmHxH0G3+fudrjRrTVdtnvNf/AGRs6hnioaGgpaaZaarRJahnWskRp5pah6jog6xGldD2gNBraPDwAySC8ta55J8xkjlECA1phrQAXOMk6H8BxNeuHYpzqLHxDGOLYaOY5puTfmLhH4WgCAtl294ReI+DeT9g2PhaHZPDG0bDZLdXpt+kvcixzVslZUq1fNH1BhLIr1JMsnnEeZNIhgceY2XG+0JxYdUxDwXGWgjZuXyjoDaQA20B2YGE/BeEMwtEspsc5pLieUczgWmSSJfB1LiQbcpKkbZ977Z4R5C4q4H27YK627DuctRW2ujtNMGbaTQxNKLfVushOKlop5ackli0dRGoI6OnEKrsTTfiTzZNY0l1hECJFpA7E92r4XKYqO56gLQXXDiLuIkWABg7TF0DxFcBcBc47e3bt6+bG2lyNBuCjNFuXal0k9nF/plJdVhaYKtHcVZuuCrXywzgq74w8d+E4xVwlVpD8h1Dunqd2ncGfTZcmtw92LoOpVW52NJAAuJ3IAOxHWRqIXgNcuZPGH9kltfanL2yNxT+MDwM224rZZ2ulR7Nvjj+0I+Dt269ZaOZaeSYNTzEMKeTqAKQ1B6/WspYHizslJ3g13Sco/23O/qadgY5huNBIXn+I4LHcLa99eka2HaAcxPO0aS4WzAbHlJgBx6fPry74gePNq/an3jxZ8NXWC68ex8q2vku3SqOgJHNPS3GphZf8LI8tXCy/BkYfDX0TgmFqPwDcPWEOylh/wDs0H4iDPRfKeP43D/xc4miZYSx30aTpv16Gy/SfO+bNc3qUsxq6+hV6KngqIEYwVdNMTPT5ckf+pdST9G7ga/P9cPYcrhvF+o1+X5r9B8OwRcxtRzhLgXRuLQSBfV2nwWD5Crai0V9t5WoXlorVaf9m3HGk/lvLbHOXnCKPfkonYy4b3TG9WnfK600AKoyHfTrP99PWFkbR8KWRJdpOltLnTMBrroV+bj9pZZd2cC/aW+KtbBf7ltvd9r5Mr7/AGu6W2doJ6OSolWugmikXDI6ipQhhjBB19x9mQyvwmixwzAtykHtyn5wviHt0+pS4u/FUuUkteOt2gj5f5ULuKeRd08Vcrcf8ubNgt1bvnb19pL7a1r6JayCSvgnWSLzadu0y+YFPQfxHA+OvR1KLn0zSaSMwLba3Bba2sGxXjqGJisMQ8SQ4OMkiSDmuQQQDvEbwV7W+BG2T7ovG+vEdyk3IXKvP27bvX7c3Buuf2aT+xUNZA8UwiaqYZvVQzmi8soBSxErGyOyKfn3tPVfhMOMBgminSaBa4L4M5RF8lsznfjOttf0B7CcNbxLGfxjijzUruJgCMtKIymNnfhYweTopy7r3t4mftDt7WTwO7f39d9l+FvaO3LHduZ4bPXPXT25YuiF7fH5ojkM8hheZ6LLrCzSqzsy+VrzmCw2CwRdxjFDM7MRSboC7+oA2hswHQAToLhy9JxvFYjFPZwnhsML2A1qn4g06MLmmxeBcXcWQTaQvdLj9G2BsG77U2vtkbm43prfNFRrbaeejp6K2UpWakeOVjFTQHHkyeXAoQiUdweot4jGYt1Zxrk8xMkmCS4mLXLiZ6iPQQB9Ew/CqFBtLCgBgZAa0RFxBERpFgXGbEmV2Pi/kjc3L3LPEj7wsVNarNHQVW4KOnqZF86oleip6VJZ4FdmWR3qrn0I49xYWLf4c7cNSNJtR4cJ8pAvEuza+jQSe8C+nmuN4DDMoRSnODmnSIkEAkRAzAWMk6dV6F3Ojiu8T0clRGFfpBDqHGQ3ZhnBUg4PUD2I1R4gF5heMpO8PmjT1C+XP7Rz7VLfvhD/ALLbR8Odz2zvHxF8k3C6Xqirp6H7xlsNhdIrZZ2hooh0T1dX7GssMcgK/tPM8vDhT7L2c9nn453u5JbTaBmgiXPcc5bJ8uVpAcdQI3uLPa3jVPh1MeOwOeTlY3mgBslzjAzOBeS2GkBzpBMNIWS+zm+xF2/fqqbxLfaTNdef/ErdvKudXte/10lXb7EZBlI6+QZFZXoFHVF1NBB2jCEgtrscW9qqOCb7jwUBtNts4Fid8nYf16uN5heOwnAMXjnjinHSXVHzDXRYDQlugB/C2zQDoTde426+AuMuPtpJLtzj/Z9v2dQ0YpmoIKOkgis8KxvFFNGZv2TQwpLJE0bgkxSZ7tEmPB1MfWcXVHOJcbySZJ6SL3gAdLd19J4fX8R7cO0QLAACx+AiDaQRv2JWocd7E29ty1QbdsV13tQcd3Kkp6CkpYKVJLhbnSmZVhqrjURvU1FOIlUxvKxljkiK9bqVxXWxra5Ic3mkmxhuouAOvQTOsSukcPVogRlLm7uJMi+05Zk7AWI0uF1+m27uiy16V1kvdz3m9Ev3a/tH7NGhGJfPkCoUlm7IvbvkyHC5KnG5pnM0R96fp6AXKDcRRewMrgMkT8dOsgak6DRW504X4p8TGy7PsLlvZtq3ztiKriuVJC9wmj8ip6GjSYPEVYYE0n4wV74KE624LGVqFYVKMBze0xvvvb126lcakw0g8BxaHWNokDbv9mYRdo8LHYuwN0WDeO89y82V11N0e83K+RwrVVEVV1IsNNHGBFTRQwt5KQRKqnuwAZiNWY3GtLf+nZlgDeSXbuJNy4n5CB3WbCvfUqNbUOWCMsWDWj8JAiRaXE6mSbFYHh/etNFxNxvt7cG09ybWv8VmhtsCV9MjHzaOMUitNPG3SJHSJJOh+lsFx0noI1RxDGGrUdWMGbm4gZrkddbfUbLoUeEmlUIpHlBNpMkTIgRHy7aSYhLyf4GfDPs+1XXfHHXhynh2nfEP9prVsGaa0VUMMwkkqKu3R0rxxzqGZmeGVJVOFkgUSL0SdlnH8TWe1tRwcW3BeAdIgTq2exHQ2uKcLwdlIPpNqeEYIt1mxcDYkTIGoMzsuM8G3raux93b04+8Q+8+LN78fU81PTbVlVJdvQTWud5JaeeqpI5IoorgjSvR1VM8UJjaKlnEax1C9Ax9YUw2rTaS9xOaQHZSBcAwbEXBvaW5iQZ6+Ap4iu3KxzmZRykRLxMSZk/Iw7WJsvXXbls4lqKajotsbneqtVZF5EUNt3TPVU86FMD345nHvJ8274BySe/FLw55zNBI1tpf0C59Sti8oqPbpBksAP1E2XU4bLBSAR0NdcKSnHR+yUoVAX8IGVJA9Pj6DUNUEzvr/lc/xXOMuAP36rMQeXTxeVG0jLknLMWJJOSST9ToZgqSwkyUszjto5xNlPCSfPx8M6AqdEfDSDPnOp4lkwpJBm9e40mdN4KSZvqdHxAm8JJMwHqx0ufomFIoZnHwJ0RUTCkk+f276BeU3hIZqB8SMagf3TeEhtUqe/UuPz0M6dtEoZq1Pbq0MyYUUk1I9PeP6aId0TiihmpPybUFQphSQ/aCfp+uhnlP4SGZyD2KY/PUzphRQjUt/wASg/LUzq1tJDM5+LAfpqZynFJCM3fu7Y+p1M6cUkMyjuMn9+gXp8iG0qjtjvqB6cUkNpfoo0udOKaG0w9OrGoHhWCkhNOB26iRoF6YUkEzD4nTF6YU0Jp8D56GcommgNUep+GoXJvBQWn9e/8AHTNeVPBQGn+TfTUzJhRKA0/fsQP10c6fwkFp/TuRotqICkgNUYz3P+moHFHwuibtUYx30Q4yp4S7x7SME51wi8SvFiire0DHwxpc4lHwUoVIx+LTF6XwUsVPYdxo5+iU0bq4qR2PVjRD95Q8FK9oHzxps6Boq/tHzONN4hSmgiCowPXUzpfBSvPH/FoZ0PCSTUgdOWAJ7Dv6nR8RTwSmNZFbbmKmluFJR3FZqd4JknjWQSwsCGjbIOUIJBU9u+mFdws0ojDkAOFo/Nc1n4g4nLUC0XF/GCCFlZD9y0oki6E8tTG3lkjC+79B2GtZ4vidG1CPQx+SJwrHgiuC4RF7jrBBPxXIuUtjSVd72/tTZm4odl7lv5nNUbXaaWaems1NETUSwmVegTdUlJBFJIDGjzA+W5B0cM4OBfWlzRcjMQC4+UH13PmIaYI1XQwVQYZgGGY1uTK2TIIk6NDdALui40m0Bds2JxVx1xytfPtPatutVyrgGuNaxaesuDlutmqKmQtLMxc9RLscnB7YAErY57xlNmjQCwHoNB+dzNyVgqh9RwdUdmcNyBP0jaB2FlvUlBa5ZIppKGmaZGZ0crlo2ZSpZT/hJBIyMdidZW1IkDdTn6/Y0UebFtPZM/ib513RbI46TfNRtDaFFdamknC1EkCS3h6eKXufcwxYKcBux7410auIccE2kfLncR65WSqaYDKrDAMA63HmMx0uTou+R1EqSOlNW1ED+WY5+gsszuCpXoDdiMdY+XcYPY65cg3IutT6APmaCJt07zHwUCvGl4ZfDf4wdnwcc+IDiGXfNPaKeWG3VU1HJHU2uWdO0tLXRftICFTzDhgpYRh1Zex6/B+P47BO8TDExuCRlIHUGQegtI2Wyt7LYXGMPvWV2cyCPOI/pNiCTA6QOq8Ua+2+Ov7I6n3Hvaeq394tvABU0JWriu1xoU33x5RlU/bU9VIGjqpoUCxggyKqR5EdLkkesdQ4dxUto0AKOIP4ebI+9wIuJNyQJ7uXBrVuJcKOeu/3nDU97F7YFswN3MHQuAN9tWWxuTPDP9rDW8hNumW98uimpKam2xt9aiC23jY1lkSOR7rLUxoRT3GkrVSJpYinmpCz9LpUkScupUxXBSJGXNmLy6XMdAIDdOYOEntygwRb1GEPD+P4YMpwWtDSMpioHuIzOAzS0jytBJGuUHVaBwr4h95fZ1VuwfC7z1yZdN2eFiybniit3K2z4pqG0VdZVVLPUW7db1AdqIpFLJLDLA/lsZDLlwwC9LEYSjxMO4jw+nmMf7b7EAA8zA088mB1GkSSVwXtxfCgMFxR2TOSBVs83IGV8/7Zi5kw6B5QIXvZxD/YWlj3jyDXeHXdlq2fu02+ntcD0tM9e9t8mVoaqqhM5qEmq5qysl6GzKizU2fecqnk+IGowNwxgubMgEWNhlmA3lAEwYknWCV6Sn4mInE0cTYEiTOV0EmW8vlFgDaYJgQFg7htzZHH2xt38c7UG9LNvCslpL/typ3DDNLLS3eNpaiihjdVkWFYnp4VCsVXyXky6lnzVRrPDwQ0Bgs6IuCBmuNZHTsNl1cfSrYwtrVnBxOYW8ov0MazfcuGhWGufjQ4q3HZdo7P29su6795S3HaPvC328RyPbbfSTQTVNOaquC1CR07rSVqAKrSOaaT3OrGa8PhKwLgIDW+YnsRo2QSRIttIkhIMC11RrxVhtoA8zjBBiAMpMeYkDUCYhR1q/D9c62z1vJ1qiqt9V1wFe9+4taihr7JuaylpIaqCGKNWla5Q07TNAZpCxVnpwAs0Yj6WDxtNxFEy18Ah4JBadRvlAJiYJvBmxnR7R0i1zqoANKzXTu0gXMwXWAjKIO4sCPhP8X/AAjbPD14huWuItr3Oe9bLoK4Ntu4moSd66z1MCzUkruqqGbyplVvdVg6MGVGDKv3fg3EzisOzEugOMyBoHAwRfv69iRdfkf2v4EcBj6lCnOQwWzu1wkfT+6+/wD8FPKV95W8NXAe8LJJY7k104t2+yV1Jdgv3bXU8UULwIGIPnRrGgDHK+bUzKx6V6V/PvtHSYzGVwTBzmZBBjeOgOnoJBuv1V7LUmVOG4d8HKWg6A5pG5A0mZ3gARIlTD2Hz/tqXZt2a1Wi/wDJOyKK61Vgq6ymtwjKLA/kTRzQORJMOrzeqcArIeor1ggnnNq1GiCIMAwTeDpYTFogGCrOIezgr1M3iBrjNpJGYXMGIsREbfBfnffapb3rd++PTxL3Kqq4rg9svce2qWoWneB6mkoKWKkgeVW7mURQRoz9g5UsAAwGv0D7G83C6VQ2zS70zEkj9Rvdfmv/AFNHh8Yq4fU0w1vqcoJJi2pOluib/Zcbdod0eOngm31lPV1MMFdV3BZ4YaaR6Fqeklm9rC1YaD9iI2mBlHSpQMSCoOtvtXjPd+G1qxMAC8HLYkAgEdRbrdZP9N8C3EcZpUnND7kgOEiQDlkakB0H4L1j8UPizrNg8ec7ci2it39t/g7kXetfuDiuSlraNqu77iooKemraq7U7Jg0VasNNVCWBmhjemTpUSTqyfO8Dwh2LqUcPVg12NGYHMMjHuJGUz5hMGbmYENa6fvPGOM/wpmIxBbloPdDSAHCpUYLiDEU3ESDrDS4k5mg7f4SLDR+Byg2Fe+Um3bX7t5LgaXdxqWjqp79cZJfaovZYVKSx08Sw1PmMxcVEsQIwFCuvtJivfXOwmFgNpABo2AHKS6ZGpGWPKLmTpo9h+FnhmHGPxpLq1dxL3AXlwzBogSDlBzzHRvVe2m1tg2rb216S0cdjc9Rue13GS/XG3Um35ztzbtxw0kMcSM1MKg1IkQSrJ1mPMUixRIsUB8ZVr03DO/QAgOLmS7Y5fNAG8Ak3lxcSR7zC16/iGIa2oAQDnzQTJkwNLhoJaJ7ST2Tw5WG23zk/wARHPNFv+Lb0FfLt7a0VLULJPVT1VHQLUS1M0kpjJZnubQ9Cwr7kA6QofpD499NuEp0oh5c42iIkNFuYk8skkm5griPq1vevd3087GtiSeuZxAi0DNA9CSTErm/2nX2mNn8H1g2/wCHbhyz3bnLxt7tt8NJtLaFut5qPutZlMSVddHF+0JYh3iphh5SvUeiJWfW/gHs1W4rVcxpy0m+dxgADcCbTGpNmgybw0+M4x7Q0OGM98qtkuJyNBJc8g69mA2LhcnkZzSW8C+yz+xrt/BsNN4kvGTDbOT/ABg1simneqqku1DtCnWKFIBD1II3uCpH5TzqXSJVVICAC59V7Te2NPIcDws5aX4nAQXEmSATcMJMnQv1NrLyXs/7P13YhvFOLAuri4BPliwkDQgCwmG+pJP0FpT3iCPy4Ki2MCwBx1xjo9Oy+9ggemDgfL4a+dzrey9v/LcQXg/Q/t+/dVV26ruscMN1q4RTK0cjQ0+QkrL3w/VklCT6dvwr699QnrdRjm0zmpAz1P8Ab7utJqLE1p8i02hI6GbyEel8rKpCsRQCBMEHAKp0gYIDduyaUy67vj3XTpYhpaS7QSLgHXc/Mz1jutysdSkvmVEddXzxMSER5GMcf0UP72fXOf550Q8TA+/gufiqJENLQD6CfjFlsXndySSSe5+unzzqsXhLB1PXTTpX1NcKmGN1kWGZB0o2fdKY7lvQDOfpj10jqhaCQbrU2mHjI1sTuP17dY+q0TjygRNlWzb16tRr456SWW4NWRRlJTNK8ghcDImAWTp6u69Kr8TgaKtWYi0QPkBdPVwbqVRx8TMQ4xE9de3p67LK0+16HbUE39mWuMMeI0ipDUGWGnVBgCNGOVXHSpGTlQB8NZapn1WtmIdVIFeCOuh+Y339b7qMe5OH9tVV02LRb0tFsq7xcbe+2JJ6umgkpbrNSwippJpkwQ0wjhljR2HWrxnpHSFz0/eKrnPqsfDgJsSIvBjoDMm+iubiKVPNTZTLqZcCbTANjJPS0et91hrNYq/bG3aCuqN2QbR5GoEgspqaK0l1kq1l7J5LALUU7KGcwyhxGZA8brhW1S/FOe6IJaTvtOpm5HY/BdZ+CpPORjRldexAsBpaLxblgm4hSGpd3V1to1qNyNcrldqbERgZUhFW/oKimRQnmwsyt2I8xB2KkgZyVHxGXUm0/dlzaXDvEcabIbuSLwOhMmCLaGD1XUrfeFr6aOYPC7svViNsgfD1+Pof+u+iHLmV8Hkdl/NPhVM3f+R1MxSeAkGoft3XH56hfdOKISDUP69SAfroZ0fBCQag/wDGMamaU4pKxn/5z+7QzFEUeyGZj69bfv0A9MKSQZfTJbH56mZMKSGZl+mNTMm8NJ89Rnso0cybwkj2gdu/8NKSm8FDNSTnsdTMmFFJ9oYfIfrqZ03gyhmoJPqM6GdWCikmoPzOdTOiKKE1QPnnRzqxtFCM/wBe2hnVgopBqBnGfpoymFFDapGSMnQzEJhRKQaj0Oc6mZOKKE1Sc5ycaGYJm0UJqggHv20c3RWCigtU/MgHQLk4ooTVIHxxqBxVgooDVQ+B9NEm6fwUJqn66GZEUEBqrtgnUzKGim7VXb1JGmlN4CA1SM9iDoF26IoTdBapx3IOPqNFz4TCimcl0pFLKaqmDAZI8wZH5jOpn+SIoGYTF71RDsKgSHPois/8gdO0OlH3eNUF7oPRaetf8oyP540JITGgIXfzVZ/xa4Tnrxow/ZV7Vn4nSgqeAle1f8w0SUDQSvalye41M5Q8BX9pAzkjTNd0Smgle05xg9vz0Q5DwEtar5EZ02dKaCuKoEnBA1GvKU0ET2nAwD30S5A0ECoMNVC8EwZ4mGCAxU/oR3GlJnVMxjmnM3Va8bK8kBgrb1dakAk9aFY5CSQc9YGc9lwexzk/HQhp6/NbfeYMsYB8z9NPouQchXKSz277m21ufe68gzMUt9PDUCp6ZnjdlaoVgEWIrHIzO7IBhyCWCqzBgecsR1Mm31+kH0XV4Zhb+JUa00rTI1voN5np2BtJDbYe3r/xdfEvG8tz7i5Iue5IaKhqrtMIY1t9WnmeTRwQKqeVRN5hCAZPm5aUs83UN9Ws00wykIDdpubXceptpoBYWXGxeWs8y0MjMRrEE36839ROoAiAIUiaevSpgiqImPQ6hhn5ayhx3WR2HgkFYnce67dtWzXO+3Yymgo6aarm6VJykcbOwyB2JCkD6kaBcZtqVZRwD6pyU9fgombDXdVm2ns/mi02GgvvK1+pI6zdtFDUdKVUUpE1QJpeklJKNsRwoVJCoafChnkTpYnENl1DMMjLD4drTmNz3M6ATvfg6dV0XaBpMzOjWidome8u1IClHNu2y3uxUNdZq5btBXIslFJBE0mMgsJGUYKBekk9RXBBUkE65xfIIB+x9Flw+Ae2p/MGWNZt8Pj2B6xZaG68svS0NNBduPNn2MmVq4yJNca2YOxKiN3MdPGSpBPUsuD7oDAAm6iaLW/zHEnaIAn1Mn5AE6yrcQ1lSrNNpJkR0gdhDvQ5hGpkqLG+avbty33s3i2Obe1Xc91Q10FZuirJr79tyg9mmVzFKYCtpSZxJGJgEVfKeNV8wgJuw1V4a6o1sU2gSAYBM2DjOZ3UgGTPSSvQVuGNFEPrFpc10taG8pJvIFw4tERmGUzJJkZvPHxc/Y3eE/di2nkXwwb6vfg25icQ2eK7bQrjHT3CnkgWmippLdFLH5jMWh65YmR5Ecl+vqBHosD7emq33fiNMYimTMO1mZkEgiBsDYdQvDO9g6orHF8PecLWY2MzAQIEyXaCTpOsjchQ5sXi63D4X+LaTwb/AGtPhKsVD4XtzUFHaByVsWwF9vbjoREIad6+njVGhrQabzfOj6KpWj6hAekMey7gdfEVBxLg1cvc0k5CQHt6joWibjQ6ZjK8/W4uMK1/DvaCiA6MviAucwnq43cCdI0Bgw3Vdq8IPjWp/D1y3S/Z/wB051tXiS4Vulle/eHXkunuC1pu1CgaSLbV5lVSz1cDwmKMhRJGURXUCSJV5PHOGMxVA8RwzfDqNMVWG2U7uAP4T37wdV1PZfiDsPi6fD8aM1OoJpumS5otAdMFwHTzNgG+vrFujxAbP465QsN95Krbtsyz3iFbb5dxmejtVLcaSB6jy4mMaCaV0mnJYM0Z8hWByrAeN93q+ETTZnOpgZjGmgmACImJvG6+n0MMK7BRpujoSIJzHq7sJjWAbRdQss9Vsrjvna8W7YlHsravIN637T8iWKgpkRDSJe9rVcRo6kE9Uze12+SToVcx+cQip0t1d7HYmpWwzPEJMNcwkCRIe1xy22a65JvludI53C+FNp4lzQCWkguvBIaHNE3gNJBj/u3mV6EUu5ts2e9zbIuNPb9pJS0sFZC1loKmjlkDQhAz1ULYhaWQhSGyXB9erufP1K9SrNSpzHSTB9BpeNbWAXXfwseEDTM5pkEiPNJMW020vbRfI/8Ab8eDG38Lbi4M8Rm29xVV7t27oKmw32CSsimWmvMCe1PLTBI0KwymapZlbq6ZAScGQg/Yf9NuNU6wqYRgjLzDUkt8t53FvsL4F/rLwp5qMx5kXylobAEy5sETre1haQIKm39kt4kOU7n4AOL9l7S2ttHd1q2xuC/cc3KKp3YlurzT17rc4mgiZB5xiiWUR04fqlLHo6WAzxfbnCsbj3OqODW1A1wBaTOSx06m3QTdet/0kr0XcMpmmHOrUnRaLAuMG5ME5gZy/h3C9kuF9uVNLTeKPluzwbPpONN73C2X/bt8daYTXeBKQR1NHcT5UDxRQ1EbxRQTSPPGpAPQeoDwvFKmTDUaNYkFhdLekkEHUglwuYAH6/ScI8VceGsAeQAJBM6G9hMgWJuDf0XxH/a6bclsnjw5pqGg29TrdorZe1W1xutK6z0UeGTrd+o4jAZlYqzhyuB2H27/AE9rh3CqYaSYLhcAaG+m1zG8ar82/wCtlFzOOPc4Rnaw3JJ0i56223UTvDVvWxcd703JvPcZ82kptsXCmjiVlzMaryqOVEVuzSiCqqXQf8cafLI7/GqRfSFMCZe35A5vhMATsCV472Gx7cHjnYqo6A1j49SMvx1mN4C9YeKtx3zxeeJifmbmfizcVssN8ENg4Vor3Zki2jtLbcU7+Y8fnI0NXUw0kAipqYq6T1E7yydaQquvI18OeGYJ1IPmoTmrPDjnLiJAG7cxPmMZKYMDM5fWuDPfxzijaop/yGAswzHt/lwLFzzIaSAJc3V78rZDWyPRHaXh33JtnkzamxuSdtV6ccw2iqqNvXqSqS8bki2nGzPAtopKiniKSUM0alg0CCSGoowIWzJLryNTiLDTe6m4F5jM0WGf/m4OdGYWEvmQ6SIyr6pgeHOpnwKjZFLNke8yA3SGyAOU6wxwLS3zG69J+KNhcS8c1Vj4msVma+1MqVcMcd/sM0TXQGoinqaCKcqpmm9nw6zROxaMqJARkjy+PxlSpOJAhojQggROvQB1oNunf1eFY4Usr6kkzzSWuuIDok3Nz3iRFgoTcu/a07H8LPHXN22dk0sG8vFTV8objgsOxJIprjDavapI3oqmpkyYmjjSeJVip8NLLH5QOFLjv4D2UxPEa2HZSJFNzBmfEbmQJu5xgwSIAOY2gL5/7Qe1+B4TRr++AOrU3BrWA8zzlETl5msuMxJ6tZzSpF/ZUeDuu4Ou24fF54o6TcnNPjb33TPdbnc54Fq5doUlRgPRRo7L/tDBQsk0IZPLRYIcRoxfd7Te0dEUxwfhYAwzYBII5zr35Qb7FzjmdtHm+A+x+KrPdxvjLi3EumGlrgGACwbAIBi2W2UWEmZ97Nr7hoL3LPXUsdTa4lYE008RilLBVwzRMAVUdYAHfJ7+76HwpMGHa37/ABtb5L1eKwrm02g3kC/Y3j13MgRpdb/7T6Au2R9NEO6LliggzVyQxPK8pVVGWJIAA/PULgE7cKSQAFjLmlFUyW6orJnVaeV5FzKVQkxspDYOCMEnB+IGp4gaCSraNN4BFPePzV6VbfVyx3f2CFashjHK0YEnQwHfP1x+Z7aOchNVpvaPCzW6TZZP2hdEEhU+CmFTTUtYZTP5jFonhBD48sOvSxX5HHx/d8dAkXTtDmjl2v8AK4nqg2asT7so4QoSSGJYZEIAKMgC4P7tQ1STPVPXwsPPQ3+ayJqgc9xoZlWKC55yXBHedu01pFY9HXS3KjlpZE7lZIplmJwO/SEikLf8nV88aBJJBG37b/P5ro8Mp5apdtBn0NvmTEd1j4KykvkPmVVE9ku09M8E6kExibp7Dr+OQW6WBzgDB+GlDrET0Wo4V1My05g0yOsb+nfbYpxcts3HcNJt43yrohcqHrlimh6i8M7R9HmrIcN8wVXpyDnqyBiw2BAPb7+/gq6danTe51NuvWNJmI0+cotLPTW+mFsV7rDeWYCWCmygdjj9oGwQEx36wc/P3tKXAmI+/p8k5pOqHxCBl6m/w9e2nwW8rMsaqiDpQdgAfQaYuXM8Im6o1JxjP8dAulEUEg1P1GpmTigrGpxkgrjQlMKKGarPbqzqZuib3dJapz8e+hnsiKCQaoZ9Sf10AUwoJBqR8Pz1A5P4KQanvqZkfBSTUn56kphRQzUevfQzJ/BSDUj4tjQDk4oIRqB8xoymFApBqOxJI1A7omFBCNQDjv31JOysFBIapHzJ1JunFBCNT39RnQzJhRSGqs9sgaJcnFBDNST8SdDMnFFBerVO7uqD6nGh4gCsFCdEwe60a+tXTgf5xqEq1mGPRNnvFJ36ZGlP/wCXGzfyGjdEYc7oRufUMpT1jD6x4/njRMjVOKKbvcKk56KJz/nlVf5Z1LlHwghmrrSuTHSRH6yM38gNEnoVPCEaJu0tcxyaqmRfj0wk/wAS2jIGqbwx0QHM5/FXT4/5VQf01AUwZ0CbmNMgtUVsx+TTNj9wwNTNspkOqbvFRsQXgic/N/e/nnVjXRonDCRdUpgiJMMNPESO5RAuR+g0DUdFylFASkvVH/j7fHTSj4aatUYxg/w1A66bwt1281ykd5jn89edLtl5oYYzorCuXI/bAn/NoyicMeiX7aCP7xj+uokOGPRX9rP/ABvqZgh7v1CX7X/zuf11AUpwyuKv5s/79PKU4dEFYMdnY/roylOG7JYqxj8Tfq2oSp4CUKtfQsf/AIjokJDh+yX7Whz7zH9ToFyX3ZWauhUFpZPLjHdmZuyj4k6IKIwzjoLrlltu0CSRVcdivLV01TJWsi0kis9Q4KrJMzADCowRQThV+OQACS/QjT0gf5Oq7NXAgiC8QABqNBsI6m56n1ksrsb5u6seyNT09FY7dUUdZXxPK7y1MqOtRHTxsmB0hkikJznCpH/jYq1J+UF03uBa3c/Xfe+10OGpUodqXAwdI/DMEa6j5mNF0ex1UiUccNTcKa5SP1TRPFGUBjJyAASc4zjP8B6aDXAaLBi6MvJDYA19Vx3lXf8Atu6yWfi2G4U9Sb1WGC7VCTskNtt1M0U9b5s6gosjRmOJYiyljP3IA76sI/K7xSLNvfcmzYnWTvcW6q5vBsSaZq05Dh5epJsLXMakmNrdRsm1qK03O3UVfdduWGnvKUSnDIrFQzFy3Vj3mUeWGOD7yn5g6z1XwCAfsBbMU2rSflY85S4m3y+t/gmfG9fTS8f7QWktUVOaq3rV11uMarJFJIWkYnp6ek9XWSMY7nAHoZWJBLZmP2Ux2ELa9R1xDjBv1037LVrRT8h0BmkqK6grdqVKLL7XcaUIbCqjBPSG/bABgwlAjI6D1YA6tWCmwCSfWIM+nSd5n0Oi14yrSL4Df5gMQD5pvex+V59Suk01Lt3a1RFe3oY5LnLTikmqPID1NVCC7xRDpH4QQxVAOletsYLEmOxLv9vYXjv/AI1PYbQuW7C1MS4xr8gNJ76nrJK5nuvaW2bztXdtrulhiuVlraWrbFHHJFURJIvVinkRhIwBGUz0jq6Qv4VXVba7mu69iB+Ufn3XfoF4ewteWkQDf4X6HrEkD5pd3sWx7jtOzWzcNi2xvLalfSDbtbRXOm+8Ka6W3sYI54qkssj/ALQDLZYl8DOca0UsfUpPFSg4tfOotffTYf3XJrcHGLD6FcS2A6/WLmAN4k2Xyi/aY/YzbS2Pc77zV4BU35tu+01U90k42SnmMlMI/feexTDM8ToY/NEM/YqP2UgISI/XPZr/AFGbiSMPxFoBNs9oP/eNPiPiNSvjntN/o3iqFD33hDvJzZQTM2uw/wBWlp10jRb34VPtAb14wuK7lyZ4gfETxhwbv7iKSHcE73Jak0l3kWAwLcqi3w+WxjczVEJihZ2NTOWcY8qN/Pcb9mmcOxHhUmvqCvLRlALhN8oMwXWFyByjqSR7z2G9tf4tw54c1jKmHAL5dAIb+JxPkp7G5IMNFgAcTw79qHUbp+0R4P5c8SnFG59l7Fo9tV2zbJdJdvSwytea9UenmqIYlYiXpatjiwgmWOtJMSZkY9F/stXw/C6zKNTxHkiRmBhoPMAdP6cwFgWxJsF57Fe1OCxfF8PR8M0aRuHOBAe4+QkG+Wxyl3mDpyjb6Or/ALq2Jubbts5xoqWC1bPt9NUTQbkqBJ7JRTRh1hmYA9DxwMXzI6qFlZwW6YiG+aNpVGjKG8zhEADNfpuJ0HUc0XC+w0HQ52HfVBuJE6jUzsJ3ubACASSPLf7Tr7OnaviD8IG9eVeN6mYcvUNsTdVDPHd53g3YsKmZoTT+YYCGElYYWVFw8nw6iNer9lPaNmCxjadXKKZJGgzCbXIvaBMk2Xi/bn2fqcWwlWhSL3VQAQA45JbcDKZFxuIMxchfNX9jdzFszjLxwcT0/Idwttv2dfKyCkSqrXVaemuMciVFE7F+0YeaGOIvlTiQL1YYg/WvbXCVTgKj6I52T8jIPrE5o6j4j8//AOlfF8nERgqziGVoFj+KZba9zdt9A4r7AeTPE7tLjrnnb3DNniblzeXJW3L3WXKOgt6TUdFWUJppYbtNTd4xB5dTLDKw6mlMEAdwUB18PwOE95wtSq05RSLeYm8OkEAwJMjlFok9V+pcXTbhcXQZ5M+YNYJJOUSQSDI1AmIE6L42vtXrttit8ZO6rdtinucFNa7JaqCs9ttfsE0s/lNK0jR9TF1YTqVkP40MZxr7D/p8x7cBNS0vdAkGAIG2hkXHWZX5w/12x1OpxhgZctptDtdZcRqBNiNLRoSo1eEbh2484c2WXb1Jtpt32i2wNfa+2sshjukEEkSimlaN0aOOeWWGFnDAqJTjJIB9TxbiHu1A1ZDTYAmNToYOsXMdukr557G8CPE+JMwrWy27jciWtEm4Bj1iBqSF9fNn4qtvHtjq9ueIGybe2Jxfdlmq6KjsqzVvHO3KQRdRkpa0oZ7dXxRgIp8mKCDzFliaJ165fhL8a2q41sM81KgF3wBUd1BYPM02kyS4cpkco/Z9HCNohuFxFHwqbdKZeS1twAcxgCDmcJyjMBlBu5avx3yxw5eand9k3hZbBvm+bQuKyW/fN1o66KmulIlL0pcJaRabHkNR1BjmSZo4JnErxd5gsYdhcRTANNpYKgkMABIM6EF1pcBlIBcBAMRJ6mIea38p7gXUyJJJbILZBzAdzmg5XdSIXM/EV9ofxnwhRCy7ssdk5SraqneHbPFm3vPa3X+4sTHHV1MXlJJHbuuR4YHheT2h4HkWNmMXl7uEezuKxtb/AKUHOYBe4DlFrRJBeQJykAsBFxJK837T+1mB4Xhs2PcG3OVtN0vcb6OLZa0OsXEQSS2+XK7N/Zy/ZxXvbnJ7eNPxvwU0fiDutOm5tr2OOv8AYU2AgZUieoVkdDWeVJTJBCWPkoTkySiUx9n2o9qsPh8OeE8NII0c65zEzIaQbgmczhY6DlifC+yfsXjOKYv/ANQ8XZ/Me4ZGZZAAEAuFoLQIuCbZncxEerG+7ZVbDdOU+MuXa2zR2tZfOopEjuFtrbTgxNiCPoD9EnU8bkgdUjYx2182ZWY4+HUaZda0yDNozTrYaE/VfcqWFfWDadVvKL3tfzXIvpqB8VL/AI+uN/8AuSyVt9SM7kryK63oytCkCssKdMqYzEcf3mFILuVXBwAXsYyoWAyBqdd/sDruvO42m14cW+UWPUiCRrvvE23ld7o7tTT0oq1qo54Sx98Ht64wPy9NAPkSvOVMG5rssQVpdbvm20lY8NWxqFqKmS1wxCMlampUEtEp9CehGYkkKAGyex1WysToNf039Pu5XSZwhxaMtiAHegOn1sBrMLK2mOaGSChutXDcauINUBVz00zFz0jucswBx1H4KcAA41YxwmBt9/e6z12Zmmo0ZQbetvoO3feFtftQx650wMLCKKSapfn21JKIoKxqgO2RnTZkTQQfOAkaUN0lvxD/AIj8/wA9KSiKVoSjVAfHvozdHwCtA3HNdvvSybhoZFekoZ5qeSmZ8JMsqBDK2FJ9xgpGO+A3r1ajHxPf95/T8l0MNg6bmmk4cxgzHS8Ceo+7LYZKK010TyU48suOlZoXKsvfPYj0HocemlAHRVtfVaRm22Ky4qQqhQ3Ydu5zqGN1QKCY1sNNcEjSpVm6G6kZXKsh+hBz+nofiNGeqsp0y0y3dEp2FNBHAJp5Qv8Ajkfqdvjkn4nUtsi+kXGYRfa+w97I0UPdkg1XfsdLmTDDoftXUDhtSU/u/VJNYR6N20JR92QzWAZ75/XQJEJxh0NqzB9RnUB6Jhhkn2wkZBJGl0Kf3fZDNaPiyqNQvCcYZNmu1MvZ6qnU/LzBnUlOMI7ohNeaM+lTGx/5ct/LUMphg3dEBrzFnCpVSH4dMLH+mjBmyf3TqkfersPdpavuP8Shf5nUAhM3ChIa5VB7rSH/AL0qj+WdCCU4wo+whe31zHLRUcY/94zH+Q0wgJxhkM1VcxfNRSxjPbEZOP3toeqsbhh0Q/NqSPfrnJ/5Y1X+h0XFM3D9kJ2LDDVla2fgJOkfwA1BG6YYdBApgckSyf55Xb+Z0YEQE4oQUPFGDn2am/VAf56AcU3gndE9qjjGEVEH0GNQuJ1QGHHRCauJPd8/rqT0T+AgmtLfhJYakJhSEoEleqAl26QPn21M19Uww5Kx73yjOR7bSlvkJFJ/cNM0HUJvdzMQmz3umGelppz8kiZv5DUyklDwOqH97FwStLWf99Qv8zokEaotoCU2e41eT5dLGPq8wH8gdQjumNEaITVtay/ipI3+PZmA/lowA6yLaI3CCampyS9YD29FjAH7znRm0IeF0CC03UCWqak/k/T/ACA1Oybw+ibM9Pggr1jPfqct/M6YOuiGG8LtpuPb1OuC4LjDBpP3gCPUHQATe5lV7dH8VH07aJQ9zKWtbH2OBoQlOEKr22M+mP36MWhA4QpQrVGAC36MdGBCnuqIKxf/AGkn/wAWhKrOG7K/t2B2kkx+emlD3XeEoV5+Er/w0EDhB0VGvbA/asR9QNMO6AwY2CDUVuYzJI/mIgL9PT2Yj+f+uoAZsnZhLwBErA1W5KutK0tpgr3qDIUNQUKR065UM5LdmYBiQmDkr8B30W0ydbfeg/fRXt4c1gzPg9uvy09eidU9BRUdrktdH/ssTuZZHABeWQt1M7nGGZmyT6euBgYAd7gTf7+/8pMjvE8Q3P3YdOy0W7UzrUXCtu9/pYKVQS3kSMkjOF7dMC5BLZIxk5wvY+mg2i0nqT9/dl1cO4gNZTZ89Pmenw3Wp2rbcc+6RQ1lugraemthhq/bXSR6hzJDL/dheiMCRQBEpVB0kkHJzqmBIMXtHx339fSE9ap/LzzdxtFhEEdZNtSQSZ7Lqj1y23biLXeXDXPEkb9cglkMhURjv2y/cZI+OT6az1GA8o36LnU8MX1gWzAPpaZ+/ktWt9gsNLtGmW71NfVPTJJDUVktX+0g/aEP+0j6MBe4X4KM4+szNAhot8/ufqtbqlZ+IJZuZAj5W+yd05oYd1muMtXVUu4NoxyQ+y2+sRYpyqqQ8plxh1Oe0cgOR3LKcDVws3o6/wDj177aLHiqFKIpiHEXIk/L9SN+q5htfdkF22FdUpLbuex7vpUC3O23JY1rYZEwUR+mRyqtEI+h0JQKwYA47DHUgx2W0a2Nj3HaZnfULr4TD56rXEy3QbEa6gWDpkxutbr+Ttw3yY1dpt24aq34jgp7nb1hneoiELM0kkSv0xxpMAnmMQjFfdYHPSr8I4DO4gDoTEbCZETvAk9lqw+Ap0m+G4X+MT0B1mNRFpXDOP7xyBu3aW5bbyLdXskdr3BWQ1VxtVwWlD1TCGVZqeSSPEUZkRJFhZSVVnjZn6jq84ai3KWy61gZ76xeY1NhNxotlSm4P5Whr3Bo6iB0uLGYvJ6wq5n8QW1vDJx1uDdvIu19w0W1UanpYKuks8lXFVOyB5Kgy08krO8S9UjAEv0JIwVwrY0YbhmIxdVtLDw9xmwItG0QI01gDS4XKxeMwuGYcTiKmQMu4mdHOgfAk7X6DQL5Y/GBtit3RyFxb9or4TeI9n7Fv8v3rv297PpYUrXpYbNWUcrXu6WtoxT0wlW4UEj0i+Z1oUqCVZmx9r4Ji3tou4bjqvM2GhwkQXgtDWv1cRDgHAACC26/MHt77PMdXHG+BUyWOkua7VwbDnOcwGQNCWuOYy10CFybw/csbs8f/ij8MPAvKlPTQceS73rN2Xe22WBvOus0aVFdNE6x9LSO5E8UUhJlSKdwzuUU6vq8Lp8Jw1bGU5c5lMNaDsOVo7ASAXDSRYCVnpe1+I9qOIUOG1A2kx9Q1HEO3ALoJ1gSQwnreYBH2Y1+4Noy7IpaPZVyt+06C7U8tLTXG2TLFSU8fX01EciuPKUxqZyyPGGVozkD3mPwEh7nkVJOhOs/vew6X9F+uqPDhnz5ZyyMsTc6R1v36rkK7Nu0e7/7NcZ3il4Z5NqoRcBZqm0wCy3+lRe1a9KySwO6LFmUUrQspkVGLghx03ViQTXGYaZgeYdRIuZJtnB3iAFifg6FGmfCcRcSASROmUAkQI/pIO5IJAPxAePHw98ieGDxR782xvlNlU12uFU+7rTXbRWSntMlLVTPNG1vjYK8AifqTyz3iZAASOlj+hPZnidHF4NjqLi4N5Tm80gCc33foNF+G/8AUr2cxPDOKvFZgp5yXsDZiCTpN7EXuYO5XodsH7VG6pf+AfEXU7Q2pcuUthbXXbO70uV+prXHvapnqqyWqrGVllqa2SopYaUM/SVgqMdmLxDXk63smWsrYdrsrKhlkNc4tAaAIAhrYc4mSZcBaLkfSuF/6lNrU6WNrSatIEPOZjBzEaFxJILGGzGwHHm2B8Y+WOUd381cocg8vb9rprxvvdF4q75dJzheueaQuQoHYKMhFA7BVHy17rh/D6WDoMw1EQ1gAv23Pcm57r4d7RcbqcRxtTGvEOeZAGjWiwaOzWgAeklejf2aPh0oubX3Tehsaq3tNb75QS1QFa1KKOhhxI0EDxTiX2iqeYRkeU48mnn6OpmYLwfanHuotbli4OoDpJsLEEQ0AuNxJLQba/Wf9GPZ2ljPFr1Q6xaJDi0Na27jLXNJLpazSAC4gzC+iDeXhy25feN6+88L2CzeHa+2mxTnb1x23cQKXc8roYEtlXSe0NSV1O8RMbhYOstU4UqygD5IeJVXPa3GAVSSJBbDgdcwcG5mkWi4FidDK/UR9lqbWn3Fz6ZDbS4uZAnzNcYIO8kwIIOYQvN2yfaGL4W/Chujj3nmy7uvvi7iq622UlFV1irXR1cMSwQz11Ug64qCnYOUjjZ2qJaciUhuoD0GL9mHcQxoZgSPdyAc1yBOsA6vI00DAQRsV86p+39Pg3C/H4xPvg5chjM6LjSwZYAvdJMOaBJyrlHgb8KV62VyhwB4hOZ7lvW7cu1ss+7aSjiroo6o0CQxRU8lJJ0SvJWiWsikIC9KYjhTMjlk7ntFx2k2jWwODaMjRkJv5naiGwQ2AQSTLjP4RfgewX+neJxFehxvjTi7EVCXBrgIaxu5GhPNIaCAwXIzFe/1/wB1703tT8IXKxWe38xXa00tEbzXPUlJbZTxoxn+6an2dFkrGeNOikmbzkwWHQzKuvmVOnTaXy7w23iZudgbyBe5bbQdSPvVImjTzUm5g8zAgQ02Lujo7gTfYQezWjesm/6DavHu7Kg2G8tNJdrNa6ikhoa680SFXoHWPqfojSoemaSMhECRftP7whs4oGnUzM5iB1kB2hJIGoExrc8ugV9SmAHVKPKDrrIaPNa0zpNzfbbI7B8Qu06nd+4bDuRt0WrkSS6x2iC1qHcRh4ozM0UYXzFpTMJV82RQesYHSAo1VVwDiM1JuYEEz22nYWiADebztY/COfTD55REyBM7ettdhB9TKqg5Tg2nx/uW8VdPW1dutNSacu9UjtWVLTxoIoyC3SqNIIiWwQyN2PbNdGg52RrYlxgfPU/nbZef4hw0PxEnUibDQQfSSdel1heR5toWCggr99XSlu24zdIVpaKCVEjo6qWpQRiixiVIhIQHcHqcM7SDpARbaQ8QinQbM/UXJnYCJIG3c3U4fQqGavlbGpmbD8R0JPcRsLTPQdu71ghutXbrY123JMWTqlMHSIV8sgJ1tjI6o/XLMe+e4Oq2sJm0ev399YVeI4bnphzyG/Gd9fl6BdZp7x54diksSg9IDrhjj44+A+WdSJuuI7AwYR/vFT6M37tAaoDCFV94YP8A6w/poxuiMGkm5YGSHB/LQlH3NBa7Rr+J+n8yBqSnGBJWOku1F0ezCoZet+zJKoMZJz1Zz2AOlDQVd7k8HNGnb4LDbZ3pb73Zrdc6asq6qCeMvG8tOUZgGK91BODlSfXV9Sg5pLSOn1EoHAkyQ2Oyzxv1OBkGdu3wib/TVQJ2CP8AD3fZSPvxTkrT1bf9zH8zowUx4eeyT98ys5UUVSoxnqZkA/L1z/DTZSRKAwQmJVfelSR2plB+HVMP6A6UhOcE3r9EFrjXMcqtGg+rsf6agZ1T+5tCsa+rwczUqH6IT/XRI6IjCCdENqyqOB7bgf8ALEO/7ydKKcapxhB0QjUy/wCKtqXz/lH8hqZNwnGE7JDTKezVFWRnP96R/LGly7KwYbsgsaRjlkZz/wA0jH+Z00wj7sdFfzKT/wBhTn81Ggm93KUKyJPwrGv5KNG6gwnVWNx6e3X7ulI3Te6BINxXuSw1Mqf3SyGbgM9jkaIaiMMhvcAO7Ej66AAGqcYbomM18pKdWeespYUUZJeRRgfqdECdE/ux6JuNxULhvLq4pMdj0Et/LOmLD0TDDXQ5L9GM9CVs3+WFv5kY0PDJCgw1kA3uVi3TRVij4dZRc/8A6x0Sy0mERQuhPdq05CU0K9v8c/8AHAU6kTaUfACCLnXkHzJKCNvgFDt/MjULB1RbR6hN5KyrfPVchEP+SBf/AKs6gYAev36JvA2ASDUsAA9fWN+TKuf3AajgDeFBSMQmztRv3mM85x/jmcj92caZtjICBoE22QzPRD/1FKfllAf56YJvAJEJQrlT+7CoP+Vcfy0S611Bh0CW7RqCZJkUf8zAfz0hAhOMK5YxtyW9W6PvCkLfIOCf4aZrC7QKHDEaoL7hpv8AAaqY/JIHP9NEsJ2TNw6bff0jnK0Nfj5v0L/Ns6ZtL0SmheE3e83AswSjgVcDDSVI7n5YVT9NEsMTP5phh2oX3lcCCZJrdGPh0B2/mRolo7oih1CavV1bNhrpIo+IjhRf55OixoBmPr+0JzQsu2feWQcsB+uvPlhSe5KhcvT3tQtkKe5Ja3Ij/ED+ugWIe5pf3j/zD56bJZIcGVcXLJwG76bIh7kri4gDOdEMQOCSvvMkfi76GVQYJL+8j8G7aIYl9yV/vMdgWOpk3Q9ySvvMD499HJ1Se4lULn8m/jpQFPclb7yzjLk/rqwsATe5dlRuXf8AEf36OSEPcugWpX2vkSSeW4VEUtud4lhiRljdWGcszkEkZwcAHuB+Wo1p0F5WuhgwRDRBEydfpYfFY7aUs1Ndat7hH0XCShhYYUKsSGWVvLGfez7yser5jsMEavcLZRpP1/JDFYVroLRb+wutouVVSxPBdvZ6GS4QgpHLL6qhPvAEehIBA/d6E6TKYICqp4VxBpyYK5rPcLHW2y8TddFYq6W5xv5NSYyJPfRFkVC4XDpGSDnpOMkeumbSMgO+n+P8Le2k9jgAJEd+9p11/sm9NyrsBqS7Xam5Mgmgp/MEMUVzhSOpKnpzHGvdiXDIApOSOw76Z+HcAA5hE6Eh39gqX8LqF7G5R0Ngb9z2/sVC7xY8o1HENqsF947uu5tx87VhprLtvb9ZUQlN0QyzrJLTSrKimlgQdcy3CchaZkBHUGMEnX4XhRinmg5oawXc6/JG5gnUwMoEu0EGHDn46jUw1L3unzEnlZAGZ0RlBtqASTOVuruUEKCO64/tCbI90ptl8i8VWBIoKi42jiqs21V3SxvRZaZoae/s0ktTN1eafNZY4kZshApK66ww3CXx4niFxsagLRfT/b/CNLElx7FYMQ32gl1eh4IsD4bg7MdyHVRlBcRbkbkFpkQVjbB4895QWvaO2uLL5uPcPK1zrI7bV7YucEVvuttv8MUUNRHehIQkfXNIQlSsjo6qFVW6g4rqeyjnVXB/Kxt80ktymYLSNbXIgEbwLLfhvavCYjDNqtph1V0tLIAcHCMzXNJloGx8ptGaQugXPlXmfim51sm/9ibWm8UN0tnsFfVUUXt8PG+2JGdqutpYpU8iqqaqV5YY43cLVTLFCitDBMDZQwVIhzKDyaAILnaGo4eRgdMtEDMZHKJe6DlAy48vrig6tTHjOBy0wQRTFs9R+k5BAgG5ysYZLnKJ21OO/D7sPnXalLxDT3TdFVX7IWypYbnWrckK1dejrTmmrJlgpTGaZhJGMRujBY4nIAXqVuIYrE4d4rQw+JOYCCC1pMyGknUQfNqS6JKx4L2ewWB4hT8Aue3wnNyFxLcrntB5SWhu+YCGxADbALxdo7Pub7Nj7RvZ43/FFRttG/0d2qFtFeswFqraZiBHP5Z6gIKoq3uZ9xh0+mvo9Z7eJcLf4JDs7SLggFwPSZ1HVfk3EYZns37XMFYllJrw6RctY+eoiwJGkWt1X0b8p+PLwrVV22vcqXxVcfb/AOPqVKiC47es9K010uXmIG6l9ngWOujheAYp+mKR4ZXy7BFTXyrDezePeHVDhajah8pLXZR/5aEzqSQCBEL9cO9sOEUYLcbSc0+bnaXHawBJJiZDRJvqVg7J47/DbzVRG5XjnDbddYrZba3pq9w32Gir5JIekxyRySPTzUc4jlkKE9ZkMaLiTrYDHV9nsVhjkdTIcSLZXEb62dIJ6C0zIAXocB7W8JxdA18HimOptmYcGm0aAx8S7KNeyhP4xvCvyH4ouFdw8w3nclVed6WeCovdooqY0NRT2lZSJFttVVUjEVE9TTiHFUw/3lRB7qIXk9X7P8Zw+CxQoMcCHQ1xk3PVodcNaZEalvMdgPln+oHsTiuPcKNUyKlOXUmwJywLOLRBc8AG1muho3LvmTKvIzSsQuFwB6fpjX1u+hK/DFSmc19R9E6mUhPNBAlbAHwKL+Xz+mjlmwTGzZH33X0EfYb8pcpbBn5d2rtajv8AV7I3PW0tuq6qhiUPYa9FiX2vrYgN109XJF5eck4KjIzr5x/qHg2VRSc6MzJMExIvIAnqB8JX6i//AI5UnFuIa4SwloIyyARcOJiwgk66gWXpv9oJ9pBtDw40lksG7thT33f8bTVO2NoNOlMsVOIx5FfcJ6eoaWkeGZpBFH0A4jjdCSpMfh+AezeIxtQii8To53miTdoEcznDW+5Bib/avbv234d7O4cHEAuLrsaLF5bG5HKwRdxkk6A3jxA408KXjc8TW96vxkckbIulqorjLHcbVebnaArVJjVRFNarb1IHFLFCrwiVfKfy1IExBz9SxdfBcMoDh9J/P0DuaTrmdfKXEwSOYA2y2j87+z3s9xr2k4k7j+NpNbTEFuYHKADAyMkZgzzcxhxEuzSQZNbE8L97t25LtQc0x8k3Tfq3KmtL3Wl3/UWR2r6qsCLHVrGR5ccTU9LU4poVTy1jd2DGPXm6/FKDGAYZtMMgmCzNYNJJ6uMEjmcLmACJX2DAexmMdUc/iFWs+oRAe2pkF3ABsCGsBLQeVrrCTEKbVq8LmxKDbPF+7rJtvmqG0zxT0t/qKDlC+UsTTVExiW4SPLLEbclR3mld0kWWSVTmMgBuJisZneWOpUs1taTdInKQGkuy2aA0yLz1XqcDwDwx4jcRXIJMFtZ13XaXSXxmJGYlwaLAA9emHYt+8Kk1PScdco7k48o7HtKjqoto8htV7ip4K2orJZ5KK21qeVckfzVDZhqHj6o361dT5Yrr4mljXOD6YzOdGakAJDRAJYS5kCTqGkA2O6bhns5iMBSaMPiC+m0F3885ozETNQAPvERzawGhN+MpPGVYN57k5T3Kvhy3jftwV9orbpUUe+q+ywWOKIsU89HopepJWUzsIJW/aMcsfXTYnA4BtNtBlZwDc3mpl2YkaDK4TAsJAtotmFqcZFZz6+DY8OgDJUADWiZMPaTfWAXGbHtNu58rc9U9048tO9uJdsWbhT7xn3Jfa3bt+e91EccRaaFnp0p6epEHmPHLLKkcjYpVIyWdl5VHhVLmyVczw2A0tLdbG5JExMCd+gg9DF1agq5nUSxu7w5pFogQJJki5iGgmdRHZZ920dl3Ja46Lc1ppLHZrE96t8dDEJbOkEiv7HK9cF6RHFCJ38yRslj+zQgK2ueMOXNc9wOobMaG2YR8hlAm9yJXYbTY5rWCIdJN+Yj+5vaBAEkrt3HPKdg3XuG70m3uQLbue20rLUVlypkh8lpWUp5ET+qopBC56mK/H1Jy1KLmeYFo0ANie8QNe37LNicBNIS0ZjsCTA77T10XY73vCisFsS7V9ZXvTe0x0zLHlnLO4QBUAyx94HA74yfhqtjC4hrRJK57OH5nFsAWnsnFHuGK5zslElympFOGmkaSNVPSDjBwSe/y7fHSCnuQi/BZReJ+BWY66U4DIz/m7H+uiGz0VfgOVCSjGT7PCR9VBzonqh7s6NdUoVMCggQwD/ujS7ojCFYq+34Wqz3Cujid5I4/cVFyxYkKMAepyw7adrCeUIswfMAVxvgzkq1XjZW3rfPV3eCvYMKYXOMxS1aH3wY2PaTHVjt3wB210eJYVzahsO8QY9dfqlbh83NsfvoOnyXeDcc9ve+uTrlqz3NDNwUkj3dGEwwaH7cmPQZ9flokJvdCkmvODlnXt89DSyPuaCboBkmdf1xoZU/uaDJeokBzUwA/no5URg0IX2Nvwv1/5Qx/pqGm6JIRGEEwhG9r2xDWP/lQ99BzTsn90Td79Jk9FDXMfqFX+baYMMwVBhrKxvkrAYgVT8mlAx/A6UsgwSmbhbIbXWubsgt6fV5Gb+QGg1oG6nuvRWNwrSB/tFMh+OIif/q0cgkkIjDjogNV1TH3rjIn+SJB/E50DT6pvAjZDFQygh66um+pkA/+UDTuaDt+ajMPugvNTuB5j1Eo+TTuR/PQDJOibwTogobfGxeKkplf/i6cn+OnAMZdkPAvKJ7XChykUKj6IBpZPVN7vKFJdgv45gg/5mxotYNEwwxCYybhoo8+ZW0qn5GQZ/nqClZEYUhN/wC0dG393O0v+SNmz+4af3d3RA4cHVCa/wDr0U1xl+WISM/q2NDwSicOEH76qXyBQVAIP+KRF/qdOKEHVEUQgvdLgfwQ0idvV5if5LoCkOqLaIQWr7gSOuooo/8ALGzfzI1Axqgp7QgPVVbZ6rnKoP8AwRIP550fDHT6phT7IJmB/HXXBx8cy9P/AMoGmygnRQUt01kFE5Jmjac//mSM38CcaIEXChYUMTUMQISmplH0Qf6aaHHVHwdlZrmqD3GCfQaJpybqCimsl2ycF/3nU8GUfDTZrr8OrvphTsEfCTdrqe/v99E0VDT6Js929R1H9TphTsh4XVNZLqMfj0W04Oinhrpo3fRsO1/tp+HcKP8A6tcmpgzrB+/gu4cENgiLuiAkf+nbYfrlP/2tIME7oVHYQDUJ3HfhIB5d1pJM/wDCqn/6tKcNqEPcuyObnVt5ZS4qAGyf9nB6hj09e3w76ngbJDgh0RBc6j/+N/Tyh/rphh0PdB0SxcpSP9//AP8Amui7DJDhB0V/vGXP/wCIf/qLoNoQNEPdB0SvvGY9hcmA/wAi6goSUDhBrCuK+Y+lykH/AHE/00ww/ZA4QdEta6Ygf+kpiP8AKn+ml8ATolOFAMEKvbJvjcqj9Anb+Go2gOinuw6K4qpcf/iFWfy6f9NN4Qmygww6JPtT+nt9WP8AvD/TR8EawocMOiT5w6xIaqqeUDAYuMqPocas8K1kRhQtdtj3E11yvdymuiF3aGClV1JjhUqA5K+rN0FsZ9CMDOmdQaABunNARlAHy3SKu4Xu4mGKmqLpt2FSWleSRZJKlBnqSNAfdbABEh9Or8JPpYyg0Xdf0/U9O35JRhRsAfgrzUdLBQSf2fnpaWdwJTLKGmeft6tL1dRJGB1kkj4emhlLrO07KNw4mXifl92UW+XJ6+Xatbxwty2va7bWVMSJR3mlq7jLb2aXqLjEigp7jyhirJGOrqyuBrfg6DM2d8/CADbqZ9Os6BMcNALmAEnc2ntAEn5jTood8obz2r4YqtabZm1au+8s39KaHbe0rDVm73/d1vg6UEs1XL1yClRlDzTTyJTQrGqh1aNF12MJgq+OBptIyN5iYy02TuYsD0sXOJsDMjz/ABriGB4VTFWs0vqmWtbGaq8j8LAbkCxOjWC7iJvEDmXkHx5U1HeeS5trcD8BR09TSxy0NPVy11xElVVqkRDzGnhnqi5VS0chi6gxGAXz0MPwnhwilUquqG/4Q1tgSb8xAibloMfBcPH8X9oBRdVp4anRaDbNUNR8EgCzcjM1wA0PIk2USuNNibx2un/bJvjxV8x7Cuu67lBFe7hT01ne31nU0kFaJVn9ojlhj8yKIVCs0ILqrqnuDXWr1sIGe7UsMHBkkc7gRoRoGkEnbzbibryHDfZ/iTXu4jjOIOpvrOAfyU8s3bHMXjlmMwJbtaFidtbZ2NvifkGs394mfEvco9xV1vtkd7pr9FT2uGsMjRxNXiCFG8mkoJqF1jjURLK0iRFkfr1eA2kKYp4VkCSQQ4kCAXZZNy50iTJIALgIhUYTg9WsMRUfxGqQ+Gy11NrTBcGAkCzWtIcQIaC43JdKXzjQx+D7n7atr8EPMG/ecN9VNH94zWLcVrp90P7Srw+Utd7VTwzQmcTVcgZXyCFVRjVnC44hRca1IUWAxLXFgHmmLlrogAi0ySVwfazh2J9n8XTbgMQ7E4iownw3sFZxu3LJbD6YcZLXSYgAWJUJvtF18SvJF9sXPXiG4qvFgvFzZrZ9/wBmkp5dpSUgX/YqK2eSnXC0ax1Qb2mR5JGDYwIyo9B7O4Sjh2OoYeoHhsG8+JP4i4GIGkBoAAudZXyP/WNvEq7qWK4lhnUnXbLcppZTBaGvElzpJLs5mbNAAgewXgH8Tr+K7jnj/a3JN/sFyvO17XHbJaeRI0NrWBYqQ10sbqTVTyx1StHPhlgjNQh/aYc+J9oOH+513Ppk8/WdCZyg7C0O0JMRDbL9G/6Re1FHi3DaQsKtIQ8DXM0RnOnmBkAWu7NJUmJfDr4U92cqbkvlw4T473Rs2pv7o12jstLWT1FZRVDU4tVP58ZEdEjQwRPhiJpKeSJR0iUGmlx3H0sMzLUc0xMSR5hOc9SZJaNAIcZ5V6Ov/p7wXF13uqYanUvE5WmMsDII6AAOPctsSY55yv8AZ/eGm7b/ALzceM9t0PhVo7NDbZjdLLe1tU8ZmNUB0xRk0rs8fQ5iZHBwil8nBvw/tNiqlMe9EVc0iMszAadRzWmJBA1gHVU1v9L+F+JOCa7DVGgGabi0C5glplhFp5gTYaL5jvGP4c7n4T/EHunh57rVX+3wQ01wtdfU0/kzT0k6dSGRAAokQh0YqOnK5AGcD6RwrHjF0BWaMpuCNYI6dtPu6/EH+pXsVU4BxZ2CL/EaQHNdABId1gkSCCDFvTRRmPUjTdJLkYOSAScDvrqOEBeBaSTJupeeF3xf7p8LFq5JuG0YXfdlZDTy7bmnippaO016yxiarqElRmf/AGaMxqEZD1EEkr1K3A43wMY0MY4wPxQSDEGwi0l0XOw6wvqX+nP+pVTgDMRlbmc8AtBALc4OrrgwGzpMmPUenHgK8Nu0987gHi28T183RzJzZdatNw2iguEksVNRT+Yp+9rzXTx+VUuqmOVIIvMEQEbOje7GvJ45i3YKl/DsBT8NoBBdBET+GmBzEnQujUmDq5fXP9NP9P8A+MYge0XH6vjVCQ9lO3NHlLzZjWiAWskNDRJEEBe21Jc+Vtw7P2pW7q3Luy52OSmjpKKqsrR08FiDkpKCDl5WkjlCiaVH6lQGIR+71/OKmCotceW++bUgXAA2EiSAST+Kdv1dSzZi6YN/KLTMXJmSPRrQZI6rkVfPsvY1y8TvMKjYE23KK92qnoZb3e6mKo82Gw+dOBD5MheR18tWORnyQhQKrFtzxUdhqOHbZ7s9mtm2eBoRAB7bzOkecyZMdicTV5qYFO5cA2zJdJcCAMpHw2F5ecLbk8Wd5424/sVVsPa21bfTbchp60XiaZrhO8KeWI0gWF4KeBUqWRqdmmkwS7lOyCcV4ZhaVZ7/ABZM/h03vmmSbWLQAOpklD2exmLq4ZjThw1uURJImQCBlgwP+92Y/wBIGuW463BszZfJl3vfMVC+zNmVm1RdNoVtaamsT2qikkhqJpLhBL1ICt0iEazJEUiKRgEMuZXwbxhnMp8zgeYADRwsMhEzLb6yfQqNxjm41nicjXAxN7tMk5hLSIIA09NF2zdXIXD/ACxX0W1drb7sVwp7va6OxW280bChq6SqaRJSkhwMwosQiKuo6GlZcgudc+jhatNxfUYYaSSDcQBf5npYwNgu4KlJ1MFrxJGxkmfLb4z1vpK7BsrkyzUO7LtueLcK1dmprQ9eVjV0r5qaCJSiMO6pMemMEIqAtIgXuSdZ3YNzmZY5idNpNhfWDaJ6dAtdTD/yYtl066TNu1+ul+i43vPiLfW0aap3lsG+UV12nc5TuHcXHM9zWOz1FQ0css0lDGPKWIwhI1NPKzU87xBmSN3eU9R1ai8htR0PZYPgk+pmbm8EAOaCLkABcHC8LqMqePRaS12tO1wdgbkE/iaTkdLrAlbpxt4rtmb73dfqq0X7ZN7uQ8m2owo1hvQlAURQPSSgGlgBkkPtBLxMenDEsOrFV4XVbTHiZgCZubX3Lrg2iGgTray3Yethn8lGCRqATY6kEaz3JjvcKVG2bhfl3vcqm/PNf7c1O1TS3GNlaOil84xSxQNkFOgge+VBkLsOygIvNbh2hnJb8zvJ7dAD3NzK2YiiHMDY02jtv369Nl2Gx316ie7zKaypgEsUccjhFMgESkt2Pfu2M/HH5aqOHMA73WR2H0CzpvE3fFOcj5yqM/z0Pd7wUhw3RKN1mxlVjzj0L/8AhpThjKb3YQhG6VLdl9nBI7d2P9BpjQR93EKOnNXK+3E2jujb33jYKxG8qlrJKqoNPRwdUyBkknLdzgkEJ+H4kHXSwHDqhcHgHeLTNthv+Xqs7wxs5jYRN4iep27772XCfCzZNjVHh6rqyO3bbrqhKJpJHDrO3nGjDESksQJc5JHYd8gDOu57SVagxYbMbaAWtpb6rjez+CpvwzT5utybyZ3Py2U2tpV88m0trySVtYztbKXqbC5J8lc5OD315jGUAKzwNifzXawuHHhtMbLOisUElqqpf4d5D/TWfwTlsFoNGLpBrIgD77t3z3kY/wBdH3e9k3g3STV05zmONvj3Gf56ng7JfBVCuRPwRxqPkFxomkTui2gNghtdkjyGkRPj3IGoKQTeB2TeTcFMh/aVlMn+aUf66jcPN0TRsmj7noVIzWwN9Acn+GoMKTaCj4CF/aelbJR5n/ywuf6ab3R24QFIdUltxZ7rT1zn/wB3jP7yND3M6kImiOqbG/zN2FvlI/5pIx/U6cYSLylNJqQbzVNnppaaP6tP/wDsroHCjqj4Q0QHu1wJz5lBEPnl2/00fdhCJpiLBCNyrTnqucSA/wDDCD/EnTe6NjTREUx0TdrhUH1u9SP8saL/AE0vu46fVMGCNkL28jHVX1kn5ykfy05w41hAMQWraVv7yNZT8mmdv5nR93jZQtKBHV22nBWG20UYJLnpVO5JyT+edOaLkDTBmUU31Fx0KV/yqP6aX3YxdTwwEN9xL3y8mPqDoe6dERTugNuKIdjKgyfj204wpGihp7oDbijPfzox+uj7qgWBAfcUZ/8AWr+/RGFhHIm7X8fB/wD7aPuvVTIm7X/OSXz8+/ro+7KEBNmv47ftAdEYZAhNzfx2Jkxphh4mEC1Nn3APUyd/z0Thp2ULU1e/DsTJn9dDwCoWiE0a+gZw2R+enGGtZQthAa+jI97A04w5AlKRsm7X4A5Mgxpvdt1MqbvfBge+M6UYa6JaE0N9TOQ4/fqz3c6FAtkLJNvemKgfedM4H/5wOP463Hhw1XezlUd3W6Qe/UUEgB/xFT/PQGAKQvaTeEj+0tjbHULM2Pmkf+mi7BOndHO0pf8AaOwR9ybVGMZOHVcfuOqzw8kQR9EoqJwu57MoHTVUyEf8NSw/k2lHDSdW/RMKtoBRzuy1kYFzdfqtY4/k2mbw3t9FHvnU/VUu5qAM8i365AkYwLg5H6Ak6V3DpMFv0SiqNj9QnS7tgUe7uG4AfWpDfzU6UcMH9P5qeJOh/JHG8UA//qKq/Xyz/wDRo/wyNB+aBqDqjpvQkYF/lb84kP8A9OqzwzQwgHiNQjje0o9L2WH1pgf5DQPCR/SUC8RtKsd8VpHuXiNh8jQuf5HTHhTf6T9/BAPncffxVLvi4g5+8YX/AP8AXyj+TaLuFjQA/RWeIBYx9UVN83LPeankA/8A5OYf10P4S2P8Ite3b9f2ThN9XI4zFCf/ANBMND+EC9/y/dIagnT8/wBk0uu9rgKGWQTU1ulQho5/LdjG3z6SPe7Z7fEZ0v8ACdhv99VY1w1Ud7rzrJthaGpuO7bVEK6s9hMU9E00VYPeLRxwKY5Y5Mk+mQxPzKjVw4QDLcptfp85kR3QOIYCJIE6X/I9VG/dfNu6rpT7r3VS0e05+O7Fb5Wl3NJUNXxMoMcfsVqoenqqrl7wp1qHMgjaRUKSMTHrp0uCgNbJOZ9g2IJ6XNms3tci4gCRwMZxl4e4U2gU2DM55MtbGogCXPieWQAfMZOUx24u4y3twlx/S36fcN+2byzuymgqrhVXKrW8wSZqZHgomd+lhDSRyRxeQhWFgsz9JZjrpcQFGo8UWx4bTbLyyYEu3u4izjJiBMLh+znDK9CkcZWk4iqD5znLQSS2mDALQ0EZmtgF0kglco5X3/y/vLdm4958h7a3dvvbk1W1TLQ7epp6WzVaUkeWniqatTKpdGZAYwwIYN0tIUBelwRlFgFKzti8wb2gtbr8T2BiYzcT4viC4txDC5sAFtMZhLbky4W3sB3OgUc79U0fIXFEO5rZxRaOOtmXOre2VO8624/sJJJ66Gmf2eCnpmWaOFJIXVVCTVEsQfr9IpOrhsM6nVaKr5OuUA5iACb3BBMQAeVoNxNx4rH4ulj8Aa2Fw4bTkjOXNDAXODJAghwEglwALi2xEXd2Db+2tvbEvc/HHFfKnCdjsl6rLVdeUbNSVCwSWmDyo4oq2kpnmRauWnWVKqpqKZUpJXl6j5irEllSnWqRVxOWoCJDZGaTrDhlOQGIyudni1iXLnYTD4HCUnYfAtq4fK7Ka0O8MtbEF7CHs8RwnNnY3wrFxGVrTu9NyVxnYt8X/Z/h54g2rylaqSxXtIE2deJLk8000NPV/et03DUMInnp5qGhkeA+dOFdjgEmPWQYXFVqYqVn5Wy2MzcjGgGMrGQXXDiJENOknVd7+I8PweKFDhtI1qkOnw3eLUeS3NNSpIaILQeYuc0GQyBlMmeVtweITmKh3ZuTefBXg3uXHW5qCO3Xay3jkKrmo6yqRx/t8s0NvCUdWJJQhLFSSgUgsEfXOw+Bo4Z7cuJcKgOopGQOl3SR8D10XZ4q7ieNomk/h9N+HcIc12JaAT1EU3BpHWR8188yt4kvs5+eBfKfb8ew9w1VvuFDRfeVIlxgrrVNIYpAvmIvmSIYkPUVV1dFYqOrB91icNRx+H8MulpgnLaCL9TE+vod1+PKjuL+xvGPefCyu5g0OlzSwmDcZZIgTYXF2wYXsltHeXii492rsCPj2r8M/N/G25KWPddns1HRXGym5ROI1ljpZmeczyL5UayGVGcyyyM+GV8ePr8OwteqSXva9nKZDXAaxZsZR/TBsANl+r+EcY47h8LTrYVtCvSqgOADqjCZF4e8uDnbukN5idDIUlfDz41eNd4XTemy+Ttr2Tww843WpNVbNt73ppKSGspKdBDCKaoCR01c7ftixToyWHSrdA1h4lwLE4emx7iXU787biTr1ItAvO86rt+zH+oeAx+Idhq7Th8S6wpVbOIbYEEw11ybNPaNSvJr7cKJR4iuJJbhVxV+8/7BUyXaVaoSmRVq5xTkoIo/KHQG6UwcqAcnOvSeyJYKFRtMy3N9SBN99l+ev/5N0GsxuEc61Q03SNLB9rSd819/gvF2Firr5vcE9Pc9yD8tetncr8vsEC6mz4Btt8dX3xDW6u5ShtlVta0WO7XqOmqR2q62GHFMiKY5Q0gkdXVCjAlBkdtYeL4l9PCudSkOJaBGtzfQiLbyIX1P/RvguGxvtBSp45odTa17yDEEtFrGxvsQZ7r6sLhzpdLhdNr2C87Z3bx7TpAtDXirrS9dU0rKhjKOwIowfMCuVLOoWZEVQCdfL/4Y0BxJDpO2k9zPNpMXmxJ2X9AKWOBa2ixuUDQEAECNmgQ21rxGkEgFYrf3Ic20OPKKu2JZtv3qWpIoaOKS8VU0NV5IiT2h4REBFHT/ALILFCAWXpiAyUC2MwQfUu7LuTlAInvNy7vbU6Ao4vFOoUnOpszHQCZB+AFg3UxJO1yJ8sN0cwVm2OOv7ccmb2tNNadzcnR3m619VG1TW1VDTs9U1R7mGcssVL10sYw4kAHu+5ruUsIxlanTpAlzWWA/qNgLxoXGHHcTMiV8r4px3weHOxOOeBTqVhmJMfyxM2AMAsYJYCTlMAQV2m7eNrxFcqborYdncU7U2Hx9DSiWCp3rRXH2u+QSll6+mmD9KumMxtKCqu4ZicgU0vZJtFs16hDv6WBrg0i95IuD2IMCJ36TP9S8fjKxbwzDAUoBD6znsLwd2Na11txN4MmLRvtLu3xB765U4/5J3FvXwuXW4WOGWC0237su60u4qi4U2AJoonWSNY16eosrKFjyVPk9Omp8Jw9Gm9k1Mzty1pyhpkm5idYi/Q8y6FXE8VxL6NaKIYyTDXv5y9oa1ulu4IO3QxrG4l5U3LUDclx3Hw5xftGooR5Vxt+3Kuoe+VFRKyM9KlXOip58qtIahkhYRovUDFldL7vQZyPc9zpECWgwBIzEB3lESJNyd0MRR4lUIfRFKiy8uDXu5iYOQfy5k2DhAgbgkrNcSbT5p4u3rFQ3rmva99uVRFHfYqC72uuho90EVnmJTUMiSkOGnek6f2RKezqCFjJLWYjDYRzP5LHCOUHlJHKRLhaIEm53nUQtGBocXpPy4iuypm5iIc0RmktB57aNttIDbyuscm763jviCusXKNkHGtLuCjuVNPDct2tFbb1VMrxT0lFV02I4G6RK00c4heZ3yiyKr5wt4bTpjPTIfEGzZjcEg3jQNjMOsGF18VxKtWIwuIYaQeCDL8oJNsrXN1cQSTOUj8I1KDwlFwjwxR0fGXJ9mtNj5EesopXmuiveaapWGGJ4IaarCmLz1icxezsVZAnWUTPSbMa7EPIdQMsv5bXJgmDeJuSB2k6qjgmEweEaMNW5ahDQA83gDlAcLWAsJBm8DVTx3Hy5a5q2Tb9ovNffNv09rFRKlrWGLzvMYhKRZB7iFpA3mA/hVkX1bXEZgM3MW3mLm0i8neAPmewXrm1A2IOt7dNJHcwYupCbN5BgrqianW8NU1LxiaoSiYSQ00zEnyI26B1KihV6gACB2A9NZ6mAjaR8p7/H5pAZAtH6fHddCbc6E+9PfcgfFwgP8tUe4TeB8/7oEdPy/shjdcK5ANU5+T1q4/8An1b7mdwEoa2dUBt60sUlOJ2o4euQKvXXDu3yAz3P00p4eSLa+iaRIlRmve7qOx8JWmlvEdopa1ZoVljkRqqaNPaZH7whC5XC+uMDOddt2Fc/FHw502t+HrYBcSi6mzDB1aNbzf8AF8SVxfwt8pVNu4+29TU+0Rua3rQ2/Bp9vVAmpVamIJV2Xy5h7uMllLDvk+muv7RcJc6u50kGTqRtHe36Lg+yuPpHBsgA2GjXA3nqIPrupz2O+Wu60S3izNboIpiVZkoGp5AyEoVdCVKspUrgjtjXk62BeDldP0P1/VewoPYWyzT4jTtaFljW1IIZdwXWA57hCvSfphw3bVZwgP4VcAeqE9fcgzMm5bi/YDpeOPp+Pf3Qpz+vw1Bg2bt+pUv1+iT961oUrLVe0/8A+TKmf56PubfsIShfffbpqLbK2PitSJf/AJiDqHB7iPv4JgbRdCO4LdEQZLe8fb1alLD9SM6IwZ2SamCiJuy1jtHPQxN9VCfwIGocE6LyoQJR13QkgBiqY5B/yPn+WlGEnVNZIbcbH/1jZ+p1DgeyBgIJ3FnJ68/ronCCJUkbof8AaA9h5hzqe6SoT0Qmvzf+0/efXU907IaIJv3x8zt+eh7qpmCA19yDmTB/lpvdDuoTCE18HciXAxnTe7dAoEI3wH/1q/qdD3YhAuQDexnAmGdF2EtogUFr565lBH56ZuFRDigNfGz3mXH56Iw28IlNmvZ7gSjP56b3YdFJ2QmvZyR1/X10vu6Eymz3vPrIP36cYRKT0TWS7oc5MZOfiB30Bh+qndNmuqd/eXPr20xw6BMJs92X4SN+jHtpxhroTdN3uxyf275+jnU92HRTN0QGu0gbtUPj19dEYcAaIC6bvd5M/wC8MT+mp7ueihcZTWS8S98T9vqNMKAS55TV7zN3/bofl2/8dE4bdDMQm5vVQMgSRn886Y4UahRxQWvU/wA0P/eOp7sEA9N3vcxyepG+ProjDQlL00kvc/yT/wCP/wANOcI0FQPMWWMa/wBgIPVBTJn4mlYf/Tr0b8M83Kt94ZKWm49u4IE1FGPT0K/6aT3UnUINxLYkFGO49vH8dyo0+PasKf8A1DR91dsPp/ZK+sw6n6oi7ksWF8u/wrk9IK3I9z8u76q91FyR9E1PFg6O+qfpuCjGOm+yKfl7apx+/OlGGb0+/mrBXMaynS39APcvc5Pr/fxn+mmbhGnZAYiBcpwm4sHAvMh/78Z/ppfcp2SuxUbo39opTjovTBvTOEOoMEBqFPerWKpdxVQB/wDTqj84k/107sG3p9/JFuIcNXIy7oqV7G90Z/OMD/69UOwINo+/koMX1j6/uiru6UD3rvbD6f4D/wDt6Q8PnYoHFbmFcbxP+K52k/o3/wC1pv4feyIxfdKG81+NwtXrj1b/AF0f4a6xAMeib35up/NFXeKEdqq3sfp16n8NcNQmbjGnf6pX9sJP8MlC/wCfm9v/ANXQGAEXn5IOxkDlj5/2XON0b73jR3BXstw2xTU6DzohXwVRUkI3UFmjTIB6gMFT0+ucdtW/wtm8/IH6SqqmNqCzQ0nuSP8A/H7Kgzzvy83KlDe9imnsu2bvdZqa3VtxidhU0NLNIkR8iokjUN19QAkUqydPV0du23DcMyQ58lguQRAMCbi5iLkEfnK89xzjDatI0WENe6wM3E2tpcmwIMgx0hbttm5W/lKybJ3W16oducF7Fq1o9i0A6IYbuabFPFd5RIgVolj6RSwgAN1vMfeeHoUUC0uc69apM9Wg3LRH4j+LoOX+pZMHXZXps8HlwmHMA2h5bbMSYhjTdv8AW7n0DZ53unfez7zvTascl8tm6qyn8ub2NqyoqY6kCeObNRRMwhEcQJfpVcMAAcN2JGDdSbmHKesAdrONyT8IJst1bi9GtUFMOzdg7NuNWgWHXW11y/xE8wXje9fY9uXa53uzW01Hnw26zeZMKC2jpeZ40ijyMMYwJGljjhYkBi0eBZguGAOc7LmI1O07AyQL+hLul1zvab2gLWCkwlk2AEk5fxEBoJO0GwaYuCFDfdvJe5Id/wC16DcWzN6PviK5NaNr7TippIVelmpGp473VUJleCmr3DqIUc9CeUpcN1M430MCSHRlJI5nSDF5LMwG8HMRcTA0APzLiHtSaeIoiqx4LXZaVEBwz2IFYsOkEjICYJGZxl0t9GuP6m0Xzj2y7H5Tavu3E9LCLXZdg7Xq6lLB5JVmWlrbjCqy3ib9p76SvDGGWUtAc9Wsdag7xPeGNDqhM53DQ9WsNmARZxzGIhw0X0bheHbVwwwuJd4dGI8NjrunXxKrYc8unma3ICSZDtU5vY42tVdsjb0m3Nm2azQ7t8uajhpFoh5T2+anpQUESqsaSLGhHSyOUXq6iygo44h+Z7nEujUyYMgkz13FwRstRo4HDeHRo02sYHgQ2BbKREW9DqDodYWX5KoL5ZducfVtdtXb+9KG3L5kkMtc8tXI0il5C1YADV06MxkaGaPrQgAFhoUsKHud4TuwtYDSw1adrGCt3EMU6nSDnszdeaJnraHDe4kAdF5/+Ke1bk8U/AVPabxtW20XIe3aVGsa113MdRapaWWSKqooROiyVEdQrRrHGnUXlTr6kSIKejwygaFU5XSHawDewINpAjUyQA3Ykr5T/qLw93HuD+G+jlrU7slwBaQSHC4BcHCBIBzOywQAVDD7O/xBVvGvJVDw7u7cDbIstyrZY6evqZRTvb6kKfMoXLxlkWodAg7qI5TnDFzq/jGCa5pqET1HXvYwY7zbSF8p/wBEfbl2CxY4Tijla4kNLoGR27bgkZjoARDusr2Q8WNXYN4cPxbY3JZONeUuNaKT2Zqqshdp7aT0oFjaQN5HS7xddUhUlmI6Q7hjy+HMcyp4tJxaTtFj69R0ET3gL9Ke3GDw+LwRpYykyqwbuN2+nQ6cwIA6TAXzWeJTYFVx3ybLZKq83m8001rorhS/eNU1RUUkEkWUpmlZmLCMDpByMr0nAzr0OHNPKfDAFyLQBO5svxB/qNwivheIBlWo57SxpbmJcQ28Nk65e0CFHsoI2icks5wcEY7jV5cLgLwRp3B6qVPhZpHu125Wtn3XQ1YrNmVtG1dUKWSyrLLDH7YPh1p1YHV2JbuR6it9Nzg0gwMzZ6kdB6/kvo/+mhz4muzLJdSeAb8pMDMTI09b6L2N3DV7R4+29YrheH3OKGxrUvGZbiK5pXKiFa2elgnkCFmEY82JP2ZfpVlbXn/AJDhSa2T0+cTF+8kTrov1tVrUcLh6b8Y97W093k3gAZi0EwDaIByzsVpVy5z5btHG9fvveFLbt98ibqpaez2WGmlllk24J1WGPyqeNfLeUrKWDMwZ5PNADAljd/BGMcKTbCZcSNQLkSYgQI00Guy4lT26x9LAnHV2hz3gBjWnyudytloBzG4cbgzYDdcI4y2DtLxCb8vm+73deT7nxFt28UFg2jQtQRM8/skQZ5J290JCsqqTDGVMnTh2HRrpYbPSb4gaBVfLiZsBNvU9CbDUTK8Fw/hOH49i3nE1nOweGLGMbkgvc0S6f6WzrAzOgAkCy9Ebly5eIr3yFZZd+1FduapoqKgxHGkk8srO4jcSF5AWHWjSFX6lY9lAGuMzhjeUZYBOugt8Bp9YX3L/ANRc9Sn4gzBotuJJggSfj0tbUrVbjy9vKr5iptmvdoLxyTaLAn3vGLhLTRUKyyMk0sUTKscVO8EyFJZZYlSNyAAelTGYKjkdswkXIF9wCZ1nUAEk2g7Y6/tDXGOZhHHPWY2S1uoJtIbEkRoS4AXJPXrdl4r41hqtvVO973T8iVNzmlWkpLRUSQUlvkkhUQQpJMFjCiOJQsy98qEjjRXCvoIIJ8NvMBJLhBMGSbX1Okd3GwA6dDBsexpxLpYTYNMtAiAL20GshoJIaLlx2enuVwnuO3d6zUFtv7s72aGCSll6kaeMq0wSRMBhJTxSdbMDgM2Ex06qGDhpY2RNzpEC+oPQ9/UroVMXmcx9RoIbbUzJtoR1A6CLgLbdz32w1lFfONd0TUW4fuuCpSWdmC2+41FaskMccNPgIxRjJPLJ0uEeMBCxUgJh6Ba4VG2mANc0CCTOzYsNC6ekK7FYpjw7D1gHRcyBlm8AzMmbkXDYvdc73jxvxDsWDdb263XS7WurgpmnoquGaU7aEM6P960cUgkMEa+8r9KtiLpaNXYurXsc6Za2IuTa4/pMRr6iTawErk4vhWHosdmJc0xaS7K4fjbm0ib7AX7LN8abug21JVczLs27ck7Nq56hKWO3xmR62IOY1uFQsh8ozL0qi9R8zyEZ5OpwGWvEYN7milYPP9UDLP4et9TsCQ0ECybBcRptzYthLqZ/pl2a8ZomIGg0LruIlT04qFYKSpv+4Z4o7hPO8iW9Io1S1J0hFpndRh3QKx6QSqtI+CxPVrBWwjRAFzue/beNp3AXpqGILhmjK3Ybx36HePmbLsB3BRRnJe3A/wDc1n9y2CvOIgXSxueADMc1Pj/lx/TROCO6RuIHZXO7MD/egfj2J0owBnREYkFcp5Y3Sai1WuLzZnXzppWxE5yFgcAk4PuguCfpkeuAdWF4dBcY2/ULDj8YcoM73+RXJ/DTuCC2bG21E1uqpQ237M4FJTsVP7Nh1JjBCdx+RDfPJ6/H8DnrvJGjjrH1+S897GYwNwNEj/8AWzSfp812XZV4nsVpNorRuCgqzVVlT2jlMfQ9TI6+9765wynGc65mNwAc4OaAbDpsPgvQYHEloIeSCXON50m3X81t8m8CgBW/xRAevnonf9/SdYxw0QTlW4YyDMhOF3TcugNFPbqn5YLKD+7q0owDCYTOxJ21Vv7XXBcCajI+ZSZWH7m6TojhwhAYyEJt5yK2Hgr0/wCYRdQP/wAJOoeGwLIHFhI/trAP/wC7ER/5wy/zA0h4bGoU99b1V13dDOD5VZDOvb8MgYaY8P6hEYkG6bSXelfLvS07fXy1/njR9xtql8cJu93gJyrTRH4eXM6/wBxo+4bQicQJsk/fcwJKXCtB+RdWz+8anuAjREYm2qGL/XocrckkX4B4R/NSNQYEbC6VuJI1QW3NcgcBqGQY+JZf9dQcPFyo7FHZJ/tXXD+8pA3+SdT/ADA0v8OlT3sITbvkXBelrv8AuqG/kdH+HHdA4qEL+2MGf2jzxf54XX+mlPDnbBN742NUht5UfYGugX/M/T/PRHDzGigxjeqWN0QyANHUxSf5XB1Dgwm943VjuEkEhyTnQ9xQ94QG3AQenzPj6Z1BgZvCAxAmyA24R3w+R6+uiMJdAV0M30nt5jHt89T3IzdT3i0hN3vxz/e4P56YYNDx0B783/tGx+elGDnVDxt0Br9nv1nR9z6BQ10Br6Tj9of36Hul5hB1c7FBa+en7Qn9dM7Czsl8aUB74TgeawH56Iwo1hTxwm7349/fPf66Iwd1PHk6ptJfTj+9P79E4W8wp4ybvfWPbzSR+eiMJdKa8IDX1hgmQk/no+6DUhB9e90Fr8xBJk7Z+eg7CiLJTXEJs9+JXHmHHz04wkFKa8JrJfycftNEYPsgMSdJWO++4gpASId/+Ea9r/D2leTHG7XS1viYB6IQfh2HbS/w4KHjPdHF8iIIKQk4+Kg6T+Hbqz+MBKN2o5ABLSUcnSQw6oVbB+Y7evfRGBI3SHi7OyoXG2N+K32xvnmnQ/00XYJyb+KsmIHyRkuNtyuKG3DB7DyEGP4aBwPVOOLtmLIntdpbDNb7bn5+UoxpfcXBE8WYVcVNmOT7BSA/TIx+46jcG4CNkg4gz7lFWqtajCQBBjt0yuP/AKtL/DzN/wAlc3ig2/NOkuFKoDK04H0qJP8AXSOwG0I/xWLSnC3WJfSpr17entDH+ugeGpTxZvVHF19CK64D/wDT/wDhpf4de4/NM3iY6pa3lvQV9eP/ANKD/TR/h8nRXt4r3S1vc2MfeVd2+br/APs6n8PA0RbxWBYq0l7rVjdobnWvIBkJ+z9/6d17HQ9wHT80v8Td1/JR85Q5fkpbHFVW/cFwpOmojikaOkiq3ctL5bQNAyKoz73vlgVK+mNKOHjXKY7SNp1P1gFZMdxstpyH79Ad40F/jZebO8+cd7bgt6bb2fa7ze9+3utmsslZFKppnqK2P2VUleRGeoMcQl6WQFUbDKxKsutNPhkkBoho6/M2HXvEi3Qr5vxn21qeGWUgXVHnLaIlwygEmLjXlBg37KQvCXHu8du0tq2vf5C7rLJAK2hxC1FTxP0GKgYIGghHXEobpMnSY1PUACGdgAOYaamd/X84Bhd3gHjYek2hV1bYRENA2aLCNBJE2XSfEVvzadws1p40v22tvTu1YKShSriRoKApTtIjyNHiWNvcYoilJGkjXJAydVUsO9pzhxvM777CIJ+YAM7QupxziWGawUKjAS4wJteJBJBkaep0CjttXd+0ePrc+6KmW73qiio+tq+6N5knIG4JQFZA0cR8whUVI4/2Uaxq0gwhdjKlE+Vrco0aB+Eakm9idSXSdBqAFxcHxTD4UGrWeXmLucB/McbBrYmQNA1ogmTeS5adsPbFZd987X3A1RbJuZbjLJuq/wAd0pnhjuBERpKKFlbqJmT2mb9o2QuAo93pZbhhw1ppXDWCAfW509PX8lwuHOdVxNPGENFeqc7xcSGjKwCZ0zW2gaXBUx6PkGo2ftQ33bEcN8235+bnZTa5pXsN2HaYLGWPQGYl5ISViIZZ093zM5XYPO85RDvgJG2vbe/TWF7yjxltCkXsjJNxDuV29u51H/yFiVxrk6rr7/Twb2uVyprU10r7VSVNCY+uioVgqY5I1hWNn63QVVRK5BKe8TiMIp1bTwQa4NAnUyNTIjQgWsB19ZXO4nxB72Gu90DlGU6CHAgzJvckjTpZsrb9t80T8a26m29DfLTYeP1tVVc6KuNCJjTmWSQVMUzzy++Fl/CzAv0P/i1lxGEhxc6bRaw9NAdegW7h/HRRApvLcsF0nMbyZBJI07kW9FheHNwUe/xbNz0G87dbuQ62I3GjaCjg9jpYpv2EqsEEfTKwQZIyCGyO3WBbVYxrHNIMaEzBteL7T3HfZZOE4/3lwxAeC43aIEDUTbePXfLqV4yeL7hf2CjtXOll9hqbfeKiWK8rRU7xx0lxDt1hzlkLhupSUPSVEberMda2sgZRtpppt+/02X5z/wBTvZsBw4tSjnJzhs2cDvrBm3yJ1K2XjPxB7535xguxKnflyNfQW6pgrLQ6wedc4SyFJaMuQ0koWNupcZVjlQes5yMwlKc8XtF+nwMbb/QLr+z3t5jMZw/3Q1eZrXBwIGZwtBbJGY6yI16yuLeMvdVHu7fGyr1blqpqJ7BGYamrkjNTXKZpG86dEJ6HJZlIYkt0A+hGpQptbOnoNrafqvI/6q8RZisRh6zBILDc6m5uRcjprtayh6CS6qrA5B7/AAJOtO8FfKxUP4V2ngzkP/ss37QbruFyusW34nhp7tQ0FYaepudE8qmSKNh2JHQr9yACFOlc0O/DMaeq9X7HcZfw/Ge8OeWsEB4BALmkiQBoevwXpq3iSs3LAve2uN/D/wAq8j241UVTSU9soYraslL0jzZ5ZVBeeolmRIupmcBRJ0gvJkNTweLJDy1o/wC42HQAWA6ki5sJiZ+6VP8AUDAYzNQwVGrUba1NgBI1c5ziSTewBsJLomIye6K/nnm6+2Dj7eW8NjcK7Skp5ty19os1yF2vtr9hBgihkV1VIahpK2Xy6VekhgzdikeEpcOpAucXGplEQ0ECXWIkzNhd2kepVmP4txrib6ODeW4Wm7nMua+o0U7g5RDW8zhlbqTB/CF0Ox8e8bcTWXbOyNqcgcrLTWm2tcLhSx3qoovZJpG/3mpK+UKcHqcmPI7HIYDuBiadN7y59IDaTf4XNz6R0ibL0nA+HUOGYeng8NiqhgF5AIFz+Iw2Wi95JO65dUWp94XC31NJu3krfzzPUUlHWXm8VtJQz1Id1aKgcFJJFRzFKWGCY1dmkGMFzhGUgS6mGW3EmNZIJgQJsYEwIMrjvruxVQFmIfVJJAIcWsmYhrgOYzFwHGJOYALtXFvGnFdmo6PdNvudPfN13Ohlulcbo9LW+UnTAIE83pYFpJDLjo6ViDdwfLDM7qwAyU+UN6SJMmY00Aud9omF3fZzgOFpH3lxz1Hi5dDjAAibmxceUDQRMkSpDpzFYL7b7nV+z22hvVDbqukkWermihjgPvLPLUoEjjiBji/CWy3bp7HWR+GeGmbabb9IJJJ6D+y9tS47ReIbZzJETtGsgQ0dTNlm9vb8q/8AsmqKnelNv+e4pCzUVA1ulp6WaR3bpVvP8lApMsS+WGJZXQEYJj1bXweV4a0DNpJIn5SSTY7GO5EhcD7Qk4U1apd1gA3mYuQBEEXJEjpN4z793tuqSosX3nbNubJp6uopbVbGa9MKm4mnMiszvMwjigNR1NLKmVjUBR1llVozBtzCTJMuiDAFoJgSbC1pcT8R5niftBiA0ZW5RIaDmBc4yZABIaBNiZ5QDOsGa+2325WRWekrGt+4K2ot7C82221j1JLMehPvS4yEyTRZMWVIjjVAV8tgekMaLnCKYlo0JENB6hu51MkuJPTVetpVQ4h1eznAy0HM4joXWgdmhrb6wuqWLZiUcsF6t95Fup4qVLNW0FrjWvppohG0LSxLLGWd0DHLdPUyBlyQq4X3drpMZid/L362Hx1uuhS5IDOUNsW2I6drj00st52Zcqjadztu16qhn3HEKWSekv8AJNHHTVNEoVYkOT2njAEbDBJUB8nJArfhZBeLfnJ+GnyV2HxuSKbpPQjSP3Gn10XbKC7KKcS+ZA7yM0pKLhQW74Hxx6evc+vx1V7rBgbLYMY3VPPvrGPfB/I6HuiPvgVffR/9r2H/ADaT3S0wm97XJOT7400dNTIxkdaKrkVAC3msVCqnYjswVxj44I7eo00MJqT9/f30PMx+NmG7369rfH7vcaVwFdJKfbG04mXyf/3ZoBJEBgQuIoW6V+hVw+P+fP8AjAXo8YoTXeT/AFH9fv8AvK4PsZiyMDhwP/1t+Fh/n66REhPvk9/eYH89cj3NetGL6Kz3lmDB2DA/A99T3SNETi5TF6ykYZanpyT/AMgH8tM3DEKv3kbIAq4I/wC5aph/yTOB+7ONT3USj713SWuE2T0XCsTBz3Ctn94zqDCCNNVDizEyhm7169va4ZPl1REfyb+mlGDGiBxhhNHudQxPnUVrqB884P8A+sp/np/duhQOK6hN5LjGPfa1zI/wMMoB/gy6X3ORFo++yHvY80H7+KR99ooOZL1T4+DdTD/6tKMEdAEW4xvX5oL7gVGz99tEpP4ZYlx+/AOrPc5uAgcfB8339EpdwSsD5Vfb5j+Xr+eGOoMIJkqHGEiWxKoXyvGcxU0vwJSQj+a6HuYUdjzoUNr/AD5JankGP+F1P9Ro+4oP4gAEE7jJwGgq4/h3TP8AInUOBUGPCGdyRZ7zOp+qMP6aAwJ6JTjxOqE25aZ+xrImb5F/X9+m9zjZBuPaTqgNdaR+5FI7Zz+FT/HTe62sicW1N5aulkzmJCfgVyuP3aDMJCDsUN0M1yL2SerjHqMTv/U6UYMaAIOxo2P1QDc5QMLcK3t295w38xp/chEwoccRaUA3arBPTc5SPk0aH+QGicGI0Se/ERdI++q4E5rYXH1iI/k2lOBERCDceeqbyXy4jHRLQMfXuHH8s6gwLQLpXcQfMjT4oDX6vxl0pX+qzMP5rqHAwieIu1Q/7RVWCDT5/KZdN7jdAcRdJlCfck4z/s07Af8AC6H+uiMBJQPEkA7ncgg0teoH/KD/ACY6X3Eg9Uo4kO4QDuhcsCtag9O8Tf00W4Ao/wASGhP5oT7nhznrnUntgxt/pqNwNohE8UGkpu+5oB6zsB69w3+mp7keiA4ownVN23TSZJasjH5k6YYAqr+LM/qQG3VRH0r6b9ZB21HYI7phxQGwIQ23PSkDFbTZ/wDerqHBEKDiI6ps+46fA/2uA5//ADB/rqDCCZQPERunDXNlX8ZOvaOoAL5aOKEWVC5HB6WJ/LSDD3lMzihN90Zbkcdmzqe7WuoOKOKULk57dXfGcaU4YJXcSOoKKtzb16+31Op7uNITjijouiC6MAMMRpxhoKI4o4HVFF0xkdQxpBhQlHFDOqKtyOBl9RuHumHEzqlrc2wMsB6fH00fdhKtHEzqSiJdCf8AFn9dB2Gsk/ihN0Vbo3bDd/z0BhxMKfxM6IouhyD1HHr66X3UaQmbxU6Sri5kAYbA+uj7sFc3ihQqm+ikhaeTzWjBUMEUswBOMhR3P5DTe6TaLpv4tAJJXO9w78rqj/ZtryJcK2UMlM8TOhhlGQCXaNkAHS2QxwQD+lTsIcsmw7qqrxzZhk9lHG97gk33R1ke57nuCWhgrXpqeO2iVKS6zvGyyylowmKaQuY1XPXIoHorEvG4YOE5Z9fpINp3iIG86Dh1+MGqXNe8tAOxiTvcCYvEzJi0alhafb5N1bMp5aLbFp27ap0esp6aFlqaeRopY/28oKRMgZWVSB0qI2C+vVoNwjz5yT2i3qN766Xt6JW44h1NjGhrRE3va0Eael7XvNx3HeV5egsbjb8u4aikWp8hK41coqJ5yMtFEzlSYWwpaVCfwqq5P4a/cwTGUen5E9u25K7NbjBaCWuJvr0PT49bx1lRl3tU+VsOprb1tekoZKCplofbqiaSWeCaR2FRVdUbMMssjIoVmIVZGZupgQ7qRDbReNgbC4/c2GwC4tfiU081QGWk3J0cbT8jAN++gUf9rttq8bovqb6sdNfdsW+0z0lL5KO0NxmlhZo6l4yQRGAEcLgOOkdWSCBmZSIBqATHbSNZ1uPkDovP08VTq4g06w5GjqYcSLHYx3ubXMWXVKa87e3Pv7kyfjSCk3BR0W3bQkNYJeqlEymWpHm1QOfLPtDIWOXAjjKt27PTZnGoAm0j4WGvwFuq6/8AE2uxDvBOYhjd++YSZ0vE6iJCe7i3rdOP7hSci7ipLBdIVtMdpv1JDNUMlZam6lNSMoeuSJXAZ85ljadD/gAj8Kf/AG+aO3Tb06DYx1VtfjTqLxi6trQ4BxuD+LuQDc7gkDZdK4/3BBTbY5JsdNa6yvv8FD5tuulK5uENttpUvT06svSUWF4jG4C9R6VDAnGmfRLWkAW1O0nfWJ7bLTgOJthzDJMct5AadNJjS51Ij0XErxu1t7cdCj3K+2KGvgpqI0lLUUJeWrknlRwCyFSjd4yD74GHOcsNV1Q0OhxNzbTQev3t1WCrxhuIw/M1sASQQZJJ7fe/RRvflqn40vlwtsG27Z92UVW0EtfX1QUVk0SGWUTQsWd5gOpom95BLIUy5VU1krMeLkADYRfoI2vpOsSR1Xnh7RNw1QsiQNXE2JgkgjW1yANzB6INnvPJnMe0abi608a2u124Uc9lqKqGAXRhHJOWEj1kjLSUohUrGTEJpwvVhQT214fhtWpeYB3EAH43c4HoAAesLn1eP1sdQ9ybQsJBnnIkmDEtYwtBu5xJE+WQvM3kTY+6OEeTLxs3ckET3u01RVnQypDWoPRkb3X8pwSPgcFh2Odc6tSNN2UifX9rhfH8XgqnDsZ4dTzMOoJ+hsbzrY6rbfEBurjTdV72VV8X7bs+27YLDSG4xUPmqjV7r+2VkkJw6lekkdm7N8RqivWNSoSfTSPyXV9qMVgarqTsEzLygugkjMdjO43XAeo+dKhZsnPx7fTQIvovKNJuApW8QcVWS+8X/wBs4bpcbbyQL7LFaI5qL2ijqqWOJA/nIRhU6nlJm9E6D3yNbmYd2RoAIJvI2vb1HbfZet9nuDUq2Edic0VWuhoIkG15EdTroFJTafLSQ7d3vaN53S+bN55o5aahpbbDUm2QVVOsbHDv2WNOqRJOvqPSAH6MgEpVaP8AZqXM6n5ba72AnaV77g/tGG03mo8067AAGN5Q706TIvIG8brLcLWze+6pd6XTaNfumLc8opbQu4aK9BI6MQBmlmkkR+upZ5C4C+4j+SZC5GcXMw1N7MtgJJ1MwBYBu25km06KcDxGLq1qlamXeKQG5wRAMy4udebwCADmI1G1XvelPxRcLNBPet38sbvqqiSpShvK+ciO6kzztR5AkqI5TKy1Tydm6h+HJFIaxr/DoNhwETNwOx0aD2AJmZO9+O4z7qWuxFR1dznDlIsTuS3VxB05iBoANtI3LuLmnm7ct0rNy3w2K30hevM1Xb6iSsq0McUMSVcdLmPqMaeV1Fu6M2SwwdOzgzwc9SflMXnU5d76bWC5mL9pcdxCtlzCm1pmTIJtlHKwuvBI10Nyu47PG99lbg2tLuO5cScbbMqI6uy0u4rVs2SeaGSMdaxwwzO0UdRPl1VnQ4CYIGVGtApOPne5wOwygm9hIk9zHz1XfwWIxWEfTa9tKmxstD4e4NMTOUkCToJjTSCJ6pbOPuVK6Ghh3FcbNf7PDc801lvUdTabrMomBWa5TUcE6SOOrJiIXy+xGXUEXUsG1sE3PpmaPQgtk7T6xbXquqY+o0NqODmSYmab3aEF3K8RaQ20WkTAWSbiXnCdZN3WmSWw1EclStmG26yCpmoU8zCyzCthSWd+8jhY/KIypADE6V/DmlhY4666stuABO27idVsxJ4m93iN5Q0nJEVI7nNG+zWg7rcuIeKqKrad6DkybfW45aKehulbX2yKJ7H73lrTuzL5oSPyz0wBVUFmLDsTq2lhqYBaAWixN9fkB6STAFgtPBqbgfEqVRVqGRceX/jqYAN4yyTrKmXs610dtSr2tsq5UjezSn7zuVKC9PDMUwYIFT8Pu4BI7p6Z6iSGNBtQ5zOX6n57f40XsMJiRRmnTIzbxoPv+5upB0N1p7TBRW+neAOqRxRKmB7oHoo7YH4fQDHf5aV+Hl111W8QyiAgW6liPtld7ZVR1dRVyTuysGUYdsKqOGCgHqbsB7zsfjqNw7YAiLfenayUY45iZ/b5LZ4K/wBmhEKzzTdyS8jdTOfiSe2TpThRqFa3iJ3KKLseg/tPjoe6qfxLqUlrs4wesn4ZzoDCSdE54lO64byncJauouMa3ettxFmmjHllehCRI3mPlSen3FTsQSzxj4nV1LDgMdZcbieOJcA10GD6Xm5nb07dVgOFrhPb6TZNI95qrgx27DGVdkwf2UMgKhUU4XqZDnJ6xIPQDW7iOGaTUht579SNz8lxPZfiD2UcO0umWDp/SCNADa43vZSKN2YDtJjt8/XXLdgwvZ/xIm0qxuz9/wBp+udRuFBR/iTihtd3A7yEH89EYXYJhxEyk/e0np5nf4fTQOFBvCh4idUhrs4ziQfv0Dhh0RPEd0gXdh38zB+PfQODEwoeImdUg3aQ5/bEfrqHDDomPETrKQbu5zmUfv1X7oANEv8AEr6obXaTOBJgfPTDDdEW8QItKGbvJgjzTj89BuFEwj/ECBqm71yOepkhYfVRnTHDlB2NCZu9EWEns8AcdsgdJH6jGgaJSjFiZCQapQfdmqk+glb+p0PdrQQj72SLlBNXMScXCsT44JVh/EaY4cdFX74R+JJa4VoxivDf5oh/QjQGGCY4tw3CBJcrgPSaiYHt7ysM/wATpxhwk98deD+abm4VR/FT0LH5h8fzXR92uiMaRdN3r2XL/d6s34vckUHP7xpfdxoh71HlCQLm4JDU9xT6Bif5MdQ4bomGMPdCN37Z67gnwOUb/TTDD30S+/GNfv5Jq18jU+9cJkHx6k/1XUOG7JRj9sySL2hBxcaY/mV/8NJ7uAbqHGE7hJN2ZgcVlK3+n79TwGpTjnbFIa51PbplpmH6/wBNAUGlA415Nv1QWuVXg5WJh/mP+mnbhwN1BjnRogNc6gesUfp/x+v7xoeFNkhxbpgoLXSf/wBmfy6xo+7tJQGOPRNnu0w9aeb/AONf9dT3ZKMaYiEJrxKPWGo+X+H/AF0PdtkRjnRCbPeHxgx1A+Xu/wDjqw4foo7HnUIJvDEnCVWf8p0ooQl9+KE12z26an/4DjTGjCAxibNdo+/Ukx+ODGf9NMaBOiR2PEWCayXSBu3kuP8A9Ef9NFtB0qv30dFzGo5+tfl4pbfI7dTA9cmOw9P5/wANesHC3E3K+ID2yoxygn73WW25zRbrk6U9yhWimaXoDIcpgnsTn09dV1uHFtxcLTgvamlUhr7FZem5ftE94ktIjI6WKl+sY7MR/ID9+kfgHBuZaB7S0jU8MJ7T8ubenqkpF9rQkkB2AA7aR2Ae0ZjCdntFRcYaVstZvzb9BQC5S3FHpy3SvR7xZsZwANVU8M5xygLY/jFJjM7nWWUsm6rbuGB6m2VPnKpw6kYZfX1H6aapQdTs4K6jxJlUTTdMLPCobvk4+es4VxxSX7YEGWdUA/4iBpi3cItxe4S0rOoKysHQjsQex0XMEJ/eSiLVEYPY4+OgGDbVA4kwlrVHsD6amSSJSuxUlMbjfqS1RLPWS+XCSFJ+CnBIz8vQ6LKZNhqkfjQzmJWBfkjaiIsn33SHK9WFOSBnGPp3Px07cOehS/xijF3BaveOcdm2ieenluUiyxdLdSxl42B+BI7gd85+mn9yeRYLLW9psNTeWuddaFuTfFv389zig3PbV29b4vPmiDiQVEh/BAWHS2G7MQrA46VOc6zNwxJk6nT1++3fZM7jDKstY4ADX7ka/ksdsTcW3LBS19hv+47dUXAOtQtPRKVPW2SYw491WyWTqwCFBwR3JtGFiwBPr96ffZZsJxim0EPeB6f512CyVLzHZ7NuPcq0jUtTE8NM5Kjyox0I2IUU+nSrIuT8dPTwjySD3Qf7R0WPiR97LQrn4hrjRzVl2ktFpqKmoCxKwjEjIgYYiDMcdxklvTIB+GNX1eGOa2xK5H/rHMbgEba6W2XKK7ckG4Lfte+32xQUlDSwGoWi6zJUzyFCied5bAHpBkOAoB6x3wMazs4c+SX66dfz1+euyz4n2iY5jXxA1j9wDH3qtB2Xv0Wahu1tt9PTw2KoT2i6xLTR+XKYIunolIOGLBGkY+hDFD2LasPDwRm6X2/b021uuZhfac08zaYADtddBOt/sLm9de7dS7dF0j2luii31PT1dbNR20CkiCM/4zL1kRxRBoowuGUgOqD1xlq4Fxtllw3JG+/WSZ0glY6XHKTKWdktLpsJEjp/TDRFjIEwLmFz+67x8SF3srSWy5XnbWzrVT1FFX2xqjpqKunlRQ6kTRuHwv8AiESLgDGTk6xN4DWBL3mCNpI+Mgn5kyslX2pxrqQbRJDQIOhtpEEDboIWuy82eI+K1mTbc1hv9rpLdNaqW4mdFrpqdx0EOYWCTSK6ArJgAydRIJOqXcOrPbLXAt6HX00B7dYVbPbLHsEASWiJ0+dyDpPr8ltk/N28Ztujb1x4Vt1C1JRYlqqW9UrSxPg9PUZhiJiR3iXuV+HcHUrUsSJc/KPiQJ32ufQroU/asupiiaLpjsT2MTYdio4XC+8n75mo6ep2per9bo5Z6ilt1RdEbqkLe+ZJWcvKqqCFJwAwUgEADWWjwyu54LQ0m1psN7Dv/decxnH6tfzhzhJPc9idbdNtF6LcbeLduLrrK29+L+WtmWw2VaKhpYLTHW0FD0yF2liWlYmNWLAHtgBU7YGus6hiGGalMmdS0g/Sy9twz26oYcBjmuptAgAtIaD1BE+ijX4obvxZ4na3d/IG2+QbVU7zt1JB9309QwppZKeKESS000UgVzlnl8tgCVaNg2Q645OLbQdIcS11zeR+fXfpaFy/aKvR4nOJpvDi0CI+oPzseuuy8vEb3oio91znpx6fXXm2HoV85DxmiPglvG0c5kYMy5JAA+H+h1bbZM4EQNl6ycPbstWy+MNj2+l21V101Ba5S9RJH1/7RIoZmjJ7ADqkIU5X32yO+R7NuFd4eZggWH9/y7r6FwLjtHC0aVOJIn6g/uex62UWuQrrba69cqclRvV7T3dbNw0NVZYJZ/eiqgImfEIVkcsYzIxZu3u+ozrhVmZWkmzpje3xsPp/fjcUxjK9apigYcC0gGNbbGSZj0FutnHGZuvINqhs/n2fjG11NVU1103mbNPNVVdW8jSPBB5GB0Dp6VBwE97GO40+FwbqrGl0+GNIAJJ3ubiT+msKcP4m+oDSpFtN7yS6oS4C5mAG2MDQbSdlIDZuxOMdpbjt09kuF63Xf4I56u5X26256sPAYliCD9mxhIeVy3ZgoVT7xBA6dDDlkiiwhrRtqb7m2kagwuzhMHgqVZr31PFq7kgkAZdtQLnfRdurfEDbbJBd6mpkue7qi+llNqulc8U0S0waKN5mCgrGYlKux6wfMAUAkAZW1XH+VSHProTE+k9ogSfqvV/+p6bWGoSXB1okNJyjuBbWZMfQLk25LtT7ptm5KOW4bJ27XVVPGaKAJNUNBUJULkUFMI80bEAN1yjzJFRiCsbhTpbh3F282nkM/wDyMQBvDZ2zSVyMXxI4im4crQQYl4sf+DQZmLZnRvlAapvbE3fdN2bdtc+39p3fck9HL7VcrdQ9FHS01bFgu6R1CwrFC+A/QpLBXBznAOunQdOY2Ikcxj979gP7enwXHzVphlJpdpIbpI6TAg9yuwVI5Tv5jtl6v22NlbXDlHCRy18tYjjqVJKtHiEalR+AKqsB3dwcCMwbSIqOnsBb1M6/l2ldipxTFvhoDWN3kku9AW2Hwk9CFltz8HWKks8l5te49209wiSMvTW+rNNFeI426vZGjXC9DgEKuAFfpbH4s2VsPTMS2ek9UtSk4TUp1C07xGg29P19Sq2BVJQWihrqSu3IlfUxmYUa1KJ+0iZh7JM0fYOyZK+91K/uk6bwmyBA+ZI6W9PkrsNjoacpImbb/rHQb7LtFBe9u0VTWVftM1FWAiPyXcvUk5/9YvvEN3AwDgDvkZ0GshuUD5D7C6beIicxPz/bX70W6Ulayx9ZFRCrEuIpMZjyckds98k9snHfUNG8FM3iBi6eG4YIOT6agoSE38QSDcDkHrIH0Pro+CieIQhm4H/i7fDUNHsj/EL6riG/blJUxb7hSJZS9tmhib49UNKXkU9x2VZRIMf4wvy0woHIZ9f0n6R8SuRjeJEl8XtH0Jj5GfUBA48qpqWk4+glh8qSG3wxySH1Pm0fVGvqfxKnmH5P1fPWrFU5qPnv+f6WCx8ExsUaAOzW/Vtvnr6rt/3mpGfMTpI/4uxGsJpbBej9/wC6aS7hoYGdJq2CJgPQuP8Ar46Pgzog7iQBuUI7hovLaUV1OYwAxPmDAHz/AC1HUdjqiOIjUFJ/tFQftP8AbqbA9T1jAOcfz0PCsieJAGJQH3NbF6gblRgjJI81e2NHwVDxRseZNZt4WSmVnqLtRRoACSZBgZ9D/HSGltCV/F2gyXQmMm/NtooZ79bhHjqDGUYOPXRbQPRA8aYBOb6p4u5rbKEeO40sis3QpEgPUe/b10vgQm/iYMQ7VE++qYAn2qEDOfxjtoiiCiOJDQlIkvVNDH50tXBDFnHUzgDP5nQFFEcUjmmyut0EgLRyiVfQFTkaYURsmHET1TSrvSUkZllc9OcDv8T6anhHZK/iYF5XAtw8oVX3q1RT1s1vSOGopZIWJAWXAdD8O/usM/XWylw9pF9/3XmMX7TnOHMdAEgjvEhPaflK5U9ehrbnQTUppomdUXPS5YjC49cjBz8jonh7SCAN1aPaaoHDM4RC6VNvi108UTy1sAmZVJj6sEA47/pkayHDXhdr+N04mdVrT8v7aSrgo5ap0ZoWlkfHuw49VJ+eiMG4zb+6y/8AqqlIaXX/AChbjDuShqnRKe4QTswDAKwPYjI9PppHYaNl0W8XaRYysAOQLMbgtunrYqepaXyUVnGXbOPT/r4aZuFMyFV/6hptdDnQdFnGvUJcxCphM3r09Y6vUj0/MEarFEarR/EyTEq5uTY7SY+OdHwBqmPFSEj71cntKcfHB1DhwVX/ABK1ygtciQep8nHpoeDeFDxQnVNJK9G7OkTD45UHR8CN0juJSYKaST0zEj2el7/ERj/TUNLdB2PAMhBMtPjKwqv1BI/lpfAaLqN4jukGoQdw8oH0kbt/HUNERop/FDGv5oRrPlNVZ+Ylb/XRGHAMEIfxHom7VMmTisrx3+MucfvGicO2LhQcQPUoBq5h3FbUn5ZKn/6dL7uCi3iTtQgvWzf/AMZL+qp/ppjhglPFHdUI19R1d6w/X9mugcKIQ/ijiY2QWr6n0FSDn5xj/XRGFtBSt4i7qgtcKn/+IjJ/93/46PgBH+JO0TZ7hV9z59Pj6xH/AF0PAASnijtioNMZcZPUfmde8yBfm3MYVo55Y/dSZlHoe+keRqrGPcd7J1HUVEbCWOV1lBzkMfXOi6PgiKrgZGqBJXVzlWapmJA6RkntpQGmwsgcQ6JlZOi3Fc6WJYfMMyAhiGyert6HQ8IAyr6eOeBB0W/bT5Xr9rT1TQ0ccyTx9DqWxj5fuyf36oxOF8SJsutw7jhw5JiZW103O17V45KmN2YAj3W+BPoc+usjuGN0XQHtVUm4TK5813+6JUeZDFGWhMS9BIwfg35/z07eGtBiUtT2nqOm0arDU/Mu+KWoimjub5VQvQfwAAg/hPzxpv4XTcLLKz2nxLSCNvvRbfP4iN0yRPEKG2xsc++gII/LWdvCBrMrdV9r6pEZQsdaued324yrI8NerennDPSf9NXVOFUzBbZUUvays0w4T6rR7/yFujcksstbWEK+CyxgqGwcjI+mtFHBsZEjRczFccr1iZstRSrqwzsZZASMHJ/XWksaCAsIxLuqa1AkqW6plWR/X3j8fz1YWtulNVxdJTWhjqopBJMaaMocxJApUJ2xn5k4x9NUmkDc3QZVIEaIyVAoK2aukkMRkVvMmlk7D0wMk5HofT56SGMM9Uxquzcyw1qqqh66eeYy+bVGedCzE9UYdOlsH07MBj6aFGne4iVScQSeYrYsF16Wwx/5gDg/rrVoIUa4ututc3FT3CWigp6SB5uhlCuGUMvwz3+Azk9jnHw9dZcRSLhliyUvIXBd6xVskw2vRo4UxwtXzRPII6CFWABZwQzghsYyMtJnA6dcPHNJfkAsIkn9N/2WWs4gBgJk9P1P309dhlutHYaGutEKJFDUy9VXMPeqKyXv09WT/d98BB2A7dskl3VBT/ltsPu5V9GpA1kmxP6enb9bpCbhmvcVRTXKuiYqUiqIEZlkuC4HREfXOVClguB2OSS2dClVa8w4zB06+vb19FacSctjH5x27n5rWtwWyxSU1wqaZqfb0sUrFKenLPLUyZA6VAJC9OY17HOABgHGqcWxjhpBOgG/qdPvVZ/KIHL99NQterrFfa2nt+057dQz22CYSyrUyqscRZep4ox/xEHDSMMksqggd9VDDvLgzYfcdhtG+psISPJNiLm/9z1Mb7WG8rpVBU0VVeuigFLBcGSJvYZCYmiQB0zGy9j7pQjBC9sZAHbpMqMLy13mOxV0gRk0/L+3ZJvN3mjNtNFNVxVKhpKRJPM60bPYh1H4T6Hqz6dJx3Iz1SXEBg/t+ytOJDQAXR8Vpl52Zt7fRvEu6be1fX3NW96emU3CilT3euEtjHYowAYL0DOD31W/CiowtqCZ2P7/AK/BY61NjnF7xc9Bf4D46fFecc1NLbqyrpKhXWWCWSKQMuMMpxnv6enpr5nVaWvLdIXPFSOWdJSZ1LZy7r2/Fk9u2e+i61wo4yLn6qa9i3parDs6335nlt1iSZY5KVagtLC5jziOEkZUluk+uOn1AJx7KnxKlSpioY9Br/hdKg8tp3JgfJR+3XX7k5Hrb7drdS10e3PvVqhmIykMs7JEgZvR5SFUYGcDq+HrwTSq4pwqEQ0mB6k7fdlixuIzuIYe59NL/oFKyDbdfsKOn29PUz27ZEjxxVFMK0wgVETdQMobqEqMVbCnAWRhk4YDXq62Hp0ag8SIG3T5D87LTQFSnTyUyY3/ADvJt6D8k/G+9ywXbcFp2ndhFcbw3QtO8KRQLbxGcyPjpKBssQgwJuods5OsL3io4sa6JuTOg/eNvnC6DOK1qJ/lamwHXr6Dr12W48eJRbZEVxtt8gnvM1MDU3eF5PbJ1LARoQCyxxqFChMAKPj666uGwNMsAbcW9SepI+/RNgca+i81HXfpPYaAAiw+7ldo3JzFuGSlpKNbxU1tVJUwvXQyTGZphC5dJi46ffBXHUCPgrHV1bCMaQ0besfW3911q3tFVLSZlxttP0vK0Wm5Y3jTbmuUK7uqvuqolSpnrZ2LNPUEBf71cnLARZbI6gOk9idVMw9MugWaPz/ssY9oMVTqSXai86/ZC7ztvnHdFEHuF1r7XcKqfqHSUHTED1K0QUH0YufdA7g474GurSwFIAAG66tL2rxElziIP5D9F1nbHOE1vmke6WnzJQhFGVld1pO3cqjlhkkjJ+Hw7aZ/CoktNyulhva5wJFQW9Tr6Ll24OY7rbpbhR0xlt9JWVDXFViQBYpeotM0bBcr1MUlKZIJMnbuMUO4cWOEXCw1fad5aQLEmV2ja/iEWGkskVwpay4UqJGJkaRQwwAFBAHfAAYE9/nqw8Oc4lwXQw3tY1oa11wNSt6uHiRo4Y7g9DSSVMjMBTIw6fLGPVj8T39PpqtvC322W2p7X0wDF+i1+DxNXGKEmos9NJL5gJIcgBcDIx+YP79XHhRmAbLJS9s7QW3QoPEtWQNO9Rblqesr0L1ACMZJPw7n0Gldwo7FOPbSDca6LZZ/E3ZBDH5FnrmqD+PqYYX/AK7apHDasnRbHe2VHUTK43uznmO52veIp7b7PVVUc6EknKHyyqBe/YEFwxHqO3w0/uDssFcqt7TsIcQIJ/b9d+3otdtvNd2t1HttLeQtVTLHH1MMlgIwpDHP+HAC/Qn561VcEHOM7z+v5rnYf2mfSpsa3VsfQC3w2Wwnmevehlh8+pWZkVe7ZAYY7/z0zeHtWk+07yyJuVpd/wCSrzcKueSnq6mGJ5BKPe7hgAP3dvTV1PCNaLhczFcequMtcRMLVTu29u2XudYyZHu+acdI9Bq7wWdFz3cVrnR5hZIbyuzRLEaqoWLJb8Z75Of6DR93ZOiuHFaxtmP+UKbdNbKVY1dR5gyGPUfj/wBHRbh2bBI/ilU3zXWMrr/XVaqr1UzdIA7sfTQbTaDoq6uPqOEFxWMe71RVVklkKDsAG0wYNlUcU/LMp7Hue4ReQUralPLcSIA5wrD46qNJusJm8SqD8R6rLtvy8CGSNLhWq7hRkOc4GlOEZotTeOVgIc4yUzj3teCGp6mvqauDocKskhIBPfq/PsDonC0wJ0KRnGqxGVzpF/qteq+Z967cFWsF2moaSRHQHzeoPn/EFH4T2/XGuZiqLM3NH6rQz2kxVPRyxNH4kt8Mr2y63aW6UkSNGGOD1A594/UBu2sVOiwOPVWu9sMSR4bjIH3P32WSm3lW3Zae4VVSPMZFJHmBmIHYZI9T8P4a71JjANpXKq8TqVYcTH9lsNs3BJA0UjsylAWTLZHUSCMj6YH7tO6nstdDGwRJ9P0+Sztdu2suVsnq5a0e1NUBcM2WCH3j+g7fu+mszcO1rgFuqcWdUYXk7wtVrb1MsaO0x885J6Se6HOQT8j8vrq2nSB2/wArn1Mc4DW/6bratvcpV9qjcSSTed0jodW9FC9IX6fn+ekxGBzaLo8P9o3UxzH7H3qtVr92Sm6xXKCSdpU95W6sHrznORq2lh4BbCwYjis1Q8FNZ987iqZkme51Ucih1Lo5UnqYscn49ydIMHTAgBLV49iS4OzQeo7rpO2Oar1b7FdLVcaiWtYxkU8jH34yc+h+X01mxPDmkgtXb4Z7VvYxzaxnolWblG4wSRVMlTUtEgR3jDEKxCgNn5ZPx1KuEaLAXS4T2jeLk7fpdbXtjlm6XXdtZLXTiloJmwIh38lekYA/I4/edUOwIZTuZK6GE9pqlTEmbNP0TPc/OtRSXFKWmqo4qVHDllOepOoAH54x1A+uNZ6eGbqdSmxftU5rw1mn6WWHh8QEiXdleoZqEtGHUEM4OO4A+v0/8NVtpNIlQ+1MO7LpFw5z2/RTqPOSeCbHs656WORnJz6fEfnjVLWSYGq6dX2ipsvMgrnd150uy1FUaSSBYB/d9OGGCvwP0bW6ngQW3P3K5GJ9rnhxy6fNLtfiDqJKcLXQQvVo2SV7CQfX5aepw+8BJhvbC380XH1WcoOe6Scyirt7hVZj7j+i57fwOqHYJ7QtTPbFjjzA/NNDz/DJVSRrb4ooApZWeTHw+OmPDzqT9E3/AKvYTlA+q2yg5b2/XWwV88slJJjBRvi4HdVP7tVVsIWmy20PaOi5mfNC1qTnjbqYIhqW7EdPxz+fy0wwTyVnd7XYeRc3WtXDn0TJMLZTezyeXkeb397PfuP104wDtSVhq+2Ivk1/Va8OdruGklZkZfdAjwMA47nOPmPTVz+HjZZme2L4n77rLWDnsz1awX6Onp6foJ81FOeofTSVMAADF1bhvbLM7LVsFqMMZMUg6zgJ6/Dq12XXErxrRKwEryoTkEDJGqS6DKAtor0VTKBLkkj09NEWPdPnJF9EWSqZVHTgHS5jCrMxKEalyqqTg/HGnJMwowwLIfU5ck9QbA0GtUeDMrKUxeX3cHOMn6auYQgDeE/WOQA9m6fU6BbIVjWjcKjE4A7Y0ewUDTureXIAMgg5+GnbM2SjSClKkuS2Ce+NJAKEEiSiBZcjA+GnywnuDISuiQ9gp+J9NEtMpr67q/RIf8Lfu0blTMd1cJJ3PRgY0gTB5TeaijqjF50byBG6gOogEjv3Hx7/AD0xaNQkcJEFAqYZfb6GZeoyZZCMeqYy3x+YXv8A66Q07iErmE3BWJvlwqLakERWNgxyreYVkLKchQMHuRkZ9M+vrqis4thQOO61K/7wv9PTRR2+1wxVwkLtJNKMdAOCEjXu7+8vYduxJ+WubiMRVAAEW+vpt8UrXzcj52XLbWntNlu9Zd5dwVVTcYOuOplJVamXLFxGe/8AwIekYAy2Ow1jpx4ZL266LO0kuc4n6QsXXrStSe/NVzFyB1tJ1MSRgYPwPf4HSuazLAGqQSRdMlhoIaVqWkSsjmwFIgchzj0LN+IDPxzpfDaRDR8EGOgzP3+i6LtyxrfUqrhc6eJEpvLEKl+oQhkKlyenAYD3sjH4h6Y10MLREF7/APH3+6vDQ8+n5/fxW07G+6aKOVjM1bJ7RIIOleoShjgSAYHcqoOfiCT89acAQ0Q3WFbADuY7/VW3TTx3Guoq2Ww09FTxO/VcHnMDoWwqujIDIpDEDPYHuCCNGux9Q84EfGfkP3QqEA2Bn5D5/wBlowg3HaEu8MFPDUxwzs5radGl6zkF2kjXuFPUwwA6Ag9l1zzTqNkA2B2F/wDPog5zhdwvv97BYe7z1KV9uvdjqqWsqlygVATTISOyMoPQykFvVgy5b9ctZxzCpTN/v77JXOcAMwv0HRQO5XnaXf256sW5bU8tQJWgUhlRyilsEdiM9wR2OdeC4iT45J1nZc3FuyvkCB9/fqtDWVXAhPmRp09+/df1/U6wvMaFVA2hb7QUg3zu6gt0c89HRyRwmp7gNlUQSCIemS3UR8gSddDDUW160mw1Ue6SGabf4XV67blBabPsWgo7zuKmp57jLPPEJy4hSKMSM4i9AynOGyPQnHx11auHpU3Ma3W512Hxi/otQY4MAB1P3tJj1hbTdXu9LTUkldeKe53auDMtLV0iTOIM9TO8nctjCKQvd5GEY+OttemWuytccx2t8Nr3sNJNzYIl78niG42nXvvAgXJvAsLlbhtTZFZZIVr9w2WhvNNWIkjzRhjUQOF6h1YI6jnIcA+7jpXOMHfhsA6kJdBB7fv+e/0TNE87xrv9f2tt3XVtp05padpbbSUd3tsaGCeoM5pz1ozEKYFICtkkFsDJwDrqUAWXbEd9Sr2U4MCelrBbm8NHcbnWSCKaScUphkcv5k02TlmYMOhUAAUYz3z6+utzcriXEffqrBGYHf727fFaq9utdlStvaWanksdV1RCKD9onQV6FyPicgeox7xznHauo0UxnA1VZpti/lC2uzCC2TPVNTRzwufMjnjPWrvhRlc9ycd8gYHfuda6FQtMi8/r+icMynmGi6VLTiogCNhZPxK2TlG+Yxrc5oPmVmcn4rCXSKaBlq45Xmakj80LI3ukZwR0gY7r1An5aqewahBxdE7BKt9PWWypqYJqmpqaDI9mxH1CJAMBCw7nHzI7jHftoUmFouSR+SAJBgrNRVBnUsiTLH3wXBUk/QHvq1riRMJ56JWTk57D5Y08DRBsKicg/P4fTUeYSHWUL4DJLZI9NSSDZM5t7rVbgcW6tqx3JglwB8UIOSfrn+Gs73Qy6ryzJHdETqEVLOgTGIQ+PgvYKR/X6flq4mCkYw5RHZZoAjIYknv6/D89RwiE9zrqkgZyRnv8NRx6qA6JHST6Z04MGTogJBkK56h+Z0Q4Qqieqsw7dOB9e+laZunIhIIOQRnSuEWTB15STCzD1AH102hQifRNzGVZhj0+uki0lUOtZJYZbPqT8dEmBKZhKwd6eSKkkmhfD9OMAnJHzGPiO/prJiYySE7uX4KPlzrJ37SVSVtMGCkkkFcnsO57/mPidcCo+9zKyOeSJTOjeWmlgWKGR55IlX3CMhiSc4Pb0/noMkPhok2VbXTE63W+22W4Fo56iJqZGdQgcnqfse4GPTPy/frpUARDnalMXE6aff3uuo2+rNQiM1RG8re90g/hHp+uulSeDotJe7RZA9Y/C3odWC9lYHE6bJLF3x1OT2x305aAla6UAqw6hk6BIKl4ukOrepPf1H00CQEeYpBDjtkH9ex0N5QI3QSzp1EnAx8/XRgBVtkGFQnlCYWQ4I740jssyVA4gqo62elczrK0ZAwWzoVMsXVjKjmmy55uOtt8nmzPWypUsOtShJP/AHf+vmNcjFVKYkDVK4ucZJ++y5ib7NFXw1LOA0ZRutsDrAJGO35/r21zRWi/3os76hhZNdyVE1VFNKQkeC6s6jGSe7Nn6/lnV1F+UybD8kxxBddZ5d4VEZiFUyr6qG6uoYHrjHYD/XWgYyDc6qwVXEXFk9odyEUpqk8hHZuoL5uG6c+g7flqxuLIAEiUtOruFsEG4IJOnolJYjv0nOD/AK62Cu0+VDNe6LLdYYjG5k6g56Rj4nVjnicvVHMfMU7ivzTQx0yyHyUbrCn0BI7/AK+mlY4OdJTuxJyho0TYVUZdlyAA2Cv1+Wm8TdVuPMqWQ47Me/y1adJKVpIEJBLY7ep+Pz0ROqbZNz1An0OhE6KuoTEFSkSkmhomSNfMYjLgKSD9Mn46BbOi9JTaW6haTXwyxTANnJY9sevqNVmQLrORuU+tFI1RJKwAZx7qjHocD4f9euo3oNU7AbwntVQeYyRrGI5cElcAdOO+dNMGCo6naALLFNTHrnToGAe59MfPU3sqsuyUacdYLIWc+v1GpJTBkD1W32SytMpldOhf8I+J+urmOVjMPN1sa2OMEHo/XRD9Vc2hbqEo2RM56f3nR3smdRvEKvuVcN+zHp8dQuEwFPBaLBXFlQEHyxgabMEooC1koWNScdGPjnQNS6IobEJvWWr2enllRAGAOMn00HxEoOoxosDC6GSR3AK9IYA/H8v36TxBNkKbTvYLYqe2JPGHCrn44+B1aH20TignQsqgfgU9u3bULwSoaN7oYsECuZRDEJSMdQXvj/oDTBwSHDg3IumlVYZ3IMUNsdCpVlmQ5J/MfDGe2NCehS+ANwCuM8m7VqqG2tVUEyRQpEyOBEvQkJH4VOQwPb1JJPpkDtrkcTw5NMuBNlW6mWw77/yuLWmjrLjsfZtLVUT9Bp1w4kLdK98Nj0De9nHbA9flrl0qRNMDaFjL+QSNVgrjaaqkZUf9tDHhS47+YDg9QGMKO+Poe3y1Z7sWkhZ3TmundltFVXeXDB1r1noZhkszfIH1J741fQoOIyhVsBNwpD7K2xHT22qWuSRlkkDTRdukQIQpLZGce5jA9Rn1wddOmMrdL6rqYehEytts/sAoa2qiSlSUu4iETJ2RZGZQhOM+6w7dvT00aWIA5SbraKMEmNFhNw2sXB6dKSTcVjmkm/bVTUb+VKO5AYDI6QcMCCO4HqM6pq84BAIHUKurTvDTJP3C0Lce37fS0VFVV++Ku2VM7FxOsCoXwM91IxglE+I+IyO+sGIYxoAeXT99lPCdNnCfvvuuTbj2+s9TLUU1wo4LoJQ7exNI4qywDpJNCepiOonLABssQp+XJfTDyYNx0+/z+QVVRhZzCwPyP7eo+ZUKuY+g7ohljohb5moqcyjqyJJUDI7AHuoPQPdYBlxgjtk+R4sSKpJEH7+RXIxZjKP2XH0yS5GC5U9QI9B8v5a5eljcLIDNzqupcd1FwpIt511uq1paiKgjcP1KGXEykBervgkAHAOQT+eutw3yvkxp9/qmpm5LRMD8vvutu3bcKS37ksSVErVphkmLJAQvmnqChR6jBKgZ9CD8vS3EYhoqgi8D7/daahIIDrX/ACif2W77f6iLjuy8xVFZdpULUMEBY+0FB2EBf1hiXsrZwD1vknpOulhmloLyJcb9NdT2HTtYaqM53Eu0HS+mw6xqep1sFJDY8N2vFvo/vi6LIVgeeWKNVMU8UoJZEGQCUOcv1AHv0jvjXosNSJZLnT+X+PqVsw+beP7X+M9dguuHbVBcqGmqY5qOsmSLMdXT5TyAV74KgdR7EfzA+PefSY8Qb/eytZQG2v3r1WLpdkpQzWyK1XW70UaKG8mVvOjIDD3ZFb1PvDPf4DOdVswbM3LYhVmk6JB+ff6rI3LYt9uLGpmudA6lw/RFTtEH7EZbue+GIx9frq2pgc3mcT8v0U8GqdYA7T/dPLNs+ms80i01A8MvRGrftupBgZGB64GTgegOrqdJrRygBM2jGmv3Zbi1NIEGVOCBj66uc4BO5p3SZ6B5oHjPYMpXt8M6jmiCmDCBdaTHV3BAtHVzUsUgUqpGWaRASA3VgAHtg9vr8dZg8xB1VJcQYP3+SzVvqfbSR0FT/LVtM3gqNM2WQkidSMA9s98fDTv7pssJSQM2O2Tn4j102VQtg3QpYDGjuRkKCe+o6YVZaQ4brRa6UrTXCnCRiL2dpFwx/Hgg9sfQ/wAdZXOM3SkgS0WT/LZaJUBRURweo95D6gjH/Kf11ZN4OyE7ffotoalds4X9flq5ojVPknVC9nk7kqc/HRIjRAiNUkwP2yGB+OpkR1uQkGnfP4fy1A0pXMkwFXs7+uCTnUIKbLAlW9nYY7H5Z0IKj2DoreS3ftpiTCA7qxhYAAgHvnVGYapW0iRCbSxMASA2PkBnTkyLI7zstLr5bhRqDTPNFT9R6jMFzj+Y9DrFXLgOgVMGeqj/AH1fPFyeFGJX3XdAcOO59MYGO3x+uvOVwSJjT76rPU1IAv8Aeiw1tq5J6gSI8kUgjVZCrAFh8QM+np66Wi8lxJ/ZVadj9/VdGoaK6ys71YqmmPSyHzQytEfkwzn9NdTD0DqIn1VjiZkrp1kp1g/YGCqp1znpePIb6574/hrsYYHorCLLaBGyqWYD49tWPd0VrBuVjhVhixVOkAdu/r66rbVJunkGUaJi6dRUfu9dWEXgIt0ugzE9RXvjHrqsEg2UDSDP36pnLI2XGWBwcarLiAowXusTXNKWjHWAD2x/ro1CZmbKoHpumkNR+07ZGD6ZzjVYq5gltKfTv5lO0Rcr1np6gPno1HtiDqiTC4/ebWRUOsMlTK6g5JOAPn39AuuJXpRp9/fRUPpkGBqtEMzUFVCZFikiDAyKigHo6hkd/qFPf5fXWRlTK4T8fvsqKjQJBVXK4moV2dBEQf2cncYHf1A9c/XVT6xcJKsyiZWtvUZWNlkKrjIxjC/nqrxbyTZUOBygBZWhmikkPnt5XT+DucjPpj941ookCxsmZrIWxw1FQlLdpmqTDLCBIjKwZJjgYz8Ph2+PfWjNyZgfT6Ji4zJWdqaipqYjQK/tFRGyvI6kqIsjII+vfIH/AEdThmMTYWVpcctvvujx3D2OGDDPPHBKYnf4qT2QN27YBH7xqw1riDO3xSAFoknRZWrb2CuRJ6yKRZEMgY4VUK4zkD5jsPrnVheKb4n7/uUwpuJBO6PSbgjjM8cqqelxllbOcqCO3r8fz9dWUsWAOyI1gLKyX+2COaQzAKgy3UMZ+gz8dWHHgNJTubOiDNd446aGqjiZom9VJ7qPgTj56sqYiItKqAtKlrbuUrRJ5qT2qpMMkhKooB6e+MfqQdYBjl7SnWZBEFYq93i2XFPMjpKmlSIuRIUJbHqAxx6g/v04xYgrNUa1wkCIWT23uCxWM1R9iudQzBRnoOQe+c/oRouxYPlVuFDG+afkncN82Y90r7lNS3h2kZTEmO0a9I9QfXJBP7tQY0RIAS+FSzOmVUl52S1TWVAhuhd2QgFMYwMN+WT/AC07caJmEHUqM5pPyS4Lxx+9zklxcDEsGBG0ZOX6j3x6DsNO3HDpdOKFEvubLZ4d47JpgsEUtcnfABhwNT32dlo/laA/ROf7b7LAGaypDntgxEd9IMZuQpmpdUld67TZv2k0qJ8ynb8/XTjFEDRQmnMk3Tpt5bIUsHuMiDvgmP8Afoe+jQBIPD/qhX/tpsYKri69St6YjJz+miMWBoEWilE5kSDeGyZUMjXYRDJ7MProjGC0hT+UbhybVe7tkzpJTLdisnYf3RIPz9e3bTe+73hK/wAIWDgtRW47RS5BjcoEo1QuQgL5PbBCntnuf0GgMUJsqTTpz5ltkO+NhxslItyqBIRnvD6/X17aAx3b8leH0tnfRKHIPHHnR053DCKhvRSBn+f8NIOJsTkUv6k//thsfqEf3tICQWA9nfuBjP8AMasGNHT8kXeHeXfmsLfdx7YuFC1LQ35qSoMgZW8h8lVGcY+p7fTU97bPMPyVFVjS2GuglahvjeGzq2wpRQ7npYTKpWYLTyeY+OxRVx6nuO/YdyTqivjWubAn5ffxS1Aws8wH36Lk3Hdw2jbrdX2bdE1LbooJGWldFLMYXJkVgQMZUuVz8lXWbD1wxuR1/gsOHFMEgmP73TDddy2neLRd5orqk1zilf2aOnBViAwAZlIAMbKuex6gSO2mNZjxBF+6qxAplpv6R+3RbHxJSWW1xVW5dxXe20s5hEdJRSEhyAPVjjC9Xw+hydaKdRrBM8xQ4fQB/mPsPv77qQkE+xp7PTUNduWxM6qgneNygaUDLEHHzJ/frW7FUwObQdl2G0mlpEj5rkO5a7blqqVq6Gu2/faLq8qQMwLBScBhkHAXsPyJydZKuKaILVjxFFgMmHD4fBVRwWK7WFzFfKbbSKvdTdmjkK4I9yIEhsAnucDvgA9tJW8E+aPkb/lCvplzmSwkfEf3XP8Ac234/OSd95y1U00YnZGq4SyxkkeXIzDJyD6KAScnOufiBTuJv8f7z8SqzhqkXdPymP0+AWj0+06LbyyDdNTbFpZqUPE9vqqcSk+nQoIIDe8ASenGARkEYqaadIZXHNPr9/CFko4PKS88vy+/rZRP8SKUVRcLZXQ1lZUVcUs0IiqHLypAyo69Ryyj3i+Ok98nsANeU42QSMoP3t8Fj4i0RmmY+emsd/z7KKmFHmK5Bz+E/EflrzxO65TQCCQEaCrqIjJHTTSRiZfLkVWwHX5EfHVhLgJ6JC6SY31WRp3aWqgknpZLiqxMzRsOxQe78PUAsOw9fTV1EPJ0lDxBI6D7/wAqWnBtLW3uWVb0ldc62OJPIAdlCU64VveYdPuZChAQE7/H09XwWmSIcL9/v7Gi20OfzHTQdvl9OuqnBatqW63LbEtlBC9InuvT1WVjyACsyspHQ4Kg4VTnAb4En1ocJsAPv812KeCaACBP399Vs9LQNBb1SrrqWjjjVkRfbDKUPUTlwelMMT6jI+gzq1haACSPrb5/stTKOo/Mj7+qz0FkpmNBVy1EMEETEM5mAV2Y4zkHJ7BvXGSew+WzxWEg9EGYYwCQthmqrNCZKeKqhkZQucOAO/1zonFNKu8AAW1Q4KOkqJZT5qqpIAOfXsPQ/mdWiq2JGirNA5oCu9upBUpD7bSxyNnpTzB1EYzkDP0OlOIpki90jsIdAsgtk7AAg5Pr89O2o0XlHwSBdc/vu2fKnRqYlGVsAFAwwSM/pk6qeW2IKzVcOQZRLDYJj5UjIoJBbpI7sufxfro0y0KunQMytjnsUpAwMnOAP0zq7MD6rQKLokpC2ryFHmKVP+In4fnpXVAAkGHMrSdyXK3wUtZRwVlE9dhlMTPgr2x9PnrFWxrNAUtSmbxdccqLoj0VVNJG1TK8QiZgThSAMZ+A9Dj8/prIK26x1A0tghZGh3lZInlerpamlV4TT9IBcdI/CfX1yCT+erG42DIbH3omZl36brudtpzcKaCtiR/Z5UV0yO5BHy/hrqtJPMQtTAHbWWQa1EZPluvz7acOj1UdShNpbY6qXWNm+IGPXUcbaKeFNwhU1CZ06zH0kjOPiula6PVRtKRbdENrZCxKMqjuTjTZxElN4V7Jt7EhXzV6WTvkj00ucapBTjRDFArIGRcg9h29dAPE3TeHIkBYO6RCCLzo1DgNhgPX5Z1Q6pOiqq0iGk9E3uHnwULyRqnUPUjB6M/DUc87JXMgTC57uupd7bJb6lFhqB73WFwenGR9BrLi6kiHHRUuECIhcKvtXAtBMTIwiZQi9K/DuMnH5/rj4a4eLcYmFie4BYvY6UU5rY6mNC46QS/p0f8ACPgT8f00+BcMv39/NZBTBd92XbbZte2pFBNQ1T01RGWPQG6Uf5ggHsMYPbXZbRaIdELd4MCxW+WuipKfrla40jsTjCydsfLuSdbKeUWVzaZPwWUrFojAeiqpST2IEgzpqjwQrgzc/otKlenjMiGeLPcD5EEjv9PU6z5/msrzYxqs1SVFB5KgVUGST2BJyP3avD2q1lhr9UOR6RpURZusZ7kI3b+Gg1/NKgAN5WKrZYlmRULuXGMhW/01W4iYKre4DVNaxIOumJZgC46j5ben07flpKj9gnBEgLX4nAd5GD9JOfwnWcGLKi030Rq2qEdMDTF3lJAPu+h/X5aeo8uEBMYAkBajUQRvN5M7yVDhzIzEenxPyGe38dYS5oMnZV5XEQue1lLHV1JjRGkjOcg+729cdXrn8tc8sBEFVVGkrn1aBRPJA5cKMhVc9RUEdiMfmRrA8ahUOACeQ27ogR6kNHG69QY46WwM+vz+mtNRmXVI1hcL7pFNRSLHDM0bKje8pPx+A/TRbSIGUjuka0EDus9b6kxzC11kkCU8sweRmXGQADjI9PQA/l9dWsePK42ElWAGfW33+SyVjqfJepnjpZzA7mRTkABfQDJ9ewz8u+tNAmJIj+6uY0TIvP6Id6qaiOSqnoY1hDr0VAB/vxj4qPiPXOs9UmTsEa8i7QrrWRpbq1UEVZWSSIkc5kLNIpUEKM+hGTn9c6dz+TIwXJP36AKum4Xe4yQB/gfFYKKaWllMDhFAUgqT+FwME/n3H79Z85E/RKI++ycNdpKxko2CEIwYFEJZiB6H9f5ac1C4+ieZELJSXqeShSJXgiVlPf3ursc+vz05xDoElNnABDVucdbLAA0N2oIu/YCZu3/XfWQlh1P0K6rXubvb1To7guhEim/wMp7kee2CfXQmn1+n6K9uKq7n1ujw7jusYcpf6aHPw9oZc/w0XOpxr9EfeqomHfVWS+XBQCL/AEwbs3+8sD9D6aBLCNfoUjK1QA81/VOF3BdC7dO4YPTJIqz30/JP9irBVqkWd9R+6NFuG7hy8e4acOwCk+1kdvhpszIk/kU4xFWbHbqE5+/ryW8w7ggZwPhXn93rpQ+nP9ioK1YjzfUK73q7GML9/wALL1Yw1ZnH5ZOiHMiAl8WrHm+v91f73u7sQb/AQRjq9sz2/f8AloFzNZ+hQNWqfxR8f7oXtt0EhdL5GZOwJatHYfq2oHU4/wAoF1edfr/dOxeL1lT/AGgpSQuB/tgGPp+L6DUNWmDE/fyUFWuSId9/NWFZeQCJL9Svn/8Anl9P/i1Y19MwZ/NPNYGC76j904WurpQ3m3iFu5z/AOkVBz+/Vni0htr6o5qs+b6hAaS5ZZhd6EnHfNcpJX8gdQvp6gx80GseNT9UyqUuEx9+vtwLKPw1YywPzOdL4rSdZ+BSeG+J39VjnsFSrZNTah9PaUwf46drmTBd+f7KirhXnQfULO0ElZRYjeS11qgYHm12OkfIEMNTxGCwIj0VradQWIn4/wB1sEdwjdBJU0tliQdQBFeSQfmPf0hqDXMPktIY52rPr/dNkhoq+dZ6yagmpg2RFFcPLWbB7EhmJxnPx7/LVTnUyZLvp+iHhA3P5/un4NhlnDLb6CRY1KEi4qASSMYy3cDpPftq04qXSCPkrDh6cxlt6/eiyAi230tmht4Y/A3GP1/fqe97SPqj7rTJktPzCSg26Zik1BbkHwIuaen17/TROJncfI/sgaFM+ZpHxH7p9G20TlW9iQepBrgw/wDm0TiImD9P7K9uGpGx/wD7f3V3Ox3ZDI1Ew9QRKWGc+vY6Y4k6qe70C6+nqh1L7FCkkU1RKo6wqu3Vn889j+Z1W+uYkBWOw9DQmVrFTUbcedZ4qWnqJSuAH6gI++Ookn3vln4n6DWYVHF1lnfTojS/zWn3iLbMk0UoaWukUjy5FmB9nlPxXrOD2GD275/dU4g3ET9+qqc1h1n4XXEOUpFuu3qu1Udvt0LRE1RanjypEXmE9y5KN0soOOofDtnXK4k1zmkTIWKsGZMgEH4/S6iHJIxVOsIqA9OMd/z15wNXGgRH39+qIgBikdmjJXsO/r30oB0+/v8AylFEGZ2We2tfIbBdDXVFpobxB5MkJhqPRSw7Op79LKRkH8/z1oo1XNktRo1Ghwc8SPkp0cSjb1x29DcZa00VCpJo0mjUED1fqxnOX6vjgjGvWYBssDr+n5ffdd/BeE5sz9nVSGhu+2HgAEtqVGUdWO2f1+Hprp+8O0JXRY2jAiEj7w22hUNXULqcDp7Y/Ptoe8OmQSnNOlaYKyH35YQqqau3dA7qC/b92rPenExN0zWU8o0hMXve1pJc+fQtIyeqlvTPocarbiXpPDo6GJSIb/tVY38qqpkjjOcdTjB+Y/8ADTtxLxr+SIZSvf8ANFa97YkZap6mkDg9QZncEH5/z0rsWQ2ED4Rgk/VP4N0WieJXgukJQEqM1BUjHb0JB1DiXG6Zj6ZFj9UtrzbZHjleuhkbuATUk9j/AN7U97dEzdDwWG5P1/ulG5UJIYVqhunoBWrPp8h72g3GGdbKCk2JH5/3RVukSqojrZSAe3+1H19PnphjCN1BSAuT9UCoroqgAS19YASThatgO/66Hvc3N0SALAn5rX5LDtud2d43kkPxapJ1DiRGyxnBMJJJ+qsLBtxB0Is6r64FQe/6acY0AjROeHU41KT/AGb23gkwzE/WfOk98tsg7hlPWT81sdFVmhhiipblcI4EXCp55wB8hpvfiTCvbh8rcrSYRnudS8gc3W5dQx+GdgMY1BjDEqClJ1MlJe51DxNCbncGB7ZEhyPyOndjj1TimRYEpkJ2QuIq+4xhvXEnc4+GdRuNAsVUaDW7lGe5zGMxGvrCvzMhzojHk6QgaX/Ipl7RIUKrX1PT64J7A4+mp/EHE3CTwehKv7Sy9Q9ulVT6goGx+/RPEjoEPdrarGVTRnM71x6vn0j+WlbxIjVVOwYI1SkcOZmNapYucExL/DTt4q7QFRuBBOt1iblT+bHJNLVo5ABI8kfD0zjSP4kd1U7BdSuN7rp3eqiijlEtHNGxVgAAzAdRxj64/edYqmIzGTosNfDAHKNPspjtF5GppqaKoSB+s9Q6QfXHcn5diO3p+ur24nIICy4WmHT69F2ihlm9lREukYjyMq57dXz9e3r/AE1YeJtK6owsNsVlhV1ixp03AN0/hCSkd/39tWfxMba+qu91Kv7bXFmjaudU9e0xwTnv8f46J4iDdwQ92qA6plOjSv3rUfHqWc9xqe/jYJThCd0IRSovRFVRxjBH96cD8vlqw8RB2Q9yeBAP10+qGwqFRitREx+fnElvppRjmgQGqPwzv6kMx1HukFDntgynIH7tMMa2Lj6JXYSobbJm8U3SzMqOo74V/wAR/dpvfGnQXS+7VAYOiQfMDKPZl7j59h+fbUOMB2S+6OECEOSXoEoaJGA91gMH+n5emmdjxEAIOw7gZOoWFujx+R0ogT/i6Rkn8saz1sWCdCg6k5q0GrruppGngcOTkEeoOfTJ9NZBibWEkrI4RcrSrwlPVR07Rl/aVdo36u2Qe4z/AB1SxzMwOizVKQIWw3NOq1TFY0RGCIo7fT4Z7emratSRGifwIZI0WHq7pJDFBT08iiPoHUCo7H46Dq5J7Ks08oAWNnuElW0MczKjAgda/I9jn9CdK0ZvMdlXmBIXVrWtGtvgIVhmNS34e/7z+Q/TXS99aLLZSoENCKRCKoBIpSGiIYBc5GRj0OPidI/EsJPdO6kcwlantigpRLdkkaSSRJTDFhe6L8x9Tgfu0mHrMbTl2pWWjQBeR0VXii82tiUP0TmWA+aF6cAlhgr8T8fl/LS1arSdfuFKmHdtrb8/16LH26mpaaKD2uZY1kiMmcdzlz8cfIDTtfTA5tbff3qgKRH1/NImt1EK+np4axFo3Rn6s5MeMZGfrkfx0gNMuM6D7hJVoukAan7KxRupKksRn0AxrhNrkmVvLuqTHdV6sNj1Pb66YVDsmDhMlKW6HsQCwJ+B9ToOqO2SgCISxdQRj38fDA9Pz0PGOqBIGgRFuYHcFmPy07a51TEAx0RBdsqAY8H1+Wn8burC8dEsXIAk5Zjn0z20njlKDJtqjC54Vh5nxwAdBtS99U7SIVLdVLZ62UDPoe2nNbYpRrCL96BskN8/jjGh47tFHgCQrLcyWOGYHv8AH4fu0zqpSMjbVL+8+4PmfQaY1yPRORzKluhZinX3xnuP09dAVpOsJwbSri6lPdLqSPkNMa3QotN7q4ugGR5gA/I6Bryqh0KuLsrBT5gUn4kaBrEaJ3EEIn3ngL7ydJ750W1r6oF8RKX95MPQjOP+s6hxEmSpHNCItycjCuhPx7+nf66nj9EwCFDcpctI7Rgk9/pj56jaoF5SmfNCP96liSDH0fAjRFcgySrGKvvVveHcDPbv/I6tbW6pASJ7IgucmAACT6g57fv0DXlFzoMq63ORQAG6CfmdQ173UdmFgrNcH6ivUwAGPX1Oga0ptJHRAF2IIVTIX75wMtkaXxSFA+RZYm4XFe0gRDPnIU46i3r3+A/mc6qfiCfKUTGqxLFHC0hRyX60llZsk9R94En/ADE49NZtRGiRrTF7/cqK9xt0tDJVW+Yq1RTu8bEHIJUkfx15iqyCQViqUy0EbrCIzBJABgAd8nVRcAJKw0zYyntIplKhnWMMQCxGfX44+Or2NBIBFlax2kKZG0bzB9y0UFIfKpoEEKp04/CAOojv6+vc9s69fh8QHCNIXRoQGQ1bZ97KVJ6wAe4yNaRWOyuFQXS1uZIB6we+iK/RMwghKFy+HXH8wDompGqIcALqvvNCvZlx+fpovqKB0CdArC4gAqHXqHoc6DqpmyJuCBqqa4A9XvKV+p0xqj4oPM2hL9vBHwC5z2OMnVZq9EriJ0sqeu6my2B29T2xqxtW2UoF20IYrQMZCAfnpBXugIBslCt6mYjqBHyJGnc9twUWiST0ShcJUUKkjxpjAAY9tKXgm6jifRE+85B1KJpuwx6n+eiHjWEomUP2+THSZpcfLr7emoXCYKBdAuqS4SgqUlctjAOfT8tCWzdWeIbE3KprhO5JaplDZJyCf6aAINygXu+ISlulTEcLWVHf/nP+unzCJAQDyDqrtdas4X2uoA9cBsaSGnVWl5kd1YXOsHQBX1R/Jz/PTBrbiFW+q/cpQvFYo9yqk+Weo+v10sCUG1NwUQ7guTABKt0GO3/WdMQJmLKzx3RASfv64uAwqpAw+THJ+v10crSj4joMoE14rqmNo3qmAb45xqotaDBVZrOIsgLc66FWRKycLnOGlJwdTKxAF40KWbtWkEGsqe3c+/6nSmm3oi574sSmDSRzL0zNVOAxYKJMAN9O3b104aBdVuYCZJshRLSQt1rTOjeh/aHuNMXKvwWh03WQiq6VfWkZsdu8rY0CRrAVoyzcW9U5S9SR46YX6QMAec2P5/TQaLK3xpsnibpnUJmkiIHfvK3+uo2ofwwrBiNzt3TyPe9RHgm2Up/75ydMXPPLKIxwnyo39vajCYtsDfP3zpS5++6uOPt5fqlf29JDB7Wqr2wQ/rpvEfOt1PfxplSv7fxKc/dcvoQT1/DSGq+TpKs9+aNkob+hC5FBKO//ABaYvcdErce0GYQf7eRE/wC4OSfkx9P3aGdwGqqGObuEKPfcPSA1E4cfEOTnVbqryLRZRuMbNwgS75p5kZJKGZlPb3j66DXvgWCr9/aRAC16su9BUFituBUn0Mpwf66gc+ZtZU1HsI0+q1apjhqaqOoiSmpI1wfL98gkfPt+WmzScxMn0WF9NpIIsPitka8CSNIpBQrEo90BWOP3j+Gmc4m0rWasi4ED76Ko7lbR0CemtcuFwS0Hcn88as8Rw0NiqgGEgPATwVm3CQZKG0Kfn5f/AIagrO2VoZS2ATmC7WYe4RbadA3ulWPp88Y9fpqOxLtSforQWDQJ01zsknutUUDD5Z9f01WcRInf0THIbEW9VZqu19RKTW/p/wA+D/LTmsIglTKJkKhPaZFys9IT9HGmGISBrTohlrPIuBNRsfT8YzqOrkiUxoNPqm5obSclVpwD3H7Qajq3VUuwzIC4K1Y6pgkZPfJbBx9fl664MyTdYQ4zCuayGMN1OAwPxHYf+Gg2oMsFWUyDYokVUWieTz/3Edh9NTxRo5WC4JBRFqi3ZHZx6sAx/npfFAElLPLBRDXFGDuXMZyD64/MacPRYTN1b2spgmQL2B6cnH7z20wqSICa4vKKayQdIBdXb/myB/1/DSmpN1DVdaVda5znrl6D1EZB9fy1A4ItfaTa/wCiLFNIclZZnOPzHp8dQVAiGm8JYrC6NlvLbGfUHPcaHifRR1UESrmpdcEsc9+3SNTOEhqGQdv1VGpk8vIl6TnHYafN3Vuebj6Ia1cgMh6ijY7Er2P6/HSmp11TTcwngqpCiu58sn0HpnTZxoEQ2RJSRXBc5mBI7AAHTCFUDHmVNVsD+LJwMlWz+mhIFig87dFSVnV36kjb1PU2CR+WgHgRGqg6I61pynvg57DDd21BVumJhI9uI8wtIowcYI9NAOkQESTBhL9tLEYwwxn4d+389OXjdExp0VxVjDHA7jsCACP11PFt3SsymeiW9aqoC7RhM9znB0wrWEJhEJQqgCGwue2P+s6tfVtCaBPZXNR1HBdBnv3PppDURLZcIKG1cgR8OcfHv2H1P/hoiqRcCyhI6rG1FXLKUZZFIGB1qx6sfp+f66zVXSZ1ARbAICxMtY1OXZKhql1TI6VPu9/nk4yMjVBqRpsoCFlZqhnjgmDxKWQqMP8AQMD2/L11c+qCA5Fplt9Fx/eiIboKyL0qYUZ8f8QGCf4DXI4gBmBFrLHiHRcaFaEPx1EYCg9Of11jMBsrA03IGhWSsMqU9yt8shAjWeN/XGAGB9f01dhn5X8yjNYOikfRxJSy1FRAvls0pZwFA6gQMjA9SMnv+evQNLRzBdRrYWZ+8cdMjShYyezE4GrnVYGZxVjRJsrtcJA7qZmGO5B7dvnnUNVp1KIJ+CIax1CnzOsD6en0OrW1BdBw3nVKNxlySpGcfI40HVepSuMRCULg/RklXIPy7frpRV2CsdBHdJe4OQw6kJxjKnRzmRKVzwLHVWFeVYs7jpB7ZGc/lpBUaNEhOpN/v6q4r8krkfU+vf8A6Oia24UhX+8CuCsnVn5j+WnbiANSl3kK63LHbsGzk5bJ/LQFXronmPVLFylAGcsPT176BqoAFJNxJALAkY9M/HTGrsdVW514VxcD2/8AVqMZHfJ0W1RqpmBSjclOeoS5xgY/h31A8wU7iJhWFwQRkidyB64OdQ1BIaELE66K63MkfjbP0x3+ugKp0TskWSVuPvZVyzE/E/xOmFYyoDJ1S3uTlgEdh2740zqu6DySYGySbm6k5YkgEjt39NTPAlK597KvvHIHVL29D29dJ4k6pi6SkG5sMjJKd++n8UlVgqjdGGSJQRn5fPQdXtZMDElqD96Ov4u4yPjgjOo6pN0rDuifeZPvEhj8e49dBtXqjNsxSvvFj6MB82zqwVjPZDNJACt95SFeoDIHbOqnVT11RJvIVLcuoyYkAI+Xw0XVdEAdVRunfCMjH0zkaGe+qhqTok/ekmMsiFfzHbTsqX1Uz2iEQ3M9Ks3ujt3z/DQ8WZG6afokPdVUJ1FkGR+umdWvATNeI11VNcwAch37dsf/AH0grwiTNyg/eo6SxDj6AZxp2OBSZxKt96DHUeon8jnRc+8aqAndX+8wqlnjkXHr1aTOYVYd1VC5IAcrIRjv640XVWmxCgeNEM3aHuvUQ3r6E6UVb3TmoFb7ziJHvH5n3cabxIuVUQ0a6+ir7xh6Sxcfr20DUAEotcFYXKJgckkn5EaY15TlwSPvCAdmkUD6nAH0/PSmsZhVsFo6pLV8OceaCc4HfTeKD8FHEAhUa2FgAHBHpnOgaqaQYAQzWRAD9ooz8c6PiglKdOVWasQNkugOe3fOoKk3KUXKpamNgWEg/XtjTF4iEwLTdYLc97qLXYLrX0TolbFGDH1qCOrqHqPj2ydc3imNNOjmabyraLZcQQuf7a5Zpa2For9CKGVf/XR945PzXOQfyyNYsPx5pE1FW9toA+/8rXl3VdXbrBtT4yMdBB/P17a5bMWZku+iJJLrAFOId01ypgx2xhnOQzYP8dWtxZAIJv6ItEbfVEbdNWyswpLcyA/+0cZH7v66jsYS4wQUzSPKltvFVDdVLREZOeiqwSfzI0BjiZJ/VRzWhpAQv7Y1je+aC3NGB6CYnHz+Gi3iBOpH1+apc4R2RhvRSgc0YV8DqxOvb6dxkaZvELR1TtLTcBO494hUzUUlQkg7gpKrdQ+WO2PTRGOvpJRzp2N5wM/lNRVKIcAEuuVOOwxnTN4jBhWN7K77wp40kVKKqncdlHWg6hj/ADZHx+egccNtUpcItqEun3lQtGBNT10MmMt7gIU/IEHJ+WmbxC3Mqi5p8qdDd9rkfoQVajHoYSf3d9BuPbrCYubmEfqqj3fbnBlZK2Efh6TEWx+oP66I4gybi/wVromxhUd02snImqCuMAeQ37z207sbT+CLnwInTsntNuC2zx9cNUAowG6wV/mNOMcwDmMJqQzCQnMd4pC7t7dCwY4BV/UfAjOg3Fs+CbKSZKcG60nRkVtOp7gEsCfXVjcS2IzJC0i6ELxBC/XLVUYQL2HUCD/0dT3ll76JSxwMlXW/WuUyH2ulQ4Vg3UO4/IfDUGKbBcTZQDeEWnulLUM70k1NMmMAK+er9+oyu29wma7XcJx7TlehVDMO+VHYH6D9dWGpaQg+NAENayQ9JeIKD7w8xh1D8sd9AVCfKUc3UIy1jlmaOKUAAnv6N+enbUMyULRIGicotVJ5kfsNVLMo80oqlisYGSx7dlA75+vrp21IsVY1peYaJ/xf5C6EayMxECGqVO+QWx2+mRk6jy2ZSu5ohDWtpFcQ9cka/Nz2UfzOiXgiSo54HKCryVAYOGRekfhGB74+fr6/l6aqNaAYRMlYaqgWYJFUIkR6WyQxwG7YBx8vr9dISCYVkg6fJN6gyU1MfZ8NSrnqjBJ8rI/wk/4c9/ppXgNEN0VAlvoFq13jeutUdQEzPT4Oc/AnuPyGRrFUGZt1KrS5lrlaK6+XVMzqRkY+h1ne20BcwHnObdIXrSTp/Fg/Xt6aVpAv9+qRjXTddr2rdWrKAROJBVwnpft/eL8CPie3r9QddfD4gFsArpYd2ZsbhZzzVdZVeRH6sg5X3f5/I6vdUJsFpETI+wrPIBE0cpUJkqucnsBj/wAdDOIjdWNFjKcJKUjLq7pLgAEnPYaYOAEDdRxJuNk2F0aSrFOoV4wCGYMPcbHxHy/rqqjiTMDRCoGwJsU7FT0uUDyspXGcjA/PtrUauxSOmbnVCmrZYovM6/eGB7o9Bkd+/wAdU1K0OEFBjRkvqh1FzmCylkESAYV1YnqPr39Menp30j6hBmUbG6x1Pc5zJlWVo1OO7flnStrGLpbAQsytx6oy4UNIBggDPfJyNXU69uqDInRY6i3DBW1FRTL5mVXOCnSox6/6apo4oueRBuq87cuUlZb2o5GHywx6N2Gfz1pNSdETpHREkqFeMTOGV/wgHJHr/wBemh4gJ1UIDgZQmrFifywZVGACcn/r6abPugIiyulbh+lnb9c9j8tQEosdDrqz1PuoTLKg7nPr1DQzdUXkFDauiQ9PWDlcjJxkfT5/DQzjVKICuK9HAAdzJ8fd7H/r+mj4gn0TZhoAqNWvd/OP4u4PYD/w0wqCJQIBAjVUaiXrDK46O5yT2/8ADQ8aUA+STskrWMwXssjeg79+39dKahKIdEJIqpAMMwDdRGA3fRc8dUSIBlW9rcrjqAA7EdXY6HiiLJHCBfVWFWB0iSJ0dsjJGcj6dxp/FKjIGiS9ZMvZgqj1HqTj4fHSipO6UzEEXQ3rJH6fcLZx8xgfDvqeLdQmYslm4SYUdchQnKhRgaPikiDqmkxlCs9czKY/eI9B3OP36jnpXuJtskmumHTlSQe/ZfT+GdA1QDCVzuX+yu1e6Bi0pDE9lxoZ5TkkJJq6kd1kLIfkfT92mbUsg0uMz9/ZVva5ApKvNF8feHc/L6anjAamyYm1pSGrpSCwkkJz6ken7tMKsIg81yrpcXYMQXYk57jtn/Ttpc++6Vzp0ukJdHyGDF+5B+GPy0xePKAgXbuSfvIkL1jLkdvePvD56U1TMBAuGh/yqNycquSAxB90/P8Ar+eoaqBd2SGucrL2KqSckYxn56IrXSh03CQLhOyqRCjAd+oHAA/fotrSNVBpEJIuJI7LEQcnscn66Q1CTqoKgIkpP3iPdVgox2+ffTBwBKBIKubgAisYgPd9Wzkn/r+eg6tF0GOOWTr3SRXAsV8kBzqGvN/vZLImN0Nq4dHT5Z7nvgDA/TRNUbpnwBACAa1QQEQemSB3yfhn/wANMHlCQLBXSviV8Dr6sn4+v6aXxtiq26wPv9lY1/4pF8wH0z9f+u2la+2VWEgGZuubb+vcrpHYzEWjdVmeQN3HqPTXn+L4pzj4ewWqnAB7rjjRKxRo+ox5AwBnHw1zWkarJV8vKt/HsvvmRJIvX8z29ca05m7KxzHSbIgFNkiOT9pk5HYkjTU8uidrRMtRVWMsqGX0OPyz9NQ5SblFweG2CGaanJHSy+g7sRgd/lpXEQq3slpGpQwlOEXEkQGcD3sBj9PpoBzRqrKbTlkKno0byyKpFk/4RjB7fvzq7l2TeCQMyN7M+UYTOFXt2Ix+8jJ1XEIGiTdFVGUxiJ2j9cLjvoANm6gBGiMAUBVg34SeoHLHHw/PQc5okJzE2GiSqsYmAiLh1wrgElT8wMj+OqyQR0lVmR3Q2hyFcrU4HY9h3x8PX89PN7aqttMm+yCUU9LGjq2I7YOP550zpkFHLJvKA1YlOzdUbKVJGC6jP6Z0znXywo0luoQXucbZZup2Px8z07fLUc6bDRMKgF0WK6xgAeZJGSMtkjA9P36rGsqoVL3MSsnHVQzlZIah0XOAzOPd/jp3OGpstHoVRkdVk6KtHc9wAwHV+/VYItKrfJuCnCOFVuqoXHSOx6Tkfv05qA2CdjSArRyxYy9XF1/LABA0+YabpqeYyJ1Tvrkb0quoD0Ck5zoGHG11YQ6URKipSUMlbIkYC56pCM9vh31Gug+bqpTa4eieffNwQlluPfGCTMcDv2yDqzxMvlKtBcdYWQp943y3iu9hvkkTVED08wBB82NvxKc57H44x2Gm8TMNVfRxb6WZzTqIO9j6pjFuC4pLk1cEkZYYBwTj+WrDiN5WN74dpZOhf6vzYyKiIr691X3T9OwH5aIxDpGUq0gTYIMt/rFaZWemkRj268DpUfwz8fjo+8OJMFVuj7+/1QRuCrIUGelRk/EMj3hj49u+iKz7EHRBrgLQPmm4vlxMnUtXBI3SVCnsO49SR3+Oq2vdm7JMx1CHBcHhWriZIjE6FOkS9OAf0+mj4ux/VFsxG3qFjjCzLGsnlLIPQ9eQf4aqIWQYZWamPUx6whJx69l0sCEDhTmlPaSaoo5oqiKZSUXpIY5Vx8tWisWmQnZRc0gytoG5ocBxAoUYLAH/AK7atdjhedVsY1pv+6bNuynSSU+VUAnJBDeox6ev6anvfZK1zc0gpf8Aa+jXCrBWdPcEiQFh+mT+edOcX2TCqAZansG67QsQQPVKwPpglRj9e/z1Z72yIARkE66q6butsjtIaqZPeHu9Jwx+fYY+uiMa3RwSZwTrH36K1XuW3ytTiOryoYBwQQOnOT/IarfimuMgK1z7a6pUu5KWWBlFbSGToZgpViQfgASMaY4hsdFRUfa8IFNfKN6dcVUKOHz0tnuPqRqCuI5kGEZZBhZCC8Uy9nqIgvfARj/M/HU94YeXr2TgGdUWO608SoQV6+4Xpf8AF3+OrGYpsXStpG53+Cc/f9Fl2aqMbeignGP4emo7EsjKQnpUybn9EgXqjwS9wEKYwCW9R+746AxLALqvKZtaEX75gcCOO5qy5z7wA7f9fu07MQ3VNkfFt+32Uo3WAqPMqYHb8OM+v5k+vpp/HEwCjkM8wV1ucMKmRpYHkb0OV90Z+h9dQV2gwTZLlcDni/33RDdKfDAVUI+IzIBkY7ntqv3lkASrGsMSAkC50zrGPaqSM4OSSM/QatbiGySSl8O4yhDa7UpOHqo2wewUg/x0PeGbKOYYgpbXWkYgiVAe+QJAM/louxDYAJULTFldbkEYqgMrHuffB6fpk9vTOlNYTEhQOM6fqhe3HzAjlgSMkH5ad1W6Qg7orTSSIkohRkBA6gcFh+vxz8dQPGpKD9FTTsGPYKD3wp9B+elbUi5TBpAuEI1SMxIfpTGCSDn1+Pz07KohK61gqkaHu4lVWABLAYx+p9NK6o3qgWjrdZOGjr3szXclnoEqFpWYnJMhHUB+WCP3jSuxLM4YTc3A7dVuZgMQcO/FBvI0gE9C7T42/dYv2qSJmAzGpzhz8fn9P003iCAufUMEti90qSd/eBkBUnq9CT9M5zotc0BOCYkf3SpalyAI5I3PqThv/sNHNIsoTohNWKP2Jk6SV/F8WI+v5ajKhCBJBVzVgSDDJ5QH4SckfXRzblO8yLaKy1hcsyj3B2HVkFj+XbRDzvoplGaUJqzMnQoz09yDkYb45x8dAujRBxvEIa1MowMKoH0IwfX8/TVhdBgpWkmwCR7WikgmNpH74x2J/wCvloOdKSzbEXVnq4wGMvXE+cdPTj+Q1WbFVuaJkqzVIbrIDMgXPUwHy+ug5ycNBdCEapB1BVVWI74A6Qf+u+pmMomAIhUKnr90EEEHBA7Afp/XQzSZCRpBOXVIExYDsVU5PSAOnOOxOmNfcouY0kQrGfyiPNB6SfQ/AY9P3aQuOiQkC5H7obTKcFfd+YCnufh9PnpnPsgQBtZX9pIJYqqNjPu9v4HTNqHcq6ICG9RCOmQMQD3IIIznvqp1YbKuqGxITVrhB1hJGCsR8SOpv66XxWg5UuaSCBZAqrvbqQSNNVqpiIU4PUy/IY76pq42m0K4UQVzTclyhuFUtbGRJAy+WgwepwPU4/U+uuLiaoe8kfduq0RDfitXZw6AxsoYjJ/LI7Y+Z1S8GbaLK/SAsrJWU8jtA1T5kmM5bsB8f+vy1U2q6ZKte0Ax1RoZE95w8LEYAZR6n45Px+PbV7KqenTE2CqSrpkZhHNOJiMlVzjP+vf46rqVDuE2thZDhqYGYs0juWJ7sfT4fDQzuAiLLPktBRumFleJXZO+GAAIx8O37tWNxEAwrBSJBARVqY6dsvKZukdvcBI/M6IrmNFd4ZB7o4rQ0sTdQp5SQ3R09/17nRbVsbWCmUT0KybVMrASExTRehK4H659RpfGvCsczfohe0pIQ3s0brk5yQAPqdQ17iEhEnRJBXrAX2QgHPbHv9vmD8DpWvVdSmiS1kKuFiSEVB7lkfqGP1+GkbXM6p5/pF02jucHV5C+Q5UnK9IIP5/PVxxLgQTogNwfkjrXRRqzmmpIx1YH7IZ/TTjFuAVkAbaqoL5QsoMppoGZu48kP7vzyPQ6IrkmHJGlh2Hx+/qjx3u2M03VCAg9G6Bhh+WmpYtxbcpSKesIi1luqo3khoqc9xgOoJzoHEECWxdMWMNwElZaIMont8B9M4T0/XVXvDg66RtKnEZUGaS2hJGe3RqAO2Pho+9uBgCyIpU7mLIkNRaGTqa3osjA9I7Yz+unbidoTCjTva6MWty9LezqpJwe4GO3p20oxQiCETRbHIFYPbAzKY6ZjjJJPbTU8RIvuixgm2vqgtUW330SGjZx+FR8fy0WVjMqFjQCk+1WgBCsMLDOCVAHScfP5503jE+qVwaJDQqkrrfI7qtCvun8Rx736eup7xJ0TOczNDQiedbIwsjUxUjB+Jx8sDUdWtEWUhsSdFTXaCInoKupJIw7evzPbS+IbyPooXRfZWNzYkKz0jIThffYfDsM+mo2tHKPyQD7QY+aP5tWEZacIIyvf9qWAIHzzoir0Nk5D26K0cld0ESdBc4wFlOBo55sNkrXOvI+qdeZUeWvmxOpJySZQSR9PloCpluU/hOIiEjzEHSJIQEGe4mGCNQ19ZGqV1MyLXSh5LMP2LBMAAeaMnv21GVdJUcAdBZDNLBMCFo5sj4dXZfqProuefmkY0QYCIsETYxTVBJ7DvjPbRqVTEqBpO0q5hjWP3aKfOcdXb1+Pw03iHdHwBsEiKA4OKZinpl/X0+miax9PqgKciw+iuY/fOaYhMZzk6QVHaI+GJsEPpnDu7QSCMLnJUALol5+aDg6Yj6JyuVPvRu6DvkBSD3/APvpfFhF7SdQkxTo3ZVAJ7gEj1/TTOxCDDFgLJ1HI7J1MMOCQFII/X0xpPEvqiwEROip552DMyJ2z2KjH8vlp21nDUokuva3wS0q5epVjSFO47MAP17j19dF1czqgDJkN/JIatqXIjkRHZexAw3SM/DtphUcBrdB7jm0+/REFbInmMKdS3p2ZcE/D10BXJIEpswuYVfebszItPgKe4yO5x/130HVyoHQ6C1HarMaU5R4Jw6EsqnLRd8AHt+vbOrDVIIv9/FQOIERZCeplKgiKoUFs5BXI/eNVvrxyouNoAgICzurszGtYEd+txgH6DAxoGrN0suLocEtq5elCpU5+PUNP4siAo5xgEIPtUOemWKMygYHvD+Glz8sIyAZISS4AGDSqq/iXv3/AI6jqhlRxIIAKGKsEqsdTTwAjIHXkkfDB/poF5AkpHTYj81ZKpm8zNX1kD16hhfz0prEaoNLiSJunKzIwZHkduoZ7HsfT66njAG2itY4kXlNpKqdGCwGB0IwC8n9NTxJB/ZVl2yH7fMB1NJTwqceshIP8NAOGhS5nDm0SZa+coyCqTp9WPmHAI9O2f46UOAEnX7+4ROJqRkBt6/om5mqWfIuQ8vsSMEDTlwgEyqgXk3KOkyh8x1dSrMfeIncZ03ikAACyJIm5VJUiMkR11RF8cGY+o/M6niggQmMzIKcSV0wZiLlNkjuxl7nH09Pj66BrGPVCqXH0SHrKjpVIrhNLF2PvSd8j07j+WmFQ5YOisdnDZVCvuMIZEmbHqcuTg/l30adUjRKWkkgoslyup6WjqlVz+HJLEfl27HVrsU4GxlNDjzR6Ski53pgh9qp8Z9Xzn9SRpjXcIvHwU8N3RIF6vBkLBqeT4EL2U/p/wBfDVXvTyTJVLpBnLurter10khaSM+oIA7HSuxFQCJSlpB0Q4Lte6UK0hiqQGLDze/fHw/00aWIcND+qDS4aj7+9k6N/uqAYW3Kx931OT/H1+umGOfAko5TGiGl/uCdAFHRMAe58wnq/ec6Pvr5kEIMEWj6/qjJf6jo/a0CMufVHGSPoD8NX++ODgCFCw7BLe/r1OzULgjvjrB/L8tK3HOgff6JCIP39Fb+0kChEjp5x/jOR1dz9Qe2rKmNgXCVsgxKptxxIoZ45mJOO5AJ+Pz0j8dGyvYHESFgpt3xtKBFTTiDpIZmIBB+BA+P5azux5JtZIAZAAn9lp09dU1ldHULI7sF7Mzehz+LXPbmiTqrTUl4aNEgor1Lu0rPIx6pX9c9+5Hwz/rphUOWYslvmsUeumado1VFWPpACA4AUen5/wDR1CDJJV1WpaAsXMy+8QwjUdgioc5/PQOknZZqzidNPmryW/CjLSuMHKlT20obKIo7Kxop16GiYoB3GBkfLQbRtY/f6p203bfqjo0+GVgMkYY9OMnOf36V8zmIVjQd/olLJP0N+xkbq7dwB/LvpC0DRVNdYn90OHrKNGywg59SD73+umDSJI2UZpYJ7CXeIklCQe2M5H1+utAZlN1ewXVLI594Rq4z7xHbtn6fHVBYRZAZinaTskjhIoWBHYZ9P+vlotYTLldltpZNJnmqZRTo4giP4unI7/njQfTET0VF5hXFKsatCKhlJb06znOg2BaElWmRN7+qs4YtC5rWjYj3VcHH5d/hoODZsFWcx+H380ZIZ+y9ZZT2wqj3f1GtFitIZclIEbsroyzEkZICdQP6/AaGToo4bH7+/sq6RdMRVFcYAJyR6/LOPr/DQcALpWjlkCDZJEayMiydRJ7v73YflgY0WkFs6IFsJ4IKdsyxMY2H4W7gY+Pb1I0C0XEKFjZt96p6AOhMTM7du3UQTn9M6Tw7yES20f2VkM0CDpjAABAAb+mgAJhEHKd1U007KnmiJm6veDN6DPx0zWaEImoDqgS0ntccJkmZEDYwrZz2/jomBPdWGkfRFpsYUpUq6KMEuFbq+GD8vjoUw0gQq2tA0SXfymkD1EasxK4b1P6AemmDwWwLhWTrKtApToj84sAwwrx4Bz8ifz1Cw6oeHr2TpFVSzPNCqA9wCM5z8e319dMQM06myc07iEeIUkrSipnqpqft0CKVVOfmcggj+Oo1o1Iv8bJntmxKZKIQwVJnAH4ABnP6fnoCnPmSAbJTQLEgkYiVi2CCPT8hp3DREUGxI1RAsBifqLOpGezEDP8ADQDoMBI2mG2/VXp4/wAEqVEiKi4GXJ6R8c98aj9ZAVjGxYJwXjjifNWGRc9i+f1GhsCrA0i86K4iMhilhfzM+8MLkEfHTiRbSFU6mDcf5S81URcCjeaMHPV7qj69gMnQzECSdeqaQBpCGlbUdTxGJoeoe7gdh+QxoAOkkFQ1mi0QCni1lUzYDsyEjKlcenw08ZocEA+TISnnqGUIjRhur/AQSv56AJ23+7Jg46Qm2KqEuOurjQ9RZiw6h+XrqNYSOZSo4jS0pXVLIhImqJIv8QLnIH7v5aam0RCDTImVTxkmSEicp2wrMcN9CP8AXSEaHZB2m6L5IMEcMcghTB/ZghVUevfvp3SD3Q8MFsbLHJTUqS5Z0THY9x7vb17d9KDLZIsqW0G6HqjyVMcYDRV8jkZJAOQo+AzqrxDOWEzGXgFEF7WFlE80T59Rg4B+f89M0EnKArGuymSnCVtK7LIrSrLj4MT2/Mj8tMXQYKUNBMkojyReWzSTtGoxgeZ6/qdLmkxr99EHUgdd02jw8yoBO3oc9WOn65zq4XCBYCAESeI9IZjOp6uwY5wfpjtpCCD2TGmJF0TzH8rMkaEAerDv+v8ADRL7iblQNGVNWrI0JABQkEH9mcIMfLRgCCbIANmxSFeUskUSyOpOcmL3R8cahfukY0k5QkzTimMcvtLRSMewAxn6YIxpRBaAEr6ZF56fd0RKsuSq1L5QZYugAb/LqxzhGYiAnY0E3P5ontClRL1SoqkDBT8YPxGqyZFt0wY3YqxnWQoYqkdfUQVMOMjVgqblHKCBlQZESeN3EqSAd8eWQW+nrql5uVU9gg5UAwBMd5CpPr0sfh8840C+bD9EgokapMMZbqdKmMMoGV984+vf0OmLhqUrqZKS7U8MiGWpV5G7EOhP65OjTqNBgJzSIvqgVMKq69AlYsVDdK5B+Py9NKXy66StR26/FOI2JU5jhjH+EtGTkZ/++mDgbn9FDTAum1REzz9EbVBRD7xRQFUD5fPUZbmKL6QiCkgSsCYytSevPS/ugfE/rpQSAICDaAmxS1pWmyZVpYQuD70ncD9P66fMI5lW2g4mG6IfkMUJjMZjwOnpPfVmYTZaTR5eybPJUwydCxMhzjOcd/z0hc6dEpZsLd06zOoEirKH7AYIDY0c3LcJS0i4KE8lYQXVpn6T6lj7p/19NOJ6JgCYk/f6pa11YARHHVzgdsJ8T9Sew/LVDg6dPv73QgxBTb70rkVvMp5VfPyPY/LUeCke8kEFGM88sYkIdAT3Bdl6c/z1YIlQtLhE/VXqqqFXLeyzw9OOktIz9Qx3/P4/LVTiY0CD6YBubpmtWEkB9m6ox6guTjP5fTTBpBkWMeqJc2TEwrrcUjfLhQx9GUsQo+g0zZN2qQyZmE2lr5Jw0YqPZ1ByP+Jvl2Hw/wBdLlIuVWHAiJTlLlUdwGlkf06urscD4jSlhjKAnAAN1j3ZpQgmqKmQA5xg4H+n6aBpybDVQAlouhoIlAUdXyP/AF8NHKZQewC0q6Zl6goKKO3bPc6LafySNj8KdQBkRo2KuWA6cn0OfXQLZ2RptcDlN/7pC0k7q7KiyyjJwR6HHz+OrKnRXeE75JtPSVzAHysnPUTnGe3qdUvablVVKRLOpQxcZ0GJqZmmIz7wx2/4jqoMIuRAVucEkEXTyKpjIUSRU6dRz14yB+n+mmYXExrZWwNwkS1fQ0hjUmIfEHGPyGo5pJ7ousZGiua+kChV86OQ9+ojuDoCne/qqi9kSUwWqpyR5kr+XjJ7HI0cpAmElPLNjKdLNE5LSVQjjyAOkEZHyzpgSTBErU2C7VOhPTRHpEnWB72e47/mP10csnRIco0SFkWSRY0LrHnPce6Tj56RogkKNLTBB3V1boqkhSnYDuvWcjP6/HTXMiPv0S5uaEaaTo8uDqK5bu3T+L9RqoERCrcIsfvqiRrG/XPF0PgEAkFjn/TVjoFmhFtIZkiOSTCMkrLk9wBgfvGnFOSLWVzWt2N1T1E4h6FmjXqOApGD+uqxYqXDYKvDFNIW84SySgZXp90AH4404F4F/u32FKTbXRZSYQCIqgxg57N2z+f00oeJj7+ylNLVJyHZHSGXzWJUdzk/E57+mmDTOkIVGtj6Jy3UhHT0u57FlQnv8s50oEXnRO9g6fmmQeaaVpZixhK9RC47H5HHz0AANdlU1hI6J6yyFBMKiGEd1GTgD6kflqeIIsrRS3H33V0hZ4RVGd6hFJ6RgJk/NQe/66gZrCjqZFyZCaLUBR1RUykggt1DGB9dM0v2sEGRqEuSSKTpVJIY5Bg4LaamQXadVYGj0ThV6gTL+0XqPb/iP+mmdb1UewFyEIpkbtFTgMM9u7Hv3Omc/mCjmgOBI1RXkqJpVj6YEjYd1I9fr6aUgNv0TVB+FquHqYmBQIob1IYHA1MxiAiKZ2RRUy9AjiMCkepUAlfy0WuAUAMc26N55QH2yCOpkIwfy1AeijWgeb7+/qrt5LRSgLDTH1OAMkfl6EaBf+LVWMpyDlsgNUwNEkipArKMZAGGI+mg6QAR97KttISkxXSGoljBimjkAKplMYz8z9dAzeR8UoqNJsjPVTqAViiAz+Hv1dv6ajXG0o5yBGwVzJVnNYZgsSnPUo7Z9MeugCNIugCScw0QzJV1EjSJIzMABgR59f66lQiJGisuNUSNKhWMTSTL2Jz0HKn4flq0AOExCRrCNVdGrQAklRJLJnHmMO2PX9RoOcBDtkZI1MlEhqp1n6llhnPQRlR8Pl8tEuluYKOGX1KvUVk/SQsqKVBJQDv+oOi65lGuYEK00lwNPHMjUwj6cnCfuAz/APfS+pVbwcokJYH7MZTOO/Y4BOjrZBzLAHVM5iZHHdEYgjLjOfj2x8NI0QR0++qRw5pi4R/aIhExSIyn1U9eM/Xvpi689VGtEGyJEIZ27PMoV/RvRfy+emLbghOACbI8tNGV8sSkN+I5HT7v1/hoNIzSE1YGYKS8ApjLIlZNEwHSxck5/L4AaNODcd1DTmBKMI0YovmU5Ocgtlst/rpSLSJULCYhWdQpdqiTpPbrwxKk/l8vy0zSDBiUAw6u3STMxEk0ckI6BnJjZs9vQD46QmddP7oFgjVNp/aZ0RGqJynTjqUdIQD65znUJk6IZZIbNkOI+VHEorUIDZDthj+WjDYtZKWEW19UJqoJN0GrkkGCSTGB1fke+mLhlgBETMJSNHM3uO8zjLt5nrj5A/6fLQgbdkDSaTOu6BVwVKSRESCKNmIEi5yMn6Z9NQA6k26I1GkaJVTS1VQIEjnKxrnse3V+eq8sSXKstdEBNlhlpzFClezkMCy4IVT+ei1jSC4C6LGuBAJVjT1TdTB1MZYqMev1OSe2hlEEpyBcO1VewmVvOURyOSFVu/UT9NFjQDF+6qNM5pKyEFAUjRpJZoh+HIfOP640agAcQRqnDI1smwpp6ch4GR0Ukgl8BTn8tKGtgA2SgCbSUta+OOQwl5ugA9TRnK9X56jKh1ama62VOKq4RQqwdZSWGOknv3+fbS+IdBcJpa0xoD9E2kuVI4jDK3X2GQcgD9R6jOmJN50Smo3TdIirKCNmAkJY+pAOWP6jvjTdgrDliAUeSsto81fa3LP09RPct/DtqQSlc5swVaCso3U4rSMdiCgB7fE6LyA6AE7D0ShVRzef5dargAZTyzjHz1cxzdpTlwzSFY0/WyOsrBfxqQSMflpDGioLCVTsoTojlEgABORhh+ZxqkifKCmDW2i5TXMnSVJjRSQwAbuBnUDTaNQkcCQRCSwNOrJPCJWBGMgHt+n56hdAm6hoyboUFTFPIkVPRqz5ywT/ABDHfP8A4ajbnNMC6rDADEXS1rKSJR0vEznOehSf351YDuncG2lV7ergJGWdW93pYher9R3GlZMJS5v4QlechMaToVhJz8wB+fxGoHEDv+qDQ2Q0W++qIZ0yi+YYARjCgHtj17ab1CsyENAQHWMkJF1tE56c9OD6/wAfTUc4l8bpazJOt0mQwqS7yztn3er/AIvhkDSujQBQsykHojoqgRBLjB0HGA698fLTuANwEKdMxIIVOABhXQOQMdKrgj5/TQc4SmqMEaffzTCSnDBmkLTkA+67YP6nRBiFW+i46zbZba18jq5EM9rtUmfiade+uc3FO6rWXMmS0JyK2xvIq1O2rXUMPwkBl/kdOzGvAk/oi0U92/mhTSbNklME23FQYJLrO47/ACHfTDGuJmEfDoElgn5pBXaNPEHSwidQ3brkLHTjGZQMsKjwKOXmBSKip2th4jZREGH4kIDfxGldxI9EXMpAQVhmg2+wIjkucUZPcFUOf5aQYoG5EJ2hhkIiU9nLpi5VaqDkK9OMEZ9PXTisJ5QgWtI1RordbxMJI7mY174DRHC/z1Uyo34/f5IMDfKDaU4eyvO/VFfaFIm9RhwcfljTzTIgzP3oncw7II22gZPMuVslIyciUqw/hjTl7C2AVldROpKB9zXFJehGo5Kc4IPtYyD/AKarMZrFEB05bo8lku4JNNTRyv2/DIhx+mdWgiIBC0Oplp0TGa27nMbRi1mPqzhlAZv1xosp7ZtEHOcRBCxr0G4oo1WWmqyuRklT3z+Wl8CbqZnARKfU1RV06JEKZpWC4LPEW7Z9fTGhTpua6RICZrxl6pgbrUxTSyvSovc+8Yj7v1Go5jgAFQ+s0XgIK7kdSRLDBJkjv09JP0yNIxzidFW2vHM5GpbpSTSSFURCynC5+OlzTqradQOJA0TsSxsq+0OmOokhmHb8hprG2339/oiDsUmV0Sb/AGSlSVOnA6ZMjH5fPUDupTPgHSQncUrlcSUojjIx09Weo/lpmmIG6am68aK59mVA6U6wt/w49NOHmb6pgGZb2VMFlXJIR8j0Oe2nsRBTPMyTqliqpFk6PNcuOxI9R+/VQfsrQeYCZQUqafOZKmUHPSq5PvZ+eo10jv8AklO4KtKI5sPKxbp90HBABx8O+iHgiECCd0Q01PHib2mRZVUdlIIz9dXeNIjVECNUNI0TLEyOX9AWLAd+2NIXWt9/f3KUQTE3VhTk9BkZYxnOVQsf1+miST9j79FGsk33V1SMI8bFJHOcEqQfh8BpBsoxglKj63kZHQRwnvgsR/1+WpmgyUPNZycwiBGzHSMGbv3bOB66niHykoBoEEaIfUwmaM9MaMDkN73UPl9NAa5lJId2RYBTeSSJokjLYVVBzn66arUCsFKBPdWmeHJT2p+5HujOf1OiXSbahKW90SXpRYooqieUtg9fUCf10CZMK17Rlumxd/LHQs6v3Hde7D5dv5nUJm0KoiPREglmPWs8rv19vdXsO2oY1n6ouLh8URyViZkkKxg57gZ1BU0m6j35dNEATSAPKvllVIPceh+ZOg5wiSq3ESb2+9VaF5O7tVxVFP8AIxev6nUaRElLnc50kiU5LFpIZUiWT4dPYBfr3/XRbY6qWgkBOEGelPIjdj+HLjsNTxOp0TFoFwLpazPBl0plDZwSnfH5/PUdUIuSoLG6x0NX5tQ7sOtT7rOO4J/6+H00S8tgyq2lpdKyMdWXwQy5B9AuB/H9NQVJuFcNUKZVqWileUrj3T0E/uwO2hI1SHWZhVKWTDIzp8QB2P8AD0+GoHbgpBDZMpRcyQmV5irE9gV7t+vrqARIF04YM102cxxxuGpo19wZwuO/zxq8VNgZTFt5CHGYZ5GMUflL9UHy+egHEC1/v9VVkBMNjojLG/uqsPvdQ9SMMD6/l8NVgxZMaVwSkAmKYwxZdWbIUEYP0z8tEFsySi8OktG6eSV0IeRXp8yJge93z2zpBUzaFAgNEwmMlbKyrIlIqxE4VCoHf/i/nohu86pM5dtZNJJa7pjESogY4BC+p/oNQmTdR7osNU9ijrYVwJIfJJ97HYt9c507GtBuq+cFClgq5SxBiiQerBuw+n56rzQTe6Lru5gkQRiUsal6eOBV79CFj+g9M6sa4WJlQhxMBN6hIppVWlWrjg7hTIAP3DQyZrgBJKV92ygyO7QvJjCsx740CAjBJJ6pmtBK0qxGGEr/AIgreo/M6sAJEqsAkybfsjCgI92aljC5OOlu+nJLjKIpgiIsiNRR4cxUk7OCABkY1QGmYG5Vnh3IIuFUdHGg/a0s7ysCGwwxn541bUO1lG0xMBNRb4QSppp0Q989Y7aLXCbqGlqRKf01OkKFIvbyoOSBjv6/DSuIlAU8upKqaZ4w3kQzIrDpYEjJB+WdI5+YX7KDMHCNVUMUJRZSK4OoycoAR9c6cATeJS02g8pKZrLcBKGCiSA9vX1Gqg2RZQuAbCP+yRumOCojRsgsqjtn17acmbINAG8FMjTM7lC1XGvop8tR1D8x6DQMzP6oFsXJRJE6ECQxMAe3U/8AhA9fzOoMxN0pygWSUaXDJ7O5JHc+uBn+WpJhNSA6aojSyTSBURelcAhjog7myscQUKORy2GhheYDswcnHfUaDqDZAuOYQrIlRK7T+TGue+QB/LStaL82qBe6QQE3liuAZfLWDsSTkd2GnLNpSHOTLRBSlpLkIpVRThiMnzO5xoAtI1srHuKVDFXoqiRI3Qk+8SGx3+Oi+DulJcTzaJzF6U/+Ztcqrv6furaOvyWTp/8Aez+R1hb5B6hNv99QmlV/fS/5NdB+rfUfkFditR6Ikv8Aur/mNLR29f0CyVvxfeyYVHq35D+WqP8A3PmqDqgx/wB1+g1rHmb8F0afmd97IsP4x+Wi/wAv33VFTy/AfmspF+JvyH8hrNT8p+CodofT9EVf75P8w/lpqfmP/cF0DqfQfkjP/dH8tUYjyD1/RKfM74IU34R/l/prVS8wWOt+yLR+h/yHTu87fvquhhtH+h/VE+K/mNW1fN8P1T09KfwWYp/SD9f56R2/x/VLX1C2ak/C3+VdXO29f1SnzP8AU/kg1n9yv66B8xWHG/7Xy/Rc4uXqv5auZofvdVO3WvQf303+XWvF/wC78vyQ3P30Vq7/AHg/5NZ6vlH31V7NT99Eim/HT/8AvBoVPMVpZqfVbDU/7zSfn/Q6rwP+y74/mEh8nyTWs/vF/wAi/wBdHD+b5/krTqExX1b/ADf66qr/AH9Fnq6FOov7z/uDS4zzD4fqnb/ulAT8cX+U6uP+031Cu6fBJP8AfL/mP8tXVvKPRDD6H0/dOl/u/wBf6aowWrfvdIPL8P0WZp/90h/znUraOVr/ACJrB/fS/wCf/XVZ87lsq+cfe6M391N/mT+Z1r/9j4Lku/H99UiD/wBX/mP8tc6p/uH0/VXU/wAPqfyCaJ/+If8AfH9NaWa/Na9x97J43+8Sf5f6arw/+yPgq8P5x6/umq+sX+T+utNbyffRPS1d6ptTf/ic/wCf9dU/hPx/Mqv/AN9voni/3kH+Z9Sh/sfJY2+dvx/VEj9F/wAp/nq/8JW3Yfe5WOj/ALif8z/LUxX+4fiqqPk+P6LMQ/3NR/lXVLvI30CFby/BNaj/AHN/8yaQ6hI3R/p+oTVPwQfmuqm+ZvqU2C8rvQfms2n903+Ua0t1b6n8wlo/7abN/fxf5R/8o1a7zPVjtFak/uqX/Mf5axVfP990jdR6ptV/7qP/AH4/rrW7zN9D+iR+rv8Au/RP5f8Ad4Pzb+epT86vdqfvqsZS/wB/+raLUlfyffULPL+Of/MP66qHk+f5hXV/P8vyKVTf7xJ+WrWJx5mpunqfyP8AXQZ5vvsrHeb4funUf92n5H/5dHEJXeY/FKm/DH/l/poDUpcP/uhYKn/C3+dv56vP+18D+RVTND6rBt+Jf/e/10mzfT9FSPK71/RbkPSn/wAp/nqmn5B6pho30CEP6D+Wqa/k++qrZv6H9Fj7l6Sf+8GtNHVWcQ8quvrJ+Q/rrVT8330CoxG3wS4f9x/7zf11lZ/tj4fotJ8zvT9UqX+8of8ALrThfP8AFZW/7fwCVF+Nvz1gdqP+4/qtQ1Pono/vE/yf11tp+f4qpu/oEqn/AN3l/wAzf11S7yN9VK2/30SIfUf5dA6H1P5K3C7eiDWf70P8ui7b0CNL/dC1mX8E/wDlH/zarf5x8fyV9bzj0KzkH92P/dp/PVlXZZBqfQ/mlP8Ajpvy1XW/3B6/ukq6u9T+idVfpX/5f6atZ/tt9VWNvU/ksVRf3zf5W/kNNT8jkKerlkIvwU/+cf001HzLLU1CG3+8Sf5W1XW85+H5K6n5viiD+5H6/wAtIzylNV8v31Rj+Nv/AHmq8Tr99lH6n4LDTf3I/PRf/uffRb6ug9CndH+FvzH8tO7y/FYmaKy/jk/zf6aXEaO9SrmaBNX/AN6b/MdbKfkPo1V4f/cP3siy/wC7H/N/XSv8wVlLytTBPx/97TjT76pKvlX/2Q==iVBORw0KGgoAAAANSUhEUgAAADAAAAAgCAIAAADbtmxLAAABmGlDQ1BpY2MAAHjapdG/axMBGMbxTy4tldJSwSAiHW4ootKCqIOrVShIkRIrJNUluUvaQi4Nd1dEXAQHF4cOXVRcLOLirJv4BygIggqCi7sUBRcpcbiDgtBBfOGF5/315eV9qR7qRUk2EpL087S+MB82mivh2BeBcUcddrwVZYOLS0uLDrRfH1Xgw1wvSjL/ZpNxJ4uohFiKBmlOZYC7t/JBTmUXtWitFROMYDZtNFcIzqDWLvRl1FYL3UAtXa5fIughXC30A4TtQr9AGK2lCcFbzMRJPybYxWScxDFVGE16m1G5ZwUTnf71aziPaXUsYB4h2tjEOnrIMVfG/QJyAC/GtKvYKFlRqQe4jbTkrGKtZM+WvZvI0CnjbtnfKb1XMtBoroR//yzrnjtbbDRxhdFvw+HP04w9Zu/+cPj76XC4t0P1M2+29+c3trnwnerWfm7mCVP3ePl6P9d+xqstjn0dtNIWitMG3S4/njPZ5Mh7xm/8b734Z1m384nlOyy+4+EjTnSZunkyzsP1ft5J+63eKWT1hXn4AzDofghlJQBJAAAACXBIWXMAAAsSAAALEgHS3X78AAACInpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjahVRJtiQhCNx7ijpCMIhyHNPU9/oGffxeaNY3p/5VC5IAQkAhtL9/evh8Pp+PiwaNKZubAYDuugNcMH4ZIAN6A6ATo68kdAA8VQ1DkoEIq2EILiBiALIQDTISWvz3SSQNJHwnilWTGgC/ZMSa1Fc8TDznZH4rgWOtRrwQKGh8VyNZ8bAY9Ccj1EGXUI0JwNE3n3itxrzis7Sq1TgBiNMwesKo1TjfcdZqXBaiWRpLrcbbEjBLU63G9QGv1bit+CSKWi2W8+3QLDluF/wIBgBEaNQWNSjFzHj7/zgOP92EBap3v2BqlNi2pEbGVi0yBNwkcRPiTVxIJDVLRgJxEXGLRgAgLBASkiIIwlIEYgyBJCnC4lKExN6yGSW6SD961nvvQaxhBZq4rbptbX1HlJPSokN37t9m9957a5utDux7Xwk06WnWWOJ2yqgkPqW4e2urnmNPK0HMtq0Hkkc7ZbSXUleHiNMIoGy7r/ppEwAIV+Amv1rS/3ghgCz23ns+m/HrASdJMWT2chsBiS2z73fcLGd+3E8hZ05nQ81zzOW2n8Saj1VzwTMHZ+g6xcPg5ozLASM7Z/hl9kaPnPFQmrcyvm8lFKbrAQwAoegtYFy34rEXRSFP/qEo4tmQ0wywlwPyG5G/BJQXvF5wOR4k7m9HjlupR/y6Mp42RjhWxm+Oh99BvMrwD3UCiGvkpxuRAAAACXZwQWcAAAAwAAAAIACELJ4GAAALGklEQVRYw11YW48dV1b+1tq7qs6t+/TldPsSx3bbcRwncWY0A4LMCOYFXpgHJCR4QvwAnpAQj/wB/gR/ACR4QUKDECMUEjLOZew4zsRxuu122+52n9Pnfuqy9/p4qNNtD1tLpVKpap/vrMu31rdl/nAgIjSpF0kAJAEHGJwAAIQheqeARVqomCQZGUkjSYLmTAyAkCJiESRVNYQAaL3h8k3SzPj6MjEzsr7SqyoAcRABQItRVZ14kqifmNEkTZNiUZiZ934xm4WE3mva8GYGAA5UJ8YYIyCipiKk1ZuTBAhQBGZQFRKvTAgBaQBIeOekBqpa+0gBxFgAlmhqhixJzUKMRVEUx/3RWmel3z9xzrVX2+tuRb3WnrDKVFUEgKlCVWI055WMZ76AieipX0AYzYwQUZqZqJD0tKCqFJAxhKiqSZKooirj06fPMt/odlezhngFYar+0e7jxWLR6/Vc7ubzpNnM4BlDSDLvvQ8hnAYFIlCFRUDEjASgIGFGEcBIoSrMCFAVhgiKTxJPkgJVSeBBhKqaTCb5Ip4cD/efPP/g9q2soSvdTp7nAuv2Vk/2BoHFyWgRYxVjbDezRiMDMicNxqCqqhIZVZxZVK3zaRkgXYaMdeDMoMoapSpo8GSE1t6ihaCqPs3WV/VwPpxOp8fHRw++cUmq7XYzSbLV1W5vu3fw7Emn0xwcD+ZzF8vKQtlI09R7J6SXOldgEDEwAmdguMyYV/lEVWEkARExEkoVBxHWxeUSFefK6fTJ48dlme/sXN7a3vjVnf8NIQ6Hk1ajOZ+Nf/3ZZ9Uij0V+fedqM0v2nz5ut7LtCz1GC2WVJqmry1KgZKLqlbo0qLPanJrAVKgSRX/LPElxQF0smiDy6Ojo7pd3qXLjxo2r1y8fnwxORpN8Nt/u9fLF5OTFcRVKDWE0HJZF2O71IsOzZ0+e7D3tdDo7168miU9SJ6IhBIGD2KuKMpHaPwoFXkXq9Aak+/u//TsFRCEgEAljjFtbW+UiHPb765sbJ8M+Y9HtdAbDgWs0pSge7O1u9Tar+Xwwmy0m03I0XpgbjydZlk2n43armaVOJIqQDEIIIKBABK/iBYuAnT4HwJrx1CkhRosAIRBBo93ImunO25dv/eBmb231+rUrRTH/we1ba+udhw/uSoZGOzt38Vx/1D85folYLhazqpg3mj5ruNWVTqPhxcEsAOa8ihJiAhMEQVChCgXmhKcWT41O6IGq5kCjqPOTk9F4PF7rrlvKRtQHjx/d2Lk+mgy+evrwhzs3Xuzv0tmbb5z79LNPzm9utdorEoNkzPPx+x+812o10tR7DyCqUwCMQUUIUqm2JOolbb/GjmbwoDGS9GZBnYM4IS0E5+TChS1Nk7Z28uPhW29euvPRf2fN1pdffNE1vXnzxsGgf/B036duvbce5tXG2uZkfnL79q3t8+sA4Rws0CJIAOI8LADUusLqeC0rTl4RJgyg1Fe+fB7yUrxTQoRWVoExbWTjl6P5fD7dO6yIF4P+bDK/92T3hzffLWGffPq5c7K1uf7hj3+PrLqbqxffuDQc9VdWVtY31846l1CFqJlalk8gr/UxAIzLLrZkbVK5WHgHhFIYmS+K6ZhFkY/Hi/5gPOhLUzvnu73L59KVxjyffXH314vFIsbYaTXeuXFtcHx4sPd9S+3l84PMwTsyBrMgQhUIgrEUREWUU4O8uhcLdW45BsWpiVRgoSyYTxYn/ee7e9/f/2Z8eOwYm8pko4EktDvpzOZXL5z3Dd3b2/vi/r1G0795cat//GxrvWPTaW+lvdVdXUkTCaVagAUrF6wKVSAGxIAQJEZYiVjSSrBSq4SVWCFWKINYpQzK4FHmhqjOgbF/+Hx0dJyXtv/46ZuXtrrd1V6ruRhNJqPZlfbq5999/Dt/+LNf/tf/nEyH585t73338OrVS3E8Pnl+MJnOi7i4fG1no7cJ79Sh7vPISwCwZYCERN3TjQCFZFxGE3FJV97iXCGIKBZlcyV799zbIdhsNnvyaP/x3r6Z+Tx02i6Kv/7WO8bFX/3ZT37xyZ2yf9Ta2n73vZ1vf/Xlv338+R/97MOVjc63X99fbXduvfuONBJTAlDxiBGAWKQZSVn2BZ4lDYwAlDQzkF7LEmYQyUSTdkvTzNuiZLz25vlOt3N0cPTwxcH7W2/9+NbN0Uef3Pvs6w/+9KcraePb3+z+6NKF+cHLvvN/89d/2SQsTSdr3clwMh0M1nvr0ki4yI0iQgBSu8dYOwxm4BIEyTrTEY1mHrNpZD3KiMIhlLEokljKWueyytsX3ji/2rqzuzt4Obh95eLd3+ztf7Xv1e2sp8OXw73h8Od//FNNtIh5Rqx322tZWoWimo1c7hQi4mgBxtPpA3VBkXQ0M8BOh5VoS3D8j3+CACqsR4EYzUyIalqaCqCxyIsB/uFf//lPfv93R/2jf/z4m0Zmf/6j977af/wXH/7B6ubK+dVV2+g6D0Yzg4OoA0kRrYoiEXcarFfzq7IueJKsYZktAXl7MRURiARakiQ08xAACHCGybj/i3v3ZoNyDa3/vPPg59cuf/fi4GKjPRmH99cuHT5+Ouv3ipV5b2ve2lxRdfPJLMa4ttKxEEl68ZH52bh4xkDhbLI2OYNiBpL+cHfmnKvfq2nf+eWXi2L+6PgQh42nk+GVc1uf7h9+f1T8ZOftXz76flu7L07Gs7FttCYvknH74PiDt24kjWa/PyvLElupJ2OMZFXBROS3hnoz8sxBS9+YYemhrw9L55xCFCYSalgR7Ehy/+DFnChC0kq3m37j9nr2L7uPnrw8UBb//t2emGsnybW8OW9M3uhc+fbprNWW0Qwh6MwKAQGEEIhlpccYSVLl/wkPM4unqEj6+7MyUZeIpj6pRxOJjDGO5qNpbNLsWTiSyt/dex5mR1Ui+9Phxe72w+moI1mmViSbG7xQNNpHlrhKBnkkcbIwi5WZGegpgMYYq6oCoKoiamZAfB1TWCoq+o/2DxzEiU/TNHXeBCGEqqqKGKGIDPOFTedDY8x8M5HEIRlXi5D7TtrsVpv5cDbZyB69eL7a6IjIfD6NNBHJy1A3tcRJCOV4Nmq1OiqZUgFznonzZVWIECoqXjWpijJGevVipFkZqipYKt6JE1XXjj5tJHk+n41jptrtrifqptNpq9WaTMcqyXon9VlqxHgyi5GjWa6qeZ5DJcsyM6OomVm04WQwnY3XIGkCQGEhzktjORoN8yp3zqVpI0lSUNXB59OhiChE1RdaSK0XSTNqoSSbmQe8F8Bi4jRN00WRr3TY7jSzJAEAQZIkCBUQo1aqmtSTHmJkrGApQtu7lodKKXDQGCyaaJo4mgeAEEPM667sd59/dyoQpUYDUQBCpZiqqmrNIgCEIKlgWS1OTl4OYl9gRoo40VgrRhGpP0G9qMZgFieTKgaKOFXQgolaCE7MBOrgnEO0aKWfLI7rWRaAnC4ATv3ZpiLiVQFYoCmzLAuhHI5eMsInIBkNUXTZUAERAVlvFSrziZoZFxOaaK3HAJOw1K9ArQXKMl/MJ7Ld6Z0l/1m86qMCGEXEe7+EW0+g4iFljCHxLQGcWq0NUp/Ur52K+Vc3ohrrFrs8PzhlJgBiKt7MYoxVKIpiIRudtdc9QSxheTPnHIAYCaNzTlXNzKg+YWRQpgKQRjGIB8Pyb0BJnv1ikFoYOwBEBKAEqFQlaRalFtqkc440n3IZrNp7Z4LExMpgy4SAVBaFVp9zhBCIaBQnDqhPSQgKIAJPksal+AG8ogpRnQCIUVRFoSEE9QIaLNCpqiPFQUK0/wPxadi/ncvxsAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMS0wMi0yOFQwMjo1NTowMiswMTowMGbLlncAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTEtMDItMjhUMDI6NTU6MDIrMDE6MDAXli7LAAAAEXRFWHRqcGVnOmNvbG9yc3BhY2UAMix1VZ8AAAAgdEVYdGpwZWc6c2FtcGxpbmctZmFjdG9yADF4MSwxeDEsMXgx6ZX8cAAAAABJRU5ErkJggg==
    pandoc-2.9.2.1/test/fb2/images.markdown000066400000000000000000000005651363630463000176020ustar00rootroot00000000000000This example test if Pandoc correctly embeds images into FictionBook. Small inline image: ![alt text a small PNG image][inline-image]. Paragraph image: ![alt text of a big JPEG image](fb2/test.jpg "image title text") ![alt text of a big missing image](missing.jpg) A missing image inline: ![alt text of missing image](missing.jpg). [inline-image]: fb2/test-small.png pandoc-2.9.2.1/test/fb2/math.fb2000066400000000000000000000011021363630463000161010ustar00rootroot00000000000000 unrecognisedpandoc<p />

    List math:

    • E = m c^2

    • A = \pi r^2

    Inline math: x=\frac{-b \pm \sqrt {b^2-4ac}}{2a}.

    Display math:

    \int_a^b \! f(x)\,dx = F(b) - F(a).
    pandoc-2.9.2.1/test/fb2/math.markdown000066400000000000000000000002311363630463000172540ustar00rootroot00000000000000List math: - $E = m c^2$ - $A = \pi r^2$ Inline math: $x=\frac{-b \pm \sqrt {b^2-4ac}}{2a}$. Display math: $$\int_a^b \! f(x)\,dx = F(b) - F(a).$$ pandoc-2.9.2.1/test/fb2/meta.fb2000066400000000000000000000007311363630463000161050ustar00rootroot00000000000000 unrecognisedBook title

    This is the abstract.

    It consists of two paragraphs.

    pandoc
    <p>Book title</p>
    pandoc-2.9.2.1/test/fb2/meta.markdown000066400000000000000000000001401363630463000172500ustar00rootroot00000000000000--- title: Book title abstract: | This is the abstract. It consists of two paragraphs. --- pandoc-2.9.2.1/test/fb2/reader/000077500000000000000000000000001363630463000160255ustar00rootroot00000000000000pandoc-2.9.2.1/test/fb2/reader/emphasis.fb2000066400000000000000000000010341363630463000202270ustar00rootroot00000000000000

    Plain, strong, emphasis, strong emphasis, emphasized strong.

    Strikethrough: deleted

    Subscript and superscript

    Some code

    pandoc-2.9.2.1/test/fb2/reader/emphasis.native000066400000000000000000000007521363630463000210520ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Div ("",["section"],[]) [Para [Str "Plain,",Space,Strong [Str "strong"],Str ",",Space,Emph [Str "emphasis"],Str ",",Space,Strong [Emph [Str "strong",Space,Str "emphasis"]],Str ",",Space,Emph [Strong [Str "emphasized",Space,Str "strong"]],Str "."] ,Para [Str "Strikethrough:",Space,Strikeout [Str "deleted"]] ,Para [Subscript [Str "Subscript"],Space,Str "and",Space,Superscript [Str "superscript"]] ,Para [Str "Some",Space,Code ("",[],[]) "code"]]] pandoc-2.9.2.1/test/fb2/reader/epigraph.fb2000066400000000000000000000006161363630463000202220ustar00rootroot00000000000000

    Body epigraph

    Section epigraph

    Subsection epigraph

    pandoc-2.9.2.1/test/fb2/reader/epigraph.native000066400000000000000000000004661363630463000210420ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Div ("",["epigraph"],[]) [Para [Str "Body",Space,Str "epigraph"]] ,Div ("",["section"],[]) [Div ("",["epigraph"],[]) [Para [Str "Section",Space,Str "epigraph"]] ,Div ("",["section"],[]) [Div ("",["epigraph"],[]) [Para [Str "Subsection",Space,Str "epigraph"]]]]] pandoc-2.9.2.1/test/fb2/reader/meta.fb2000066400000000000000000000012771363630463000173550ustar00rootroot00000000000000 First Middle Last Another Author Book title

    Book annotation

    Second paragraph of book annotation

    foo, bar, baz 2018
    <p>Body title</p>
    pandoc-2.9.2.1/test/fb2/reader/meta.native000066400000000000000000000010421363630463000201600ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("abstract",MetaBlocks [Para [Str "Book",Space,Str "annotation"],Para [Str "Second",Space,Str "paragraph",Space,Str "of",Space,Str "book",Space,Str "annotation"]]),("author",MetaList [MetaInlines [Str "First",Space,Str "Middle",Space,Str "Last"],MetaInlines [Str "Another",Space,Str "Author"]]),("date",MetaInlines [Str "2018"]),("keywords",MetaList [MetaString "foo",MetaString "bar",MetaString "baz"]),("title",MetaInlines [Str "Book",Space,Str "title"])]}) [Header 1 ("",[],[]) [Str "Body",Space,Str "title"]] pandoc-2.9.2.1/test/fb2/reader/notes.fb2000066400000000000000000000010011363630463000175400ustar00rootroot00000000000000

    Note 1.

    Second note 2.

    <p>1</p>

    Note contents

    <p>2</p>

    Second note contents.

    pandoc-2.9.2.1/test/fb2/reader/notes.native000066400000000000000000000004071363630463000203660ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Div ("",["section"],[]) [Para [Str "Note",Space,Note [Para [Str "Note",Space,Str "contents"]],Str "."] ,Para [Str "Second",Space,Str "note",Space,Note [Para [Str "Second",Space,Str "note",Space,Str "contents."]],Str "."]]] pandoc-2.9.2.1/test/fb2/reader/poem.fb2000066400000000000000000000011661363630463000173640ustar00rootroot00000000000000
    <p>Poem title</p>

    Poem epigraph

    Subtitle <p>First stanza title</p> Verse More verse One more stanza Author April 2018
    pandoc-2.9.2.1/test/fb2/reader/poem.native000066400000000000000000000007721363630463000202030ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Div ("",["section"],[]) [Header 2 ("",[],[]) [Str "Poem",Space,Str "title"] ,Div ("",["epigraph"],[]) [Para [Str "Poem",Space,Str "epigraph"]] ,Header 2 ("",["unnumbered"],[]) [Str "Subtitle"] ,Header 2 ("",[],[]) [Str "First",Space,Str "stanza",Space,Str "title"] ,LineBlock [[Str "Verse"] ,[Emph [Str "More"],Space,Str "verse"]] ,LineBlock [[Str "One",Space,Str "more",Space,Str "stanza"]] ,Para [Str "Author"] ,Para [Str "April",Space,Str "2018"]]] pandoc-2.9.2.1/test/fb2/reader/titles.fb2000066400000000000000000000007261363630463000177310ustar00rootroot00000000000000 <p>Body title</p>
    <p>Section title</p>
    <p>Subsection title</p> <p>with multiple paragraphs</p>
    <p>Another subsection title</p>
    pandoc-2.9.2.1/test/fb2/reader/titles.native000066400000000000000000000006571363630463000205510ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("",[],[]) [Str "Body",Space,Str "title"] ,Div ("",["section"],[]) [Header 2 ("",[],[]) [Str "Section",Space,Str "title"] ,Div ("",["section"],[]) [Header 3 ("",[],[]) [Str "Subsection",Space,Str "title",LineBreak,Str "with",Space,Str "multiple",Space,Str "paragraphs"]] ,Div ("",["section"],[]) [Header 3 ("",[],[]) [Str "Another",Space,Str "subsection",Space,Str "title"]]]] pandoc-2.9.2.1/test/fb2/test-small.png000066400000000000000000000077721363630463000173730ustar00rootroot00000000000000PNG  IHDR0 ۶lKiCCPiccxڥѿkO.-R "n(҂U(H+$%KB. wWD\]T\,⬛( )qA|}EI606+qGveKK_U\/J2fq'XiNeANeh`6m4WΠ.eV @-]_"!\-B@ [I?&d1UMzQgk8iu,`!:z1Wr/ƴ(YQbdϖ)n)W2h,;[l4qoӌ=fppC3o7~n Sxz?~ƫ-}.?3{oogY;,#Nty2~I)dy0~e%I pHYs  ~"zTXtRaw profile type exifxڅTI$!{:B0r}^h7U B@!z|>)\0~ z$t{kcO+A̶G;eRWliW&Zx!,{>'I1dr-w,g~O!gNgCs嶟ĚUs3g:#;geFP2o% -`\E!O(ِ ^p9$oG[G26F8VoAuk vpAg0 , IDATX]X[WVڻέtvq'qf4^$$xB$xAB#2e8qvv~xm[KRj˷ַep "4I$!zEZ$I#IL "b$U5hM213ҫ*q@QUx$MbQ~1kfT'# "՛PfPLiHxZHXhj,IBEQZg?qεWnE֞TUBUb4界g_@͌Q1I*ӧ2vWxab\CH2!"PE@Č aFH*POOUIAL&"<+NVOhccl7F#2' ƠUYTi ]u̠*hdޢ>Wp>NGqIv3InowIsBH{':W`10g`̘WDUa$1Je\՝ !V9g"E~}j3K>n =F e&Rdꕺ4ڜTEctÁk4(n6|0-&r4^'YMvN$ B @>)!F!AȚۗofom+E1[k띇JF;;w\?9~X.7>kՕN,漊bAP 愧ON聪@x<^[Fع> z;7^ٛoOon+dj5{ SAER$%mƎf1fA8!-…-Mv[o^g֗_|5ytߧnd~r,"H<,Ժx-+N^& W|RSBVV1md㗣|>;l2d7-a|s߸4WVV7:PZO 1.dmRXxR/ENj`y~0΋|mg ԡKeDӍd\FqIW\!(es%{!l6{h޾~:yok\Qu,ƸұIzٸx@l69bpw末߫i嗋bs[~Td_>~[/NƳm&/qn$f?+['cdUD䷆z3AKߘa顯KB&jXHrŜ(BJ~z/G1ilY8{fGU"#YV$P4GJy$q0)"jf@|SX**ĉO4u! MCc|3!WNVp6x|>4P7Ix6j:*RseU**^52FzbY*X*މU׎>m$y>c'i՚L*z'Yjx2YyC%23Yd0 i@a!Kc9 *wΥi#IRPӡ(DZHI3j$b4MEt4$A$Vԓbd`)BۻJ)p,h8Cww*FQBj" `Y-NN^b_`F8X+F?A`'*8UЂZNCh,Y.N٦"UX), ^2'  QtPYo*hԯ@2_'%YE{[O!e!-Z RԯW7adPF1o@IbZ;DT%iڤs4r{g`˄TVsh'OI Oƥ QQTE!,Щ#ABiؿ%tEXtdate:create2011-02-28T02:55:02+01:00f˖w%tEXtdate:modify2011-02-28T02:55:02+01:00.tEXtjpeg:colorspace2,uU tEXtjpeg:sampling-factor1x1,1x1,1x1pIENDB`pandoc-2.9.2.1/test/fb2/test.jpg000066400000000000000000004540121363630463000162520ustar00rootroot00000000000000JFIFHHExifMM**1>2\GF GI (i\ p! |" ' ($* <+D,L.TZ[PENTAX PENTAX K20D darktable 0.7.1+913~ga0939ea2011:02:06 07:29:16PENTAX K20D?6kAM/)G@#[/XkVڬPte^f"'n      2 2011:02:06 07:29:162011:02:06 07:29:16 ICC_PROFILElcms mntrRGB XYZ  acspAPPL-lcms desc Pcprtpwtptchad,rXYZ0bXYZDgXYZXrTRCl gTRC bTRC chrm$dmnd dmddmluc enUS4RGB built-inmluc enUSdNo copyright, use freelyXYZ -sf32 J*XYZ o8XYZ $XYZ bparaff Y [paraff Y [paraff Y [chrmT{L&f\(dt internal)sRGBC   C T  !1"AQa 2q#3Br$4Rb %CSs5c&Td6D D!1A"Qa2qB#R3b$rC4Sc ?-tkf_`ctrD\zl 6tRe!+qhf*|t Ep%[g:rX?tu~̄+0rp*ƈrPAԐPʂOD%WO#e]#2@ n}Vh0[(BI\Ԕ@W̤$S2EX53&Ϧ:5*iX\eJ\G$F  H#8jgnp~̌?]BRzFs6d!'׾1PJB,T=tsW g:(!:-r#IR3 $-H+L dv9tH $|{z臕AQjl ts& c@T 0z6H##룝I) jʏΛ6Ȅ2/Op|ƈ("!2;TԔGqۣe>]C"̤!2B!=BC'w! ΚTLm >!J&2@/(l0/PO =$(,鳢qΈ! ~Lg9it_^`JL2uwfQ!H 綜9, ߶4C@ePN%T!bWG.A[4ٔ_єU5$(Etv>@8%Uя]O'Re o@P)e]FSE9:#@tCWSʷGS2U]D9 %q(0U{v:t rr}u3"W9̀HR(T]BQ@~C:>]壙E˩.{zdŞ hI* ^|- >/7S5[MMik4_;B+F]I8嶩: 0Vǀs05\I$Ӓ*m+lGYJ&a8?+ ;`>G:PvK ='ѕ![Ӷz$ %>Z%BIOL$G2$P9PBK&01!Fr%*EFI}v΢AScFQ2G2!$˾]At"ӇB2 POD21c9C98縉% gG:e{DHdǦtKB+s(B&3D!2Q0Q J5 R=ٔ1N%OL\ '0WHAh2tِBd] >DzmM@P~M7dG:Pv@uMtݐJ`fNrᑣA7e88x1*r2>Z+#5B=U+̤]QAySuA>y%~{BTW*~gD9n|tfBd*>J@Rrjg(VD* i Om jg(~:9BICözUt2]BPVl4TUXz.5t DN Xɀ9e8pI5sI=lEq#>lӼ~ 1ThKJJTJd= vlCwNːظYh`ǦI >1qVS$AcJ ŋ}m{m}4u(ᑃ#PGKvq n7Uyn!s]׾@~ܶlT\cxJO(RO4ET+kc ߼Uf"fv,u-{w%*:IBGRMrYFz;V9dClL؝mJh ;Azeu2_wuVcbuT^Ϊ =ۏ}ۨ= xi$\+val0=AEPE&8?-4xQ*GYs*?-$D$!PV)?@TIöPvQ[5%Pa ̤$? jf!m@H(zAR3L) GS6E cfeCd:9fDLggP2:УP{Ρ)=;vgE 6`(L:~#멘Pd8B;!2JEѐOD:Bed"P BC'ϱAvPB*~RT-Be~蒦,1*!2}=Ys i@2|tC`4ALslPBd'G22`hPB~M)W#^ *"hf)Τ}9cBRcM0oT}53 ljf)@J5Q[ErG4BGuU.*BAtDb ԔU?,hV=I|Τ*#̊S`eC NqtAA'c8Ԕ *)!)mpQrq,i7Ndg5mveqs9/W%EK֒DXa]z;2u} M2.ǽ6CgM d̫,B:Tǀ#@U8b Hhcbu;@$D}єaܨ tݶ̭7k`[)*(!ekua$I!>+#e3=k{lai᤟{I={%츚 0ֺ'uu? I\,Taigܬ#@>?z.xIPcbVlbCzH#/3뢩NkW$#)sf7߱TCW S''l# QM݋FUu$Lbt"A@u[<ם?P1W(O5%udzdQX ,rQơUdnCd*L E1  u*sçIߨRŴI.KZt]& i3QQGr:< IfQLvﮧe]6iܮizZ7 vk,RL'IBJ* @Pl5 DEC^j{vkR. (fN{F.id7 qSWAV*}#A0cBR>Z$AH+T)8MJIP~V(1Ӄ]$P(l=4ّNq(Pʞ2A3(ĈAJS@Q)|Q 4sP! Ih!iW׶! vCD9#FQB*}Λ1R F?SђB(~!ɐ?~97Be CjT&A)Y}Fk)続T @ z2|=4ّ e!2A+}te ,Д2MGq̌ i"z@ Aݗ# o2 ] 2#K%Elt蜫O} Д~vɴ*ibީA~JEr@tѕ,MIA[ P= P+'82VX}gjJd Z"NAh%3[+~n+&,#t)Sl& w=5ޅe55z)ge*Lee9Ǿ |ʔKOm~J=4YK|44fB!$`3(pIL` ^U*g8t@ҫ飘 ('ΦuM)`y pA5 !3AM%+kmzZuy$+7g*?髆R'U}˭ۼZI0ntpSLa>n؞ayd~DhfASfe·o'ϰ,{%f-lDr"#<Vs4nO<5I+Xn# Fr;驛uJ~LJkO2NT$QFC磙@Pץ98a>RT*܎ڒIJ n޺%D5 $IQ$}04AʟєR LJABD9 ~cP!sG5(l-S53 P'0D6\g*F}ts P ;iB+L/S*P=! L(B (yL&Qi e ;(̠d}|r2ˌ:!B /hH@d{wFO %:9"PYAQi@u`#,jJP@% ?]0rYMMxYU+cRTV|vU *B~ R=tCUmD|iIB`h͔[|*;jf(ĭqndQݧ4 ѱ{ǫ^ Ih.NEs)/T}k=֪(*(Ҟ'1<Š-$L;A#M ԮKx\hvز]UQGv(JZPةQK1jiiqqЯ N?KsZC͊rlqhij.1I"Ċc({ 1stÆfN>+[mvؒGC]M]tH3dylrA=RᢧA?gsK]$}[-%-l/e˜v{j`*'E{JQuY6UueIU:-m Já t^`K#}KvhQX>8M0oWx[>Kln}okz{*ư5S<.DrdEd|uͧ[ ث x:Z'ݩYK\eSl_,mkuZ&)N x7qC"e|hmj;%:P.  oJ;szGwKڡKtSԒ$,T^)~,I~6[idAH4:}-n֝3c@?|憡卽ԕ[oWu{zQG<D Ӭp dW.R`—IHL@ni5M(whW5n&]7 h6mdX1ca1S*ڠ,!0Av<@ږy@n7.'bMr,.Α o뭁.T~:n׽Ahކf-v9$d"cRJ|sϧST%pA&F&Uc9&nI",Fn:`Kg)"WAvZǰiJٙj=Տ3$1+ ҁ2{\"$aklESAN`xφ?J+^w%mt2=KMJA^d7HfNEZ.Թۖt^dŰ1\"vI$H:p$)[cI/5jA2L8  bzI!}>'e,ft k4SqʶI=u R{CЭ՘007|H#,0×'NVhAoUԠۨ ٖ)i2WG8'-lk.R?c&'Cz*ii9i7Y=W'@!%JEº1d IhU nD{DQ٘c0Վ;e's^8e]"`DbUr[?\k>R[*N#Uu4k8e I϶4Z'{S`E;i$hJ9|e ݽtH) $#LD2 2T*!D9Pk"}teB_}e1P2Ϯr!?lBPI':B)P5 5%d}t٭ eAa*FeAh!mL0E1r4s(Pg bEqS6AeNta$cgKRGqB*Fr;iD 2(;@e4R%s1F;! ^!!2FP7eD mv׉.Yt3(PhB@*-LJ1v\jV1lU$^XezsP!1ްN ץ1q;[6Ms PYZH фp+9A,9sl`o߰کY )^$jCw`0Awi3DحRKWhMp*/tVj2zU1̃>l8 @Kz<9,Ot?d>5նǹzʣ$#->RP# "dUze@ȃqZs>]ܽ/{*Oj} jy%TE˧GTt-`4\ØI.'fyZ:~`\|2勭 [2i:fJA1LKO$pE3fr(H=/&H+8941}>︅Ѷ'Qm?Zt훒nzn^RKAE <0KG>F@?>E}ʺɮM5$@ r|Ù <m s=IH 7aF? ~GY,/bMU bghhK,C>N#$%}H?ܞqg)r>sK7xøar40h".c2uh˶vݓ6^$t{\[_rׄ{[W~m˶i4{b["hoc*- g8aN`B8Ȧ܍i-&XDH| ϊmj`DߡmNmmq'6㭥qZ]*e<^]M%e4~j\)4Uu6SuGWA-t:;UF91L0B0\p nnS\LEsYpcxj&0A9b)7w4@"&Z Iāe0"y+8k`XZ͘@N g=PR32QB, 9=_2渹K^t@#&[ xZ,W:oSCBRܺ,ᕙe5fYe{V9@hh">Jx\D䞹H7%l;:6Cۢ_MQ0;CBJUTA*6( `#SVql$%tUߔqr-dA %2 JeHe`C*b #IM}mhoI]%FVT2t@$=܎23E9%+& l+]. yѢUMB\pAx` iI)kM}>VwUTmCO UM }Y]hUjmv'%J_F= 7ldCvKUf ڣ9C4nd8pG5sH(Z\R:;nA_\"Tc`PH(GDHQH*;繁D.J }h :ld@z(Ijg!w SMAC۶u馔ЄW׷mIEhEmBQA*G4'#(!2hQ 'ȠiP jJ J)QH(,tARYqLQ#d壙 ,lB .ueMAѕ.LZɀH̕Ad?=4YtT xu`e,*Ϧ{`v%>U]#RPh*F1MV=sD`|᠎UlΌ6EѓS4C"SK ٸ&5h:TuuK(³bN*GLso=]ܷ5*<rtq4/GLcU"4,ǥSk1n_"GDŴ?{)mm-q%~ũo Jg2[I@xǒ9:ԫ)>sSh->~C(#I|}{w7=]2iPZ[ft\{8w1oTw(kra]mGQ:d4p,N =F˕DG֠AX^Z A 9]2c9[F|CyEY`8ڪX#hneѬI`05svTPޮSO*h5Er4]DSؙ$m&ѩ6WIt ",bdxe7z[o\n5gStXQr@̪>V Dͨ7#HBx|wzQ)6ӼIwZCʡقRP:d$g ;`TFw}mE9eY趧'[l4QZsV\bwJG$s)rGKs걝Gt3Zj=t~H+jX,u-E ZLx#,Tei%% v_ۤ%A웪]D+ejGцU1QĕqX)a7 #11{-Sgq˻edu>Me ʅh!R$˫+F=t6vN~Q۳ϿvɂQƫطPuUbCH4Ď37|HAa$s]Pp$;S.[VϪ<ʔ}E_A%<"3P*tҠu@o&;M\OP6f:~lyK7nx9mSOGIOl6wuCQQdGDXC)C4r݅}'fAHt1HSwKs7NS'޶v~]ۜ5k˛ZY-F{Hiijݺ!*"2TчUEs59نM +}Zdkiqo~G^*6V[xz{kB9 M|O"9H)%`*q [)a[Fp[ ηyywUژCH} lu=/FFixFK㭷UKOu^MV4BM*_V1Q#ܭY(:ɽCKL,\l@g'{|2qtZEAb"ZRG%D$bDP%AL4r_cыżQaAmHL` 1^pH/$dL˻ sYxƕ;kqv۱eilklYe1Տ )-9; 3"NsP"b@- @wc[ I'1 .=]&Ȩ3mmK֤Vyx"vgXp#F#*5F2 hHVamFLx=f˨T_֊dKSLn R*nJDQS!N1th,x$|}IM;;5=$k@sfI{ziV¹*mceA#4r;JO֍YPw3V"epgXJ\.,wAJF߻yJ_nKئ)eULd$K$CPu=ʇn+i6Qx 5qIYi4ၬSM /u2{fݴݍ4kQuӂdXT˗ԟUM6f ^ISIEK WzG9lv{dwԪL7Adq˕u\ @bA ԕH*tAD I#2bF!Ć{jJ^FG@҄F]4Z˞2tB# hJ2ѕ! 8jJ\~Z!!#h!:(T/RE':9(ˏQBecM*B'~㾆dr1(ReHLL=}.;MQd&LȠ̤!2D9D롖 M*B $ >Hˏk\4C(Bn0:Qqؑx*@SeHW# @wR6V epfQ_׾d!WGa@¿@:!+vu3 Ba^ GS2WP9HZ8JuGPD}zhQ{t-ٹ8kb[gtZKZch#]FHjaiR875-#[[ MiqC-^^"n{FXT'Mʒ2Q"lHq.}9*8٧H|Q79kh0uqJY|QȱѴ[9y(檙*Rx5bib}{΄Eit$*qg;P(D}OT{ﭵ7.ǪR[o5*Koܕ㆘SH%4Vfyf,{mbs$u&m:0}ݥ HHDq${vK&w]ZJO:P%Z4(UGs 1)X}fQńS "#P til]IlW3~^.#HoM\yeR[^͡5E[SY arNW W#6RXUǼ2q#kzz8L;_EZ)n{˭u-U VgA$~M5< ; h&dBm/H{^"I5|Xq DfENk9kmÐ7mɾa[Ŋ?d(%Tqi⦨I|#EPTNjE䃗$\ 570fXh$ Ho JY%_ӖF1+P\!J넵>t%Vg2dtp}UXbyY"# mmۗwmK_Q DH7n(( =d:0dG}4BMW>'9ZWf}KAU8WTE,x$0Dt=G͑47 \ k}aj`:H:Mȅ*8rMfUTSnwے'Tla&hB hyϢ%Z`lF{eJai$Xx'wokZU.l -sTQ4Keh+(N` IV:Zjٲ'7w[ጪXMөԓx%JI,5VtlJ{c#ϲihO)j}t<[]Q|WSP^-ޱ5D17S-A& Z`ٕ6 )|H$kc 1ME 2Auߺ6?xs%26V͢aY%4WB(CqUKoi<$cZefe,"1l7"p2;32LtS1SO|@xw\# }ouݐU\Mp =4^dEj#5wbi$m4/ip3sq׭.ӦZiЧJ5܌9'[!br-·v;c-KvܲQ[MKkT 4*),YbE24qxR~@5.1= 4'YБGH2#P'x7b*[zͻyK88Ss 6\1;Ҋ*^Rߕ>Q1GD]tSsxt64H܂G,o 7LVmw\@E6B۵Î%ߑv(*-3Ir-7#@#_,L!MطRk&405I{Xu1y̮<3V^$)7wrjܷM5 ]IVD%|`Ck<Ei=e[ פ/:z-+xWy.Ƽ;jl HFK֮kE/=bPY,:)gˆ@:$^?16AVSCuYy H"o7d}-[ˌxPn5Q;eRRJd(ۧޖFRV#NaLOPIdu(qb`iƍ3wdr۵8qmuV讌:T;QGlp"V%+-0xP.u?.s] GI$o ~,a5\0 lEMIMf4rI= %%EAMtpO.X#E~ r%C$$${Ut@2AOʽ=ʪ-e&ݥE=Zbt$]yUT=M0:gqװ馦UfA_O[?{O>[eU5DK4k3CJV3Uֆ }駨߼U; MO\ fTѺF1Ƙ0H(1D9B:OS2 u3(00pE h!*$ 5%D2953‰ʃQ(EHƘRΠr M) ~C=уLMe(dΠEqL2ΞwS/D㩙WG2lTgD90$gLJ Ǧr =0r !2uSL !8RQ:2A#2 s# (:@R6TOlh@8LT^ݽ4C)0҇(PHUUUEZpTU**̢IQV*$;’ 'Rv@F(EF + _4(Bb%] ~# #i3 \WqOk{ymm,TIZXʅx"`́Y1֎s]pv#=0  }E^{n_xeYYMuܛ"H!I,)tG8HOiw[ ])tHrsC! UwppI K3 s._ǼxNksj*l{oJC-qE+G5<ж},sd򙼁c阼q -F5q&31c_ >&-khx} ʣʢjVCYY4p& d8)c_5URDJu!MH&47&AH6\v&}&aIAthG/JP5gRn ےh3YֺuXVTu5g/HtD2#fC@cat8xŠ5 ȉd12*m`ҭv{s[=}/SSRRUsEN#P2u᠀t$d BP!΁ 4X6-I_EƗ-|kl+}Mn"bLMS+K"{"J8(Vs_(st"yWcQ䓨d"mxk-︯7lߺ-i6Dwy" aQ<( ^a?[HOeECI\˷q頻LMqN%DZ^ ?&m^Yؔ{T]],9('DzM*R!(˜ǓIFexrC ]hH&@2HA(N[(h.u%j7~H<;e[ae!1x;:LI5LcDsKf q< Ӵ9ohl^mgo\d2EUJ)ާ+˙d)V 1^}zNpsjc""fbnR"Ѥܙ ke9ű.έޛ^I,/4իUae$V^N<5gS,hz /؍zak/n囖ڛw;vEd7pfyd]$2;2=*~ ڍS @t\ D˛qi4:AQKA"[-~7]]5T%!be\ ]da֞{50|#61+pb܍׍ @p/1)wGɜu&<\+18G?M$ K]#D=tMmna޻ˑכq%t퉪] YԔ p#A ʺ~y2e]:l@~J'sxZ}uPmn79* d HFr\//=wVe6&wm^4VKTsyᔟ%{zFC6pZ ->;Bn۷g[5=U{QβQ8޾C'33/PVӨ\#I:]j`Knڢ.S53i9RD1_Eu=^N>C`SI:^ѹd]C-V[԰-"BmUUKe1zwU$ep}Z~v\Bll7'Kew&7^(ݕ52-K-e xJ_f EӔ9 (ǔə@=굟!N\:/3~ЍsEƣ,wݱ6˼MCSHMXud:; *]TOIM_IWf%NL|4pf2&Ysq)M$L]$@ӾrJ|Ξ&b}d650=W3r;{<*hYThΐMȀ'NQͅ_OÒL'Y z,6^YNJwu6]MAquASq TM!2)w ƶ0:kE&0| 9kH&`:D u&bD/B<5."hj ƎfFi5U`g(f*XBw p6۴ BL=gTt: 6AO>a^+Jhw]q7QڲM%Ez(!CԅDՉn 2v٢@H{{i150+l-E.#6u4TwJJ!ҒO5/#jcW$BxB0wRH6*7EŏCxױlm7=rD,ocϋ_ĵ%J*-|mJۗnk?2UyT<%`rTPgc Hd yM $XZF,IM-P6NEj%0"n87F[ ;F'Z;OoZl[hJezK,'9jIѹy{[_(걺:ؚh` E u8EۂAYۋ.RTz[ʖ\b5SUu1ZQ} u10fdz|Nn?lI9*V/$򃠐ړZcUZMKRUWӢNUWJ >I<t跰ew8ZvsUuT()K:46jE,詉t]9,m$t]_q0 5`k10ne2 5^ME|mᒙiItwk(UR}Flb~ujx6$o܏+Z4,}>J瀒Cc-4B\;)e  AN݉Ό c:90Tv C'|?~%HHaL~鈔2P9C+ޚBL|tيIB+fDjgP2N~S2P ID&\}tALBAP}teBW蒎T6\Ͳ /ϸfD6_}Qʀ;2"952r9PYsuPts#~1tԔ@BqC$D9H@#taM@WS:Es 2Va׷ᩜʁL3(H\UcIQVEEDgQEZ*Q Yq(gW˹RVG,tIr!&i=H"&Atw`N kZ)$:zӛvŠmimۊgUZT/KŦiUdWV1u67> Ϭ +RcܳjDQ=| %NTz+#/aZu2d9W.D-3I;wfͲ᪞VQUMj YPA(^uCk1tA`:q8DkNb 4coTl޼/]ngWICP#cJ`,piaHd6&@g'AkIseǜ4.tܖLˠ^9cn}snp5mfQ_LKURM%1 .,fY)ߨ -s)b9pDLltn+m:v [,2ˮ B=b>Quc|d}nZ7tڴ(Tѡuh JĂ^08Lciˌ2X 2Z]r}K}LnH+`ռ=i.: cY-wXSLhj\MaûZÓ a`=0.a }{WܜaiVoIMenpaa!/ղOlFF{$a_WL9kMwζ(wuH] 8sPA :HtKbm4(|{ .g܁IU1\oTmVRVmUʰH#fu/auɰXlbu+ 242}@~U5 ҝF.:"]c*X=@ `s z~30{H[𨨒i$dCjN0JKq>HdoaЕ\FHcK,RJv:9 I*G婟`މg9ʆWGneHơ1$dІFGRs53"F`CeϦdPʞݻOE FTB#TP9!ΤJAhfMPHt<:~:`TB# W ɐq̢P{jf:;l#PH!eA+^CeS26d羛20˜%$:`JXCe=;jfDCԈ@eӵELyI긪3(@j*΢ *QVXۭ;#SD9 4.=g?.qv?)15aW[+b~K4F̱ɕ T~-ti)lN{nt1.#!&h3w'%fs܈n57Z D3Dԗe]2$g*m2`םu6M\ְ j@ϢoŞ}nKޓoVˎsD5Y:)hߤV9R<6 ;Mݮs-GL-ǘLZ$:v<ʼIɸ^ ĦgiKM\3SұhixKA%4RC|7s`iA洉vx.k+/"߲KuIMxZ OIEQF=D=km_ DxM3̂AJ1s Cdu&H _v"Do]k>ux[o)[| E*>r)*3Ν4sy$h 3CՃ%$kc"[ DXprFs'}r_4RmIx[j6]ʩ~W( 7QUΌ&iQ]HVciTӭԣY/ԋ#1\7!I[x|Wq{—Y&RX 6T7zhաidn"5l`0(; x97 r~N 8c)4lM\ @Dvf.zn5tofwk򤵥7j;͚&&GEQ#$A[B@ɉhg4K\F#` XYqMR:@!dA:0p3:珂$6}ʻﻎ<{ ]'G[oV-4sG,M+̎V8cui)$P`s3 ZsMԓa}Pt@aFc{iV}eg۴IA_WAI ZSjQ+XRĽ&P5Xzo'meB3ss@m"fm6ͯ6}vMGvo3ۯՁO "B45;DE*5"VXE4xkɺZ.V9dXN&օyaPp6w]7-4vŎd"zꨎ%+Y& Pu3Al$:3H4مrRCncI$I  m 7 U>jҸHG;/AX鯶cO41K$3o}X0٦oA^J43o`ou\9[ܖ}hjUՖ3RIٍ]mV`L[ymSJsThpi')3SXǾ:9s\ 70#@W3c㯶1[,_;׀o4VuTTYmC,A>VႲX5Ps d"P2 ]#e 3eb "2Ǎ*mqȶ> {u.-!dCAh5UiQ/t#Ca=zg;"!WтܧV֩Q4扰 8Ǖ[ݗ5+mq0r\iRնvuYS_}R:`ȞhpvJi Ih`$l@76\W 2y "DAcj;r獿bX#㽫jeM#-FB5xB40bS0s -_#]amg 2EsQ: mqV/fضGfyi(-Z2"E27R\dv9x T=.7n|?XV q?^'rlg7w?qS<9eH¡vr:C$`q646L'y+(Sv:/ߦ˕n3m b].PyՔt* JJtC$ť^8b0`[pu6͉`bM_`ް`D|-|\}4GӇ@Y9|ZgrSA@j#MHCe>9H臄bА4s({23Ae#ljJ0ѕR;MQ WhB$Br4sn!2G:SmI:95{i"Y~8( B &~2t@e|Be ̤&zi*hSz˂] *ԒTU/袭6ehQV`QVMG k;@Y'ODl袆t6͵UfV{@J\"B@PA֪-s@hvΚpy q7ot0mɼ}h8&qiQdIpt\Ɖ,ALI=. 1d<\NH$Z ^ :дӡ̢f|Yۯ-0mej]wFnA#B4pJ"gu݋{\)1flu1\C CP X9fm 4b9A@C)> Tͣڷ{G,K$'!JaL@DΒy-qv"t Bu&lFm!h~(q$@ ^|+\6ϹxiVs{ #w!ojik(gthz,8MEZWip#\.ơh<tƑ6>_k_]ŧ[v)nwXd? pcgÐ̤p j&#Bi[Zh"D/c$;mx}#~++7Ѵ-QHͧۃSJR$?&x\\)KkM/:w us3 "v݉){ÿ$n/\[w(lhn։;QG Ea;c2 21w3Ra|_Aksd]k6qn,Ô/lێ۪v[UnzK,K ZRf)5bEsҜVH"bf:5 ðjF6浠`40#pw^JݓvOp|q_vz&EZj}D$dz9-"$p 2{6:wPi6n`_ V߼9 vV;KmX[ZuGZnVYdxFLɬ kM<@ 96+^.-iAb`IF"{.n]{zdߡ綷اMSIk"J MDT:C%A:ߏjr0`[;\lhWcH-c6c}Ԃ $Nܿf4'y;;\ KUtKU)yU*bwp_ZqM{DԻrKwoxWln 4/;h2.Ѳ6X/۲ySZhKCO|rT zٍ9^jRY2ә }:uᇇ0!HfF$8>ss[,gh{|^IȼeWK]vlOOUEҾ'֦id#=%LjνLiHT"ѭhq>bL04EuQO!G1ܘ -$ܕֶ\\O+,R-wo U#$žMO<T0}ÎGQft@`Id4եEbqdM형{{cJڥ]˸<]Nϒupzzz$$Jp%$xcgN9uw2:λz#CC R$0`b^;>/9ޜKj=~Ik!o(cMt!sgu XuZcEC /b"fou7R<o22"y Rx\g܏w;FնH:!֩cv.xUBVU>X3N"VX3\@0L#\} m7cL4K$-md +6P勝V]4WuZ :H0GKCOD$b;m!YII m<^]qu$rƂ'U^շh'gCyX)MΠ}4 |L\I^(ʱFCiLD͠,1ŝIĐ}6. Ēx]9h)ZbU]ú3E eU)"XQ!,iL+ AóܒGRlA%s0f j- -4hw,V6LJ_+7=-jeW{z_|T LTAWPЉch;t:FkcD Б:$\nY91\$-$ vpNnO|oxMnY65;S^-|G;$sѹ1E0g븹&-~imsR4=k-줍i){e[6 n@}*h\v\W4G;ESB/L{k3+mA^pINXX$$Fmuwfܛ[P]|4˃,pU m$2ʡE )U=j vi{ԍ@'mBz][2S >kj޳bYEe|q/T$rʙ$1E ̄Hi0,m3#_(;w=-srˉuĉ״ŠH"cmPuR$:~[o 9پ͖E?llخW##P!# z$:!6T"L({4dddP9{4CHBa=CE#D;t! {jfB\L>yts#e~Z!GƘQ L>cMHA @Q BLp{ȍn˃L;D;hA`HLAaΈ 0}ɥ r ʄ 4s"7aGRT=~:br&!7`0shbzMeQ2궢RTW9Τ_M@NQ_Е$vԕO磘ZWff=ԅ+ߢzi;^aAuKŦkoq@n0'Et)PU :D gpޚu |96+CsTmmU-˻VM~Yi%T #ʭu;31i۾?[Tq Au=DlɬMh'RFA!3y#+ԠycUR%Ė0P@-&VWdJSUnm^K?]{kXj"Z[}8 EQ1, @qh-vnLbI2[:&98D49I-oOexojdOw~λVCWMoe 8a4`%0{1,sx#H! 83ZI"%8N6 ./w6>ݻZmKۊuY$EFGtG.QOVC|Humrٌܙ-Ytˮ3uڡkTA $[kSS[xTUUSRйH΋[RR3IFHnqC.&Z b]N0NsՎ.0t@es LL ,r~]]$]}d/}ѤsyUS4~#MO&\>`- zleCAsum7{u ďzuR\6+m*:ʃtNg%^O%z4 |LCAs8n@ Sm@t#f]9\$Kte. o[v9'j-;^ǻSoZitsV5+PC1ꗮYD9n)SVH\6bCA@u_Kԧ[V ..LI:Z({aUZi!ۧuVSnH*tJ8xVo3ڤO0 uEUCʴ]edq6Jxr:q ì&hk\__y{n6nөmt%:z:yltT*1?HR2# 86o;%D.ԉ5=,V")yi kL-0h,./Ʒ.;5^wut5phn5K]=B2$Gb)346 &܉j >LN!H$H8F\Θ póMp\6K jx#bFQ$ŀ-& tDJm'].sFđ04Y[Oni7TwlUPjZ;4 "uj@2C0ES("PIqHѤDnO6Gb) I;"BpM~^IS[Ww(vݚnIde^t)H̵4<0c$Ϫ,TDM9M-dmP Tט~0NI'H lwG2WԑE jf $u3YD<~L!ۢgQ fQ\ТQʄ )(ZWƆkEöB">%PYp{w҇Ԅ2:Aeƛ4j ƈr,H臨D9HA`}}u3G)@`1S4J ޚ|t@`aǯ}IM:l—|uKIQVehfQV~hOEdci]E@g8DF0p4TUwL\K2*ʪͺUEG=3%lwn6bM-ec۶on5mIR|z.bl}G]TT.GYF´fJ 4{[G~Nݟ請e#DcX[1Ue0%տx^zH.tP`ˡ:?57RoO}IW[vJ['uiJǘDfQҍH ᴘzr믬6 koׂw3{ö8ݼQ4߱]GWvQQ㩋M,RDd(vq7jS;ηʪ`6Mއ_ɾ-I\oVlMTl{66C%à#Mo D ,AfE+6ccR}1_ئ:/Qny؛Vռ%ɿ¾HST̊klOUk[ uZ&L6k4olAFTWbiU'4Hiiɦ]}xĜ]eqzv[(n5;eZ3OWShHs2q/UuQxIEk/b>!ŧ@N5΀_<~}6ǹ8n*6mx{VZ㏩iZd~-puqO~ l@\U';`KMz8iRUWTBujeef:Jt?\([\ OrMx`z $5ZM t] _ 7vKIm+&Z*'X`eZ`\QIMT$цs1X|*4β'Vb05)_nFSeK .96E&iXvfY/4Wb2Q\okeJ-M^q=+51,V 6giդ \40H0$8kS{Qhpi HEϤ%؜;r흷ö"WUwT-+$q\'Sʹad,ѫHThǃQvf6g >L]lL D޼km9n4TwUE\hU#aU51 QL -s[ A;s>?FQ.` 61=M΁x㺗xw&{>jl_w8ٷu4PΞeDn4Sup#[-$FfnmR{2yE3_Qf'Eyn _ǔ4V}^MuXΦ*⩒8Dj f9.Me2-i2\Hcx^IfA |[eTC?4K$&dtu#wđ{qNs qo)2$j;LHksg.෣g/~ւF)!yh( ):5{Nmc{sXܢR-ń\FУ؛{۔|˽w)U޷!7-<3[Љ,4":~\|]7vT 5$RWRƠEyN^~fD +},{O;뽣r`oms,+;};.UT^G_$DzftUVy$@cZ.:pb&O)I}U1)Ҧ^blI3,ZWC۾-nMqJUU]5[C9G6k&Gq'H.>'P0pߊv Z2rg?KZ,2K"7T3K, d `SN  ~bcMX7>;.qMǞ vllfܛv]-M5zZ=;ĉ%HV2IC'ZY¼=O]=)1k^6zyŻoa%y8S=P^q'VM=R2c k'mޣB57 m3eXj'86WCfG6=T;Vz{I'' o NüZ9vAVU8izĨ1^]SĆG׹T*,0C<Ի{}t#0~:jg (~@@S :C@Uŕ 4I&@M5NZz[veP2T, u(IʫL44 bOKnt͢ݴ>_V}EfUnj*▩>BUY,2'U5CӞ`ĩ6k\|4tp]BbS 28"Lo{ݰ- _|9<7/x˼/g;bnT2U4YJ&Jg4)]X2X_Ć##fR6""H1'Qq^' _pɼz ^L6%x5wSg}GQmebs# Ar'UB6K_ ;D62$K5_p%nw{ O.'u+Rcx! K зKL]MٰUMe#n3W% "XL><1f%nNKٵӷ5IL XmG 0h=CȤfXPHh K%ēr@ *ai֤@k2$abL lJ+{oc[o%Up149W"N/tA;D#YT+UQiu`b@ay 3ï?W^ݶ&lN9ljjϹQ[{M,I5X jԧ2УcĶ$`kK,kAyCmTiv^;4\Yv3m,ۆh5%l3Z].M ϒSI S J "`2-ն64+_P9$6r0 ^}~喗Iw_ r[wkuWoKJҼq P̬58&&cPIiU*R4nvŌK7$_b@N-ŶnZ$mVXx͖j3ź J e[eUKTu[ mhRqJucNo:#AXknKWq;pحtPv,:%5 \L/Ȅ z-SVv6l$Wmkehp\b OWD/iK&t2quLjԵs^oSnl:ZZ;(䢧G k*YcGCؚ1Y}\gzL45K­'UC $Dq!KJeiP)Mr!wī*Z>VOz]x=e݁2svInnkuomogxj4MpnyL,HG`%[wIno;װ &ځS>ҰSܫ=u<,xbԘe2^s'ISZ [@? '*T6ͺ nҤVLAՏQ,OP$-LǙeZA !ǾN!6~THW(ˏmIRp>= Fh8ԕC#D6{!:l6?@@C?M}0tK (ddMBB@@A`sS6耆ñԐ DZhDwAoSB au FzS}OOEG*婚 Bn'G0@L 9 `Ύe2m8^AVrٔU*+訫FTVԒ+]TaQMa,z2F8Հ&_BﻆMnMr[4L٩97_8Fv+Ucx3{X!? :wK@.wc\6-"7e{HzKTOHo&9&n_-_[ @`:pGi$UH\<y`2ΫiT"*˵xկQTW\s'ZCMjog"$V&7kQn\i:~7`4mrN2] <8Φ+!T`+>OWN9V)C d*@0;d0戠ֳ ˏsrˢ'/ɶ5[4/Vd mA&٨$(%C#>;VLFfpDp.'xРbI:[&LEsطKWAZf" "9˔IH19ZN_]Q4lp-klǃ?hm(x,J^70nmKM傦w{tJKLKt#HԂٽ MmmAG1@Ua#eN. ԯ:|aÏ/`#υ^w_o֚"[Mt'Kh"]Pa1#lJJj:3Ss|M"\'{͜`\uaKc'kdޭ0O_~qC#/|?n9opD_4p=u-;3g+,0hho׊-Rv]mHi'{s. YN>.E:a浜$^{_f`[w sV>CvȞ/=;Y-Lc2Q,#K8s- ͺZ Af\)ɴȋ]2Fomutkp;(ƶ:VZf;Bu84V8S̰; h'7VլmnQ$BV>|7`pw(R\,[mKʙg8\$" Qfk*5G5aZ6ɀJo"( 9qvH-cA*}~.`1OuPq,Xm{#B*V:IhҮ ΒM ';^wR͇>`M.9n֒= MkĴpJU=G>Q 5v<6I3`}N2Zا%mn~yba fﻚ\3WßqYmߛieՑ=q+SRidV1]c_P8$aX5yLeoL=3m;4Liͱq/0<$mm˖WWnc]Vi+a) jeZ+6,{T1yA9A6 x,'h03ysFoI.u(MSqxހܶ VkxHP&$_:|Ʉ Se#)ΎsR ZL'p|@M@!NJm,${_ sry5d1Q76vuڨ@=:YUi'oOX"^@ZV{\S:HcA Ib`DK/$TC*TSJUSOvSf++eke cV:BU.صXVj*'V5'?xkUpTc {]\\uV0b0NYx7b =~?nCOHֶTMH>[WK$L{wnc>s'C36}I]a$* fꔒuF1ƐYlO@$i(>̈\U̢  =stPϩϮz!P_&ʐ{΀`AaG* \ A >XΆdar>PԔa ԝ A=ĢZQ6TA8s) ӶiD_2t"0`R۾53&hʀG㣜 wG= !R^tjL*g*+fꢾ{u3u`MHZ^ͷg\ﶫ5̵u 072W#16 uG $}vzCE% -dW*y4ZzcE(2a#[æsaUdRbԞ˹̷ 5VX5OP֊y*ǜ$UJq3UMIoRap_Al~Ytii|N~_i|B$I89R#I(V0rq҄z~җe*yV\[3eyomfS<:ugLI h$,o跎VAL:_X荳9mr.ߞ(X&GYWF+!0i-uS_Dn==CU"LX pr%gin>_KUU\R]tl2^sJ)x.DI]@v,$ChD$DzMFsqa+1e<>}Ês qޞ>u%\=pVGB#,G+Cm:>!z> @<f>FuSk74ک mU fZIGU]8YaǞ*è pŵ|!btLc!ui2Nf$Yę,uM ''knov Ԟ\ ;,׈yY@dvqsNnZx2:lI#q7Qi@77ԃEhصqʗJ`)Q:=%y jD҉cWu_ög,$dHqX30F@;̬7džhU^ꦶVۛ(ےsE,,I(.ta$NCmL#^mopb^` TI`#P+>mO;J fmRQ G$7E=L!Ib%]q wԉIhH n߬9mbJq)Pq7(Tkd;WhN$MI \G=^G)+0?#qoH\#JKׂq$/dʞzT$$qިkABT(1#Tש4qZuS{? ۃ'SL͵.hm|}\ oxDZluѸhdk{ȥMyx [gwߥ/7j+D5==fx#M,r)8>Bvl>ϸgLY3v&~'\DI I |_|<7Nrۖ9+]QH-h4umf' E.㒙 Ip$n90u񸳂?#2i%W_ry鏢O+'!}?hE6ki|@(m(eVV hЂA:|wO @`)|&blTdi4X6P4k&zύ/T>*W,75^{P;ɍ⎨B%i`>MDq1+94@.$kNy'M S{F hܝ-iz?o ~6N6q%wɺ=)OZA^RPSĂ@=~)b)׊, Z;x\?&1TqsKa2NRyX#8H. .j/ WBXojST\vmD z'j.Hi`+冇+:\XZ 7cuCjZ.|$\I,,0WH)|u@:}W~='JL4Bh4sյ;. yEx:M1 b^o1$`FAx,$%t#1f ߃9;x ]qO{Y977j 2Z+QFQZxTt !cVXkc0$`LJ%dr+`0luf$˒NkWCq6D$.SMZS4Ɖ& ͚۾9zYam^&\ *X'2PItyVy:88Wq6RtU"bIq00C$C$T23F Ƴ"'2,%= _ <+rxkᭃۖi[[ܩr' [XP˓$m^;1 kg ~Ӽ]?A|鰛n [a75V"\ P$F [Րtu`3q2_G3J A* 㤐E/FPhJZ)Kԕ*$seY-BUL*Q N!Ʉeh $^ t3Xb>LA#(9\xG)Ao_u3lޚ`2A?=@P>S*dKeLJBAhfS*"}=u'LD\P"̤!>>Ȑ ^,7mLAl|3(Dz!IF[_! w iLyxP;̉jVFd¾*̢LD+؞P;Jf긥huj|3[x*ŽJz.c\)!T-9=# K'S< aΖnWKoBh^#X_99:\I+I'ĞgPSRxi Js5NI0ONպq̐}P@ !hUh$öu&ɘLxY䒚J zq^q{Ν A ]6=-&WijU~) o,g*nnS؜:ۓVa rW0pos˧-Je}4@R$W`J>(cayu 6G ;9;$1,qkrLׯ5f^\q῝%;^2[vo44"Q\LI 3{xa-ZaL FaX*>$f4i,l8qOME^Knk)TXiXN%FST,du10c`%u8W3Ĥ&"X-tLA&Wľ-vF߷ :6ظUSR'WRi1Q~:B#UO6 5#M$ŭ++\3u +A7&u&:A2qG/>%[^ɷjmW쵓l0G_S!/$g/&F TA͘bv &$- ^ahPGa'<A$:|3\gĿ xY}ZLeVܰ۶8H.*۩im&gS;'eF,# )Q/-&˦ۺN"oȒezKæq"&h\K@ a0+ۋnJܾ#%*FMhѽvZimJbZP$~CO#xtM F#Ap7vi+1NBIYB9\ɜѬ1-i+ç(X{"\|CG(-wݢI=Q": 8A%LOi,!c Qp'71KpkL,|=LNK ih-%ƷG39ӊ ݗ%g oXeܼmJ *^Ϸ1ǕFKH8xz^ņj)sj`o~d#A$4Jiέ4sΎw]鷆{ưmJhn*R\ UHLb #XuL0!ALl~PcHmˉ& I@DN똶f{]V*(ڈHVFKQQTpK/2H͍Hy^x = $&&mQk?kxěJʖ{.ꡠf$VU2)'WJ5?ܼ E}GX5V/U۾ _/bk/d\ShjwbTsBu-#̊.@u/?łmQpo~ pATS^?2zs0H6Ae]Xlr-) K*gzG!r:fUH7<39/?YS*}k jeJ4Hv'x ac0}uo"AA/&,=mD~lQZɠUpOb53Ίr ȝBvg U[K6E$Lh TB'=ALumrCw8}EVVd=FzPrtơgO t D?(mD1#P;d%0lj=u)P_M@CP53Gb~? 7A`>#Pe!G:`)=3F1.PݻmeA`3)灣d@@a"ZxHRǨ\2rg4eP#)KUu{2%!BPȯhz綄)duN?)#:)/{,|sSUUM# $ 0a#@}s0{\;l̗KTj#F2~%#fLCY^)],S:|{ztI8a{[E׉40tr2@?w4CQ-y[oEVЌ育 ii`^B;r1hVѦ\OU殮{5;o{Z)*Zb2; QR/A$(7z[2|˲]{;7{֎T QQRV0F$t0NCYh:f 9]6b"dMn1`,C&ܛnnO5AJgvO`#~lpr0ɿƫyKXp\d1@=}g2Š7s}Kv׻i6DkM)hj٧I3iM;=#1lD]r4- &MΧPI$B vcrtE/p`Ϥ;Sxnool{3nIK-VIzg 2CL eHBƬ%nPgs~1u3ѤU?tD0bvD^83v5AKp1rTU:Ȓe!έ4K>}9iIi8luH1 WǺ40FG[#Z@l㦅v^T[S>o1lK.X3lVvPMݍp5 PԄ/PjOk-⻖xwUl]wؽk ,oV-4 <,XPejTI ˜q k~-8k{AAIcm=x߮'nOuܪ8ֲMDc{ R,ȽHb^08. )m0˪0vvUé7s@ kI2HMk&Ρ2*r\67P?uTUBbXCH9$*8sH5,Kh7qt'<47M[oŶ].1m/UϕdOTPfH%:/3;#|5W%$MzuBoMbmT:n+!yUtqS45y@b|$bH-&sqч@&4#E<| tW;bHSBU|rj{KYϯ5E.>1U I kmk$mp.tnX߫CD %zRp,,=DdJ`zqegM\kE.{ ޴M=>7J[}}{+Iis8='MEZP> HoLeD"I?IQ[L i15HͲo*Ƃ%X8$P+|43M'MDekBzP6P~B$gPdhL(DzS4) iBhfL~M@s& @s] 1̠MH@>C:$ >2}Fxc%]j@57oLj |{D?9,1x5pAdSdj(sW>9Bʶz*āu%3Dұ$`z#JVҤ^`ooժ+vSA-<zdr!AcҊVtK{IN@VU].{R7K:iK;QaAx}{\gL  &@|=:Z-[nS֬M5IJ+y0ASx,K0˛FfI,ab~ G=sƣY)y[W_cG uJ Y"|HbI=#dI6 xf5vN" w?)0/n.R.A;swZΦqecO3S4 Dzb2 J4lKLOr52k1eDA ir& ׇ-['l6e5@t].LkI>jH#UI>M;y,%Y0"߅MΤy+/TU8rcH:l,M]K5vᑶWZʢd%g0JO#hGK!fws w?%uODwWoݭoq]~F\ˁ?(vgmyo wmnokx]7Hr+4uidmz6iWZ9@h3טfA!tq&գ[k A sA$_/ 9OhQC=BRk-L!F^UN v1ms0 LN\]0,⸞Zm\P3\Ad>Ca\羣1"LX09@Oً9Non,rԷTC[C_ozO Q7]<Ɛ(zRId:K#(lG.g$ Ej3K_,c3Edk\NQhoϴ[FNPmK~۪ifۗPԏ,EutHuV<y߻x~^3n\hh Dٺx^'vOª1w1cF4Yt$y6+m|4C]Wg jD5PVEp>Z鱦K .=3Υv* Aa ǡ^/x: 9n[-M۴<>?O3[~m7b^K1Bc16<ԸEB'ܘv恘t8x6=FK6vTbϷ6F?rb~eZ,G[|bSԵ?HG$|:FoJ.t1SJ~ h{UԨ ӿ].s3NRE͢krX'pM]o2 8=KV*>b0L>kn.`$:g63g*6-FVvy/Q$-I:#Lt$gR>: 7?potT`w\.8dٻemxhxuK[oZ0-|PW% D!eT9 ֆ.&H'~]'%/i^'k.wuZ5_kWIPu3Pŗ' N{(X)/{ ml4dY~Q adoc-o׿ QkAlk0Kڼ[l Mo\T-lꄘUp: $KyM}YB*F--O[ALTV[ka6qE>ͼItTUmvdRP-5ry'}0IAs`HdubԤ1-Za:I7+Sm3>'9Su[/5UW z7KMoyZ Dtt˘ t1մ)KV#c9 hM:Qs\iΤóF$/uFaʮ~z .}q2RƖG 01 5,ȥM5~$]I>h:d&rKP@h¾9~EEތ!^ɊޒHIQ]-U٩ƒTEOhiQ&yQKXQ eh=Eh/KVqLC)R1 ݉ UoZ3bwb/kM}Y܎(7 KUZ&DO H;-0.u6U߭7+Q‘TQ1xc*t~pOrp=Ens'[R@$IBлgqTooD{3JΎ,t#KVE雀 s9_w\ז7 x\wYUTUEROI0b3D.O\D8 uվ(b]4}`u[NK^$ZӼ#_Ekxޢq]hܻ[q7$-ER\EMr@0)eHg3:$]{+164hh @(2QfA"HmމouOý?rU-d/l}?\J…Ltrg@[VW]V0 Z Ĭ,N bHܴ73-դ? '$۝w!fV_j]U®cgS2ʑ*#,RDTl@^`L Sq5S-$[먼+Q<Ûy6 +TE8c/AMTE#@tP xf+ s? 4{L_O xX^[Wq,w>˱yx{CUjJKU D2tH\~Խ fK.7j_,~3)I.o"kȀIwj'77M+nlR5:z㨞)Dm$EDLn#-J4 [6`h LҮ=nH{u})I˜[cڎǼ>0nt5Bzb`l)Rß& Z}> 1lf6^aȶ< sۼuU r5dnzJ{M%7 _D;/WA!czGq_v D[3 mnSǯQZ(e/iqv6puȁ"%s~Z:W{N+ ꮊb;I0bI3ӵwgm?l=ɻSo~;~A+,QSK::(|ar xVP$Ē"\cE;Sb"ql 0Ğ^8iI0Z l'y2)#]'z**QHI=0f5t(fq.e/ya,h3lH p[ "]U9LC/p@ $!Nq'`sݴ\ias ]k\oʠЁֿL8T7^j EZ?OBO@:Y^ƅ 8}@m$9h&ttX\%|}3]e6[ZC{VA;)#y^,J&O* Z[ ?hY.$2[O69vX1|Nj;+17l>w}}~4knԻ/v:NM&ۋs[d.r:ħ%O`td5qĽ :E\7=W<09pj mrbWµMRIӂA @v7?s~ڜ|4al]xdC87 w/,4TT 8ī`匠3& )  /0|'hgLR \B\|V>3>&Ȁdh K =u E!0aB,;U lzLS)΁1= @:gL)3߶5 )!343˺ >>bo\ߣpb1> ~S:!'#L" 9Sh,G:`Awst ?43#L\RWy3T, SPȕFu2*{z0E<5fcNʫ=IJkK¬,)]܈{eI#,PAGCYnv{mչͶ(WPnZYMDzXPx-. 6& ǖE,F7,&wo 3}rE9oAPhw [1Fk&x`_4`*f&N^~66gRq2ƒ<iAS]|&'RL ˦$LjD\ˈ5\h_-"WuhjH}U4fU% u8`ag辕JG5@$$ﵤY$k.KY$·H$g rA$\I7xhw=Ni#y}_'53Md")SX&Ifa1rID=Ѩh:7bi1F&yA9$` D`52c7>^ F#|+{VGvީ2ʢչRq-\P†64GUHt\w>\T4xs,~@Ihxc6],U5]*hT)oK͸JESȧpQD .4& 4vLp2}@.7',s8Lm&MŽtn#b wPH깴kͮ$[)-Wj4fU?K sRdjXʔ*QyiA]WKa4B 1>rGߑ^SÂA1]l{b;5|s b')*?R=]FM#+p-\7P–-f\Z}doΣ~}vuWn-lT<sw JĶIlv+U79-d4T(cYMPTx{C1z'cXMM8W$N7ovԕ ԥ~(me,Sԭ3?xzIlNHR3CejR4rEeQEHWg1w?3Bpl.W{u45SƀTD̪uK92#Dq:Y!#`$<3xXpIÆ2:t 2Ih^}VULsׇ`D Imi+{K$5A%}Y5E: O^6 R2f;chMUw;Y{&Aw%,ֆK$>Q/)Sѕk*^$Dņ5롍Wx/v;3 F33[H|IF۹rl/|o i\v8$QHBAfHBR&qM̦ǟ2чri{I~و}L]{,sZ@@÷lx8mx7ؖm+*ح4ֵݩ/IUKFPJu/P`43Tp:ӑs4R?ڑFVkbZZ`\"IB߶mjvj6ǭie%]|44H!{6'ji**x^1;RKJ"`V 1zVx8wIλY^̌eJu1o-F$`u1yr#;v&0ysr5'MmaIy~f ?iQ "/L.=&x. 0|I׿ⰳO9p iq Cte1+=<+;"9MG,<6]UUMW;’>¦]Pg92t+8oqCu!):K/qm  t_b*4#RG]~(9'QVem4wh;NQOH/kg{C-dHWxH^%-sdƷ  lch]&z7= x-q%lܱ@v.MveŠ߷.W:pv4pj\4%zf2dyX#k>66\ZL~[Ŏun5#_ p<HD/r0-dR ro.O7ڗۅM4\媧"Qah1\ ȿK`A؃r Y˵&4$^ Z֛e6yny)4G ]9Hى(2 'f6'asc:|Z 1 w\ur[M] 닶{RGxK(*U֕+qU;I*" 8$8$ckH3.!h:uu7]U{qo{պq%-^5@YuD #Vt'ji;mpGLo0HDA˹Øx6bs^[OHIRmqbE1e\z[!ʜ0& A٤oc:jT{r8Z]h'C~:JxkOwlE='۹mjjJh4}-,'S\ObۋM4-p8Zw.P<9aiզ䴝ž0[ֆǔA%:4Uiф/D3]/,4^7#Ϫ؇_+`ulhۼl-8g1]OJdƭ`e"D!j㧍u7{&<N{\ KOo$꽧~pEk22d&$PI_$7n.~dxӷbK4‚]]bO5!L28bď-VpKMA & /z1c2 T [2N;Bj6|ŷ~QݷoqBQR UUݥiMG!ŤN Ӈٶ|n Z7n}<$s.d? ~߸@6/5dP_ՔM4vꊥvH:x`hf jp`vIF%E1LuR370Ig7-}E}?S_9ԻoAyWrz*cjfJDDzK2ia*4.PhI337pXIq}i5`şP  u뭟dm.5 pEûZͳrXh]-{6 5-bN{Gt1JI$dxqT_s$9oh'QefW jxjb9&\y~C3fjx~nVNmZ vDS7 8exwbb栍P{D4S?8&ЧgDxldŽ'`ۆ-WqpxdX8tyΦM6{xl^/ aI6B m5l9:|h j$2e2^NzCN$ט V]'epz< "C$ "A r]|I-֛BSY^S;*SRK$E*fRseG=!5vt:\3ʘ#FjNH";q ?osNsn7Uw֋t 5$N917oUu)Ѧ2k @s 3\L<;5NhV\5.y"6o|)]W)Xi-ڒ1gs-֖5+牪*!JTHe(Z79RILP`[q6 6cjK3F[ bM-gvDJߵxX(-.JZS[VϟbO,*>WSTm7k;1 @"X qѢmS ^&Mw0c "GB襦 k߷O,$W)<Dd'˝! =!Eu7Z5x:xrֽA?2#m _\;/q𖎚YKY^UZC1 14X^AT*HԧVaBdŌhH^#cۈ|b1&bH)'nS+Z6ԖV/T}5CSGJJ=I @Ej 5 c}Y7 T-qvmM<8Ԑ>'p5ʶrWW5GiePP *df1P2b9Iv$$`ɰOWaTI5 Lbd,)7-}pw^|U-HuV1u Q'K9Ϻ19=/?{ g2&nX"-mZm4F=NDzWMMΫM>&۵?YֆS{]R]MS9*mK,=qt, d!q'J??RӤI93B6T~u<_@=8f{JqM[NdC2=sE43&pq2i&L d  e < 0bArsS hf_G:qM = $~ϲ`ffNf'P̙`_@:+z!4=.i6D6Ƀ I۾1@iG2lAis߶4C ]G* H=5P :9b& bnts?願e l]q]QxQN>x!w?M _iE<4P QgL_"ɩun+$Uy} a   L5Z MV^<;; ӵuFf7>--k*J 'o"ޔӔ?w΍B0N&3#[0ywX"-"ׂEoOV|Vth27 E#go`/-E~DW2DbRF#^miqHiIIĸ,U׃]Z0L\ \|SdkMye>Q0^/ ZʥibCHj7AIVJ{>+ l0`-缙gK rn<&*% ҜN)soH/m] 8Ei'FWK{in. n5{~sTx ĦQO;ԣ*Aßu h,&RIk2" չDh|\B[ǭbm87vvhU6EDTQE bnjDC#΍eN% wc*(P|kgGlXLVVsH%q.nX$h ?Uooj A|-Z()*EykQKj6\͖Pf\78=̈c]ql΋Vؒ2=W&ر2wMhꊭ.= নNQ \D: ޻ hk;eyjCIS_.KӔ0k!eL埲#v<ܪ{+nb_?Za=sZoq@0eojq1 G m ,7`r\4_?ڸj a5$#q+ZZjeZ5u"M '^Ebb%!N>MfP]ΖrWOQծ)sef&Lf:G:{lC(<\-}~ m4KNAIa& c/1QkSn91[:/ C6_f:f Mfzr^.brV}K - TNHVn^kD+o|ſ+Ĺ6IwDUEMyjnl[RpSZ)DH 1͑γ1|bApݠt =YrdO)&bȷ|mnS~l[5'W+hC[9<Qrd@C?g фIhBP%[GMHҾH/[umqUڭpGnFJ((|; |I?} חC_%:p2[L?XFfyFmH ؞x?grzE[g$-Lmp\R!NN2:_j o~Y~X*0t &_C>A/#nQ6^j%xuIIsqm[S%:KUd7Kd ,OgxE:[ @A$jCEl={c+dHd혂@/ ~ݼ375;tK"7:S>.i2$*'R.G3jjJZ㥄87gP> T$2'(kqDADw8N\o։mbK%:7\;$KFUPz4xmq3Ȋ`yvpuW=87S&s0 [fSS'( xW)oVKoutsDnWzHґiI.u&' `2%7^W[ Wsb\^{9@h.q"I[Y21<%q}w9ZFƊʖ;̴S23)%9a'ӈSsb|[8L-$؁4] /pe:dY6b274q!xA{)7%u5]0-uF䦉jkOG-tRSՊѯG-Z)h$2dŀ2$m*jpwsCCCE8@Oq79rѳmk:nˎݒȲSWE$Xȫ  4=D&Y%E  sFg\ t` NP>)S5GCZf$:o7/i kdo7lv|-ց|=a䩒%v^Sm)iJuH:g,5`AI5O>kJub-DN'}Q|r\ny~ҍDNO5S1SD}kw̥Mj,sXp$9O(\1qU1SH<qsrN'ʟbݜ͖=%kvnE]R:S+/8eg&ڊMXfs{ì?>d%h'- L"ҷKޛxw H -jA`'oQ$Ց)M<3G]IP_3`ge'n2ss zĩ:e"aI?I2n\Ŷ}Of|Kw+p1P^1Dj2#Iruˏva` pԫ_%$9L IārUm{z併] /@鈣0$v22:1& nHwTTnUE2Alc;&~s6Wԋ喸1~A_h2FT@zjX m1.Xok.!BCh ظ"mf]K -FSF\.eЫhOq_ojmoI]%%E5u$SX&lwΠq0CL7f?C0e$P:hfONtAΛ QΟe?S0e/M j& _?C:aM >" ~}3&LQ7eSH2}šAz Hm1rN)LN{aΛAiOCi!QP`Ou ĹPZq=N}}PQdaJm07޽ h:WQg菆G?|O\QxPď7r% GčjW>@7!xk|>2NGTL냥sƋ^f^wuwwJ{ h5S&g2"Kzž̫H6;D|I'KtF@ 7ө?m>֚֨k-iu\&TQSHF]ƹ/ha=l$$,8^fU]wUWU}Hxݤ =Vxynb 9gI$ba8ZiUOsn%ʲ;@YHct*OI#IWVhH0܆ؒLѠhiR9.4o14e1.5"x^+7\߷;ŞC5-DQnf"UeRef^,sz$ٹ6:«|0 ` kl:[`q$omcC(7 tEnL$/Uu*B,X1OC ̖82ӹlk^)pxhNL8 sbg K'n^l9~۱.|amt [i-Up-L =(4di#֢_NK\ر>]p1mVCNGl?iI>[d4[h_Ϥ7k#Pt:k zqG$ C/DevVSKKLî]o*~X>Ɯ̛>tG5n6- O5t^mS+4qE'X Rn'év KAFf i㪻il ~[F2@)8wssn{5Ow&+%lm3KC-i*AF8}:h_{<*U| ƹ}r]K}X7-hO FPqCq VQuL!笏>Ķ@Ao1_|xxL7l7jPN޵]1 u9A="sʦP}@|+ ŪbL},<4\o7tOP$^ped-_Ļ"K"qxfS,\ qo~OOeܹp[v+eUtt2.RP)AŸRcex05KSavc0, Fį{JD>x?be HR9W? ė7vؼxT xdKYnT9 䧿$g4{i2p,eHh1ɕ V5qTHXѣNc?@j\gǕj1l|fV#ljFF'= ƦT)]'X!^c7.ՂI6@[M~A&{< )Dw N2nm*yiM'"*e9eh`y,9I&I3]{L @@E[h*qUH4T4uG<6=T)rOF #p3)l h߬[b~@ zjG`x<vS-9%O*6 Bg Sη`5uC(> XS` eE03|}iOln=ۜ颲m{[֗pD,EI2Fӟ31pN:AtN\eLj+iS}RA| i&$ًsL@{EJ |s-EvY8n]D}X4_%ԬR,BNqk&Sځh3U\4.͌B.R|XVǘo!<+b;qN>3[x>[IUP+cVX5g$b S=/3.2M!w j?ĆNA9]k39FO%3Gy6Z\-3n~J"S!**X0*Ӷ3;0H6ڑfsx xT7؍4y]7.4q>m0;]ܯ[Ynr\WƮWGl ,&t,'b9ל \;.MC+hXx~ӳ]*KIUM5}3)%OSi<ds F{_mmiw:,+i *ݒ8^FAqjhuJTkS0I8- Ipz\깔8es :]hlBKj԰̻r,IG%n۠i-8$=hWUpHLSOAH2qN)G~A0Wt3F?p"#s Ii>]|DJAq^SdΗ=׸.VdHiNF 5!q8`I/nߞ9)Յ+2!{dE4׿OB3}u hm6sP8fjgqI >i MՂԧX7L),C_hl_iM`"_+/s8άK3|>H#xAV =f?]O LE:OPt@iN]43YcL%cPTI QI>GS5w3:)+{ С88u3 $8<%;t<V7O!iP~`LCr]ti(cR=?|Hg ̴ҭcZ$ç沴TԶd%&aOSI$@v 6ug癏Dx(EZ.F:@Q&>6XSKj WQE]˘OS98`3P,M@FakM4|wZfuܻz)CY, [br#A1Z-p6쯡+T`wSk}մV/eA8V=*z|d xCKZM'y]Uι6ϠXn[bGW42V$JPtEy~rc@3BI߹N:^@P`Q 6/:/OmZ[Kn%MBC  8z].qXA% St(ўRwlI2MC/UFkյ܃ȖQj%M3,T_0ֶ WGgi-kDu:.f#{62krdċM )n?.ϊWs_6rqpPAN*{xZUTB%GWpZ%1L1 /,'_-9ITqlm*lO6{|Xe +L[ە|x]z/d,pFUQ-I 1G Ou+ğ]gQx2;6_6ڟxgWX.{*.*=-Ʀ_[tp#1Ai5] A`f52L$I6'q|OjۭW*Zŧ9nj K3=DJe6h 4ܕ}GTvg v[Ԕdi(idftrhٔe?$21؝emH7SG3]l:MQ6֦p@){s X)nǾ5ѫq6qY*`2 q3.NGQ*HM[Qf9 ,^݈Xw=r Ⱥt1P+Ɨ_ 0v|se4yaUMG$u6gNEHT)auezN0aq>̂.$ܐ'n%Žz5=^ и}e3?[Me覤}j 65DGSOqTT'.LW"F\ً˥tt{r[a`pZ238 <PuZ _gUn\tݞ,(ܭ⚆WYURQnoPE,,屐˗ Jr=I4TӚ ;%j9k+ 5b{dDm"HH0-uFU8 ǘ5busu*]p~֢ɹbZVCN4i g,шX sl O5pIc5Ӌv%u%/ݵE >tk+̬zW>GIWfA7$^ReN|i4%L=j]vkU;"U`,M9L:ީ+!+'ڵ 0 x:XLZ *!S76Fas"Dm_ڥwO*lǶjzJ X yUDPF, @T6.I#~kSG*4[rIjNvtx}e=]L0WUxaZY-Xh?b#it@Ăoxwᵫ b@ [OGI 8HYcCγ`;r-m]_8JZ6*()j4U 5PhczdQ$v.=X5ј#FS>a0f`CZ?™CH¥F 1D4,4~(6vKƥq_jaROS3Pba`6`).YĕuBXxRG%gn+UiIw LjM Oʭr4\ g4/kl4$dl5)zP uCԂ7*G<]"UT U74 9i~'ę pL 6^?]؆N, O,$ a#ਸ਼0,\cӲ z`|{/o^߿uUv껬puS+G#COd$v+PQm33o&֟"hHf|BtvS.=N!A"w?3=cܬu)/Qu|1!cEg9y$CK@>~1ey${@]=\Tq3=uzٖ#H AuA#F9UJ|5UU W:~c}o{UboKEqؒzh$Kd 0cGa֯!ss&Ĉ ɾ)SM˩m0 }bvvAy +IueK졜(qEτŠg%ґK) HG3䈠fQ HsӴ:Qxi_ !1!wUk0{V~'J W4I@J53<i9#LtJh%{NqCKZgJh+IQ)MOi=K4* 5Px`OGq&uL93uZ񲼐+oWZ =hV9 $\9?i[} |Ornmn}3P*zfxݕEr3; ,GS&_E[J#[7I ޿u/s.HHhjc[}ZyM*DaO7լL2ݦqmXYqyk {.uNB@{zn4:f2n.0 .s wt v>5=r/t[W.Y^ג Zn(HURWbFQ "UUp4Ve;O~u]Oe|?3S&K-t6n?B}۶̳![oqTHˉh&i`ʰ7Dfsƚ nC +QHs&5mPUG ޷?"X)%kUhA=S7䓡W1"Kuwؚ 00$H{\rf9/6% 4M4cWlsl=i%-,YB3B؅!\^ԯRԩtixuDŽ 39A"[8{-|u]JAMPc)3ָ38j`,1\ 63nw9Zv%FFB4!EF_w` 3`:8vw.-ĺa  [ef},ԱVORW 0Tu|k~[^+ h7/=w2iuO.M( \UFX.;pX˚QTniy2BLl6' *4^mrwV1с'C?\~grU 5MOD> aSMKXe3Z'ïK|w@th+fO( HbXdB(CT=SCȚshfU r\v5V=t*9idNde!"_rK=5[Y lv8lҗb>$擪׶ A}s<"nԜc?@Q OjfN(+dДŠnfZ?술j}ItL($)d|R~zQC53'R H4F|ƌ AI#P;aA$|ԛOQ Ʌl\PC5$I̜QAzNq'DkWNơ*aDdiO77DaF2>D8¤碉UYԹGfLt z'yC׌H @>i~WRM5.^ކ9.rӊI<5PC~C@:WĘK^;Oa.[1.1 '[fwmaelQ$U$ՊyL􎮐WU~}~x{ ^ZD$]ű;Nl6-} ۵W:o)犤-%3kE,}JO(8a&Ķ.` M/c3m-sWTߛnMTI8)2S0: HH=Q#Z6h?>#5+x=;͔3kVtSx⻗&xHwrZIw`0-ʢ73TBbLcʍi;Rk є7 u${a-Þ2tO Ou\)eZ=]lIvךGc&XI1&dc.(Hh<?0&yW8,_F lry(&۶qճA*E4a#鈆iTh~upAaTw$-ӯjyWfClMC9_F eh?e}Kop͞&[rYrޓQVPiaMM1S,2iLpP|?-J9E"bo@0$=W\]6qtϘ5I9DH25b6ح񓺭b5j_M,SJ4}L]XNd? g|Ƿ5-/t EYvSrmYq6#KFn<͖]Iw-5!DVѣyep$}O@Ր` NsJ籼>$+[-ȖI=bgo&؜_vY5oAQ_`"&( X'^~kj<ԨTwPX<6$r}#hq|*mҙy-m1 p0A|×d[m o7Z:詮Kҗ iCQI8&q+`aq4X*  Aue Ibk)ȒIl0h9]Ԉ\W|!D,d*ڪwlf1WSGny=y6c{;9^9EAyr J~Yxlm7KoeqI-\gnr{x4~ 鹶:aM"zdt5T%(ڬ>xO ̆n :X 쟱x)<]{Fe &ٝDz[ Ӕ˗kl_:Dm؂>u1h@ PQ ~t`B+i'`vL~ziCw^~@EF?j}@  V3$"==va/D V䫭+Ki ABӮT3ݙbB`wm2uރ^ σۯO^=K],NY^Y u3Ow#Ot[3E¶A-H#8^0.A-1/c-'?v]\; e6| ֧jqϺE e zka]$z2C/az#EDPtAΩ /9>Q.u<1}`[0~KV,4Fn5OLCQY-_ H0_34h~[V~ nd[ӚwY2R -)ʪqSGrp5pz:׾,x)q"O#~m}a]R۹{%ka0QG*Д 81ԃѭqfw.\LALnN7ɍ]ݸj {a"4Di0 1}=*#LFdDOeI1=cQ8in[o"^pVCUq\=SeYm%-T4mo'O,Hcٞ'Gc7Hs}ߠ~R*Yr^و$7^lFS6˔]~ǽgZ*)a %`f/דk+a쬨e8 ka&IhJSkS& Cf0sq$1y>X\(Mlj5A-PJ(ač_hydyNHxW=T$Á0pnfh'C+ZZ}ϦCm..d 5;0 Bv/ y˻.⫭RQU*GW K3U 늂6vHn=/هq hfw  N#MlWΩOpO\3:.4e/thrQo•erx{rlJ8$1EO%$ZȤ /Jb8S29d{Ei6l #FBov6.3ExEzo8Pk!r3uMO+WkM-=IImtY+NIL ʺ:t_.xmH"hI 6.aZ7j6M%kD^>*@~8ibYH1._R(򃮲<ִΓs}NwmjI. w33E_1iLUdPzH 5U\Imah 9D;z]S*9N WO[WnԚrTՕ-H#0a>߻@j_x`0i&偒BQ4F2V:KG ^*'=Y`4w<ѧomo٭:jʺ'o-9F`uI(9Q( 2Cc8vUvwHNJշ31O2U*1de$J&%Wޕ$vP~S޿D1ʭSBԨ~O##'D68ہ,C'J)ƩtB52QMq)dg?ޑ˲a cFs4L#E2aN5 ܥ ȓk(Ѻ Xz{uR7M W,52K!c!Hc5Y笥dFt@蛍BἺcK,D t9/ь%l兿 5 V-EXQsIE =ڴ%4+s:6|.u2J;25 T[GM䬫|\CH:~ H5,_Xߓ* AH&oc<ƙ26 D?o BS?\-]A@d=!+1%[ B k 1?D7}# ~>oпͳm/D7{W %H~XU?M?ajW ktc%"P][6"_瓢ƀf>'4,gY,>XR{r d)Ikr#@{_?%W,ȇ+9 @$~.T$h%%`XdrJ}R{T.&:P%o?,7vTn]9!r}$[DR۝XbFXXg,A$g~Zi^V0D4A'_cS]jEJXaBHe{>j eOCk[ UKvz./>zz`q+p/uXMI=EP\:FH98f2-8$G~uɽ7*]2 1Es#*zsk݉p;ga!*_GC`oBU~)ɿ&֛ TQ{|>uڔCOtU!la֭ ף9`1fF1' VN0 ̆u|ڒ蒱ཞ`x?܅ķ+yIhn]ocmڡm0f G?z{tk%"\IGU7g~0V%-c程Fku_FµUkܩ|UqT㷬5 nx:x)bS_*{7xuCڇK]3$Bpl8E-sOkI&&CDVo5Q6um7h#G8Y d1N_gXcq"\F -3 p]_cfm^~(Wp rU^w ݢSVR$[mUU#Q=M8L?TA?p,P qsա igN+pTȩN]I', 8Askr2#4Bp}n Ts_QNR [| /h͑}}[~]ڻZW7=m-%aE} OW$^^rN  E':32L/ W/T[k2\8Ne m4KSwm5N :S,T1W'iiA}8 *L~{7"yMs9[Aڽ߇{; ƋrEd78—[ޯG$l,wUh &5Q֫oRB|ԁ1?Rp?@i:u` ?;=;i5(<D4d{nK47M*kKiwEھ"VSO-cw`=yR ,`Ig _`{uG?U@{jdp!VLBV l~mjr_kvuigJzz,U#%GRW3`4[D= ]ZgQ,ni$"!Gevw%:-i٬OzCΐHrp^P̑X 9s\lƆل|P&"Wa浂!MI+q)7^m@{m+-Eeʙ!ZVRDOꨤbRrԢyhb{ {~6'4f;LO]c +.M12ǖrT,}p;'${8~g;%\SF5S0pI {YE~f:N#?lUT$> U:'TS0K#V*~=º8?qQrʼn 0vP0|3W`˜\1KV6=V;wXW6c_Vsl~% =NjsC7$wF &=}~Z$&BkY׷CK#h&I\heOh2^@sS?TF _co A0ok?PsN7{=5~W0+OɥK )]k z}^FoZ{Ecp S!"r $"0U12'"ANt > T2oP4h;~j3 NyQ(4G o肆_.]/( P Y=S{Iv ?lhD Bc&ᢏ>em*g VDaHMtm/#fwwDPMqHJ'~|AP?8TEK'oWh:(,l̍@ƨ)UVʠ t u('E-Yf?dh 15 @QAhqefq}& )lS|4ٮaN 7k4T4&vG:aNx]SY.E视hl;_(& ໇6 $a? ;Q@5 w ]֒Lª Cܻ#[ye.*lpz=={|;x$8!\?7tR? Ee4CDf=ɀ" P8A+Aq?L08A-k )*S oʣ j6觻\YM :$S{}X?G‡ :$ìHjP0ʏƬdF-v]rܦ!wh`WRcJ䯫7AlgЌ As@FPtaaRZWEJHuNOw_=;~IFl+GKigp%2gKId>K;(8xݔ[ڵp-kTĉGyofĊ {(b36w6gӬ4I{@~cNھ֛fmZ,Қ5f:PK5\r Te4ȔЬjգEc Hbc-6N,K82<LUZj#,N`eTwKkp?GOSK4r\DUjxg.UKG!1"JoC[`I1&p_Eih6P|r35 "MJMv&W{ PE{SYYAZ%Y9å!PЂꮩ u{,0pdFhA'o6n 58 oO,ݱ^9f3[bv~A&|KܣUdwkTk M^ ɤ8Dd~^i b$CvY7.t2HFլ1jl,ִ!ܗJ_80opU4xbV}үO ЙrW!UF5g !EƵ!Eĵŀy.Z%p}؟gtۀ;|7Vqrl>qIX u+=xłsf}f]% _*+gpkPoi䑃c2{;ca@h e|coX%u']ܦS\$9@^N97q%#CkX*C],nO,uJφX#5i>'ud -Г {QGpB­!\@IRb_g*nKÄtlڛ]OQYEPODtHሚJy"Q%\wK ̵GNsԙ%@!yW\]wKi2=lIygxmUCm,Odһ<}bdpp_'?تǽW43Qi `U5N Thi %XEa?_CMp3OI:u! $Bpx25:vUNŝ/@s]  Ž4Q#MK'i$ɺ|_ Im]ed4Z;Mz%FgfơQJ7410? AIt\:sT eng<@-0:Lx ۴-O_7G2se֭7 $SQO)]<~UKH"@F΍Ƽ9v ? ]D`st.I?O {E e;sGٍhZ Dԗ>V;?jV˻.v9)tX^V9BGT!*-q \6$I?v]K6b(\=dWϲ50m+ݪ[*682V9B [sGag=ٶxs&Lv'W\ltGayyۓŝ獸UշmiEi;žX X^ x*Yi0KN'ZUL7imbd=bӇ nQH ݘHpl͗ɗ{1PٕT]6miOjHj&H "HF og23 ,23-} 9xp17LKHE7W!p,Wm]W {mѰiR ‹iYr sjq}Fi$q_zX.Ikđgo5nx ٩^V5t01'Y݃s9i6 zt ]L?btͻ_-iwQ]vSwsX % cX!#SO+5<fHSuj/!efno.@pp.*xZK];\&V+fEdCɶ 5%DP=$XCLzpİWm1f.6haaF M&;)Qn*5;TcehRd {A/5vr[;وh~6]}z)KqJKv=3媎;dv@7|S3=R7DuU8/ጦaFRݗ#v?i}Bq6x+Z* =S dr 'up6oz l67ne|,65Gn(I:q D\w:{IVņm7*o4ܛɝe6|m-$ll.IW98=16'].xm1ΊyZ Awy]wx7I5t96z|BG\hDh ]<܁)dMLiG77DѲhHl 'j )6lyotvHuImŞO\w4=B&[#i#/)M&Sg?O쮁ŽCD\ ϙA4}B&#r9Ā?ĝ764LtMP}n#M/T6B1_Y')NpX@1i[SixBҁ]E$TI?t拐4E7\t)__v1u<0q/|ۊ!ʃ'N0hn(:1gZDaa_hU2&I|ٯdMv&Li&-MpS'De SWɟC*Mpae a#ӌ9RnLovL3kZC}L8΅ $ޘy8p8:xpwGw[E?@` BxHBtsh&NWG(.(5TG5,?iG 'V Q쵑sucfEU. - 9$]äo(6?P.Gn}jC5:Qjx@?|ѣ24ꎛБ840xB8ҏKa G m*|V^#a4.?qT~_(M4 1EMryCKc"׷oN}\3'L4? td뽮YP->= oX Twahjn;M4U-p)X> ǪÄ-m~98$:_=To|ۺuR9oT5|LZzz^Z2EB11K9`؂z\٬"qSh39[\Y1n.-\K~p߶o,h*W*&jdx(ߥ4^B%[MɁ."2b9+Фq*9A$0 CAH%rWf|vۓUL;zz[5ZRG*2tf@c `-!@^eJؼO`bc7C ˅΁G;M!qD;:ٗ:T:ۏ$zi০e8RH]UBMQ,A":VPb&h7qXÆӒ34082@\.-wv ĽWʜ'c^-W^QRT,Z`*JgZu*j))%yzYRjW"Cdf8e9gX.vRvڸ|kC2p ekNM\gb6)Z,W6uK4t5 "y桡>t]&=d\Ujbgl37#d\8ӤW{H֩ -GR-C e2gNbݛyW{njk-㐪棬G %XPRJ G;{r\*dt=t]*'i?~bZ=DSpid|2/oǰ UCE"\`M!@b/"WWEbbpq Z`/ʎy𲻘4:\`e M[Gyxݫ#ڿ ے=gQ\lXfg"QTg2#>_>תI{r pśGeq;ӭm 09ۺCyRWύ^5M;k<0֤[6Jt)GM\b:2Xtt a\ ǸS;n$ԋ@:߳vN Ul`A0\4Jk‰G$W~S%Uj䠊?(tL':Ȗ Ls}H}_Mk1G: 7H_v*=?-zܯ.πmWRU;:jڮqL9CH$uuB AXx%u)%F7Ј!}OloM{1Zgst ݼ{N- x/]SJʆ20|TY@'_/I6v_ XZ,nP4@6ּFHb!ʹ8bYZ(hU45^H=t  ^@3R˹9@"{˻S(NIΦ@&A`LI;\tsf&okM5srtw}TmS[UCNT,Tt8R1Ӥ sY`? ƅw2%|q;xV13`  `$0n6Er譇gqN|} ( Eq^`*҂I[5`kH䋃؃'~?Լ~2o J簼ֵMɋFK|ATI[cX-6߻.K.hu5zz+(XT=:j|'F53;r֜I"2U\K֊! {nC^Tܵr\wq~ѨU߷*QQ+#=*UΊ|HXF Y]/g#:D h0yDHrwCGT!E*,5&A`\IT7kەDQb롣VyMC"JC:dJ{:2KYa9A$r.nwD-^+nb!KA綍o+rn; ( ;4ܷkEmU2SQUb8JG8w,-|Af7x63au\Jb0A/ 67WI35(<%r}cG+iVbx! b'1{;d Q3lƻ@/ɂ`&N 0չjP-`,$ T|kMh6=TJ/;bd7VEmq[yHm@؃I7`o SRLğ"6JzMg||w] :O}7cu¹9=jVPz%8*=Jxy"&"Tf; Zio)kVhVXF4! 9mW?|9k~q(0գ[ĕ-M5>޴6}P&V v_.a%鮿\%ήINm.Ghy =k-"fJ2] RJדx9]?CW4;ZXԂw 7mVpp܃3&帿`:^8~=Ч?P`ٻ~K$Z^2!(_}騶Hp{&t#-d}ZHΈj`&쵎C}T' jQt$cZQSY!cgu Yp%Iha{OD&7]Ot솈&;~z`܃0M|ȗ{@B7v!{gEKhAke~zfQ( |lq6M{(aI g$u}tl?~a591fysLp ݗ#~{iMw۾~u=tS7DHCDa .L1?MdK03wotNt3@F<jqAk4?wrz># KI/s 94Yc` ALV:o<ܫ}ᒖn5cЯi=ԝB Ķ$cw*4)4}J:"K˿¹= ?.諾\MO(:o){j~F>j\Ʋ-/sgiir&ܧdF)N:/L8C0@jX]TӪ?8t5r2otgP6>*@qOv7{"1}҆_V]᮱Ǣo~nE]vu p&n1WOB@叟\toGpW65::!_QRB7PYLzSvտټJ6CIH~ʃ<ʔ7ifu[qT"D|#P}@ 'OWGnp3$9X.A ~r Ha { Mɰ 1nVRlת{h-A`4-A<gvBB eL8vaoWˉ6= LNbq5nH/sD ΀ .^"]Q]h1i$7h~c@37eN |X_r\)0hIK[R[/o*bٯv6}KM #$*;2YbT1*9  _p gP$C\cqY đ=zݗStSsUTI%I!Q)$c #B̽#¾'o0KI:Gw:t0l{q.`- AHhqW ;wzAm;١JYzLDa%?8#Fes0?ށ'J0tDbA\7IZfu󦕱$'uaxt ?r;W'Ӹ lm[ %;?aԘ ~D7'9뼑/=f07D[4v]xi6Ѹ(*UeOh1=L)sf7l:l> `q% sI_moz'up[2 NtܺE=Ҍ ĝV\j2>e&VNBm" E :?/HxljW] Uν 鴗zW˽-;}|xj '*D~\οhЉ OsJ\+AV#DF&ڡz$_xGR5l.5Amrd_<\Q'W\? I04åO{M\w@ chx]l{cTT}?Dp(17D2'\C ucI$CP3A& G|>G]] I1#7S-!7{?`F9tgY>C]{usAk t|i@{8k(n=#u$h6{ċt+gZe ]Q-%(ה7/ q۴@+hq QS*G\JcS!i8wxzMWVDC@٢4Dt[i,֞4m;`J)N#Xb$i#\2uU,;s кsaB.0&׉dit ;m]ߴx[*>7' n @V@|#Qj !v2krobu%t0Pjyy14 hdKe|}ɹ,ҙDFV&dh eaZi\5\.U^q!+5Sj6~7ݱ7ͷe6{ v,e@f%䄕Y3<9D;$mmX^m E쌓qvu\kokʚJU%M `HUTJ8"[O'S#S"4 Zu|Aa@N3&$:Y񭺛oC|xmUW:*B&4Y$1L-ea!ΛE=4^ntQrtdHӹX^{[7=[#qh(:X}2A2l`[Uk hLOqe @M]W/_(\e}X+ENIqaY RP1ֶQi~sSËRrs͜|ԭA *w[`:\,%.CI(X۩qc#0<^~o gCWpp fp#^Gʽ[j'Fa3S\iΝ%HbKtF ml6?f+ nnEֲN|T?v ?,ߴrŷxi4D(v$t+ \1~qg9hzJ*=ESIOlڲR6yeP^zfDQ'H/&CS-htX TP00TjmM5sI7Kb2{y`67 ))ܵ5]a]U!i+eW ݊GéDCA]b$]GVcoyn̹N8en!t;YvڜMiKꢋ&jJB&&p>Caتys6Z/y$uESIy+-J8/[-ۧGfmH$z콵.;Eg2DNѬ LfjM縤,T niۥ[P)2ľXbY]&=[_6HM;!p>Г5ju bE:M>۪Jv͹i)mVk 2+3#QʙXeZ3L.0l-iq?xѕD8ɐ!MP kەY+߸+j-/6mcԒzK4Y1eH5@W`zC.pbZ4$CA.$zUCu{9A:Zf-rzE*TVZZi-,K,e1t2\vLf'/~n 36Ŷ#kM,rw;nתq)d$MSDV$9= Td~r~||nH=?qE(.)ľd3JJ.ǧs^`7Tc:菾_}a6-0$M521֊E@ yT*b;0WޣM &<~6a߯k|~qpJ}e٠D."WU|]Q~08p?mX`=r=zы`0?S#DN.Sa$7 BFj3OuwIk= p304C12nɿ`ƈau OEk<ݺ+M=̏0 _s{A}dSL?tQDb\~=nJ]+W?:&JHĪM/vIjy?u?hh*wL"uAgrE:0z%8:6~Ʋ&o_ߦ8N u~R;g?O{ŵ7L$'W+ݠ$ P "I:Qc@79@+{v7r0i@7jOMR>M'H\}b#6DD y|tK@׸q0-]245t'T?V4]7]&PrN3; #%Đr4&:_q J8\+ZӼM4[(>9Ip6DA﹠(uMtd~d3uQJoAQ#a! =)ޮ#l0  se_NZ8T.GyL(MF[fΧZ(.N{uwq8`H *ׯ{( 0 Fa8]11PqC:eaΩksl MvLJ"] ]a7E[vwL)L. z}i N.dW7*褅hPN2w?{.I\pm"\+e :eh-T!&úنOeo{MGY h`zjxT)hbB5\Ƞz+`9g w8u\׼; ̘jXZ}Mճ)jZy)cLH*#`Z <=ޣ{蕸MhkDMkAz^׼wyz .ᨤZ!+\yE9Ral)iPª?sQ۶n0Z kO[YQ{T[(d۪&YGaQU0,YD6x lSO5@eܝm?#߾Gj/tݱoIK䣴7:D`p:GVH fe"m#YS4FH{\ŗTϿ2~4pQmBCX%)y@>X2۳fqm#a[kNbgK"B{ӏ,HVI SR2HgeC#o;tӠUm~4/8 6]+cltֺ>mJ T=:X^#GCq}֐;IX-8&s tcKHEį =b j#IKQB^Z'Tw9 WT4:Mʹz`5AIEߖpvQUDYDбgyhA,2U5.@a#k:đyp "@ؘ$5s ɜǴiƶ]Qeta=d+1 Յׇj^`~7s.}^?[CܛBAr$1-c AI吼M8G/7rA5EYʐ֠doua\ԍ7e"}k^ xu<:~󭎫mu^U_>۶ !C5{핒BpWٻ7jJM#]_j1X2$c;>tYs"/(nAVKl\m/hj/h$!TyI:|nf zg5*GbsEVmyRSiCwy/7h妡RmUSlpcNN~JUhf~[k{m74PN"p{wh<л:1fi$Gg #&Bg3 M`$LndNpw2oa"Os=WaMm*ll>9INcM >JhaW5 4[u6&fMG#_/u]K7>=-ŵ꺦>Cj89bfݡܯi ZDY&^pd֙%G%Jن۬j0+aIg~8X2_ÚXX㮺ۀlĞ&x '$EHsF5.!*92m增[_l'Zӻ2#LUAf,;iaZh7X-<*Uj_`x$*e]*ʹR7J~RS?H$4P3~{bELƃCuEoxGJ;`~@1~]uo [b>]QU;evª8`~:öޝcbg- fB7rKLI퓥8QV(OKIk~΀I9SἧpmYyez#y'TA,԰1\n'%5`^ngoNV6M#j v1vLC *zrză n8fRyԍq=e;KX:H#@ 77f-0"m*iQPQ$wDav 2g@A(x!38awHv} "gTv~ :&VCݭ#dW1' aFE_ZZ1B4&8 ++ px?nnGSб]v#EweެߋܑA_w!Q '18n0B7~'4}~I_#S\&AO]Cc̒/hAƘe{a;vfSjSv!u=eaMAy6PZWiۇu9Ѣ\QƇ6Hqn(-tf.%=gL=i_db! Xj>_]vtBl uǝB 1' U( }5=j4ƌ 1]ԓ g4Ɓ:$v$JT~DKHR~ pH貙6~43~Hڈ't+Յ9 gw?;pKb]jqٶ秖"Ku,e`~w~ry -oiZ]h[|[sWo[8THKa1 Nsdtd -c_K7ܰRoQp ODO[dÏu[%w&хOޟ}l'C`Tgn=ʴKSL؅t"t$GE{- G5eKE,J1#"3w%2cWklJ[e+$ߵ42T!BylC%>'&9|@?p }EmbOhĴr"蔃,cC=j_omn_i<ͦ]uKE=(uQ@#?2Q0e :Ze I Y-. :L4E0.as!w˕mlU=E}:j*EMD1M5/y6>2 +%_jqD mAn/6xdsXoKt֪[jw9M"`'Q ]ë=އ_MlIhr[dݼfۣo\xVBԔXJ==Fa%WJԱ"\@+Oڲb16 'vnY)mDn {IYʪ'0R e+4Zl7לqOs؝mmmݸ+o~/孙l6UmLXXT큮bf2gRpnacm-!O~(nYvwUNRA}=C id$E W9g` Vd:㓋mHq-u~}wh\hs">zވ\]y|itcHwk p&Ҥ[M$.`m'e 6n.9WۭbXٱv`T:t0(mF0x*UjH$m@E۫|@l]jde6s4KL(f bRǬ0VqU!ϮOh'_Z$4d.M.ٹ(l]UO$ BT.E04l@ ($Tb N]y 1o I\_8n4gF@jw7fݵϷrOG/\=tձ`u ?B\AӘ؉?{z|5iRivrH;zmÔp_-b8T!*H[οi]Sh cwKmOB[su%׸m=$5Ex6Fp _el=3=RԤ5)-;h6}JTJȕ1Ԣ~&a4}dԯ @:[c)"foESYW3QV#]ԓb7p0 "'1??_IZY)1rGl=qPѼ.9> (!f4{#B!nRTžHR١=PҗOqVQ g|Jcx%{GИ*%ʒ|1!>mTk~O֬U9 [ogN?F[i.ᡁ&&и: $B;iEu9|-GQ#PRTn=cC²'bPs[#$5{cGPFǙ5xY)E &ACtЕ]t&2oͶ:F=t[@@9kl;,ФHQKBo`;TO'ڡ9c # HM ~tpCqtGirW9aDlq4%$fY\jxGd`^WGaeoi2,bi|VqlfLUmt9tYƽB\*a3zR=?0FFG2LJ6;It|cHH)PU \qSUg%op Tɓ.qƉö.@(aVԟJ/x/[7KSuw?_ٮˆCZTctFR \*"2N6{_s];bq~g^ _sVycRfQ{F={'QTFXu1΋dj%usf:FICedΖ%3 !lއCʾ9AoOM s$:>_'Nĉp8p䘙[]7;^㒦7fu#ct]UIL|%G QĽ~NbRѪS.hoP?M+=Ĵ6m2D lls Y+u_kBZwی#^ 8U3TRL8O7$[XB ,`lQ#Eq-E*;dZK ĻkP$nd_x=XZۥ5\]%5)hĐ)P8T@U FP(+fC[̚Y;L }>zHc Lj72Zy2FyгtlN>i%Rqb,^8?h!FۭsqS%+POc|=uHe%/!p]l F W#XY 22g\{*|J*bA]*-r`|~uoku-t{sVf#) D!T`g4* &;}b3KJ6~ŽoOS=dHQL+L TD@JUda^ĈtMR<ɍ;ɷ,miwa NP-Fs#㤠l0&/xƺ&΃p ⵨jl^]ljEDWm 3SSw԰ (뫆,'#6/5w=,>WhܜŸd[MmT0t2Lfi.]&.:}W@հi zu{ETm?Kicxnk+ꨕ*g4rrE'U3L??챏h1TIv qAZ]ª~PtRAAb8, KڼD8?Y5ii%EY]֓rI#' -7+P[v;[1IYPX^4l+%) 2v1Cqc\,5}yię]kXi,\)k.PÜ\C cZ\ Jޮ$h4T20=XOOo }[j{_L-0'Bj\zkjI7>~ƹ,i1Tr lݥRDc}k:,=UG }eyVݖURK;]k.Vp͖}߻õnŝQ UL9'sO v+S5ڶ)Wڣq$y#ս/H_1.1zVvJn\v=n9l,+5CMg;duQȡԺ9Rz'H0tؒzj[WKUƢZ1O#~2s~_Mf Wo{V1ͬgUn0IL5-w1 ( OR].7uY]wmdӊZ !^?#uC!dj1&lL?:R\R8QÖS15Jl_NkYewezjчPC88?m%CL;sSx&dzzXg'>T`ju}̂ם.QTi$` ѵb}xq˧.JpBh%{ 姩& 4\}Vr'2{Vc?:'-LŎl彿]l%$FOUmh蹙B֤獺"GO?L0O%gwy7ZßD0S{<^G~ӌ%a툾MUvVde@>cW?f{b-`=Z~5}40Vὲl d 8 ekD*@ -LKH=$_DY*Tt.c 1(FʪƜ0 !9rOPl G2psaxO9=V5p ;yr29i3dH)J $$# `}4KLH߻FLupw=7: ;=1h$p}e2ez2^4!+MX¢ڐDV6 rϯP8+E UB$Ҍt5/a۱'n#T[+_7#emi6[e]USq:IU,\F{` ; c/n,$' ^IW1r[Iđ=J,A$]2Xh!jZDl"!= 7?|6 3?rƷԪ\D*_B '15^Cϧ[N9Xղ{D8ܪ$CD7XV;UM> )j`cQh2{?=G:rF{5z$gN : $ ~gD8B;t}{ZfȄAҸE^RL,hPMeY=>HCdl&a+zy"h_ӌrGc;k&&2HN_:ߴI[L)$W'{cu%3yibGH}2s2CMmtuez rz=3PCL\N}"3TFTI{Y? zX/e`q:lNOlwӖ:N xCz}4 bCt7Q'?]V ;,P8:\βd ΅Luc*9˞n:|l[*TRwc\UJb@+d˘WRFQF;~msEhދ;Y5ܕUE4$x.1{ggWQ~S&LqYS*nvuc \EœE)O!/ϠjHNIb; >T3^aNcuc'/Ts1N4L%)tĜDUF] +iMn<ʖC{iJV$~?=:7=@C1JD&Hb2) 2~:[ZM|20 =5Y.OQ$gzz7;'Tc$k\Wtt hǮtS{*iX,F=Vdet_9Xj$e@Eۤ@)-{N/aDl(kjJTLdfP>ݽ=4ib&ha7 \)$V9MFT #:8PN$з߷QUWeL\N*u#%>##bƀ]?}6pMS-E5Ž ;{H⬰M b:,B%ɃqUFs ? e[j*s(ȒT @X\`>G*D\Y\}2KOP#|zX,ΫqE’-]nZZ#pJq2 O箷 LinKDv)-ĕiI$/z -b*/Zj(nQYv PcaXb^=ozNXf%5;Xj9K/ìjzlݯ?.!XybT@gNL#촺nj 3?Q3?:\Sz}_<\bWw@p;|~"cO=MHz,5IE VBa>Z/%ğUc]+;Պ42G95:Uc+Y)*9xa"hfV=aNnIyQbT~]XE".1=E{ ߪg,`pqˈ 0^\ҖulBffʠznCQN>5X%ӿN+zz{b mdT:%L䓀>}^iPdP)" OYS+~**4 UjDAP=sO\$2FV6Y 21/窼[6T8)$>{y]?Ϧ?x֊$ &f EBRݦj "2dc?o}hɘOb2Vv#@# |GScaeiqo=0cVo0A;n3*qVr޿VRŀ;"5_932C uaǀS x㦆8oU'8ʘJ JRI A^ҝfAV*x\S̎".D lz8ň+5F@Y=,V3T}PgF`UP|ُtMKxvĘP}rA?PcDH/K3UIy-SYP!vBLc d-;qfu*3O. Iqp1,d|zNpt-ip5=vZ??Do{`G} nBuI]ٿi42?]84Ps$:m{;~H_^WD {=5 v3r,A̟߭nSAvIHCk媥jkʐ3IapJ-XX p|QbX\|HM٣"'m%ooBs,$|G\smSM,G#0>'':;Ī]>hNo,tjP=JOB IbtW)/#3XZ$:̏AdcAW-D0Af]9'o\da AcЙ)⪆FPÀ;sqM*mPࣤS檩 ^gV*۩JCO0u )/t-ӶEugʝelP0#?Nym+5\9Q,6 #"An;~4B29R02s?LJBڼb?']Pa̭'r\RQYDe13l}>z[KR]qʋ=TF2B&`N18+n -FyY"y^^Oq? $z2z&f]n)EtA/᮫I<-LYdFOUJim]cf]Gh7T&t13ZQ[tCkd,J2N4IM^ɷ!_5zY;M.qAN4C  t7"@X;B8 Pꓢ"ODBF=HQ;%s L.{][QaX\d}H."!p\ A120"ø-&'E94.:A/4 5Sv]ٵP=5De@n =mtB[宊V;,IyEͦOe+z*I= < J2!,A#>c%EUAO`Iڼ=XkCTEgݿ_* befEB\c![5[* SZă` 巧ӷ夨pDy?I9'Y*-7GL 1w_˄Qo7;P̌z|Og'e^W RWRcDi#9>o\uz<UQ}Z 2\v#T8Cn4q8l QuH ME" *7~m"R;kA[Ls ]d%<q8_]ZǏ+`}m,z㥜dS_@2}{ MbHcDȼw䪞5:T\=Rd" Y[UUHB"(ϡ9ss20\$`ZYL@R \ Y?D>' vBYZsP'R^"W%e=>=9:5nq ڂ.}d%S+׹:;Do2y}t&_n*;a_s4\qz&VK@"L?CKR2@5SBӸ`"O*Vw~nrpdvi2$E8Uo0W?ب+V# z /V0ՙ哢ȀūoWAAs5@ժ|%Gau8(W~;Th)I >5 Z`k!5aYy/ԯ_O-X0gO5Ӆ7x?Vxe]I|)% u |k5?Tʥ.~ (5c,KⴝgRxocRSjOiLk0]ʊW,X֨mv:GS`"=PXuGpISKePWAHj sjϯM*zɨ& W-fHf'ǿU9ɒ臄 e2$Xԡ"H2=jӊH#8zsmKf ?_ߩ{Hɒ (6阤.i8|쁡LG~mNU08?Onuw; D)a:c: KPMQ*՟=u[또ЙZMFyxi%+㨒}~'5TquwӢ4i̓E(ikR<`}S^`S7?~5Y]qRnzGoBTZ<y.J7K(8+5i!b ~?K$U:*ӌwWGߪ"b٣%{>QD{k_!] uE$&E,;:,d֊5\-FFXb3:,5O ~:Ar~]r .t]Y.2{u|{zMXxJ,6e]bƝ7?$wg1u*\YjT19:'w=ڠ:SJQYq` E*/DUQ0GjArxO F+QIoc3 QP ~0ƶ.>]mfMʎo|i]/T ٗmCd䗠J$`=~^gc@;d(?'Ƴłt(:ÓG9A8Eү OU;F_U7{R30:,)sNTcDF;}>jԑ'!4Xz=<#@~:I46{m s2ZcН+Fo1WV!Xf5-{]/}hJ B*H!!\dctİ;V()DdD/}Na1ڕ^GEW/6%9% Oj~Jwm?ע۩iXHs?|ӵz)&Q zxkh1GL΃Uj~*K@1keo.z=aP8L:풀" OC:HEcӶ1DAvʀcin,\$=9J j.xVgԽN!RTz@ϡ5)Fl?1E2X:HT}#9ʖYu{@V'Ү.=H 1Т{`:B.O'q"}瀾tmk|DЌqdЈ'# Oǿ0PܥH$cڠ^RB?ޥ #DW **ս mn"{" O9 yE΃*s@ C^Qم\S=}N)]!T_p2_Ybn D3!N:zs'Q1ıG HQ~Vl}I18mDh1{ʊt2U[* $yAXS-n@uQpJL{HRc @,F}~84VBFܴPR*t:ν~#H] [gT25V;+At3!(\q:&jpBqh'@. רz:"nk=^1>(<͡/cVjJ'K*z`v=VJBl+z|w=$J QBc=}>u(n臍a(C1f.ޚ`](*RW-OB[7VxܪkIjCd ܠ^J[LG YQs|$:֬}\ƒuVՅΰt_T'?LۈU)BXܪ垣SpQ0*;t t@I001tr: Mxz9ƪ-h0UfVD.sL@ YVAJi.{Ħ $s/LT1`LNݽt]Vd!DZ:74ʿu}iۼF,[9Kԑy͏hƛ'gP߼ +#st=Q R'L\(p*7 l Δ8y~_CloTJs\=d A(DǴD9'hgp9(= 5UȴYF7yJOox5`-zAPX'psmeMG>V"JjH$|~Zls'a}6H) ģXsfV'˅-rӚ 2Oirq:!ȸQc:HƃOnhm'%V~j:UK̀+V: =[_3$a3 u8 vh6YLbQhO?}5kW 2įct]SM'B|}tƁREp\`HL!T y5[p2UhH(ۅ!_+'V~ciۈRy rn^'K)@O^q$LtƮU[xWVt[Tj`RNz?}@;V'ru A! s$~6;$Y%n>U1?NV22uK{n:<`lnn ;wRrTo]':.nl22JwIUdA|^L Ijގ:+y{]1JŏlXd3I+}!^2lU=uDT.&$Et@U|##LhgOޒc,W}ThCs=*4 dIё[N'V7، HA UF/a?u=嗾K uZ2kC`CPb@7Z{-C;MM2c+2opp{NWT3Quai>4 k$=% <C}P)G7PY8{7mC2PH'(Ry T(J*+,{vP;mHV5'_.k#1!T[:-Jh5WQΉx"JxP8d^F>~5DXj`T"Dz[$1n/HH&$ޠML} J|i^D7E@]zTu3=>s'FTu*Z+TFF>Y@\ym$X?^ޚV/ꑍtvuj\'x>'u[ٛUUyW#PD 4r c #ucE )H˫K'=8uI6FSWq/모L &;=.Peu=s&USgJ.B̭Ǫ2CH=r5u:"tX-mEE2U tǯj8˔ z7aZMItD^13W ^ 'UPb,T`rϺ"[go=PLs43uE6OX9\d}> TGs'h}fկw`? %5Tj% :; PN+Xރ~JjtBH 3D`7}MS0.ܜtj]!r*g+](t$ D(wߢ5Pi.$' BN )?xuX(o}0pH*+}[9'EcY:I_$:d&7Cj4MQgP@D wg 0yB@WJ:~>ت۬X)?_kXHfoܮEuY@Ǩן8{{8+hyg sZF%_/*DzD/_ƴn1l6HOdv$5<'kDQUc,e89IEf;ZW ZF %8Eđ{ѪNY "OF0{~]x$ F8U،~2u\B7ETe1㾀 #P`߄rAhh&" T:GIUr8a_O7& SƎ탏3AG,V%;7TlI.?tu%fv?3ӷQΛ  ]+`I#-0=?~ʨTJU ds:w8jlzFGUpX"ҫ|#V\tǤ~9 v4c/W_4ȝSҫ@:muaDIC%l o}F}pBYn=Lli\LKWT);RGkݛLPZ"1:T[1z0,k'Cא!def=Lzqt!9=h"IE!UVŦBvQsH2q,ڵylcZoͻ)IOP 7ǧ} k VtadyӜ_d¨Z @J`{g d黭;HjOx{' ~}>#g~{+SpA9?j +\kTXEm!)V$i!QQ S_(ޝqU 8|{dFYB 2zF?u=ᇗd;~;1 6GŷR̩>>LC<]np¦FW]A]6KD7J|0P̀dc@:=3Hj$øJN6t=(ZF P@3h LY]nA+:SXLHP8Ο0#~ZwUB4"J!F@@P6/ڤ Ƨ8s?M7 .}C/t'xRz ?L:-s@N *Z ϩ8oG4(NMX&NW|Xʄ I\Ձ ''$}tsnSȶX\(aՐX]C)f&̝ 3܃!L }5at)ZI ֊H&6),ug2ON?fV扒! =L' ЄjuUV#f2" tA~C4 A9uHU9= :c_rD+zg>W b6ܫB:d @= 羪ualHMZXI+#h9R@۩5Z8=L!6BQsMrT$ Z >jnDC~+Wg#>gT+􀲲VSTc9n|M钭{@1pzOWzt*sN&#%W8꺕6Cb#b{|43,-W]÷Ս@0UGop?3+]{BRCtt{ձD+&2z}FƼ+!{JHC{4n95!!tIz_d ǿZ]JhB$T?_]6WC'+?WK:EjHVM8ŸdP)$?:"&a{3M=a妥qmR)Yn䆊A[LXpVZ '}3uW8:JFT;cn";$5Nn'hL(ӽZܽ-ꤜcm(4[X=3)2I=/,`k}6qT|-V3*4V0 PI7OW BGtL344"yH|5ZRtTh"'$;zm/o#t_ecsbB2|; j6rA?V ږΈ9n]D0Sl6J:>יQ寛'$A$}>Z[Ht!{5WS2-tذL2{e]%GtC4LZ9>]>.ycDMST{mLJ*?v|]~? 7wG88b_O}> r,>?|昄s>>û%@ ^~h8:b>OH=|XE'Pݕ@'_LB 1`,G#u0Â@R}1/,D睃3"vbmg J$-*U!N?^E2d7Hjڗ"9 3A9D'Kzve?]\.aWnȴ {Aʁ-GjSx'E߯lT/P8d'"*W#Vʋ ;1`G~01jˋ- 9 ?"qBCb??,# !$`Ҫ^QĂ(bM<גGh$t؏Y*=zҚjK"nv{O8yM,B0 5Nam9?S!Q0 :>B h2d? _ -./Js}V@:yGWsp Jq"xbN; F!`EM8f ~ǒmd =uMetu #އ?\:MIxh KJ#_=CbofUEX@Q %]V,\̾ #Q"=j'M>j[-+SJ(;+)סbw-ѵꝴݷꎍ>X =8~9V4K$ p-ES]bt8z4lR`$f %"IBA}~^uK#xF3۶~PXEvH"}?.WeM&yeAOEE*ƭe%:si7- ֍UٰUFHge¨Q+HeH+,đuN8l~ʺETW>A h $F2,Dv4ZAll' v̱1ncԍq 6mzLLݻuNL<;DoDuSM;*y&nx3z tf"j&I60:&VGR*V`:Hk@%iFĮzil d*)N0¼x?"=BêURBps3N;GRJҊꦧ"Tr#5R/glJdRg~s~zS@ `=?!pA#T@ 06mUzxQ"*.\|j?YXłp^8|ՆEbFH"2 GN$[HU:7/5Q{>@u@BVu,~<@l?DnJ(_|鋆+O eWO듣NA"Tª%bCtA4뤭Gn6%Nc1ѓ`nE 0.TD?DmPQQ@Ue/" H&2'=/?h KZV&U.'p?O#V& c=fa6ZM^ɳS !3wΝl-: ܷ KH(O%aզ~X}4z&u`G\v|OԞ>B AMEo2U|cx)A<tzs`PDUꪡW-ӎ3 w?-Tc@nnXInǨ.N3}41sdºR7˅ }K4͓v MpъgPr?oa].R.Ua.UidN42 =٥&`iɰ@ h_#_ P{e (=΋i6? udF`:r}}t gdi7 I;(?];OI\+'=DuKnUU)Υ \gA#>o "@VEȪc!DSQ^2f[p-_CHcRbqj9F澐(U#:/dILJ^2{ ͌K4NKIT# FG:`I0DMS=4GI?]tHrEE yq 4uun)r3t2#.nhFN.nQ sAcՎf[HfHI0`~Y\ַcuOQ8fzb`JW4^]Ra `v҇'!!bTw9?`:B'-Ԅtŕ tED`AVbD.;@5T:' ad"Kq]!gUޡ?5(d\ QS) C]3KAKHT8-AvU8UE=?uT{rdnS=`#TWiV>6ԏ_MP~@ԆS1gdQS/@#TWkPۣy#P5yRS2GFXr[ 5L Hd#tXhe1@|R&U:V(j5Ҏrl̕g5`)RǮ#Hs ̕u4#3y+.5D*M$؜~Z1 5WF$K&q0_h9CFHDuesFT|>_-n`_RQY?I *)PI@;Q`B\ h4V`"VM9hӃqCN`J0 [-R-"T,&!Y)v_/L $I4rB:rcfo@>:Bg]?5M')ӎ!9&Ne6CQĢ ?6-d[_T& 7AAI1bDLR4s73y-v@i3pT 6b}5:ni%TT9ƹ{u~z,Ir6Xe1B0,!Tz-cH.豮U=Su0u1*19'Q \;U^eo9Dr9!Uc@1~L撲PIf~?4jA l ix |9 &R־80ќWʇVk8E u'm/t 1?DK#+u z7t(#fBXX4݂JhWܷܳs0Uu8#(:/ :N(UG7֫S8W1S ?[#~ZC* T:#HaqH()[hMs'IRcE$0@h$p$ , :O@hɺ1O"EOF|ۜ Eֲ%/9zߝXiU$e[bƕ KBWƓXIFqCd4[!2€{c׶+2c$$]mMG8k2NI¤;g4P):*KӸpLĂ8a]1ҫ>M8Jj00f`D[6m|D3Rgi׾;\ɒМȫSu ? ;1OE=M&͒SqP`;!L1&a%~ivQ8x+I#OI?L#tUs9I4DBpsNuDK*C:!v}I&dISL~_=@3$'qJq%(21՞ib驺e@N8Ӈf[SrHG9S<̓XY:<.;=GA+Ae*i*e=*>~ztS*҈ź}p@!@wD4oieU34#T4,L_,~ZrA17VcU I?cFMWT#$si1Ryp,G~ZCg'0#n8!hF}L&hLh7>_Me$vESy$HaUA~jR=զxrSڟS]&ڄ%E('_P'&L+^іwBίw^>]&m # f=k<};j~|Q$+9uM&=tM *eTz:p*&Z\U#uDIKt%9,ZHeHOO`mZ 8A#v?.; O1hk3Je PCW;S}4K`ʭҲ1՗ .5IW PUhyJ=5HuRL23Ov2\ *{HN3]6sqjhTL[yqgQKA-U CԌ0>ULi\ c YufPF?-[2J/Ѻy%t!W̉wlL  H8T*nLY4ZJ BdG,5Ob${}s;n X*,A$~z4{뻘$AzxUЅ=3beBLޡ"UZUL42f$}(2;/&0Ǿ4$JҬFJ+z &߲0#ݚ08nrK)",QT`nU"Ttq,+ 15mCm10QotC=c\&Z)5:B"䁎 +Za5 :j4QpcPa'B%D1{h6A7+eē݆iHs-R"QN3ƀ-#[+ U$H >!;%hOf*%{?MPU}/5~Wb4v[}Tz?1u kfF{"/uEO/~k)o!vE_it~HF#=D߄kU/0X~ȴ~N;~G⿘յ|==)bK_PjO]\TS r\꿖fuSZM]kVx?zQ^ODoO?CGWT@o/5s&7G~5O溩f/+ikKuoZ?_VcVk_?tz~?C$~OwoOίvRRW} <몇u?)T~ZǙz]y+~ݧtq ]? RX*o_S4>߉I}?EH[)zz7!?fX4uVq*T}.u폇负3?T.|T_=`vCS螏[i*3]R#}TD}GtJ.ވ5C.#KеڭqЬݏ=YWej}uJ_gmUOT_7[ 5?#B/Oq4|-MBIVu+(-#<5_/Tcy:QM_EЧt1V&hOJޛ[)UxȲ]+YK?8JUpandoc-2.9.2.1/test/fb2/titles.fb2000066400000000000000000000011071363630463000164610ustar00rootroot00000000000000 unrecognisedpandoc<p />
    <p>Simple title</p>

    This example tests FictionBook titles.

    <p><emphasis>Emphasized</emphasis> <strong>Strong</strong> Title</p>
    pandoc-2.9.2.1/test/fb2/titles.markdown000066400000000000000000000001311363630463000176260ustar00rootroot00000000000000# Simple title This example tests FictionBook titles. # *Emphasized* **Strong** Title pandoc-2.9.2.1/test/grofftest.sh000066400000000000000000000014141363630463000164510ustar00rootroot00000000000000#!/bin/bash # iterates recursively over specified directory, tries to convert # man pages and prints to stderr on errors. # if called with two arguments, the first is the path to pandoc, # and the second is the directory. if with one argument, it # is the directory, and pandoc is used from path. if [ $# -eq 2 ]; then PANDOC=$1 DIR=$2 elif [ $# -eq 1 ]; then PANDOC=pandoc DIR=$1 else echo "Not enough arguments" exit 1 fi $PANDOC --version > /dev/null || { echo "pandoc executable error" >&2 ; exit 1 ; } for f in `find "$DIR" -name '*.[0-9]'`; do ( iconv -f utf8 -t utf8 $f 2>/dev/null || iconv -f latin1 -t utf8 $f ) | \ $PANDOC --resource-path "$DIR":"$(dirname $f)" -f man -o /dev/null || echo "Failed to convert $f" done pandoc-2.9.2.1/test/haddock-reader.haddock000066400000000000000000000025001363630463000202630ustar00rootroot00000000000000This file tests the Pandoc reader for Haddock. We've borrowed examples from Haddock's documentation: . The following characters have special meanings in Haddock, \/, \', \`, \", \@, \<, so they must be escaped. \* This is a paragraph, not a list item. \> This sentence is not code. \>\>\> This is not an example. The references λ, λ and λ all represent the lower-case letter lambda. This is a code block: > map :: (a -> b) -> [a] -> [b] > map _ [] = [] > map f (x:xs) = f x : map f xs This is another code block: @ f x = x + x. The \@...\@ code block /interprets markup normally/. "Module.Foo" \"Hello World\" @ Haddock supports REPL examples: >>> fib 10 55 >>> putStrLn "foo\nbar" foo bar That was /really cool/! I had no idea @fib 10 = 55@. This module defines the type 'T'. The identifier 'M.T' is not in scope I don't have to escape my apostrophes; great, isn't it? This is a reference to the "Foo" module. This is a bulleted list: * first item * second item This is an enumerated list: (1) first item 2. second item This is a definition list: [@foo@] The description of @foo@. [@bar@] The description of @bar@. Here is a link: is a fun language! pandoc-2.9.2.1/test/haddock-reader.native000066400000000000000000000104421363630463000201600ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Para [Str "This",Space,Str "file",Space,Str "tests",Space,Str "the",Space,Str "Pandoc",Space,Str "reader",Space,Str "for",Space,Str "Haddock.",SoftBreak,Str "We've",Space,Str "borrowed",Space,Str "examples",Space,Str "from",Space,Str "Haddock's",Space,Str "documentation:",Space,Link ("",[],[]) [Str "http://www.haskell.org/haddock/doc/html/ch03s08.html"] ("http://www.haskell.org/haddock/doc/html/ch03s08.html","http://www.haskell.org/haddock/doc/html/ch03s08.html"),Str "."] ,Para [Str "The",Space,Str "following",Space,Str "characters",Space,Str "have",Space,Str "special",Space,Str "meanings",Space,Str "in",Space,Str "Haddock,",Space,Str "/,",Space,Str "',",Space,Str "`,",Space,Str "\",",Space,Str "@,",Space,Str "<,",Space,Str "so",Space,Str "they",Space,Str "must",Space,Str "be",Space,Str "escaped."] ,Para [Str "*",Space,Str "This",Space,Str "is",Space,Str "a",Space,Str "paragraph,",Space,Str "not",Space,Str "a",Space,Str "list",Space,Str "item.",SoftBreak,Str ">",Space,Str "This",Space,Str "sentence",Space,Str "is",Space,Str "not",Space,Str "code.",SoftBreak,Str ">>>",Space,Str "This",Space,Str "is",Space,Str "not",Space,Str "an",Space,Str "example."] ,Para [Str "The",Space,Str "references",Space,Str "\955,",Space,Str "\955",Space,Str "and",Space,Str "\955",Space,Str "all",Space,Str "represent",Space,Str "the",Space,Str "lower-case",Space,Str "letter",Space,Str "lambda."] ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "code",Space,Str "block:"] ,CodeBlock ("",[],[]) "map :: (a -> b) -> [a] -> [b]\nmap _ [] = []\nmap f (x:xs) = f x : map f xs" ,Para [Str "This",Space,Str "is",Space,Str "another",Space,Str "code",Space,Str "block:"] ,Para [Code ("",[],[]) "f x = x + x.",LineBreak,Code ("",[],[]) "The @...@ code block ",Emph [Code ("",[],[]) "interprets markup normally"],Code ("",[],[]) ".",Code ("",["haskell","module"],[]) "Module.Foo",Code ("",[],[]) "",LineBreak,Code ("",[],[]) "\"Hello World\""] ,Para [Str "Haddock",Space,Str "supports",Space,Str "REPL",Space,Str "examples:"] ,Para [Code ("",["prompt"],[]) ">>>",Space,Code ("",["haskell","expr"],[]) "fib 10",LineBreak,Code ("",["result"],[]) "55"] ,Para [Code ("",["prompt"],[]) ">>>",Space,Code ("",["haskell","expr"],[]) "putStrLn \"foo\\nbar\"",LineBreak,Code ("",["result"],[]) "foo",LineBreak,Code ("",["result"],[]) "bar"] ,Para [Str "That",Space,Str "was",Space,Emph [Str "really",Space,Str "cool"],Str "!",SoftBreak,Str "I",Space,Str "had",Space,Str "no",Space,Str "idea",Space,Code ("",[],[]) "fib 10 = 55",Str "."] ,Para [Str "This",Space,Str "module",Space,Str "defines",Space,Str "the",Space,Str "type",Space,Code ("",["haskell","identifier"],[]) "T",Str ".",SoftBreak,Str "The",Space,Str "identifier",Space,Code ("",["haskell","identifier"],[]) "M.T",Space,Str "is",Space,Str "not",Space,Str "in",Space,Str "scope",SoftBreak,Str "I",Space,Str "don't",Space,Str "have",Space,Str "to",Space,Str "escape",Space,Str "my",Space,Str "apostrophes;",Space,Str "great,",Space,Str "isn't",Space,Str "it?",SoftBreak,Str "This",Space,Str "is",Space,Str "a",Space,Str "reference",Space,Str "to",Space,Str "the",Space,Code ("",["haskell","module"],[]) "Foo",Space,Str "module."] ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "bulleted",Space,Str "list:"] ,BulletList [[Para [Str "first",Space,Str "item"]] ,[Para [Str "second",Space,Str "item"]]] ,Para [Str "This",Space,Str "is",Space,Str "an",Space,Str "enumerated",Space,Str "list:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "first",Space,Str "item"]] ,[Para [Str "second",Space,Str "item"]]] ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "definition",Space,Str "list:"] ,DefinitionList [([Code ("",[],[]) "foo"], [[Para [Str "The",Space,Str "description",Space,Str "of",Space,Code ("",[],[]) "foo",Str "."]]]) ,([Code ("",[],[]) "bar"], [[Para [Str "The",Space,Str "description",Space,Str "of",Space,Code ("",[],[]) "bar",Str "."]]])] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "link:",Space,Link ("",[],[]) [Str "http://haskell.org"] ("http://haskell.org","http://haskell.org")] ,Para [Link ("",[],[]) [Str "Haskell"] ("http://haskell.org","http://haskell.org"),Space,Str "is",Space,Str "a",Space,Str "fun",Space,Str "language!"] ,Para [Link ("",[],[]) [Str "Click",Space,Str "Here!"] ("http://example.com","http://example.com")]] pandoc-2.9.2.1/test/html-reader.html000066400000000000000000000360771363630463000172210ustar00rootroot00000000000000 Pandoc Test Suite

    Pandoc Test Suite

    This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite.


    Headers

    Level 3 with emphasis

    Level 4

    Level 5

    Level 1

    Level 2 with emphasis

    Level 3

    with no blank line

    Level 2

    with no blank line


    Paragraphs

    Here's a regular paragraph.

    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.

    Here's one with a bullet. * criminey.

    There should be a hard line break
    here.


    Block Quotes

    E-mail style:

    This is a block quote. It is pretty short.

    Code in a block quote:

    sub status {
        print "working";
    }
    

    A list:

    1. item one
    2. item two

    Nested block quotes:

    nested

    nested

    This should not be a block quote: 2 > 1.

    Box-style:

    Example:

    sub status {
        print "working";
    }
    
    1. do laundry
    2. take out the trash

    Here's a nested one:

    Joe said:

    Don't quote me.

    And a following paragraph.


    Inline quotes

    Normal text but then a inline quote.

    Missing a cite attribute means its just normal text


    Code Blocks

    Code:

    ---- (should be four hyphens)
    
    sub status {
        print "working";
    }
    
    this code block is indented by one tab
    

    And:

        this code block is indented by two tabs
    
    These should not be escaped:  \$ \\ \> \[ \{
    

    Lists

    Unordered

    Asterisks tight:

    • asterisk 1
    • asterisk 2
    • asterisk 3

    Asterisks loose:

    • asterisk 1

    • asterisk 2

    • asterisk 3

    Pluses tight:

    • Plus 1
    • Plus 2
    • Plus 3

    Pluses loose:

    • Plus 1

    • Plus 2

    • Plus 3

    Minuses tight:

    • Minus 1
    • Minus 2
    • Minus 3

    Minuses loose:

    • Minus 1

    • Minus 2

    • Minus 3

    Ordered

    Tight:

    1. First
    2. Second
    3. Third

    and:

    1. One
    2. Two
    3. Three

    Loose using tabs:

    1. First

    2. Second

    3. Third

    and using spaces:

    1. One

    2. Two

    3. Three

    Multiple paragraphs:

    1. Item 1, graf one.

      Item 1. graf two. The quick brown fox jumped over the lazy dog's back.

    2. Item 2.

    3. Item 3.

    List styles:

                Nested

                • Tab
                  • Tab
                    • Tab

                Here's another:

                1. First
                2. Second:
                  • Fee
                  • Fie
                  • Foe
                3. Third

                Same thing but with paragraphs:

                1. First

                2. Second:

                  • Fee
                  • Fie
                  • Foe
                3. Third

                Tabs and spaces

                • this is a list item indented with tabs

                • this is a list item indented with spaces

                  • this is an example list item indented with tabs

                  • this is an example list item indented with spaces

                Fancy list markers

                1. begins with 2
                2. and now 3

                  with a continuation

                  1. sublist with roman numerals, starting with 4
                  2. more items
                    1. a subsublist
                    2. a subsublist

                Nesting:

                1. Upper Alpha
                  1. Upper Roman.
                    1. Decimal start with 6
                      1. Lower alpha with paren

                Autonumbering:

                1. Autonumber.
                2. More.
                  1. Nested.

                Definition

                Violin
                Stringed musical instrument.
                Torture device.
                Cello
                Violoncello
                Low-voiced stringed instrument.

                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                Empty and .

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is small caps.

                These are all underlined: foo and bar.

                These are all strikethrough: foo, bar, and baz.


                Smart quotes, ellipses, dashes

                "Hello," said the spider. "'Shelob' is my name."

                'A', 'B', and 'C' are letters.

                'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.'

                'He said, "I want to go."' Were you alive in the 70's?

                Here is some quoted 'code' and a "quoted link".

                Some dashes: one---two --- three--four -- five.

                Dashes between numbers: 5-7, 255-66, 1987-1999.

                Ellipses...and. . .and . . . .


                LaTeX

                • \cite[22-23]{smith.1899}
                • \doublespacing
                • $2+2=4$
                • $x \in y$
                • $\alpha \wedge \omega$
                • $223$
                • $p$-Tree
                • $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
                • Here's one that has a line break in it: $\alpha + \omega \times x^2$.

                These shouldn't be math:

                • To get the famous equation, write $e = mc^2$.
                • $22,000 is a lot of money. So is $34,000. (It worked if "lot" is emphasized.)
                • Escaped $: $73 this should be emphasized 23$.

                Here's a LaTeX table:

                \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular}


                Special Characters

                Here is some unicode:

                • I hat: Î
                • o umlaut: ö
                • section: §
                • set membership: ∈
                • copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -


                Links

                Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                Email link (nobody [at] nowhere.net)

                Empty.

                Reference

                Foo bar.

                Foo bar.

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not] be a link.

                [not]: /url
                

                Foo bar.

                Foo biz.

                With ampersands

                Here's a link with an ampersand in the URL.

                Here's a link with an amersand in the link text: AT&T.

                Here's an inline link.

                Here's an inline link in pointy braces.

                Autolinks

                With an ampersand: http://example.com/?foo=1&bar=2

                An e-mail address: nobody [at] nowhere.net

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>
                

                Images

                From "Voyage dans la Lune" by Georges Melies (1902):

                lalune

                Here is a movie movie icon.


                Footnotes

                Here is a footnote reference(1), and another(longnote). This should not be a footnote reference, because it contains a space^(my note).

                (1) Here is the footnote. It can go anywhere in the document, not just at the end.

                (longnote) Here's the other note. This one contains multiple blocks.

                Caret characters are used to indicate that the blocks all belong to a single footnote (as with block quotes).

                  { <code> }
                

                If you want, you can use a caret at the beginning of every line, as with blockquotes, but all that you need is a caret at the beginning of the first line of the block and any preceding blank lines.

                text Leading space

                Trailing space text

                text Leading spaces

                Trailing spaces text

                Tables

                Tables with Headers

                X Y Z
                1 2 3
                4 5 6

                X Y Z
                1 2 3
                4 5 6

                X Y Z
                1 2 3
                4 5 6

                X Y Z
                1 2 3
                4 5 6

                X Y Z
                1 2 3
                4 5 6

                X Y Z
                1 2 3
                4 5 6

                X Y Z
                1 2 3
                4 5 6

                X Y Z
                1 2 3
                4 5 6

                X Y Z
                1

                2

                3
                4 5 6

                Tables without Headers

                1 2 3
                4 5 6

                1 2 3
                4 5 6

                1 2 3
                4 5 6

                1 2 3
                4 5 6

                Empty Tables

                This section should be empty.

                pandoc-2.9.2.1/test/html-reader.native000066400000000000000000000642701363630463000175370ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("generator",MetaInlines [Str "pandoc"]),("title",MetaInlines [Str "Pandoc",Space,Str "Test",Space,Str "Suite"])]}) [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber's",Space,Str "markdown",Space,Str "test",Space,Str "suite."] ,HorizontalRule ,Header 1 ("headers",[],[]) [Str "Headers"] ,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link ("",[],[]) [Str "embedded",Space,Str "link"] ("/url","")] ,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 4 ("level-4",[],[]) [Str "Level",Space,Str "4"] ,Header 5 ("level-5",[],[]) [Str "Level",Space,Str "5"] ,Header 1 ("level-1",[],[]) [Str "Level",Space,Str "1"] ,Header 2 ("level-2-with-emphasis",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 3 ("level-3",[],[]) [Str "Level",Space,Str "3"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,Header 2 ("level-2",[],[]) [Str "Level",Space,Str "2"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,HorizontalRule ,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"] ,Para [Str "Here's",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."] ,Para [Str "Here's",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."] ,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."] ,HorizontalRule ,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "E-mail",Space,Str "style:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]] ,BlockQuote [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ,Para [Str "A",Space,Str "list:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "item",Space,Str "one"]] ,[Plain [Str "item",Space,Str "two"]]] ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"] ,BlockQuote [Para [Str "nested"]] ,BlockQuote [Para [Str "nested"]]] ,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."] ,Para [Str "Box-style:"] ,BlockQuote [Para [Str "Example:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"] ,BlockQuote [OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "do",Space,Str "laundry"]] ,[Plain [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"]]]] ,Para [Str "Here's",Space,Str "a",Space,Str "nested",Space,Str "one:"] ,BlockQuote [Para [Str "Joe",Space,Str "said:"] ,BlockQuote [Para [Str "Don't",Space,Str "quote",Space,Str "me."]]] ,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."] ,HorizontalRule ,Header 1 ("inline-quotes",[],[]) [Str "Inline",Space,Str "quotes"] ,Para [Str "Normal",Space,Str "text",Space,Str "but",Space,Str "then",Space,Str "a",Space,Quoted DoubleQuote [Span ("",[],[("cite","https://www.imdb.com/title/tt0062622/quotes/qt0396921")]) [Str "inline",Space,Str "quote"]],Str "."] ,Para [Quoted DoubleQuote [Str "Missing",Space,Str "a",Space,Str "cite",Space,Str "attribute",Space,Str "means",Space,Str "its",Space,Str "just",Space,Str "normal",Space,Str "text"]] ,HorizontalRule ,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab" ,Para [Str "And:"] ,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{" ,HorizontalRule ,Header 1 ("lists",[],[]) [Str "Lists"] ,Header 2 ("unordered",[],[]) [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "tight:"] ,BulletList [[Plain [Str "asterisk",Space,Str "1"]] ,[Plain [Str "asterisk",Space,Str "2"]] ,[Plain [Str "asterisk",Space,Str "3"]]] ,Para [Str "Asterisks",Space,Str "loose:"] ,BulletList [[Para [Str "asterisk",Space,Str "1"]] ,[Para [Str "asterisk",Space,Str "2"]] ,[Para [Str "asterisk",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "tight:"] ,BulletList [[Plain [Str "Plus",Space,Str "1"]] ,[Plain [Str "Plus",Space,Str "2"]] ,[Plain [Str "Plus",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "loose:"] ,BulletList [[Para [Str "Plus",Space,Str "1"]] ,[Para [Str "Plus",Space,Str "2"]] ,[Para [Str "Plus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "tight:"] ,BulletList [[Plain [Str "Minus",Space,Str "1"]] ,[Plain [Str "Minus",Space,Str "2"]] ,[Plain [Str "Minus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "loose:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Header 2 ("ordered",[],[]) [Str "Ordered"] ,Para [Str "Tight:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "First"]] ,[Plain [Str "Second"]] ,[Plain [Str "Third"]]] ,Para [Str "and:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "One"]] ,[Plain [Str "Two"]] ,[Plain [Str "Three"]]] ,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "and",Space,Str "using",Space,Str "spaces:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "One"]] ,[Para [Str "Two"]] ,[Para [Str "Three"]]] ,Para [Str "Multiple",Space,Str "paragraphs:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."] ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog's",Space,Str "back."]] ,[Para [Str "Item",Space,Str "2."]] ,[Para [Str "Item",Space,Str "3."]]] ,Para [Str "List",Space,Str "styles:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [] ,OrderedList (1,LowerRoman,DefaultDelim) [] ,OrderedList (1,LowerRoman,DefaultDelim) [] ,OrderedList (1,DefaultStyle,DefaultDelim) [] ,OrderedList (1,LowerRoman,DefaultDelim) [] ,OrderedList (1,LowerRoman,DefaultDelim) [] ,Header 2 ("nested",[],[]) [Str "Nested"] ,BulletList [[Plain [Str "Tab"] ,BulletList [[Plain [Str "Tab"] ,BulletList [[Plain [Str "Tab"]]]]]]] ,Para [Str "Here's",Space,Str "another:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "First"]] ,[Plain [Str "Second:"] ,BulletList [[Plain [Str "Fee"]] ,[Plain [Str "Fie"]] ,[Plain [Str "Foe"]]]] ,[Plain [Str "Third"]]] ,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Plain [Str "Fee"]] ,[Plain [Str "Fie"]] ,[Plain [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Header 2 ("tabs-and-spaces",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]] ,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"] ,OrderedList (2,Decimal,DefaultDelim) [[Plain [Str "begins",Space,Str "with",Space,Str "2"]] ,[Para [Str "and",Space,Str "now",Space,Str "3"] ,Para [Str "with",Space,Str "a",Space,Str "continuation"] ,OrderedList (4,LowerRoman,DefaultDelim) [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"]] ,[Plain [Str "more",Space,Str "items"] ,OrderedList (1,UpperAlpha,DefaultDelim) [[Plain [Str "a",Space,Str "subsublist"]] ,[Plain [Str "a",Space,Str "subsublist"]]]]]]] ,Para [Str "Nesting:"] ,OrderedList (1,UpperAlpha,DefaultDelim) [[Plain [Str "Upper",Space,Str "Alpha"] ,OrderedList (1,UpperRoman,DefaultDelim) [[Plain [Str "Upper",Space,Str "Roman."] ,OrderedList (6,Decimal,DefaultDelim) [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"] ,OrderedList (3,LowerAlpha,DefaultDelim) [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]] ,Para [Str "Autonumbering:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Autonumber."]] ,[Plain [Str "More."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Nested."]]]]] ,HorizontalRule ,Header 2 ("definition",[],[]) [Str "Definition"] ,DefinitionList [([Str "Violin"], [[Plain [Str "Stringed",Space,Str "musical",Space,Str "instrument."]] ,[Plain [Str "Torture",Space,Str "device."]]]) ,([Str "Cello",LineBreak,Str "Violoncello"], [[Plain [Str "Low-voiced",Space,Str "stringed",Space,Str "instrument."]]])] ,HorizontalRule ,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."] ,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."] ,Para [Str "Empty",Space,Strong [],Space,Str "and",Space,Emph [],Str "."] ,Para [Str "An",Space,Emph [Link ("",[],[]) [Str "emphasized",Space,Str "link"] ("/url","")],Str "."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "",Str "."] ,Para [Str "This",Space,Str "is",Space,SmallCaps [Str "small",Space,Str "caps"],Str "."] ,Para [Str "These",Space,Str "are",Space,Str "all",Space,Str "underlined:",Space,Span ("",["underline"],[]) [Str "foo"],Space,Str "and",Space,Span ("",["underline"],[]) [Str "bar"],Str "."] ,Para [Str "These",Space,Str "are",Space,Str "all",Space,Str "strikethrough:",Space,Strikeout [Str "foo"],Str ",",Space,Strikeout [Str "bar"],Str ",",Space,Str "and",Space,Strikeout [Str "baz"],Str "."] ,HorizontalRule ,Header 1 ("smart-quotes-ellipses-dashes",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"] ,Para [Str "\"Hello,\"",Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Str "\"'Shelob'",Space,Str "is",Space,Str "my",Space,Str "name.\""] ,Para [Str "'A',",Space,Str "'B',",Space,Str "and",Space,Str "'C'",Space,Str "are",Space,Str "letters."] ,Para [Str "'Oak,'",Space,Str "'elm,'",Space,Str "and",Space,Str "'beech'",Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Str "'pine.'"] ,Para [Str "'He",Space,Str "said,",Space,Str "\"I",Space,Str "want",Space,Str "to",Space,Str "go.\"'",Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70's?"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Str "'",Code ("",[],[]) "code",Str "'",Space,Str "and",Space,Str "a",Space,Str "\"",Link ("",[],[]) [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2",""),Str "\"."] ,Para [Str "Some",Space,Str "dashes:",Space,Str "one---two",Space,Str "---",Space,Str "three--four",Space,Str "--",Space,Str "five."] ,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5-7,",Space,Str "255-66,",Space,Str "1987-1999."] ,Para [Str "Ellipses...and.",Space,Str ".",Space,Str ".and",Space,Str ".",Space,Str ".",Space,Str ".",Space,Str "."] ,HorizontalRule ,Header 1 ("latex",[],[]) [Str "LaTeX"] ,BulletList [[Plain [Str "\\cite[22-23]{smith.1899}"]] ,[Plain [Str "\\doublespacing"]] ,[Plain [Str "$2+2=4$"]] ,[Plain [Str "$x",Space,Str "\\in",Space,Str "y$"]] ,[Plain [Str "$\\alpha",Space,Str "\\wedge",Space,Str "\\omega$"]] ,[Plain [Str "$223$"]] ,[Plain [Str "$p$-Tree"]] ,[Plain [Str "$\\frac{d}{dx}f(x)=\\lim_{h\\to",Space,Str "0}\\frac{f(x+h)-f(x)}{h}$"]] ,[Plain [Str "Here's",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Str "$\\alpha",Space,Str "+",Space,Str "\\omega",Space,Str "\\times",Space,Str "x^2$."]]] ,Para [Str "These",Space,Str "shouldn't",Space,Str "be",Space,Str "math:"] ,BulletList [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]] ,[Plain [Str "$22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",Space,Str "\"lot\"",Space,Str "is",Space,Str "emphasized.)"]] ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23$."]]] ,Para [Str "Here's",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"] ,Para [Str "\\begin{tabular}{|l|l|}\\hline",Space,Str "Animal",Space,Str "&",Space,Str "Number",Space,Str "\\\\",Space,Str "\\hline",Space,Str "Dog",Space,Str "&",Space,Str "2",Space,Str "\\\\",Space,Str "Cat",Space,Str "&",Space,Str "1",Space,Str "\\\\",Space,Str "\\hline",Space,Str "\\end{tabular}"] ,HorizontalRule ,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"] ,BulletList [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]] ,[Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"]] ,[Plain [Str "section:",Space,Str "\167"]] ,[Plain [Str "set",Space,Str "membership:",Space,Str "\8712"]] ,[Plain [Str "copyright:",Space,Str "\169"]]] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."] ,Para [Str "This",Space,Str "&",Space,Str "that."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "`"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,HorizontalRule ,Header 1 ("links",[],[]) [Str "Links"] ,Header 2 ("explicit",[],[]) [Str "Explicit"] ,Para [Str "Just",Space,Str "a",Space,Link ("",[],[]) [Str "URL"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")] ,Para [Str "Email",Space,Str "link",Space,Str "(nobody",Space,Str "[at]",Space,Str "nowhere.net)"] ,Para [Link ("",[],[]) [Str "Empty"] ("",""),Str "."] ,Header 2 ("reference",[],[]) [Str "Reference"] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "once"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "twice"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "thrice"] ("/url",""),Str "."] ,Para [Str "This",Space,Str "should",Space,Str "[not]",Space,Str "be",Space,Str "a",Space,Str "link."] ,CodeBlock ("",[],[]) "[not]: /url" ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."] ,Header 2 ("with-ampersands",[],[]) [Str "With",Space,Str "ampersands"] ,Para [Str "Here's",Space,Str "a",Space,Link ("",[],[]) [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."] ,Para [Str "Here's",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link ("",[],[]) [Str "AT&T"] ("http://att.com/","AT&T"),Str "."] ,Para [Str "Here's",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."] ,Para [Str "Here's",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."] ,Header 2 ("autolinks",[],[]) [Str "Autolinks"] ,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link ("",[],[]) [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")] ,BulletList [[Plain [Str "In",Space,Str "a",Space,Str "list?"]] ,[Plain [Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,[Plain [Str "It",Space,Str "should."]]] ,Para [Str "An",Space,Str "e-mail",Space,Str "address:",Space,Str "nobody",Space,Str "[at]",Space,Str "nowhere.net"] ,BlockQuote [Para [Str "Blockquoted:",Space,Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) ""] ,CodeBlock ("",[],[]) "or here: " ,HorizontalRule ,Header 1 ("images",[],[]) [Str "Images"] ,Para [Str "From",Space,Str "\"Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune\"",Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"] ,Para [Image ("",[],[]) [Str "lalune"] ("lalune.jpg","Voyage dans la Lune")] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image ("",[],[]) [Str "movie"] ("movie.jpg",""),Space,Str "icon."] ,HorizontalRule ,Header 1 ("footnotes",[],[]) [Str "Footnotes"] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Link ("",[],[]) [Str "(1)"] ("#note_1",""),Str ",",Space,Str "and",Space,Str "another",Link ("",[],[]) [Str "(longnote)"] ("#note_longnote",""),Str ".",Space,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",Space,Str "a",Space,Str "space^(my",Space,Str "note)."] ,Para [Link ("",[],[]) [Str "(1)"] ("#ref_1",""),Space,Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "in",Space,Str "the",Space,Str "document,",Space,Str "not",Space,Str "just",Space,Str "at",Space,Str "the",Space,Str "end."] ,Para [Link ("",[],[]) [Str "(longnote)"] ("#ref_longnote",""),Space,Str "Here's",Space,Str "the",Space,Str "other",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."] ,Para [Str "Caret",Space,Str "characters",Space,Str "are",Space,Str "used",Space,Str "to",Space,Str "indicate",Space,Str "that",Space,Str "the",Space,Str "blocks",Space,Str "all",Space,Str "belong",Space,Str "to",Space,Str "a",Space,Str "single",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "block",Space,Str "quotes)."] ,CodeBlock ("",[],[]) " { }" ,Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "use",Space,Str "a",Space,Str "caret",Space,Str "at",Space,Str "the",Space,Str "beginning",Space,Str "of",Space,Str "every",Space,Str "line,",Space,Str "as",Space,Str "with",Space,Str "blockquotes,",Space,Str "but",Space,Str "all",Space,Str "that",Space,Str "you",Space,Str "need",Space,Str "is",Space,Str "a",Space,Str "caret",Space,Str "at",Space,Str "the",Space,Str "beginning",Space,Str "of",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "the",Space,Str "block",Space,Str "and",Space,Str "any",Space,Str "preceding",Space,Str "blank",Space,Str "lines."] ,Para [Str "text",Space,Emph [Str "Leading",Space,Str "space"]] ,Para [Emph [Str "Trailing",Space,Str "space"],Space,Str "text"] ,Para [Str "text",Space,Emph [Str "Leading",Space,Str "spaces"]] ,Para [Emph [Str "Trailing",Space,Str "spaces"],Space,Str "text"] ,Header 1 ("tables",[],[]) [Str "Tables"] ,Header 2 ("tables-with-headers",[],[]) [Str "Tables",Space,Str "with",Space,Str "Headers"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "X"]] ,[Plain [Str "Y"]] ,[Plain [Str "Z"]]] [[[Plain [Str "1"]] ,[Para [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,Header 2 ("tables-without-headers",[],[]) [Str "Tables",Space,Str "without",Space,Str "Headers"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,HorizontalRule ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]]]] ,Header 2 ("empty-tables",[],[]) [Str "Empty",Space,Str "Tables"] ,Para [Str "This",Space,Str "section",Space,Str "should",Space,Str "be",Space,Str "empty."]] pandoc-2.9.2.1/test/insert000066400000000000000000000000171363630463000153370ustar00rootroot00000000000000STUFF INSERTED pandoc-2.9.2.1/test/ipynb/000077500000000000000000000000001363630463000152335ustar00rootroot00000000000000pandoc-2.9.2.1/test/ipynb/simple.in.native000066400000000000000000000025471363630463000203510ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("jupyter",MetaMap (fromList [("nbformat",MetaInlines [Str "4"]),("nbformat_minor",MetaInlines [Str "5"])]))]}) [Div ("",["cell","markdown"],[]) [Header 1 ("lorem-ipsum",[],[]) [Str "Lorem",Space,Str "ipsum"] ,Para [Strong [Str "Lorem",Space,Str "ipsum"],Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipiscing",Space,Str "elit.",Space,Str "Nunc",Space,Str "luctus",SoftBreak,Str "bibendum",Space,Str "felis",Space,Str "dictum",Space,Str "sodales."]] ,Div ("",["cell","code"],[]) [CodeBlock ("",["python"],[]) "print(\"hello\")"] ,Div ("",["cell","markdown"],[]) [Header 2 ("pyout",[],[]) [Str "Pyout"]] ,Div ("",["cell","code"],[("execution_count","2")]) [CodeBlock ("",["python"],[]) "from IPython.display import HTML\nHTML(\"\"\"\n\nHTML\n\"\"\")" ,Div ("",["output","execute_result"],[("execution_count","2")]) [RawBlock (Format "html") "\nHTML\nhello"]] ,Div ("",["cell","markdown"],[("tags","[\"foo\",\"bar\"]")]) [Header 2 ("image",[],[]) [Str "Image"] ,Para [Str "This",Space,Str "image",Space,Image ("",[],[]) [Str "the",Space,Str "moon"] ("lalune.jpg",""),Space,Str "will",Space,Str "be",Space,Str "included",Space,Str "as",Space,Str "a",Space,Str "cell",SoftBreak,Str "attachment."]]] pandoc-2.9.2.1/test/ipynb/simple.ipynb000066400000000000000000000562531363630463000176020ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Lorem ipsum\n", "===========\n", "\n", "**Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus\n", "bibendum felis dictum sodales." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(\"hello\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pyout\n", "-----" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "output_type": "execute_result", "execution_count": 2, "metadata": {}, "data": { "text/html": [ "\n", "HTML\n", "hello" ] } } ], "source": [ "from IPython.display import HTML\n", "HTML(\"\"\"\n", "\n", "HTML\n", "\"\"\")" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "foo", "bar" ] }, "source": [ "Image\n", "-----\n", "\n", "This image ![the moon](attachment:lalune.jpg) will be included as a cell\n", "attachment." ], "attachments": { "lalune.jpg": { "image/jpeg": "/9j/4AAQSkZJRgABAQEAeAB4AAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU\nFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgo\nKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAD6APoDAREA\nAhEBAxEB/8QAHAAAAAcBAQAAAAAAAAAAAAAAAQIDBAUGBwAI/8QAPhAAAgEDAwIEBAQFAgUFAAMA\nAQIDAAQRBRIhBjETIkFRB2FxgRQykaEjQlKxwRXwFjNictEIJEPh8SZTgv/EABcBAQEBAQAAAAAA\nAAAAAAAAAAABAgT/xAAbEQEBAQEAAwEAAAAAAAAAAAAAARECEiExQf/aAAwDAQACEQMRAD8A2t0Y\noQpwT2qVzMV+N3UHgrDY2eoM0y58VEbgfp9K1yMRmnuJ5h40jyYHGSeKrWE8u2QAApOMdqGCsmT8\nh70TAJwMAZx249aKBy4c9vTNUC0zDCgmmmG7Ockjkj1PrUTAjcy5XP0ouCgHae4IomOJHhgIc55P\nHY0Uk5IXLMcUBQ27n96JYO2MYLebHtRBA7BcMx29sdxQJqwZRtIP+BQKpjHHc+xzigNGoAO/k+nP\nAoAYlee5oBiGeWySO9AJCgY5PHagFCADzj2GaA2N2TkjA/U0HMwbPPeiyBLDfkkj04FCl1cBMgn6\nURwYFGySR6D2oAeQDAxnHGKAhU4IbGc+tFwnwDj9aK7f8v2oNu+IHxNvJdXmt9EmKWSqArA/mPvx\nUxMZNe3Ml1dvNcMzSSEsxPOferJhht/OWyAPc0UfdgDcuM8n50AMCykZFARsngcY/egTcbjnJz9O\n9AB2kZGSQOcUCX8x83bntQCMruJ4B7D1oCyOGzxtJ9M80CAdg5UjFE0aFJrghLeNpHY4IRdx/QUN\nWCw6D6q1EZttEvirHAZ4ig/U4qw1b9H+CHVN3Mq6hJaWMJ5ZjJ4hA/7R3P3q3ET+pf8Ap/lWNm03\nXkkkA8qTW+3PHupP9qxopV78G+s7VSV0+OcAn/kzqSfscVvIKzqPTWu6XKE1LSL+Bhz5oDg/cd6l\nEZzGwLrtPqrA8frUCJfcw9gfegUjZsEAffNADyHt78UAjCjzDJxRcO5Pw3gwCGOVJQp8ZncMGOeN\noxwMY96GCbQffFFcUXKjDDt2NEo+N3yyM5z3okKuqJgIzONoJyuMGi4QfGcqSfXBoYHJx659qKIR\nnnsfUGgJn/poJYoTIGLY+eDzQFlQK2G/KCTmgbspfO0qce/agPGcR7nHf9vnQFfBPlOc88Gg7uuc\nc/M0Bd208YJJweKAYrea4kKQICRGW5IUYUZJ570DYqcknt3FE0VuVyDzj1oamOlulda6puvC0a0e\nZVIWSbtGn1Y1NNbX0x8ENH0qL8X1NdtqDoNxiQbIh8u+WpqL70Tc6fcxypouiRadbW8hhLFFXcB7\nEdz+tNFvEZxkmmgShbA9PlUA+Hgg/wBqDgmBkd6ArJuJBGR7VdEdqWgaVqMfh6hp9pcLj/5Ig2Ka\nKJrvwW6S1EFoLaWwmPIe2fAz81ORTRm3UfwI1mzBbRL+K/ReyS/w3x/b+1Wexmev9O6xoE2zWdOu\nbUDszr5T9G7H9auCJj2n3PPrUXTlGBB2kYx96GlQMjJJHuRRXBgDgk8DtRKH8w4OfYA0SUlIMsFX\nJ4oujHH8ufnRRGOSNoJNAeFC77F2jPucfvQFEqgY3nj/AKaCUY58wwq54AoCzOmVMke9QeRnGR7Z\noEIF7pnaTk49KDpSSwQntQJsGKjgggZ9uDQc4OOe1Am2UCkHOR7dqA8t/cSW8MEkrGGEsUTPCk4z\nj9KJT3pzQtS6m1aPT9Jh8SVxlmJwqL/UfYURuuhfArR7f8NLrF1cXciKDJCrbI2b7c4+9NGtaRpt\nrpdqltYW0VtAn5Y41wBUodvGjqUdQyn0YZqAIreOBFSFFRF7BQAKA1xcRwKplcJuOBn1NAR7y2ik\nWMzoZnGVQHJNAuQcD3oBKkD2FBy8jnvQFxnjjmg4rxwKBMqCBtPNA3vbCC+tngvYo54HGGSRQQR9\nDV0Y91n8DNOvFkuOmZmsrk5PgSNuiY98D1X+1XRhWu6DqWgX72er2j2069t/ZvmD2IoGG7jbnj1F\nFlB224PB+VClN4DYJHyAojmPGCck8cetCAxgjPp6UaAGKtx6+9ATAXO7nFBw8HHLN+goJhBuj2Fe\nAcnmgNazW8U0vjweODGyqpYrsYjytx3x3oGa5LEEjH9XvQGlgmjjMmQq4HBPfPYgevagG5nhe3tk\nFuInQHxJQTmQntn0wKBKTlAeDx60DSY+U9zn+mgsnQvROr9Y3W2xi8KxV8SXUnCrjvj1Y/IUR6c6\nA6H03o6wMVgrSXMoBmuX/NIf8Djt/eiLfjJwO9ZBiOfmKDhktzQAzYBLZ8oyaDF+rOptVv8AUjNZ\nL4tjA/lT+kr3wvqTQX/pi3Y+DqFxKXurmFWAaPaVzg4I/b0oHlxqV7penRTXFu93dPLsESYB2k8n\n7CgnradLq1WaIOFI/K42sPkRQCg3Kcd6Dgp3d6AdrGg5VxnjmgKWB8uQGxnFAUgKuSefSghuqNC0\njXbAWGtxQyJKdsYc4YMf6T6GtDzR8S/hnqfSUz3NvuvNILYSZR5o+ezj/Pb6UGfLzyD/AJoFFySQ\nVBHpQDJ5kGByPahAbWxn5+po0OF3D+XPtQJsNwOe+aAuygmMkebgHnHFALHYpJwSeGz2oGpOJWAI\n49BQEZlYAHkg4oARVOMvtBIJJ7AUAX6xxSOsUgmjViFcKRuHviiVfvhT8NZuqpk1LVFeHRkPlHZp\nznsP+n50qPS+mWVppdnFa2cEcFtGu1I41ChR8qyHVxK8cLPDD4kgGVQHBNAa0maaBJGTYzDJXOcU\nCy5JOaA2OMfoaArkheM7vlQNYNOtoWLJCgLHJwo5NApPKLaNpGRQB6j2oGmnRvcyNd3O/DkeErLh\nkWgklIdCyZOCRzxzQEeRxhdpUnncBkD5UCxXjJ7+tAlctMsIMLohz5mcZAH09aBQYdQwyAeaAuA7\nMAQxHH0oG1481nbGVInuWU5Kr+bHrgepoKB1u+o6jqlvBH05NevEBPBK0pQR4I4BHZj+1Bb9IS7l\nsFtNWtYwDGFYB/EXHqpJ7/WtQYx8VfhGbdZtV6Uh8gy81mpyR6koPb5UGKY4YkeYd88fbFAI5AC9\n8c5oQBb+U9+9GnN5RgDgjOPWgAN3yMfWgAqc91/UUD2RSSRg9+49KCR6e0WfX9WS0icRwgb55WOF\nijH5nP0FBYNRi6dSR7HRNPmu0hOW1GaXaZMdwBwAP3oynE0XRYrFtV02wS4ECj8dp1wcsE7eJEf3\n9qlFZ616ZttPu7Kbp9Zbi0vYzNCcgjHqoHuKsEp8LPh7P1PqjXerxywaXaviRSu1pWH8g+XuflQe\nmIIY7S3SK3hVIo12pGoAAA7AClEL1N1RH0/oTalcwx+IACLaSQKx59Ppmshv0D1jH1ZbTubU27xk\nkAnKsuSMg/UUFluLlLaJXETyecKAg554zigXiubeRnSKeJ5FOGVXBIPsaBLULoWkIfw3kYsAqIOS\nTQJMbpm3oqlmwACeF9yfn+1A+Bx34oE5IY5P+YFbnPIzQKAckHuRQCAQOO1AL8r9KDhkZOT9M8UC\ncrxgAyYJzwD70CT3Itxm8kgi3fly+P7/AOKA9pskhEkZysnOfeg6RH8w3tgjAHtQRZ1uystSg0m5\neRJ2UbHceV8fP3oJkBSAVII9xQFdSRwKDDvjN8L/AMSJte6chxcgFrm1QcSf9aj39x61YMH8Q+Ck\nfhqpQncxBDH5H6VRwXJ/Ke1Am2QchuMYOaNFSAVznB9qAm8f10D2RmX8jDHP3oLbebtA6ej0m2Lr\nfX6LcX7IMskf8kf6HcffIoG8yTadZxSTxCK3kRZUwSFfkruIJ78GhiS6Y1OS3160uZJFWO5bwZtx\nzuQ8bcfPNMZXvo2wsLnQ9R0q/maJNNv5Yo3bjCuMAHPzqA2jdUan0lF0/ZXcElxp9zE+5WVd/DE7\n1IPPB7H2po1bSNXsdYthLp1ykyEcj+ZT817ioITrnoux6vs1gv5JYnjz4ckZ/Ln5etA+6N0BemdB\nttMina4WEFfFdQpIJJ7D60E5I4Vo9qnnsQO1A3k0yzeTxhCizZJ3qNpz9RQO449igMSxHGW5NAIw\nBtUAUAMORkfegMhG3jtQD8+fvQGXJz7UAHuRQA5YDI5FB0qCQA5yaCs2/SFit/Jd3AmvJ2bO64ct\nt5zwD2oLMilVAUDgcAelAJLbhgZz3oGN9HPIYmhtrWRw2czjt7Y+dA+h3mJS67W9gc0AvuLYANAD\npkZABHY85oPOnxy+Hx06Z+odGjC2jt/7qBRwjH+cY9D6/OrKMebcceHwfaqCYIyDgZ96GhHOFJI4\n/WjQpXnsaCz9J6fDqGvRC8OLO3Vri5PB/hqMkfc4H3oDT3UupapcXrKS9zISgDdhnAGPbsKC5aLL\nBHq9p01c6bbagPE23kpJYhmz5IySAAMj6nNGdRnT2lu3V9vaQQrJDHfCMFj5kAfufsMUFogu5H0j\nrLUYXK+Lq0aRse/lf/8AOKlFfudagvbnQpNQRmtILydCwPdCQcgMOMZFQanPoeiawBd9M6s9jeKP\nK1vKQp+RFA4septa6fuFtuqbRrmzx5b+BAdo927A+vsflQXfTr2z1O3W5025juIW/mjOR9KAZI91\n4khaRNo4XdwT9KAl3b2+oWpjMoZWbOVfnI9sUCrXUNssUU8w3sQoJH5jQLvwQQC3NAKvuUPtK54w\naDg23v6UA7weBnNAIOBigMr+hoOjdZQdhBx3waAVG0Z7UBWfAOQSflQChyNxBAxQRutarb6bHALi\n9trSW4kEcJnGd7ewFA/j8QEK/IA/MBjmgWDDBB7igj9dupLTTbiaHZ4oQ7A7bQW9ATVgwXSNV6on\nl8azW6t45pWdxHIxWA/zNtz7A8Glg2S1u7fX+nt0J/H2c4MMhmQoW9GBUjj60g8sfEHpebpDqi4s\nHLG2Y77eQ486E8fcdvtVFekGW4UfegKVAAKgnFGhuDzxQXbpDTZF6a13UnUqrCOzQ5wGZmXIJ+lE\n0ppkEK6nJcRWcTW9hA08iKcjcowpye/mxQ0+6VRbC/jvLm48L8LG9y8pIOXxkDnuSTipqHXQMng3\nes9S3fhn8DbvcZI5Mr/lH700dc3Dad8NtPs4nU6jeXD6nMCwBRF5XOfU8YHrTNJFF1X8RawW1jc4\nGxTKNrZB385yPkBTFw1stSu7Ni9tPLGSQfK5Aphi8J8UNUm6fn0u72yvJ5fGbuF/39aYYtGgadp9\n/axXnRetzaXqnhqZI3bEcj4547Ak/X6UxFisPiXe6NMdO65057eQAr+LhUlHHbOPX07UwWXpQ6Bq\nMo1LpgW0sioVI8Qgxk+684qC028M5890Y3kHKbUwF+lA4LDOzu2M4FAOG3DaoI9cntQdJxzQEyR2\n59f/AKoGl5fSQRFo7ZpB/MhYIR9zxQdayyXKb7gqox5Yo2yB9WHc0DPUIWnhWKxkuYFRs5gcKWbP\nY59KBkx6isVeSGW31JNwHhyOUkA+o8v9qCfjkMo/LJFKqBmRvSgc2swnRyFcYODuXGfpQMtRsLK8\nvYJL+wjuGiUtHK6hghz6Z7H6UEmCsig84I9RigiruC9t0DaaVmIIHhTOQMeuGwT9qCJ1ywv9T0U2\n9xFFiaVBJGHz5M5ODgYPY/arKJPTtLW1t44i7SKq48w8x+ZPrTRJoipGFQAAdgKgzX47dMJrXSrX\nkUe6807MykDkp/MP8/aro80FQyZ+tUJ7hvH0x270XQ7KGtXvIk0T4c9P2bIhkvpnvJVfjIxhf7qf\ntRDXpu0/1DpzXltUlkvmWMBI+2zdnn64oYa6yX0XTm0i4jQ3t6wmuV53xov5UPpyeeKyLbpFtZ6X\npmn6TqNq7/ic6pqQRR/DVf8Alq2fTOP0FXBnXU+ox32o3lzeW+JrxlMXHKR9wfbJ/tVWK5f3AnaA\njafCTwwcY4BOM/qKKSjA4Dg8j37UHZKkE5P0olSFlcLDdJPbTNBOigjxOVZu3+80Rbbnrq9l0t9I\n6isRd2rgKpPlZMdyre9An07oupoh1zo2+lea2fMlr+WZFx7ZwwqWDVug/ihDq7R6b1EPwmpMNokP\nlVj8xng1BqEUe1EAJOMDOc5oDSxq6YYeuaAJF4oCBUQ7mJ45zQHYB14wR86AVjBXyjge1AEcRTHl\nA9hQE8kbgEohJ5yQM0ETHNqMOr3IZQ9tIMQyEjKt7D3FBLqywRPJKTuxlj3zQI3Ut14e+yhWRj28\nQ7RjH60EfpF3rU/jLqFrHbS4/hqpJXH19aCRa8jgiVr1xGwXzYyf99qA9tc29/aRXFnKs1vINyOO\n2KByoxwe9AYocHGKBvdwLcWzxSLuR1KuD6gjBoPHXWujt071Nf6YSSkUnkJ4yp5H7f2rQgWAA3Y+\n1An4j/1t+tBrHxKuYS+gx24LRx6ZFtI/lz60FY0+/v8ASphNpd68EpXY5AGNvzFF1YOirZbzVrvX\n9dkNxZWH8eeaY5Lyj8qj7kcVlETqOqXd/HrPUNzcNE16Tbwxf1JkEgD2AA/etBte9R2Oq2cv+p6X\nHJfBFjgmjkMaRgAAEqO5o1FWfbgjsR8+9AlI5CgEggeoNAq0iug8uD7g80KKmCcZ7fPmjJzJfT/h\nWtjJvhOPK/OOe49u9A96X1W90/VrRtNkkSfxQF8I5yScdvX6UGidSLpfVFzcvbRiy6kgZBGysFW7\nB9T7HHNSjU+o9S1iz0e2uNLmX8RYxJ+KgYeVwVGTn5d6gjug/iU3UOt/6TewQpP59skL5B29x/8A\nYoNHPB78Ggb2l3bXO78PKsoyVyvIBHBFAoSkbfyhn4GfWgTnmWFN7ybAvc4Jz9hQRdx1dp0S3Dw+\nJJHbDdPIUZUjX3yRz9Bmrgzbqb4x9Oxho4bB751O5HPkXPsc80wQHT/xrJ1IHUbGKO0kdRiBiAgz\n+YjnsPpTKN/tLy3vLOK5t5klt5F3LKhyCPemAYLuK5XMDEj1OCP71ArGWLMPT0oIbU7h11u2t49O\nllWWNm/FIRsjI4AI/egfQ2ktpbww2XgxoDl9wJ49cUCHUGv2GixM13Mkcm0squwUH5/SrgxDW/jF\ncXOteHb3otrKEEiRISRM3zGc49v1qDT+gfiBpvV7y2unxTxywRhz4ozuHbOR2+9Bmf8A6kNIEWpa\nZqiooEqtBIR6kHI/atfRjDEt3AKjgVQjug9j+lQWh72e/htTOzyeCnhHPomeMYoJvQum7vVD47K9\njpsQBkvZ5NoAHcgUAa7rKamE0Lp9Xh0G1OZZTwZSO8jn9cCsivdS38F9cJDZIY7G2URxKe5x/MT7\nnNaEKrENwAFPPlosFwS2cd/cc0UlIm3JOeKDo2LH+UA0SjgDk98URzPiJ2449e/NAbS7v8PdpKkp\nikQ5WQLkqccGgmYNQmXWLeQLG9wVRQVPlcj+Yn3xQa98OviAjz3WjdXSpFdliEuJCNjDtsJ7enep\nRdel+kdL0rqOTVdIsoYklV1dixO3nunpg9jUCnU3WMeka5b2EUcl3JInmigQs6ZPlJAHY8+vpQP9\nO1m3nthNo0cTwM2JDwoVj6H5gd6CbhtUiVn8TcXO4ktkZ+We1BAf8Z6fZ2uqXWpyxQrbStGseQzM\nB2IA961B59+IHXmodXal+HsPFh04HbHCo25+bY/zQWv4f/CCxvII73qC8iuXYb1tYZeF9txHf6U3\nBatX+DvSl86x6cr2dwjbnEUmcj6Enj6U8hLdJdEX/SmowJp2tTT6Oc+La3HO0442+3NBf1LmRUjj\nQAfmc+nyHvWQockYyQcY3CgaabaPZxGNnaUFi3mPb6f+KA2q3RstNurnBxDE0mPfCk1YPMemaP1L\n8RtYN9fJPc2aMUaVmCKg54H0z6VRYendf6Z6T1W56a6j6fgfwJyguhGJmPzbIzjHtSjTn0zSunbi\n01fSkt9Os5GAmWNCDOGxtXb6HnNZEZ8etOF90DPKFy1rKk3zAzg/3rXI8u7zvOTg4zVoTLDJ81QW\nDTb2SwuvFgcrkbXwM5H0PFGqsjpd6+kcT61Nc2ieb8OikFc/9PA+WfSjKA1nWBzpFlZ/hLWM4KH8\nzsPVj6mghN4IyQRk5NGo5BkFmyAfSgVjChdpGO/FAXYpOHLBe/FAQqoBJbA9sUBGxgtgEj/eaCf6\nDGjt1TZf8RNGumKS7mQZQkDIB+WaMrf8Ub/ovV7V20JIYL62K4khhCLOCcEcAdu9BmCuEQvxvyFU\ng42+v+/rQaj0zax/EXRY9Nns0t9TtM+BqCKAjEclXA98jn+1Si7Cz6u6O0tLjTrxLu2tQJJrDwcK\nE/m2M2SfeoLrpupDV9Mh1OytUS2vIN8m4BZQf6T7+vPpj50GfdK9L6rJqk1y1y0elRDKRqdjHHoy\nDhjx39e9BZr7fagW0j3kul3iETRqHkeF8ZBUjkZIxjtk5rQ86dW6r+O1OcW0UtvaRsY4oWfLKBxz\n7k/5NA46P6X1rqS6WPS7V9v88rAqi/f3oN46X6C1DSotkus+BIwKl8hn2+3PapROXPT2t20bPY6k\nJ5UGYmbIfIHGW5z68VBI6DrzzWSrrAjtrwFUbDja5OBlfuaCbluJLeNwIpLiVF3bVXAP0Pv8qBxL\nO8cYcW7vnuqkAigNFKs8CyxlwG/lcYI+1A31ayF/pt1auSFmiaM/LIxVgwfoO413o3qqfSLyUSwo\ndogAyZVGcbPTPr71aNDvendJ6wtbu7Fi1lezK0bS4VZMjtnFZE0bC5u9Jh0qRAr2yw4uWx59vBI4\n4PegN1tpbap0lqOk2sipLPB4aFsnHbBNOR5A1exFhqFxbeKkngyMhdOxIPcVuhiZFz/zBUEwcKvY\nnP6fWi0+6chjn6h062uATFLcRrIMnzAsO9EehNR+GvTV3GUh0+O2YsGaWHIf9amjIfib0no3S0Vt\nFY3M000zMzLJtLKvvkenyx96oz0rwNjA8cj2osFLbVAbOc9jRQiXOAwxnj3oBlAxwDj37UDY+vHO\nQeTQBIdqjcPMfnQwJclWyBgCjJBFeefw4VaVycBUGST2wAKD0L8H9C1rSIILjWLSCytY1lZASVnl\nL4PI/wD8+vvUo1uwbxI5GkjdVc7isvOBjtj2qBWKFZiQ8CJCB5FHYj5jHFArDbQ20ey3RY1HOAOP\nsKCH1u61CPSLt9MtlXUHUrbCbJBbPdtvYetXR5T1y2udD6lni1ErJdJLvlK4wWOCePvVgsV/8Sr6\n7UW1vA0NiowIonMe4+7FeT9ARQRmodWa9EYpPBhs1Tygw26rk9xknkn70EjonxZ17TXjAeKTkZ3L\n+YZ7N8vpSjX+lOpNM6umgkMG3EgBV1DYbG4kewz2NZGkC43CP8MPFBONysMAD50DaHVH8S6N1a+B\naxMUjd280pA5wPb296DrXWLK9WNoJdtwybxDKPDcAnHIoJBifTBzzmgaz2UFzPFNNbwvLCcxuygl\nT7igdRRKg8qAZ5JAAzQEnuYoHiSWQIZW2ID/ADH2H6UERr12BY6hueIQJaO7SK/nHfnHtx3pyPGW\noN4jynuCfU963RF+DL/UtQWTkjaWY/8ATnHFGql+j1VerdJY8r+KiJz/ANwoy9C/EjqSbpbRY723\nRJC8ojIcZ4IJ/wAVkecer9en1+9FzeLCCq4URjgDP7mtLhteadBY2kMczyHUpcO0YxtiUjgH/q9c\nelAiLy1kjCX1ruyMLNGdrj0+h+lE0+t+kNQltJ7yKS3jgiTxUFw/hySp7qp70NV6YEBgWUNjBoaK\neAODnHrRoVgDnBP0ozpxZ2f4y5trVeGuJFiBPpk4zQep9C0LTembS30fQbWP8ZsDyTugZgf6ix9f\nYZpbgmbXSmXULaa6kMzpltzcjJ//AGpaLCY1CDsF74PrUCgHY0HbSx7Z96BGUfxB2xjtQZ11t0Tb\n6jNfyw2wM18gV5AcBdpzyPnV0Yp1F0o/TEczXjXaTOQYpIk3QlT3B9Rj0zVl0VKbVppImheUSwbs\ngFfXHc0De0tri/ujFYQSSyfmKopPHqaDV/g9p+padr/gkSRTzKu0kZRlPLYPbOPf2pg9GWzRCMJA\nFxH5do4wayKX1z/G0CdzqLWRkiaTxQBLudclQvovbv3oMU/4Z67uwnUAt3u1Zw42yhmx3/Ln8v0o\nN86L1d00i3i1UiGQIocNnEbnkqT2xgiguEbI4DIysp7EHNAZnxQQ/Usksej3EsCl5EUthR5sY52/\nMjigr6Qrp3R15LqEcIlmgdpFGAsY2navPJApyPJtwd8rnGBuJz6Gt0MzGSTyf0qCwSKA5ZsAjnn2\notTXQYj/AOMNIDqCrXUZwf8AuGDRG6fF6Gyfo6+ub0CR4EPgIScLIeAcfc1keatN0661a+S3sYTP\nKzAbV9B7/StLrQ/iXp9pYLp8elWsUM11AzXMqt53I7g7j244oiB6W6Tn6j2TeAy2FspTeB+Z+/8A\nmgtnWlvpdl1Dp1pq07Ja20GFQpuDHHAwPf39KDHriVTKSPOCeBnHHtQGsrG5v5pfwcTOIlMjgEeV\nfck0XRIreS7uUigRpJXOEVe5PtRE/wBJ9HaxqvUcdhNFJp0lviaSWVcMgzxgdySeBipo9T6O8Npp\nUJ1K4iW5KgSvIyqxb5jPH0paJm1NvKivE6Mp7MpyP1FQLRTwy58F0cjuAckfagOTtO3+Y8igMWCI\nWbOPlzQNhNBOWEbq5Q+YKc4+tAD7JEZgQfXj0oI/VtIttXsZLW5hRopByCP/ADVlGRa78Erae63a\nXK1tG3LAncM/Kmh10l8IZdBv4rxtTE0yggJsyoz6/P0po0zSNKEMdo9xGnjxuzkqMAEgjj7Gmial\njWQMgyCRyQcGoITqHT7q/a30+G2jFmwLSzl8GPBGFA9c5NBPRwJDbpHCipEi4CjtigqfWltqCaG8\nWhNbxyzOBIs8W8FcY4+dWQQ/wtuZdIGqadrknhy2u2QyOSEZOeRngY+XvTBZZevOmhC8janbqiZ5\n3Zzj2FMFcs+sh1ZqsFrp8UkGkrlpbh+DNzhVX5Z5NQTfXyWUXSV2t+wW3EZ5I4HHt61eYPI0mA5C\n9snFaoLsPv8AvUEk5JcA8cZG480WnOlXX4PVLO4yQ0cyP244Yf8AiiPUfUump1B0/c2O8xfi4v8A\nmL3UcGpgw/SujNX0Trj8PpckimOMvHO/kEg9Rjs3PpV0aFq/Qqa1ZJ/qcrverEqNOwGM+uMfemiV\ntrKbQdMNjp9rvtkhPht6mU5yT8u1BkvXg1qXUtOvddgRY1R3j2YHiMvZSD27CgzSCyuNQ1KK0giL\n3Mz4VAOc/wDignoNNOnaHeiW8hgkku/Al2+Ziqgn09M0ETp0qpqSmGKOdFcEeLwMfPHag3JLuCRt\nPmQWsDhNphtVAcn1w3BPFSwDdWGpX1/OYdOtbbSrlQ80szHdn0GR24/c1AbWemdatLbTJdGvJIJy\npDQwMV3exwOPatSz9Ei/R+txy2mr3evyHV4miWIDhGwwyGA7nGRS2YNZAUBWYDdjGayEvxMYB3nY\nu4KCfU+woG93c2enWs1xcPFDCp8zEgDPzq4GGgz22saS1zZSZhkdsFePXt86YHWmySeLNDMYikZ4\nYNlvvUD+VARxQJqgwRQHUAAe2O1AWOFRM8mDlgB37fagb6reXFt4ItLZJnZsuWfaI0Hdjwcn2FAz\n0nWX1i4u4xY3VpFbv4eZ1x4vGdy/KgkriN2aMRlQoOW3DOR/5qwYr1P1tp2pdS3WnanKkGh24kRl\n2eaYgcb/AFxnnAqiv9Jno0dRLJPbtdQtkNPIALaMnODsPPpSjbdK0DTbWQXui+Gsco3BU5hPP5gP\nT7VkU74t6PZHpq/1N5ZZbwrtRnmOwDPOFJwPsK1xR5ybudw788VaC5X2WoJRULSBpAe5PA/aiinA\nZnHck4A70THq/Qr23/4Y0u4lmCpLBGA7epxjH60Du+WGOBvFlFuWOFcYyCfbPrUojri6k06xX8PF\nNfBUJ3ltzM3scVBjfVvVXVNit5dapNDZGQGK3shjeAe7YHIwAOT3zVggNTiu+orrR4p7m+upJFR7\nh3TPhggDaoBwRjnPH5hV0af0xotnoD3l5dWdrY2YjGLhwPEHoef996CC6m0HpuPpk3Wny2s9sJPH\nJ3AeI2D39T37UGU9QTDULuGPSLPwIyoVIYk2lj6/X70G2/DPp0hVudRuBLcwxhRGkeEjB9M+p96D\nSLprVHiieaAE+YxHkke4H1qUOIBawL4uAuc8nvj71AwjRtQ1eO78QNp9odyLju/qT8uf70Gb6r8S\npLzryy0vp+4NxYSSCEswI2u2Rn3OOD9qC4dVamen9NlaC7tUaIFvCmnHiy4HJXJxnOeDVwed+rOv\nLnqSyWO4jZSru/kc7ck+30GKosXw2+KmqaDJDY3jR3OmqNoRhtZAP6SP7Ggtmt63qbTJ1XLazJps\nlwBFblypEOAA7L2OWANS+xrnR2vW3UmjJeWp8wJSRf6WHeoJdSPMCRmgMq8DmgBpNsgUIxBGSccD\n70DczmS8MDWoe28MN4+f588rj980CktuJZYpFdlKZ4B4OfegQ1hpIrVjbsRMBhBj8x9qsHnX/hm3\n6y1O/u9V1ddPmS6aD8OkQdyxOSe4OMmqLUvwQsYY4Xjv7m4YEEhwFyMY7fXB5pRbvhp0jqfSMV7b\n6jqZvLGQAwxAEBDk54PuD6VkVb49a5DBpiaNaeF/FIaQDumOwpzMGDEZQZ5+VboR8In1I+9QWDY6\ngFn7jjHpQhtJEFbAGBnijT0P8H7qPVOh47a42yNaymPBOcDupoykep+m73V7g/8Av2itQowvJIx6\nj5/OpRjfUWrax051RPY6LqFy8YACkebO4Z7HjNWCY0ToW2utJbqPreW5na4O4R78cehY9+fQVKLX\n05p1ro97awC4kX8VFmJLeEKdoyfOxJPbHbHYVAz0rqKPWNauri9t1ktJgILYgEiNFJ/Op9STmrBB\ndeaFCo0y3jt444DI3jLE204Y5DD+9UPPhv0NaRtPq99mSLOy22nOfdh75oNC0vT7m1uJGvGiii3A\nW8UDbQAeDu9zUohLlhouqap1VciF4I1FtbxSthtobBIPuTn7VBJ2vUth1TYk2ULi9iALwyKQYz6Z\n9CM0Ft060/DWEcDHe2Mucdye9BFW3SekWt3LPb2cUTsd2UGCG9x7VYMzufhzdX/WmoXj+BPpx3I7\nXZMmXYckc8EVRKaP8I+nXikLQuxOQSTnBzj6UEjonw90XSrq3S3s7dplJcl1EhGDx396lFx1TQ4N\nVjaC7UNCU2lAO/8AvNWDCLp9X+E/WgWImXSp2LRq7eSRT3B9iP8AFSjd9P1+21TRodVsMS2rLmTb\nyUGOePXFQSltcLcW0c1vh4mXcjDswoDLdRm4FvISsgXeTghDzjAPbPyzmgVFxCzuiOC0WN3sM+5o\nDqySJmNg3rx7UFb60tNUubGJdFdEvhIdryflUFSM49TVgyTQenJemOorf/U4H1Fpp1edAh/hOQTu\nQ9375JA4q0bnbPBcxxT20wkjKkqYzlT9ayGWu38um2MbLEJ7iRtoUds+/wAgBzQeW/iHqi6j1Pdz\neL44HkL9txHtWhVUOVyvHNB2F9zQT8hUAhAdp5FCG0mSAzE4HGDRppvwL1bwOpJbEsFiuYyVX3de\nR98Zoy2ZtRgmjkSRZocEp51K7se3vUow/rfpFE124mVpfD4mk2MWdCc4A+VWCH1281/UmFnpklzP\nYRFBEG8uGC4yQfcn9alGgaJo95rRsbi53WaxwrHOm7BjYcHnvz/moJaw07pXSI5IW1K0CQnDhpAW\nB9R796CudY62msTRW+gadI8KnDXMkLLv9MA8HGOKC3dAXF1dRfh75f41moi4G0AdwcfTj7UFhv7R\njqMBV5AJFZHkR8FRjIx6CgpXVNjJ1JqNn07p26CztSJLlpIydyj2J+fGaC+afplrazqLa3SKNIgg\nx3IHYUEsBk4wQc4oK11L1z070/M9rql6wuVA3QopLcjNBDwfFboqeSO2W7kQNxuaEhQfnQLt8Tui\nreVoV1UeXnckTFT9DigHRuv+mbu9ZV1W3Nyc4IRlVl9O47/KgtU+s6baw+JcX1umRkAuM/p3oK/1\nt0rYdX6cqXKESqN8Ug/Mp9P1qwZ702mo9GdUTWJsmOn3EY8CAORGXJAwScjJ5q0bJDNLb6YklxbK\nsgA3wwndg9sDtWQN3aw3ZKTwLLEQOGORn6ehoG1vYAw3FikRt7JSuH3Hc/GSc5P0oHn4aO2uGuYy\niose044wBQIm6F1dwfh5ARs8R8L2BHGfnQHv9PS4PjxrGLtFKxysm4qD3oCxboIIo7e1jhQHzAYU\nJ8wP8VYM56j1ktaal1BMrS2sAaK1OQDD6eUepY9yfQVR5zv7hrmaSaRtzyHJY0DcE4BPIPb5UBwO\nO4oJYzFvzEYHAH9XvQhNZN7AEgDOSDRo/wBA1SXRdVtNQgb/AJUgfBHcZ/8AGaGPVlhPbarZ2t5C\nEeORBKje2RUrI1zYxTBhMinIwcjvUEcugWkO4AMisMEA8N69u3yoERrOhWNxNYy6hapcxAeJHM+D\n8u9ASLStLlm/EWdpZyxy+Z3RQ3I5B44oJKTT4blFWSNBEOeBg5+goFYbOK1TKhIxnIbGMH50Cpcy\no6AMrIcM2OD68Ggb6Lbbllu5Cd88hYBu6rztWglSNkfm4P70Gaat8Rba96w0vp3R2mhufxyi4kO3\nYyDOV9+f8VYMw+P0cP8Ax4JVuEKzW8bEr5tuMj0+lUZ7Y2X4288GK+towRlZXYqv9uKCQi6YmbT2\nu11GzaJWKnYxbBB49KCFnhubdiwL+U8OhP60ElpXUFxY6nDdXQF0qYbZKxwT9vWg3npb42aHcmC1\n1C3uLSQjEkpIdQfr3xUondP6x6e6tv7e101hczRzrNtaFiFC/wAxPYHtUF+lj8bYCTgMG59cUC4O\nBQQOo2eoXepFTeL/AKYQN1sEwWx6Fu+DQLX2kw3Ok3Vjas9qJ48Exd1PHb9KCE6R0G86Ut7mK71K\nK4gklM7TyKRIBjtjtjj96AOreudJsrMJbXksk8jBCbVdzRjONxBHP/3QQ9x1jcWGkERWWqXdpMPC\nt7x4wfFOOWPbA+fAqwZr8TJ9Qbp2ymvEjsrSTEVvawyHz45Lv6E4wPqaoyl8g91OKDlYEc8mgKW5\nPH7UE80f8PPHl7gDFAZkUjawUIQG8w5ouknAUbl9Dg59KK1X4Z9XXFvo8mlRXax3KHfBG8Rk3qe6\njHOc54+dMZO7jr/qK8vWtba4tYu38TwvDOMc8N60wPLbrW10PS7pnvrnUtbAKobgBUUk9jg8f/lM\nC2rydMdRSaRqWoLEbx4UefwxkL2BVvvn9Klgv3Tp0lPxFno6wJ4IVmEOMEHsf2xUD2e4ks7n+NGD\naCMu8q8lCMcEfPNA6tW/EwrMybEYZUHnI9Cf/FAzu7G4LXTWs38SRNqhs4Bz3z9KCO6x07UNT6al\ntNMvEs7xkC7nPlI9R2/egwbrDT+r+kupLCeK9nu3KBYGRy+QvdWFWCU6avtA6h1iKDqLRhpmpvkx\nz2p8JGb3z7k557VRX77TdHteuPBut401CAouyXGcdvmASaC069030brYaay/CwPFwWspRErfUN7U\nGZX2hWSiY6ZrMc0CvhUlBUk/UcGgiLq2mtG8F54yDwfDfIoGkrRsSZXwOB2zmgsvw06XHVfUcFvI\n22xQ753Ze4H8v3OBUo9a6XodjpltHbabDHZIhVsQqBuA9DxznFQTQUe5oDYGMnn7UEbpV3JqDyz+\nBJFbBtsXiDBf/qx6CgDXL42cSRwGM3UzBQrHGFzy32oG2i2kKTSI80lzMow0rqQoyew+3tQO59Kt\nJJRI9rEzgg7igz3z/egZ6paJdGGwW4eBXy7pGeXUdwT6A5qwebPjJrcOr9TvbWZQ2Onr+Gi2nIJH\ncj7+vyqigOuRk+vtxQAqEk4BU0ABj7j96CzzKxYD0GeM0CQG3OMAjkfOgbSZwzE4PJyfWi6caTdz\naffW95akrPFIrLg/tRHpGzs9C6t0W31FrO3Y43MrcbH9c/eloZ6v0JpWoKlrHHBbScSFEHYc5Pz7\n1NDXUoJrK1g0dvw9qsspW3nXaN6KMrHnH5ieSfan0U3Rr1uidaRbiwk8BUSS6naQkjc3ZcHaRnn7\n0wbja6lZX+nw3NvMksM+FXnPJ9DUCeoXj2hSG2t2km7op4U/f/FAvHaNePb3N0jRzRA7VD8Akc9u\n/FAvcxnawZQ3HYtjJoKfDFAdeub6Vo1dSULIBtTbgYOfU8jNWUVvrm5ih0m1urixhlsI5HJliOwR\n5/LkkHHJPamjHdQ0HWdemlutN0+YWBYtC0rHDhjwVz3zWgx1n4e9U6QE8XT5Zd//APR5se9XBXbj\nS9S0zAvbO5tyWKAOhG4/KpQ3ZHXO5JFK98qRUGhfCbph77Uvx91pv463wVjR0LR7s483796WjW7r\nTrXpHWrSW2YK7lmXTbaIFpCRjjHOOSeeBipaNLtXuIre3R43lnkGXYADZnnmoH6Dkbzn6UDGWe9a\n/hKG3jsW8riQMJS3svp86B6zgMQmDtGT8qDNb6XUpOoPx72tzOkjFYowOduDwDjj70Gg6Wsq2KNe\nAJKRuKk52fIn5DvVkENrvW+iaSAsl0txI2Asdud5Yk4A4pgzv4l9ST6JZSXbyyprWpw+FFa5G21g\nz5icfzH3pgwCSQlh688+tUEwjjngZ7UHAHuWAHpn+1AXj5frQWXOGBZcKSe3c/rQIyAtnI27eBj/\nADQIMAuH8vHBB9DQwVpPLjOckEZ/ahi9/Czqj/S9VhtLm6aG1uZFUsT5VOfX5Gpg9GiNJArxsrxs\nv1BHypYGF7pljeG3kvLZSlqzNGGxhSRjP6GoG1yLUWiWc2nSPA4KJGItyYHYHHarop3wu0jWYNUv\nzriNBp8ErraRMANxJ/N7nA7ZqDUHgSQLvAbacjI7H3oOuIFuYzGS68jJRyp4+lA0m0yDwGjiTw3b\nzBwTuDe+TQVbV+mLmW1NtbSok9weZiC2zPLEZ+/FBM6Xo40/TYdL8Jr21G4vJcuCck55HbFWUKQ/\nh4tR/DTz2o8TK21qmMgKOf8AfpmrokljG1i5BHI57D5VNorut9Lab1LA638W6H8sboNrqQckq3pn\ntV0RWsfD6K7SGC3vTFahQJY2iVmkI9d+Mimie0Hp2DQ7AQacio3JZgqjcT3zxk1KHGldPWtnqMup\nS5uNTmGGnk5KjGNqf0r8qgmkhVGcquGblm96BDUZZYLGVrdN8+MIvux7UGKTdXdbaRrFvbaxbWN4\nd58BmwCjHPORycLx2q4LNe9S9TdN6I13qkWmzSXdwBCGlO4hiMKAB2A9ag0WySQwpLLtMjDcQBhV\nz6CgoHxF17XbnUYunulgsUsu4TTvjIUAEhR+x4qwZwtkOi7651PXJobm4tohHbQhdgecjnaPZeOf\neqMy1vWLvWNQlvb+ZpJpWyT2A9gB6Cgjy5AO4A5oAGRgBR39aA7Z8MkFtxPY0AbV9UGfpQWhj5Tk\nBQGxuBoEGG1iQCyHvj1oELgSkK6oRnIBIxzRdJ28Q3+fHiAds96LoH3AF1wCfyijNbF8JviI1rbQ\n6Pq/iSopxFOx5Uf0n3qUbWQk8II2SRyDPuCDUHMpSIiJQSBwDwKAgTxApnEbyIQ+APyn0+9A5B3A\ngfmoEWgcb3VlMpGFYjt+negSs7zxH/C3RWO9UElM8SAHG5fl/agNdXcEbJAZ1WadvDQDJO7Gf7c0\nED1dqWv2enzw6Rb24nZfJd3EwREHqxyMZHzOKBbT7H8PZWTK5uZ9o3Xm1SzEry5PsT7UFF+JnUez\nSZ9LttRs2km2m5KSFWXDZI491AyBzVwK6J8T7CRtPjee0tbaGAtdNISdoXgLEo5JJxyfSmC6aF1f\no2vELZXDJOxwkMybHYe4HtUFiJWJd8rKqjuTQcZV8SNI0dy43BlGVA+ZoBniE0RU7tp77Tg5zQUv\n4hNrU2tdNWOhylPEnaS5UHGYlAzn5cn74oHGt6l0z07k6nJC123HhKPFlbPptGTj9q0Kx0XMvU+t\ny6vqQtpWlZo4LOdGDWsak8Aflycgk+v2qC8a1q8OnaXLPOz2kCIWkZ+CqjgYx6n0xTBkmp9Sabp0\nKdRyI5vJkaGw08MVKIDw8jA557896QY1q2o3eqXr3N7O8skjnlnzgn5e1UMCGV/MOM0BJFOVwfX0\noFtgZTjkg8UBtpOeO1B3hg85FBZXVMM+VJAA2+h96BO4IMJ/p7qvuKBKacmOKB5CYYx5UzgDPfHz\noGwD5OApJHAHrQEAk8NWdNpx+XdkA0AIGhkGWOQcgg8UGw/DP4kmwhi07WCTZqAiSbstGc4+pFKN\nvs5o7q2Sa3kWaJxkOp4NZDOHUh/qL2k8LW78eG7kbZv+0+/yoEZp7fUpX/BXpgvYZTCSRtO7vtwe\n/vQdY6jeyatPp91FEPw8aSNMoYbi2cADt6Z70DS60KW7luJdV1JniJzBtURG2b0KN7+/vQKSWUWn\nLLqN3cSLP4ex5Y8jxiPykr23+nzzigpXUPVOu6Vqmmf8UWttb9OXDqkjRnfI3H849uRkDOKC0axL\nFr+nLB0rrUMM0bqCIGGGX1AH09qsGc9UfBiTV9Vhu9Pu5oPGLNeG6bczN7jHvVEr058Gre3sLeDV\nrmOdo3LmSFNjEH+XdntQXO51XQOl5YrCKGWa8SMYS3tzMyLjjJHb9alDqz1S5ktJ7nVdLmSVDiOO\nNfEMiE4Xy+h9xUDm11CaTxEOn3VmpHFxKFCr9s5GPmKAus6jb9M6RJf3c88yxpjcxL7uM5OO3HrQ\nVTSupoOuYdZMTSpptriNFtXKXDA/Pjhs9h2xQOJ7Xpnpa2S91WK2swqjbGw3ysfcnuxrQsGmapYv\npwvra1FtDL52Mi+Gx49sZoMb+LXV0t+jWl3OYLGTO2zjx4h2nyszHsG4/Sgxt5ZJmEsjl3PB3GgS\nlyXBxkDnNADseB2PsaA8SoXQyFgmQCV70B5R/EIjYmPJxnvigEKcYDfrQF2/X9aCwqC7l2zwfT/F\nAJJ5747E5oGTqZArKOfccftQHZWwmOD23Z4NAEkTEBmwR7g5AoG7KSSE5HyFAMTyQsMHa/cEcEc5\noL58P+v7rppdryPNAXx+GfsQe7Z9D2/Wg3zSdX0fqzT08F433eYwscOpHt9PcVkQPW632mX9vfWd\nrbXiRgrIdu2eHIwGD57+nIoKdc/ELVdC0u5afp27SUtta5vJMMzk+UDjzYHtQWDpj4gxXmif/wAi\ntXZkGZzFGW8MehZO+PmM0Fibr/poWQmF6xXA2xmFg59sKRk0C2nQP1KFvdb0vwIUJNtDKcsVP8zD\n0Jx2oJDTNA0vR5p7qzs44pJOXkUc/SgNfa/pNvbF5L2JgTsCo2WJzjGKA1jcNcxOF/m/I0zbt4+g\nxgenNA5s7CCxWWYQxpNLgyMiY3nt2oHajcuexAoEL1C1uyFkVHO1ixHb17/KgwT4rdXWep6oul2O\npywaTYqVLxDyySDjaM9x6Z+tWDPdB1TW7Wa9sumpGlursqMQRlpXwd3BA4571RcdN0i41G7h/wBS\nmNxqdkwn1O6u5/4cAXlYgcnngE/pQNvih8S211obHRyYbWInfJG/Ex9MD2+tBmNzcTXTtJcSSSSH\nH5jngDAH0oEdxbg5A9wKAzPwO+fegSLfLJoFoR5fUfegXOcHGAT8qAM+XaBzQCCwGDuyPlQWJpV3\n7Q5TIweM7u/f9qA9vNYpFML2KaR8YiaJgAh55PvQRvnYoqA+MThcDnPai4PKWQlH3K6tggjnPaiE\nmz4ZznBPfFAVWG0AZDH1z2HzoE7lhv8AJIHI/mGRQI8AEeuOMGgndN6pu7V4RJLKY4WDLhypXj0o\nNL6d+MMS4ttetDdQgDNwAPEwPRh2NZGkabrvTXVZiexvba5aI+ILWZQG3Y4IDdvtQScvTdjK8cht\nFjkQ+VlYgqPXGKA17daV07apJrV9CsZbELTgbu3YY78UEHf9evJ4K9P6JqGoiR1XxjCUjAJ5OT3N\nBM9YdSWPTenwy3t7bWbSuBunUthfUhRyT+1BA2vXnS/jGdeo9LnIHljeLwSCe5zgmgejrOz1S3kG\nhazoaXYGAJ5Sw3e38uaCsJfX02rPD1XfXtvcCXdBJGjLbOO+EK88Y7nIoLB1H1Bb6WkN1ddSQ29i\no/5MZEjzt7DGTjj2FXNGUfEH4wRaxCtnp2kwGGM7llvBvIOO4XOAe/fNMwZbqusalfLBHfzSvFH+\nSIgKo+igYqiwWfWV30rpp03p6exJnUPJexQnxuR+Ulu2PkKCrT6jcSiTxZnbxCWcFidxPJJ96BBD\nlQ35fbFAbahBHJIGO+KAIwg5YnB455oDkKcbW7UAOowSMjOORQcCVXPp+9AqDkHcDmgMNpHPcUBT\nuzQWCJXcFvKR2Y0CMiqjnz4UcH/6oG8gKluwxyAfSjQ6ylEJBJfv37/OiYQMjbjkZXOSP/FEELAE\nkNn1waBCXdjORnPoc80CZeTb5wQe2BQAm4y7jlhjvQcWO3cW4GB7ZpgGC5a3uUeNyGQ5GCR+45pg\nt+l/EzqLTgxj1O5Zc4CSOXCj70wOE+Jd/Pq0V7qVvb3bISAWUBhnuc+/2pgvkHx0soLaNIdKkEiq\nR5yDg47cYpgresfELSNc1n8VrFtAw2ZBiiywwcgeb14x2xTBYNA13ozUo/GOqWVizDc1nf6crIh/\n7wOf1rOURvVupdE6ncpFeakiSWsZdbjSLfw1Zs+VVyMHA75xWsFDHU0idTJdf65rT28YKpPvHjKp\n9Bk49qYK/rGpXF/qU9zPdyzyyMSJJAAx9ifnVlwNZ7vxYEh8GAEHO8DDH5H5U0IPK8jHxSzFQAMn\nOKgJkFwPT6UBlAII5z3zQCjnA5OKBXeuAT9KABMA208DtxQHRhzgUC3KjJx9z2oAP6/L3NAHC8Hg\n/XNAcNtGe4oEy5yeaCdLk7yx2qQCAO1AmXZSSexHbPNAhJuLJkgjvzRonuAJy2cd8UCbyOi453Dj\n7GiYTZyVPPl74oYLJIyq68EH3Gf3oYTDEjLbiP1FEDHOUOdgOfXIBFAm77j5Mnng/WgLI5UE8Eg9\niO9AnuJbuQx5wOBQFRxuIbOc54PrQK28ws76F722EyI4d4HJUOPb35yKBm8oeQsi4BPbPb71RyYI\nHmPGRg00GRsbsHIPY0Bg52AEEseBUCQJyOPXtQDtcdvvjtQCQ/GBwKAuXU4PrQBvZE5IGeO1Affj\nBJ57UBvEO045HagFWAAzktQKIzBeMg0C5kz5mOG/WgMrDJJ7jmgEnIyOccYoA3cEMRj05oC7/wDe\nBQTduzEoNxwcZGaAJOWfPNAlISVOT60aIQfkj+amgJ3bnnigKeFGPQUCf/x0Smw4V8exogX/AOY3\n+/SgKxKxeU459KAgJOckntQJkkcgkGgAAFFz/XQEmJaY7jnk96BM9yPQelAf/wCX7UBv/jagGP8A\nKB6ZoDf00HMfO/0oAH5TQA/5moECSMDPFAvGASMjPP8AigVX+b60BW7/AHoHEJJD55oDd4snv70C\nsSjCcDmgVAAbgYoGYJ3nk9qBUAYHAoP/2Q==\n" } } } ], "nbformat": 4, "nbformat_minor": 5, "metadata": {} } pandoc-2.9.2.1/test/ipynb/simple.out.native000066400000000000000000000025311363630463000205430ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("jupyter",MetaMap (fromList [("nbformat",MetaString "4"),("nbformat_minor",MetaString "5")]))]}) [Div ("",["cell","markdown"],[]) [Header 1 ("lorem-ipsum",[],[]) [Str "Lorem",Space,Str "ipsum"] ,Para [Strong [Str "Lorem",Space,Str "ipsum"],Space,Str "dolor",Space,Str "sit",Space,Str "amet,",Space,Str "consectetur",Space,Str "adipiscing",Space,Str "elit.",Space,Str "Nunc",Space,Str "luctus",SoftBreak,Str "bibendum",Space,Str "felis",Space,Str "dictum",Space,Str "sodales."]] ,Div ("",["cell","code"],[]) [CodeBlock ("",["python"],[]) "print(\"hello\")"] ,Div ("",["cell","markdown"],[]) [Header 2 ("pyout",[],[]) [Str "Pyout"]] ,Div ("",["cell","code"],[("execution_count","2")]) [CodeBlock ("",["python"],[]) "from IPython.display import HTML\nHTML(\"\"\"\n\nHTML\n\"\"\")" ,Div ("",["output","execute_result"],[("execution_count","2")]) [RawBlock (Format "html") "\nHTML\nhello"]] ,Div ("",["cell","markdown"],[("tags","[\"foo\",\"bar\"]")]) [Header 2 ("image",[],[]) [Str "Image"] ,Para [Str "This",Space,Str "image",Space,Image ("",[],[]) [Str "the",Space,Str "moon"] ("lalune.jpg",""),Space,Str "will",Space,Str "be",Space,Str "included",Space,Str "as",Space,Str "a",Space,Str "cell",SoftBreak,Str "attachment."]]] pandoc-2.9.2.1/test/jats-reader.native000066400000000000000000000600301363630463000175220ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "John",Space,Str "MacFarlane"]]),("title",MetaInlines [Str "Pandoc",Space,Str "Test",Space,Str "Suite"])]}) [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",Space,Str "John",Space,Str "Gruber's",Space,Str "markdown",Space,Str "test",Space,Str "suite."] ,Header 1 ("headers",[],[]) [Str "Headers"] ,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",SoftBreak,Link ("",[],[]) [Str "embedded",SoftBreak,Str "link"] ("/url","")] ,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 4 ("level-4",[],[]) [Str "Level",Space,Str "4"] ,Header 5 ("level-5",[],[]) [Str "Level",Space,Str "5"] ,Header 1 ("level-1",[],[]) [Str "Level",Space,Str "1"] ,Header 2 ("level-2-with-emphasis",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 3 ("level-3",[],[]) [Str "Level",Space,Str "3"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,Header 2 ("level-2",[],[]) [Str "Level",Space,Str "2"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"] ,Para [Str "Here's",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."] ,Para [Str "Here's",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."] ,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."] ,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "E-mail",Space,Str "style:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]] ,BlockQuote [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ,Para [Str "A",Space,Str "list:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "item",Space,Str "one"]] ,[Para [Str "item",Space,Str "two"]]] ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"] ,BlockQuote [Para [Str "nested"]] ,BlockQuote [Para [Str "nested"]]] ,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."] ,Para [Str "Box-style:"] ,BlockQuote [Para [Str "Example:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"] ,BlockQuote [OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "do",Space,Str "laundry"]] ,[Para [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"]]]] ,Para [Str "Here's",Space,Str "a",Space,Str "nested",Space,Str "one:"] ,BlockQuote [Para [Str "Joe",Space,Str "said:"] ,BlockQuote [Para [Str "Don't",Space,Str "quote",Space,Str "me."]]] ,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."] ,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab" ,Para [Str "And:"] ,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{" ,Header 1 ("lists",[],[]) [Str "Lists"] ,Header 2 ("unordered",[],[]) [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "tight:"] ,BulletList [[Para [Str "asterisk",Space,Str "1"]] ,[Para [Str "asterisk",Space,Str "2"]] ,[Para [Str "asterisk",Space,Str "3"]]] ,Para [Str "Asterisks",Space,Str "loose:"] ,BulletList [[Para [Str "asterisk",Space,Str "1"]] ,[Para [Str "asterisk",Space,Str "2"]] ,[Para [Str "asterisk",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "tight:"] ,BulletList [[Para [Str "Plus",Space,Str "1"]] ,[Para [Str "Plus",Space,Str "2"]] ,[Para [Str "Plus",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "loose:"] ,BulletList [[Para [Str "Plus",Space,Str "1"]] ,[Para [Str "Plus",Space,Str "2"]] ,[Para [Str "Plus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "tight:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "loose:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Header 2 ("ordered",[],[]) [Str "Ordered"] ,Para [Str "Tight:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "and:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "One"]] ,[Para [Str "Two"]] ,[Para [Str "Three"]]] ,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "and",Space,Str "using",Space,Str "spaces:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "One"]] ,[Para [Str "Two"]] ,[Para [Str "Three"]]] ,Para [Str "Multiple",Space,Str "paragraphs:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."] ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",SoftBreak,Str "dog's",Space,Str "back."]] ,[Para [Str "Item",Space,Str "2."]] ,[Para [Str "Item",Space,Str "3."]]] ,Para [Str "List",Space,Str "styles:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [] ,OrderedList (1,LowerRoman,DefaultDelim) [] ,Header 2 ("nested",[],[]) [Str "Nested"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"]]]]]]] ,Para [Str "Here's",Space,Str "another:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Header 2 ("tabs-and-spaces",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]] ,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"] ,Para [Str "Autonumbering:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Autonumber."]] ,[Para [Str "More."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Nested."]]]]] ,Header 2 ("definition",[],[]) [Str "Definition"] ,DefinitionList [([Str "Violin"], [[Para [Str "Stringed",Space,Str "musical",Space,Str "instrument."] ,Para [Str "Torture",Space,Str "device."]]]) ,([Str "Cello",LineBreak,Str "Violoncello"], [[Para [Str "Low-voiced",Space,Str "stringed",Space,Str "instrument."]]])] ,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",SoftBreak,Str "this"],Str "."] ,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",SoftBreak,Strong [Str "is",Space,Str "this"],Str "."] ,Para [Str "Empty",Space,Strong [],Space,Str "and",Space,Emph [],Str "."] ,Para [Str "An",SoftBreak,Emph [Link ("",[],[]) [Str "emphasized",SoftBreak,Str "link"] ("/url","")],Str "."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",SoftBreak,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",SoftBreak,Code ("",[],[]) "",Str "."] ,Para [Str "This",Space,Str "is",Space,SmallCaps [Str "small",Space,Str "caps"],Str "."] ,Para [Str "These",Space,Str "are",Space,Str "all",Space,Str "underlined:",Space,Str "foo",Space,Str "and",Space,Str "bar."] ,Para [Str "These",Space,Str "are",Space,Str "all",Space,Str "strikethrough:",Space,Strikeout [Str "foo"],Str ",",SoftBreak,Strikeout [Str "bar"],Str ",",Space,Str "and",Space,Strikeout [Str "baz"],Str "."] ,Header 1 ("smart-quotes-ellipses-dashes",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"] ,Para [Str "\"Hello,\"",Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Str "\"'Shelob'",Space,Str "is",Space,Str "my",Space,Str "name.\""] ,Para [Str "'A',",Space,Str "'B',",Space,Str "and",Space,Str "'C'",Space,Str "are",Space,Str "letters."] ,Para [Str "'Oak,'",Space,Str "'elm,'",Space,Str "and",Space,Str "'beech'",Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Str "'pine.'"] ,Para [Str "'He",Space,Str "said,",Space,Str "\"I",Space,Str "want",Space,Str "to",Space,Str "go.\"'",Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70's?"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Str "'",Code ("",[],[]) "code",Str "'",Space,Str "and",Space,Str "a",SoftBreak,Str "\"",Link ("",[],[]) [Str "quoted",SoftBreak,Str "link"] ("http://example.com/?foo=1&bar=2",""),Str "\"."] ,Para [Str "Some",Space,Str "dashes:",Space,Str "one---two",Space,Str "---",Space,Str "three--four",Space,Str "--",Space,Str "five."] ,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5-7,",Space,Str "255-66,",Space,Str "1987-1999."] ,Para [Str "Ellipses...and.",Space,Str ".",Space,Str ".and",Space,Str ".",Space,Str ".",Space,Str ".",Space,Str "."] ,Header 1 ("latex",[],[]) [Str "LaTeX"] ,BulletList [[Para [Str "\\cite[22-23]{smith.1899}"]] ,[Para [Str "\\doublespacing"]] ,[Para [Str "$2+2=4$"]] ,[Para [Str "$x",Space,Str "\\in",Space,Str "y$"]] ,[Para [Str "$\\alpha",Space,Str "\\wedge",Space,Str "\\omega$"]] ,[Para [Str "$223$"]] ,[Para [Str "$p$-Tree"]] ,[Para [Str "$\\frac{d}{dx}f(x)=\\lim_{h\\to",Space,Str "0}\\frac{f(x+h)-f(x)}{h}$"]] ,[Para [Str "Here's",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Str "$\\alpha",Space,Str "+",Space,Str "\\omega",Space,Str "\\times",SoftBreak,Str "x^2$."]]] ,Para [Str "These",Space,Str "shouldn't",Space,Str "be",Space,Str "math:"] ,BulletList [[Para [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",SoftBreak,Code ("",[],[]) "$e = mc^2$",Str "."]] ,[Para [Str "$22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$34,000.",Space,Str "(It",SoftBreak,Str "worked",Space,Str "if",Space,Str "\"lot\"",Space,Str "is",Space,Str "emphasized.)"]] ,[Para [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",SoftBreak,Str "emphasized"],Space,Str "23$."]]] ,Para [Str "Here's",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"] ,Para [Str "\\begin{tabular}{|l|l|}\\hline",Space,Str "Animal",Space,Str "&",Space,Str "Number",Space,Str "\\\\",Space,Str "\\hline",Space,Str "Dog",Space,Str "&",SoftBreak,Str "2",Space,Str "\\\\",Space,Str "Cat",Space,Str "&",Space,Str "1",Space,Str "\\\\",Space,Str "\\hline",Space,Str "\\end{tabular}"] ,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"] ,BulletList [[Para [Str "I",Space,Str "hat:",Space,Str "\206"]] ,[Para [Str "o",Space,Str "umlaut:",Space,Str "\246"]] ,[Para [Str "section:",Space,Str "\167"]] ,[Para [Str "set",Space,Str "membership:",Space,Str "elem"]] ,[Para [Str "copyright:",Space,Str "\169"]]] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."] ,Para [Str "This",Space,Str "&",Space,Str "that."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "`"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,Header 1 ("links",[],[]) [Str "Links"] ,Header 2 ("explicit",[],[]) [Str "Explicit"] ,Para [Str "Just",Space,Str "a",SoftBreak,Link ("",[],[]) [Str "URL"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",SoftBreak,Str "and",Space,Str "title"] ("/url/","title"),Str "."] ,Para [Link ("",[],[]) [Str "URL",SoftBreak,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."] ,Para [Link ("",[],[]) [Str "URL",SoftBreak,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."] ,Para [Link ("",[],[]) [Str "URL",SoftBreak,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")] ,Para [Link ("",[],[]) [Str "URL",SoftBreak,Str "and",Space,Str "title"] ("/url/","title with single quotes")] ,Para [Str "Email",Space,Str "link",Space,Str "(nobody",Space,Str "[at]",Space,Str "nowhere.net)"] ,Para [Link ("",[],[]) [Str "Empty"] ("",""),Str "."] ,Header 2 ("reference",[],[]) [Str "Reference"] ,Para [Str "Foo",SoftBreak,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",SoftBreak,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",SoftBreak,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",SoftBreak,Str "[brackets]"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "b"] ("/url/",""),Space,Str "by",SoftBreak,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."] ,Para [Str "Indented",SoftBreak,Link ("",[],[]) [Str "once"] ("/url",""),Str "."] ,Para [Str "Indented",SoftBreak,Link ("",[],[]) [Str "twice"] ("/url",""),Str "."] ,Para [Str "Indented",SoftBreak,Link ("",[],[]) [Str "thrice"] ("/url",""),Str "."] ,Para [Str "This",Space,Str "should",Space,Str "[not]",Space,Str "be",Space,Str "a",Space,Str "link."] ,CodeBlock ("",[],[]) "[not]: /url" ,Para [Str "Foo",SoftBreak,Link ("",[],[]) [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."] ,Para [Str "Foo",SoftBreak,Link ("",[],[]) [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."] ,Header 2 ("with-ampersands",[],[]) [Str "With",Space,Str "ampersands"] ,Para [Str "Here's",Space,Str "a",SoftBreak,Link ("",[],[]) [Str "link",SoftBreak,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."] ,Para [Str "Here's",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",SoftBreak,Link ("",[],[]) [Str "AT&T"] ("http://att.com/","AT&T"),Str "."] ,Para [Str "Here's",Space,Str "an",SoftBreak,Link ("",[],[]) [Str "inline",SoftBreak,Str "link"] ("/script?foo=1&bar=2",""),Str "."] ,Para [Str "Here's",Space,Str "an",SoftBreak,Link ("",[],[]) [Str "inline",SoftBreak,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."] ,Header 2 ("autolinks",[],[]) [Str "Autolinks"] ,Para [Str "With",Space,Str "an",Space,Str "ampersand:",SoftBreak,Link ("",[],[]) [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")] ,BulletList [[Para [Str "In",Space,Str "a",Space,Str "list?"]] ,[Para [Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,[Para [Str "It",Space,Str "should."]]] ,Para [Str "An",Space,Str "e-mail",Space,Str "address:",Space,Str "nobody",Space,Str "[at]",Space,Str "nowhere.net"] ,BlockQuote [Para [Str "Blockquoted:",SoftBreak,Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",SoftBreak,Code ("",[],[]) ""] ,CodeBlock ("",[],[]) "or here: " ,Header 1 ("images",[],[]) [Str "Images"] ,Para [Str "From",Space,Str "\"Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune\"",Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"] ,Para [Image ("",[],[]) [] ("lalune.jpg","Voyage dans la Lune")] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",SoftBreak,Image ("",[],[]) [] ("movie.jpg",""),SoftBreak,Str "icon."] ,Header 1 ("footnotes",[],[]) [Str "Footnotes"] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference",Link ("",[],[]) [Str "(1)"] ("#note_1",""),Str ",",SoftBreak,Str "and",SoftBreak,Str "another",Link ("",[],[]) [Str "(longnote)"] ("#note_longnote",""),Str ".",SoftBreak,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",SoftBreak,Str "contains",Space,Str "a",Space,Str "space^(my",Space,Str "note)."] ,Para [Link ("",[],[]) [Str "(1)"] ("#ref_1",""),Space,Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",SoftBreak,Str "go",Space,Str "anywhere",Space,Str "in",Space,Str "the",Space,Str "document,",Space,Str "not",Space,Str "just",Space,Str "at",Space,Str "the",Space,Str "end."] ,Para [Link ("",[],[]) [Str "(longnote)"] ("#ref_longnote",""),Space,Str "Here's",SoftBreak,Str "the",Space,Str "other",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."] ,Para [Str "Caret",Space,Str "characters",Space,Str "are",Space,Str "used",Space,Str "to",Space,Str "indicate",Space,Str "that",Space,Str "the",Space,Str "blocks",Space,Str "all",Space,Str "belong",Space,Str "to",SoftBreak,Str "a",Space,Str "single",Space,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "block",Space,Str "quotes)."] ,CodeBlock ("",[],[]) " { }" ,Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "use",Space,Str "a",Space,Str "caret",Space,Str "at",Space,Str "the",Space,Str "beginning",Space,Str "of",Space,Str "every",Space,Str "line,",Space,Str "as",SoftBreak,Str "with",Space,Str "blockquotes,",Space,Str "but",Space,Str "all",Space,Str "that",Space,Str "you",Space,Str "need",Space,Str "is",Space,Str "a",Space,Str "caret",Space,Str "at",Space,Str "the",Space,Str "beginning",SoftBreak,Str "of",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "the",Space,Str "block",Space,Str "and",Space,Str "any",Space,Str "preceding",Space,Str "blank",Space,Str "lines."] ,Para [Str "text",Space,Emph [Str "Leading",Space,Str "space"]] ,Para [Emph [Str "Trailing",Space,Str "space"],Space,Str "text"] ,Para [Str "text",Space,Emph [Str "Leading",Space,Str "spaces"]] ,Para [Emph [Str "Trailing",Space,Str "spaces"],Space,Str "text"] ,Header 1 ("tables",[],[]) [Str "Tables"] ,Header 2 ("tables-with-headers",[],[]) [Str "Tables",Space,Str "with",Space,Str "Headers"] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[Para [Str "X"]] ,[Para [Str "Y"]] ,[Para [Str "Z"]]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Header 2 ("tables-without-headers",[],[]) [Str "Tables",Space,Str "without",Space,Str "Headers"] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Table [] [AlignLeft,AlignLeft,AlignLeft] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Para [Str "1"]] ,[Para [Str "2"]] ,[Para [Str "3"]]] ,[[Para [Str "4"]] ,[Para [Str "5"]] ,[Para [Str "6"]]]] ,Header 2 ("empty-tables",[],[]) [Str "Empty",Space,Str "Tables"] ,Para [Str "This",Space,Str "section",Space,Str "should",Space,Str "be",Space,Str "empty."]] pandoc-2.9.2.1/test/jats-reader.xml000066400000000000000000000662251363630463000170500ustar00rootroot00000000000000
                Pandoc Test Suite MacFarlane John Anonymous

                This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite.

                Headers Level 2 with an <ext-link ext-link-type="uri" xlink:href="/url">embedded link</ext-link> Level 3 with <italic>emphasis</italic> Level 4 Level 5 Level 1 Level 2 with <italic>emphasis</italic> Level 3

                with no blank line

                Level 2

                with no blank line

                Paragraphs

                Here's a regular paragraph.

                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.

                Here's one with a bullet. * criminey.

                There should be a hard line breakhere.

                Block Quotes

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status { print "working"; }

                A list:

                item one

                item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                Box-style:

                Example:

                sub status { print "working"; }

                do laundry

                take out the trash

                Here's a nested one:

                Joe said:

                Don't quote me.

                And a following paragraph.

                Code Blocks

                Code:

                ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab

                And:

                this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{
                Lists Unordered

                Asterisks tight:

                asterisk 1

                asterisk 2

                asterisk 3

                Asterisks loose:

                asterisk 1

                asterisk 2

                asterisk 3

                Pluses tight:

                Plus 1

                Plus 2

                Plus 3

                Pluses loose:

                Plus 1

                Plus 2

                Plus 3

                Minuses tight:

                Minus 1

                Minus 2

                Minus 3

                Minuses loose:

                Minus 1

                Minus 2

                Minus 3

                Ordered

                Tight:

                First

                Second

                Third

                and:

                One

                Two

                Three

                Loose using tabs:

                First

                Second

                Third

                and using spaces:

                One

                Two

                Three

                Multiple paragraphs:

                Item 1, graf one.

                Item 1. graf two. The quick brown fox jumped over the lazy dog's back.

                Item 2.

                Item 3.

                List styles:

                Nested

                Tab

                Tab

                Tab

                Here's another:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Same thing but with paragraphs:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Tabs and spaces

                this is a list item indented with tabs

                this is a list item indented with spaces

                this is an example list item indented with tabs

                this is an example list item indented with spaces

                Fancy list markers

                Autonumbering:

                Autonumber.

                More.

                Nested.

                Definition Violin

                Stringed musical instrument.

                Torture device.

                CelloVioloncello

                Low-voiced stringed instrument.

                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                Empty and .

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is small caps.

                These are all underlined: foo and bar.

                These are all strikethrough: foo, bar, and baz.

                Smart quotes, ellipses, dashes

                "Hello," said the spider. "'Shelob' is my name."

                'A', 'B', and 'C' are letters.

                'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.'

                'He said, "I want to go."' Were you alive in the 70's?

                Here is some quoted 'code' and a "quoted link".

                Some dashes: one---two --- three--four -- five.

                Dashes between numbers: 5-7, 255-66, 1987-1999.

                Ellipses...and. . .and . . . .

                LaTeX

                \cite[22-23]{smith.1899}

                \doublespacing

                $2+2=4$

                $x \in y$

                $\alpha \wedge \omega$

                $223$

                $p$-Tree

                $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$

                Here's one that has a line break in it: $\alpha + \omega \times x^2$.

                These shouldn't be math:

                To get the famous equation, write $e = mc^2$.

                $22,000 is a lot of money. So is $34,000. (It worked if "lot" is emphasized.)

                Escaped $: $73 this should be emphasized 23$.

                Here's a LaTeX table:

                \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular}

                Special Characters

                Here is some unicode:

                I hat: Î

                o umlaut: ö

                section: §

                set membership: elem

                copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -

                Links Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                Email link (nobody [at] nowhere.net)

                Empty.

                Reference

                Foo bar.

                Foo bar.

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not] be a link.

                [not]: /url

                Foo bar.

                Foo biz.

                With ampersands

                Here's a link with an ampersand in the URL.

                Here's a link with an amersand in the link text: AT&T.

                Here's an inline link.

                Here's an inline link in pointy braces.

                Autolinks

                With an ampersand: http://example.com/?foo=1&bar=2

                In a list?

                http://example.com/

                It should.

                An e-mail address: nobody [at] nowhere.net

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>
                Images

                From "Voyage dans la Lune" by Georges Melies (1902):

                Here is a movie icon.

                Footnotes

                Here is a footnote reference(1), and another(longnote). This should not be a footnote reference, because it contains a space^(my note).

                (1) Here is the footnote. It can go anywhere in the document, not just at the end.

                (longnote) Here's the other note. This one contains multiple blocks.

                Caret characters are used to indicate that the blocks all belong to a single footnote (as with block quotes).

                { <code> }

                If you want, you can use a caret at the beginning of every line, as with blockquotes, but all that you need is a caret at the beginning of the first line of the block and any preceding blank lines.

                text Leading space

                Trailing space text

                text Leading spaces

                Trailing spaces text

                Tables Tables with Headers

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                X

                Y

                Z

                1

                2

                3

                4

                5

                6

                Tables without Headers

                1

                2

                3

                4

                5

                6

                1

                2

                3

                4

                5

                6

                1

                2

                3

                4

                5

                6

                1

                2

                3

                4

                5

                6

                Empty Tables

                This section should be empty.

                pandoc-2.9.2.1/test/jira-reader.jira000066400000000000000000000075421363630463000171560ustar00rootroot00000000000000h1. {anchor:headers}Headers h2. {anchor:level-2-with-an-embedded-link}Level 2 with an [embedded link|https://test.example/url] h3. {anchor:level-3-with-emphasis}Level 3 with _emphasis_ h4. Level 4 h5. Level 5 h6. Level 6 h0. this is not a header. ---- h1. Paragraphs Here’s a regular paragraph. Here’s one with a bullet. * criminey. There should be a hard line break here. ---- h1. Block Quotes E-mail style: bq. This is a block quote. It is pretty short. {quote} Code in a block quote: {code:java} sub status { print "working"; } {code} An enumeration: # item one # item two {quote} A following paragraph. ---- h1. Code Blocks Code: {code:java} ---- (should be four hyphens) sub status { print "working"; } {code} And: {code:java} this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ {code} ---- h1. {anchor:lists}Lists h2. {anchor:unordered}Unordered Asterisks: * asterisk 1 * asterisk 2 * asterisk 3 Minuses: - Minus 1 - Minus 2 - Minus 3 h2. Ordered # First # Second # Third Linebreak in paragraph: # Item 1, line one. Item 1. line two. The quick brown fox jumped over the lazy dog’s back. # Item 2. # Item 3. h2. Nested * Tab ** Tab *** Tab Here’s another: # First # Second: #* Fee #* Fie #* Foe # Third Nested enumerations: # Essential ## Important ### Relevant #### Insignificant ---- h1. Linebreaks and Markup in Lists * *apple* red fruit * *orange* orange fruit * *banana* yellow fruit Multiple blocks with italics: * *_apple_* red fruit contains seeds, crisp, pleasant to taste * *_orange_* orange fruit {code:java} { orange code block } {code} bq. orange block quote ---- h1. Colored Text Blocks {color:red} This is red. {color} h2. Eiffel 65 {color:blue} da ba dee {color} ---- h1. Inline Markup This is _emphasized_, and so _is this_. This is *strong*, and so *is this*. An _[emphasized link|https://my.example/url]_. *_This is strong and em._* So is *_this_* word. This is code: {{>}}, {{$}}, {{\}}, {{\$}}, {{}}. -This is _strikeout_.- Superscripts: a{^}bc{^}d a{^}_hello_{^} a{^}hello there{^}. Subscripts: H{~}2{~}O, C{~}6{~}H{~}12{~}O{~}6{~}, C{~} n {~}H{~}_2n_{~}O{~}n{~}. These should not be superscripts or subscripts, because of markers used within words: a^b c^d, a~b c~d. ---- h1. Dashes, and emoticons Some dashes: one -- two --- three. Sure (/) Nope (x) Nice :D Capital d\:D ---- h1. Math * 2 + 2 = 4 * _x_ ∈ {_}y{_} * _α_ ∧ {_}ω{_} * _p_-Tree * Here’s one more: _α_ + {_}ω{_} × {_}x{_}^2^. ---- h1. Special Characters Here is some unicode: * I hat: Î * o umlaut: ö * section: § * set membership: ∈ * copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ---- h1. Links h2. Explicit Just a [URL|https://example.org/url]. [File URL|file://some/file/name/]. [IRC link|irc://example.org/pandoc]. [Email link|mailto:nobody@nowhere.invalid] [Not a link|not a URL]. h2. Reference With [embedded \[brackets\]|https://example.net/url/]. https://pandoc.org by itself should be a link. h2. With ampersands Here’s a [link with an ampersand in the URL|http://example.com/?foo=1&bar=2]. Here’s a link with an ampersand in the link text: [AT&T|http://att.com/]. h2. Autolinks With an ampersand: http://example.com/?foo=1&bar=2 * In a list? * http://example.com/ * It should. An e-mail address: mailto:nobody@nowhere.invalid bq. Blockquoted: http://example.com/ {code:java} Autolink should not occur here: {code} ---- h1. Images From "Voyage dans la Lune" by Georges Melies (1902): !lalune.jpg! Here is a movie !movie.jpg! icon. pandoc-2.9.2.1/test/jira-reader.native000066400000000000000000000267461363630463000175260ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("",[],[]) [Span ("headers",[],[]) [],Str "Headers"] ,Header 2 ("",[],[]) [Span ("level-2-with-an-embedded-link",[],[]) [],Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link ("",[],[]) [Str "embedded",Space,Str "link"] ("https://test.example/url","")] ,Header 3 ("",[],[]) [Span ("level-3-with-emphasis",[],[]) [],Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 4 ("",[],[]) [Str "Level",Space,Str "4"] ,Header 5 ("",[],[]) [Str "Level",Space,Str "5"] ,Header 6 ("",[],[]) [Str "Level",Space,Str "6"] ,Para [Str "h0.",Space,Str "this",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "header."] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Paragraphs"] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."] ,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "E-mail",Space,Str "style:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]] ,BlockQuote [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,CodeBlock ("",["java"],[]) "sub status {\n print \"working\";\n}\n" ,Para [Str "An",Space,Str "enumeration:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "item",Space,Str "one"]] ,[Para [Str "item",Space,Str "two"]]]] ,Para [Str "A",Space,Str "following",Space,Str "paragraph."] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",["java"],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n" ,Para [Str "And:"] ,CodeBlock ("",["java"],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{\n" ,HorizontalRule ,Header 1 ("",[],[]) [Span ("lists",[],[]) [],Str "Lists"] ,Header 2 ("",[],[]) [Span ("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"]]] ,Para [Str "Minuses:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Header 2 ("",[],[]) [Str "Ordered"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "Linebreak",Space,Str "in",Space,Str "paragraph:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Item",Space,Str "1,",Space,Str "line",Space,Str "one.",LineBreak,Str "Item",Space,Str "1.",Space,Str "line",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog\8217s",Space,Str "back."]] ,[Para [Str "Item",Space,Str "2."]] ,[Para [Str "Item",Space,Str "3."]]] ,Header 2 ("",[],[]) [Str "Nested"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"]]]]]]] ,Para [Str "Here\8217s",Space,Str "another:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Para [Str "Nested",Space,Str "enumerations:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Essential"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Important"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Relevant"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Insignificant"]]]]]]]]] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Linebreaks",Space,Str "and",Space,Str "Markup",Space,Str "in",Space,Str "Lists"] ,BulletList [[Para [Strong [Str "apple"],LineBreak,Str "red",Space,Str "fruit"]] ,[Para [Strong [Str "orange"],LineBreak,Str "orange",Space,Str "fruit"]] ,[Para [Strong [Str "banana"],LineBreak,Str "yellow",Space,Str "fruit"]]] ,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"] ,BulletList [[Para [Strong [Emph [Str "apple"]],LineBreak,Str "red",Space,Str "fruit",LineBreak,Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]] ,[Para [Strong [Emph [Str "orange"]],LineBreak,Str "orange",Space,Str "fruit"] ,CodeBlock ("",["java"],[]) "{ orange code block }\n" ,BlockQuote [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Colored",Space,Str "Text",Space,Str "Blocks"] ,Div ("",[],[("color","red")]) [Para [LineBreak,Str "This",Space,Str "is",Space,Str "red."]] ,Header 2 ("",[],[]) [Str "Eiffel",Space,Str "65"] ,Div ("",[],[("color","blue")]) [Para [LineBreak,Str "da",Space,Str "ba",Space,Str "dee"]] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."] ,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."] ,Para [Str "An",Space,Emph [Link ("",[],[]) [Str "emphasized",Space,Str "link"] ("https://my.example/url","")],Str "."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "",Str "."] ,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]] ,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello\160there"],Str "."] ,Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "C",Subscript [Str "6"],Str "H",Subscript [Str "12"],Str "O",Subscript [Str "6"],Str ",",Space,Str "C",Subscript [Str "\160n\160"],Str "H",Subscript [Emph [Str "2n"]],Str "O",Subscript [Str "n"],Str "."] ,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "markers",Space,Str "used",Space,Str "within",Space,Str "words:",Space,Str "a^b",Space,Str "c^d,",Space,Str "a~b",Space,Str "c~d."] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Dashes,",Space,Str "and",Space,Str "emoticons"] ,Para [Str "Some",Space,Str "dashes:",Space,Str "one",Space,Str "\8211",Space,Str "two",Space,Str "\8212",Space,Str "three."] ,Para [Str "Sure",Space,Str "\10003",LineBreak,Str "Nope",Space,Str "\127303"] ,Para [Str "Nice",Space,Str "\128515"] ,Para [Str "Capital",Space,Str "d:D"] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Math"] ,BulletList [[Para [Str "2\8197+\8197\&2\8196=\8196\&4"]] ,[Para [Emph [Str "x"],Str "\8196\8712\8196",Emph [Str "y"]]] ,[Para [Emph [Str "\945"],Str "\8197\8743\8197",Emph [Str "\969"]]] ,[Para [Emph [Str "p"],Str "-Tree"]] ,[Para [Str "Here\8217s",Space,Str "one",Space,Str "more:",Space,Emph [Str "\945"],Str "\8197+\8197",Emph [Str "\969"],Str "\8197\215\8197",Emph [Str "x"],Superscript [Str "2"],Str "."]]] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"] ,BulletList [[Para [Str "I",Space,Str "hat:",Space,Str "\206"]] ,[Para [Str "o",Space,Str "umlaut:",Space,Str "\246"]] ,[Para [Str "section:",Space,Str "\167"]] ,[Para [Str "set",Space,Str "membership:",Space,Str "\8712"]] ,[Para [Str "copyright:",Space,Str "\169"]]] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."] ,Para [Str "This",Space,Str "&",Space,Str "that."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "`"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,HorizontalRule ,Header 1 ("",[],[]) [Str "Links"] ,Header 2 ("",[],[]) [Str "Explicit"] ,Para [Str "Just",Space,Str "a",Space,Link ("",[],[]) [Str "URL"] ("https://example.org/url",""),Str "."] ,Para [Link ("",[],[]) [Str "File",Space,Str "URL"] ("file://some/file/name/",""),Str "."] ,Para [Link ("",[],[]) [Str "IRC",Space,Str "link"] ("irc://example.org/pandoc",""),Str "."] ,Para [Link ("",[],[]) [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.invalid","")] ,Para [Str "[Not",Space,Str "a",Space,Str "link|not",Space,Str "a",Space,Str "URL]."] ,Header 2 ("",[],[]) [Str "Reference"] ,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",Space,Str "[brackets]"] ("https://example.net/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "https://pandoc.org by itself should be a link."] ("https://pandoc.org by itself should be a link.","")] ,Header 2 ("",[],[]) [Str "With",Space,Str "ampersands"] ,Para [Str "Here\8217s",Space,Str "a",Space,Link ("",[],[]) [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link ("",[],[]) [Str "AT&T"] ("http://att.com/",""),Str "."] ,Header 2 ("",[],[]) [Str "Autolinks"] ,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link ("",[],[]) [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")] ,BulletList [[Para [Str "In",Space,Str "a",Space,Str "list?"]] ,[Para [Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,[Para [Str "It",Space,Str "should."]]] ,Para [Str "An",Space,Str "e-mail",Space,Str "address:",Space,Link ("",[],[]) [Str "mailto:nobody@nowhere.invalid"] ("mailto:nobody@nowhere.invalid","")] ,BlockQuote [Para [Str "Blockquoted:",Space,Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,CodeBlock ("",["java"],[]) "Autolink should not occur here: \n" ,HorizontalRule ,Header 1 ("",[],[]) [Str "Images"] ,Para [Str "From",Space,Str "\"Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune\"",Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"] ,Para [Image ("",[],[]) [] ("lalune.jpg","")] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image ("",[],[]) [] ("movie.jpg",""),Space,Str "icon."]] pandoc-2.9.2.1/test/lalune.jpg000066400000000000000000000376161363630463000161110ustar00rootroot00000000000000JFIFxxC   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((>!1"AQaq2#BR3br$C&S!1A ? pOj~7u .|TF~J#{4&'a\'8h6o%&)d?S5̗Wo53I!,za[ sEvܸ'@ )lq'?Nv@ 1vx,z#f}@!( QpOx0c% |fw 獣 cކ |Q\Qr ;v4J>7|3Bh'+.|g*IǮ}{Ph h% b@YP+a($恻)|*qڀG@W>Ss4ݴIbB $F[aFIb$EnW ZnֺѭeRIFV544}*/5jqȇ˾ZD1ʚ.mo!E]{odh=>Ux j ހd{UhVi Hb(nAh-3SMQlm+^/UgMYӮm@ξSn&=Qtv}iP22IQ\O}4IIH2W'.qDc6MBv~xQ| 2GAg٠BNN=(:RK'l}4 P)9ݨ-Ė$aD N3҉OzsBԺVOa%qbp}_{K]\]Ȋ l>ѭimj[@8TƎC)a"T{ \\Gn84{hXfq@rMz*@{h8 ʂ{/ أdA} ]Y ӯKNO#n|UtaZhg=f؊۞=EPvۃP7$|9'$ǭ `zQ*zsPpq7(&na^ֳ[4<81+ށWh2d*pO| z{{d'@|IA9JNP &>Sh, :Xm±WėRpcG:ގ1X+Is(k8~2p;A(8d4̀Kg2h1~mVR3Y/cSJAv>q){Uh(\jW^wt&O'('KU H6@(7)z wwh9WːH 'JnдvXkqC"Jv>e]1;ԃ[Hua.r!S^⠄랋5Ibxz>zgA"Wu H$A9#hy47͒wsbıe40PFGހF;Pϟ'>{@X EJ@rh+6!b] 'f-j 2)U@pۆsށsbhmdp㷶>tbR뵽F@v<Ο:g0pc1q}`z8hХyh,'èk Ë;uk8zOu.\^27an‚zM\ڀ6JIb䌒#sFu[WA w0X~.}#\F8E~ZBPFkH/'BBA 8EAϡ}3=+[B,zZFǖhnNMhGҀduHZD8]%ݽjc2Vl_lP*P,QO0($~c@A4C+0h86s@ buwF{P~T#q PFZ[pw ?0`?]M(C;m5`tW'Ƴ[x敝r1X6d{t's d([сR8,|AyC.,cC:vU[zQT[ .n@S l+6/m9$~X>%;t緐IG_NeCj2K*# Oo tcy)0@Ppڠ\'$vAhAX!sZ%o*Xla3!iXdQ)fcJLz^HeԓpR@>'?,J('G!\`\g@QK%-gPI( mka/n G?>>JM޼1EՃV ŕcʣGD:zP4MzM1Rd޴^g/8&CFQV}#> H(4 <>B'挜}?Zɾ+{nz_UkFd'@_$vPhH_T\ܽb˩ dUsRO-bG_XğQz;%7P7B bG<v;*2W+pEmZaM& PEuv<>$ Q#_|f ۩1aNs\L?HF($u3S(/-,⹷%w,r+ H8# XOJmN[NU6o!##Ci-0x19}=q@Pk,Ls$rm,Ү C[qsxvH!$L14{k1 C㲽K)к}^YOR;R}p!Dq)qք* O>Z,qsE%"m9⃣b@4J8G3'n8ݤ)D9Yf Be- EOb}A|:=֍ҤWeKö{zwEץGKҺMWH$]] u7XǤkG%ܒ'(Ocϯ;YMG͉ ނnTYMKdggk]jr JѬy bA߈yuv{8£n~mAkz+amaG7W;җαwۜE&r>>%)v49ϋkqӎ6sAREH@s(igyo( -6c MX<ǦhKX7=͚1F"ϥQazOU鮣#8ǵ(ӟLҺvWҒNcB ᱵvsY}3-k*M8?޵5hLT 6K +3Y( gXVՏdѨ Jc iv)8r{@B%=@F `?h' h6_FbdB@2Q^BH`+!" ۽` !TAͬtXSρ"G%\|J.ϫ;KK:.@k 3dzCW!Q- &P鏝}ҽ/ɪMr-Fcz2׽}=]4jGTFH;d<պ9ŴRF8g(sO4:?XW*:_ *-> gjN\m='bf|[PH:dTl8e~n[-p"T]UpK;qn( < ,eoq> k!Z!f?,U;wz}"Q,(vɕFq>hzwI [bW+FVLdM &*D .[}87[imtȩ,xh['M9@Eqm⤞ ӱ ?A0p؜Z->ctkLRF 0,;~e!bXr!z7KEmM332ɴGz=+KmP9cE8 1=P18@Aj~t0%VEyVT$п-kH b +XV@IY/ԣ[o9HU"BGb>cP+ 6EG8-uRl[=oaWGkgQ+%KRcxՂ*E sy?@Ef՚F)<lD~%)-$P\?${z`@`YCcxzѡX:qgg˛kU$X>8- MK}A;f_a[fJe-܌jZ,&5;P(cAKFQAAuD3_ 3_ WsъuJ?LG3^5L7BTc5eRVHKW{KkK'*OW=Zv$S̫e<lژ=l@v0k"?'s&K%B/n1Ogu{g6(7΋4xR!" F璤F22K$E-lc28+tu亄pfE v<)m+`n'>C3$J"yA :u`lo@C!' !}dyMӮk䷱+0W{+K^i`|zUPu5̪w#;n8 z[=x Sx gZ[v]CZjӲZABp0=(1THx_"S#G}4]+y.R(W>DIvvE&%&YW <`w$*h>iPJ%*#*oJZ&mM)r?QP-˟jcȠ1`Y4 NXF)>$F`A҂?V-{-naFA#5eJ{\mr?*hu_eomLM2lʌ)L4 vqx9*0 >ƚ&d >ml K9|F\OGCnŠ"( Z[j Z[,<[\cY?ۙtid29!9g0YeΚ۪&yݜSrϬVjZIin78U_y5_%]%vFy#Ƿ^`4Bj>A$FW_,2CG2?n8a#}KPt͎pj`N>$csH=F;7>thZBdrެJ;zhA k!>zNrO˵K׃ZRӯucTwfH= +CRTz 4$o'4:tbtWx |ڃrK$m>d8MUpO,ua__aӭm41ݟAۏzgZ%ѯ$r401]jԳHGqi^&bl0`;dRكY@V`7cyػ}OowsgZqpC 3ή ƒ6RfW^:`u'43Fx`o@Tq@P@XQ3Ƀwo\[x"&vlg#Aݏ'P3u..7V[/ܿ* +ݚ1P Su-֝ʐhvDe昁\g gGQ,۵-(N_5T'ymqPc}[]SbZcx`r0X 58G{$T{tφjpF9UѧƋg=՝bmuk='p#`=Pe=A0.H#*!6>_ϧHUn0F#>ރHkTxyGGZ8Z.< #F5x@}܋O˟A-/ ńK0#kF}8?j UjgZ Tho iNj.%rqW.zc>A⦩ Gs@?h-޷r̚lEn\콎XRGkI%RE u# 2i6#FI@d05{o 7+4 Kn%)Jgx9CXi"cnLcjy-NUO.äAܱ9'8ɪ-KBxnHp#[t1^: @dU=k&iœ1A~U#PX6:Y1BIV=~=S㶸#Zc9zu{hB/$zΥQjNuD:.rnjՂcD[k%幝qXTӚu{kbKxB'ēT X֮/mKI؀HΧԓAu 2;x2N0Cφ iOfHi}{B[-[msRK.uUȅERhl9TvKa6$B "c>#4:{c.qܞV'Z=Q;A{U3su֚r;]&]$sD^) BNA$8PHt]*-e%uz\uM V6CBSi@;Ճ}_?ZtشjOp}(~Tѡl1-.dAxA)mpor0€uNC0lE,X3h&c`޼{PVTtWD'PTՃ$zr^+8QiW9C8Fl\ #*JTk!.c,B{hQ> 4[.sx8BZT9\vOTBI18`Ѧ/V:[b_w^G-&DfJǷJ0Mvei|>&ct'8V}v_ԘY\aAo..2A'Fhѱf±Λca?栖ӺWHH[R Æ{u[t 5̐<c w@\]]E{5@ӏюW GQz WTԚN۠"K2w('h/~kk:kt4 raA,N0A(+]K=;=z@ )-<*y#[7;hWU^w$LT(Fe]VܜeV_Nʂ>\_[F@.3wJu~rJ|Ŗ{igTMblF\0I$3Ko$ʲ7 ݃d ݬ7d,8cmo` 7)R}ssyh2ӎ0&]]yF{ce+hY]B.]F͢V*v1lxv, OZWP\Xp]t+z[fr`--$#JHu(ǧMas4sZ!B1=P_ 8 \P.g]EM7[lz@ Γucjj'OJNo:R+J+$ȤH;c8zI my, ]7G?CuņDVZݤ·xN9ck2}AvkĎLEok ώK8)|N(9X&<~ǗdR6PhIQ}}(WW\[iQ]w(wdާs珝1+ֵR=Goރ ?K,'{(G/ՅX%:j@b(:Ff1j|$fϹ9Q_t{^n5 .qvI7Ѻi k)DJPdck1%I?QѼ2|lI8 /NWp[lP{sRZzm vH[ҭ$H3=ꖉta[_.wy&mfPhGr>*둓*NS@,+g$G΁18y' hRkvn觅?@vx7H;T?nP/s7c& PzV]IBہSYEonbI[req=4g^[7OX- JW=Z uSteyWvKԴ ;rXn?*7duJʑPh_ a/iXд{7ޖnNj[f YM19'*Z4W7y]fy~@YZ;0|&ѓoԤǽ#09ۃ8Ak*أ^9';ՐCkoi ,Kq#`,vybN3}I>e%*kZ>Vm`Ϙ1 I a>A09g{zgPAe\)'s# -x40 ZO.3Fj,VKERTj`h$ lPGʖe᷒JZ4a$c?\Qhsi< $b-ɁvH`/θ0q'{٨5$ r2;znc1G*xP4LhO 7M[W鋙mMf gΗ?MKn/%˂rNyVP?Q4ڏ+mj 9~IcXr9>U6oR,nk$zg]Z-LV@6Y#~2){A4;f q=MJi]=kg˩KNaNJcjJ Qᛖoz5eVM{Pbuw[iŽmcxwڮ 5R7MwE%!€`=j $020@UϠ|E׵۝F.`K.4~NJg d:.S&!!vvez2cPfi[$(#ːhd`hAmb@,=hFr#tC ދ}\(5|&ֶ*)SGzmd$6I>Ps)HA p<@qȄ>@houe2b;~EcPIL  uwlf4$4=]kz|v_%d|(ed}u,į.O>_GIKlIed= \ $m>7 ]4x I'J`h]_k-$p̛wʪ;AU#HܸFTDT{89/kSk]5cSĝPq ƷtNrBmDŽŕd E̽O˫BV8,F k' /֯<"8ǩ0dRit)r#ɑ(09=5j7z#Y~^C_8$S[`e8;Pw9WT>T} JiɎ(BayS8=l)$pVtqwd@X?&`f"I->Rhkyhd: d3R/i<-nxnmFi)_W e0FӻcɫOEbΣo:Ds2Ƙľ3zU4aLM*i\0?>8l@{^kdb ll7ܞkBj/ kQm v2/ǏlfߣZ]`;lLjv+3(1IK#sh%@4x]s@ ;>T&wS#=))|b&yFآ>18\sڋY Gܮ=>pO|PXmd1aN$a@0h'tީxDc.^=(4^7P3p0=v5iMuYomZ# Yݎ A'/Mm9YX5֕Ӷ&} [ncwzx+&W0y9=Xu%M{{mfҸR_RrOAkם/רX/{KyivRw悰jU^ wA$hlB>q(ř%'q<}C }@mA;#9bpx[:23EUs*Ah 6q@S4ٍ2*>po *[ J4:Q ߿Ή es?DB]FsseXc;w`{f Gd9$~`:N cYs9pL]W! PgϿژ/|t4JHGb+z-#\[@fA,o^1`5ތԣeb75ֳFn:Ey"Iku-5fϕW#qZCM"u2]kOo*28 \_Sw,ĉ$1'V\ g`H|;SB+,@'8 \O=@(w?JOFP-ʌ}j? s@pF{˜h'Kڤ@vRIGl@&H#4h g@phM<{ $g2ۈE1P`9P&2yh #H=@[ yPn!@"8wPߜo(y "=G&cF 4rc@``ǁP$ ׵qC.]NodNH{P;N9X3 #0^2 LZ+ {hq(w1总ݻ1(7df$<%!%NO!榀۞x)F=tJl8WDZ7+yN9 $$ G hQst9L#zP@o6(7s;(~S@H ##<WnzCw'(p9T`ځPpandoc-2.9.2.1/test/latex-reader.latex000066400000000000000000000305661363630463000175400ustar00rootroot00000000000000\documentclass{article} \usepackage[utf8x]{inputenc} \usepackage{hyperref} \usepackage[normalem]{ulem} \usepackage{enumerate} \usepackage{setspace} \usepackage{fancyvrb} \usepackage{graphicx} \VerbatimFootnotes % allows verbatim text in footnotes \title{Pandoc Test Suite} \author{John MacFarlane \and Anonymous} \date{July 17, 2006} \begin{document} \maketitle This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. \begin{center}\rule{3in}{0.4pt}\end{center} \section{Headers} \subsection{Level 2 with an \href{/url}{embedded link}} \subsubsection{Level 3 with \emph{emphasis}} Level 4 Level 5 \section[alt title ignored]{Level 1} \subsection{Level 2 with \emph{emphasis}} \subsubsection{Level 3} with no blank line \subsection{Level 2} with no blank line \begin{center}\rule{3in}{0.4pt}\end{center} \section{Paragraphs} Here's a regular paragraph. 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. Here's one with a bullet. * criminey. There should be a hard line break\\here. \begin{center}\rule{3in}{0.4pt}\end{center} \section{Block Quotes} E-mail style: \begin{quote} This is a block quote. It is pretty short. \end{quote} \begin {quote} Code in a block quote: \begin{verbatim} sub status { print "working"; } \end{verbatim} A list: \begin{enumerate}[1.] \item item one \item item two \end{enumerate} Nested block quotes: \begin{quote} nested \end{quote} \begin{quote} nested \end{quote} \end{quote} This should not be a block quote: 2 \textgreater{} 1. Box-style: \begin{quote} Example: \begin{verbatim} sub status { print "working"; } \end{verbatim} \end{quote} \begin{quote} \begin{enumerate}[1.] \item do laundry \item take out the trash \end{enumerate} \end{quote} Here's a nested one: \begin{quote} Joe said: \begin{quote} Don't quote me. \end{quote} \end{quote} And a following paragraph. \begin{center}\rule{3in}{0.4pt}\end{center} \section{Code Blocks} Code: \begin{verbatim} ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab \end{verbatim} And: \begin{verbatim} this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ \end{verbatim} \begin{obeylines} this has \emph{two lines} \end{obeylines} \begin{center}\rule{3in}{0.4pt}\end{center} \section{Lists} \subsection{Unordered} Asterisks tight: \begin{itemize} \item asterisk 1 \item asterisk 2 \item asterisk 3 \end{itemize} Asterisks loose: \begin{itemize} \item asterisk 1 \item asterisk 2 \item asterisk 3 \end{itemize} Pluses tight: \begin{itemize} \item Plus 1 \item Plus 2 \item Plus 3 \end{itemize} Pluses loose: \begin{itemize} \item Plus 1 \item Plus 2 \item Plus 3 \end{itemize} Minuses tight: \begin{itemize} \item Minus 1 \item Minus 2 \item Minus 3 \end{itemize} Minuses loose: \begin{itemize} \item Minus 1 \item Minus 2 \item Minus 3 \end{itemize} \subsection{Ordered} Tight: \begin{enumerate}[1.] \item First \item Second \item Third \end{enumerate} and: \begin{enumerate}[1.] \item One \item Two \item Three \end{enumerate} Loose using tabs: \begin{enumerate}[1.] \item First \item Second \item Third \end{enumerate} and using spaces: \begin{enumerate}[1.] \item One \item Two \item Three \end{enumerate} Multiple paragraphs: \begin{enumerate}[1.] \item Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog's back. \item Item 2. \item Item 3. \end{enumerate} \subsection{Nested} \begin{itemize} \item Tab \begin{itemize} \item Tab \begin{itemize} \item Tab \end{itemize} \end{itemize} \end{itemize} Here's another: \begin{enumerate}[1.] \item First \item Second: \begin{itemize} \item Fee \item Fie \item Foe \end{itemize} \item Third \end{enumerate} Same thing but with paragraphs: \begin{enumerate}[1.] \item First \item Second: \begin{itemize} \item Fee \item Fie \item Foe \end{itemize} \item Third \end{enumerate} \subsection{Tabs and spaces} \begin{itemize} \item this is a list item indented with tabs \item this is a list item indented with spaces \begin{itemize} \item this is an example list item indented with tabs \item this is an example list item indented with spaces \end{itemize} \end{itemize} \subsection{Fancy list markers} \begin{enumerate}[(1)] \setcounter{enumi}{1} \item begins with 2 \item and now 3 with a continuation \begin{enumerate}[i.] \setcounter{enumii}{3} \item sublist with roman numerals, starting with 4 \item more items \begin{enumerate}[(A)] \item a subsublist \item a subsublist \end{enumerate} \end{enumerate} \end{enumerate} Nesting: \begin{enumerate}[A.] \item Upper Alpha \begin{enumerate}[I.] \item Upper Roman. \begin{enumerate}[(1)] \setcounter{enumiii}{5} \item Decimal start with 6 \begin{enumerate}[a)] \setcounter{enumiv}{2} \item Lower alpha with paren \end{enumerate} \end{enumerate} \end{enumerate} \end{enumerate} Autonumbering: \begin{enumerate} \item Autonumber. \item More. \begin{enumerate} \item Nested. \end{enumerate} \end{enumerate} Should not be a list item: M.A. 2007 B. Williams \begin{center}\rule{3in}{0.4pt}\end{center} \section{Definition Lists} Tight using spaces: \begin{description} \item[apple] red fruit \item[orange] orange fruit \item[banana] yellow fruit \end{description} Tight using tabs: \begin{description} \item[apple] red fruit \item[orange] orange fruit \item[banana] yellow fruit \end{description} Loose: \begin{description} \item[apple] red fruit \item[orange] orange fruit \item[banana] yellow fruit \end{description} Multiple blocks with italics: \begin{description} \item[\emph{apple}] red fruit contains seeds, crisp, pleasant to taste \item[\emph{orange}] orange fruit \begin{verbatim} { orange code block } \end{verbatim} \begin{quote} orange block quote \end{quote} \end{description} \section{HTML Blocks} Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is \emph{emphasized} And this is \textbf{strong} Here's a simple block: foo This should be a code block, though: \begin{verbatim}
                foo
                \end{verbatim} As should this: \begin{verbatim}
                foo
                \end{verbatim} Now, nested: foo This should just be an HTML comment: Multiline: Code block: \begin{verbatim} \end{verbatim} Just plain comment, with trailing spaces on the line: Code: \begin{verbatim}
                \end{verbatim} Hr's: \begin{center}\rule{3in}{0.4pt}\end{center} \section{Inline Markup} This is \emph{emphasized}, and so \emph{is this}. This is \textbf{strong}, and so \textbf{is this}. An \emph{\href{/url}{emphasized link}}. \textbf{\emph{This is strong and em.}} So is \textbf{\emph{this}} word. \textbf{\emph{This is strong and em.}} So is \textbf{\emph{this}} word. This is code: \verb!>!, \verb!$!, \verb!\!, \verb!\$!, \verb!!. \sout{This is \emph{strikeout}.} Superscripts: a\textsuperscript{bc}d a\textsuperscript{\emph{hello}} a\textsuperscript{hello there}. Subscripts: H\textsubscript{2}O, H\textsubscript{23}O, H\textsubscript{many of them}O. These should not be superscripts or subscripts, because of the unescaped spaces: a\^{}b c\^{}d, a\ensuremath{\sim}b c\ensuremath{\sim}d. \begin{center}\rule{3in}{0.4pt}\end{center} \section{Smart quotes, ellipses, dashes} ``Hello,'' said the spider. ``\,`Shelob' is my name.'' `A', `B', and `C' are letters. `Oak,' `elm,' and `beech' are names of trees. So is `pine.' `He said, ``I want to go.''\,' Were you alive in the 70's? Here is some quoted `\verb!code!' and a ``\href{http://example.com/?foo=1&bar=2}{quoted link}''. Some dashes: one---two---three---four---five. Dashes between numbers: 5--7, 255--66, 1987--1999. Ellipses\ldots{}and\ldots{}and\ldots{}. \begin{center}\rule{3in}{0.4pt}\end{center} \section{LaTeX} \begin{itemize} \item \cite[22-23]{smith.1899} \item \doublespacing \item $2+2=4$ \item $x \in y$ \item $\alpha \wedge \omega$ \item $223$ \item $p$-Tree \item $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$ \item Here's one that has a line break in it: $\alpha + \omega \times x^2$. \end{itemize} These shouldn't be math: \begin{itemize} \item To get the famous equation, write \verb!$e = mc^2$!. \item \$22,000 is a \emph{lot} of money. So is \$34,000. (It worked if ``lot'' is emphasized.) \item Escaped \verb!$!: \$73 \emph{this should be emphasized} 23\$. \end{itemize} Here's a LaTeX table: \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} A table with one column: \begin{tabular}{c} Animal \\ Vegetable \end{tabular} \begin{center}\rule{3in}{0.4pt}\end{center} \section{Special Characters} Here is some unicode: \begin{itemize} \item I hat: Î \item o umlaut: ö \item section: § \item set membership: ∈ \item copyright: © \end{itemize} AT\&T has an ampersand in their name. AT\&T is another way to write it. This \& that. 4 \textless{} 5. 6 \textgreater{} 5. Backslash: \textbackslash{} Backtick: ` Asterisk: * Underscore: \_ Left brace: \{ Right brace: \} Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: \textgreater{} Hash: \# Period: . Bang: ! Plus: + Minus: - \begin{center}\rule{3in}{0.4pt}\end{center} \section{Links} \subsection{Explicit} Just a \href{/url/}{URL}. \href{/url/}{URL and title}. \href{/url/}{URL and title}. \href{/url/}{URL and title}. \href{/url/}{URL and title} \href{/url/}{URL and title} \href{/url/with_underscore}{with\_underscore} \href{mailto:nobody@nowhere.net}{Email link} \href{}{Empty}. \subsection{Reference} Foo \href{/url/}{bar}. Foo \href{/url/}{bar}. Foo \href{/url/}{bar}. With \href{/url/}{embedded [brackets]}. \href{/url/}{b} by itself should be a link. Indented \href{/url}{once}. Indented \href{/url}{twice}. Indented \href{/url}{thrice}. This should [not][] be a link. \begin{verbatim} [not]: /url \end{verbatim} Foo \href{/url/}{bar}. Foo \href{/url/}{biz}. \subsection{With ampersands} Here's a \href{http://example.com/?foo=1&bar=2}{link with an ampersand in the URL}. Here's a link with an amersand in the link text: \href{http://att.com/}{AT\&T}. Here's an \href{/script?foo=1&bar=2}{inline link}. Here's an \href{/script?foo=1&bar=2}{inline link in pointy braces}. \subsection{Autolinks} With an ampersand: \url{http://example.com/?foo=1&bar=2} \begin{itemize} \item In a list? \item \url{http://example.com/} \item It should. \end{itemize} An e-mail address: \href{mailto:nobody@nowhere.net}{nobody@nowhere.net} \begin{quote} Blockquoted: \url{http://example.com/} \end{quote} Auto-links should not occur here: \verb!! \begin{verbatim} or here: \end{verbatim} \begin{center}\rule{3in}{0.4pt}\end{center} \section{Images} From ``Voyage dans la Lune'' by Georges Melies (1902): \includegraphics{lalune.jpg} Here is a movie \includegraphics{movie.jpg} icon. \begin{center}\rule{3in}{0.4pt}\end{center} \section{Footnotes} Here is a footnote reference,\footnote{ Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. } and another.\footnote{ Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). \begin{Verbatim} { } \end{Verbatim} If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. } This should \emph{not} be a footnote reference, because it contains a space.[\^{}my note] Here is an inline note.\footnote{ This is \emph{easier} to type. Inline notes may contain \href{http://google.com}{links} and \verb!]! verbatim characters, as well as [bracketed text]. } \begin{quote} Notes can go in quotes.\footnote{ In quote. } \end{quote} \begin{enumerate}[1.] \item And in list items.\footnote{ In list. } \end{enumerate} This paragraph should not be part of the note, as it is not indented. \section{Escaped characters} \$ \% \& \# \_ \{ \} \end{document} pandoc-2.9.2.1/test/latex-reader.native000066400000000000000000000631151363630463000177050ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "John",Space,Str "MacFarlane"],MetaInlines [Str "Anonymous"]]),("date",MetaInlines [Str "July",Space,Str "17,",Space,Str "2006"]),("title",MetaInlines [Str "Pandoc",Space,Str "Test",Space,Str "Suite"])]}) [RawBlock (Format "latex") "\\maketitle" ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",SoftBreak,Str "John",Space,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."] ,HorizontalRule ,Header 1 ("headers",[],[]) [Str "Headers"] ,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link ("",[],[]) [Str "embedded",Space,Str "link"] ("/url","")] ,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]] ,Para [Str "Level",Space,Str "4"] ,Para [Str "Level",Space,Str "5"] ,Header 1 ("level-1",[],[]) [Str "Level",Space,Str "1"] ,Header 2 ("level-2-with-emphasis",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 3 ("level-3",[],[]) [Str "Level",Space,Str "3"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,Header 2 ("level-2",[],[]) [Str "Level",Space,Str "2"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,HorizontalRule ,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",SoftBreak,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",SoftBreak,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."] ,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",Space,Str "*",Space,Str "criminey."] ,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."] ,HorizontalRule ,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "E-mail",Space,Str "style:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",Space,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]] ,BlockQuote [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ,Para [Str "A",Space,Str "list:"] ,OrderedList (1,Decimal,Period) [[Para [Str "item",Space,Str "one"]] ,[Para [Str "item",Space,Str "two"]]] ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"] ,BlockQuote [Para [Str "nested"]] ,BlockQuote [Para [Str "nested"]]] ,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",Space,Str ">",Space,Str "1."] ,Para [Str "Box-style:"] ,BlockQuote [Para [Str "Example:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"] ,BlockQuote [OrderedList (1,Decimal,Period) [[Para [Str "do",Space,Str "laundry"]] ,[Para [Str "take",Space,Str "out",Space,Str "the",Space,Str "trash"]]]] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "nested",Space,Str "one:"] ,BlockQuote [Para [Str "Joe",Space,Str "said:"] ,BlockQuote [Para [Str "Don\8217t",Space,Str "quote",Space,Str "me."]]] ,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."] ,HorizontalRule ,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab" ,Para [Str "And:"] ,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{" ,Para [Str "this",Space,Str "has",Space,Emph [Str "two",LineBreak,Str "lines"]] ,HorizontalRule ,Header 1 ("lists",[],[]) [Str "Lists"] ,Header 2 ("unordered",[],[]) [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "tight:"] ,BulletList [[Para [Str "asterisk",Space,Str "1"]] ,[Para [Str "asterisk",Space,Str "2"]] ,[Para [Str "asterisk",Space,Str "3"]]] ,Para [Str "Asterisks",Space,Str "loose:"] ,BulletList [[Para [Str "asterisk",Space,Str "1"]] ,[Para [Str "asterisk",Space,Str "2"]] ,[Para [Str "asterisk",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "tight:"] ,BulletList [[Para [Str "Plus",Space,Str "1"]] ,[Para [Str "Plus",Space,Str "2"]] ,[Para [Str "Plus",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "loose:"] ,BulletList [[Para [Str "Plus",Space,Str "1"]] ,[Para [Str "Plus",Space,Str "2"]] ,[Para [Str "Plus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "tight:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "loose:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Header 2 ("ordered",[],[]) [Str "Ordered"] ,Para [Str "Tight:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "and:"] ,OrderedList (1,Decimal,Period) [[Para [Str "One"]] ,[Para [Str "Two"]] ,[Para [Str "Three"]]] ,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "and",Space,Str "using",Space,Str "spaces:"] ,OrderedList (1,Decimal,Period) [[Para [Str "One"]] ,[Para [Str "Two"]] ,[Para [Str "Three"]]] ,Para [Str "Multiple",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."] ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog\8217s",SoftBreak,Str "back."]] ,[Para [Str "Item",Space,Str "2."]] ,[Para [Str "Item",Space,Str "3."]]] ,Header 2 ("nested",[],[]) [Str "Nested"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"]]]]]]] ,Para [Str "Here\8217s",Space,Str "another:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Header 2 ("tabs-and-spaces",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",Space,Str "indented",Space,Str "with",Space,Str "spaces"]]]]] ,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"] ,OrderedList (2,Decimal,TwoParens) [[Para [Str "begins",Space,Str "with",Space,Str "2"]] ,[Para [Str "and",Space,Str "now",Space,Str "3"] ,Para [Str "with",Space,Str "a",Space,Str "continuation"] ,OrderedList (4,LowerRoman,Period) [[Para [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"]] ,[Para [Str "more",Space,Str "items"] ,OrderedList (1,UpperAlpha,TwoParens) [[Para [Str "a",Space,Str "subsublist"]] ,[Para [Str "a",Space,Str "subsublist"]]]]]]] ,Para [Str "Nesting:"] ,OrderedList (1,UpperAlpha,Period) [[Para [Str "Upper",Space,Str "Alpha"] ,OrderedList (1,UpperRoman,Period) [[Para [Str "Upper",Space,Str "Roman."] ,OrderedList (6,Decimal,TwoParens) [[Para [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"] ,OrderedList (3,LowerAlpha,OneParen) [[Para [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]] ,Para [Str "Autonumbering:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Autonumber."]] ,[Para [Str "More."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Nested."]]]]] ,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"] ,Para [Str "M.A.",Space,Str "2007"] ,Para [Str "B.",Space,Str "Williams"] ,HorizontalRule ,Header 1 ("definition-lists",[],[]) [Str "Definition",Space,Str "Lists"] ,Para [Str "Tight",Space,Str "using",Space,Str "spaces:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Para [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Tight",Space,Str "using",Space,Str "tabs:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Para [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Loose:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Para [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"] ,DefinitionList [([Emph [Str "apple"]], [[Para [Str "red",Space,Str "fruit"] ,Para [Str "contains",Space,Str "seeds,",Space,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]]) ,([Emph [Str "orange"]], [[Para [Str "orange",Space,Str "fruit"] ,CodeBlock ("",[],[]) "{ orange code block }" ,BlockQuote [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])] ,Header 1 ("html-blocks",[],[]) [Str "HTML",Space,Str "Blocks"] ,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"] ,Para [Str "foo",SoftBreak,Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"] ,Para [Str "foo",SoftBreak,Str "bar",SoftBreak,Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],SoftBreak,Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"],SoftBreak,Str "Here\8217s",Space,Str "a",Space,Str "simple",Space,Str "block:"] ,Para [Str "foo",SoftBreak,Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"] ,CodeBlock ("",[],[]) "
                \n foo\n
                " ,Para [Str "As",Space,Str "should",Space,Str "this:"] ,CodeBlock ("",[],[]) "
                foo
                " ,Para [Str "Now,",Space,Str "nested:"] ,Para [Str "foo",SoftBreak,Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"] ,Para [Str "Multiline:"] ,Para [Str "Code",Space,Str "block:"] ,CodeBlock ("",[],[]) "" ,Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "
                " ,Para [Str "Hr\8217s:"] ,HorizontalRule ,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."] ,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."] ,Para [Str "An",Space,Emph [Link ("",[],[]) [Str "emphasized",Space,Str "link"] ("/url","")],Str "."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",SoftBreak,Code ("",[],[]) "",Str "."] ,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]] ,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",SoftBreak,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello",Space,Str "there"],Str "."] ,Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",SoftBreak,Str "H",Subscript [Str "many",Space,Str "of",Space,Str "them"],Str "O."] ,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",Space,Str "because",Space,Str "of",Space,Str "the",SoftBreak,Str "unescaped",Space,Str "spaces:",Space,Str "a^b",Space,Str "c^d,",Space,Str "a",Math InlineMath "\\sim",Str "b",SoftBreak,Str "c",Math InlineMath "\\sim",Str "d."] ,HorizontalRule ,Header 1 ("smart-quotes-ellipses-dashes",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"] ,Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Str "\8198",Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]] ,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters."] ,Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",Space,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]] ,Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."],Str "\8198"],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",Space,Str "70\8217s?"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",SoftBreak,Quoted DoubleQuote [Link ("",[],[]) [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."] ,Para [Str "Some",Space,Str "dashes:",Space,Str "one\8212two\8212three\8212four\8212five."] ,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."] ,Para [Str "Ellipses\8230and\8230and\8230."] ,HorizontalRule ,Header 1 ("latex",[],[]) [Str "LaTeX"] ,BulletList [[Para [Cite [Citation {citationId = "smith.1899", citationPrefix = [], citationSuffix = [Str "22-23"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [RawInline (Format "latex") "\\cite[22-23]{smith.1899}"]]] ,[RawBlock (Format "latex") "\\doublespacing"] ,[Para [Math InlineMath "2+2=4"]] ,[Para [Math InlineMath "x \\in y"]] ,[Para [Math InlineMath "\\alpha \\wedge \\omega"]] ,[Para [Math InlineMath "223"]] ,[Para [Math InlineMath "p",Str "-Tree"]] ,[Para [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]] ,[Para [Str "Here\8217s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",SoftBreak,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]] ,Para [Str "These",Space,Str "shouldn\8217t",Space,Str "be",Space,Str "math:"] ,BulletList [[Para [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]] ,[Para [Str "$22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$34,000.",Space,Str "(It",Space,Str "worked",Space,Str "if",SoftBreak,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"]] ,[Para [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23$."]]] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"] ,Table [] [AlignLeft,AlignLeft] [0.0,0.0] [[Plain [Str "Animal"]] ,[Plain [Str "Number"]]] [[[Plain [Str "Dog"]] ,[Plain [Str "2"]]] ,[[Plain [Str "Cat"]] ,[Plain [Str "1"]]]] ,Para [Str "A",Space,Str "table",Space,Str "with",Space,Str "one",Space,Str "column:"] ,Table [] [AlignCenter] [0.0] [[]] [[[Plain [Str "Animal"]]] ,[[Plain [Str "Vegetable"]]]] ,HorizontalRule ,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"] ,BulletList [[Para [Str "I",Space,Str "hat:",Space,Str "\206"]] ,[Para [Str "o",Space,Str "umlaut:",Space,Str "\246"]] ,[Para [Str "section:",Space,Str "\167"]] ,[Para [Str "set",Space,Str "membership:",Space,Str "\8712"]] ,[Para [Str "copyright:",Space,Str "\169"]]] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."] ,Para [Str "This",Space,Str "&",Space,Str "that."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "\8216"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,HorizontalRule ,Header 1 ("links",[],[]) [Str "Links"] ,Header 2 ("explicit",[],[]) [Str "Explicit"] ,Para [Str "Just",Space,Str "a",Space,Link ("",[],[]) [Str "URL"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","")] ,Para [Link ("",[],[]) [Str "with_underscore"] ("/url/with_underscore","")] ,Para [Link ("",[],[]) [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")] ,Para [Link ("",[],[]) [Str "Empty"] ("",""),Str "."] ,Header 2 ("reference",[],[]) [Str "Reference"] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "once"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "twice"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "thrice"] ("/url",""),Str "."] ,Para [Str "This",Space,Str "should",Space,Str "[not][]",Space,Str "be",Space,Str "a",Space,Str "link."] ,CodeBlock ("",[],[]) "[not]: /url" ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "biz"] ("/url/",""),Str "."] ,Header 2 ("with-ampersands",[],[]) [Str "With",Space,Str "ampersands"] ,Para [Str "Here\8217s",Space,Str "a",SoftBreak,Link ("",[],[]) [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",SoftBreak,Link ("",[],[]) [Str "AT&T"] ("http://att.com/",""),Str "."] ,Para [Str "Here\8217s",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "an",SoftBreak,Link ("",[],[]) [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."] ,Header 2 ("autolinks",[],[]) [Str "Autolinks"] ,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link ("",[],[]) [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")] ,BulletList [[Para [Str "In",Space,Str "a",Space,Str "list?"]] ,[Para [Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,[Para [Str "It",Space,Str "should."]]] ,Para [Str "An",Space,Str "e-mail",Space,Str "address:",SoftBreak,Link ("",[],[]) [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")] ,BlockQuote [Para [Str "Blockquoted:",Space,Link ("",[],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) ""] ,CodeBlock ("",[],[]) "or here: " ,HorizontalRule ,Header 1 ("images",[],[]) [Str "Images"] ,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"] ,Para [Image ("",[],[]) [Str "image"] ("lalune.jpg","")] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image ("",[],[]) [Str "image"] ("movie.jpg",""),Space,Str "icon."] ,HorizontalRule ,Header 1 ("footnotes",[],[]) [Str "Footnotes"] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",SoftBreak,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",SoftBreak,Str "reference.",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],SoftBreak,Str "and",SoftBreak,Str "another.",Note [Para [Str "Here\8217s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",Space,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",SoftBreak,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "lazy",SoftBreak,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],SoftBreak,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",Space,Str "contains",SoftBreak,Str "a",Space,Str "space.[^my",Space,Str "note]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",SoftBreak,Str "note.",Note [Para [Str "This",Space,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",SoftBreak,Link ("",[],[]) [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters,",SoftBreak,Str "as",Space,Str "well",Space,Str "as",Space,Str "[bracketed",Space,Str "text]."]]] ,BlockQuote [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]] ,OrderedList (1,Decimal,Period) [[Para [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]]]] ,Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",SoftBreak,Str "indented."] ,Header 1 ("escaped-characters",[],[]) [Str "Escaped",Space,Str "characters"] ,Para [Str "$",Space,Str "%",Space,Str "&",Space,Str "#",Space,Str "_",Space,Str "{",Space,Str "}"]] pandoc-2.9.2.1/test/lhs-test-markdown.native000066400000000000000000000024661363630463000207150ustar00rootroot00000000000000[Header 1 ("lhs-test",[],[]) [Str "lhs",Space,Str "test"] ,Para [Code ("",[],[]) "unsplit",Space,Str "is",Space,Str "an",Space,Str "arrow",Space,Str "that",Space,Str "takes",Space,Str "a",Space,Str "pair",Space,Str "of",Space,Str "values",Space,Str "and",Space,Str "combines",Space,Str "them",Space,Str "to",SoftBreak,Str "return",Space,Str "a",Space,Str "single",Space,Str "value:"] ,CodeBlock ("",["haskell","literate"],[]) "unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d\nunsplit = arr . uncurry\n -- arr (\\op (x,y) -> x `op` y)" ,Para [Code ("",[],[]) "(***)",Space,Str "combines",Space,Str "two",Space,Str "arrows",Space,Str "into",Space,Str "a",Space,Str "new",Space,Str "arrow",Space,Str "by",Space,Str "running",Space,Str "the",Space,Str "two",Space,Str "arrows",Space,Str "on",Space,Str "a",SoftBreak,Str "pair",Space,Str "of",Space,Str "values",Space,Str "(one",Space,Str "arrow",Space,Str "on",Space,Str "the",Space,Str "first",Space,Str "item",Space,Str "of",Space,Str "the",Space,Str "pair",Space,Str "and",Space,Str "one",Space,Str "arrow",Space,Str "on",Space,Str "the",SoftBreak,Str "second",Space,Str "item",Space,Str "of",Space,Str "the",Space,Str "pair)."] ,CodeBlock ("",[],[]) "f *** g = first f >>> second g" ,Para [Str "Block",Space,Str "quote:"] ,BlockQuote [Para [Str "foo",Space,Str "bar"]]] pandoc-2.9.2.1/test/lhs-test.fragment.html+lhs000066400000000000000000000016671363630463000211410ustar00rootroot00000000000000

                lhs test

                unsplit is an arrow that takes a pair of values and combines them to return a single value:

                > unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
                > unsplit = arr . uncurry
                > -- arr (\op (x,y) -> x `op` y)

                (***) combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair).

                f *** g = first f >>> second g

                Block quote:

                foo bar

                pandoc-2.9.2.1/test/lhs-test.html000066400000000000000000000117001363630463000165420ustar00rootroot00000000000000 lhs-test

                lhs test

                unsplit is an arrow that takes a pair of values and combines them to return a single value:

                unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
                unsplit = arr . uncurry
                          -- arr (\op (x,y) -> x `op` y)

                (***) combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair).

                f *** g = first f >>> second g

                Block quote:

                foo bar

                pandoc-2.9.2.1/test/lhs-test.html+lhs000066400000000000000000000120171363630463000173260ustar00rootroot00000000000000 lhs-test

                lhs test

                unsplit is an arrow that takes a pair of values and combines them to return a single value:

                > unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d
                > unsplit = arr . uncurry
                >           -- arr (\op (x,y) -> x `op` y)

                (***) combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair).

                f *** g = first f >>> second g

                Block quote:

                foo bar

                pandoc-2.9.2.1/test/lhs-test.latex000066400000000000000000000115051363630463000167160ustar00rootroot00000000000000% Options for packages loaded elsewhere \PassOptionsToPackage{unicode}{hyperref} \PassOptionsToPackage{hyphens}{url} % \documentclass[ ]{article} \usepackage{lmodern} \usepackage{amssymb,amsmath} \usepackage{ifxetex,ifluatex} \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provide euro and other symbols \else % if luatex or xetex \usepackage{unicode-math} \defaultfontfeatures{Scale=MatchLowercase} \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} \fi % Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} \IfFileExists{microtype.sty}{% use microtype if available \usepackage[]{microtype} \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} \makeatletter \@ifundefined{KOMAClassName}{% if non-KOMA class \IfFileExists{parskip.sty}{% \usepackage{parskip} }{% else \setlength{\parindent}{0pt} \setlength{\parskip}{6pt plus 2pt minus 1pt}} }{% if KOMA class \KOMAoptions{parskip=half}} \makeatother \usepackage{xcolor} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ hidelinks, pdfcreator={LaTeX via pandoc}} \urlstyle{same} % disable monospaced font for URLs \usepackage{color} \usepackage{fancyvrb} \newcommand{\VerbBar}{|} \newcommand{\VERB}{\Verb[commandchars=\\\{\}]} \DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}} % Add ',fontsize=\small' for more characters per line \newenvironment{Shaded}{}{} \newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}} \newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{#1}} \newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} \newcommand{\BuiltInTok}[1]{#1} \newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{#1}}} \newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{#1}} \newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}} \newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{#1}} \newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} \newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{#1}}} \newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{#1}}} \newcommand{\ExtensionTok}[1]{#1} \newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{#1}} \newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{#1}} \newcommand{\ImportTok}[1]{#1} \newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{#1}}} \newcommand{\NormalTok}[1]{#1} \newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{#1}} \newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{#1}} \newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{#1}} \newcommand{\RegionMarkerTok}[1]{#1} \newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{#1}} \newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{#1}} \newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{#1}} \newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{#1}}}} \setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \setcounter{secnumdepth}{-\maxdimen} % remove section numbering \author{} \date{} \begin{document} \hypertarget{lhs-test}{% \section{lhs test}\label{lhs-test}} \texttt{unsplit} is an arrow that takes a pair of values and combines them to return a single value: \begin{Shaded} \begin{Highlighting}[] \OtherTok{unsplit ::}\NormalTok{ (}\DataTypeTok{Arrow}\NormalTok{ a) }\OtherTok{=\textgreater{}}\NormalTok{ (b }\OtherTok{{-}\textgreater{}}\NormalTok{ c }\OtherTok{{-}\textgreater{}}\NormalTok{ d) }\OtherTok{{-}\textgreater{}}\NormalTok{ a (b, c) d} \NormalTok{unsplit }\OtherTok{=}\NormalTok{ arr }\OperatorTok{.} \FunctionTok{uncurry} \CommentTok{{-}{-} arr (\textbackslash{}op (x,y) {-}\textgreater{} x \textasciigrave{}op\textasciigrave{} y)} \end{Highlighting} \end{Shaded} \texttt{(***)} combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair). \begin{verbatim} f *** g = first f >>> second g \end{verbatim} Block quote: \begin{quote} foo bar \end{quote} \end{document} pandoc-2.9.2.1/test/lhs-test.latex+lhs000066400000000000000000000046541363630463000175070ustar00rootroot00000000000000% Options for packages loaded elsewhere \PassOptionsToPackage{unicode}{hyperref} \PassOptionsToPackage{hyphens}{url} % \documentclass[ ]{article} \usepackage{lmodern} \usepackage{amssymb,amsmath} \usepackage{ifxetex,ifluatex} \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provide euro and other symbols \else % if luatex or xetex \usepackage{unicode-math} \defaultfontfeatures{Scale=MatchLowercase} \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} \fi % Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} \IfFileExists{microtype.sty}{% use microtype if available \usepackage[]{microtype} \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} \makeatletter \@ifundefined{KOMAClassName}{% if non-KOMA class \IfFileExists{parskip.sty}{% \usepackage{parskip} }{% else \setlength{\parindent}{0pt} \setlength{\parskip}{6pt plus 2pt minus 1pt}} }{% if KOMA class \KOMAoptions{parskip=half}} \makeatother \usepackage{xcolor} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ hidelinks, pdfcreator={LaTeX via pandoc}} \urlstyle{same} % disable monospaced font for URLs \usepackage{listings} \newcommand{\passthrough}[1]{#1} \lstset{defaultdialect=[5.3]Lua} \lstset{defaultdialect=[x86masm]Assembler} \lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{} \setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \setcounter{secnumdepth}{-\maxdimen} % remove section numbering \author{} \date{} \begin{document} \hypertarget{lhs-test}{% \section{lhs test}\label{lhs-test}} \texttt{unsplit} is an arrow that takes a pair of values and combines them to return a single value: \begin{code} unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d unsplit = arr . uncurry -- arr (\op (x,y) -> x `op` y) \end{code} \texttt{(***)} combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair). \begin{verbatim} f *** g = first f >>> second g \end{verbatim} Block quote: \begin{quote} foo bar \end{quote} \end{document} pandoc-2.9.2.1/test/lhs-test.markdown000066400000000000000000000007651363630463000174310ustar00rootroot00000000000000lhs test ======== `unsplit` is an arrow that takes a pair of values and combines them to return a single value: ``` {.haskell .literate} unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d unsplit = arr . uncurry -- arr (\op (x,y) -> x `op` y) ``` `(***)` combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair). f *** g = first f >>> second g Block quote: > foo bar pandoc-2.9.2.1/test/lhs-test.markdown+lhs000066400000000000000000000007371363630463000202120ustar00rootroot00000000000000lhs test ======== `unsplit` is an arrow that takes a pair of values and combines them to return a single value: > unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d > unsplit = arr . uncurry > -- arr (\op (x,y) -> x `op` y) `(***)` combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair). f *** g = first f >>> second g Block quote: > foo bar pandoc-2.9.2.1/test/lhs-test.native000066400000000000000000000024661363630463000170750ustar00rootroot00000000000000[Header 1 ("lhs-test",[],[]) [Str "lhs",Space,Str "test"] ,Para [Code ("",[],[]) "unsplit",Space,Str "is",Space,Str "an",Space,Str "arrow",Space,Str "that",Space,Str "takes",Space,Str "a",Space,Str "pair",Space,Str "of",Space,Str "values",Space,Str "and",Space,Str "combines",Space,Str "them",Space,Str "to",SoftBreak,Str "return",Space,Str "a",Space,Str "single",Space,Str "value:"] ,CodeBlock ("",["haskell","literate"],[]) "unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d\nunsplit = arr . uncurry\n -- arr (\\op (x,y) -> x `op` y)" ,Para [Code ("",[],[]) "(***)",Space,Str "combines",Space,Str "two",Space,Str "arrows",Space,Str "into",Space,Str "a",Space,Str "new",Space,Str "arrow",Space,Str "by",Space,Str "running",Space,Str "the",Space,Str "two",Space,Str "arrows",Space,Str "on",Space,Str "a",SoftBreak,Str "pair",Space,Str "of",Space,Str "values",Space,Str "(one",Space,Str "arrow",Space,Str "on",Space,Str "the",Space,Str "first",Space,Str "item",Space,Str "of",Space,Str "the",Space,Str "pair",Space,Str "and",Space,Str "one",Space,Str "arrow",Space,Str "on",Space,Str "the",SoftBreak,Str "second",Space,Str "item",Space,Str "of",Space,Str "the",Space,Str "pair)."] ,CodeBlock ("",[],[]) "f *** g = first f >>> second g" ,Para [Str "Block",Space,Str "quote:"] ,BlockQuote [Para [Str "foo",Space,Str "bar"]]] pandoc-2.9.2.1/test/lhs-test.rst000066400000000000000000000007741363630463000164170ustar00rootroot00000000000000lhs test ======== ``unsplit`` is an arrow that takes a pair of values and combines them to return a single value: .. code:: haskell unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d unsplit = arr . uncurry -- arr (\op (x,y) -> x `op` y) ``(***)`` combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair). :: f *** g = first f >>> second g Block quote: foo bar pandoc-2.9.2.1/test/lhs-test.rst+lhs000066400000000000000000000007461363630463000172000ustar00rootroot00000000000000lhs test ======== ``unsplit`` is an arrow that takes a pair of values and combines them to return a single value: > unsplit :: (Arrow a) => (b -> c -> d) -> a (b, c) d > unsplit = arr . uncurry > -- arr (\op (x,y) -> x `op` y) ``(***)`` combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair). :: f *** g = first f >>> second g Block quote: foo bar pandoc-2.9.2.1/test/lua/000077500000000000000000000000001363630463000146735ustar00rootroot00000000000000pandoc-2.9.2.1/test/lua/attr-test.lua000066400000000000000000000002561363630463000173300ustar00rootroot00000000000000function Div (div) div.attributes.five = ("%d"):format(div.attributes.two + div.attributes.three) div.attributes.two = nil div.attributes.one = "eins" return div end pandoc-2.9.2.1/test/lua/block-count.lua000066400000000000000000000002631363630463000176170ustar00rootroot00000000000000local num_blocks = 0 function Block(el) num_blocks = num_blocks + 1 end function Pandoc(blocks, meta) return pandoc.Pandoc { pandoc.Para{pandoc.Str(num_blocks)} } end pandoc-2.9.2.1/test/lua/blocks-filter.lua000066400000000000000000000005121363630463000201340ustar00rootroot00000000000000function Blocks (blks) -- verify that this looks like a `pandoc.List` if not blks.find or not blks.map or not blks.filter then error("table doesn't seem to be an instance of pandoc.List") end -- return plain block containing the number of elements in the list return {pandoc.Plain {pandoc.Str(tostring(#blks))}} end pandoc-2.9.2.1/test/lua/hello-world-doc.lua000066400000000000000000000003621363630463000203720ustar00rootroot00000000000000return { { Pandoc = function(doc) local meta = {} local hello = { pandoc.Str "Hello,", pandoc.Space(), pandoc.Str "World!" } local blocks = { pandoc.Para(hello) } return pandoc.Pandoc(blocks, meta) end } } pandoc-2.9.2.1/test/lua/implicit-doc-filter.lua000066400000000000000000000003031363630463000212320ustar00rootroot00000000000000function Doc (doc) local meta = {} local hello = { pandoc.Str "Hello,", pandoc.Space(), pandoc.Str "World!" } local blocks = { pandoc.Para(hello) } return pandoc.Pandoc(blocks, meta) end pandoc-2.9.2.1/test/lua/inlines-filter.lua000066400000000000000000000010211363630463000203140ustar00rootroot00000000000000function isWorldAfterSpace (fst, snd) return fst and fst.t == 'LineBreak' and snd and snd.t == 'Str' and snd.text == 'World!' end function Inlines (inlns) -- verify that this looks like a `pandoc.List` if not inlns.find or not inlns.map or not inlns.filter then error("table doesn't seem to be an instance of pandoc.List") end -- Remove spaces before string "World" for i = #inlns-1,1,-1 do if isWorldAfterSpace(inlns[i], inlns[i+1]) then inlns[i] = pandoc.Space() end end return inlns end pandoc-2.9.2.1/test/lua/markdown-reader.lua000066400000000000000000000003361363630463000204620ustar00rootroot00000000000000return { { RawBlock = function (elem) if elem.format == "markdown" then local pd = pandoc.read(elem.text, "markdown") return pd.blocks[1] else return elem end end, } } pandoc-2.9.2.1/test/lua/math.lua000066400000000000000000000002451363630463000163300ustar00rootroot00000000000000return { { Math = function (elem) if elem.mathtype == "DisplayMath" then elem.mathtype = "InlineMath" end return elem end, } } pandoc-2.9.2.1/test/lua/meta.lua000066400000000000000000000001561363630463000163260ustar00rootroot00000000000000function Meta (meta) meta.old = nil meta.new = "new" meta.bool = (meta.bool == false) return meta end pandoc-2.9.2.1/test/lua/metatable-catch-all.lua000066400000000000000000000005421363630463000211630ustar00rootroot00000000000000local num_inlines = 0 function catch_all(el) if el.tag and pandoc.Inline.constructor[el.tag] then num_inlines = num_inlines + 1 end end function Pandoc(blocks, meta) return pandoc.Pandoc { pandoc.Para{pandoc.Str(num_inlines)} } end return { setmetatable( {Pandoc = Pandoc}, {__index = function(_) return catch_all end} ) } pandoc-2.9.2.1/test/lua/module/000077500000000000000000000000001363630463000161605ustar00rootroot00000000000000pandoc-2.9.2.1/test/lua/module/pandoc-list.lua000066400000000000000000000117331363630463000211050ustar00rootroot00000000000000local tasty = require 'tasty' local List = require 'pandoc.List' local assert = tasty.assert local test = tasty.test_case local group = tasty.test_group return { group 'List as function' { test('equivalent to List:new', function (x) local new = List:new {'ramen'} local list = List {'ramen'} assert.are_same(new, list) assert.are_equal(getmetatable(new), getmetatable(list)) end) }, group 'clone' { test('changing the clone does not affect original', function () local orig = List:new {23, 42} local copy = orig:clone() copy[1] = 5 assert.are_same({23, 42}, orig) assert.are_same({5, 42}, copy) end), test('result is a list', function () local orig = List:new {23, 42} assert.are_equal(List, getmetatable(orig:clone())) end), }, group 'extend' { test('extends list with other list', function () local primes = List:new {2, 3, 5, 7} primes:extend {11, 13, 17} assert.are_same({2, 3, 5, 7, 11, 13, 17}, primes) end) }, group 'filter' { test('keep elements for which property is truthy', function () local is_small_prime = function (x) return List.includes({2, 3, 5, 7}, x) end local numbers = List:new {4, 7, 2, 9, 5, 11} assert.are_same({7, 2, 5}, numbers:filter(is_small_prime)) end), }, group 'find' { test('returns element and index if found', function () local list = List:new {5, 23, 71} local elem, idx = list:find(71) assert.are_same(71, elem) assert.are_same(3, idx) end), test('respects start index', function () local list = List:new {19, 23, 29, 71} assert.are_equal(23, list:find(23, 1)) assert.are_equal(23, list:find(23, 2)) assert.is_nil(list:find(23, 3)) end), test('returns nil if element not found', function () assert.is_nil((List:new {18, 20, 22, 0, 24}):find('0')) end), }, group 'find_if' { test('returns element and index if found', function () local perm_prime = List:new {2, 3, 5, 7, 11, 13, 17, 31, 37, 71} local elem, idx = perm_prime:find_if(function (x) return x >= 10 end) assert.are_same(11, elem) assert.are_same(5, idx) end), test('returns nil if element not found', function () local is_null = function (n) return List.includes({23,35,46,59}, n) end assert.is_nil((List:new {18, 20, 22, 24, 27}):find_if(is_null)) end), }, group 'includes' { test('finds elements in list', function () local lst = List:new {'one', 'two', 'three'} assert.is_truthy(lst:includes('one')) assert.is_truthy(lst:includes('two')) assert.is_truthy(lst:includes('three')) assert.is_falsy(lst:includes('four')) end) }, group 'insert' { test('insert value at end of list.', function () local count_norsk = List {'en', 'to', 'tre'} count_norsk:insert('fire') assert.are_same({'en', 'to', 'tre', 'fire'}, count_norsk) end), test('insert value in the middle of list.', function () local count_norsk = List {'fem', 'syv'} count_norsk:insert(2, 'seks') assert.are_same({'fem', 'seks', 'syv'}, count_norsk) end) }, group 'map' { test('applies function to elements', function () local primes = List:new {2, 3, 5, 7} local squares = primes:map(function (x) return x^2 end) assert.are_same({4, 9, 25, 49}, squares) end), test('leaves original list unchanged', function () local primes = List:new {2, 3, 5, 7} local squares = primes:map(function (x) return x^2 end) assert.are_same({2, 3, 5, 7}, primes) end) }, group 'new' { test('make table usable as list', function () local test = List:new{1, 1, 2, 3, 5} assert.are_same( {1, 1, 4, 9, 25}, test:map(function (x) return x^2 end) ) end), test('return empty list if no argument is given', function () assert.are_same({}, List:new()) end), test('metatable of result is pandoc.List', function () local test = List:new{5} assert.are_equal(List, getmetatable(test)) end) }, group 'remove' { test('remove value at end of list.', function () local understand = List {'jeg', 'forstår', 'ikke'} local norsk_not = understand:remove() assert.are_same({'jeg', 'forstår'}, understand) assert.are_equal('ikke', norsk_not) end), test('remove value at beginning of list.', function () local count_norsk = List {'en', 'to', 'tre'} count_norsk:remove(1) assert.are_same({'to', 'tre'}, count_norsk) end) }, group 'sort' { test('sort numeric list', function () local numbers = List {71, 5, -1, 42, 23, 0, 1} numbers:sort() assert.are_same({-1, 0, 1, 5, 23, 42, 71}, numbers) end), test('reverse-sort numeric', function () local numbers = List {71, 5, -1, 42, 23, 0, 1} numbers:sort(function (x, y) return x > y end) assert.are_same({71, 42, 23, 5, 1, 0, -1}, numbers) end) }, } pandoc-2.9.2.1/test/lua/module/pandoc-mediabag.lua000066400000000000000000000041211363630463000216540ustar00rootroot00000000000000local tasty = require 'tasty' local test = tasty.test_case local group = tasty.test_group local assert = tasty.assert local mediabag = require 'pandoc.mediabag' return { group 'insert' { test('insert adds an item to the mediabag', function () local fp = "media/hello.txt" local mt = "text/plain" local contents = "Hello, World!" assert.are_same(mediabag.list(), {}) mediabag.insert(fp, mt, contents) assert.are_same( mediabag.list(), {{['path'] = fp, ['type'] = mt, ['length'] = 13}} ) mediabag.empty() -- clean up end), test('is idempotent', function () local fp = "media/hello.txt" local mt = "text/plain" local contents = "Hello, World!" mediabag.insert(fp, mt, contents) mediabag.insert(fp, mt, contents) assert.are_same( mediabag.list(), {{['path'] = fp, ['type'] = mt, ['length'] = 13}} ) mediabag.empty() -- clean up end), }, group 'delete' { test('removes an item', function () assert.are_same(mediabag.list(), {}) mediabag.insert('test.html', 'text/html', '') mediabag.insert('test.css', 'text/plain', 'aside { color: red; }') assert.are_equal(#mediabag.list(), 2) mediabag.delete('test.html') assert.are_same( mediabag.list(), {{['path'] = 'test.css', ['type'] = 'text/plain', ['length'] = 21}} ) mediabag.empty() -- clean up end), }, group 'items' { test('iterates over all items', function () local input_items = { ['test.html'] = {'text/html', ''}, ['test.css'] = {'text/plain', 'aside { color: red; }'}, ['test.js'] = {'application/javascript', 'alert("HI MOM!")'} } -- fill mediabag for name, v in pairs(input_items) do mediabag.insert(name, v[1], v[2]) end local seen_items = {} for fp, mt, c in mediabag.items() do seen_items[fp] = {mt, c} end assert.are_same(seen_items, input_items) mediabag.empty() -- clean up end) } } pandoc-2.9.2.1/test/lua/module/pandoc-types.lua000066400000000000000000000073431363630463000213000ustar00rootroot00000000000000local tasty = require 'tasty' local types = require 'pandoc.types' local Version = types.Version local assert = tasty.assert local test = tasty.test_case local group = tasty.test_group return { group 'Version' { group 'constructor' { test('has type `userdata`', function () assert.are_same(type(Version {2}), 'userdata') end), test('accepts list of integers', function () assert.are_same(type(Version {2, 7, 3}), 'userdata') end), test('accepts a single integer', function () assert.are_same(Version(5), Version {5}) end), test('accepts version as string', function () assert.are_same( Version '4.45.1', Version {4, 45, 1} ) end), test('non-version string is rejected', function () assert.error_matches( function () Version '11friends' end, '11friends' ) end) }, group 'comparison' { test('smaller (equal) than', function () assert.is_truthy(Version {2, 58, 3} < Version {2, 58, 4}) assert.is_falsy(Version {2, 60, 1} < Version {2, 59, 2}) assert.is_truthy(Version {0, 14, 3} < Version {0, 14, 3, 1}) assert.is_truthy(Version {3, 58, 3} <= Version {4}) assert.is_truthy(Version {0, 14, 3} <= Version {0, 14, 3, 1}) end), test('larger (equal) than', function () assert.is_truthy(Version{2,58,3} > Version {2, 57, 4}) assert.is_truthy(Version{2,58,3} > Version {2, 58, 2}) assert.is_truthy(Version {0, 8} >= Version {0, 8}) assert.is_falsy(Version {0, 8} >= Version {0, 8, 2}) end), test('equality', function () assert.is_truthy(Version '8.8', Version {8, 8}) end), test('second argument can be a version string', function () assert.is_truthy(Version '8' < '9.1') assert.is_falsy(Version '8.8' < '8.7') end), }, group 'list-like behavior' { test('can access version component numbers', function () local version = Version '2.7.3' assert.is_nil(version[0]) assert.are_equal(version[1], 2) assert.are_equal(version[2], 7) assert.are_equal(version[3], 3) end), test('can be iterated over', function () local version_list = {2, 7, 3} local final_index = 0 for i, v in pairs(Version(version_list)) do assert.are_equal(v, version_list[i]) final_index = i end assert.are_equal(final_index, 3) end), test('length is the number of components', function () assert.are_equal(#(Version '0'), 1) assert.are_equal(#(Version '1.6'), 2) assert.are_equal(#(Version '8.7.5'), 3) assert.are_equal(#(Version '2.9.1.5'), 4) end) }, group 'conversion to string' { test('converting from and to string is a noop', function () local version_string = '1.19.4' assert.are_equal(tostring(Version(version_string)), version_string) end) }, group 'convenience functions' { test('throws error if version is too old', function () local actual = Version {2, 8} local expected = Version {2, 9} assert.error_matches( function () actual:must_be_at_least(expected) end, 'expected version 2.9 or newer, got 2.8' ) end), test('does nothing if expected version is older than actual', function () local actual = Version '2.9' local expected = Version '2.8' actual:must_be_at_least(expected) end), test('does nothing if expected version equals to actual', function () local actual = Version '2.8' local expected = Version '2.8' actual:must_be_at_least(expected) end) } } } pandoc-2.9.2.1/test/lua/module/pandoc-utils.lua000066400000000000000000000051041363630463000212650ustar00rootroot00000000000000local tasty = require 'tasty' local utils = require 'pandoc.utils' local assert = tasty.assert local test = tasty.test_case local group = tasty.test_group return { group 'blocks_to_inlines' { test('default separator', function () local blocks = { pandoc.Para { pandoc.Str 'Paragraph1' }, pandoc.Para { pandoc.Emph { pandoc.Str 'Paragraph2' } } } local expected = { pandoc.Str 'Paragraph1', pandoc.Space(), pandoc.Str '¶', pandoc.Space(), pandoc.Emph { pandoc.Str 'Paragraph2' } } assert.are_same( expected, utils.blocks_to_inlines(blocks) ) end), test('custom separator', function () local blocks = { pandoc.Para{ pandoc.Str 'Paragraph1' }, pandoc.Para{ pandoc.Emph 'Paragraph2' } } local expected = { pandoc.Str 'Paragraph1', pandoc.LineBreak(), pandoc.Emph { pandoc.Str 'Paragraph2' } } assert.are_same( expected, utils.blocks_to_inlines(blocks, { pandoc.LineBreak() }) ) end) }, group 'make_sections' { test('sanity check', function () local blks = { pandoc.Header(1, {pandoc.Str 'First'}), pandoc.Header(2, {pandoc.Str 'Second'}), pandoc.Header(2, {pandoc.Str 'Third'}), } local hblks = utils.make_sections(true, 1, blks) assert.are_equal('Div', hblks[1].t) assert.are_equal('Header', hblks[1].content[1].t) assert.are_equal('1', hblks[1].content[1].attributes['number']) end) }, group 'normalize_date' { test('09 Nov 1989', function () assert.are_equal('1989-11-09', utils.normalize_date '09 Nov 1989') end), test('12/31/2017', function () assert.are_equal('2017-12-31', utils.normalize_date '12/31/2017') end), }, group 'sha1' { test('hashing', function () local ref_hash = '0a0a9f2a6772942557ab5355d76af442f8f65e01' assert.are_equal(ref_hash, utils.sha1 'Hello, World!') end) }, group 'stringify' { test('inlines', function () local inline = pandoc.Emph{ pandoc.Str 'Cogito', pandoc.Space(), pandoc.Str 'ergo', pandoc.Space(), pandoc.Str 'sum.', } assert.are_equal('Cogito ergo sum.', utils.stringify(inline)) end) }, group 'to_roman_numeral' { test('convertes number', function () assert.are_equal('MDCCCLXXXVIII', utils.to_roman_numeral(1888)) end), test('fails on non-convertible argument', function () assert.is_falsy(pcall(utils.to_roman_numeral, 'not a number')) end) }, } pandoc-2.9.2.1/test/lua/module/pandoc.lua000066400000000000000000000205011363630463000201250ustar00rootroot00000000000000local tasty = require 'tasty' local test = tasty.test_case local group = tasty.test_group local assert = tasty.assert function os_is_windows () return package.config:sub(1,1) == '\\' end return { group 'Attr' { group 'Constructor' { test('returns null-Attr if no arguments are given', function () local attr = pandoc.Attr() assert.are_equal(attr.identifier, '') assert.are_same(attr.classes, {}) assert.are_same(attr.attributes, {}) end), test( 'accepts string-indexed table or list of pairs as attributes', function () local attributes_list = pandoc.List:new {{'one', '1'}, {'two', '2'}} local attr_from_list = pandoc.Attr('', {}, attributes_list:clone()) assert.are_same( pandoc.List:new(attr_from_list.attributes), attributes_list ) local attributes_table = {one = '1', two = '2'} local attr_from_table = pandoc.Attr('', {}, attributes_table) local assoc_list_from_table = pandoc.List:new(attr_from_table.attributes) -- won't work in general, but does in this special case table.sort(assoc_list_from_table, function(x, y) return x[1] 5. .PP Backslash: \\ .PP Backtick: ` .PP Asterisk: * .PP Underscore: _ .PP Left brace: { .PP Right brace: } .PP Left bracket: [ .PP Right bracket: ] .PP Left paren: ( .PP Right paren: ) .PP Greater\-than: > .PP Hash: # .PP Period: . .PP Bang: ! .PP Plus: + .PP Minus: \- .PP .SH Links .PP .UR http://\:example.com some random site .UE . .PP .MT me@example.com my email address .ME . .SH Macros .de au .B Me Myself .. .de auth !! .I The author is \\$1. .!! .au and I. .auth "John Jones" .ds me The \f[B]Author\f[R] It's \*(me. .SH Tables .TS tab(@); r l c l. T{ Right T}@T{ Left T}@T{ Center T}@T{ Default T} _ T{ 12 T}@T{ 12 T}@T{ 12 T}@T{ 12 T} T{ 123 T}@T{ 123 T}@T{ 123 T}@T{ 123 T} T{ 1 T}@T{ 1 T}@T{ 1 T}@T{ 1 T} .TE .TS allbox tab(;); rlcl. T{ Right T};T{ Left T};T{ Center T};T{ Left \f[I]more\f[R] T} _ T{ 12 T};T{ 12 T};T{ 12 T};T{ 12 T} T{ 123 T};T{ 123 T};T{ 123 T};T{ 123 T} T{ 1 T};T{ 1 T};T{ 1 T};T{ 1 T} .TE .TS tab(@); cw(10.5n) lw(9.6n) rw(11.4n) lw(24.5n). T{ Centered Header T}@T{ Left Aligned T}@T{ Right Aligned T}@T{ Default aligned T} _ T{ First T}@T{ row T}@T{ 12.0 T}@T{ Example of a row that spans multiple lines. T} T{ Second T}@T{ row T}@T{ 5.0 T}@T{ Here\[cq]s another one. Note the blank line between rows. T} .TE .PP Table without column headers: .PP .TS tab(@); r l c r. T{ 12 T}@T{ 12 T}@T{ 12 T}@T{ 12 T} T{ 123 T}@T{ 123 T}@T{ 123 T}@T{ 123 T} T{ 1 T}@T{ 1 T}@T{ 1 T}@T{ 1 T} .TE .TS tab(@); rl. a@b T{ .PP one .PP two T}@T{ .nf some code .fi T} .TE pandoc-2.9.2.1/test/man-reader.native000066400000000000000000000170511363630463000173410ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("date",MetaInlines [Str "Oct",Space,Str "17,",Space,Str "2018"]),("section",MetaInlines []),("title",MetaInlines [Str "Pandoc",Space,Str "Man",Space,Str "tests"])]}) [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc."] ,Para [Str "*",Space,Str "*",Space,Str "*",Space,Str "*",Space,Str "*"] ,Header 1 ("",[],[]) [Str "Headers"] ,Header 1 ("",[],[]) [Str "Level",Space,Str "1"] ,Header 2 ("",[],[]) [Str "Level",Space,Str "2"] ,Para [Str "*",Space,Str "*",Space,Str "*",Space,Str "*",Space,Str "*"] ,Header 1 ("",[],[]) [Str "Paragraphs"] ,Para [Str "Here's",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "Another",Space,Str "paragraph",Space,Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",Space,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",Space,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",Space,Str "list",Space,Str "item."] ,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break"] ,Para [Str "here."] ,Para [Str "*",Space,Str "*",Space,Str "*",Space,Str "*",Space,Str "*"] ,Header 1 ("",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,BlockQuote [CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}"] ,Para [Str "A",Space,Str "list:"] ,OrderedList (1,Decimal,Period) [[Para [Str "item",Space,Str "one"]] ,[Para [Str "item",Space,Str "two"]]] ,Header 1 ("",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n" ,Para [Str "And:"] ,CodeBlock ("",[],[]) "\tthis code line is indented by one tab" ,Para [Str "*",Space,Str "*",Space,Str "*",Space,Str "*",Space,Str "*"] ,Header 1 ("",[],[]) [Str "Lists"] ,Header 2 ("",[],[]) [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"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Header 2 ("",[],[]) [Str "Nested"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"] ,BulletList [[Para [Str "Tab"]]]]]]] ,Para [Str "Here's",Space,Str "another:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Para [Str "Same",Space,Str "thing:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Para [Str "Fee"]] ,[Para [Str "Fie"]] ,[Para [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Header 2 ("",[],[]) [Str "different",Space,Str "styles:"] ,OrderedList (1,UpperAlpha,Period) [[Para [Str "Upper",Space,Str "Alpha"] ,OrderedList (1,UpperRoman,Period) [[Para [Str "Upper",Space,Str "Roman."] ,OrderedList (6,Decimal,TwoParens) [[Para [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"] ,OrderedList (3,LowerAlpha,OneParen) [[Para [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]] ,Header 2 ("",[],[]) [Str "Ordered"] ,Para [Str "Definition",Space,Str "lists"] ,DefinitionList [([Strong [Str "term1"]], [[Para [Str "definition",Space,Str "1"] ,Para [Str "continued"]]]) ,([Strong [Str "term2"]], [[Para [Str "definition",Space,Str "2",Space,Str "*",Space,Str "*",Space,Str "*",Space,Str "*",Space,Str "*"]]])] ,Header 1 ("",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "`"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,Header 1 ("",[],[]) [Str "Links"] ,Para [Link ("",[],[]) [Str "some",Space,Str "randomsite"] ("http://example.com",""),Str "."] ,Para [Link ("",[],[]) [Str "my",Space,Str "email",Space,Str "address"] ("mailto:me@example.com",""),Str "."] ,Header 1 ("",[],[]) [Str "Macros"] ,Para [Strong [Str "Me",Space,Str "Myself"],Space,Str "and",Space,Str "I.",Space,Emph [Str "The",Space,Str "author",Space,Str "is",Space,Str "John",Space,Str "Jones."],Space,Str "It's",Space,Str "The",Space,Strong [Str "Author"],Str "."] ,Header 1 ("",[],[]) [Str "Tables"] ,Table [] [AlignRight,AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Table [] [AlignRight,AlignLeft,AlignCenter,AlignLeft] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Left",Space,Emph [Str "more"]]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Table [] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.0,0.0,0.0,0.0] [[Plain [Str "Centered",Space,Str "Header"]] ,[Plain [Str "Left",Space,Str "Aligned"]] ,[Plain [Str "Right",Space,Str "Aligned"]] ,[Plain [Str "Default",Space,Str "aligned"]]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",Space,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",Space,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]] ,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers:"] ,Table [] [AlignRight,AlignLeft,AlignCenter,AlignRight] [0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Table [] [AlignRight,AlignLeft] [0.5,0.5] [[] ,[]] [[[Plain [Str "a"]] ,[Plain [Str "b"]]] ,[[Para [Str "one"] ,Para [Str "two"]] ,[CodeBlock ("",[],[]) "some\n code"]]]] pandoc-2.9.2.1/test/markdown-citations.native000066400000000000000000000142031363630463000211370ustar00rootroot00000000000000[Header 1 ("pandoc-with-citeproc-hs",[],[]) [Str "Pandoc",Space,Str "with",Space,Str "citeproc-hs"] ,BulletList [[Para [Cite [Citation {citationId = "nonexistent", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@nonexistent]"]]] ,[Para [Cite [Citation {citationId = "nonexistent", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@nonexistent"]]] ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1"],Space,Str "says",Space,Str "blah."]] ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.\160\&30"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30]"],Space,Str "says",Space,Str "blah."]] ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Str "p.\160\&30,",Space,Str "with",Space,Str "suffix"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[p.",Space,Str "30,",Space,Str "with",Space,Str "suffix]"],Space,Str "says",Space,Str "blah."]] ,[Para [Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.\160\&30"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "see",Space,Str "also"], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "@item1",Space,Str "[-@item2",Space,Str "p.",Space,Str "30;",Space,Str "see",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3]"],Space,Str "says",Space,Str "blah."]] ,[Para [Str "In",Space,Str "a",Space,Str "note.",Note [Para [Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [Str "p.\160\&12"], citationMode = AuthorInText, citationNoteNum = 0, citationHash = 0}] [Str "@\1087\1091\1085\1082\1090\&3",Space,Str "[p.",Space,Str "12]"],Space,Str "and",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "locators",Space,Cite [Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@\1087\1091\1085\1082\1090\&3]"],Str "."]]]] ,[Para [Str "A",Space,Str "citation",Space,Str "group",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.\160\&3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [Str "also"], citationSuffix = [Space,Str "p.\160\&34-35"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "also",Space,Str "@\1087\1091\1085\1082\1090\&3",Space,Str "p.",Space,Str "34-35]"],Str "."]] ,[Para [Str "Another",Space,Str "one",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "p.\160\&34-35"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "p.",Space,Str "34-35]"],Str "."]] ,[Para [Str "And",Space,Str "another",Space,Str "one",Space,Str "in",Space,Str "a",Space,Str "note.",Note [Para [Str "Some",Space,Str "citations",Space,Cite [Citation {citationId = "item1", citationPrefix = [Str "see"], citationSuffix = [Space,Str "chap.\160\&3"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "\1087\1091\1085\1082\1090\&3", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0},Citation {citationId = "item2", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[see",Space,Str "@item1",Space,Str "chap.",Space,Str "3;",Space,Str "@\1087\1091\1085\1082\1090\&3;",Space,Str "@item2]"],Str "."]]]] ,[Para [Str "Citation",Space,Str "with",Space,Str "a",Space,Str "suffix",Space,Str "and",Space,Str "locator",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "pp.\160\&33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@item1",Space,Str "pp.",Space,Str "33,",Space,Str "35-37,",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]] ,[Para [Str "Citation",Space,Str "with",Space,Str "suffix",Space,Str "only",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [Space,Str "and",Space,Str "nowhere",Space,Str "else"], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@item1",Space,Str "and",Space,Str "nowhere",Space,Str "else]"],Str "."]] ,[Para [Str "Now",Space,Str "some",Space,Str "modifiers.",Note [Para [Str "Like",Space,Str "a",Space,Str "citation",Space,Str "without",Space,Str "author:",Space,Cite [Citation {citationId = "item1", citationPrefix = [], citationSuffix = [], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@item1]"],Str ",",Space,Str "and",Space,Str "now",Space,Str "Doe",Space,Str "with",Space,Str "a",Space,Str "locator",Space,Cite [Citation {citationId = "item2", citationPrefix = [], citationSuffix = [Space,Str "p.\160\&44"], citationMode = SuppressAuthor, citationNoteNum = 0, citationHash = 0}] [Str "[-@item2",Space,Str "p.",Space,Str "44]"],Str "."]]]] ,[Para [Str "With",Space,Str "some",Space,Str "markup",Space,Cite [Citation {citationId = "item1", citationPrefix = [Emph [Str "see"]], citationSuffix = [Space,Str "p.\160",Strong [Str "32"]], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[*see*",Space,Str "@item1",Space,Str "p.",Space,Str "**32**]"],Str "."]]] ,Header 1 ("references",[],[]) [Str "References"]] pandoc-2.9.2.1/test/markdown-citations.txt000066400000000000000000000015721363630463000204750ustar00rootroot00000000000000Pandoc with citeproc-hs ======================= - [@nonexistent] - @nonexistent - @item1 says blah. - @item1 [p. 30] says blah. - @item1 [p. 30, with suffix] says blah. - @item1 [-@item2 p. 30; see also @пункт3] says blah. - In a note.[^1] - A citation group [see @item1 chap. 3; also @пункт3 p. 34-35]. - Another one [see @item1 p. 34-35]. - And another one in a note.[^2] - Citation with a suffix and locator [@item1 pp. 33, 35-37, and nowhere else]. - Citation with suffix only [@item1 and nowhere else]. - Now some modifiers.[^3] - With some markup [*see* @item1 p. **32**]. References ========== [^1]: @пункт3 [p. 12] and a citation without locators [@пункт3]. [^2]: Some citations [see @item1 chap. 3; @пункт3; @item2]. [^3]: Like a citation without author: [-@item1], and now Doe with a locator [-@item2 p. 44]. pandoc-2.9.2.1/test/markdown-reader-more.native000066400000000000000000000317531363630463000213550ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "Author",Space,Str "One"],MetaInlines [Str "Author",Space,Str "Two"],MetaInlines [Str "Author",Space,Str "Three"],MetaInlines [Str "Author",Space,Str "Four"]]),("title",MetaInlines [Str "Title",SoftBreak,Str "spanning",Space,Str "multiple",Space,Str "lines"])]}) [Header 1 ("additional-markdown-reader-tests",[],[]) [Str "Additional",Space,Str "markdown",Space,Str "reader",Space,Str "tests"] ,Header 2 ("blank-line-before-url-in-link-reference",[],[]) [Str "Blank",Space,Str "line",Space,Str "before",Space,Str "URL",Space,Str "in",Space,Str "link",Space,Str "reference"] ,Para [Link ("",[],[]) [Str "foo"] ("/url",""),Space,Str "and",Space,Link ("",[],[]) [Str "bar"] ("/url","title")] ,Header 2 ("raw-context-environments",[],[]) [Str "Raw",Space,Str "ConTeXt",Space,Str "environments"] ,RawBlock (Format "tex") "\\placeformula \\startformula" ,Para [Str "L_{1}",Space,Str "=",Space,Str "L_{2}",SoftBreak,RawInline (Format "tex") "\\stopformula"] ,RawBlock (Format "tex") "\\start[a2]\n\\start[a2]\n\\stop[a2]\n\\stop[a2]" ,Header 2 ("raw-latex-environments",[],[]) [Str "Raw",Space,Str "LaTeX",Space,Str "environments"] ,RawBlock (Format "tex") "\\begin{center}\n\\begin{tikzpicture}[baseline={([yshift=+-.5ex]current bounding box.center)}, level distance=24pt]\n\\Tree [.{S} [.NP John\\index{i} ] [.VP [.V likes ] [.NP himself\\index{i,*j} ]]]\n\\end{tikzpicture}\n\\end{center}" ,Header 2 ("urls-with-spaces-and-punctuation",[],[]) [Str "URLs",Space,Str "with",Space,Str "spaces",Space,Str "and",Space,Str "punctuation"] ,Para [Link ("",[],[]) [Str "foo"] ("/bar%20and%20baz",""),SoftBreak,Link ("",[],[]) [Str "foo"] ("/bar%20and%20baz",""),SoftBreak,Link ("",[],[]) [Str "foo"] ("/bar%20and%20baz",""),SoftBreak,Link ("",[],[]) [Str "foo"] ("bar%20baz","title")] ,Para [Link ("",[],[]) [Str "baz"] ("/foo%20foo",""),Space,Link ("",[],[]) [Str "bam"] ("/foo%20fee",""),Space,Link ("",[],[]) [Str "bork"] ("/foo/zee%20zob","title")] ,Para [Link ("",[],[]) [Str "Ward\8217s",Space,Str "method."] ("http://en.wikipedia.org/wiki/Ward's_method","")] ,Header 2 ("horizontal-rules-with-spaces-at-end",[],[]) [Str "Horizontal",Space,Str "rules",Space,Str "with",Space,Str "spaces",Space,Str "at",Space,Str "end"] ,HorizontalRule ,HorizontalRule ,Header 2 ("raw-html-before-header",[],[]) [Str "Raw",Space,Str "HTML",Space,Str "before",Space,Str "header"] ,Para [RawInline (Format "html") "",RawInline (Format "html") ""] ,Header 3 ("my-header",[],[]) [Str "my",Space,Str "header"] ,Header 2 ("in-math",[],[]) [Str "$",Space,Str "in",Space,Str "math"] ,Para [Math InlineMath "\\$2 + \\$3"] ,Para [Math InlineMath "x = \\text{the $n$th root of $y$}"] ,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "math:"] ,Para [Str "$PATH",Space,Str "90",Space,Str "$PATH"] ,Header 2 ("commented-out-list-item",[],[]) [Str "Commented-out",Space,Str "list",Space,Str "item"] ,BulletList [[Plain [Str "one",SoftBreak,RawInline (Format "html") ""]] ,[Plain [Str "three"]]] ,Header 2 ("indented-code-at-beginning-of-list",[],[]) [Str "Indented",Space,Str "code",Space,Str "at",Space,Str "beginning",Space,Str "of",Space,Str "list"] ,BulletList [[CodeBlock ("",[],[]) "code\ncode" ,OrderedList (1,Decimal,Period) [[CodeBlock ("",[],[]) "code\ncode"] ,[CodeBlock ("",[],[]) "code\ncode"]] ,BulletList [[CodeBlock ("",[],[]) "code\ncode"] ,[Plain [Str "no",Space,Str "code"]]]]] ,Header 2 ("backslash-newline",[],[]) [Str "Backslash",Space,Str "newline"] ,Para [Str "hi",LineBreak,Str "there"] ,Header 2 ("code-spans",[],[]) [Str "Code",Space,Str "spans"] ,Para [Code ("",[],[]) "hi\\"] ,Para [Code ("",[],[]) "hi there"] ,Para [Code ("",[],[]) "hi````there"] ,Para [Str "`hi"] ,Para [Str "there`"] ,Header 2 ("multilingual-urls",[],[]) [Str "Multilingual",Space,Str "URLs"] ,Para [Link ("",["uri"],[]) [Str "http://\27979.com?\27979=\27979"] ("http://\27979.com?\27979=\27979","")] ,Para [Link ("",[],[]) [Str "foo"] ("/bar/\27979?x=\27979","title")] ,Para [Link ("",["email"],[]) [Str "\27979@foo.\27979.baz"] ("mailto:\27979@foo.\27979.baz","")] ,Header 2 ("numbered-examples",[],[]) [Str "Numbered",Space,Str "examples"] ,OrderedList (1,Example,TwoParens) [[Plain [Str "First",Space,Str "example."]] ,[Plain [Str "Second",Space,Str "example."]]] ,Para [Str "Explanation",Space,Str "of",Space,Str "examples",Space,Str "(2)",Space,Str "and",Space,Str "(3)."] ,OrderedList (3,Example,TwoParens) [[Plain [Str "Third",Space,Str "example."]]] ,Header 2 ("macros",[],[]) [Str "Macros"] ,RawBlock (Format "tex") "\\newcommand{\\tuple}[1]{\\langle #1 \\rangle}" ,Para [Math InlineMath "\\langle x,y \\rangle"] ,Header 2 ("case-insensitive-references",[],[]) [Str "Case-insensitive",Space,Str "references"] ,Para [Link ("",[],[]) [Str "Fum"] ("/fum","")] ,Para [Link ("",[],[]) [Str "FUM"] ("/fum","")] ,Para [Link ("",[],[]) [Str "bat"] ("/bat","")] ,Header 2 ("curly-smart-quotes",[],[]) [Str "Curly",Space,Str "smart",Space,Str "quotes"] ,Para [Quoted DoubleQuote [Str "Hi"]] ,Para [Quoted SingleQuote [Str "Hi"]] ,Header 2 ("consecutive-lists",[],[]) [Str "Consecutive",Space,Str "lists"] ,BulletList [[Plain [Str "one"]] ,[Plain [Str "two"]]] ,OrderedList (1,Decimal,Period) [[Plain [Str "one"]] ,[Plain [Str "two"]]] ,OrderedList (1,LowerAlpha,Period) [[Plain [Str "one"]] ,[Plain [Str "two"]]] ,Header 2 ("implicit-header-references",[],[]) [Str "Implicit",Space,Str "header",Space,Str "references"] ,Header 3 ("my-header-1",[],[]) [Str "My",Space,Str "header"] ,Header 3 ("my-other-header",[],[]) [Str "My",Space,Str "other",Space,Str "header"] ,Para [Str "A",Space,Str "link",Space,Str "to",Space,Link ("",[],[]) [Str "My",Space,Str "header"] ("#my-header-1",""),Str "."] ,Para [Str "Another",Space,Str "link",Space,Str "to",Space,Link ("",[],[]) [Str "it"] ("#my-header-1",""),Str "."] ,Para [Str "Should",Space,Str "be",Space,Link ("",[],[]) [Str "case",Space,Str "insensitive"] ("#my-header-1",""),Str "."] ,Para [Str "Link",Space,Str "to",Space,Link ("",[],[]) [Str "Explicit",Space,Str "header",Space,Str "attributes"] ("#foobar",""),Str "."] ,Para [Str "But",Space,Str "this",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "link",Space,Str "to",Space,Link ("",[],[]) [Str "My",Space,Str "other",Space,Str "header"] ("/foo",""),Str ",",Space,Str "since",Space,Str "the",Space,Str "reference",Space,Str "is",Space,Str "defined."] ,Header 2 ("foobar",["baz"],[("key","val")]) [Str "Explicit",Space,Str "header",Space,Str "attributes"] ,BlockQuote [Header 2 ("foobar",["baz"],[("key","val")]) [Str "Header",Space,Str "attributes",Space,Str "inside",Space,Str "block",Space,Str "quote"]] ,Header 2 ("line-blocks",[],[]) [Str "Line",Space,Str "blocks"] ,LineBlock [[Str "But",Space,Str "can",Space,Str "a",Space,Str "bee",Space,Str "be",Space,Str "said",Space,Str "to",Space,Str "be"] ,[Str "\160\160\160\160or",Space,Str "not",Space,Str "to",Space,Str "be",Space,Str "an",Space,Str "entire",Space,Str "bee,"] ,[Str "\160\160\160\160\160\160\160\160when",Space,Str "half",Space,Str "the",Space,Str "bee",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "bee,"] ,[Str "\160\160\160\160\160\160\160\160\160\160\160\160due",Space,Str "to",Space,Str "some",Space,Str "ancient",Space,Str "injury?"] ,[] ,[Str "Continuation",Space,Str "line"] ,[Str "\160\160and",Space,Str "another"]] ,Header 2 ("grid-tables",[],[]) [Str "Grid",Space,Str "Tables"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2638888888888889,0.16666666666666666,0.18055555555555555] [[Plain [Str "col",Space,Str "1"]] ,[Plain [Str "col",Space,Str "2"]] ,[Plain [Str "col",Space,Str "3"]]] [[[Plain [Str "r1",Space,Str "a",SoftBreak,Str "r1",Space,Str "bis"]] ,[Plain [Str "b",SoftBreak,Str "b",Space,Str "2"]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "Headless"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2638888888888889,0.16666666666666666,0.18055555555555555] [[] ,[] ,[]] [[[Plain [Str "r1",Space,Str "a",SoftBreak,Str "r1",Space,Str "bis"]] ,[Plain [Str "b",SoftBreak,Str "b",Space,Str "2"]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "With",Space,Str "alignments"] ,Table [] [AlignRight,AlignLeft,AlignCenter] [0.2638888888888889,0.16666666666666666,0.18055555555555555] [[Plain [Str "col",Space,Str "1"]] ,[Plain [Str "col",Space,Str "2"]] ,[Plain [Str "col",Space,Str "3"]]] [[[Plain [Str "r1",Space,Str "a",SoftBreak,Str "r1",Space,Str "bis"]] ,[Plain [Str "b",SoftBreak,Str "b",Space,Str "2"]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "Headless",Space,Str "with",Space,Str "alignments"] ,Table [] [AlignRight,AlignLeft,AlignCenter] [0.2638888888888889,0.16666666666666666,0.18055555555555555] [[] ,[] ,[]] [[[Plain [Str "r1",Space,Str "a",SoftBreak,Str "r1",Space,Str "bis"]] ,[Plain [Str "b",SoftBreak,Str "b",Space,Str "2"]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "Spaces",Space,Str "at",Space,Str "ends",Space,Str "of",Space,Str "lines"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2638888888888889,0.16666666666666666,0.18055555555555555] [[] ,[] ,[]] [[[Plain [Str "r1",Space,Str "a",SoftBreak,Str "r1",Space,Str "bis"]] ,[Plain [Str "b",SoftBreak,Str "b",Space,Str "2"]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "Multiple",Space,Str "blocks",Space,Str "in",Space,Str "a",Space,Str "cell"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2638888888888889,0.16666666666666666,0.18055555555555555] [[] ,[] ,[]] [[[Header 1 ("col-1",[],[]) [Str "col",Space,Str "1"] ,Plain [Str "col",Space,Str "1"]] ,[Header 1 ("col-2",[],[]) [Str "col",Space,Str "2"] ,Plain [Str "col",Space,Str "2"]] ,[Header 1 ("col-3",[],[]) [Str "col",Space,Str "3"] ,Plain [Str "col",Space,Str "3"]]] ,[[Para [Str "r1",Space,Str "a"] ,Para [Str "r1",Space,Str "bis"]] ,[BulletList [[Plain [Str "b"]] ,[Plain [Str "b",Space,Str "2"]] ,[Plain [Str "b",Space,Str "2"]]]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2",SoftBreak,Str "c",Space,Str "2"]]]] ,Para [Str "Empty",Space,Str "cells"] ,Table [] [AlignDefault,AlignDefault] [5.555555555555555e-2,5.555555555555555e-2] [[] ,[]] [[[] ,[]]] ,Header 2 ("entities-in-links-and-titles",[],[]) [Str "Entities",Space,Str "in",Space,Str "links",Space,Str "and",Space,Str "titles"] ,Para [Link ("",[],[]) [Str "link"] ("/\252rl","\246\246!")] ,Para [Link ("",["uri"],[]) [Str "http://g\246\246gle.com"] ("http://g\246\246gle.com","")] ,Para [Link ("",["email"],[]) [Str "me@ex\228mple.com"] ("mailto:me@ex\228mple.com","")] ,Para [Link ("",[],[]) [Str "foobar"] ("/\252rl","\246\246!")] ,Header 2 ("parentheses-in-urls",[],[]) [Str "Parentheses",Space,Str "in",Space,Str "URLs"] ,Para [Link ("",[],[]) [Str "link"] ("/hi(there)","")] ,Para [Link ("",[],[]) [Str "link"] ("/hithere)","")] ,Para [Link ("",[],[]) [Str "linky"] ("hi_(there_(nested))","")] ,Header 2 ("backslashes-in-link-references",[],[]) [Str "Backslashes",Space,Str "in",Space,Str "link",Space,Str "references"] ,Para [Link ("",[],[]) [Str "*",RawInline (Format "tex") "\\a"] ("b","")] ,Header 2 ("reference-link-fallbacks",[],[]) [Str "Reference",Space,Str "link",Space,Str "fallbacks"] ,Para [Str "[",Emph [Str "not",Space,Str "a",Space,Str "link"],Str "]",Space,Str "[",Emph [Str "nope"],Str "]\8230"] ,Header 2 ("reference-link-followed-by-a-citation",[],[]) [Str "Reference",Space,Str "link",Space,Str "followed",Space,Str "by",Space,Str "a",Space,Str "citation"] ,Para [Str "MapReduce",Space,Str "is",Space,Str "a",Space,Str "paradigm",Space,Str "popularized",Space,Str "by",Space,Link ("",[],[]) [Str "Google"] ("http://google.com",""),Space,Cite [Citation {citationId = "mapreduce", citationPrefix = [], citationSuffix = [], citationMode = NormalCitation, citationNoteNum = 0, citationHash = 0}] [Str "[@mapreduce]"],Space,Str "as",Space,Str "its",SoftBreak,Str "most",Space,Str "vocal",Space,Str "proponent."] ,Header 2 ("empty-reference-links",[],[]) [Str "Empty",Space,Str "reference",Space,Str "links"] ,Para [Str "bar"] ,Para [Link ("",[],[]) [Str "foo2"] ("","")] ,Header 2 ("wrapping-shouldnt-introduce-new-list-items",[],[]) [Str "Wrapping",Space,Str "shouldn\8217t",Space,Str "introduce",Space,Str "new",Space,Str "list",Space,Str "items"] ,BulletList [[Plain [Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "blah",Space,Str "2015."]]] ,Header 2 ("bracketed-spans",[],[]) [Str "Bracketed",Space,Str "spans"] ,Para [Span ("id",["class"],[("key","val")]) [Emph [Str "foo"],Space,Str "bar",Space,Str "baz",Space,Link ("",[],[]) [Str "link"] ("url","")]]] pandoc-2.9.2.1/test/markdown-reader-more.txt000066400000000000000000000125411363630463000207000ustar00rootroot00000000000000% Title spanning multiple lines % Author One Author Two; Author Three; Author Four # Additional markdown reader tests ## Blank line before URL in link reference [foo] and [bar] [foo]: /url [bar]: /url "title" ## Raw ConTeXt environments \placeformula \startformula L_{1} = L_{2} \stopformula \start[a2] \start[a2] \stop[a2] \stop[a2] ## Raw LaTeX environments \begin{center} \begin{tikzpicture}[baseline={([yshift=+-.5ex]current bounding box.center)}, level distance=24pt] \Tree [.{S} [.NP John\index{i} ] [.VP [.V likes ] [.NP himself\index{i,*j} ]]] \end{tikzpicture} \end{center} ## URLs with spaces and punctuation [foo](/bar and baz) [foo](/bar and baz ) [foo]( /bar and baz ) [foo](bar baz "title" ) [baz][] [bam][] [bork][] [baz]: /foo foo [bam]: /foo fee [bork]: /foo/zee zob (title) [Ward's method.](http://en.wikipedia.org/wiki/Ward's_method) ## Horizontal rules with spaces at end * * * * * -- - -- -- - ## Raw HTML before header ### my header ## $ in math $\$2 + \$3$ $x = \text{the $n$th root of $y$}$ This should not be math: $PATH 90 $PATH ## Commented-out list item - one - three ## Indented code at beginning of list - code code 1. code code 12345678. code code - code code - no code ## Backslash newline hi\ there ## Code spans `hi\` `hi there` `` hi````there `` `hi there` ## Multilingual URLs [foo](/bar/测?x=测 "title") <测@foo.测.baz> ## Numbered examples (@) First example. (@foo) Second example. Explanation of examples (@foo) and (@bar). (@bar) Third example. ## Macros \newcommand{\tuple}[1]{\langle #1 \rangle} $\tuple{x,y}$ ## Case-insensitive references [Fum] [FUM] [bat] [fum]: /fum [BAT]: /bat ## Curly smart quotes “Hi” ‘Hi’ ## Consecutive lists - one - two 1. one 2. two a. one b. two ## Implicit header references ### My header ### My other header A link to [My header]. Another link to [it][My header]. Should be [case insensitive][my header]. Link to [Explicit header attributes]. [my other header]: /foo But this is not a link to [My other header], since the reference is defined. ## Explicit header attributes {#foobar .baz key="val"} > ## Header attributes inside block quote {#foobar .baz key="val"} ## Line blocks | But can a bee be said to be | or not to be an entire bee, | when half the bee is not a bee, | due to some ancient injury? | | Continuation line | and another ## Grid Tables +------------------+-----------+------------+ | col 1 | col 2 | col 3 | +==================+===========+============+ | r1 a | b | c | | r1 bis | b 2 | c 2 | +------------------+-----------+------------+ | r2 d | e | f | +------------------+-----------+------------+ Headless +------------------+-----------+------------+ | r1 a | b | c | | r1 bis | b 2 | c 2 | +------------------+-----------+------------+ | r2 d | e | f | +------------------+-----------+------------+ With alignments +------------------+-----------+------------+ | col 1 | col 2 | col 3 | +=================:+:==========+:==========:+ | r1 a | b | c | | r1 bis | b 2 | c 2 | +------------------+-----------+------------+ | r2 d | e | f | +------------------+-----------+------------+ Headless with alignments +-----------------:+:----------+:----------:+ | r1 a | b | c | | r1 bis | b 2 | c 2 | +------------------+-----------+------------+ | r2 d | e | f | +------------------+-----------+------------+ Spaces at ends of lines +------------------+-----------+------------+ | r1 a | b | c | | r1 bis | b 2 | c 2 | +------------------+-----------+------------+ | r2 d | e | f | +------------------+-----------+------------+ Multiple blocks in a cell +------------------+-----------+------------+ | # col 1 | # col 2 | # col 3 | | col 1 | col 2 | col 3 | +------------------+-----------+------------+ | r1 a | - b | c | | | - b 2 | c 2 | | r1 bis | - b 2 | c 2 | +------------------+-----------+------------+ Empty cells +---+---+ | | | +---+---+ ## Entities in links and titles [link](/ürl "öö!") [foobar] [foobar]: /ürl "öö!" ## Parentheses in URLs [link](/hi(there)) [link](/hithere\)) [linky] [linky]: hi_(there_(nested)) ## Backslashes in link references [\*\a](b) ## Reference link fallbacks [*not a link*] [*nope*]... ## Reference link followed by a citation MapReduce is a paradigm popularized by [Google] [@mapreduce] as its most vocal proponent. [Google]: http://google.com ## Empty reference links [foo2]: bar [foo2] ## Wrapping shouldn't introduce new list items - blah blah blah blah blah blah blah blah blah blah blah blah blah blah 2015. ## Bracketed spans [*foo* bar baz [link](url)]{.class #id key=val} pandoc-2.9.2.1/test/media/000077500000000000000000000000001363630463000151715ustar00rootroot00000000000000pandoc-2.9.2.1/test/media/rId25.jpg000066400000000000000000000024641363630463000165660ustar00rootroot00000000000000JFIFxxC   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((221!1Q"Aaq#$23Bb ?"Ku-}_:\{ i˧\ z%0Z|E Ei%T!ϠeI=: ÕHlWҳgh2O /1 qeHxvN joHEd|fI!brq1JeôJUU="Dj#lM;9_5 񬁹0>PI$:h>RB>X) ]?xSGب姥yuQr'Tv#mqU[_ZlWS0Ɍ:ǹA:s;H }|U<0SMDnLf :qM1UTZNX$Ùi]cGZFQjUPߣvMAYyM憵bIOd W.*j^2hj-= s6CU pq\(mI4a"DN9zÂf"hpe#;Ol~A~PY C?TAu~'l59m4N{~)knz󂭎$L.dPH79` ;jOv!D;>gml Z:b3v''>[mdC򖞦hxFf lzc;$W}6nƉu 0ƨnIm'ԤyH*('adeKU+*Ȋ ԖI;gu` =ƨ,74  (~f8ז d:7:*N1\i[ )Tq=S2q s]kp٘+\'7OsA))ir_p! 92TET,r$AVtXnB$:"z ~O}pandoc-2.9.2.1/test/media/rId26.jpg000066400000000000000000000024641363630463000165670ustar00rootroot00000000000000JFIFxxC   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((221!1Q"Aaq#$23Bb ?"Ku-}_:\{ i˧\ z%0Z|E Ei%T!ϠeI=: ÕHlWҳgh2O /1 qeHxvN joHEd|fI!brq1JeôJUU="Dj#lM;9_5 񬁹0>PI$:h>RB>X) ]?xSGب姥yuQr'Tv#mqU[_ZlWS0Ɍ:ǹA:s;H }|U<0SMDnLf :qM1UTZNX$Ùi]cGZFQjUPߣvMAYyM憵bIOd W.*j^2hj-= s6CU pq\(mI4a"DN9zÂf"hpe#;Ol~A~PY C?TAu~'l59m4N{~)knz󂭎$L.dPH79` ;jOv!D;>gml Z:b3v''>[mdC򖞦hxFf lzc;$W}6nƉu 0ƨnIm'ԤyH*('adeKU+*Ȋ ԖI;gu` =ƨ,74  (~f8ז d:7:*N1\i[ )Tq=S2q s]kp٘+\'7OsA))ir_p! 92TET,r$AVtXnB$:"z ~O}pandoc-2.9.2.1/test/media/rId27.jpg000066400000000000000000000024641363630463000165700ustar00rootroot00000000000000JFIFxxC   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((221!1Q"Aaq#$23Bb ?"Ku-}_:\{ i˧\ z%0Z|E Ei%T!ϠeI=: ÕHlWҳgh2O /1 qeHxvN joHEd|fI!brq1JeôJUU="Dj#lM;9_5 񬁹0>PI$:h>RB>X) ]?xSGب姥yuQr'Tv#mqU[_ZlWS0Ɍ:ǹA:s;H }|U<0SMDnLf :qM1UTZNX$Ùi]cGZFQjUPߣvMAYyM憵bIOd W.*j^2hj-= s6CU pq\(mI4a"DN9zÂf"hpe#;Ol~A~PY C?TAu~'l59m4N{~)knz󂭎$L.dPH79` ;jOv!D;>gml Z:b3v''>[mdC򖞦hxFf lzc;$W}6nƉu 0ƨnIm'ԤyH*('adeKU+*Ȋ ԖI;gu` =ƨ,74  (~f8ז d:7:*N1\i[ )Tq=S2q s]kp٘+\'7OsA))ir_p! 92TET,r$AVtXnB$:"z ~O}pandoc-2.9.2.1/test/mediawiki-reader.native000066400000000000000000000332321363630463000205300ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("header",[],[]) [Str "header"] ,Header 2 ("header_level_two",[],[]) [Str "header",Space,Str "level",Space,Str "two"] ,Header 3 ("header_level_3",[],[]) [Str "header",Space,Str "level",Space,Str "3"] ,Header 4 ("header_level_four",[],[]) [Str "header",Space,Emph [Str "level"],Space,Str "four"] ,Header 5 ("header_level_5",[],[]) [Str "header",Space,Str "level",Space,Str "5"] ,Header 6 ("header_level_6",[],[]) [Str "header",Space,Str "level",Space,Str "6"] ,Para [Str "=======",Space,Str "not",Space,Str "a",Space,Str "header",Space,Str "========"] ,Para [Code ("",[],[]) "==\160not\160a\160header\160=="] ,Header 2 ("emph_and_strong",[],[]) [Str "emph",Space,Str "and",Space,Str "strong"] ,Para [Emph [Str "emph"],Space,Strong [Str "strong"]] ,Para [Strong [Emph [Str "strong",Space,Str "and",Space,Str "emph"]]] ,Para [Strong [Emph [Str "emph",Space,Str "inside"],Space,Str "strong"]] ,Para [Strong [Str "strong",Space,Str "with",Space,Emph [Str "emph"]]] ,Para [Emph [Strong [Str "strong",Space,Str "inside"],Space,Str "emph"]] ,Header 2 ("horizontal_rule",[],[]) [Str "horizontal",Space,Str "rule"] ,Para [Str "top"] ,HorizontalRule ,Para [Str "bottom"] ,HorizontalRule ,Header 2 ("nowiki",[],[]) [Str "nowiki"] ,Para [Str "''not",Space,Str "emph''"] ,Header 2 ("strikeout",[],[]) [Str "strikeout"] ,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "struck",Space,Str "out"]]] ,Header 2 ("entities",[],[]) [Str "entities"] ,Para [Str "hi",Space,Str "&",Space,Str "low"] ,Para [Str "hi",Space,Str "&",Space,Str "low"] ,Para [Str "G\246del"] ,Para [Str "\777\2730"] ,Header 2 ("comments",[],[]) [Str "comments"] ,Para [Str "inline",Space,Str "comment"] ,Para [Str "between",Space,Str "blocks"] ,Header 2 ("linebreaks",[],[]) [Str "linebreaks"] ,Para [Str "hi",LineBreak,Str "there"] ,Para [Str "hi",LineBreak,Str "there"] ,Header 2 ("indents",[],[]) [Str ":",Space,Str "indents"] ,Para [Str "hi"] ,DefinitionList [([], [[Plain [Str "there"]]])] ,Para [Str "bud"] ,Para [Str "hi"] ,DefinitionList [([], [[DefinitionList [([], [[Plain [Str "there"]]])]]])] ,Para [Str "bud"] ,Header 2 ("p_tags",[],[]) [Str "p",Space,Str "tags"] ,Para [Str "hi",Space,Str "there"] ,Para [Str "bud"] ,Para [Str "another"] ,Header 2 ("raw_html",[],[]) [Str "raw",Space,Str "html"] ,Para [Str "hi",Space,RawInline (Format "html") "",Emph [Str "there"],RawInline (Format "html") "",Str "."] ,Para [RawInline (Format "html") "",Str "inserted",RawInline (Format "html") ""] ,RawBlock (Format "html") "
                " ,Para [Str "hi",Space,Emph [Str "there"]] ,RawBlock (Format "html") "
                " ,Header 2 ("sup_sub_del",[],[]) [Str "sup,",Space,Str "sub,",Space,Str "del"] ,Para [Str "H",Subscript [Str "2"],Str "O",Space,Str "base",Superscript [Emph [Str "exponent"]],SoftBreak,Strikeout [Str "hello"]] ,Header 2 ("inline_code",[],[]) [Str "inline",Space,Str "code"] ,Para [Code ("",[],[]) "*\8594*",Space,Code ("",[],[]) "typed",Space,Code ("",["haskell"],[]) ">>="] ,Header 2 ("code_blocks",[],[]) [Str "code",Space,Str "blocks"] ,CodeBlock ("",[],[]) "case xs of\n (_:_) -> reverse xs\n [] -> ['*']" ,CodeBlock ("",["haskell"],[]) "case xs of\n (_:_) -> reverse xs\n [] -> ['*']" ,CodeBlock ("",["ruby","numberLines"],[("startFrom","100")]) "widgets.each do |w|\n print w.price\nend" ,Header 2 ("block_quotes",[],[]) [Str "block",Space,Str "quotes"] ,Para [Str "Regular",Space,Str "paragraph"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote."] ,Para [Str "With",Space,Str "two",Space,Str "paragraphs."]] ,Para [Str "Nother",Space,Str "paragraph."] ,Header 2 ("external_links",[],[]) [Str "external",Space,Str "links"] ,Para [Link ("",[],[]) [Emph [Str "Google"],Space,Str "search",Space,Str "engine"] ("http://google.com","")] ,Para [Link ("",[],[]) [Str "http://pandoc.org"] ("http://pandoc.org","")] ,Para [Link ("",[],[]) [Str "1"] ("http://google.com",""),Space,Link ("",[],[]) [Str "2"] ("http://yahoo.com","")] ,Para [Link ("",[],[]) [Str "email",Space,Str "me"] ("mailto:info@example.org","")] ,Header 2 ("internal_links",[],[]) [Str "internal",Space,Str "links"] ,Para [Link ("",[],[]) [Str "Help"] ("Help","wikilink")] ,Para [Link ("",[],[]) [Str "the",Space,Str "help",Space,Str "page"] ("Help","wikilink")] ,Para [Link ("",[],[]) [Str "Helpers"] ("Help","wikilink")] ,Para [Link ("",[],[]) [Str "Help"] ("Help","wikilink"),Str "ers"] ,Para [Link ("",[],[]) [Str "Contents"] ("Help:Contents","wikilink")] ,Para [Link ("",[],[]) [Str "#My",Space,Str "anchor"] ("#My_anchor","wikilink")] ,Para [Link ("",[],[]) [Str "and",Space,Str "text"] ("Page#with_anchor","wikilink")] ,Header 2 ("images",[],[]) [Str "images"] ,Para [Image ("",[],[]) [Str "caption"] ("example.jpg","fig:caption")] ,Para [Image ("",[],[]) [Str "the",Space,Emph [Str "caption"],Space,Str "with",Space,Link ("",[],[]) [Str "external",Space,Str "link"] ("http://google.com","")] ("example.jpg","fig:the caption with external link")] ,Para [Image ("",[],[("width","30"),("height","40")]) [Str "caption"] ("example.jpg","fig:caption")] ,Para [Image ("",[],[("width","30")]) [Str "caption"] ("example.jpg","fig:caption")] ,Para [Image ("",[],[("width","30")]) [Str "caption"] ("example.jpg","fig:caption")] ,Para [Image ("",[],[]) [Str "example.jpg"] ("example.jpg","fig:example.jpg")] ,Para [Image ("",[],[]) [Str "example_es.jpg"] ("example_es.jpg","fig:example_es.jpg")] ,Header 2 ("lists",[],[]) [Str "lists"] ,BulletList [[Plain [Str "Start",Space,Str "each",Space,Str "line"]] ,[Plain [Str "with",Space,Str "an",Space,Str "asterisk",Space,Str "(*)."] ,BulletList [[Plain [Str "More",Space,Str "asterisks",Space,Str "gives",Space,Str "deeper"] ,BulletList [[Plain [Str "and",Space,Str "deeper",Space,Str "levels."]]]]]] ,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."] ,BulletList [[BulletList [[Plain [Str "But",Space,Str "jumping",Space,Str "levels",Space,Str "creates",Space,Str "empty",Space,Str "space."]]]]]]] ,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "ends",Space,Str "the",Space,Str "list."] ,BulletList [[BulletList [[Plain [Str "two"]]]] ,[Plain [Str "one"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Start",Space,Str "each",Space,Str "line"]] ,[Plain [Str "with",Space,Str "a",Space,Str "number",Space,Str "sign",Space,Str "(#)."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "More",Space,Str "number",Space,Str "signs",Space,Str "gives",Space,Str "deeper"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "and",Space,Str "deeper"]] ,[Plain [Str "levels."]]]]]] ,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "But",Space,Str "jumping",Space,Str "levels",Space,Str "creates",Space,Str "empty",Space,Str "space."]]]]]] ,[Plain [Str "Blank",Space,Str "lines"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "end",Space,Str "the",Space,Str "list",Space,Str "and",Space,Str "start",Space,Str "another."]]] ,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "also",SoftBreak,Str "ends",Space,Str "the",Space,Str "list."] ,DefinitionList [([Str "item",Space,Str "1"], [[Plain [Str "definition",Space,Str "1"]]]) ,([Str "item",Space,Str "2"], [[Plain [Str "definition",Space,Str "2-1"]] ,[Plain [Str "definition",Space,Str "2-2"]]])] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "one"]] ,[Plain [Str "two"] ,BulletList [[Plain [Str "two",Space,Str "point",Space,Str "one"]] ,[Plain [Str "two",Space,Str "point",Space,Str "two"]]]] ,[Plain [Str "three"] ,DefinitionList [([Str "three",Space,Str "item",Space,Str "one"], [[Plain [Str "three",Space,Str "def",Space,Str "one"]]])]] ,[Plain [Str "four"] ,DefinitionList [([], [[Plain [Str "four",Space,Str "def",Space,Str "one"]] ,[Plain [Str "this",Space,Str "looks",Space,Str "like",Space,Str "a",Space,Str "continuation"]] ,[Plain [Str "and",Space,Str "is",Space,Str "often",Space,Str "used"]] ,[Plain [Str "instead",LineBreak,Str "of",Space,Str "
                "]]])]] ,[Plain [RawInline (Format "mediawiki") "{{{template\n|author=John\n|title=My Book\n}}}"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "five",Space,Str "sub",Space,Str "1"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "five",Space,Str "sub",Space,Str "1",Space,Str "sub",Space,Str "1"]]]] ,[Plain [Str "five",Space,Str "sub",Space,Str "2"]]]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "list",Space,Str "item",Space,Emph [Str "emph"]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "list",Space,Str "item",Space,Str "B1"]] ,[Plain [Str "list",Space,Str "item",Space,Str "B2"]]] ,Para [Str "continuing",Space,Str "list",Space,Str "item",Space,Str "A1"]] ,[Plain [Str "list",Space,Str "item",Space,Str "A2"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "abc"]] ,[Plain [Str "def"]] ,[Plain [Str "ghi"]]] ,OrderedList (9,DefaultStyle,DefaultDelim) [[Plain [Str "Amsterdam"]] ,[Plain [Str "Rotterdam"]] ,[Plain [Str "The",Space,Str "Hague"]]] ,Header 2 ("math",[],[]) [Str "math"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Math InlineMath "x=\\frac{y^\\pi}{z}",Str "."] ,Para [Str "With",Space,Str "spaces:",Space,Math InlineMath "x=\\frac{y^\\pi}{z}",Str "."] ,Header 2 ("preformatted_blocks",[],[]) [Str "preformatted",Space,Str "blocks"] ,Para [Code ("",[],[]) "Start\160each\160line\160with\160a\160space.",LineBreak,Code ("",[],[]) "Text\160is\160",Strong [Code ("",[],[]) "preformatted"],Code ("",[],[]) "\160and",LineBreak,Emph [Code ("",[],[]) "markups"],Code ("",[],[]) "\160",Strong [Emph [Code ("",[],[]) "can"]],Code ("",[],[]) "\160be\160done."] ,Para [Code ("",[],[]) "\160hell\160\160\160\160\160\160yeah"] ,Para [Code ("",[],[]) "Start\160with\160a\160space\160in\160the\160first\160column,",LineBreak,Code ("",[],[]) "(before\160the\160).",LineBreak,Code ("",[],[]) "",LineBreak,Code ("",[],[]) "Then\160your\160block\160format\160will\160be",LineBreak,Code ("",[],[]) "\160\160\160\160maintained.",LineBreak,Code ("",[],[]) "",LineBreak,Code ("",[],[]) "This\160is\160good\160for\160copying\160in\160code\160blocks:",LineBreak,Code ("",[],[]) "",LineBreak,Code ("",[],[]) "def\160function():",LineBreak,Code ("",[],[]) "\160\160\160\160\"\"\"documentation\160string\"\"\"",LineBreak,Code ("",[],[]) "",LineBreak,Code ("",[],[]) "\160\160\160\160if\160True:",LineBreak,Code ("",[],[]) "\160\160\160\160\160\160\160\160print\160True",LineBreak,Code ("",[],[]) "\160\160\160\160else:",LineBreak,Code ("",[],[]) "\160\160\160\160\160\160\160\160print\160False"] ,Para [Str "Not"] ,RawBlock (Format "html") "
                " ,Para [Str "preformatted"] ,Para [Str "Don't",Space,Str "need"] ,Para [Code ("",[],[]) "a\160blank\160line"] ,Para [Str "around",Space,Str "a",Space,Str "preformatted",Space,Str "block."] ,Header 2 ("templates",[],[]) [Str "templates"] ,RawBlock (Format "mediawiki") "{{Welcome}}" ,RawBlock (Format "mediawiki") "{{Foo:Bar}}" ,RawBlock (Format "mediawiki") "{{Thankyou|all your effort|Me}}" ,Para [Str "Written",Space,RawInline (Format "mediawiki") "{{{date}}}",Space,Str "by",Space,RawInline (Format "mediawiki") "{{{name}}}",Str "."] ,Header 2 ("tables",[],[]) [Str "tables"] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[] ,[]] [[[Para [Str "Orange"]] ,[Para [Str "Apple"]]] ,[[Para [Str "Bread"]] ,[Para [Str "Pie"]]] ,[[Para [Str "Butter"]] ,[Para [Str "Ice",Space,Str "cream"]]]] ,Table [Str "Food",Space,Str "complements"] [AlignDefault,AlignDefault] [0.0,0.0] [[Para [Str "Orange"]] ,[Para [Str "Apple"]]] [[[Para [Str "Bread"]] ,[Para [Str "Pie"]]] ,[[Para [Str "Butter"]] ,[Para [Str "Ice",Space,Str "cream"]]]] ,Table [Str "Food",Space,Str "complements"] [AlignDefault,AlignDefault] [0.0,0.0] [[Para [Str "Orange"]] ,[Para [Str "Apple"]]] [[[Para [Str "Bread"] ,Para [Str "and",Space,Str "cheese"]] ,[Para [Str "Pie"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "apple"]] ,[Plain [Str "carrot"]]]]]] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Para [Str "Orange"]] ,[Para [Str "Apple"]] ,[Para [Str "more"]]] ,[[Para [Str "Bread"]] ,[Para [Str "Pie"]] ,[Para [Str "more"]]] ,[[Para [Str "Butter"]] ,[Para [Str "Ice",Space,Str "cream"]] ,[Para [Str "and",Space,Str "more"]]]] ,Table [] [AlignLeft,AlignRight,AlignCenter] [0.25,0.125,0.125] [[Para [Str "Left"]] ,[Para [Str "Right"]] ,[Para [Str "Center"]]] [[[Para [Str "left"]] ,[Para [Str "15.00"]] ,[Para [Str "centered"]]] ,[[Para [Str "more"]] ,[Para [Str "2.0"]] ,[Para [Str "more"]]]] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[] ,[]] [[[Para [Str "Orange"]] ,[Para [Str "Apple"]]] ,[[Para [Str "Bread"]] ,[Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Para [Str "fruit"]] ,[Para [Str "topping"]]] [[[Para [Str "apple"]] ,[Para [Str "ice",Space,Str "cream"]]]]]] ,[[Para [Str "Butter"]] ,[Para [Str "Ice",Space,Str "cream"]]]] ,Table [] [AlignDefault] [0.0] [[]] [[[Para [Str "Orange"]]]] ,Para [Str "Paragraph",Space,Str "after",Space,Str "the",Space,Str "table."] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Para [Str "fruit"]] ,[Para [Str "topping"]]] [[[Para [Str "apple"]] ,[Para [Str "ice",Space,Str "cream"]]]] ,Header 2 ("notes",[],[]) [Str "notes"] ,Para [Str "My",Space,Str "note!",Note [Plain [Str "This."]]] ,Para [Str "URL",Space,Str "note.",Note [Plain [Link ("",[],[]) [Str "http://docs.python.org/library/functions.html#range"] ("http://docs.python.org/library/functions.html#range","")]]]] pandoc-2.9.2.1/test/mediawiki-reader.wiki000066400000000000000000000113631363630463000202060ustar00rootroot00000000000000= header = == header level two == ===header level 3=== ====header ''level'' four==== ===== header level 5 ===== ====== header level 6 ====== ======= not a header ======== == not a header == == emph and strong == ''emph'' '''strong''' '''''strong and emph''''' '''''emph inside'' strong''' '''strong with ''emph''''' '''''strong inside''' emph'' == horizontal rule == top ---- bottom ---- == nowiki == ''not emph'' == strikeout == This is ''struck out'' == entities == hi & low hi & low Gödel ̉પ == comments == inline comment between blocks == linebreaks == hi
                there hi
                there == : indents == hi : there bud hi :: there bud == p tags == hi there

                bud

                another

                == raw html == hi ''there''. inserted
                hi ''there''
                == sup, sub, del == H2O base''exponent'' hello == inline code == *→* typed >>= == code blocks ==
                case xs of
                     (_:_) -> reverse xs
                     []    -> ['*']
                
                case xs of (_:_) -> reverse xs [] -> ['*'] widgets.each do |w| print w.price end == block quotes == Regular paragraph
                This is a block quote. With two paragraphs.
                Nother paragraph. == external links == [http://google.com ''Google'' search engine] http://pandoc.org [http://google.com] [http://yahoo.com] [mailto:info@example.org email me] == internal links == [[Help]] [[Help|the help page]] [[Help]]ers [[Help]]ers [[Help:Contents|]] [[#My anchor]] [[Page#with anchor|and text]] == images == [[File:example.jpg|caption]] [[File:example.jpg|border|the ''caption'' with [http://google.com external link]]] [[File:example.jpg|frameless|border|30x40px|caption]] [[File:example.jpg|frameless|border|30px|caption]] [[File:example.jpg|page=4|30px|border|caption]] [[File:example.jpg]] [[Archivo:example_es.jpg]] == lists == * Start each line * with an asterisk (*). ** More asterisks gives deeper *** and deeper levels. * Line breaks
                don't break levels. *** But jumping levels creates empty space. Any other start ends the list. ** two * one # Start each line # with a number sign (#). ## More number signs gives deeper ### and deeper ### levels. # Line breaks
                don't break levels. ### But jumping levels creates empty space. # Blank lines # end the list and start another. Any other start also ends the list. ;item 1 : definition 1 ;item 2 : definition 2-1 : definition 2-2 # one # two #* two point one #* two point two # three #; three item one #: three def one # four #: four def one #: this looks like a continuation #: and is often used #: instead
                of
                # {{{template |author=John |title=My Book }}} ## five sub 1 ### five sub 1 sub 1 ## five sub 2
                1. list item ''emph''
                  1. list item B1
                  2. list item B2
                  continuing list item A1
                2. list item A2
                  #abc #def #ghi
                1. Amsterdam
                2. Rotterdam
                3. The Hague
                == math == Here is some x=\frac{y^\pi}{z}. With spaces: x=\frac{y^\pi}{z} . == preformatted blocks == Start each line with a space. Text is '''preformatted''' and ''markups'' '''''can''''' be done. hell yeah Start with a space in the first column, (before the ). Then your block format will be maintained. This is good for copying in code blocks: def function(): """documentation string""" if True: print True else: print False Not
                preformatted Don't need a blank line around a preformatted block. == templates == {{Welcome}} {{Foo:Bar}} {{Thankyou|all your effort|Me}} Written {{{date}}} by {{{name}}}. == tables == {| |- |Orange |Apple |- |Bread |Pie |- |Butter |Ice cream |} {| |+Food complements !Orange !Apple |- |Bread |Pie |- !Butter |Ice cream |} {| |+Food complements !Orange !Apple |- |Bread and cheese |Pie # apple # carrot |} {| | Orange || Apple || more |- | Bread || Pie || more |- | Butter || Ice cream || and more |} {|width=50% ! align="left" width="50%"| Left ! align="right"|Right ! align="center"|Center |- | left || 15.00 || centered |- | more || 2.0 || more |} {| |- |Orange |Apple |- |Bread | {| !fruit !topping |- |apple |ice cream |} |- |Butter |Ice cream |} {| |Orange |}Paragraph after the table. {| !fruit !topping |- |apple |ice cream |} == notes == My note!This. URL note.http://docs.python.org/library/functions.html#range pandoc-2.9.2.1/test/movie.jpg000066400000000000000000000020261363630463000157330ustar00rootroot00000000000000JFIFHHPThis art is in the public domain. Kevin Hughes, kevinh@eit.com, September 1995CC"  # 9v& !146QTqtu ? f* j81sE+oWmFd3ݕO.-IwSIʑ} [s}S6OʚHkzu:"mlE$WEQևuu{:N1+AX~$C0 AaMFQ:vhc(cRp߰_[6e*Ҏ"Ec?GD< [I { )FqSGȑ_J Xaq^j #}r4ىRNFd5e61U~=30$ jФy7[ ZtaǣSP16`ղO0Y_aw:Q#Qu}9_89 5 n*QoPPödv:ɅhfW(DT r.\hHbU>SӶQ߭z:Ȱ)Xˠ*%up9#>jLJ>ֲ4"}}FإZ>]+# *n./< % $ebR3jܤP]=N ~OǏໞXBI,_~pandoc-2.9.2.1/test/odt/000077500000000000000000000000001363630463000147005ustar00rootroot00000000000000pandoc-2.9.2.1/test/odt/markdown/000077500000000000000000000000001363630463000165225ustar00rootroot00000000000000pandoc-2.9.2.1/test/odt/markdown/bold.md000066400000000000000000000000301363630463000177550ustar00rootroot00000000000000Here comes **bold** textpandoc-2.9.2.1/test/odt/markdown/citation.md000066400000000000000000000000371363630463000206560ustar00rootroot00000000000000Some text[@Ex] with a citation.pandoc-2.9.2.1/test/odt/markdown/endnote.md000066400000000000000000000000621363630463000204760ustar00rootroot00000000000000Some text[^1] with an endnote. [^1]: Endnote textpandoc-2.9.2.1/test/odt/markdown/externalLink.md000066400000000000000000000001021363630463000214750ustar00rootroot00000000000000Here comes an [external link](http://example.com/) to example.com.pandoc-2.9.2.1/test/odt/markdown/footnote.md000066400000000000000000000000631363630463000207000ustar00rootroot00000000000000Some text[^1] with a footnote. [^1]: Footnote textpandoc-2.9.2.1/test/odt/markdown/formula.md000066400000000000000000000000271363630463000205100ustar00rootroot00000000000000$$E = {m \cdot c^{2}}$$pandoc-2.9.2.1/test/odt/markdown/headers.md000066400000000000000000000001361363630463000204570ustar00rootroot00000000000000# A header (Lv 1) A paragraph ## Another header (Lv 2) Another paragraph # Back to Level 1pandoc-2.9.2.1/test/odt/markdown/horizontalRule.md000066400000000000000000000000031363630463000220560ustar00rootroot00000000000000---pandoc-2.9.2.1/test/odt/markdown/image.md000066400000000000000000000000511363630463000201220ustar00rootroot00000000000000![](10000000000000FA000000FAD6A15225.jpg)pandoc-2.9.2.1/test/odt/markdown/imageIndex.md000066400000000000000000000001721363630463000211160ustar00rootroot00000000000000# Abbildungsverzeichnis Abbildung 1: Image caption ![Abbildung 1: Image caption](10000000000000FA000000FAD6A15225.jpg) pandoc-2.9.2.1/test/odt/markdown/imageWithCaption.md000066400000000000000000000001031363630463000222720ustar00rootroot00000000000000![Abbildung 1: Image caption](10000000000000FA000000FAD6A15225.jpg)pandoc-2.9.2.1/test/odt/markdown/italic.md000066400000000000000000000000301363630463000203020ustar00rootroot00000000000000Here comes *italic* textpandoc-2.9.2.1/test/odt/markdown/listBlocks.md000066400000000000000000000007611363630463000211610ustar00rootroot00000000000000 Indented text in a list. This is a numbered block.It contains several paragraphs of text.Like this.Next item.pandoc-2.9.2.1/test/odt/markdown/paragraph.md000066400000000000000000000001061363630463000210060ustar00rootroot00000000000000This is a paragraph. This is another paragraph. This is a third one.pandoc-2.9.2.1/test/odt/markdown/strikeout.md000066400000000000000000000000511363630463000210710ustar00rootroot00000000000000Here comes text that was ~~striken out~~.pandoc-2.9.2.1/test/odt/markdown/trackedChanges.md000066400000000000000000000000411363630463000217450ustar00rootroot00000000000000Some text with and inserted text.pandoc-2.9.2.1/test/odt/markdown/underlined.md000066400000000000000000000000341363630463000211720ustar00rootroot00000000000000Here comes *underlined* textpandoc-2.9.2.1/test/odt/native/000077500000000000000000000000001363630463000161665ustar00rootroot00000000000000pandoc-2.9.2.1/test/odt/native/blockquote.native000066400000000000000000000001121363630463000215400ustar00rootroot00000000000000[Para [Str "Normal"],BlockQuote [Para [Str "Indented",Space,Str "(1cm)"]]]pandoc-2.9.2.1/test/odt/native/image.native000066400000000000000000000001721363630463000204600ustar00rootroot00000000000000[Para [Image ("",[],[("width","5.292cm"),("height","5.292cm")]) [] ("Pictures/10000000000000FA000000FAD6A15225.jpg","")]] pandoc-2.9.2.1/test/odt/native/imageIndex.native000066400000000000000000000003021363630463000214430ustar00rootroot00000000000000[Para [Image ("",[],[("width","5.292cm"),("height","5.292cm")]) [Str "Abbildung",Space,Str "1:",Space,Str "Image",Space,Str "caption"] ("Pictures/10000000000000FA000000FAD6A15225.jpg","fig:")]] pandoc-2.9.2.1/test/odt/native/imageWithCaption.native000066400000000000000000000003021363630463000226250ustar00rootroot00000000000000[Para [Image ("",[],[("width","5.292cm"),("height","5.292cm")]) [Str "Abbildung",Space,Str "1:",Space,Str "Image",Space,Str "caption"] ("Pictures/10000000000000FA000000FAD6A15225.jpg","fig:")]] pandoc-2.9.2.1/test/odt/native/inlinedCode.native000066400000000000000000000002401363630463000216070ustar00rootroot00000000000000[Para [Str "Here",Space,Str "comes",Space,Code ("",[],[]) "inlined code",Space,Str "text",Space,Str "and",Space,Code ("",[],[]) "an another",Space,Str "one."]] pandoc-2.9.2.1/test/odt/native/orderedListMixed.native000066400000000000000000000014611363630463000226470ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [OrderedList (1,Decimal,Period) [[Plain [Str "A",Space,Str "list",Space,Str "item"]],[Plain [Str "A",Space,Str "second"]],[Para [Str "A",Space,Str "third"],OrderedList (1,Decimal,Period) [[Para [Str "New",Space,Str "level!"],OrderedList (1,LowerAlpha,OneParen) [[Plain [Str "And",Space,Str "another!"]],[Plain [Str "It's",Space,Str "great",Space,Str "up",Space,Str "here!"]]]],[Plain [Str "Oh",Space,Str "noes"]],[Plain [Str "We",Space,Str "fell!"]]]],[Plain [Str "Maybe",Space,Str "someone"]],[Plain [Str "Pushed",Space,Str "us?"]]],Para [],OrderedList (4,Decimal,Period) [[Plain [Str "Start",Space,Str "new",Space,Str "list,",Space,Str "but",Space,Str "a",Space,Str "different",Space,Str "starting",Space,Str "point."]] ,[Plain [Str "Because",Space,Str "we",Space,Str "can."]]]]pandoc-2.9.2.1/test/odt/native/orderedListRoman.native000066400000000000000000000014671363630463000226630ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [OrderedList (1,UpperRoman,Period) [[Plain[Str "A",Space,Str "list",Space,Str "item"]],[Plain [Str "A",Space,Str "second"]],[Para [Str "A",Space,Str "third"],OrderedList (1,UpperRoman,Period) [[Para [Str "New",Space,Str "level!"],OrderedList (1,UpperRoman,Period) [[Plain [Str "And",Space,Str "another!"]],[Plain [Str "It's",Space,Str "great",Space,Str "up",Space,Str "here!"]]]],[Plain [Str "Oh",Space,Str "noes"]],[Plain [Str "We",Space,Str "fell!"]]]],[Plain [Str "Maybe",Space,Str "someone"]],[Plain [Str "Pushed",Space,Str "us?"]]],Para [],OrderedList (4,UpperRoman,Period) [[Plain [Str "Start",Space,Str "new",Space,Str "list,",Space,Str "but",Space,Str "a",Space,Str "different",Space,Str "starting",Space,Str "point."]] ,[Plain [Str "Because",Space,Str "we",Space,Str "can."]]]]pandoc-2.9.2.1/test/odt/native/orderedListSimple.native000066400000000000000000000014541363630463000230340ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [OrderedList (1,Decimal,Period) [[Plain [Str "A",Space,Str "list",Space,Str "item"]],[Plain [Str "A",Space,Str "second"]],[Para [Str "A",Space,Str "third"],OrderedList (1,Decimal,Period) [[Para [Str "New",Space,Str "level!"],OrderedList (1,Decimal,Period) [[Plain [Str "And",Space,Str "another!"]],[Plain [Str "It's",Space,Str "great",Space,Str "up",Space,Str "here!"]]]],[Plain [Str "Oh",Space,Str "noes"]],[Plain [Str "We",Space,Str "fell!"]]]],[Plain [Str "Maybe",Space,Str "someone"]],[Plain [Str "Pushed",Space,Str "us?"]]],Para [],OrderedList (4,Decimal,Period) [[Plain [Str "Start",Space,Str "new",Space,Str "list,",Space,Str "but",Space,Str "a",Space,Str "different",Space,Str "starting",Space,Str "point."]] ,[Plain [Str "Because",Space,Str "we",Space,Str "can."]]]]pandoc-2.9.2.1/test/odt/native/referenceToChapter.native000066400000000000000000000006021363630463000231440ustar00rootroot00000000000000[Header 1 ("a-chapter",[],[]) [Span ("anchor",[],[]) [],Str "A",Space,Str "chapter"],Para [Str "Some",Space,Str "text."],Header 1 ("another-chapter",[],[]) [Str "Another",Space,Str "chapter"],Para [Str "A",Space,Str "reference",Space,Str "to",Space,Str "."],Para [Str "A",Space,Str "reference",Space,Str "to",Space,Link ("",[],[]) [Str "A",Space,Str "chapter"] ("#anchor",""),Str "."]] pandoc-2.9.2.1/test/odt/native/referenceToListItem.native000066400000000000000000000005101363630463000233060ustar00rootroot00000000000000[OrderedList (1,Decimal,Period) [[Plain [Span ("anchor",[],[]) [],Str "A",Space,Str "list",Space,Str "item"]],[Plain [Str "Another",Space,Str "list",Space,Str "item"]]],Para [Str "A",Space,Str "reference",Space,Str "to",Space,Str "list",Space,Str "item",Space,Link ("",[],[]) [Str "1."] ("#anchor",""),Str "."],Para [],Para []] pandoc-2.9.2.1/test/odt/native/referenceToText.native000066400000000000000000000005301363630463000225020ustar00rootroot00000000000000[Para [Span ("an anchor",[],[]) [],Str "Some",Space,Str "text."],Para [Str "A",Space,Str "reference",Space,Str "to",Space,Link ("",[],[]) [Str "Some",Space,Str "text"] ("#an anchor",""),Str "."],Para [Str "Some",Space,Str "text",LineBreak,Str "Another",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "link",Span ("anchor",[],[]) []]] pandoc-2.9.2.1/test/odt/native/simpleTable.native000066400000000000000000000002061363630463000216350ustar00rootroot00000000000000[Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[],[]] [[[Plain [Str "Content"]],[Plain [Str "More",Space,Str "content"]]]],Para []] pandoc-2.9.2.1/test/odt/native/simpleTableWithCaption.native000066400000000000000000000003651363630463000240150ustar00rootroot00000000000000[Table [Str "Table",Space,Str "1:",Space,Str "Some",Space,Str "caption",Space,Str "for",Space,Str "a",Space,Str "table"] [AlignDefault,AlignDefault] [0.0,0.0] [[],[]] [[[Plain [Str "Content"]],[Plain [Str "More",Space,Str "content"]]]],Para []] pandoc-2.9.2.1/test/odt/native/tableWithContents.native000066400000000000000000000002201363630463000230310ustar00rootroot00000000000000[Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[],[]] [[[Plain [Str "A"]],[Plain [Str "B"]]],[[Plain [Str "C"]],[Plain [Str "D"]]]],Para []] pandoc-2.9.2.1/test/odt/native/textMixedStyles.native000066400000000000000000000011211363630463000225500ustar00rootroot00000000000000[Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "simple",Space,Str "text"] ,Para [] ,Para [Str "that",Space,Str "is",Space,Str "both",Space,Emph [Str "italic",Space],Strong [Str "bold",Space],Emph [Str "underlined",Space],Str "and",Space,Str "the",Space,Emph [Strong [Str "first",Space,Str "two"]],Space,Str "and",Space,Str "the",Space,Emph [Strong [Str "last",Space,Str "two",Space]],Space,Str "and",Space,Strong [Strikeout [Str "bold",Space,Str "and",Space,Str "line",Space,Str "through"]]] ,Para [] ,Para [Str "And",Space,Str "with",Space,Superscript [Emph [Str "superscripts"]]]] pandoc-2.9.2.1/test/odt/native/unicode.native000066400000000000000000000001171363630463000210230ustar00rootroot00000000000000[Para [Str "\8220\8221\8217\231\1256\169\188\1074\1073\1060\1064\246\201\181"]]pandoc-2.9.2.1/test/odt/native/unorderedList.native000066400000000000000000000007251363630463000222250ustar00rootroot00000000000000[BulletList [[Plain [Str "A",Space,Str "list",Space,Str "item"]],[Plain [Str "A",Space,Str "second"]],[Para [Str "A",Space,Str "third"],BulletList [[Para [Str "New",Space,Str "level!"],BulletList [[Plain [Str "And",Space,Str "another!"]],[Plain [Str "It's",Space,Str "great",Space,Str "up",Space,Str "here!"]]]],[Plain [Str "Oh",Space,Str "noes"]],[Plain [Str "We",Space,Str "fell!"]]]],[Plain [Str "Maybe",Space,Str "someone"]],[Plain [Str "Pushed",Space,Str "us?"]]]]pandoc-2.9.2.1/test/odt/odt/000077500000000000000000000000001363630463000154665ustar00rootroot00000000000000pandoc-2.9.2.1/test/odt/odt/blockquote.odt000066400000000000000000000206221363630463000203500ustar00rootroot00000000000000PKd7lF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKd7lF'Configurations2/accelerator/current.xmlPKPKd7lFConfigurations2/images/Bitmaps/PKd7lFConfigurations2/floater/PKd7lFConfigurations2/progressbar/PKd7lFConfigurations2/menubar/PKd7lFConfigurations2/popupmenu/PKd7lFConfigurations2/statusbar/PKd7lFConfigurations2/toolbar/PKd7lFConfigurations2/toolpanel/PKd7lFebThumbnails/thumbnail.pngPNG  IHDRzAIDATxP@ф-Q)6s'pM}PAE}PAE}PAE}PAeO˲_gqz=v5Lo=}\<[H (fi?o1ݘ`¿oXvwx]nU2ͬcif4胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(9E IENDB`PKd7lF content.xmlWQo0~WDABy@ba-B $ ! $^=I-N{N⦬"e[w|n?nkmuBe3fBUϯ}qV`65WQ<΀\yycUPІUEY==#xfs EK=u^YlP{S`ܶE{}m7778zS4LceD1!Ë5dn~;NI5#KCl5k6į'z߃3kscAf6;NBw@cWoq=B'S"i p 7AInp;w;65ك`$D+cC&w[n0 ݺJ}-{2v \c8pF<<AI$l5܊"Ph mbEWjx:: %\@$#Ʃtn$s}<=QE}k=p ->d"pi)EaM;L[W`\(5@M`iKr09ĽqD@Q4dMe8eaZtr3[&W'bԐ9a gC h4R{ځ6 $a2ځǰ ޣig>UUɌqO.D$ ܢC]j &dok͏:\2:up B;* ‚X 0 Uv"vGᛱaj09?2Q҅>_\Ӏ.QA+m,╦']f\B G]qru؜%=څrG}i E#`Jr ~̞)7{H ?̗MǶbEer].)B ?/)X:0Oa\xb}Hƀ|q [ VÉQڲс,%N IxZ֚&WB8 HG@0]ˈ`c$`"S_sl߾zW BZкE-(k0ɜĖ[l=<%r|`ChU 1cMᕡ\GvcMTչ0Q^,5 ?@ڈpX-[=/015EfÿuYqi@'#&x7q]< c^%$WV!aJ{Lܡ ݕ$|u7V ]oU=]OthPKm(+!PKd7lF styles.xmlZK6W*-˻]-E$!%bCIIQeVq< `-1JhBʔgVY2(Eyh1ʕq)8Y,-_U f4&hc2NIx X4RY+"FC>nFgv3Mc1:7 axo|| &{ u 4TiZn_s޺lwml=I==ɞb"%1p i긅X :@:rUTǺYdwnb(5HtdsElInzkF4Ԝu΃BS}-D} D g`e|1hA[G[UB]0K7`>!]"BYÔ̮T"z%3Nrn;NcM@vgqkF?)0-ޅ1U{,/ /Ft Ip%u0|3#DH.s}6?B eXdǰOWM 8xP w(JKg Ylr*V`K @V{;7 _q!zo2oHcxKx1%\+C.L{w"2C8wЖpqUA}3݆O9^!ǿH8kל+ Eؾ:n1>A'(=/c Dsa!)!iA^#y23x#`jbѽit(64ZnIok{W栓]çHSPv4?ñm4Ih9\bz?8fPs*ߪ ܨw)qhkr~0HR9u`:#kdxZ?Xpo- M;.V]~ޠ3ѡpI3uwi Zk5^z SPK;)PKd7lF manifest.rdf͓n0 Martin Linnemann2015-03-12T07:57:29.212015-03-12T07:59:08.12Martin LinnemannPT1M40S1OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKd7lFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKd7lF^2 ''mimetypePKd7lF'MConfigurations2/accelerator/current.xmlPKd7lFConfigurations2/images/Bitmaps/PKd7lFConfigurations2/floater/PKd7lFConfigurations2/progressbar/PKd7lFQConfigurations2/menubar/PKd7lFConfigurations2/popupmenu/PKd7lFConfigurations2/statusbar/PKd7lFConfigurations2/toolbar/PKd7lF-Configurations2/toolpanel/PKd7lFebeThumbnails/thumbnail.pngPKd7lFc=Xl content.xmlPKd7lFm(+!  settings.xmlPKd7lF;) styles.xmlPKd7lFh Gmanifest.rdfPKd7lFqkmeta.xmlPKd7lFjҠ">META-INF/manifest.xmlPKp pandoc-2.9.2.1/test/odt/odt/bold.odt000066400000000000000000000242111363630463000171160ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaFConfigurations2/toolpanel/PKaF3Thumbnails/thumbnail.pngPNG  IHDRzAIDATx P@ф-zoa.Y$\Eu]_p郢>(胢>(胢>(胢>(,ܿpw?W}_͏~xGclq[X籒fnհ?O?:x}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}P>3N{IENDB`PKaF content.xmln6} CznE?P@HmAKM"USzcIJ,oDZiKvř! Gt2(YZo vi}YoV_ypSo@"l!hں,(/ _oACHE{G8s6Z(|bʑs6gX6Xʤf7lc{Ceփ.NߗNp9ʶ`>5ݰ{#/s!j1PS-}tjOötEv/wgc vLf4F?.k)߫Ty oS{g)VU>vGdwYw`/8 &AiZ* `js©{v0g\2; 41 S{ۉweM\s]vF<_^aFNi"SƷO!dH ˤ"k1<*yn: {:VoKI,IŇ{ՌldaPUB |iafyDuƼi?p7czlTlVfqy)oQ#dJX?D|9Ҳt4-`[DF\@޲> XZeޟTCj3h0Z0Cg2% ˸ml n*$60.63TEԆe66v% MϪq#j2b87% ̼l*r#j2wM2Z2s`h4 hb4Ƃ1A`FP,F#h$4K[4FN,F#h$4 h b41AC`FT.mƅ5#7DW85 :--'; ZKv@+O9,ʸ]e +Oe(O=Tƕ=tW͊DeXyDGa}2?8G5^4j>١oU!"L^]V&ߘvXuRPTln#Wy So=b)piV-p=bxd]r덏'+YszV/'||13 &ZFePNGW5aO$,pm[| ZfnUmEײq\Vk4.=IV6.'O\S::ܛzFc0ٗydGL$i3bTP-13,ټ^r˿OvРڽFIt%v[T7C!B~Rf؄i#T|URI/GEؘQ&R^ˀNn`؄ɷ5`NXAC_DY2D:4{Tv`,0Iv`1ltheGU~&c2cMEܳ|&h#) pz5mߗm.Z;Q(;_`<.8زip.gtJIs~NRtA"3i^-۪Vvx7suQ6f >up B;* ‚X 0 rDE7#f;q0p7Fi/J|!p[N&C:DץWtALq 5~uiIa3XwekG 4@ E(ҁ{/'Lܬ!-8#3_J4y;Jr~%ʖ)u ;(@cCk<[q!u-l;+Z 'FjF H8$NiEZ+c^ I T-{Rcoƾe+ &g ?EyL%Ax['C<@p`%m-6 2H^-B8Y|v8LDTp'tZn?1Ib ֡>(U.Wp}5pt)۟O}d)jx/@R^ >;PEs~4>hBAu[IP!` %E4s#R6Hc]5 jz#2b ,Hן6^W_TȟPLҿ(x9~4SƘí{3o1J/&wBs>eU7l LYZMg,B"bF.t|5g1ZIU &,Lc2nH9:Z':>2OS B6V&-PJ1Ɇ$oMFh gEaB6yl: |!࿏F|?4 <1H1FHx$N]qfb0CDQe{$$%ɒ !x kL0Rۉ3o|M%G1}f~IĆJ:MXdP$4点rAAP߄Y΂Qs/КD_a֑d]hVl,,`oo& WHf wHH@XFX5]}e$*k9=v%G;Y߅)֍s_ٻUKI7x*,'ߟI+IJc$4A QR'>c3!JR fF8[s cr_ !7A4At_RkACQr0Ch ߠ7gۜ;հe5J ŀbsek$fcFlEcD)FeJE-"ʗ>sWT$h'!ԓɧbhamh|q:b%fr IC lK{S #K9;wR cүDa[E!,HVĢ@fNhRYや!bߜyQAl_h2%Rx"%IUgφv:eiJK˔=K -=옥bg~v3:ffi\R*愳[혥%biN8:ei ˡLٳ YڙCR4'ғYUiP{$=혙SKJМpvKۃNzh FPZN1>I?u,XېI=5)}K-uGg{Y,8[*goh:aKJ AH ;\fT%aa*ʾtTpvP8{$*QphjxIw(&p1&wT#k0h"kzed.YqNJc-BK"-h*"ι"|W+ %2B2 oT]\u%ekU C*H-Tjh9#u",^;< p,\#k/myjH-\7 ׃jk2PFH-\㛅kbM4p9PH-XˆEKpH-\ۅk ZT(D6RhYUWGALȼaydx<2G^-r 78.0=\+{9j饡CE㫟 QbUߋ!o,`K!%X`M. ֽR>te[l {! ktieqKƗ^0%iXadt2zf>^30{0\}EwͿ ;_; JI7 E:pmǎ,^.yFelj>A"7q FtpW]5X9ߗU.y4,0_N4*p"Z [ټ1 %Ț:ֽmsܨp6~t Ρek~Sn@WR;@ryMkNǭ#\7-;Btd -CT JQD2r;3{oxYύN!SpUY&bR}ڏF#đ``p#PuÈgҏw譓+)@="5WHi+Ϧ7y3wG #l9^54Iv)PF~Ngj3̻f&I ʡ&I C]OI>r4wQs3蹘 Rإ`Hq,q[ =); s 3g'/UxЂbA>툃]'nOj8ŤV hه Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:52:11.03Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFQConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaF-Configurations2/toolpanel/PKaF3eThumbnails/thumbnail.pngPKaF»B1p content.xmlPKaF6:=(+! settings.xmlPKaF Ɇ .styles.xmlPKaFh >manifest.rdfPKaFfQV}meta.xmlPKaFjҠ">"META-INF/manifest.xmlPKp$pandoc-2.9.2.1/test/odt/odt/citation.odt000066400000000000000000000251321363630463000200130ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaF.fThumbnails/thumbnail.pngPNG  IHDRzAIDATxъ0l v9z><%!J!mǾ??>(胢>(胢>(胢>(>mk:Xuej]<1ϵ{ 1e~z׳>?x_(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(,c!!2IENDB`PKaF content.xmln6} Cz$vY(i łhXJTE*o}C}>IȉHIW+E$8C7?`GG78kcb6޽޼0^_~m+9}a:>_ֵ!NG+XkU^%c;\imĸ-Au'hSĸ(,m!E-|2Ⱥ ADq6B+ێ؊g wd\IkQH+ױ1r0nOzXIbH~mpX;5H{TͮvE*RQX6S3>ޙ[W01sBX$UNHTEXtP 4 w:mu]4C"pX0w4wu3,i`77L—S[5ܭ7{֘zFK(4>7MHJm)6s}!,!⫐ u_p`A+?2!.]#$/P%\`91+UG`l n$ַ|4Hyx12yap(-ScƘA='vW7(Ň@NNlz#?x<:c6̫{>Ȃ;,4DI\̟,䦹(io.q8=l8ĭ0+Ϣr穰pepZOM>ğ}/&[獲UdDCwJRA·nVi"'B8/N O|zȘE _hMD)#(P@ub~:~mmlfM̥50!nd3bҔK!ncsk>o^2q#[Xf\Rְ\ q瓆%si rٙ5k%h d<}Z^4\K\G#j@kĢ5NA'h`FA,Z#(t: Fk]`5: FkĢ5΂Ah`FQ,Z#$tK_4yF~FcbF t3yݒڰ7寖[­+ GXe`a'4U' W*CcXe*@a}12aZV$*S$ qպzVz1XXkqiպV1XZBZx#\Z, ?zK¥^Gpi_iC/?zK=Go`iW+XZ.VTiÆB9-TYp (:,KB҂AUF\H&HNY^^;V3VҸP(tk]nȆ Q?P#/DDsC8oic$_c93.k꽑.G19D$2-#U IPKʞ|vPKaF settings.xmlZ]s:}"w ioa:H2o^Y+L/1艉%JqήX=w杁 0r~OO?8!i T4CS-_yMdd1 ,k̔_˧+/2&iV;TyѨf*Z"( dE5;[oi^kc[kOm֮֟{oQF^N8B/DLAo)" `kB9=Vp!>cB,eKwmU\J :pk(\e㸤}'I|*iI=uJgBG{RQh 2<$mY8"v6omħ],0(i@U >F}k*@x8R [*EfM;T;c\(5AM`iKr09ĽqD@a8dMe8a fځm?|QCe5 DxSPM4TJѤJEiʂ1aFx{ TUGn[&S&T=H璌66P r^Pc06{[k~hs (tDi,Q&`A $\%Nu9O '!3{9Ajl'Ye9]+hMF٘ @)rTl9#TWa\ rDEmAᛱaj8a2~e4Eq },&:D]ףWtj(,ӐD/>.9Ih, Qc _N^CZqFfhvh?,$+*--SrI!PeIB$&yC 5 7VNՖd)qq"Ӛ|5: $zt X] )` 6?O:L`kMPwBojA^KZȴ%}͙20SrM1WgO|md6_>*buCngSxa(Wjk‘ØbSUu.LTӟz mD@ , -ϣ"_,4lMrp-˜D`V!aJ{LԦ ݕ$|q7 _[Q?oOt==Twӡ PKca](+!PKaF styles.xml]ݲSPlMra dl%leff/f*e*ϒG˓%Y0XbPH꯻%?nVA S=pO֤?9OlJmɣ >u8|(!cV8yLGP =܏+•5̪t7iSaƻ#f{̪uSa 6U紩& 9|Aa%$b@"Y+C&)^3n{yGQx ]H1J3qJ`72khh ~w;l}Lȧk :Npjmvo୴m`B$B,֒ ՝2?yyjc<$]Zbc4GA8BbMN>;`EAD>Yl:|!VO َ,ݲ :9H9FHx4J]q&K0!d=Pؒqq FQp -L4wߋ77|B2KӂERs.+oKI{M7uI: ҇Ҝ;$ wk LFK"V|l1 +R EY襙Pf vHHO ,C #]e*k)=u%G;y߅i֍羪wa3."6=(K#bCϔ`mıqFc g(J۱ushoGVJ8]s C _!s/@IÃ)i_?006`PUBï[ݰe!ŀ"]3k$nc|EmCD)eZE-"ɗ>sWt$h Qbham<ݏd5n0}Gwb4{ķDZ^_5=QqʤX8dAnnƤ`[v84YhK1Ik*M;"OZO|b[q^bʺhmK8Rn?}S 3zS |s($Y/[A`/ɭ}e#@$vURT;lګm߃.Q4nB[suk9&~hVk(d.@H;KR2Zk㗊qŏП(MC:]7*vW,#܌WV/:e'Kk4Ϯ5ieJۜg ]<0֩ľqyRٻSc)&@t?s$vgkXԇ¶YQYٕxMJf[x iX%W'Ǣ^-؄7Ϟ #MY<46RS_E4.:G^GGu*nP-Kej^&D< J2 wF7&YInt+|GVهC{+;JʇmAON|Ђf@({S[au9 ƾ5ۊCf]^\jPR*ˊ vN&{6{Svz󠵴Jٱ$҃;6 TOnፙy v.)C -=1KKJ҂prK?ܔݞ=/*eҒprKoD䖞ܘG4*v%IOo%bhA8L=CzRvL- ǘzڟ:Pz1<^*.NWզӪPS-%UzI6SsjA-s hCo0.WmsNw3GrU;\T-,4Tn[G{zUl4A58'L;Ly`(.p6&w$TÞmJ5U2,Vظc%w -ܶ,bx,.\?Z){gd)^S}.!rѕZW cWA K P AaQ@\t55 qr9TCjzZz#ctMlmtI5Z&.7Ё%..R jr ҿ*%..R z~€!Jˮqo0WG=ǀyPydp/)v <{IDZjZH^)jznrs7CXb+5j `K!%X`M ֽRt[l {!kxneqK^Q6_4,_2K~k~Q^'B]\O:52~8҃5:8te&4_L4*"u@ CyƀT k fNl@W,n бkS#FWy_4)E.敔[t41@ yM[Gl@[wn ao0nRU5T pNY/+h^܎IIͽ*IvkFKD#N,QF2tGq1}~(uD?@~FfWiouD1J5)_q4WR@ q9IL8Qw@R@44FB/+#x-Ov$% ;fNS* `N~e~;퍍3̻ D4F$UÙ߆j Uw;r47K[+)®v)Iuvv&e'uka期Ů ku,g r Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:04:58.76Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaF.feThumbnails/thumbnail.pngPKaFʞ|v content.xmlPKaFca](+! settings.xmlPKaF? styles.xmlPKaFh manifest.rdfPKaF'DN meta.xmlPKaFjҠ">o$META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/odt/odt/endnote.odt000066400000000000000000000253061363630463000176400ustar00rootroot00000000000000PKшaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKшaFConfigurations2/floater/PKшaF'Configurations2/accelerator/current.xmlPKPKшaFConfigurations2/images/Bitmaps/PKшaFConfigurations2/menubar/PKшaFConfigurations2/progressbar/PKшaFConfigurations2/popupmenu/PKшaFConfigurations2/toolbar/PKшaFConfigurations2/statusbar/PKшaFConfigurations2/toolpanel/PKшaF Thumbnails/thumbnail.pngPNG  IHDRzAIDATxA @@фe[}TZi i-#WCWF v?͗]}k7)l&?N-;A"t}19ݽ"˭xlʠȋQT.Ru;m7)JЧr ^E/)Yr'Dm@%KA؎͘L>BrC<47}I-RB}= k?0u9I##3ޓW(=v[r,n4gя2^*Nwj"I-LKIB,Z~cOVkl%9%|DJH?4)Oi%)Ke?1Q"2[7z[fbAӯkF674}GH63UˮMT[t)oUi]cs֧m̵/3"vsJGRa\M&M|VekCX]_ HĊ0=*{G_ >[?~DzL{㮺X 3la 3ǣnGet_v?_z(||[U.7)U*ol7y͵o^?%n 9[}[Hej^Ѻ?6[eB#\Y_/SS$r'Hn~UxogQkzvQ!cЎP0A4*tteK\=K R̒!, ܶUqek(5r?wÍj(zm O#HZPO]+*@̸?R 1{H*EeM;T[]y(5AaaK?5rD@a8`e(a fM?|Qj5EPM4PJJEiȂ61aCs{ .{TZ'n{&S&ZT=Hg62P r^P#0&[k~lqr/(tXDAFr;- 2fO.4s81KG B?5Sc*VyFn2@"ħNA(b; %: Bh8l7(j ߌ S)(íN (;(]yf8i3p$*p.UtlGPCgQd6#ztWvQxH-0@dXR,*pB32DCBOB2A.R_h,tHb-bg0.tУ> ߾bM?[:[pZI p0ć:)JHrNSF8B*=J<5̪tiSa[E=sfUڏѦ0sTx֜Z]E(%Ql~{.47Mo3xwiS{9_{}`YwzN_pC ׫ 㢱E<. (nl oWeW(]0?ca i_*/&Qi nUR um{+ܛZMLR+^-/8]|N8,TrlƖGG4N̛(Ў2]fbTɺ}_ ЭG7?O}dqSn s Ay|Aa-$Rf FM!coXGQxA-gCZ(Z+y(S9SF)Zn%d|kJKU)d )yƭ%w ;e~dBiVMdžKK,(HCPT :c*XQ-cc$[H%E~6C7tV[T'#)LF 3 sv6'Y'2Ty (,Ix ~&;q? h|u`?Oެo8E,Y$ʖ3qIIxi{l}ୡŜ$6s҇B%Gk}*[%@+@cɇޢuk sg%t !Y> Y'5GN-e@<î*9ǺƣO;dzNwndrZ1jr1^!Zl1/}e3%xX5mј3`4fćvltSTƑNl_Ɯn_j– ( P oz?0766򒃥J\Ue ~wg醵/P !T;ty-h ^H\<<`vɾpĊlQZasvmC-<6Vt h Qɇlham<ݏ_33 XmGc4{ė/L"F-]/񚞨8UeNY[-1)X&Mm!&a=tҪANϺhXo_y۫E0gd9nGy+yQn)S?uS ع3zSڌ̹BR-l 3pփ2H kQ;˃}!֫L-Q4.B[sT:൜yBu?`nTp\/JY y ;7^'),GN7}*T?a iHS|ZQF]XxtZ^qB=rHxkSJ, v5MK,Bf?w2 N:|UDaSs[$vW]2H?&cX*YblIq@N&D8tL(blö8))מ,4п |M. KB֩%׺2PAy(XǒO|l9v9gk -麑\^?ert}-4̝7Kő o`Ëzl4e[1:ħ!%[/3 +У#:clhj7(J ݔZx'd hJO#3tR ,=<ҭ0E.|bo!HXY:xUR6l R!W |_5[a4l'Jp67s ɱT zN&}6Դ{UvzsմJ)iZi*zϏᕩy z.(E 5=2M JEӂptM]ݞ=ЧCRҴ$]+Ӵ;ѧCRѴ ]ӓ+HBEϣ镩y<5鹠T-G״c_={χ*jI8De֞J ^ԠښsV[B=Ydcp.Ԫk*7 -ropvP9ips*^5>Abr8LL"W\BTS4TF-'jrJB5v9\\\-=kxZbVQ{k)e' EY=vY He05f ^.\ө|Y9JH-\1 '9UZ ՠ0[!rՐZF װ7689TCjẻXz#wMlwI5X&.7Ё%κ.R br ҿ*%κ.R rz€!J-^,`` z1)Vy)6VQڥS !9TvPMO խR$=3DU+X`N ֭R5i ` !KW("0B^aKV)k|jnEu#l(wÒ }~6 7{u/\? g_@p\ g_@p\ Iu@p\ȕp0\? gh߶|t5~a4u荻D^'Wu*wwХEl]0\#'#=X U8h{~b0Ҩd ņ^7)u+R)m^6@ǦMxՒ^Տss iS7+)hbZ" h̵:P!rހ\`Eȫ j<ˣ,1bfy~'y$wѫ.k)sD"KD#N,QdBikϧޚH .ˬ,{hKPb)sC)w&Ř)ɊӘ]s1I+v5|D?(ԫeUF?nNל V^q1e4z1^qqwv0>nN6gIc]hUT*&qA']_N760Zeňj7n~av[f3p[鬸K8B|.6!Lvv&E'>'ZfOV9s lay QQP\جeᔓZ*wՙ*6ܛ=o .! 吣dT_TǬv*9Eی(cP%PKpf PKшaFh manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:06:33.87Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKшaFRE1META-INF/manifest.xmln @z=Lt@"TߏDJmtad=`;[d/eU}Wۮ6V!P1.T,z, :(-TZʩh_ K4X*jm Of[̩kdmVR8a>%s3b]hLJ:L0a˛Z7na-R` P7D𨹚l@w=&^FKSGw(}7O0sr%(p/3pOH|U?${(胢>(胢>(胢>(胢>(}f<]ؿx>e}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}P3: mIENDB`PK,aF content.xmlݎ6zS!3IU?Tbvޭ0U)6ۧh{ы>V6B2⛙ؿcK߼xE$Xk1F0o}x}.!vÀ6 =]IZ`EEtW$A*zd e\;ީS{`01pȯ;=Y*;BaiJbƋB4.hwًG-5tPwy#,Xk ?)2Cf= %]W`PIGK1\t| ;D!(K2k}#DgX0z} K~W+ S~rLKw|qxkM7yjA䡀W0X\-+a)tƸtj]h L,5Ƹ4j]h T,WCc|#\J, ?zK¥^RGp)_(C_>,?zK=åRGp)W#\JҒ^OUkgNىk< 1* K<^԰!!y%]1(]LKAșK7ĪFٛhA'1(z='qLYDI=,N~t#Dvf__Y$j,ƧSWuΚgx6ؓcOdž0T\%GgaZ7 r^ap0Cwܣ5+EPKO5WqPK,aF settings.xmlZs8~"IRZ \߄`5#lȥ`z[OL,iW߷+2'/4Gy흟ս\ίIs+x4iN5CS -_{Mdd1 ,k̔_k/2&ijl ռvh4jfjr燪gU|3z희74^kc[Wk)7[ۜ?ۭ]{aj5hkiM06#fk]\v%.3S$^NMT|nQ?#)19`(IeT ɶ…; a`1KN a ᮭ+[CiVYnmUEl}Q<^$P?6.SI&΄fRh gxB,BUlHcke+K]tY`Pqizz aWч#v^-^U")4*fåT) 3l41* jHDyjKX2!e)6avkl_|QCe4 DxSPM4TJѤJEiʂ1aG=ՆV}7)m*]$sIFL(EꭗL֚.\2:< q4QwQQ&`\Lٌf.'fD{Ajl'Ze9(hMF٘ @)sTl œX0.`;GQ[P`fln'8L# :}c&(tdA?˕6zTJӓ.s\B E]~ru؜%=څ2G}!i #`!Jr ~^)7{H ?̗MǶ# 9?IĊJ e\RH~YR!a-¸:CvBod{e9$YJ@'&5_M0c IsNz &KC1uIC!(s?X[q,KxYh3cm S^Щ,$mo, BWߟ4f3،$^ |>dbNeϸ\g}L;K (<0 8n=TUkx^iTQ6sޑޑ+(]k0 ?Si qж/[Q{QirnYR peõMs<KܛFM8؝FvNq|8 LTptږ'G$N,(Ў]: |{Q`]Ůdጆj`Ƴ7TOCqSv;9p'}xi??p|,?l.X_фD<{{SQRdqJ3V8ı&l$9b)j^戼~F K9\IЃ%+g ^Nh.Iqpsvp|C}y!F%<-CZ(Z{N_Q >d#K򸁧R!!1]|5rƀۧ99SX XHDȁeX sB>egt|>+D*<6^6xbD~"BbT'+(>:<ΊhDl#H:l!ߧb^bni)OF Rj@at{ j)sR4R #(e|0 ˙i Çb8!:oP%mӀE\0o\о%Eo|մXP^͂~ΊBFCwz#]0w+ޢ,tҌ7Hf 6HaH[X5'V-U@$jk)-v%G:Y߅)֍3_ٺuqРɼ;{)ʒu|, 6.HL]l0E 5c;6buOjN;ƑNt_FPrܖrQA$޴?0r%76JH]Uf~ݩu((*;[>_4{X{-;'17d /7h 'RȓZs+T?G; L>C k~%h0S6vT;&V9G,~Ex`1z\xʼneI40 DAnJA);M,*е[V zEk?B}E=^#'<#_Zs谶.ZNi4ϰd]u5;&J;`oEmA|WoLD"r)AV˖6.K@A$ vPꆭz|z=D=ŋ$yi+/SٙϫW#reFUF;;KqgÊє2$]3ǫS%3c5a#ln{AmH&I+|_IkZ")BYE'=.l [{B;?=_M|OkRB֫%צ\⠼JSlb)&Z=So7ݟqg ir׍TJX|c3vtu$,5%ȑax.}yh)ʶ cy! $;|14:R%nL܋?-$ro2{^%y> :i҇ ~[kB>gy{^=nEVdWv2̚D{J} .YBJԚxG#ǪFn۴kTx䀘M[Xjul|0 NY*g~AOD0B=(#kH&Fl@b E2зTX%}CHR;郭IJJ 7N(4Puli4m LAiRѴ \ӣӴ=( ̞\Sk\Rj愓kzrcNgM9~)Ms^eJEӂprMOoLLʔ9䚞ݘ'0-jz%HoLӹN%hN8-T=cz(S*cT]%gm,+uI͙HYrkRy e ˠ$[.-=$Pu hc֠\"uNFw=GgU;\E aa*^e۫pf7FizL:j<0͎9\;\%\=k|^Ϣ;VIwךkIe+eY>uY H7 \]l\t%eiU3C*H#T㫅j4@XV\t55L58>v9yjH#\W `YUNH#\ӫk6i#XB"`ͮ, "-ˡB"pͯ14P\vm/hjFuud44 7,GFNqKYOp%).0=H^)wj~nrѳA7CXb5`K!%X` ֽRte;$`;5>7X2H ִ#Xsu/aԯFIoX*h ٛ{a&`&`OJn+X&@@nQ6&Y[ݧUoŒX?5`I!|P.Dbh?qn \_dY>^-0_͕*p"ko@rEw}ƀ k fNl@W,n ЩkS-V7} ,/qj" hJʭ:2P-\m_5@E.Bt<M;yD5"zKb8$\z,Ftn`|-RhȘre"+e#N, WdBam%NLdEX\׀⦞ P\$86D*xj-Tb̊EIL/=]KSAPv[QuSY.,`"y#)Pi^8`:azN~ \'G Cxw HVJTJLN%*B#"`a(05 G^Շ5>v9 Oml8F\AB/Cʼn.́iN\O 0̜SKKAK$* y9[͔.V)&nt37ž=u| .9!Ր#_)Y JCe3*kł*PK֡e PK,aF manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:17:24.40Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PK,aFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PK,aF^2 ''mimetypePK,aFMConfigurations2/floater/PK,aF'Configurations2/accelerator/current.xmlPK,aFConfigurations2/images/Bitmaps/PK,aFConfigurations2/progressbar/PK,aFQConfigurations2/menubar/PK,aFConfigurations2/popupmenu/PK,aFConfigurations2/statusbar/PK,aFConfigurations2/toolbar/PK,aF-Configurations2/toolpanel/PK,aF]²eThumbnails/thumbnail.pngPK,aFO5Wq Mcontent.xmlPK,aF*$+! settings.xmlPK,aF֡e  styles.xmlPK,aFh Zmanifest.rdfPK,aFw. meta.xmlPK,aFjҠ">$META-INF/manifest.xmlPKp&pandoc-2.9.2.1/test/odt/odt/expressionUnevaluated.odt000066400000000000000000000251151363630463000225770ustar00rootroot00000000000000PK,aF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPK,aFConfigurations2/floater/PK,aF'Configurations2/accelerator/current.xmlPKPK,aFConfigurations2/images/Bitmaps/PK,aFConfigurations2/progressbar/PK,aFConfigurations2/menubar/PK,aFConfigurations2/popupmenu/PK,aFConfigurations2/statusbar/PK,aFConfigurations2/toolbar/PK,aFConfigurations2/toolpanel/PK,aF]²Thumbnails/thumbnail.pngPNG  IHDRzAyIDATx1 @ _VZ703j13ܚ>(胢>(胢>(胢>(胢>(}f<]ؿx>e}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}P3: mIENDB`PK aFS/Eq content.xmln6} Cz)$YFY $CvD)D)Qؾ){=$%EIKsI"r39?MD8ŮXCcc$]͹[KyYcaz,@z|{]#K%Ce"̗[ǥײnc.{n\x#:+=_97{)ZwuVrQ \(Ad$5H^bih;{.R[)VX]FX)zJqpyi@/Ta6,{#7ޗwww}#$43p i5[*/%Iij?cJU9;'~Y[)8{^,:hα66Z0uweơypv䴱Ib.P[T8ө℥Z{jܞDD-MiDƶ<ܫaaF%-7 N j#&7K5o ڻhdܕ/i]5dæ=nuY(uID1vъ#C:O =d#cz q,P!& mJб$S-"?P…n_SǨPY63WX tj'Џ@]ni4(/ly%T9HDoD3"E+-sslb1`5͕DRcԂG9}T2qIYŗ9fi4$C2e۶=dZ?eY }u.gfjafdM't)<&rnzlLWl̮Mɤy)]&55ӥ8,k,cSƙEM55Kq6Y5ֱFU `#`#F0`#F0׸#F0`#F0`ds3{r1YkXF%-krU_-GF yBo (Co& Co ňDof 9Eon@ыbA 2r-@b%WGWO1?????tOq=~h Hf OB"Eexd5 /(:VV*b{w׆l.A4æ&22$ !LΫ|bp[cQP5Y&(Y^(͸H.UүCyFyoa.APK,aF*$+! settings.xmlZs8~"IRZ \߄`5#lȥ`z[OL,iW߷+2'/4Gy흟ս\ίIs+x4iN5CS -_{Mdd1 ,k̔_k/2&ijl ռvh4jfjr燪gU|3z희74^kc[Wk)7[ۜ?ۭ]{aj5hkiM06#fk]\v%.3S$^NMT|nQ?#)19`(IeT ɶ…; a`1KN a ᮭ+[CiVYnmUEl}Q<^$P?6.SI&΄fRh gxB,BUlHcke+K]tY`Pqizz aWч#v^-^U")4*fåT) 3l41* jHDyjKX2!e)6avkl_|QCe4 DxSPM4TJѤJEiʂ1aG=ՆV}7)m*]$sIFL(EꭗL֚.\2:< q4QwQQ&`\Lٌf.'fD{Ajl'Ze9(hMF٘ @)sTl œX0.`;GQ[P`fln'8L# :}c&(tdA?˕6zTJӓ.s\B E]~ru؜%=څ2G}!i #`!Jr ~^)7{H ?̗MǶ# 9?IĊJ e\RH~YR!a-¸:CvBod{e9$YJ@'&5_M0c IsNz &KC1uIC!(s?X[q,KxYh3cm S^Щ,$mo, BWߟ4f3،$^ |>dbNeϸ\g}L;K (<0 8n=TUkx^iTQ6sޑޑ+(]k0 ?Si qж/[Q{QirnYR peõMs<KܛFM8؝FvNq|8 LTptږ'G$N,(Ў]: |{Q`]Ůdጆj`Ƴ7TOCqSv;9p'}xi??p|,?l.X_фD<{{SQRdqJ3V8ı&l$9b)j^戼~F K9\IЃ%+g ^Nh.Iqpsvp|C}y!F%<-CZ(Z{N_Q >d#K򸁧R!!1]|5rƀۧ99SX XHDȁeX sB>egt|>+D*<6^6xbD~"BbT'+(>:<ΊhDl#H:l!ߧb^bni)OF Rj@at{ j)sR4R #(e|0 ˙i Çb8!:oP%mӀE\0o\о%Eo|մXP^͂~ΊBFCwz#]0w+ޢ,tҌ7Hf 6HaH[X5'V-U@$jk)-v%G:Y߅)֍3_ٺuqРɼ;{)ʒu|, 6.HL]l0E 5c;6buOjN;ƑNt_FPrܖrQA$޴?0r%76JH]Uf~ݩu((*;[>_4{X{-;'17d /7h 'RȓZs+T?G; L>C k~%h0S6vT;&V9G,~Ex`1z\xʼneI40 DAnJA);M,*е[V zEk?B}E=^#'<#_Zs谶.ZNi4ϰd]u5;&J;`oEmA|WoLD"r)AV˖6.K@A$ vPꆭz|z=D=ŋ$yi+/SٙϫW#reFUF;;KqgÊє2$]3ǫS%3c5a#ln{AmH&I+|_IkZ")BYE'=.l [{B;?=_M|OkRB֫%צ\⠼JSlb)&Z=So7ݟqg ir׍TJX|c3vtu$,5%ȑax.}yh)ʶ cy! $;|14:R%nL܋?-$ro2{^%y> :i҇ ~[kB>gy{^=nEVdWv2̚D{J} .YBJԚxG#ǪFn۴kTx䀘M[Xjul|0 NY*g~AOD0B=(#kH&Fl@b E2зTX%}CHR;郭IJJ 7N(4Puli4m LAiRѴ \ӣӴ=( ̞\Sk\Rj愓kzrcNgM9~)Ms^eJEӂprMOoLLʔ9䚞ݘ'0-jz%HoLӹN%hN8-T=cz(S*cT]%gm,+uI͙HYrkRy e ˠ$[.-=$Pu hc֠\"uNFw=GgU;\E aa*^e۫pf7FizL:j<0͎9\;\%\=k|^Ϣ;VIwךkIe+eY>uY H7 \]l\t%eiU3C*H#T㫅j4@XV\t55L58>v9yjH#\W `YUNH#\ӫk6i#XB"`ͮ, "-ˡB"pͯ14P\vm/hjFuud44 7,GFNqKYOp%).0=H^)wj~nrѳA7CXb5`K!%X` ֽRte;$`;5>7X2H ִ#Xsu/aԯFIoX*h ٛ{a&`&`OJn+X&@@nQ6&Y[ݧUoŒX?5`I!|P.Dbh?qn \_dY>^-0_͕*p"ko@rEw}ƀ k fNl@W,n ЩkS-V7} ,/qj" hJʭ:2P-\m_5@E.Bt<M;yD5"zKb8$\z,Ftn`|-RhȘre"+e#N, WdBam%NLdEX\׀⦞ P\$86D*xj-Tb̊EIL/=]KSAPv[QuSY.,`"y#)Pi^8`:azN~ \'G Cxw HVJTJLN%*B#"`a(05 G^Շ5>v9 Oml8F\AB/Cʼn.́iN\O 0̜SKKAK$* y9[͔.V)&nt37ž=u| .9!Ր#_)Y JCe3*kł*PK֡e PK,aFh manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:17:24.40Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PK,aFjҠ">META-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PK,aF^2 ''mimetypePK,aFMConfigurations2/floater/PK,aF'Configurations2/accelerator/current.xmlPK,aFConfigurations2/images/Bitmaps/PK,aFConfigurations2/progressbar/PK,aFQConfigurations2/menubar/PK,aFConfigurations2/popupmenu/PK,aFConfigurations2/statusbar/PK,aFConfigurations2/toolbar/PK,aF-Configurations2/toolpanel/PK,aF]²eThumbnails/thumbnail.pngPK aFS/Eq  Mcontent.xmlPK,aF*$+! d settings.xmlPK,aF֡e  styles.xmlPK,aFh manifest.rdfPK,aFw.B meta.xmlPK,aFjҠ">b$META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/odt/odt/externalLink.odt000066400000000000000000000247571363630463000206550ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaFConfigurations2/toolpanel/PKaF|e))Thumbnails/thumbnail.pngPNG  IHDRzAIDATxjP {ѓ;Yw~#7j9?®7G: x}AE}PAE}PAE}PAE}P1Mu6My~[ec$;Ȳ vU_6{?;؎o.wt{ËMu7+> .z%E>V$ˉHIG#E$y/;y I8[X#gh 0Oza}a _>fqx39׵ k+؜#I䜡yyY5[t{l>lO|ѲzϱqhWYBP+^y/ D7=%ׅpM.ҍk{]4=S:m#Tu|6?$ XT n]9#%6HT΍įw}mJ\7P>lOB Vsγ*@ᎇésֻGwDX̽G=D,<( ؍\J,U dՙK6a2B t reYU08& hrWZ~) g҇gd?|<.(K\iJ2d:xbALU`y[b;Uz褕nV^!>z7x8 bkDGv$ X?nӂ&rO4 d)HAǚטA a . 2-EH"; ]_o=-brC|B., #d GMFa1켷 š:HKbn, Ƣb"ge>6S)KLvW`ݕXxrxE;~5?؁gWZʕ6oכ{) Y"51?ʹHuC f3BhR t*{ױه)Fsa_ٴs& pc"\m8m6J-,P 뚩wQLo/r afC e=t&&@bM2#)Ccel,a,Y].ڥ10g΂;i=.GcX}&zI]3F6q.Fua966uӚ%ui y73%h Es>^R\q#;s&5$a 9hUWF#0A7`FJ,F#h-Z h-b4V1A[tE#hb4V1A+`FB,F#h)Z hm`ZR#16#l}3crZr_zk,ƕ"堷j*zq6">PW[\ +a)= tڸtj\ H-5ڸ4j\ P-WMcf~XF.t?:eN2G`C-Z]?Όae2Gp3)\F,t?EE[-bCM: >!Eo#!IB3J2HHMEKV7h̭T󿽳&ߘ6vuVTln#Wy o3bV piV+x}bxh}r덏N <ڻzQ>p1 :s[ ZFPLGO.4aϘG,p][l Zg^UmEײq\Vl|:!@deh`dR[t(zk@m6L(E]T/0J#\X˘i0@̅_ĬaPC2sc+*}iUލbfd١`D(OP9Ǟ0g*BCYnS`fln'8L# :}c&(tdA?˕6zTJӓ.s\B E]~ru؜%=څ2G}!i #`!Jr ~^)7H ?̗Mƶ$bEer].) ,)X0a\xb}Hƀ|q ; VÉQڲс,%N NxZ֚&Wp@$[_`9"˗!,I O}ͩ ~R]-5kIw@ӷ9T&uj[n 7 ӝ~\זY@fe@ ᓢ+VY7ƌ}6WreVC 9)6PUDYaIh0F b_0mѐ2x<((RK:1!w$yM >˖@B S;f6h%᫋-89Pmڊ1Ȏ@]EPyЯWPK'),!PKaF styles.xml]ݒSP>T€ `MR٪=8k,ثk6 [EY0.ΒշwSt|WR8nlTecx^jLP7>#9#O]td: DO/}Q=S5& !PP6\{8})%vE[XUF>k&~n*c:ifgi1E cJׁ>(U.cSpF5ptǛ֟z릴V{0/, bnh鴟(\2z9e;A1 s(TH#j>ǾBGI)\>TX}h?^ԅ~F K9=¤kCJŊ E$ꇸKR>e9Z?8?veA!-c|fCĩy@IEHHLѣ1Y!lL8}2Vwb D$B.qsEb ՞2?񹇬4zЙ+ylte3l8N&RB=L8+ ac`ӑ Еm d=L['#) @at f)s$iA#(em}q&da;q +fIudP(4点rAAPxXPW~UgA(͹hMQH`.Z4y`+67( 4 i8,a`)|ːvYӱhwY Jq+d}N羲wafT].k& ,YUXN ?nÏsP~k68M:1T:JP~82S銞hXW!Ş]xJOM'V4%S= ~͉S *F1,1`&رl>'iJ*{-;'1ċ %ǖi7b\iT"r|3G|EeX$z2_ m= KQUwT'&V9}@l$b2҅U&Ej`;ap.K@A$5Q;ۃcKT;lګn?.^4VnB([sTzk9󊇪&~\kV .܀K;KR3 :i>qOпey\㡜W)NuKA*ܫWa>:b%f9W~~r򧟪nWOfidWVaEo:Tr~lŹ)`; (_e{Y";9є(mQg[l*Uyu\AcnQC~bC6OZCOJhuyI$YkVxƢN@f}R[au 93[yQӓAj>+?Lɏ;^Hig夁gCK۝ZJK˔=K -=꘥bg~v3;ffk\R*愳[阥'%biN8:ei?ӡLٳ ғYڞӡLXni,iPsEz13Of:;9얶2?L3 b}lHAS/+ !kzGS(S.Օ5(IXpJYodz[R*GXNh @Ze*6. SyhU֥j|}Łt;L&uTٗ;\FTK4T@1A5C%Ö;@!r1fwJZFE w8VNr^)$r۲},b,rwR"#d(0Uxpfe \\+!pn.K \TAj,T=V/ŧG.rՐZkܟhXspp=mtM"W]krpMS \vK\u]͂eEKrH-\ۅk ZP\wm/xM#G]- bB #cѽ<8x'8.0=\R@5kP!eҳ7CXb˹4XRH ִ%XKu//]Y`^y-_{kɥA̯FI}oX+W Lm^> W_@ptA N:mR ncNpt(\gαcs5~ˡ4@st郻@^'W,u*wЅM0\GG s8翰 c؅BOߛFF%Nd6@ $7t :YS0suڼb5@'MxNՒՏn9[_)D敔Lu;P-\m^I" hNG!*DQM($)NL >^A0wod8v+, o1>Cpf8tNrnQu3[ur%G4?tcfȗ3m黦 =w$K}uYC*w0J~) {mR85#ˌYa05ILP5 "F%_go'Fb.Na!Pm1iىٜc9 Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:55:51.85Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFQConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaF-Configurations2/toolpanel/PKaF|e))eThumbnails/thumbnail.pngPKaF+7v content.xmlPKaF'),! settings.xmlPKaF<3 e 9styles.xmlPKaFh manifest.rdfPKaFy=_meta.xmlPKaFjҠ">$META-INF/manifest.xmlPKpi%pandoc-2.9.2.1/test/odt/odt/footnote.odt000066400000000000000000000251331363630463000200370ustar00rootroot00000000000000PKPaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKPaFConfigurations2/floater/PKPaF'Configurations2/accelerator/current.xmlPKPKPaFConfigurations2/images/Bitmaps/PKPaFConfigurations2/progressbar/PKPaFConfigurations2/menubar/PKPaFConfigurations2/popupmenu/PKPaFConfigurations2/statusbar/PKPaFConfigurations2/toolbar/PKPaFConfigurations2/toolpanel/PKPaFKThumbnails/thumbnail.pngPNG  IHDRzAIDATxъP@ф "ZF{ܤAyoOKE}PAE}PAE}PAE}PAy{4-Q[8Ǹ߯g bd(胢>(胢>(胢>(sѧ˿IENDB`PKPaF content.xmln6} Cz|k/ lC@o Zmb)R8){=$"'-%]X 9߈7o:ő -3y'l>ܼ/˯xxso`&m3 \.] " X̥7!f;ym :?Wj! ΥlRE$Lmg*}ᎇésH̽^q% F.XViV*aXCz=6aB"HA(]̍p#%f]}Z, hzSMą[n<ztcp ]&w!Z @@Ҡ8x8yZLovW?1G|4FL >0g\7([q<{!qܥuݲLNrx6ώ 7{(+ R^A]!I89lA=vʻs@-(ߑ` 69<N!.!F-|fa916t:HKr\7usQ>s1?r31Gpǩ%&{⫳yJ,P uaz: >!E6%!IA+'JwBFH%H-Eݤz(Ńs+ZָP(5pܯmrN,:l"!{|Tש|%,5etxzp]а ɹԘ{P~ngPKtvPKPaF settings.xmlZ[s:~?"K$t )- fN߄`5#Yِ!=1]i/߷+2g/4Gy.C.7{g3@3 As }F˥n7^d)Y i&& 7˚og73eƋIbX|@5F%L PPU췪U]o&SVV?V򿽳&ߘ6vuVsڍG*/V &fĬxzvy]r>Lqbxh7.kW|n^oT儏#\ N)&Q)ѓm >3&cs][W2Cx/ڪ6kP.il+w_}~(/u_|_ޫS'ϓLfqh ƅ/eeD'$i;"TaQ05i,3z-v6Rz.]T{o4MOA@` *Pb"˾5XO ^096A@=^ {-h]"z5grNmb˭6\aӞ<%r|`ChU 1cMᕡ\﫭GvcMTչ0QVvXbRL遴.-wL[4d{^a">h e`so␃lyƼ&JㄎogO@B S{f6h%᫋-89PmڊG?TOCeYZPK$,2!PKPaF styles.xml]_8OAmslnRd}_yr>ɵ$˖d!0%BGR[Ryz8N|>%.}Ř~d]waj$>I8|$(q򘺏$¡zYW)k*ΘeҦ”${f̲mSa 6. 1\PWF Spnрˡ5͆M0.Β5wSt|WRYq4(E&Ԙ]o02#9#O]td:Dߧ/}Qޒ؏Os|T(m!-qokٷXbwk]Ze4ೆagꦂ;jv1HY4OP`;UEu{3B>T? SM)Ww"1/$ra7H޽7o:'.Q`{9e{AA~ٯ$PGԼG?}"S!}pd'ɱ.H5H~L 1@rP oK*V ("_P?})cu}hd 92Fw7mD1LY-$JYĠ=>&+䑭'85vO}s0rJBLae0`!F!qcEb; ՞2?񹇬yj=`U<~2hDrňN6'Q~mRB=L8+ ac`ӑ OǶ}Kn ɈA1B QBH?윝`6B*%-Io SXcZv~q&l4w?7C6tP%i"B9̔ dχ&;Ɯ:s҇œ@k}&[@#@bcak?~C6nB0K7C G2<2XE]6c`q8ڕps>d}NX7~ޅEΨ\ ~g0EdUa9!6LJ^݆$@ r68M:1V:JP~82R銞hX!^_xJOM'V4%C=~۫u,Q )Lvlh4gX{-;#17d / hK'R6L1.`W*jT#?$(@{ L>C[k~%qӀl; `#$b2҅U&(lw Rfp7$nTK8y/!Ie.GALycE;Yys23ϪxO}#ғQ8fY3iEhJb6癿oΟmh gUxz]b?ظT.X4gD|8笝tMۖ?Vu#z2K#+d¿Y}ʅyP2e׫4,[ߣO~YE͑(jKp| ^C<)rl /P#zglr7(tWI4ݔZo%% C$6jCSFy^!=̘3@&e6 ''XVdYbϘy!Ey^C/f&f5((e ;+' T=Zi=(--SJ[z1KsBάfw̎=عT g1KO&S JҜpvK?tCR ғYڞCR4'ӎYQiPs$=똙'3 JМpvK[fL=cz(SJSL]&g^4՗I=gŴ)Ku{Y,SrfA.sj hCo.WmuIFw3G먲.U;\T-,a*6ʾtT=7]< \ *x`-wBbpppe#6XqВm":}# H>`ۅk6S/k"W] ktpYZ,uP R f : UWCjrn`yc6q^R 0p55%D*R fHH-Xӛ˂EKrH-\ۅk ZT(D6RhY&1!ѱ^ySx'8.0=\C5kP!Ţgo(ŐWi siiK^)^-69 `[54X2H֤%XKu/a̯FI}X+_W Lm^> W_@ptA N:mR ncNpt(\gαcsk/Ci~wp#Or˯2XDU 8E#a',|kUnz?Y`tb4SҨdLc?= u)Ǎp݀6Xt ЉkS-FWy[p/qj" hJJuP.r݀6t ٤urE}[I"RDoH م`dW-ۑS~sv27|M+RD+< vo, w4>"6&'%WpGQaD=LdHvGu2%e4?tcf0O]N5wG 'TM"$,d2E0*˞ &f]S>eP8ʱƮ*\S-MZ 6yq?cv\\.9C#ִD\n1̜SUA zy66wCB 7;w1vj8ŤVُ Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:58:33.60Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKPaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKPaF^2 ''mimetypePKPaFMConfigurations2/floater/PKPaF'Configurations2/accelerator/current.xmlPKPaFConfigurations2/images/Bitmaps/PKPaFConfigurations2/progressbar/PKPaFQConfigurations2/menubar/PKPaFConfigurations2/popupmenu/PKPaFConfigurations2/statusbar/PKPaFConfigurations2/toolbar/PKPaF-Configurations2/toolpanel/PKPaFKeThumbnails/thumbnail.pngPKPaFtv content.xmlPKPaF$,2! settings.xmlPKPaF} styles.xmlPKPaFh manifest.rdfPKPaF09O meta.xmlPKPaFjҠ">p$META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/odt/odt/formula.odt000066400000000000000000000336541363630463000176560ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaFConfigurations2/toolpanel/PKaF0Object 1/Configurations2/accelerator/current.xmlPKPKaF(Object 1/Configurations2/images/Bitmaps/PKaF!Object 1/Configurations2/floater/PKaF%Object 1/Configurations2/progressbar/PKaF!Object 1/Configurations2/menubar/PKaF#Object 1/Configurations2/popupmenu/PKaF#Object 1/Configurations2/statusbar/PKaF!Object 1/Configurations2/toolbar/PKaF#Object 1/Configurations2/toolpanel/PKaFObject 1/content.xmluAn1 EʾB]RRf$m=IâoKKfrY5i ho\pdbU|\j]km}^OQ)!:4151AطVC Xiѯ c+L8POpDKA-|)3yBK E"N$ePO_~PKɓIPKaFObject 1/settings.xmlMs0 HH;$gaDz$9@}% Im'[Gj*`7"o;gu)4?tp6>xS:"kz:^D{H$'HOihomgTr<]6OQݳkw6#gQ}"@fB Qw]kN'C" 0m(,w^s=Y c Z [[LY0Bjfꪜ@5_4Nyh""A΀ ^97Yx^@aQ="JuEbQrHsy`zC"攧/`FR6x бr: *P#e+(a0@YdLu3bj^ g@e١& w:3$&aԷňobU&0(ư:X68Do bYMjڙfUF L"bUfXjm@B(j b #f}Q/G>ae' ZUᦾ4pU7^5$G Slmaݿ)@"p?L_`;*~F\[)G"(cROE:sYf@z* A_񸕪mi}TUk&="|]w`s-[p (7a0KWEtgD]$K X 3j:mRLBl#ź!gY\9J@zYjN)r%oOeQy2: RN(Xbn"9Oahu뛅[i4'o 7/PK`iPKaFObjectReplacements/Object 1 s qcd0dFid{i@! @2(5('d9Y @!$37X/\!(?71q @% `>fMPfHFv f;6$ āt b)ue?)l6I.Լܤv@rFlN4z3}p|q ӎ* pw_nɍԿ @[}VjTwq/LPK.GPKaFӔThumbnails/thumbnail.pngPNG  IHDRzAIDATxA m!JK=9o pj胢>(胢>(胢>(胢>({c 8]}ieD`V04PQYn72Mė'΍rn73]2/5\8p /0uQ)m];AL;4H :Swкɾxtr7o m{!$ogu% V*EfpXo`chAÒ!  ɂ1=Ewg/q 1#ķTȬ ԰ _ oQż.&KJ(Vw<=8zS'峻3mGkAềx'O\yր U.JV˚付zk(yYٰLSߍ|kCVDP`aP=+Փ/3 lA-vpsްBu*Ptubӝ]V#Sn˯(LT5@cطy"Es+D ӹe+I:j h-.P9ۧI>zdY@ջ*K[v߹MҞ%a@[ާ_wL\Km`F Z fLոawefB6rU(ڰ\ty\jsB6qWոab8%s ̴UzԆebpWh)t F`4vb1A#XFX0F#h 4hc4riF02ډhc4Fb1AcXFP0F#h(4ʥ-FF2#g:::nn9F3~Vµ+GXeAgaծ'TU'tW*CeXe*CGa}22jV$**S$: qUzQVzYXkqiUQVYZFaE"XFh.?Ze2GhE0?>XFh.?ZeV2G`E.Z ?ܓ R5L! \0$$7flŃ|olSNG-y|4)b>d6%`ЬoP) ^TkzAdJe'Ѕ阾fK|yTBl[a\AVoԸɍK0'zRيF7̺]IkT_[0d5!OKR89Ht0DKfuQP%á=: oPK'tqPKaF settings.xmlZ[s:~?"wB.9IRZ ɜ {jdGlIl=1]i/߷+2'/4Gy흟y'  _{nf3&k1Kj\pVP, Z6K߾tyx{ظxOT&ԪS::ڛzKn1Wy? IU9"v6F|,weAUƑ1 ]EyǷox TC!B~vRh7̰)`ǘ`'r ! ,͓b@?=JC؄Q&VeH'7#lCu-F }0}OA94PN(F+Xh+ :L\nT>[ODwLL{v %ml0^Pc06{[k%SGcE~U%n?.nv,P e4] i/qbV0A~j! ˱+ƶ*}iUލbfd١`D(OP9GAV % Bh qoƆvd0p7Fi/.J|!pY;N;L ts \ic9G4=27;%P8Y!'Y͉^"ݓ}]x+s7F .Y8+ 2q|)d~l;DPLqP%T?@% X" O30/na'Y!j81JW[6:C ĉpOkZ3d9 L0CW$bu2% X>0) w/ՂPt.pi=} J39Le`R6Vpc0iϪO|md6_>)buCngSxe(Wjk?BaL):&KLv@O=6"eiy LQMF?,4lMrp-Kakt0NUFdc&jSA`QrV ]7U=]dOthPKRr%+!PKaF styles.xml]͒)TrmrDRHxJVO "!1I3gɣI4,Nz &KC1uIC!(s?X[q,KxYh3cm S^Щ,$mo, BWߟ4f3،$^ |>dbNeϸ\g}L;K (<0 8n=TUkx^iTQ6sޑޑ+(]k0 ?Si qж/[Q{QirnYR peõMs<KܛFM8؝FvNq|8 LTptږ'G$N,(Ў]: |{Q`]Ůdጆj`Ƴ7TOCqSv;9p'}xi??p|,?l.X_фD<{{SQRdqJ3V8ı&l$9b)j^戼~F K9\IЃ%+g ^Nh.Iqpsvp|C}y!F%<-CZ(Z{N_Q >d#K򸁧R!!1]|5rƀۧ99SX XHDȁeX sB>egt|>+D*<6^6xbD~"BbT'+(>:<ΊhDl#H:l!ߧb^bni)OF Rj@at{ j)sR4R #(e|0 ˙i Çb8!:oP%mӀE\0o\о%Eo|մXP^͂~ΊBFCwz#]0w+ޢ,tҌ7Hf 6HaH[X5'V-U@$jk)-v%G:Y߅)֍3_ٺuqРɼ;{)ʒu|, 6.HL]l0E 5c;6buOjN;ƑNt_FPrܖrQA$޴?0r%76JH]Uf~ݩu((*;[>_4{X{-;'17d /7h 'RȓZs+T?G; L>C k~%h0S6vT;&V9G,~Ex`1z\xʼneI40 DAnJA);M,*е[V zEk?B}E=^#'<#_Zs谶.ZNi4ϰd]u5;&J;`oEmA|WoLD"r)AV˖6.K@A$ vPꆭz|z=D=ŋ$yi+/SٙϫW#reFUF;;KqgÊє2$]3ǫS%3c5a#ln{AmH&I+|_IkZ")BYE'=.l [{B;?=_M|OkRB֫%צ\⠼JSlb)&Z=So7ݟqg ir׍TJX|c3vtu$,5%ȑax.}yh)ʶ cy! $;|14:R%nL܋?-$ro2{^%y> :i҇ ~[kB>gy{^=nEVdWv2̚D{J} .YBJԚxG#ǪFn۴kTx䀘M[Xjul|0 NY*g~AOD0B=(#kH&Fl@b E2зTX%}CHR;郭IJJ 7N(4Puli4m LAiRѴ \ӣӴ=( ̞\Sk\Rj愓kzrcNgM9~)Ms^eJEӂprMOoLLʔ9䚞ݘ'0-jz%HoLӹN%hN8-T=cz(S*cT]%gm,+uI͙HYrkRy e ˠ$[.-=$Pu hc֠\"uNFw=GgU;\E aa*^e۫pf7FizL:j<0͎9\;\%\=k|^Ϣ;VIwךkIe+eY>uY H7 \]l\t%eiU3C*H#T㫅j4@XV\t55L58>v9yjH#\W `YUNH#\ӫk6i#XB"`ͮ, "-ˡB"pͯ14P\vm/hjFuud44 7,GFNqKYOp%).0=H^)wj~nrѳA7CXb5`K!%X` ֽRte;$`;5>7X2H ִ#Xsu/aԯFIoX*h ٛ{a&`&`OJn+X&@@nQ6&Y[ݧUoŒX?5`I!|P.Dbh?qn \_dY>^-0_͕*p"ko@rEw}ƀ k fNl@W,n ЩkS-V7} ,/qj" hJʭ:2P-\m_5@E.Bt<M;yD5"zKb8$\z,Ftn`|-RhȘre"+e#N, WdBam%NLdEX\׀⦞ P\$86D*xj-Tb̊EIL/=]KSAPv[QuSY.,`"y#)Pi^8`:azN~ \'G Cxw HVJTJLN%*B#"`a(05 G^Շ5>v9 Oml8F\AB/Cʼn.́iN\O 0̜SKKAK$* y9[͔.V)&nt37ž=u| .9!Ր#_)Y JCe3*kł*PK֡e PKaF manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:07:27.67Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xml͕MO0 U\P u88 $gn8{nAِk#ϔL^:atA I@sS ]~Qo8C[V9rynХ^>_8-5S2%+JHHC JR7P4Rp2[ d yҕ2mN B İ˅ѕ]S8 !4romD %"?c:Ƞ'x+\GD4v D1h1MwT*ckY3K#*!KY#e)M= 8my; j7Oh&>vT4ƹ}wՖV6A C7zPKe&u:PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFQConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaF-Configurations2/toolpanel/PKaF0eObject 1/Configurations2/accelerator/current.xmlPKaF(Object 1/Configurations2/images/Bitmaps/PKaF! Object 1/Configurations2/floater/PKaF%JObject 1/Configurations2/progressbar/PKaF!Object 1/Configurations2/menubar/PKaF#Object 1/Configurations2/popupmenu/PKaF# Object 1/Configurations2/statusbar/PKaF!NObject 1/Configurations2/toolbar/PKaF#Object 1/Configurations2/toolpanel/PKaFɓIObject 1/content.xmlPKaF`iObject 1/settings.xmlPKaF.G ObjectReplacements/Object 1PKaFӔ Thumbnails/thumbnail.pngPKaF'tq content.xmlPKaFRr%+! settings.xmlPKaF֡e  styles.xmlPKaFh I(manifest.rdfPKaFs)meta.xmlPKaFe&u:-META-INF/manifest.xmlPK%q/pandoc-2.9.2.1/test/odt/odt/headers.odt000066400000000000000000000244231363630463000176160ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaF~^Thumbnails/thumbnail.pngPNG  IHDRzAIDATxj@@Q _.fmwLP4 䪙IxAE}PAE}PAE}PAE}P&x{{]xk~,1q߿w} q`>t#9n5uqSO1nGKsd/;~ <hȋRXУ1^C1+B_(胢 U"EQϕ͏o{?NJdY/0y!_W8\sOPAssWpύ"~]2\ݠ9E<:'_:.GMt4s~Tǽ%-Y E}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}P'yIENDB`PKaF content.xmln6} A G,v[[ i dmAKM,%"uSzcI:ԗDJ/IDΐ G^{Tu5?_~-39p/>ųs}383yτ3cSYzpq#㼷{QYڞE#㼷]Ugi Iͻ/YU=ƒAֽ (=%"Yn3w#+˞NV4dv&XblӶR[ T5>ix VN  U]U$5k#2>;ry_u &wZ{IۓT9! *flgeJF_wgw!8̙;gD,+JXx+4+|^0̘Kz଱䲱A|.L(! qB%fYaaZxtn)33o@"/l}qsO3.+0mm{I :xVY}&h#<cDd<;+ 2@!Z(X0 ?EFEPO ~Ipq"C>NzހBr Xh#ǗFfr&v7Cw_zF4  8("Opd=N<|x}d .l]c.p ςlO];PK}¢sWI2pE|)2Y-gnf%ᳱwL\b : fhN$aLyI]3c#7v].GcXx\.c#z\ưMkyI]3c#2G5$a}cW6dr`4tZ FiĢ4ւQA (`FR,J#h%KW4FM,J#h%Z Fi-Ģ4QAK(`FV.]ƥA}‹w2纙Cn\9qԀUVzBm\EzBOq52ԆU2gj*zaE6"E>NQWNS\aոQWS\+a*ոL?,t?:KåRGp)S!\JVk0sمtOsi>Pt0FPc#)J ! ހާ|*>~xĭiiwrD!Y'EmԻU~PK~ _PKaF settings.xmlZ[s:~?"w!mOa:H3o^Y+ҔK1Kڕ}R>-cq Jsy;`{t+Op64C h03Z.u3R%4MbM41Y|=)˿,O^dLҬVռzh4fjrǪgV/|3z흭74u 6gvkl>sXX۷5iM06#fkծڇq &'xiG{7]7jb.FR|A'brzKQ^˨ɶ…; h%.CXBkP, Z6 =xeqǢB5 (=O2et&tt0=(ޟ$`|(.OHvEN>[aj:(XnZz-F|*-weA1 ]E |װrhxT'#ϡT1C2J.oaS1UN W=B"JCPXGŒL }~bF8NX`wX!܌;ɷ5dNhA@i<DC:4MTdv`,`3S|KU*MtdD' "\JAnѡ|e5nwm.Z{Q(`,.Gر@981`6#hw ?ljY9 .$d W0HU?L;ͺ(CP:8S=ia,U`;GQ0NqF@nu(MEQEB/.2 ~i.QA+m,╦']f'" ?4$9K{ϵ oeCh GBb@=S&n~/%:m 9?IĊJ e\RH~^R!a,¸:CvBd{e9$YJ@'&5_M0c I?syTQQ6 _t2bͽCI(:}-h&$)wDm*lѐ]9J[q|sܡJ ~ ;uYOCuAz_ZPK*,!PKaF styles.xml]ݒSPJra n3=[$L^o [3ri*ϒG'#ɲ/ I;H:ݏOp4 уa[#c#Az0~ޑ2O|L]G='>y}68ϼ{H+”g̲t”wO-̘ei?A۶”l*/I[44&FYPSDuvc$=χZ+<  qigж 啇NZeq#Wxk Ƽoؗe7([k0 ?dӶ/ʻg*/ ܲ'LLՙsT玪 r `69wT*7ݠ 7,L@&o twh WXz \k'_)WH/@@z?. رܽsн9_] /܈^ 8Q;3B*U.W= cؕ oE\ K'2-x =R-m_SۦZ Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:39:22.18Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaF~^eThumbnails/thumbnail.pngPKaF~ _ }content.xmlPKaF*,! settings.xmlPKaFz݋ ' styles.xmlPKaFh manifest.rdfPKaFmeta.xmlPKaFjҠ">(#META-INF/manifest.xmlPKp$pandoc-2.9.2.1/test/odt/odt/hiddenTextByStyle.odt000066400000000000000000000250561363630463000216220ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaF@}Thumbnails/thumbnail.pngPNG  IHDRzA_IDATx! @+? q`b{f\|PAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPfZ<>IENDB`PKaF content.xmln6} Czd#8~h] @o ZlGn}C}>IIQD5VdW 9p@wo`%Kñzw?3w u$t)߁&lf6" b ]k^{Ɵqe8Wu'`U}8E`_Yڊ}ZS mil8آvf]pl6Pnlr6TOC"`ʩv[݀rmƧx^uc/)a2dX QPu/i{*7Bac*?4 U: ;'zYϚ#a3wϚYiP4a„;YYD3c.Ó8&"rL$!tjG0Wo(m\~ljkd<#n 1 zg ou40XiqDe_$kǃ>ŘgD~Fns(OlsݺR|']кODkD>< ,f%Gccu(?̟vȚNqI<2c4fF6fN].GcXn&dR.c#ZY=.GcXf}lcS֩y_RnqM.GcXa؍5\%F5nbA+hXFZ0Z#h!ZEk5rF0Ek5VbAkhXFR0Z#h)ʥ+T#PaxQ#96Cd}3cl41 k,ƕ"堷j*zq6">PW[\ +a)= tڸtj\ H-5ڸ4j\ P-WMc|!\Z,t ?:K¥NGpi[hC?,t?:KåGpiS!\ZvAPg-$TYHa-Lj@3)T%C^ػe(׭"{"߫ʳoEy{_Z]lh1HS` Mg\f>|J6iŠ&hbrvv3SY .ȘY.ŇsTEѨf*V"* djwԽ㷮 7[ۜ?ۭ]{aj5hkiM06#fkկڇ)[;MMTߧ|n^oԎ8B/DLAo)" `kq:zpC'}Ƅ>X|%fIڪ85ju{VQ^ />/?/uO|\$ZvJgBG{R$m43'bλv*{H®G[T7 DSh!U!K;RfؔicLU|9URId _C'C؄Q&eH'7#lCy-F }0}OA94PN(F+Xh+ :L| =6|SULhS"AK2`B)-:o5`m%SGcE~U%n?.nv,Pe4] i¯qbV0A~j! ˱+ƶ*}iUލbfd١`D(OP9GAvZA3K@uƅPl'(j ߌ SDaVo^].B"v @8tr^*^izenv"KpOCND'\V<$\p,D)Vď |8ef}iRڡvd!'XQil\K ~¯K 4:$61̳EXRg`1 _NhBpbllt =$K֤ f!$#s`HeHKA|a"HS_sj߽zW BZкE-(k0IĖ[mt=+<%r|`ChU 1cMᕡ\'vcMTչ0QVvXbRL遴.-L[4d{^`">* 4Ԇe`so␃lyƼ&Jㄎo_eK@ Zj@)I;f6h%᫋-89Pmڊ1Ȏ@]EPyϯOֿPK+#T$+!PKaF styles.xml]͒)TrmrDRHxJVO "!1I3gɣI4,Nz &KC1uIC!(s?X[q,KxYh3cm S^Щ,$mo, BWߟ4f3،$^ |>dbNeϸ\g}L;K (<0 8n=TUkx^iTQ6sޑޑ+(]k0 ?Si qж/[Q{QirnYR peõMs<KܛFM8؝FvNq|8 LTptږ'G$N,(Ў]: |{Q`]Ůdጆj`Ƴ7TOCqSv;9p'}xi??p|,?l.X_фD<{{SQRdqJ3V8ı&l$9b)j^戼~F K9\IЃ%+g ^Nh.Iqpsvp|C}y!F%<-CZ(Z{N_Q >d#K򸁧R!!1]|5rƀۧ99SX XHDȁeX sB>egt|>+D*<6^6xbD~"BbT'+(>:<ΊhDl#H:l!ߧb^bni)OF Rj@at{ j)sR4R #(e|0 ˙i Çb8!:oP%mӀE\0o\о%Eo|մXP^͂~ΊBFCwz#]0w+ޢ,tҌ7Hf 6HaH[X5'V-U@$jk)-v%G:Y߅)֍3_ٺuqРɼ;{)ʒu|, 6.HL]l0E 5c;6buOjN;ƑNt_FPrܖrQA$޴?0r%76JH]Uf~ݩu((*;[>_4{X{-;'17d /7h 'RȓZs+T?G; L>C k~%h0S6vT;&V9G,~Ex`1z\xʼneI40 DAnJA);M,*е[V zEk?B}E=^#'<#_Zs谶.ZNi4ϰd]u5;&J;`oEmA|WoLD"r)AV˖6.K@A$ vPꆭz|z=D=ŋ$yi+/SٙϫW#reFUF;;KqgÊє2$]3ǫS%3c5a#ln{AmH&I+|_IkZ")BYE'=.l [{B;?=_M|OkRB֫%צ\⠼JSlb)&Z=So7ݟqg ir׍TJX|c3vtu$,5%ȑax.}yh)ʶ cy! $;|14:R%nL܋?-$ro2{^%y> :i҇ ~[kB>gy{^=nEVdWv2̚D{J} .YBJԚxG#ǪFn۴kTx䀘M[Xjul|0 NY*g~AOD0B=(#kH&Fl@b E2зTX%}CHR;郭IJJ 7N(4Puli4m LAiRѴ \ӣӴ=( ̞\Sk\Rj愓kzrcNgM9~)Ms^eJEӂprMOoLLʔ9䚞ݘ'0-jz%HoLӹN%hN8-T=cz(S*cT]%gm,+uI͙HYrkRy e ˠ$[.-=$Pu hc֠\"uNFw=GgU;\E aa*^e۫pf7FizL:j<0͎9\;\%\=k|^Ϣ;VIwךkIe+eY>uY H7 \]l\t%eiU3C*H#T㫅j4@XV\t55L58>v9yjH#\W `YUNH#\ӫk6i#XB"`ͮ, "-ˡB"pͯ14P\vm/hjFuud44 7,GFNqKYOp%).0=H^)wj~nrѳA7CXb5`K!%X` ֽRte;$`;5>7X2H ִ#Xsu/aԯFIoX*h ٛ{a&`&`OJn+X&@@nQ6&Y[ݧUoŒX?5`I!|P.Dbh?qn \_dY>^-0_͕*p"ko@rEw}ƀ k fNl@W,n ЩkS-V7} ,/qj" hJʭ:2P-\m_5@E.Bt<M;yD5"zKb8$\z,Ftn`|-RhȘre"+e#N, WdBam%NLdEX\׀⦞ P\$86D*xj-Tb̊EIL/=]KSAPv[QuSY.,`"y#)Pi^8`:azN~ \'G Cxw HVJTJLN%*B#"`a(05 G^Շ5>v9 Oml8F\AB/Cʼn.́iN\O 0̜SKKAK$* y9[͔.V)&nt37ž=u| .9!Ր#_)Y JCe3*kł*PK֡e PKaF manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:08:10.12Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaF@}eThumbnails/thumbnail.pngPKaF6qgo 3content.xmlPKaF+#T$+! E settings.xmlPKaF֡e  styles.xmlPKaFh manifest.rdfPKaF9# meta.xmlPKaFjҠ">C$META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/odt/odt/hiddenTextByVariable.odt000066400000000000000000000250441363630463000222440ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaFConfigurations2/toolpanel/PKaF@}Thumbnails/thumbnail.pngPNG  IHDRzA_IDATx! @+? q`b{f\|PAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPfZ<>IENDB`PKaF content.xmlM6z:YEU+ʹٕz[9`Slrh=ЏOR!3Fbo|<"540pxsn} -qqL\Tʧ3!>\ ;克 NIM!X LMAe![bYx#y@h፼@,2@xd MI|Yİ/|tQ^;:B%}"t370{ȏ#J M@$k!bv W~3}wX2@H%Z<#eпe):}t>v3Ÿ 1~x Je|OGFQ\C6AO!?JDa< kngl ˆ!H/Y!Ə פX! 6({,.,G/m|,? cY gMȔL>̟* flͦ͸aX%Ki ̬ĚrI2ZrkljM K>^d3k8o%h ˼̺5cwbLL!xch@M,#$t: F{Ģ=AGh`GU.xh@M,#$t: F{Ģ=AGh`GU.xJ@9UDt7iy2b#- ~kSp΁Vs[X q =պVSX{h{-ư>Ec\e>EOq^4U^VFc\eFOqt4UtVGƫ1?>XP?piCXP ?piC-ZwK B.(KJR.EC]4&1 S6׍r\DC &F4ӂAVOǔE@lXM{_Z]lh1HS` Mg\f>|J6iŠ&hbrvv3SY .ȘY.ŇsTEѨf*V"* djwԽ㷮 7[ۜ?ۭ]{aj5hkiM06#fkկڇ)[;MMTߧ|n^oԎ8B/DLAo)" `kq:zpC'}Ƅ>X|%fIڪ85ju{VQ^ />/?/uO|\$ZvJgBG{R$m43'bλv*{H®G[T7 DSh!U!K;RfؔicLU|9URId _C'C؄Q&eH'7#lCy-F }0}OA94PN(F+Xh+ :L| =6|SULhS"AK2`B)-:o5`m%SGcE~U%n?.nv,Pe4] i¯qbV0A~j! ˱+ƶ*}iUލbfd١`D(OP9GAvZA3K@uƅPl'(j ߌ SDaVo^].B"v @8tr^*^izenv"KpOCND'\V<$\p,D)Vď |8ef}iRڡvd!'XQil\K ~¯K 4:$61̳EXRg`1 _NhBpbllt =$K֤ f!$#s`HeHKA|a"HS_sj߽zW BZкE-(k0IĖ[mt=+<%r|`ChU 1cMᕡ\'vcMTչ0QVvXbRL遴.-L[4d{^`">* 4Ԇe`so␃lyƼ&Jㄎo_eK@ Zj@)I;f6h%᫋-89Pmڊ1Ȏ@]EPyϯOֿPK+#T$+!PKaF styles.xml]͒)TrmrDRHxJVO "!1I3gɣI4,Nz &KC1uIC!(s?X[q,KxYh3cm S^Щ,$mo, BWߟ4f3،$^ |>dbNeϸ\g}L;K (<0 8n=TUkx^iTQ6sޑޑ+(]k0 ?Si qж/[Q{QirnYR peõMs<KܛFM8؝FvNq|8 LTptږ'G$N,(Ў]: |{Q`]Ůdጆj`Ƴ7TOCqSv;9p'}xi??p|,?l.X_фD<{{SQRdqJ3V8ı&l$9b)j^戼~F K9\IЃ%+g ^Nh.Iqpsvp|C}y!F%<-CZ(Z{N_Q >d#K򸁧R!!1]|5rƀۧ99SX XHDȁeX sB>egt|>+D*<6^6xbD~"BbT'+(>:<ΊhDl#H:l!ߧb^bni)OF Rj@at{ j)sR4R #(e|0 ˙i Çb8!:oP%mӀE\0o\о%Eo|մXP^͂~ΊBFCwz#]0w+ޢ,tҌ7Hf 6HaH[X5'V-U@$jk)-v%G:Y߅)֍3_ٺuqРɼ;{)ʒu|, 6.HL]l0E 5c;6buOjN;ƑNt_FPrܖrQA$޴?0r%76JH]Uf~ݩu((*;[>_4{X{-;'17d /7h 'RȓZs+T?G; L>C k~%h0S6vT;&V9G,~Ex`1z\xʼneI40 DAnJA);M,*е[V zEk?B}E=^#'<#_Zs谶.ZNi4ϰd]u5;&J;`oEmA|WoLD"r)AV˖6.K@A$ vPꆭz|z=D=ŋ$yi+/SٙϫW#reFUF;;KqgÊє2$]3ǫS%3c5a#ln{AmH&I+|_IkZ")BYE'=.l [{B;?=_M|OkRB֫%צ\⠼JSlb)&Z=So7ݟqg ir׍TJX|c3vtu$,5%ȑax.}yh)ʶ cy! $;|14:R%nL܋?-$ro2{^%y> :i҇ ~[kB>gy{^=nEVdWv2̚D{J} .YBJԚxG#ǪFn۴kTx䀘M[Xjul|0 NY*g~AOD0B=(#kH&Fl@b E2зTX%}CHR;郭IJJ 7N(4Puli4m LAiRѴ \ӣӴ=( ̞\Sk\Rj愓kzrcNgM9~)Ms^eJEӂprMOoLLʔ9䚞ݘ'0-jz%HoLӹN%hN8-T=cz(S*cT]%gm,+uI͙HYrkRy e ˠ$[.-=$Pu hc֠\"uNFw=GgU;\E aa*^e۫pf7FizL:j<0͎9\;\%\=k|^Ϣ;VIwךkIe+eY>uY H7 \]l\t%eiU3C*H#T㫅j4@XV\t55L58>v9yjH#\W `YUNH#\ӫk6i#XB"`ͮ, "-ˡB"pͯ14P\vm/hjFuud44 7,GFNqKYOp%).0=H^)wj~nrѳA7CXb5`K!%X` ֽRte;$`;5>7X2H ִ#Xsu/aԯFIoX*h ٛ{a&`&`OJn+X&@@nQ6&Y[ݧUoŒX?5`I!|P.Dbh?qn \_dY>^-0_͕*p"ko@rEw}ƀ k fNl@W,n ЩkS-V7} ,/qj" hJʭ:2P-\m_5@E.Bt<M;yD5"zKb8$\z,Ftn`|-RhȘre"+e#N, WdBam%NLdEX\׀⦞ P\$86D*xj-Tb̊EIL/=]KSAPv[QuSY.,`"y#)Pi^8`:azN~ \'G Cxw HVJTJLN%*B#"`a(05 G^Շ5>v9 Oml8F\AB/Cʼn.́iN\O 0̜SKKAK$* y9[͔.V)&nt37ž=u| .9!Ր#_)Y JCe3*kł*PK֡e PKaF manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:13:44.96Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFQConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaF-Configurations2/toolpanel/PKaF@}eThumbnails/thumbnail.pngPKaF\cP/o 3content.xmlPKaF+#T$+! ; settings.xmlPKaF֡e  styles.xmlPKaFh manifest.rdfPKaFG  meta.xmlPKaFjҠ">9$META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/odt/odt/horizontalRule.odt000066400000000000000000000236221363630463000212240ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaFhThumbnails/thumbnail.pngPNG  IHDRzAvIDATx1 @EA=gOE\_kmp`>(胢>(胢>(胢>(胢>(Wsc+}m}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}P~~ {E[IENDB`PKaF content.xmlVM0WDԛ1TR`UZ JUNm@}1 K P<<όǞ=s6\y< IR.7?,TqʒT2g"$:K-E 7$93*lXINX~؃M!۲Kv3.Y\CvI՗찐Ԑ(S b/= UU @ MS\[[5* <p͙%}9l(Iީ!mzwnӑ%woN坤!7'vQxg@7:M/BAчvUo~6.g9%-/n'DF@As" ؾ.NjMkp2BJf1]1WDnLsqh,1 {rsTijLkQEd V @Z̷e[ 78S:2zTVc/ 7艋,j]=#zJ%=MNb?D R/ b-6^9۪Gkz6Gv0V;Oa-/[%*uޛ= ajQPj {7Vg΃Sj =hd5{dPx3);/,"|O#3X#xrOZ4>NΝړ 3Ldi:Q #57;FV[{hJpf4|WN#NlbL9]@FcCDv:4XbU1CZᰋT_aZ:fҳJkH)!y;(I;>1s 5Pm TUg:3icՀ:T݀|/SYg@V*1{==>~%5ǘVwb f1v߶gQECj!tbtfR.y"Wgh3,0/Ø.#"=YSՊR^FUg.I #j=-"^ xlB e>W2?4D4-4")/5 `wMc] 0UQ QAA!['ރPyzf28f5Q|/@gEi2kHłsR{,Lk9;GrS^tz.Tl Ųo0D;xr; R@tn:wjjjAsŐX×6^:eM<-{zK_,PK8D'PKaF styles.xml]ݎۺS Z-Z46mIErh#~\Yh}IQeRkH`f2 zO8N|>VhpW/iN>=Y.}=ff@8Lhdq8'(y68D8Bs{κ-LYSq,K9m*LydѢyόYbm*Ly4~NsILl"Q<~ۣNh>lv'j`fv (`Y2@npC ǍMRtjjO+i5cއw5wɲ5L_xӴ/ʻg*7ܲ޾? 󦔫mHKIy\lz y@=N ,#X6~cP/3 n BD<# E+tYqK%[?IuGAceO]'#]\Co(Lz>,X1?$QrBwI71[>gb^,wBs>U7lF1LYZM,BBbF.d<51܍SXLXHDȅe\sBeOt|!+dZX:s{0M1Z !B1b IDYJh gEAF6El:|!6࿏Fb?4 <1H1FHx$J]q&K0!]ؒqqԲZAǙ\i ),oo8йBiT \0W.h?ւ"?k4Ե_Y>}5JsZ+o:l8D4y؊cob -B7͸B0K7C G2=2Xel,C~%VYq+C[k~%qӀl; `>"~Ex`1jze|Bxʼn*bi`;aph|qSQV cd'3]Ğoʖza<y7ҿm]N0aaC5]JZI+)oY`<bɒW)uvlQeGOcf73.8k' 3z~ϜbTŸslL'\$1 X,҇*\7k\ [왋?haHV?Ƀ\>+?LaA(!UN:{6)K[Lٳ ңYڞh ]*vfg7cfv%bhN8Yz2j,]R*愳[Sak^eʞ얞tTʔ9얞vҎ:MK$Y<\R*愳[vԣp^eʞSd3]Gβ)2dmRyѢz e Qљd˥j8–zpwl;K4T9ZGu*vjq`9&SIlUWl0M0%PLbPMP P\ 5ldY;V+}h9ZmYD󽿲,b,rwR"#dkO(0Uxpfe \\+!pn.K \TAj,T=V'ãjH-\5O4q,r9TCjzY6Cet 5Y.?R%.R f iR9TH\u]5-M*"] 4,`QWGF}KyXydt/)r {IDZjJ.H^)jvirѳ2`Uߋ!o,`K!%XӖ`M/ ֽR~B5n ` %X`M. ֽ"tQR@ 7}m:S۹/th WX: ~k'_)7H'@@:(\kαcs5ˡ{5@st郻@^'2X׉>.Dngr8:j +/06]h?Y`th1)aiT2D@rCyc@J53'\7+]t{TQ-Ml^%N-Bm^ITE5:P.r݀t q4iBMTBtIWYm3fIHJ?7p !Hc21mFCO7@_=A!.GUk.QY'WRZzDNC7;|;VNok |{Gt%ڔ54Iv)v*(ڤpjFX6ٳD;ü 0`j؇j1S9ؽ@&տξߘ_7dA\F.C#bZӲq0sOyBQ-M*8x{ *@(/~7dSLjl}3wi9aBG[H5_:,y̒J_Q/EFPKy7M MPKaF manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T20:40:11.46Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaFheThumbnails/thumbnail.pngPKaF]!y* Jcontent.xmlPKaF8D' settings.xmlPKaFy7M M styles.xmlPKaFh Hmanifest.rdfPKaFnWnmeta.xmlPKaFjҠ">!META-INF/manifest.xmlPKp #pandoc-2.9.2.1/test/odt/odt/image.odt000066400000000000000000001011201363630463000172530ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaFConfigurations2/toolpanel/PKaF^,,Thumbnails/thumbnail.pngPNG  IHDRzAIDATxytet:d! eT.lQQDaP""1 *M2l#*0zDaQQAH `VY:RUuUWIN9=.U_}VM8?hӐ `A~,A ? X `A~,A ?"yAPEQd ,K@hS-,;\~(Cj9^QU9 (!h na|#<hv/TUA,l6]6 BvXV\'e(?0ݻOTUS5+K'rOmٹ0FS{"/gE#"T8&F]IbwPU%6 )5'>,h}&Z#5soee_(J`CAMøJa.CN# ",eAjFefTEk3{5.5-v- *alpP8 WZL3A>X>tO20ϘQ?NHd][-vE()xѢkDI1h wJ$\"/|:C5~rPk#Cb>tA ^CH"/Z뼷?쳤™G?fp1>Vi;fo>ܾc现(HF!U6Uv>}Z_ffkhh!(ofvV%a<~8a#:O==ڵfϞ԰R8M-IE7,(?3#xM 8NC[7bU}ىݻw 2ad"Ո=ƌCQ.BJfV;wΞʍUE=o|xcpD "t. MoƏ#G'I3p(ܷo_lznA!GPU3 v;@1.X*~۴iӔf9 P"aOCQ~`bœ⊉۱}i FJJ ~b\%Q "yü}cǎ(YQ'P`G9-.NDWh}&Z_\ 599{ndEXUyknTϛ7>YYY' U &! j[ŕu9fiii׮]`P Gd6;~nh1"ܹsa/%SR}ʢ 0III+W4ތ۷cccBccjQ.6ĺݰ'---֯1i{1*F "D#~bYlYJjytr% N8w%K X }}QטޔӰFfF=a%(ڿ! ()/9Hic;ٳg59ꍭݷt(6'L̂p2tPlֳgO3A0oɊmPǨfGS[[w ʕ+Wzt{ݺuӦ&hiۤ㩫G9s\)PzG>ڽ[Y_^|U1gΜӧ~+|52Aof;,7o3g)MHmvG8_yF9crs}bm߾mʔiؗY~8p&ĩ)I6o\h+>|A^7̌aÆ1j'z_r:-tG f$&&‰W_}l\\l\\||B,W^^YbGD(CA-!I:tPYY_xo,G6n4=g~8sܹݻ5~O>ۘ=DGTTgt@qZWWo1(//xALE,y~1AD`pԴ˗/Zh[N<%YPHEu}u6d>CH[,_2QTWzoj +!D#g3g6ڵkT{I}e!D@Fh6vH-,,4Ets 15C!.];qE h$c\|Ʉo9)vBQP:hPS`BS\\?y ]1tׯKVNq pӦM]>-FDNWZ+ٻaeP ~yBeE-YTT6cyP(aƍqx 9護 :l8BBB޽S< D4A9k9#IS5IVWW6s=vu葋)~טf1&|k>iӦy<'籍UVZUTWd}64x>wzluֳgΚ5g;;^r9w"=͚5s1)1֭[]j׮]rr2Og2a„NԴU41oEÆ64ӓKJ>0_qII>}~~IFJXQ233;oi3bDQѮF_3,A6}(5s޼yLFjjEEd׿:t/U+WMĩS7Uvmm0"!=O䘗(>9::`WWWqǏw_zO$FY l;*~ )_>:fL~SSŪmxg#GYI_%~OΝ?/7‰'6ylŞ^?ݶCfs(EQE@&Zŝ;w$QcqSSwߣ! ^aa!7JEyӏ;@?,)(sYzQP4-4Qiqoݲuܸ'wuږbt.lDȐe93+ /~-Ç}>WTTk#<ހ,K\ z{9eʔgL}?7oU$%&Zba̕+W0bV%qzTc^xQq(Æ k2h_ih4>gň(?0l1˫OsZ%pBn5JobyA'Cmxw vA"=W\A8{lnVXhbRQQ:h<)/m'հ,d]hVVvFF͛7Qc" Tt?Rn7"D}Cħ'-]رٽz:u/:Wgb8d..]}^{Ə||^z fժU-'2;O声NE~?ު_ ; 26I\Lsa6o޼쯫>߽kwR{466:Ψ/l/N/֭k֬1` x/df+2V%?g>+vUm6=($cIdQ~v?!j w[?glN4MtK;:uo߾;$6UV[E>11qҤ<[YiyyĈGA'A1!›~ч[;?ҭv6 ܞ5ݸ\|{=1?ݻww}(K,;t[|\={۵}狽{sJu08,:g'NL߰h~}3f=JFAN򢙩bcֿޖ6O{?ߍ- 9dԱcǸ8WSU=I 111QQ`.]`Kb9qb?vkjG4iRQRUD$cf+FpD4UV3ĩ'O^vR(?0J?/sv:uTZZv7}p&>C x<'m{СkZS^Vu_:4V9Ce*3Ikn1 6ŨY fjŲh˙YYΒ~뜞.Xu?jw^>z?ΰl0ի{!:;PĘ ]wxs!>-FDvc^w0l5OC}AAF… iii M>ѣoקtf5( P=̛7A*b\Q@DYt);dȍ~{lH$#^_LXp͹gTQhL"pbʊ矛&مիW#}Aj]b+g AyÆ LTվK(!b** bD)o$sH>FҢ_ޏY,F,KkE&?%xkMSD!LtıPڈPQhR`щbAG|[(`( +IUU?ccA=vN'4B?DECoeXXYS.Kk` { fNq)oƥh 9ҥ50!SgڐKo<:v]JF>F#hb4N1A'`FA,F#(t: h]`j4: hb4΂1A`FQ,F#$tK_4Aۗj?)3D{89fYw_[o 8S u=1:=aZWêS #hqiղ"V"1PXAhN(Ջưԋj]hN(֕ưjj](y5?fF0ǧ=e2Gp7+\F,?E/ǩ?2GpG3\F , ?z=e~4X`[=Hzy#Ky!3hm*bx|u^34lmqhv7ُgS )VA`l6y_KemBRќ_[vTkuNޖrH5ahAmLy,dh͵F5;uҊ`%4#u5bMa~A>(d7|^7Lfoidy\ ũK #M@ $6Mw-?I!s\y?PK],CrPKaFi??-Pictures/10000000000000FA000000FAD6A15225.jpgJFIFxxC   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((>!1"AQaq2#BR3br$C&S!1A ? pOj~7u .|TF~J#{4&'a\'8h6o%&)d?S5̗Wo53I!,za[ sEvܸ'@ )lq'?Nv@ 1vx,z#f}@!( QpOx0c% |fw 獣 cކ |Q\Qr ;v4J>7|3Bh'+.|g*IǮ}{Ph h% b@YP+a($恻)|*qڀG@W>Ss4ݴIbB $F[aFIb$EnW ZnֺѭeRIFV544}*/5jqȇ˾ZD1ʚ.mo!E]{odh=>Ux j ހd{UhVi Hb(nAh-3SMQlm+^/UgMYӮm@ξSn&=Qtv}iP22IQ\O}4IIH2W'.qDc6MBv~xQ| 2GAg٠BNN=(:RK'l}4 P)9ݨ-Ė$aD N3҉OzsBԺVOa%qbp}_{K]\]Ȋ l>ѭimj[@8TƎC)a"T{ \\Gn84{hXfq@rMz*@{h8 ʂ{/ أdA} ]Y ӯKNO#n|UtaZhg=f؊۞=EPvۃP7$|9'$ǭ `zQ*zsPpq7(&na^ֳ[4<81+ށWh2d*pO| z{{d'@|IA9JNP &>Sh, :Xm±WėRpcG:ގ1X+Is(k8~2p;A(8d4̀Kg2h1~mVR3Y/cSJAv>q){Uh(\jW^wt&O'('KU H6@(7)z wwh9WːH 'JnдvXkqC"Jv>e]1;ԃ[Hua.r!S^⠄랋5Ibxz>zgA"Wu H$A9#hy47͒wsbıe40PFGހF;Pϟ'>{@X EJ@rh+6!b] 'f-j 2)U@pۆsށsbhmdp㷶>tbR뵽F@v<Ο:g0pc1q}`z8hХyh,'èk Ë;uk8zOu.\^27an‚zM\ڀ6JIb䌒#sFu[WA w0X~.}#\F8E~ZBPFkH/'BBA 8EAϡ}3=+[B,zZFǖhnNMhGҀduHZD8]%ݽjc2Vl_lP*P,QO0($~c@A4C+0h86s@ buwF{P~T#q PFZ[pw ?0`?]M(C;m5`tW'Ƴ[x敝r1X6d{t's d([сR8,|AyC.,cC:vU[zQT[ .n@S l+6/m9$~X>%;t緐IG_NeCj2K*# Oo tcy)0@Ppڠ\'$vAhAX!sZ%o*Xla3!iXdQ)fcJLz^HeԓpR@>'?,J('G!\`\g@QK%-gPI( mka/n G?>>JM޼1EՃV ŕcʣGD:zP4MzM1Rd޴^g/8&CFQV}#> H(4 <>B'挜}?Zɾ+{nz_UkFd'@_$vPhH_T\ܽb˩ dUsRO-bG_XğQz;%7P7B bG<v;*2W+pEmZaM& PEuv<>$ Q#_|f ۩1aNs\L?HF($u3S(/-,⹷%w,r+ H8# XOJmN[NU6o!##Ci-0x19}=q@Pk,Ls$rm,Ү C[qsxvH!$L14{k1 C㲽K)к}^YOR;R}p!Dq)qք* O>Z,qsE%"m9⃣b@4J8G3'n8ݤ)D9Yf Be- EOb}A|:=֍ҤWeKö{zwEץGKҺMWH$]] u7XǤkG%ܒ'(Ocϯ;YMG͉ ނnTYMKdggk]jr JѬy bA߈yuv{8£n~mAkz+amaG7W;җαwۜE&r>>%)v49ϋkqӎ6sAREH@s(igyo( -6c MX<ǦhKX7=͚1F"ϥQazOU鮣#8ǵ(ӟLҺvWҒNcB ᱵvsY}3-k*M8?޵5hLT 6K +3Y( gXVՏdѨ Jc iv)8r{@B%=@F `?h' h6_FbdB@2Q^BH`+!" ۽` !TAͬtXSρ"G%\|J.ϫ;KK:.@k 3dzCW!Q- &P鏝}ҽ/ɪMr-Fcz2׽}=]4jGTFH;d<պ9ŴRF8g(sO4:?XW*:_ *-> gjN\m='bf|[PH:dTl8e~n[-p"T]UpK;qn( < ,eoq> k!Z!f?,U;wz}"Q,(vɕFq>hzwI [bW+FVLdM &*D .[}87[imtȩ,xh['M9@Eqm⤞ ӱ ?A0p؜Z->ctkLRF 0,;~e!bXr!z7KEmM332ɴGz=+KmP9cE8 1=P18@Aj~t0%VEyVT$п-kH b +XV@IY/ԣ[o9HU"BGb>cP+ 6EG8-uRl[=oaWGkgQ+%KRcxՂ*E sy?@Ef՚F)<lD~%)-$P\?${z`@`YCcxzѡX:qgg˛kU$X>8- MK}A;f_a[fJe-܌jZ,&5;P(cAKFQAAuD3_ 3_ WsъuJ?LG3^5L7BTc5eRVHKW{KkK'*OW=Zv$S̫e<lژ=l@v0k"?'s&K%B/n1Ogu{g6(7΋4xR!" F璤F22K$E-lc28+tu亄pfE v<)m+`n'>C3$J"yA :u`lo@C!' !}dyMӮk䷱+0W{+K^i`|zUPu5̪w#;n8 z[=x Sx gZ[v]CZjӲZABp0=(1THx_"S#G}4]+y.R(W>DIvvE&%&YW <`w$*h>iPJ%*#*oJZ&mM)r?QP-˟jcȠ1`Y4 NXF)>$F`A҂?V-{-naFA#5eJ{\mr?*hu_eomLM2lʌ)L4 vqx9*0 >ƚ&d >ml K9|F\OGCnŠ"( Z[j Z[,<[\cY?ۙtid29!9g0YeΚ۪&yݜSrϬVjZIin78U_y5_%]%vFy#Ƿ^`4Bj>A$FW_,2CG2?n8a#}KPt͎pj`N>$csH=F;7>thZBdrެJ;zhA k!>zNrO˵K׃ZRӯucTwfH= +CRTz 4$o'4:tbtWx |ڃrK$m>d8MUpO,ua__aӭm41ݟAۏzgZ%ѯ$r401]jԳHGqi^&bl0`;dRكY@V`7cyػ}OowsgZqpC 3ή ƒ6RfW^:`u'43Fx`o@Tq@P@XQ3Ƀwo\[x"&vlg#Aݏ'P3u..7V[/ܿ* +ݚ1P Su-֝ʐhvDe昁\g gGQ,۵-(N_5T'ymqPc}[]SbZcx`r0X 58G{$T{tφjpF9UѧƋg=՝bmuk='p#`=Pe=A0.H#*!6>_ϧHUn0F#>ރHkTxyGGZ8Z.< #F5x@}܋O˟A-/ ńK0#kF}8?j UjgZ Tho iNj.%rqW.zc>A⦩ Gs@?h-޷r̚lEn\콎XRGkI%RE u# 2i6#FI@d05{o 7+4 Kn%)Jgx9CXi"cnLcjy-NUO.äAܱ9'8ɪ-KBxnHp#[t1^: @dU=k&iœ1A~U#PX6:Y1BIV=~=S㶸#Zc9zu{hB/$zΥQjNuD:.rnjՂcD[k%幝qXTӚu{kbKxB'ēT X֮/mKI؀HΧԓAu 2;x2N0Cφ iOfHi}{B[-[msRK.uUȅERhl9TvKa6$B "c>#4:{c.qܞV'Z=Q;A{U3su֚r;]&]$sD^) BNA$8PHt]*-e%uz\uM V6CBSi@;Ճ}_?ZtشjOp}(~Tѡl1-.dAxA)mpor0€uNC0lE,X3h&c`޼{PVTtWD'PTՃ$zr^+8QiW9C8Fl\ #*JTk!.c,B{hQ> 4[.sx8BZT9\vOTBI18`Ѧ/V:[b_w^G-&DfJǷJ0Mvei|>&ct'8V}v_ԘY\aAo..2A'Fhѱf±Λca?栖ӺWHH[R Æ{u[t 5̐<c w@\]]E{5@ӏюW GQz WTԚN۠"K2w('h/~kk:kt4 raA,N0A(+]K=;=z@ )-<*y#[7;hWU^w$LT(Fe]VܜeV_Nʂ>\_[F@.3wJu~rJ|Ŗ{igTMblF\0I$3Ko$ʲ7 ݃d ݬ7d,8cmo` 7)R}ssyh2ӎ0&]]yF{ce+hY]B.]F͢V*v1lxv, OZWP\Xp]t+z[fr`--$#JHu(ǧMas4sZ!B1=P_ 8 \P.g]EM7[lz@ Γucjj'OJNo:R+J+$ȤH;c8zI my, ]7G?CuņDVZݤ·xN9ck2}AvkĎLEok ώK8)|N(9X&<~ǗdR6PhIQ}}(WW\[iQ]w(wdާs珝1+ֵR=Goރ ?K,'{(G/ՅX%:j@b(:Ff1j|$fϹ9Q_t{^n5 .qvI7Ѻi k)DJPdck1%I?QѼ2|lI8 /NWp[lP{sRZzm vH[ҭ$H3=ꖉta[_.wy&mfPhGr>*둓*NS@,+g$G΁18y' hRkvn觅?@vx7H;T?nP/s7c& PzV]IBہSYEonbI[req=4g^[7OX- JW=Z uSteyWvKԴ ;rXn?*7duJʑPh_ a/iXд{7ޖnNj[f YM19'*Z4W7y]fy~@YZ;0|&ѓoԤǽ#09ۃ8Ak*أ^9';ՐCkoi ,Kq#`,vybN3}I>e%*kZ>Vm`Ϙ1 I a>A09g{zgPAe\)'s# -x40 ZO.3Fj,VKERTj`h$ lPGʖe᷒JZ4a$c?\Qhsi< $b-ɁvH`/θ0q'{٨5$ r2;znc1G*xP4LhO 7M[W鋙mMf gΗ?MKn/%˂rNyVP?Q4ڏ+mj 9~IcXr9>U6oR,nk$zg]Z-LV@6Y#~2){A4;f q=MJi]=kg˩KNaNJcjJ Qᛖoz5eVM{Pbuw[iŽmcxwڮ 5R7MwE%!€`=j $020@UϠ|E׵۝F.`K.4~NJg d:.S&!!vvez2cPfi[$(#ːhd`hAmb@,=hFr#tC ދ}\(5|&ֶ*)SGzmd$6I>Ps)HA p<@qȄ>@houe2b;~EcPIL  uwlf4$4=]kz|v_%d|(ed}u,į.O>_GIKlIed= \ $m>7 ]4x I'J`h]_k-$p̛wʪ;AU#HܸFTDT{89/kSk]5cSĝPq ƷtNrBmDŽŕd E̽O˫BV8,F k' /֯<"8ǩ0dRit)r#ɑ(09=5j7z#Y~^C_8$S[`e8;Pw9WT>T} JiɎ(BayS8=l)$pVtqwd@X?&`f"I->Rhkyhd: d3R/i<-nxnmFi)_W e0FӻcɫOEbΣo:Ds2Ƙľ3zU4aLM*i\0?>8l@{^kdb ll7ܞkBj/ kQm v2/ǏlfߣZ]`;lLjv+3(1IK#sh%@4x]s@ ;>T&wS#=))|b&yFآ>18\sڋY Gܮ=>pO|PXmd1aN$a@0h'tީxDc.^=(4^7P3p0=v5iMuYomZ# Yݎ A'/Mm9YX5֕Ӷ&} [ncwzx+&W0y9=Xu%M{{mfҸR_RrOAkם/רX/{KyivRw悰jU^ wA$hlB>q(ř%'q<}C }@mA;#9bpx[:23EUs*Ah 6q@S4ٍ2*>po *[ J4:Q ߿Ή es?DB]FsseXc;w`{f Gd9$~`:N cYs9pL]W! PgϿژ/|t4JHGb+z-#\[@fA,o^1`5ތԣeb75ֳFn:Ey"Iku-5fϕW#qZCM"u2]kOo*28 \_Sw,ĉ$1'V\ g`H|;SB+,@'8 \O=@(w?JOFP-ʌ}j? s@pF{˜h'Kڤ@vRIGl@&H#4h g@phM<{ $g2ۈE1P`9P&2yh #H=@[ yPn!@"8wPߜo(y "=G&cF 4rc@``ǁP$ ׵qC.]NodNH{P;N9X3 #0^2 LZ+ {hq(w1总ݻ1(7df$<%!%NO!榀۞x)F=tJl8WDZ7+yN9 $$ G hQst9L#zP@o6(7s;(~S@H ##<WnzCw'(p9T`ځPPKaF settings.xmlZs8~"KzIRZ \߄`5#lȥ`z[OL,iW߷+2'/4Gy]{'  xGSkx4iN5CS -xMdd1 ,k̔_/2&ijlyhԲU~ _f2eZwԽ㷮 Sn 9Y[Hej^Ѻ|6یUB#\UJ8\jfHy9O<4QvW<*t8?#)19`(IeT ɶ…{ a`1KN a ᮭ+[CiVYnmUEl}~x{cqyPͧ*OLj) JRh gxB,BUlHcke+K]tY`Pqizz aWч#v^-^U")4*fåT)-3l41* jHDyjKX2!e)6avkl_|QCe5 DSPM4TJѤJEiʂ1a[|@-ՆV}7=)m*]$sIFL(EꭗL֚.\2:< q4QwQQ&`\Lٌf.'fD{Ajl'Ze9*hMF٘ @)sTl œX0.`;GQ[P`fln'8L# :}c&(tdA?˕6zTJӓ.s\B E]~ru؜%=څ2G}!i #`!Jr ~^){H ?̗MǶ# 9?IĊJ e\RH~^R!a-¸:CvBod{e9$YJ@'&5_M0c Is2j1`g\3>%Ck` oSv|WR V JE<4q(nm mȕe5̆8h孨ʉ49,O)Jڦ9%M#&RKN#|8 TJ>k~f*c:im˓a#@h.k޽(UbUpFCp50tÛ*Y!c)jKAyloU<鴟PBw6y,hB"hE)()8+J6^oT5/sD^O?#cx.¤k3HW/'4q88f9Z;8><te~]!b=/x(S%ySD)~.dc@ NS@IՈ) ,H"2nI}9!ڳFg:>g"OVXma/]<1Z"? !B1bI@YJh` gE~F6E$I tlSߏtQ/t1 4'#)LD 5 v:d 5UֹC|)Ig`)a}Zvg>}VL4s}1}f 7(͒i"Br.7.h_ւ">Go5-ԵWo }/Yq6WhH.ZQ4|亠+6掾x[[N;,aޠ) p=pːv*j(tؕ[m;Ѯ񨗝Y'02źz+[1nr14vg1EYDŋ$yi~-'V>^l3W3GL=wJwF4Ϭ9)eH2g-|WvKf>js(G|3p䵭"P"~MF*VEb%YX#+ 7ִl5E0S6,hE-Oz\bF'  3Ɠv{>f99?֤W)JM4PAy(RLznqg hr׍TJX|e3vte$,5%ȑax.}yh)ʶ cy! $;|14:R%nL܋?-$ro2J}H#9 "uҤ㧏xׂ|>j/z܊W!e:51-쭫\5^E?(aGUݶinAQ,\W'v3Oeo Ù)S5FVyVT+Bd8@Z(u}ʤ ٫3Xi@feK6{$O65;~9r_x2``krɒR3lN(4Puli4m LAiRѴ \ӣӴ=( ̞\Sk\Rj愓kzrcNgM9~)Ms^eJEӂprMOoLLʔ9䚞ݘ'0-jz%HoLӹN%hN8-T=cz(S*cT]%gm,+[͡QYrkRy) e $[.-=EQu hCt*-AH;\E2 *00{^e۫wT6,4T&>W=*nP St *x`3@!r6wJ:zE w8V5y%ג]"/zʲ}#!K ^/\|JH#\e g%UFW h`ՁjH#\kTg3.X72p?W Mp5?WMpݟWMp pmLm'_xO4[޸ ~k~^'C~]\/*5~8Q59?Y c-'~?Z`th1+aiU2Dbjd:Í)A̜pـXSצZ5AN/Wo}1 {% *]3*;\&XzťDFJS~ӼЉqڑ,T?EAYd0J~{9UFXiT;ü P`j0; #/Īr?[|sd Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:20:30.92Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln0 "]Rq[F U^S:71.(aεP~iUhT4.5YS_Wl0\*ϰ[6{=/N*$v oR`pt֫βlFw=y@?5se5Ihzu ;sPKʾPFPKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFQConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaF-Configurations2/toolpanel/PKaF^,,eThumbnails/thumbnail.pngPKaF],Cr content.xmlPKaFi??-#Pictures/10000000000000FA000000FAD6A15225.jpgPKaFfF%+! bsettings.xmlPKaF+oǘ 8hstyles.xmlPKaFh vmanifest.rdfPKaFqwmeta.xmlPKaFʾPF{META-INF/manifest.xmlPKo}pandoc-2.9.2.1/test/odt/odt/imageIndex.odt000066400000000000000000001031611363630463000202520ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaFConfigurations2/toolpanel/PKaF]6 Thumbnails/thumbnail.pngPNG  IHDRzAKIDATx tUktw6B!2 /E ʻKU_4" )?כ#.Z\%U&] ף!~LʔSdz 0x4. \kׯ&?U/^o vfKC=^H ~q/+kko]U6FKkxkɟ-'t`FW _~+#bZit?_Jm0*r-˳X,18mvhs8~( E%eYU%)H'eYwa 4M+s OTUeg,*C G&I6ZfHH/GQ}SRUMXmvP*`ݕ>MR2̦** H Mv9`Y> ޵lH oIFqxbX3s)8y0FMKJyW(]OfwAj=h0 |(#` 5A9s>˙3t}U-û0U|cuނW8Vx퍛6oU DT74T FV>M~^ o``2; K/fw0/KBQy%a0lG6 CϟqԩQf5U%8>_ !KBʏ:x <&avY QQeª}`ى[n ׯD T#39lRRRl޼yg.^ )آY؆!64/**ʌ59E ^{ΒYw˾}Bܡ`CmK_*+-}r$I4 XY/r;RzO4!e qqqe``>Eeo|BB^U i蹉5ТoAU07p㠈5k֌{bҾ}>DT|PB&1ͦ FH3 )bLibdYGxxuuզlvf40xA!ܳڵqِ :}yA$䥥{>טޔ`4.3߅WX ۳gOHCJ0~q}ͳ3bf n|?Yc߾}؊_|yvSG~ Q @8߿? ܹQCbzDE1PǨfGSYY !(gϞ+VLC@O'nwUu5uo6mŋ<>.WC;t2E JHvرnݺAF|AQg}ֻwo;Y֮];m4SIM#o0{xFF~wX7n7n| Z~_~uLԸ5kWϞ3oF g[ .̘|Jrʀ2b]tя}Fo:GZmzN<3PFFFDFFEEG~>iA}LE,PMcB.\8gΜ/:zG5s1s;>^nd3gfddu]L[,2)+kO|Վ8V lgƍ'O6|rT{1{|b|0D)?vS69!''X ts 4C! N;vĀO? 8:d։I ?ؒGȂ>9%--&~=dee;6,TJi=hÍè?L3v_\!]2E:z9X4K]gϜ9|ptdghFej堼P('$N5k6x?Yx,Eeed+\_lz)R9;b~C}jSLq_tc[hehI5jTrJԄxLo̓sN}ӧObѫnݺ_}wM鋌YQRRR7{)?œZ,d1ayϿ3e3(E? sg$ (*D}CV\U-SW^=ĊA|Gbh ;v< g8ݻvӫezO4!8j>^8:Z""",Yr˫ MMM-/+{̌;{}yhiɥ߻}aÇ*"Gll_]P AR[nݿjffg /;*p99z t%@eUz+j̸wд;gcbZԄ.--MOoo!9hР \6)СCZk!x4ӲKVٳz#訄O6,kaU.߷o7wB$Op#,DR~ܞ(Z x:w,+$ZVIImgzM־&|ٳ??ޡCE͙;X~yϞƕ^L|ʢ(]BSSӒSˡƄXcXXXr BTԌ~x؟֥K#G~snғOi(]; [n@}'|Yf/yx5-<"=rKhd.\++#KE @ Ґ{ݺ=sU{gႅO=D%KlV@=lk^jl4Q봴#Y4|0n C*iDG>îiڵkí[6otO>}ZyAxrbvv][YlqC`P?DJJ~]ZZdEoygYYV_ ` A]$4)?6+ES?da-#iӧBo&QS'?utr۶G޽; i/` c4 ^,*uhXf5!x$ z E}hY -qzEqBb,>Txf77)?ha*[m-)?g%xmC!@Ha]?\013~"r^O !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B@H !~ $@?B=2k IENDB`PKaF content.xml]͎)  $,?t/&Yfdr[-3KZRj甧ؽC+O")ɔ-Vw"X?| sAXrÑ3IBDη߼so/~-$y Xh'b{'3X̲`RZ3Szl=ӣՕuv񖕰r:VYBPM;Vy-`8EbMI̲tyj $BwS"1e+L930y`?!J41ebKHL59YޔHI@W~< !_=#f\H'~8BU g;HRG2 FVNb"&+0w$,e˓ ' w`iCf,'wfu&n) txx(os1+-!><%gy8Ix,@ b0JSZj9mF:\1XP^̶p*9P (yrd~?}ȗcU&p78cscxGƈq5T$FvY=7p }l*5g35uI^}-&b:1#&FB ru5kW=?8:Mb\98=!lq2Xt y}c?%Ej5{ױifDzU_j!RS9Z2( [Y)H(+N㻱< [r)o꼃nuR8b\W-B:&|ޞ^6NݢG33d. C嗓SlYαmt<FN)D\,aea;,5G+BLC9E`rάEY8OȐt%k)?PKBƢ4 y|PKaFi??-Pictures/10000000000000FA000000FAD6A15225.jpgJFIFxxC   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((>!1"AQaq2#BR3br$C&S!1A ? pOj~7u .|TF~J#{4&'a\'8h6o%&)d?S5̗Wo53I!,za[ sEvܸ'@ )lq'?Nv@ 1vx,z#f}@!( QpOx0c% |fw 獣 cކ |Q\Qr ;v4J>7|3Bh'+.|g*IǮ}{Ph h% b@YP+a($恻)|*qڀG@W>Ss4ݴIbB $F[aFIb$EnW ZnֺѭeRIFV544}*/5jqȇ˾ZD1ʚ.mo!E]{odh=>Ux j ހd{UhVi Hb(nAh-3SMQlm+^/UgMYӮm@ξSn&=Qtv}iP22IQ\O}4IIH2W'.qDc6MBv~xQ| 2GAg٠BNN=(:RK'l}4 P)9ݨ-Ė$aD N3҉OzsBԺVOa%qbp}_{K]\]Ȋ l>ѭimj[@8TƎC)a"T{ \\Gn84{hXfq@rMz*@{h8 ʂ{/ أdA} ]Y ӯKNO#n|UtaZhg=f؊۞=EPvۃP7$|9'$ǭ `zQ*zsPpq7(&na^ֳ[4<81+ށWh2d*pO| z{{d'@|IA9JNP &>Sh, :Xm±WėRpcG:ގ1X+Is(k8~2p;A(8d4̀Kg2h1~mVR3Y/cSJAv>q){Uh(\jW^wt&O'('KU H6@(7)z wwh9WːH 'JnдvXkqC"Jv>e]1;ԃ[Hua.r!S^⠄랋5Ibxz>zgA"Wu H$A9#hy47͒wsbıe40PFGހF;Pϟ'>{@X EJ@rh+6!b] 'f-j 2)U@pۆsށsbhmdp㷶>tbR뵽F@v<Ο:g0pc1q}`z8hХyh,'èk Ë;uk8zOu.\^27an‚zM\ڀ6JIb䌒#sFu[WA w0X~.}#\F8E~ZBPFkH/'BBA 8EAϡ}3=+[B,zZFǖhnNMhGҀduHZD8]%ݽjc2Vl_lP*P,QO0($~c@A4C+0h86s@ buwF{P~T#q PFZ[pw ?0`?]M(C;m5`tW'Ƴ[x敝r1X6d{t's d([сR8,|AyC.,cC:vU[zQT[ .n@S l+6/m9$~X>%;t緐IG_NeCj2K*# Oo tcy)0@Ppڠ\'$vAhAX!sZ%o*Xla3!iXdQ)fcJLz^HeԓpR@>'?,J('G!\`\g@QK%-gPI( mka/n G?>>JM޼1EՃV ŕcʣGD:zP4MzM1Rd޴^g/8&CFQV}#> H(4 <>B'挜}?Zɾ+{nz_UkFd'@_$vPhH_T\ܽb˩ dUsRO-bG_XğQz;%7P7B bG<v;*2W+pEmZaM& PEuv<>$ Q#_|f ۩1aNs\L?HF($u3S(/-,⹷%w,r+ H8# XOJmN[NU6o!##Ci-0x19}=q@Pk,Ls$rm,Ү C[qsxvH!$L14{k1 C㲽K)к}^YOR;R}p!Dq)qք* O>Z,qsE%"m9⃣b@4J8G3'n8ݤ)D9Yf Be- EOb}A|:=֍ҤWeKö{zwEץGKҺMWH$]] u7XǤkG%ܒ'(Ocϯ;YMG͉ ނnTYMKdggk]jr JѬy bA߈yuv{8£n~mAkz+amaG7W;җαwۜE&r>>%)v49ϋkqӎ6sAREH@s(igyo( -6c MX<ǦhKX7=͚1F"ϥQazOU鮣#8ǵ(ӟLҺvWҒNcB ᱵvsY}3-k*M8?޵5hLT 6K +3Y( gXVՏdѨ Jc iv)8r{@B%=@F `?h' h6_FbdB@2Q^BH`+!" ۽` !TAͬtXSρ"G%\|J.ϫ;KK:.@k 3dzCW!Q- &P鏝}ҽ/ɪMr-Fcz2׽}=]4jGTFH;d<պ9ŴRF8g(sO4:?XW*:_ *-> gjN\m='bf|[PH:dTl8e~n[-p"T]UpK;qn( < ,eoq> k!Z!f?,U;wz}"Q,(vɕFq>hzwI [bW+FVLdM &*D .[}87[imtȩ,xh['M9@Eqm⤞ ӱ ?A0p؜Z->ctkLRF 0,;~e!bXr!z7KEmM332ɴGz=+KmP9cE8 1=P18@Aj~t0%VEyVT$п-kH b +XV@IY/ԣ[o9HU"BGb>cP+ 6EG8-uRl[=oaWGkgQ+%KRcxՂ*E sy?@Ef՚F)<lD~%)-$P\?${z`@`YCcxzѡX:qgg˛kU$X>8- MK}A;f_a[fJe-܌jZ,&5;P(cAKFQAAuD3_ 3_ WsъuJ?LG3^5L7BTc5eRVHKW{KkK'*OW=Zv$S̫e<lژ=l@v0k"?'s&K%B/n1Ogu{g6(7΋4xR!" F璤F22K$E-lc28+tu亄pfE v<)m+`n'>C3$J"yA :u`lo@C!' !}dyMӮk䷱+0W{+K^i`|zUPu5̪w#;n8 z[=x Sx gZ[v]CZjӲZABp0=(1THx_"S#G}4]+y.R(W>DIvvE&%&YW <`w$*h>iPJ%*#*oJZ&mM)r?QP-˟jcȠ1`Y4 NXF)>$F`A҂?V-{-naFA#5eJ{\mr?*hu_eomLM2lʌ)L4 vqx9*0 >ƚ&d >ml K9|F\OGCnŠ"( Z[j Z[,<[\cY?ۙtid29!9g0YeΚ۪&yݜSrϬVjZIin78U_y5_%]%vFy#Ƿ^`4Bj>A$FW_,2CG2?n8a#}KPt͎pj`N>$csH=F;7>thZBdrެJ;zhA k!>zNrO˵K׃ZRӯucTwfH= +CRTz 4$o'4:tbtWx |ڃrK$m>d8MUpO,ua__aӭm41ݟAۏzgZ%ѯ$r401]jԳHGqi^&bl0`;dRكY@V`7cyػ}OowsgZqpC 3ή ƒ6RfW^:`u'43Fx`o@Tq@P@XQ3Ƀwo\[x"&vlg#Aݏ'P3u..7V[/ܿ* +ݚ1P Su-֝ʐhvDe昁\g gGQ,۵-(N_5T'ymqPc}[]SbZcx`r0X 58G{$T{tφjpF9UѧƋg=՝bmuk='p#`=Pe=A0.H#*!6>_ϧHUn0F#>ރHkTxyGGZ8Z.< #F5x@}܋O˟A-/ ńK0#kF}8?j UjgZ Tho iNj.%rqW.zc>A⦩ Gs@?h-޷r̚lEn\콎XRGkI%RE u# 2i6#FI@d05{o 7+4 Kn%)Jgx9CXi"cnLcjy-NUO.äAܱ9'8ɪ-KBxnHp#[t1^: @dU=k&iœ1A~U#PX6:Y1BIV=~=S㶸#Zc9zu{hB/$zΥQjNuD:.rnjՂcD[k%幝qXTӚu{kbKxB'ēT X֮/mKI؀HΧԓAu 2;x2N0Cφ iOfHi}{B[-[msRK.uUȅERhl9TvKa6$B "c>#4:{c.qܞV'Z=Q;A{U3su֚r;]&]$sD^) BNA$8PHt]*-e%uz\uM V6CBSi@;Ճ}_?ZtشjOp}(~Tѡl1-.dAxA)mpor0€uNC0lE,X3h&c`޼{PVTtWD'PTՃ$zr^+8QiW9C8Fl\ #*JTk!.c,B{hQ> 4[.sx8BZT9\vOTBI18`Ѧ/V:[b_w^G-&DfJǷJ0Mvei|>&ct'8V}v_ԘY\aAo..2A'Fhѱf±Λca?栖ӺWHH[R Æ{u[t 5̐<c w@\]]E{5@ӏюW GQz WTԚN۠"K2w('h/~kk:kt4 raA,N0A(+]K=;=z@ )-<*y#[7;hWU^w$LT(Fe]VܜeV_Nʂ>\_[F@.3wJu~rJ|Ŗ{igTMblF\0I$3Ko$ʲ7 ݃d ݬ7d,8cmo` 7)R}ssyh2ӎ0&]]yF{ce+hY]B.]F͢V*v1lxv, OZWP\Xp]t+z[fr`--$#JHu(ǧMas4sZ!B1=P_ 8 \P.g]EM7[lz@ Γucjj'OJNo:R+J+$ȤH;c8zI my, ]7G?CuņDVZݤ·xN9ck2}AvkĎLEok ώK8)|N(9X&<~ǗdR6PhIQ}}(WW\[iQ]w(wdާs珝1+ֵR=Goރ ?K,'{(G/ՅX%:j@b(:Ff1j|$fϹ9Q_t{^n5 .qvI7Ѻi k)DJPdck1%I?QѼ2|lI8 /NWp[lP{sRZzm vH[ҭ$H3=ꖉta[_.wy&mfPhGr>*둓*NS@,+g$G΁18y' hRkvn觅?@vx7H;T?nP/s7c& PzV]IBہSYEonbI[req=4g^[7OX- JW=Z uSteyWvKԴ ;rXn?*7duJʑPh_ a/iXд{7ޖnNj[f YM19'*Z4W7y]fy~@YZ;0|&ѓoԤǽ#09ۃ8Ak*أ^9';ՐCkoi ,Kq#`,vybN3}I>e%*kZ>Vm`Ϙ1 I a>A09g{zgPAe\)'s# -x40 ZO.3Fj,VKERTj`h$ lPGʖe᷒JZ4a$c?\Qhsi< $b-ɁvH`/θ0q'{٨5$ r2;znc1G*xP4LhO 7M[W鋙mMf gΗ?MKn/%˂rNyVP?Q4ڏ+mj 9~IcXr9>U6oR,nk$zg]Z-LV@6Y#~2){A4;f q=MJi]=kg˩KNaNJcjJ Qᛖoz5eVM{Pbuw[iŽmcxwڮ 5R7MwE%!€`=j $020@UϠ|E׵۝F.`K.4~NJg d:.S&!!vvez2cPfi[$(#ːhd`hAmb@,=hFr#tC ދ}\(5|&ֶ*)SGzmd$6I>Ps)HA p<@qȄ>@houe2b;~EcPIL  uwlf4$4=]kz|v_%d|(ed}u,į.O>_GIKlIed= \ $m>7 ]4x I'J`h]_k-$p̛wʪ;AU#HܸFTDT{89/kSk]5cSĝPq ƷtNrBmDŽŕd E̽O˫BV8,F k' /֯<"8ǩ0dRit)r#ɑ(09=5j7z#Y~^C_8$S[`e8;Pw9WT>T} JiɎ(BayS8=l)$pVtqwd@X?&`f"I->Rhkyhd: d3R/i<-nxnmFi)_W e0FӻcɫOEbΣo:Ds2Ƙľ3zU4aLM*i\0?>8l@{^kdb ll7ܞkBj/ kQm v2/ǏlfߣZ]`;lLjv+3(1IK#sh%@4x]s@ ;>T&wS#=))|b&yFآ>18\sڋY Gܮ=>pO|PXmd1aN$a@0h'tީxDc.^=(4^7P3p0=v5iMuYomZ# Yݎ A'/Mm9YX5֕Ӷ&} [ncwzx+&W0y9=Xu%M{{mfҸR_RrOAkם/רX/{KyivRw悰jU^ wA$hlB>q(ř%'q<}C }@mA;#9bpx[:23EUs*Ah 6q@S4ٍ2*>po *[ J4:Q ߿Ή es?DB]FsseXc;w`{f Gd9$~`:N cYs9pL]W! PgϿژ/|t4JHGb+z-#\[@fA,o^1`5ތԣeb75ֳFn:Ey"Iku-5fϕW#qZCM"u2]kOo*28 \_Sw,ĉ$1'V\ g`H|;SB+,@'8 \O=@(w?JOFP-ʌ}j? s@pF{˜h'Kڤ@vRIGl@&H#4h g@phM<{ $g2ۈE1P`9P&2yh #H=@[ yPn!@"8wPߜo(y "=G&cF 4rc@``ǁP$ ׵qC.]NodNH{P;N9X3 #0^2 LZ+ {hq(w1总ݻ1(7df$<%!%NO!榀۞x)F=tJl8WDZ7+yN9 $$ G hQst9L#zP@o6(7s;(~S@H ##<WnzCw'(p9T`ځPPKaF settings.xmlZs8~"wM0 CJKC$뛰Fz$9+r)뉉%Jv\}Y(w20V>{_Z]lh1HS` Mg\f>|J6iŠ&hbrvv3SY .ȘY.ŇsTEѨf*V"* djwԽ㷮 7[ۜ?ۭ]{aj5hkiM06#fkկڇ)[;MMTߧ|n^oԎ8B/DLAo)" `kq:zpC'}Ƅ>X|%fIڪ85ju{VQ^ />/?/uO|\$ZvJgBG{R$m43'bλv*{H®G[T7 DSh!U!K;RfؔicLU|9URId _C'C؄Q&eH'7#lCy-F }0}OA94PN(F+Xh+ :L| =6|SULhS"AK2`B)-:o5`m%SGcE~U%n?.nv,Pe4] i¯qbV0A~j! ˱+ƶ*}iUލbfd١`D(OP9GAvZA3K@uƅPl'(j ߌ SDaVo^].B"v @8tr^*^izenv"KpOCND'\V<$\p,D)Vď |8ef}iRڡvd!'XQil\K ~¯K 4:$61̳EXRg`1 _NhBpbllt =$K֤ f!$#s`HeHKA|a"HS_sj߽zW BZкE-(k0IĖ[mt=+<%r|`ChU 1cMᕡ\'vcMTչ0QVvXbRL遴.-L[4d{^`">* 4Ԇe`so␃lyƼ&Jㄎo_eK@ Zj@)I;f6h%᫋-89Pmڊ1Ȏ@]EPyϯOֿPK+#T$+!PKaF styles.xml]ݲ6ߧHV6g$LS53Hr'+`YI%Yl$cÁ Hr[-dqa7z;t`io6\,\?:8H$z8p<2S?%n 'F8B"#mڊSfQ:ś0Ȣy)(hVNEEVxx"ЏPzϧ*Mp^֣A/l6Rjaأ\=&%Cc` 9SԶWRsV JE âD9(![^7c7űn7ȳ Lig CL9wL8 Ȣ1 Zv/BqН\ ]{vӬِ2{)f[>1/Bƚm/-s&~ByFY|rJ,3t?=IqO5cWRGI M[.Tvd_]$$/W >@鏙: o !K:W%mb>p+և*: yלwih}ΛE1LYk((#1Y!'\kpSm#ۗ5b A@$B6qm9md~&wYai[\_c+-KCPD1P !cE^Bڍy,:l!2`O}/y>d% Hq00 QB H킝{g4YA A6n^K4Rha~f2>CK(rfA9>N!i8]g $ujdPk9ˊSV8Eu,H>KuV7lV8@59nefB0J7~ArC2 @Դ[&2KW9j1G#;Nvadr+ZsFb#7b۝eɪro0yyX4m1qbg0gx(J۰ZPRs?14\tEe5,6lp!N_97p<$=қv'FꠠH9hUE_wS}:[Yb>aE$M`yd0s1  [mo:|QZ)ƥҊ:x./mfp䡭PO$6z!23HmGcl;D/ "F]/ќ8UeRJ;ʈ,]`{6TvaUhM,7/KkD0g䁋8!rqkqUl!T=&~iFW'u"٬⊙zZѥYVFRp|ӊ8I唤w|=e{Kd>jRQnj>]{A-H)t(c9hXY_$|acR֚n#)BE$/zbFc' 3Ɠv~-Sσ5EMj!bd޺7R=*r$_k QZ"HlW*|yvF{elOq:ԔFSrJVRvO~'kG\p6i6&{̀݌zPYZ镞otgNyl6c ,fI蹎e:!=ϓs)wN_ꉯ3[\Awĥ|14ثR%fL܋NgMߴWIܧ@47z-ѥ{1=/7k(pO/9)/ƒM k{e&`)/GLLE*ԬJ=K T>[jڼ)MxjZT4 '4mN.5=y|cj̱B%hF8d2Uh4'Mi#y8)Ms5=1MSy8)5M35=1M[iZ leݘ'3KJMьprMMz4x(R*cT]%u,+| U7bmB1_}Jܓlp7Fb ZxƯ8W] hi @:e*ݠ2 SUƹj|X}tÆx;L"W;\BTs4T@QA5Cšt 5>g+ݵr-5- LN\?)ĞaR5ӗ p1΄45Z %\< rfɂ4B5ZFs,: 0Ά4e]-\Dqcח.8 ijzXJ֯2EgE\-\T9ikz`0)ђ_ikvpa=@K1r΍45^-`ȒgGFCyh_zdtOv# g=D*w)GtHլTsCuOAdȵŪ'C^,#XֹBJ{"te;, {"wk|niIG&7(wÜ } ~6V{sAnh|\',7 ?) c?. pmX,Cib~w<7#NrW :Qt.r`DW ђe.3e(fSEL K#[>1TyR-9m5@'MxNZ^ُۂs40ĩē\63)5U@2}NM:{(l@;wn `4\UUd#H yc.-ם)vSʨ޻r"w^V{Dh+27GvFMdE?րy= UE%|8@2rͅyebLIØu 9aVR"T L7pvr*:(ai&@`HPnPt ڏ俁_-72ެ]>Z:/cʝPѦ yF`H02ׅ>ЍiوxZFNAsIZ' ,IXy "zK'+Z /kő 'nO!*'O)G?-Yi58Uzɋy@PKƁ PKaF manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:21:41.45Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln0 "]Rq[F U^S:71.(aεP~iUhT4.5YS_Wl0\*ϰ[6{=/N*$v oR`pt֫βlFw=y@?5se5Ihzu ;sPKʾPFPKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFQConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaF-Configurations2/toolpanel/PKaF]6 eThumbnails/thumbnail.pngPKaFBƢ4 y| content.xmlPKaFi??-&Pictures/10000000000000FA000000FAD6A15225.jpgPKaF+#T$+! efsettings.xmlPKaFƁ  kstyles.xmlPKaFh zmanifest.rdfPKaFM{{meta.xmlPKaFʾPFMETA-INF/manifest.xmlPKpandoc-2.9.2.1/test/odt/odt/imageWithCaption.odt000066400000000000000000001020231363630463000214300ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaF N||Thumbnails/thumbnail.pngPNG  IHDRzACIDATx teǫt:d! eTlAQDaP!"1 *M2l#*0zDaQQAH `!Kg饺癷;9'9=w<9mwUjD X `A~,A ? X `A~,A ?a*KΞ=kXrD:oel+"p| ([VUA@v}>_(§8󊁦ixmBUUA$ f;``0h%}2xm׮+Y9^r8@=U\as!DS{"/gE#"T8&.$ l;RD`H vxX4nw>MFXpM6ǒrHP !r0i2~r(t8qYKȯoSZViVMU4 qy*4`|jw8H猒@7uj^nh]#uQlo-‚/_% ƨ)rINr8.Ԡ>MFXCD9m: F!$7?Äi#F%fJ@8#]W^t$l8ޜǏ]^cc'dA;F]3~9ha55$Ny |ҿ%aGCC}>$}"NY P!&6>XUTllD; l0*jlc)%=ݶmfx+^D7^?<18؆aF. $766Æ ;ZDE {, W$ Cw:+VRQ^ԩAh`CzwS}&3ZDT qBq )K15}Pj^O4~*JnQ4?;Vw(Cp%Wֽlj.((x饗̻3r b1{۶=4SNjFF8ueÆ 3g4 ʲ+ogTvv@-[6O8rS^GO951)auϽt;o+ ڝ+缔>xaCpnk_NE"vO>pG3'=?앓c'P0BZ$mڴ)++ s,Y` 7TYu_<}tl\Νn3fᅬm1wm"#FUQJKOCsZ]]k1vڹsg*bAw }࣏>2 $#G$,Yd^]{qɪ_("=$}YSS{'6nF3gNvvޫGb dy ƛol8}ݻV[H "8[l6m谹VZړO߿Sc0!ػw/*B]}]|NZDk_J7S3"z3q &"x9ԦQԯMIuh|ĉ㐠w1}_v _*++Ǩ %#+uEɓ'YZs&#+CӥKܵĉ! Yˠ~yBeE/YPP2@ls6rΈ#JHzJtLCD zՕ 1bpɵZ}"N>՜$Y+*i ES95:bİ PHkL >os^klrɓ=V*j˗//(=*NϞ=kk=G;>X:lڴԩSӧOs/8>ݹ0GVCUӧ{n%'ܸqCKZJLLDT_qv*cǎMKo&$Yys.<$МZTt> z?|7wO2RBr+DV~DD꼍b) _z9ٳgs2iӈ AH|uʘ36~zŘ| !M7W^Ey^M4w~6/~;/&%%}{קM1p!w_ͿW._ƈVl1˗/UWԠ!ȸ^Q9|uDyٍ=k瞑F(" .+!!z9GX7mvРA63/Z:a$M̟''5g.ƛ{<,<_Xx(>ummmDDD򬬎u#=sr9S3=6%6x [QyClwϛ7w>n+HGmDV~8]P@Fu9}tׯ__qf׼jjӦ bϟ;7/[5p6rǏWUUo$Ŀ?e^^GQT###a 68sLEE-rȑ^wLLTIb?MtGDx⋸92b־C{ڃ*"SOqfz͞3{޸qlڼfshEQFJKKCX&Zm۶$PPcqCCߡA/??+W}~_)S>|DXRPfΜbŊÇi((Xi"恵rnڸiGo~–d`vlEɐe9=#/~(^WDDs&#@Pz,K\ Y__ߵk׉'>3urUUգ ;﮻~4!>b-[T7,mu0FEn0i =v7x9tN!jOm#Y=>MFXi,Zy$'-}ξ{Wh!ٳg;w a//}21uǎ} )lۑ$RSϝR:mx-~Ō,ԏSNuiҥ,Z,~_h}Ɠ"=BzBH rP?0 LKK~:zLΝ:oIIIRbFE>|(33[nǏ^giʅ2աr; 4.'8i 9?Z&_ŐEEG746?2W\y5Qk>?eMLH8rp=^|ꪺw7dg}f׮]s8Ą=z91JBAM툨`㊎Zƛޠ?1h 4aR۶mcbb<\NW$$EEEED܁:t-y^@-ڪu]rV+3[i} ‰cCTA҇AN0aU+Ǘ!t{Zjծ]䔔o~c=6`m}҆=]߻ՕJ|bbb*gLTEuF8Pv90(^>|HDž gQQa^wOM5ݴOUյ;LW]Aogl6pҥ^z WڳeV410((A9h;as&#tl2-55ռ橭ѹ={W\p!%%%..NS:t{.@mf~)j 'M$ӹ k_ڌt9$Qx $@1R ֭[{l?+V@0{l$ 0_xY!''Q@FYh5{?ahDIF8Y ^sϨhݑ<닙EjCj-eO=9Y +V@vAo=ph.Y3u$ظv C|Ua܁x/g͕ ̅ƒSoې<"N3 9cQh,?X>oCrڧo׶]VV+%/q.cǻwbc뽪޽ah@!?*䄦gR2QlNMt|>Ail z8^g>e.>P lX4E֟Eg U8񚝳C6Oi԰C痽~s_M_CL8YUUPh"X__gOA}T6be-PL̻7󄾈nH_bl>TcqKZras|v5TmŒ%oOaa/ok~l9o C?~0 E qA ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? X `A~,A ? /]<IENDB`PKaF content.xmln6) آ+ɲLn1Ei+hRW}c!)t"hx#~!/?}HsAXpopd_^8&!G,,SnȲG]8% "J8\KD'+cӻũv-OYGS-t٩19*ȣQik)+%' UqɞЄ+O eww)*V{oR}}ڗ UI~4k*UÝW~6לAѰ8Kۂv.i$ 0uuc,Mw hkL$ʶޙ|sƋ&0&К4c[)ݿemm(j5L}X{쇇WFMLUV9DQn* h,:+O]4qNZ71؍pHK4#,DZpޢ,A4pFS&) {I4aTi_%'-mlkLwY&8k"ı.^qYk޴IvW?2$C}8C LVWF8}+{*Ge@BW$k̃j Guq<W;ԍVn `1xB2qSr,RdE!wkU[Cw 'cKev@3O*8 &X'& LR>v(ҧzK#yQ {C%8+HKx~ϢSŜqJ-ՌQ`ۖ+YYc!%0O?F;;#y2%|}Cp8E"#)g󒖦h2/#*pUIR`($Ŧ-}68dDGOsW5Cpw;ӀщV,)HWrяf2̾ׯ7QhwW~Iv##R f\nz-ބI& m>2V1q.!N)9b~U~*M&3!1"AQaq2#BR3br$C&S!1A ? pOj~7u .|TF~J#{4&'a\'8h6o%&)d?S5̗Wo53I!,za[ sEvܸ'@ )lq'?Nv@ 1vx,z#f}@!( QpOx0c% |fw 獣 cކ |Q\Qr ;v4J>7|3Bh'+.|g*IǮ}{Ph h% b@YP+a($恻)|*qڀG@W>Ss4ݴIbB $F[aFIb$EnW ZnֺѭeRIFV544}*/5jqȇ˾ZD1ʚ.mo!E]{odh=>Ux j ހd{UhVi Hb(nAh-3SMQlm+^/UgMYӮm@ξSn&=Qtv}iP22IQ\O}4IIH2W'.qDc6MBv~xQ| 2GAg٠BNN=(:RK'l}4 P)9ݨ-Ė$aD N3҉OzsBԺVOa%qbp}_{K]\]Ȋ l>ѭimj[@8TƎC)a"T{ \\Gn84{hXfq@rMz*@{h8 ʂ{/ أdA} ]Y ӯKNO#n|UtaZhg=f؊۞=EPvۃP7$|9'$ǭ `zQ*zsPpq7(&na^ֳ[4<81+ށWh2d*pO| z{{d'@|IA9JNP &>Sh, :Xm±WėRpcG:ގ1X+Is(k8~2p;A(8d4̀Kg2h1~mVR3Y/cSJAv>q){Uh(\jW^wt&O'('KU H6@(7)z wwh9WːH 'JnдvXkqC"Jv>e]1;ԃ[Hua.r!S^⠄랋5Ibxz>zgA"Wu H$A9#hy47͒wsbıe40PFGހF;Pϟ'>{@X EJ@rh+6!b] 'f-j 2)U@pۆsށsbhmdp㷶>tbR뵽F@v<Ο:g0pc1q}`z8hХyh,'èk Ë;uk8zOu.\^27an‚zM\ڀ6JIb䌒#sFu[WA w0X~.}#\F8E~ZBPFkH/'BBA 8EAϡ}3=+[B,zZFǖhnNMhGҀduHZD8]%ݽjc2Vl_lP*P,QO0($~c@A4C+0h86s@ buwF{P~T#q PFZ[pw ?0`?]M(C;m5`tW'Ƴ[x敝r1X6d{t's d([сR8,|AyC.,cC:vU[zQT[ .n@S l+6/m9$~X>%;t緐IG_NeCj2K*# Oo tcy)0@Ppڠ\'$vAhAX!sZ%o*Xla3!iXdQ)fcJLz^HeԓpR@>'?,J('G!\`\g@QK%-gPI( mka/n G?>>JM޼1EՃV ŕcʣGD:zP4MzM1Rd޴^g/8&CFQV}#> H(4 <>B'挜}?Zɾ+{nz_UkFd'@_$vPhH_T\ܽb˩ dUsRO-bG_XğQz;%7P7B bG<v;*2W+pEmZaM& PEuv<>$ Q#_|f ۩1aNs\L?HF($u3S(/-,⹷%w,r+ H8# XOJmN[NU6o!##Ci-0x19}=q@Pk,Ls$rm,Ү C[qsxvH!$L14{k1 C㲽K)к}^YOR;R}p!Dq)qք* O>Z,qsE%"m9⃣b@4J8G3'n8ݤ)D9Yf Be- EOb}A|:=֍ҤWeKö{zwEץGKҺMWH$]] u7XǤkG%ܒ'(Ocϯ;YMG͉ ނnTYMKdggk]jr JѬy bA߈yuv{8£n~mAkz+amaG7W;җαwۜE&r>>%)v49ϋkqӎ6sAREH@s(igyo( -6c MX<ǦhKX7=͚1F"ϥQazOU鮣#8ǵ(ӟLҺvWҒNcB ᱵvsY}3-k*M8?޵5hLT 6K +3Y( gXVՏdѨ Jc iv)8r{@B%=@F `?h' h6_FbdB@2Q^BH`+!" ۽` !TAͬtXSρ"G%\|J.ϫ;KK:.@k 3dzCW!Q- &P鏝}ҽ/ɪMr-Fcz2׽}=]4jGTFH;d<պ9ŴRF8g(sO4:?XW*:_ *-> gjN\m='bf|[PH:dTl8e~n[-p"T]UpK;qn( < ,eoq> k!Z!f?,U;wz}"Q,(vɕFq>hzwI [bW+FVLdM &*D .[}87[imtȩ,xh['M9@Eqm⤞ ӱ ?A0p؜Z->ctkLRF 0,;~e!bXr!z7KEmM332ɴGz=+KmP9cE8 1=P18@Aj~t0%VEyVT$п-kH b +XV@IY/ԣ[o9HU"BGb>cP+ 6EG8-uRl[=oaWGkgQ+%KRcxՂ*E sy?@Ef՚F)<lD~%)-$P\?${z`@`YCcxzѡX:qgg˛kU$X>8- MK}A;f_a[fJe-܌jZ,&5;P(cAKFQAAuD3_ 3_ WsъuJ?LG3^5L7BTc5eRVHKW{KkK'*OW=Zv$S̫e<lژ=l@v0k"?'s&K%B/n1Ogu{g6(7΋4xR!" F璤F22K$E-lc28+tu亄pfE v<)m+`n'>C3$J"yA :u`lo@C!' !}dyMӮk䷱+0W{+K^i`|zUPu5̪w#;n8 z[=x Sx gZ[v]CZjӲZABp0=(1THx_"S#G}4]+y.R(W>DIvvE&%&YW <`w$*h>iPJ%*#*oJZ&mM)r?QP-˟jcȠ1`Y4 NXF)>$F`A҂?V-{-naFA#5eJ{\mr?*hu_eomLM2lʌ)L4 vqx9*0 >ƚ&d >ml K9|F\OGCnŠ"( Z[j Z[,<[\cY?ۙtid29!9g0YeΚ۪&yݜSrϬVjZIin78U_y5_%]%vFy#Ƿ^`4Bj>A$FW_,2CG2?n8a#}KPt͎pj`N>$csH=F;7>thZBdrެJ;zhA k!>zNrO˵K׃ZRӯucTwfH= +CRTz 4$o'4:tbtWx |ڃrK$m>d8MUpO,ua__aӭm41ݟAۏzgZ%ѯ$r401]jԳHGqi^&bl0`;dRكY@V`7cyػ}OowsgZqpC 3ή ƒ6RfW^:`u'43Fx`o@Tq@P@XQ3Ƀwo\[x"&vlg#Aݏ'P3u..7V[/ܿ* +ݚ1P Su-֝ʐhvDe昁\g gGQ,۵-(N_5T'ymqPc}[]SbZcx`r0X 58G{$T{tφjpF9UѧƋg=՝bmuk='p#`=Pe=A0.H#*!6>_ϧHUn0F#>ރHkTxyGGZ8Z.< #F5x@}܋O˟A-/ ńK0#kF}8?j UjgZ Tho iNj.%rqW.zc>A⦩ Gs@?h-޷r̚lEn\콎XRGkI%RE u# 2i6#FI@d05{o 7+4 Kn%)Jgx9CXi"cnLcjy-NUO.äAܱ9'8ɪ-KBxnHp#[t1^: @dU=k&iœ1A~U#PX6:Y1BIV=~=S㶸#Zc9zu{hB/$zΥQjNuD:.rnjՂcD[k%幝qXTӚu{kbKxB'ēT X֮/mKI؀HΧԓAu 2;x2N0Cφ iOfHi}{B[-[msRK.uUȅERhl9TvKa6$B "c>#4:{c.qܞV'Z=Q;A{U3su֚r;]&]$sD^) BNA$8PHt]*-e%uz\uM V6CBSi@;Ճ}_?ZtشjOp}(~Tѡl1-.dAxA)mpor0€uNC0lE,X3h&c`޼{PVTtWD'PTՃ$zr^+8QiW9C8Fl\ #*JTk!.c,B{hQ> 4[.sx8BZT9\vOTBI18`Ѧ/V:[b_w^G-&DfJǷJ0Mvei|>&ct'8V}v_ԘY\aAo..2A'Fhѱf±Λca?栖ӺWHH[R Æ{u[t 5̐<c w@\]]E{5@ӏюW GQz WTԚN۠"K2w('h/~kk:kt4 raA,N0A(+]K=;=z@ )-<*y#[7;hWU^w$LT(Fe]VܜeV_Nʂ>\_[F@.3wJu~rJ|Ŗ{igTMblF\0I$3Ko$ʲ7 ݃d ݬ7d,8cmo` 7)R}ssyh2ӎ0&]]yF{ce+hY]B.]F͢V*v1lxv, OZWP\Xp]t+z[fr`--$#JHu(ǧMas4sZ!B1=P_ 8 \P.g]EM7[lz@ Γucjj'OJNo:R+J+$ȤH;c8zI my, ]7G?CuņDVZݤ·xN9ck2}AvkĎLEok ώK8)|N(9X&<~ǗdR6PhIQ}}(WW\[iQ]w(wdާs珝1+ֵR=Goރ ?K,'{(G/ՅX%:j@b(:Ff1j|$fϹ9Q_t{^n5 .qvI7Ѻi k)DJPdck1%I?QѼ2|lI8 /NWp[lP{sRZzm vH[ҭ$H3=ꖉta[_.wy&mfPhGr>*둓*NS@,+g$G΁18y' hRkvn觅?@vx7H;T?nP/s7c& PzV]IBہSYEonbI[req=4g^[7OX- JW=Z uSteyWvKԴ ;rXn?*7duJʑPh_ a/iXд{7ޖnNj[f YM19'*Z4W7y]fy~@YZ;0|&ѓoԤǽ#09ۃ8Ak*أ^9';ՐCkoi ,Kq#`,vybN3}I>e%*kZ>Vm`Ϙ1 I a>A09g{zgPAe\)'s# -x40 ZO.3Fj,VKERTj`h$ lPGʖe᷒JZ4a$c?\Qhsi< $b-ɁvH`/θ0q'{٨5$ r2;znc1G*xP4LhO 7M[W鋙mMf gΗ?MKn/%˂rNyVP?Q4ڏ+mj 9~IcXr9>U6oR,nk$zg]Z-LV@6Y#~2){A4;f q=MJi]=kg˩KNaNJcjJ Qᛖoz5eVM{Pbuw[iŽmcxwڮ 5R7MwE%!€`=j $020@UϠ|E׵۝F.`K.4~NJg d:.S&!!vvez2cPfi[$(#ːhd`hAmb@,=hFr#tC ދ}\(5|&ֶ*)SGzmd$6I>Ps)HA p<@qȄ>@houe2b;~EcPIL  uwlf4$4=]kz|v_%d|(ed}u,į.O>_GIKlIed= \ $m>7 ]4x I'J`h]_k-$p̛wʪ;AU#HܸFTDT{89/kSk]5cSĝPq ƷtNrBmDŽŕd E̽O˫BV8,F k' /֯<"8ǩ0dRit)r#ɑ(09=5j7z#Y~^C_8$S[`e8;Pw9WT>T} JiɎ(BayS8=l)$pVtqwd@X?&`f"I->Rhkyhd: d3R/i<-nxnmFi)_W e0FӻcɫOEbΣo:Ds2Ƙľ3zU4aLM*i\0?>8l@{^kdb ll7ܞkBj/ kQm v2/ǏlfߣZ]`;lLjv+3(1IK#sh%@4x]s@ ;>T&wS#=))|b&yFآ>18\sڋY Gܮ=>pO|PXmd1aN$a@0h'tީxDc.^=(4^7P3p0=v5iMuYomZ# Yݎ A'/Mm9YX5֕Ӷ&} [ncwzx+&W0y9=Xu%M{{mfҸR_RrOAkם/רX/{KyivRw悰jU^ wA$hlB>q(ř%'q<}C }@mA;#9bpx[:23EUs*Ah 6q@S4ٍ2*>po *[ J4:Q ߿Ή es?DB]FsseXc;w`{f Gd9$~`:N cYs9pL]W! PgϿژ/|t4JHGb+z-#\[@fA,o^1`5ތԣeb75ֳFn:Ey"Iku-5fϕW#qZCM"u2]kOo*28 \_Sw,ĉ$1'V\ g`H|;SB+,@'8 \O=@(w?JOFP-ʌ}j? s@pF{˜h'Kڤ@vRIGl@&H#4h g@phM<{ $g2ۈE1P`9P&2yh #H=@[ yPn!@"8wPߜo(y "=G&cF 4rc@``ǁP$ ׵qC.]NodNH{P;N9X3 #0^2 LZ+ {hq(w1总ݻ1(7df$<%!%NO!榀۞x)F=tJl8WDZ7+yN9 $$ G hQst9L#zP@o6(7s;(~S@H ##<WnzCw'(p9T`ځPPKaF settings.xmlZs8~"wBkzIRZ \߄`5#lȥ`z[OL,iW߷+2'/4Gy㝟y'  xng3@3 Ach>R7/ULsݔ,4AeͷRp|E$z}X.>E57z6oU!" LC=;Yoi.㷮 7[ۜ?ۭxaj5hk|_`mF*.׺J8\jfHY9O<4Qv<*EH{#\ N)&Q)' 1}gLbԸ a ᮭ+[CiVYnmUEl}x{j>PydRNLhovP]Fc08~ fr8g+LMEl^K?/+\Y:ڥx#Mc>oQe'!NT1C.J.oaS1UNW?@"JCPX'ŒLq/{? L L',;^ːNnF`؆[2',a ‡4rhBP&}W*2O;Vt0 0 o6|SULhS"AK2`B)-:To5`m%SGcE~U%n?.v,P e4] iqbV0A~j1 ˱+ƶ*}iUޭbfd١`D(OP9GAV % Bh qoƆvd0p7Fi/.J|!pYN;L ts \ic9G4=27;%P8Y!'Y͉^"ݓ}]x+sWF .Y8+2q|)d~l;DPLqP%T?@% X" O30/`'Y!j81JW[6:C ĉpOkZ3d9 L0CW$bu2% X>0) v/ՂPt.pi=}J39Le`R6Vpc0iϪO|md6_>)buCngSxe(Wbk?BaL):&KLv@O=6"eiy LQMF?,4lMrp-Kakt0NUFdg&jSA`QrV ]ozȞ;}PK3gZU$+!PKaF styles.xml]͒)TrmrDRH+^ڵ^R)DB+=Yhy4)"Faw㧿FA o^ljO}c{8C O߾M߿ppmv ՒtAȈO,Cc|NQ^qHAqZ5(E;&T^mP*#=#GQR`2~"O-~۾oEUvFɸE0 to{Ⱦn#.421 ?31ek(b  cJ}O^YHYa8!wӬِ2{yb"@6l{ɻ̡=7S3 3=ޖSf_`nyI{y&+k :Npm`dRFLae`!Z!qm79md~&wY!muUf/vӕ"#:QqD5!upXccIG-B"?b-W L-I A1Bz;l*R4R#5(<0 -Ø0 q ˛:kP%iSE\0oӾ8%oӔU`5̜DuLހ.[m/"OJkb\:q.mf؊L#mz"!h0S4vd;&F9G4~Ax`1z\XʼnfI4P xAJnHA);M,Jе[V zEk?ByA]^#'<#_sCtX[[m| j$0d]u5;77\6=GmTD 2)N˖6.! yH` zz/DuVz=>_H"LbEciBzu,u^Ǚ,T6#2p;K0!Z!LYFHOUT=&~iFWQFLjs(GX5pĵ"P">&H+rPXI/Hv|acRn#)BYE'=l S{B;?=_KySТFRCynة"elOQmW\M,~G35|8コq Hŀ閽$sDVz1p;oM&"2pt((X֮Cy9G>Iyx)׃8\A p^[ UE7UŞkSgMߴWIXHvBN;yEuCxЕZc9o+ ;;CA&BL3;C\jM~JIgU#)Sd*]vI-݌ΦMD 9v0݃sF7AATĻ<$;Z1d5ʗ HC6j >B{^V2yhZУY.)Q yXI_c圝%3бF%FcaB1[H#/}9iEQ+kƒM.B ׀|@a:/)W}0y0ۚRfF(,4PUli4m tAiR4'\ӣӴ9Q( L\Sez.)5E35mݘ'B%iF8nJ@ɗCR4'\ӓӴ9/"iF87iKBMY<\RjfkoJգ>"jN8FUβRW_e|/& wϜa= wC$`\5u9_KkP.Wv8'L;L垣W"U 0Yw$W;\E 9aa*VG٠ޡP1"gkvgYqNJaeuw-\K w-(>.+""׏V@Jd,mge4xpfe\L+!p.C !C PaE[&rՐFk<(q u~9r:ՐFiuUH#\k:*2#X\"`M,"-ˡ\"pͮ1 \vm/hj F:2 ĸ+GF#{ySx{IDH-UK)L>C fݠ{9\L\[ {1:e{)kBʗ P~$B^qG^)tkrnEq#L~0A|7_2Wg3/h72p?W Mp5?WMpݟWMp pmX,Cib~w<7#Orͯ2DusE#b,',tk]cpXoV?^-0_ͤ*0"mC%Ll_g1 ڂ.[tTU-Ul_-8GCKJP 3s9hӵ5N`Q,< RReR`ށ,/A jWs6(gw L5fr{b;W~_?$ r#'6yqS6\5J\/C%.nLNO 0̜k  N"cA Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:21:10.37Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln0 "]Rq[F U^S:71.(aεP~iUhT4.5YS_Wl0\*ϰ[6{=/N*$v oR`pt֫βlFw=y@?5se5Ihzu ;sPKʾPFPKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaF N||eThumbnails/thumbnail.pngPKaF\v content.xmlPKaFi??-U$Pictures/10000000000000FA000000FAD6A15225.jpgPKaF3gZU$+! .dsettings.xmlPKaFQ_mR istyles.xmlPKaFh Ixmanifest.rdfPKaFymeta.xmlPKaFʾPF}META-INF/manifest.xmlPK2pandoc-2.9.2.1/test/odt/odt/inlinedCode.odt000066400000000000000000000236351363630463000204240ustar00rootroot00000000000000PKX\I'Configurations2/accelerator/current.xmlPKPKX\IConfigurations2/floater/PKX\IConfigurations2/images/Bitmaps/PKX\IConfigurations2/menubar/PKX\IConfigurations2/popupmenu/PKX\IConfigurations2/progressbar/PKX\IConfigurations2/statusbar/PKX\IConfigurations2/toolbar/PKX\IConfigurations2/toolpanel/PKX\IMETA-INF/manifest.xmln }zP* `ID`G4ejfc0PmOGx ffm7)4-Dנ0ҚҫhD J//NlfU1B&k^ѡfbNd\vUҹF+m )''8K>P]Cc7`@ E.# |gr1F Îv@t_k<4W'w=-ylME",So^w>p@p=U+|PKY>PKX\IwwThumbnails/thumbnail.pngPNG  IHDRbPLTEwnjpqtsqq~u~zytw}x~ɶĿԻʳ߷ķ˸οѽżȽ°ѽ@ IDATxoqfQVyklҚbVLY6:+JBL!~;di>w<zKpsdCu³awU~=Zs<||i1NՓQfT}r=779UN\ o+a6$OtR2Q8<M;?z1);O$VBʷRTޝn߿5ܼݫϴw*۹n߭tBByQ+\o덭r{{\L?Y#55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555_QU$ގ}pIENDB`PKKUhI,V content.xmlX[ϓ0WLn4q1;ӵ/[ci-;{KdAyO}·Kʃ(ͤXdz0A$eGJ& #SI ,[f]ĚXtlH,3+n"V'=6p1dmq~Rdnqڦ6鉜Jh%v=ͰadqL\GcT4%r:aR\q"FsTaS0x3B|b{PNV y'#Imq0|*)(тdJXbom#uߋ{–0ړ0X`ߗ.vBoUHrzCtwubHG]΃3TٚbbQd0zĚțRv.gZ5⏘Mw*9\\ qrw.-_t/ {IՃYXïWQw1pKk$s㶍 (t沼ܤt+^?;yw?εkٍrSQy +n>tPa$t䆉"%jiVfmmFa- i>\ 7 u$=kW Mj٢d(Նе\8[0|\m{qPK|PKX\I^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKX\I settings.xmlZ[s:~?"{!m$ 7a/HrV2)5<1+oW+(Qޕ./*3!F\NJM_8i Ҝk0g])ULs],]7ao;eٕrvW|~1@5)_j~4D9CUeOUEl1NYRyWV|cj~moW sn 9[]K++j}wz 1)eBwIr[q./<2ӽT |2ݿj`DcК29a(ҽQ)ёMs 0\jބC6C'u.=GRӍ6壏(p*| 5TV^ٳI1" гrXKVbҥ^ HXHnsAc3!Z,}P!PkO;O4KZ wz5ͣ6ֈ]}UkEwAP0]`j 44uAqEѣq2ic'yhRE>@mF螴̓.h@^B)w&BPC3j f1Ea*e0FYD%Նvw*2ei!3_eYe0/DHoC+ujo}t\^!mŝοl'N䘞\kBSap(<`ݑ]}$lCqda's2 J2Z[|mG1v-` RkQt@<8|*eMG Qs[(ssksdΌ~'sy(RႡ^{v֓-kQne*8f;Çs[o zC]J 7iBI-Oғ]wUp:ZPR$}Nʯ5djyCloU!/ @`nh>4di> j И&* vmE*4L`Q@7]=RBk'[nJuMټm5\T[a7%NH >'3iˁONyD/+LSd#cG>0EAyK'ۃGoyęY{Txi\7k3qjoq"7fMjjguy.5#&G?p˳#_G|? M_h7S$hr;߼PK5wO(PKX\I styles.xml][~ϯpy+dϦIR٪JfyK&}oO/IK!> <)ݺj5.8I+)v+V J˦El4q(nm kؓew(j0Y>Ci m_*7̹eyB* ױ(-qXbw]BdR#0 5ӂ;ֶ<8"q*n@;pm E&<%+ g<WC7^|fX,k0tL1qQFG @Rx#d!L @ا$0J &Z!Pq$*} !VU~W,ik$}"qy{~Dp1`[AzۭHhB"ibX|*1i U+))8NOc]Â`|$!Qt;5bc;8D~B];6?>RQ\?6oE/dI|Ba29!zMxwYkG:?L( xẎQaQ /N}W44&_0d d6E2wkw=2H"ydohC˴J!=À, I\-_ 9=i~ssnW*Ww35 Ɏ"#(K 0YQmQ*ZwӂBS :8 6Użt=;y6 1Dڟ~؂`6YA !u&3\T-Ƃ5ˉ+\(e mp1^WBfe|x&ʀR |>붠?M*P0(ԭ_TqXV mbyh[![yl,4( 4f  }aCi'9Y:+6K|mٯl^MuAw9LQlk,g8Gide+S_vMZ1:+5qdd--0P;ֱ!O<{Cmp( P*9a{ȓX\3C=@wǯֱ0C1PYVٌŌ"iJwݖi-ƌo\0y?CA}0 d9 -9qp"g]PQ;;>=/ZХ.)g@Zc x@IG\T;,zQ$sdO:׉Z+XOiCh=`^8fvm<@E1i C8+Ҳy1g*%E}SM_ҐNmR*Ovi4Ahm|Mg5-Ea4굃s Sey2"!%Yp ͚LoKHl!ZTAV˖ Lf+Ҥ!vîݰU^~g,R(۠ss88󚅪&~~RNL^ ۹Ŀ$oC{{#&~##)ٱ-S$y5s}H͛{9kgh[GM+-Fq#O}W\`_ޏp8 y-hsSNDo}MT{%\])R5nεƗBWkkPڴs29899OH΂3h&,,gxD;)zx𥾟 ѰT˳MM5bkYnQQ1K _9212yUvBfSV`H˂\$$:}pq7b&=jf${-/Ph5:w@YzFK0N-uL'jO.qtEœ+,s߉k7cBQ> j;oJ+P& (> kM/Gp?Y q< pOȤ/H\ّ鱝:S(jUH-Gξ8 {b$|N2'Ig:Ӽ E*$#=<6Ykk\/1>WwrLۗr"k因GZLsw}]o.'rƴ}_ڦ\tS!tۘ Sg:=mǔ 6+/}t>S.tۘ/ l=rƴC=o˧`ڃʅ'Kµb 9kBR. D]6"cUMETA-INF/manifest.xmlPKX\IwwwThumbnails/thumbnail.pngPK?KUhI,V $content.xmlPKX\Ih N manifest.rdfPKX\I| meta.xmlPKX\I^2 ''mimetypePKX\I5wO( settings.xmlPKX\I [ .styles.xmlPKp#pandoc-2.9.2.1/test/odt/odt/italic.odt000066400000000000000000000242721363630463000174520ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaF64(Thumbnails/thumbnail.pngPNG  IHDRzAIDATxA DP@Qj_6J#x5,#& eY& h胢>(胢>(胢>(胢>(#}쯳?1X9MbV9\ʾ=#}l5u݂Q|RAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAyNWIENDB`PKaF content.xmln6} Cz$vc/@@o ZmtX}$˱dK VdW 99T@w ㈒5pV!|mHQ"=MLέ-#3 83g›kEs.qi8-^uVG`Y~83+leR+Zyϱ2Az#\w9CLS7MRppd{.PM݁3p P6>e l%dS8ʟ֥wӺ 5{#2>;YM^vF?{eRG K/S[g)iA(a?vszw|ǐ,c5Ҍ /inJ >mn|^0tuwj¡{60ctF @a BJ'.!e"M̪|ilz5\SȕG_< G~Qq)Im}R+Xm;2irsp{1ECk\0_6cnx`dHL=\s8gLa-ГuW}Cyq~iyA&헆ZHx=髀_n!w [q>g.`c܅E3n[A݀<;'ݸϣXsA5& e,z׃H>`~b?6:$tǓI8;2 ﭨ^F?y [8@>6PYw&᫂6,JH<נ/!*F.xfadȻŁd"$kakס5S/Cӝ]2~#]ylm84Ǚ2~oHȫ͖'桪 ,|s XuW $;j\QRW.z2G|GWDУ큈/[v߹M5"rH= r,{%᫱wL\Km`F?3t&j\bڰXFyI\j3b!97\"ڰ\uyI\jsB6q7ոab8׃%q ̴U{Ԇebr7htF#0A;`FH,F#h,4 h b4F1ASE#hb4F1A#`F@,F#h(4 hM`\?!>ϱ l]~n9F@Zµ+GXyAgaծ'Tƕ'tW*CeXy*CGa}2}XFh.?ZeV2G`E.Z ?/K?=o[H_9mY1xV`Dod?[.P R|`z6V0VhY|y4[:%qd-'W"l="|rPK0LErPKaF settings.xmlZ[s:~?"wS!!雰Fz$9ʆ4CĒv|߮X=wq^@r9''sKx4i*)K̇T&2uStML@n5_nf/Kӕ4bqxwj^h4lt35@9cU_BEvALYV{_֛|easZASbkg+T69,^[+`L͈Y%4¥Zꮄaf}䡉ɭ7>\{oMZq_ЉR0E2*b:zpC8$}Ƅ>Z|%fIjpek(-8­j(rƶrOťHwq5 (=M2et&tt0;(>$`|(.OHvENá>[aj:(XngZz-F|*-weA1 ]E |רrhx T'!OT1C.J.aS1UNW=B"JCPXGŒL {~bF8NX`wX!܌V; ɷ5dNX^@wi<DC:4MTdv`,`3S|OU*MtdD' "\JAnѡ|e5nm.Z{Q(`,.Gر@981`6#hw ĉY9 .$d W0HmU?L;kͺ(CP:8S=ia,U`;GQ0NqF@nu(MEQEB/.2 ~i.QA+m,╦']f'" ?4$9K{ϵ oeCh GBb@=WS&~/%:m 9?IĊJ e\RH~YR!a,¸:CvBd{e9$YJ@'&5_M0c I?s`ڢ!e>yTQQ6 _t2bͽCI(:}-h&$)Dm*lѐ]9J[q|sܡJ C?顺_=_PK'#((+!PKaF styles.xml]ݒSP>T-{Rcoƾe+ &g ?EyL%Ax['C<@p`%m-6 2H^-B8Y|v8LDTp'tZn?1Ib ֡>(U.Wp}5pt)۟O}d)jx/@R^ >;PEs~4>hBAu[IP!` %E4s#R6Hc]5 jz#2b ,Hן6^W_TȟPLҿ(x9~4SƘí{3o1J/&wBs>eU7l LYZMg,B"bF.t|5g1ZIU &,Lc2nH9:Z':>2OS B6V&-PJ1Ɇ$oMFh gEaB6yl: |!࿏F|?4 <1H1FHx$N]qfb0CDQe{$$%ɒ !x kL0Rۉ3o|M%G1}f~IĆJ:MXdP$4点rAAP߄Y΂Qs/КD_a֑d]hVl,,`oo& WHf wHH@XFX5]}e$*k9=v%G;Y߅)֍s_ٻUKI7x*,'ߟI+IJc$4A QR'>c3!JR fF8[s cr_ !7A4At_RkACQr0Ch ߠ7gۜ;հe5J ŀbsek$fcFlEcD)FeJE-"ʗ>sWT$h'!ԓɧbhamh|q:b%fr IC lK{S #K9;wR cүDa[E!,HVĢ@fNhRYや!bߜyQAl_h2%Rx"%IUgφv:eiJK˔=K -=옥bg~v3:ffi\R*愳[혥%biN8:ei ˡLٳ YڙCR4'ғYUiP{$=혙SKJМpvKۃNzh FPZN1>I?u,XېI=5)}K-uGg{Y,8[*goh:aKJ AH ;\fT%aa*ʾtTpvP8{$*QphjxIw(&p1&wT#k0h"kzed.YqNJc-BK"-h*"ι"|W+ %2B2 oT]\u%ekU C*H-Tjh9#u",^;< p,\#k/myjH-\7 ׃jk2PFH-\㛅kbM4p9PH-XˆEKpH-\ۅk ZT(D6RhYUWGALȼaydx<2G^-r 78.0=\+{9j饡CE㫟 QbUߋ!o,`K!%X`M. ֽR>te[l {! ktieqKƗ^0%iXadt2zf>^30{0\}EwͿ ;_; JI7 E:pmǎ,^.yFelj>A"7q FtpW]5X9ߗU.y4,0_N4*p"Z [ټ1 %Ț:ֽmsܨp6~t Ρek~Sn@WR;@ryMkNǭ#\7-;Btd -CT JQD2r;3{oxYύN!SpUY&bR}ڏF#đ``p#PuÈgҏw譓+)@="5WHi+Ϧ7y3wG #l9^54Iv)PF~Ngj3̻f&I ʡ&I C]OI>r4wQs3蹘 Rإ`Hq,q[ =); s 3g'/UxЂbA>툃]'nOj8ŤV hه Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:52:32.92Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaF64(eThumbnails/thumbnail.pngPKaF0LEr xcontent.xmlPKaF'#((+! settings.xmlPKaF Ɇ _styles.xmlPKaFh omanifest.rdfPKaFf*meta.xmlPKaFjҠ">"META-INF/manifest.xmlPKp4$pandoc-2.9.2.1/test/odt/odt/listBlocks.odt000066400000000000000000000245051363630463000203150ustar00rootroot00000000000000PK6aF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPK6aFConfigurations2/floater/PK6aF'Configurations2/accelerator/current.xmlPKPK6aFConfigurations2/images/Bitmaps/PK6aFConfigurations2/progressbar/PK6aFConfigurations2/menubar/PK6aFConfigurations2/popupmenu/PK6aFConfigurations2/statusbar/PK6aFConfigurations2/toolbar/PK6aFConfigurations2/toolpanel/PK6aFDݮThumbnails/thumbnail.pngPNG  IHDRzAuIDATxъ0@Q_v"{&]]yTGIcn~_ޚ>(胢>(胢>(胢>(胢ʒ>v[v֯V:܏q;v>[wVəN_~i-۽ݐ0gi}@C%M#)=l8k_F޵;\rjYdi}4lOO28ֱ>FY>g;L7gdf:/||2g_Linq*9Bzˈ%qGL||?׷??(S>ΪoGn :;0ݜ>X<+57g>)E}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PA |VWIENDB`PK6aF content.xmln6} Az:~v-hPJqrSzcII-m"$9C79 Ы׏ e+{l > PY߼"a| `\w̖zveh$!AْK8Zj/=쮌>﬌V$Ώ ;!Yѳ(1Wdyݏ]B7pXxj6*=܌yCwej|ҶR֐VN aS"6'Ro\8w}#'̽[1jFUG)J*ߦ.BP>*`0uz|O`5󌓨,in >2 _&pyz:7fɥ0ctA1 >dJ'tQĄ5c>r63 (5=qs{SFy"SۦHe!8IAe[bYxy@(@N|n e+%:Ef!y_ō=EkK(L^X'њ53Ew9l`,r(#.mE,lEq_ |% [|#HVOq$:xީLl@ W}?0+ 2l(HلԅDG 2رL>AMKwCnI9./{>`vwvevv 2y @D&71Xiq6l6e>3IV!aEovasq)n$7]B>QEW3pgi:A?乇3,f%gccY uh?̟vȝNqI=2cë%si ̴l·u(ư&dRd.c#y=.GcX}lcSjXd.YqM.GcX>]^J0&.h#XFJ0F#h%Zh-c4b1A+\F`4nb1A+XFZ0F#h!Zhc4rF09!Uf(LEۅ!z\nqPgupʁQVr[X q =ոPVSX_@{L{-ڰ:Em\e:EOq5^ԆU^VFm\eFOq5tԆUtVGƫ15?~XF.t?:eN2G`C-Z]?fF0e2Gp3)\F,t?EEwĚOtO3ƇW|: `(NZY=Jxq d7|bםlYWMq;5Ch]Clv5Ϯf`:OFe3yj ASwļQ5ku蒣 9ZP "f/`[1l5޻~->bf1< DY$T;8ޠ{hqQy؅ +V%C[0p848xG';6PKQpPK6aF settings.xmlZ[s:~?"wBB/$t )- fN߄`5#Yِ`zXҮەrigP./3\.izNAc0>yd@$i7"TЀ15]i,wy#I >Uv*{izaOч;/U oxH3Don6cS_q#$<5yT, )6evkl_|Q#e4 Ex3PM4RJtJEiɂ.1aF7x[ TUGn;&S&:T=H61P r[/s t5?p((tDi,Q&`\Lf.'fzD[^05UN2n[f4&l̎ BA|BO? * œX0.`;GQ[P`fbm'8Lc :}c&(tdAǕ6TJӗ.s\B E]~ru؂%}9څ2G}!i c`!Jv ~ž7{H ?̗Mƶ$bMer]( ?(X:0Oa\xbsHƀ|q { VÉQڲс,%N!NxڐֆWp@$[a9"˗!,I O}ͩ ~RM-5Iw@׷9T&uj[nu7 ӽ~\זY@fe@ ᣢ'Y7ƌ6re/VC 9L(6PUDYeIh8F b0mѐ2x")(RK:1!$yI. ߾V@B S;fh%ዋ-89Rmڊ{?]顾_?PKm(+!PK6aF styles.xml]ݒSPJra n3=[$L^o [3ri*ϒG'#ɲ/ I;H:ݏOp4 уa[#c#Az0~ޑ2O|L]G='>y}68ϼ{H+”g̲t”wO-̘ei?A۶”l*/I[44&FYPSDuvc$=χZ+<  qigж 啇NZeq#Wxk Ƽoؗe7([k0 ?dӶ/ʻg*/ ܲ'LLՙsT玪 r `69wT*7ݠ 7,L@&o twh WXz \k'_)WH/@@z?. رܽsн9_] /܈^ 8Q;3B*U.W= cؕ oE\ K'2-x =R-m_SۦZ Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:41:45.06Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PK6aFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PK6aF^2 ''mimetypePK6aFMConfigurations2/floater/PK6aF'Configurations2/accelerator/current.xmlPK6aFConfigurations2/images/Bitmaps/PK6aFConfigurations2/progressbar/PK6aFQConfigurations2/menubar/PK6aFConfigurations2/popupmenu/PK6aFConfigurations2/statusbar/PK6aFConfigurations2/toolbar/PK6aF-Configurations2/toolpanel/PK6aFDݮeThumbnails/thumbnail.pngPK6aFQp Icontent.xmlPK6aFm(+! settings.xmlPK6aFz݋ ' 5styles.xmlPK6aFh manifest.rdfPK6aF)d7meta.xmlPK6aFjҠ">Z#META-INF/manifest.xmlPKp$pandoc-2.9.2.1/test/odt/odt/orderedListMixed.odt000066400000000000000000000273021363630463000214510ustar00rootroot00000000000000PK[NI^2 ''mimetypeapplication/vnd.oasis.opendocument.textPK[NI.1Thumbnails/thumbnail.pngPNG  IHDR߃rPLTEXOQ[csaKEgUNkgh`fpoovmposjivphrhxxnttvs~}yrr{v|y|\mkzvvt{u|{v{y|~wsy~w}ibsetp|t{z{u|x}y{}Ũ̩Ӷ³˼½϶μü̶նݸ׻޽ưø˸˺þѽĺ³ļǵͷIDATxkLSgpw19u ٔMS0#LYuzpT:#h.37w`ܼxaaZȤ<4/3i^?Iߞ_70 0 0 0 9jxPU+ʶ*f!R 99DDUGޒ=cAlU7δ^r^LVc> p|Ղ=?K2:_f`1dllImE8(pg;c5F}PR ~MB'Ls1\~/xhX$骥SثFSuzz$ruHT#dU֑Wc<2/?I^fFϟu}7_"Ӹ(~FGNOOL~\sk&~69.fs6ȩxN%KTC DžV[n&䖮Kꔆ7nt٩ 5Jׯk-W=vvOK<]Bc06YgtOSRܴBfBpR-~BVPڠRHbn3)+t@U_sJ۠r|k``````````````````````````````````/_JʅIENDB`PK[NI content.xmlZmo6_j>M֋݆6XRl ZdTSsj=wTQR/@lxH z.*澿ZFgoq+JA *}L^L(l.2_`184HgʇlpF&wďD5j;)&eYtiS1-%$^-n0sp$ݴQ(b)Ǫ/@u-ܫP)KpL۪N5~_7eE>5߭ q/81a _0d!HV2/ bL/-^d3yQC;y@ K_1Ist>39Ol%T8?ǚypQ8i{NmخU;Y 2e# }/6Һ 4JdܒR% Lq :ȁư>^ Etj?+,&ȵ$B^ b[p~Mwݒ @Y#W٬ [֍j-8tS r0/2b ZS&'40ԍʠl*k1I3kw(50w⭥j5#\Y{WշrRdh|皏>Yؓ:(n1&`ɘ IvMQ˖,I~y&dYk6 k-iA@d n+Pb{.+ëi~!SPm'3mx * iHbo!b,MfrOam uJ!"BnX ,=(FFR7dD1 q;F ڇb7fmT 3C|̒: l#N&\zKM7ڔ>%g[XS=(6wXyzeOrD$}ƈ(l|Ccs/Yiz0em 6f͕6a„hTAETB nn<_^<,A{h-F 4ۈO[ 7חecwAxPqab?*N!dʋ|DCql8=ike]d񀼄R,=L$ gB* -&L8ˆ Fkӧaz NmK /37TeDӂ/C&fޓK>@ aa؇j;f⽪GCk;؞M1= pE^qPyRῺ#\H؆ ,H]I ONAMed7.1b:f586".xXo(]S7L:Ϛf$ .pQ׸5="ǂODPdv%C'["ע<0TIvR32cφo">#:ԥ')t)n7Ļ,suF]H ;|߼mrp /oߗ 覫TJ |-p` Z)޺ }j+Lĉa4fx0m93ۂV~%М~&#l6ѧ((}d{-8R1Kwc / ^c ~#.Xm !I̴IU~W|,:Υfdۤ$wnyvD넏'# fM|e瓷JǀPK~PN(PK[NImeta.xmlO0KR=z{߾o&7=]{H> Bŵh?2&9Py[<ת:~kլ UZNu jnkFr).)0vxΨ W(1;4lC:z11`aLFcY%t}ojᑟcF*i%+76 3V*Y*S*wy89C1 ɁlhR1\tI I$1Qbm#2SS9jSiT R<1]h%$d+O ޒоħۗí>'^f`*CBe|I (Wo# dEyW ;iL`~NgG40ܭ8㯂x"w{ i*!qa<ޏ-Ӷv(Ocl) w26$~#40[y#^ը\1>*6FPKv 1蝑(vqE!&%+ &`XfA`EAQQKǙQ,+JBL9wS-Z#`A$ͩ-麏fcPCBes)>XT#5y\`bZ%BFoB1ݔr*}KKxUIB*oWT:1~T6`PN)9 i\v^Atc1 CP<[ 8Fb:%A+a<)?NXs*R|˔~ |v<AV&taLy7m1/KV]Яtŵ;ÎIrL䚽n?^6bٿU)+YgUGt ~|/ ~m^6uYRXV|[ɻkTO%bU!l6IktΖ{]*b̭vupV9 ׶:Vs}R*w#i94~S  hlfIP"LD"RY-[FZ00@C|W@0m SiFW?ԣ7ҷ;R.? \O uÁah:n1^tot}w~of%*R{e53uiAg{f]_BX{QՠOS/Eq `~./ՓA iq5QcӜi\y褟w₡k$S{-*ivh$pѧ)}rυf'svs y.~KeǘAS>Q<5ؖlsf}LJshXEmMbOתY٪\6sI7Sq:jP(Vm]2pCW,fҳa,|lvqEqh,ʦKcir񠥚Ąr vdG;TZs==sx:04:u<;x\9t</:^CW?ұ԰ү}Үѯְyh쨕Pɇ$YlYQ]cy4ifXYI?vO[KwU2jn+v 48Ah0遘sCLjP#ƅΆ{CL*}KnBgClzCL*s]H:b 1YG:bbRՙ1!t67jܹ9^^5^w!:br̟-&B襐I-Ϻ|?I N%K@ b\_'p"^1bL,q]z<I+bӫE6OJ"]1b;&5/q"6Z(:斯|T*.{ҊjsͩC[2* "ZĦgٽmZ<|'.ҊyUB]1bÃa3Z?移J"/AO:i0rƴ{cXڦ/lLwKMuo1Bi0Ɣ ]6ݛ8Cԛyc/lL{~ ;\U@մRHֻ}l$xΊNe`.}\I*1x! v I$-0R/p"< T0dʱ|E=|Z &8-J ox I8 ai0f*슃t[w$&٦Feņͬ,]7G" a&YXI*>tLkTE|"gbdž(yJ{4Q&]&TeZ\CAK `-7ZqNH| `]R^+ D7G1j`DZ.TQrb 1HG:0W5K,Fcr=*PKfEP PK[NI manifest.rdf͓n0P]Cc7`@ E.# |gr1F Îv@t_k<4W'w=-ylME",So^w>p@p=U+|PKY>PK[NI^2 ''mimetypePK[NI.1MThumbnails/thumbnail.pngPK[NIc4*J& U content.xmlPK[NI~PN( settings.xmlPK[NI meta.xmlPK[NIfEP styles.xmlPK[NIh %manifest.rdfPK[NI&Configurations2/toolpanel/PK[NI&Configurations2/progressbar/PK[NI7'Configurations2/statusbar/PK[NIo'Configurations2/popupmenu/PK[NI''Configurations2/accelerator/current.xmlPK[NI'Configurations2/floater/PK[NI4(Configurations2/images/Bitmaps/PK[NIq(Configurations2/menubar/PK[NI(Configurations2/toolbar/PK[NIY>(META-INF/manifest.xmlPKp<*pandoc-2.9.2.1/test/odt/odt/orderedListRoman.odt000066400000000000000000000267221363630463000214640ustar00rootroot00000000000000PKH]NI^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKH]NIThumbnails/thumbnail.pngPNG  IHDRPLTE[^qieimlutifrkj{ndsoqxqcxnrqupq{{stizt{~~~t}zxy{|yl]falgslwqzv~~~zzu~~uxz̦àʩĬͭв˺ɽ̻ƽ˿δۼѼɹ¹ýɾѽýνǸͻȶsIDATxOeptH7U痩d st(em: mNre"l0=ݜбeMABu0aEF: >EŘ 3^+y>EGPC 5PC 5PC ߆wߓ'79ݒQݠbGd1E i3>KyӍbռ3qfzB@^O.ufU>|AmX8\^úk_:8љy\DŽ?7jn\*bqs$Re3Xg"!Y"7?q.֙MſSfB ]R_mJA\:莣J yyy[ YwF}462 Z}؍+>{ [Va :]'DV]V<}ULF=;ݜSw5_6rj8H҅E|jFMsgLwղLPcKNbiU[UUU3ҙ_Gvތڻf{)V[Tw{g6T ԭ4w!IP6!6$ߺiҫt:nfѹ9MjizŇ"sAK$כnP~FVJ6Aj7^HN!&e5ptGt9gtMQGp̋UvqsT7}*L0S*6>}(bU{'9vug$T;jm|o;(r ~#r%z㔨0}-ܵ0.yϗ?"Ą{GH5PCV{ϑBhANlkH/eStV&>;mW_S>٬,3Zqg~tHoZuV꫇Jg 7Ls*125{)l6qfYXe MfBr:dM ~c7+W(Xv`]zwm.o]īQԔ+_ w׶R!*RN}xk<nyg Z7“mW5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5ԢZOvIENDB`PKH]NI content.xmlZ[o6~߯P5`Oeqb{MnÀI[,)((Ej$'~%[]_󝛨}R I8ض0 yDXrm~Ùn~x㘄x0O1SNșH3(v.؂#I䂡˅ <ìZ܋brE:X`6~VC5oKw.MHPa N5c>TYR'4C^*-\wZVs6 _ ZpE)֛Iyn͛bڧyMXX v RhU 5Q0DDlԲ{n "m*$|̒۔7j2A s- V ="6iӀsO:L׎=[f!\nf0[{FhzO:uθPcۖ*鮩5k"̙xV%WQ]"Y7 xcW4i !."iPsU9?gXMB[4QOPY.CCLS N*! Qx0AQZBJ9Q]inomb؉pH۲7VKl v͒RSlwGpKpڡ P$Cǚbk`>j&WD][uYRordDN<ڱ]YI3#0C~Bt&HClwwZGЦIz-~[~*#3$P"P )9DHD5 %𡘒`(⏿\abN EjD596(FN s]-O<8WY ]q4>Rh3#1cHs(B EAZLK:1FTB&@D*0+)W|mŷB"0cd(i vFá{(Mz3~cMy i[3Pi|#$uj ,fd.9oRj'Ds9qv@"z|s :~ Mڦ(2鹩K+JwsJ GN>"0.Y?8wwE3yU֔56?;j?톡83 8=rd L}18)g;q/:ƢnSv߷'a_ N 7> lqA޶;Ɋyc\,]Q\Q°S<rđwOЫoFb{t:y5sMCGcGP5-3l8*=X'LZn݉}+Q.VhhڎHn PK*&Z&PKH]NI settings.xmlZ[s:~?"{JB[N$RZ ͜ {1:Z$]@SԠˮo]"g/4Gy[|sQ9be|[yϯ*ɄЈ0\1>ץno+ dd \xt)˯,ԘQ7oP못~4D9_Bč"Bvq4ݬ?@bmslv[!*o|0eJwʸrwqSq.L<2ӽ_]j <_vr҇S ֔1&+wFePNGG65|O?OXze v?;jy;RQ,ڻeyERXʼn=yj;x&IaɈDmG9 li+G[.8;YVڥBjگK 4](=_K^j4)f6IY6[K_Q%̌1KR&q: #-=.5hS>—n]cMua=1#=+Oνd%]) i)mc\ic/{8L->J(A 0f 8@k6Nfy4@F|˿kѻ ;(0]`j ZM ͠QEHS<4P$[6zuOAYY4 /K;$P錚Y@e!D G|pim(_dN?sC[fL4-">dp=iIXxvCMV+߫4‘-b==tD6+W܏cCIr#aAY!ӇA'ԝ,(ojm]2c!>m)GXl ~u `09"r Ҙ&*v$mŞ,fhQA7m=RJkg[nJMn6\T[a7%Nd҈uŴgK `X )×NU-6&N:uJ$L6dZ{9 ^jsAҳfyiys<+1fQ=/إ\Gm>$]C\{?sPK2q PKH]NI styles.xml]_ϧp*?6J6UU{W26Y({gG'IK!c cϬ^ -5na}O8#<mp0J_`̆߿;XD~IY0%$>7Y@P ZHJA~`SW`],]碫0ݑE33fY:ж0 U91NQ5xpUhnͭkl9}1P8|&Wpd6QŻUJ69:hi#+u Ƽ v e5*VLf@d|lu.ʻc ηYr*(XxT-qo[ٷYTLbZd2#0uӊ;7e8%Y!YtOP`GתXԊuqGjS w2g;~0&9O ֈHꤚ-E_M7K7 ~NqQ!Z!y*{ !QUll8T$.ʿrÏ(Y T,(~(Q`/9CH|@q4"5E4c0,c"R~hx#YiD!|FI>% ERI[U| ~n~? mb^U#sJWQ0xFA"Ȋ8zyVҘ;xh<XPM?+P0(UԜT~4QI]ry`K [!?֑P[$(64]}W# $tWGnh`:${]+rS2FQbZxSW WGYLKI2Ʋ۔}9h,P?&FiN6&+qjdxӨ;4ElV׻f'9k2f=[vp} B*SVdS0bDfmi4} G_s8c"j:B4҂ɟsaW4nɆa׬U~o?6`; s${4quK9+PK>۟t71XXjM2KTHU7n`2CR_/[{Hsfru RԐI7⊡kԴc{݃ovl$pvVUZ̽J涭dy;!hGW8LUP#}bHeǘAS>Q <#Vlf(QshXv_mKblOl ղո01U?%e`dAV͖A.!p[!mpM&n_'7#J"oF6?ai1B׍ifH0M˟B1W7ֽǔ ]7{4}t 1w4\1;>rQ@t ]TM*!΍$h`,)ߝ _Td;EwY&Ơ$0GhP`Vp$<iQAJXX>b>Jm%A}<$ 1Oi53 PNG B6N#csS࣌bqVaſZd&,` Y78$+2rxWJe09"3y-/5zHbWK08+Md5YB(@*c0`Ln7Т/P?8LH"|[b{NS^ ĹNNaˀwOJ5jwQHd#H]u79ar1_#xl󳈲ΒOK!\%?PK߹S 5PKH]NI manifest.rdf͓n0P]Cc7`@ E.# |gr1F Îv@t_k<4W'w=-ylME",So^w>p@p=U+|PKY>PKH]NI^2 ''mimetypePKH]NIMThumbnails/thumbnail.pngPKH]NI*&Z& \content.xmlPKH]NI0'Q( settings.xmlPKH]NI2q meta.xmlPKH]NI߹S 5 styles.xmlPKH]NIh $manifest.rdfPKH]NI%Configurations2/toolpanel/PKH]NI &Configurations2/progressbar/PKH]NIG&Configurations2/statusbar/PKH]NI&Configurations2/popupmenu/PKH]NI'&Configurations2/accelerator/current.xmlPKH]NI'Configurations2/floater/PKH]NID'Configurations2/images/Bitmaps/PKH]NI'Configurations2/menubar/PKH]NI'Configurations2/toolbar/PKH]NIY>'META-INF/manifest.xmlPKpL)pandoc-2.9.2.1/test/odt/odt/orderedListSimple.odt000066400000000000000000000270511363630463000216350ustar00rootroot00000000000000PKv]NI^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKv]NILAp7Thumbnails/thumbnail.pngPNG  IHDRPLTE[SUEUb^elg^^bgkjmsuigtlj{nlvnpsquppzsq~yt{z}com{h{s|~~m{zvy{yto}o}~|uxzvzΧţɪĭʳųʹ̯շκżʵԳݸнֺ۷°öǸϼĽ½õ½ķüõɼǸȹMIDATxOu@0܃tiхK0ÕB;%cC6hzN3tQ ZZVtv:DI iQH?`ab\vI7Oޟ^nq-jjjb# ,@NzN9(ݱk$wg2Q쵼.i]joQjQ7H7D/j8C7j}K]i(ʨz*X j/KS/or}^ )s|ʐw%eEQsZZ#zDSI15,2`z) úN3g;Ɓzka>tmW䛚}yэOQH?8r50GmZa/GﵨNƶ$+)fpV?O~i;,|%zHFLw+1rNAvfZ5UFҠ@uMܶRv|6Sz嘄oc.X%v̒+?#-|'<~XšÊ=9U+S&Š?u}.3t҇E3|'R>YRrژ]MQ V=ggߐhp$`)5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5PC 5P_tIENDB`PKv]NI content.xmlZo6~_i&˒#݆XZlo-Q2QHNّ[}wҺ 4JdΜP9q < x,i¢Ճa8 LZ.62B:Uhѡi-M7B 9WXSdyPDŽ֠ 5a$,ʴ^G"*YK&tC7pWGwCb𦂅W}353k3j^η4G o,Ʃz,jA|sG# (I^(oh ]uƚZc?]}b <KpȘ>}mS78ZѮ59Qs_9cB+;)$ߢ%v$1g%\)+ilҖ';h?h<7mȽә ?9R9IHb}w똋M(N S؅{ Q)N>;t]PKy@~B&PKv]NI settings.xmlZ[s:~?"{BB4at )-- &͜ {dGOA]i/~݇y"N^Airqv^9a—n]cMa=!)#=Kμd%”EpBۘW4 RQ %0syD5AqW<#n">mml " ?MXVB30(zT8;R#oLhx'4VݕyPAK(ƒX[kt ,d"ʄ~l6cKjk/}_2mhaw_-3&}2i4U5XjsB$?tl,R;ߦGpؕeEX `+tH6+7܏cCIp#aAY&A'ԝ,(ojm]2c!>-̔+q|GE6<}gP88t5m3H@\"Cm!(k4{E'C ONK6{ XW6jDICydLCmm!f**?fƞu(1D}Fl%8?KWRRo1wUiljC H:)~>M_A> d[M>5tj>09"r Ҙ*v$mɞ,/&4L붞r)%y-7k¦lzk7W.X 0ٙG 2iLa:bzSgS J4<М^&#m6ѣ&((}dh.8U1 wO# /^vG# ~#.Xm I̤AUW|6-:ѥndۤ0nyvF됏('Cn fM|u뫷jPK4/Q(PKv]NImeta.xmlOo0jlKR7Ro+NFƄ*qo=&{<ՕZm}%t!U_vу -E5XVղ;l5 PK ;h4)Ja}QMix.h!VL5RPbPC 5瑴֫рOGO ]nv CB- ^挤fxixs\ \)1NfQ/,OI}(- LR`ϜPK|; PKv]NI styles.xml]͎)^$@cVg{&AE2-Ѷ2(Ht{NyX_qάJSB 3-Y4?3gVm 3^*>'}_Ԛ+"ѤKdKJp&ba8Tp$ur8ʡkÚw)UU֫.zQj i%*zgކ׏Ǫ ѥ?5PxLI4+nU"UeUru= }S$ {4'+р;i9)Td?Au<^KJŨ5뢈c-+!ѭolen< Ljp!a4IXȴ?' N a@"a$rǭT/KCBa+ҧ:{א,!QU|W/isE؊q}["y͔{|@rNͲJך2vT3B3(MfEf-p`,7IYEtJ r >#engQ(+~(FF?Vn_KWoQm>48^U`1u*zdҢ@25m$&PDZ(iA>cXISK7h%y2y4<HNyXebHD1Xm4plםI),T/*sAd-I|!,1T[ᅄ{^ݨ)&KH(-?QIBkJ$\IIŊ| #$5-L -,:r$1[X实Md#A$/ՖLY̐1pmh[JRx?\&_K!hX,ߤa0v* }Ky+-$BeYSF5ᇟwfi_O(SJ2iO*I?2NS̡.rzZ<#Ulvu)U X_]HKucm֟F\e%gqab?cew_*ʠȃJW;VQ-ݻm%"D{7Dʄ7khd3-#a[,bl~pNҔlpl^E2T [eoWTpS{@5Y`ƣSؿ1zl<6x6n'zONaxjTo)l<1zlj-ºmY6[>]ƌ$|=Qf'єťNT=]_xZ:7pfPHECPz:)JĄ)[ѧ.ĄS6ӉwdFL 1!t2wĔ2+}3bRdM5S X%s2wIph!NXxGAl2qc;d5dxzh! B>b;ix_rpe?t b;| .{҉ňMc{t"6Z\ۛ]T C%tݓNĂ+Fl:M)bB袻'1iSb'^*B=Dlrܡ @EO:^-b#;p&޵|'.҉Xx5\ismho3B? FV7\sI36P %5 @yE-ҙ/(J=v܌7PQx# CfĤнrs.ܙB9 fĤнrz&cˌ7PNLWZ͈I{>1%D͓3{lމ7cR>9 j=uސ5Rgl5PFg} > m+?E%Ǡshѹ1\6Zt. r :WlKx P]Cc7`@ E.# |gr1F Îv@t_k<4W'w=-ylME",So^w>p@p=U+|PKY>PKv]NI^2 ''mimetypePKv]NILAp7MThumbnails/thumbnail.pngPKv]NIy@~B& content.xmlPKv]NI4/Q( settings.xmlPKv]NI|; meta.xmlPKv]NI 2styles.xmlPKv]NIh $manifest.rdfPKv]NI,&Configurations2/toolpanel/PKv]NId&Configurations2/progressbar/PKv]NI&Configurations2/statusbar/PKv]NI&Configurations2/popupmenu/PKv]NI''Configurations2/accelerator/current.xmlPKv]NIe'Configurations2/floater/PKv]NI'Configurations2/images/Bitmaps/PKv]NI'Configurations2/menubar/PKv]NI(Configurations2/toolbar/PKv]NIY>D(META-INF/manifest.xmlPKp)pandoc-2.9.2.1/test/odt/odt/paragraph.odt000066400000000000000000000205321363630463000201450ustar00rootroot00000000000000PKnaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKnaF'Configurations2/accelerator/current.xmlPKPKnaFConfigurations2/images/Bitmaps/PKnaFConfigurations2/floater/PKnaFConfigurations2/progressbar/PKnaFConfigurations2/menubar/PKnaFConfigurations2/popupmenu/PKnaFConfigurations2/statusbar/PKnaFConfigurations2/toolbar/PKnaFConfigurations2/toolpanel/PKnaFQ))Thumbnails/thumbnail.pngPNG  IHDRzAIDATxj@@l "lazjFcm,M}PAE}PAE}PAE}PAJcll=o\4a[(crJd7B"˺;U7Yt:k%g?M?xA|n4kxv(2ܾ"=<2q8p(fe>Q.*+>[ S>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢;IENDB`PKF岑 content.xmlVo ~_ayd/I5m4yj+00qߏC8jkfɎ(M_C\/?RE$55&C7l`]⹀Úܠ\H;Vs+hs` ٛd=XڢB%5 a^Kh?YWiehv'B`X, '< #@q4N9lo-QK |U+G+bWUPֆwǷwcn M5Г`cUgB /Sup@} |G*UU8 YXDFvN]!ak<U'0 (SekN?EP/L1~`n*ST́=e;JgzRºSc!{Iu; !-yZ<2h'V~PV@D2Le r]ty 4M 5eΒoѭ'KLw$nj_T[!*jx[>FHj>;hS7B?5bzZ]tChFf HS` M'\f1|eJ6i%&lb rvv3WV|Y.oؘYfFQGSCS>;TU1*D|Udɕ^֋&ߘk>~zqڍG*/Vv}w+`cLY4¥Zm K8#{޸:8_❛>?o>q>  DLz-2(+ 1}ҧLָ`ѶvWB-x7ت6"k8.il+w_5.>{ꢬP'*O\j) JDLeY9?1I q8cKL"Kf6/my.T(i@Qw||*W@{Z|3D Svy 0 w Qj<)es{㈀h3QB fځMNŨs²"zȒ (&()ps" mdAIda[|@-ӆO=7=m*]$3IFL)EꭗL֚_djyxtDi,J~Q&`\L锠.f:Dgӈ[^A?3UN2n4&l !FA|Bυ?vTl#TGarDE7#f;Qar~e4Eq }8- '!LWXR+MW & ?4$Kǵ o#h "b@&nW~/%ڏm% 9?MŒJ e\PH~^P!a-¸:CBo{e$YJC '"_1gp@$[_`"˗,ID }){uL;PלA&C9-ڄ3V{VE?.xkK,$2$IT˼rc+C[+!FsaL Xj2O~꾴.-L[4{^`b>k 4̆ҀNFL7q8 c^%$WV!aJ{Lܦ ݕ$|u7V ]o}U=]OthPKvU(+!PKnaF;) styles.xmlZK6W*-˻]-E$!%bCIIQeVq< `-1JhBʔgVY2(Eyh1ʕq)8Y,-_U f4&hc2NIx X4RY+"FC>nFgv3Mc1:7 axo|| &{ u 4TiZn_s޺lwml=I==ɞb"%1p i긅X :@:rUTǺYdwnb(5HtdsElInzkF4Ԝu΃BS}-D} D g`e|1hA[G[UB]0K7`>!]"BYÔ̮T"z%3Nrn;NcM@vgqkF?)0-ޅ1U{,/ /Ft Ip%u0|3#DH.s}6?B eXdǰOWM 8xP w(JKg Ylr*V`K @V{;7 _q!zo2oHcxKx1%\+C.L{w"2C8wЖpqUA}3݆O9^!ǿH8kל+ Eؾ:n1>A'(=/c Dsa!)!iA^#y23x#`jbѽit(64ZnIok{W栓]çHSPv4?ñm4Ih9\bz?8fPs*ߪ ܨw)qhkr~0HR9u`:#kdxZ?Xpo- M;.V]~ޠ3ѡpI3uwi Zk5^z SPK;)PKnaFh manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:27:28.53Martin LinnemannPT1M17S1OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKnaFjҠ">META-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKnaF^2 ''mimetypePKnaF'MConfigurations2/accelerator/current.xmlPKnaFConfigurations2/images/Bitmaps/PKnaFConfigurations2/floater/PKnaFConfigurations2/progressbar/PKnaFQConfigurations2/menubar/PKnaFConfigurations2/popupmenu/PKnaFConfigurations2/statusbar/PKnaFConfigurations2/toolbar/PKnaF-Configurations2/toolpanel/PKnaFQ))eThumbnails/thumbnail.pngPKF岑  content.xmlPKnaFvU(+! settings.xmlPKnaF;) Fstyles.xmlPKnaFh manifest.rdfPKnaF8Mmeta.xmlPKnaFjҠ">oMETA-INF/manifest.xmlPKppandoc-2.9.2.1/test/odt/odt/referenceAllInOne.odt000066400000000000000000000251761363630463000215310ustar00rootroot00000000000000PKhuF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKhuFConfigurations2/floater/PKhuF'Configurations2/accelerator/current.xmlPKPKhuFConfigurations2/images/Bitmaps/PKhuFConfigurations2/progressbar/PKhuFConfigurations2/menubar/PKhuFConfigurations2/popupmenu/PKhuFConfigurations2/statusbar/PKhuFConfigurations2/toolbar/PKhuFConfigurations2/toolpanel/PKhuFwThumbnails/thumbnail.pngPNG  IHDRzA]IDATxj@@ 9DfmkVᜇFӀL`_NM}PAE}PAE}PAE}PAgn#jU]vu[ɲ3ǧ׉ǫåsz[3.>Sʑ>Nb:qiGXSX*$ri_Sl5~׏זan@ uaپl?}zL~ΟΫorPA=}$ǁgZKcHM;|z^ ,?!Fuu~c[O<8vfq\KV/o0; 5~ޛ_:O)胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(DOLIENDB`PKhuF content.xmlZ]6}@TSMH7ZZi]u9$Lmwl0Yҭi sfsb!sAX2}g[8 YDWgbV+im,v"ufoy2eH1MPTSİUTVȮd=e\eGZXWAPgŠq$eq$y)ө{w?p_{~ .rQQaU0l%ꚟVSJΥA*v[& ޹74TA]ATHnZ4x/`/e/k,=)UIyg*Bv@u^oe"|ωļ/CDâ,n*|ީ6-_B^f."ju[1*cC!QRV+Zw:8NEaV&/rȘwe55F(3sv?!4h\9%6>DU#8AstZag3+=77iW,PTR,[ٵcfdo[0) $&h,w'l/mpQ1~gDɒJW6g!!'B|ԔY} !*? I7[B7$J.xǟ1>k|m%{ h\y_ʓLGkҍ1zNz!%4sPi;ҷ CneF.10xY{l.bf[]TIԤ>$XX̠mO3%d5 ob=%T^Q`ٕp Eai_Oqb9F]Ngs#& _ɂ–zI+* zk(7kpwG7kxˈ5pgPn&.W)ĿV-͸XwXCw8l2r:rĚ*W-C\].#׃;Rq3]R`r\zUP9,:.?[u*DD$C S#Uuռi'dҺWM^"OIР7 ={a27ݛjq~_ whwqYv P"N?Oxt*JN^2'e^.xC8^aټ#X( 7C7cmk6Q%e<09f^k#ȦKBdVhͪ-ɬ Z;w:ѪH契0sH1_·(PfɸN&PK$l ( PKhuF settings.xml]s8~EכHsIґ &$|ɛq#K>IV6)9=X#{+V2+2PT*r/`Ma4tN/ _ni8$LJd%|Sp,Ya8$ [MIJ7sLR,&I) X*_W.gߕT-&%vV*qdw9+ܮ@֝7'zi7 Yy HƵ¶y?<yTX}QLnKM cm21l޳偸H϶.|Q`Ɠ>@='rsJ0+*h4%x"I{$S3GȜxڮ\0 ؍ omR ­%xE9VTq %Gm:E3˃P[\)~9i]f\戚xceslݜˇb89=o"gg{!Wboyޯ}^wًX`!w b'Xx, ˼\q#bHQ:o]?y],)"JvD;dvR]l$Ύ$P" +æ) ph ly[!\RE*Y S ҸBG`^*"D[ss+`X, ?qoT4S[+!ns?ҹ?*w 8t=x8i Yr%VQYC見q}\ߊ~Wz=Kjuszf^R81{~zcj;6G }#@ՖƔ{_tM&mɨ TQXr-NK~F槺ޞ2  @O\dQTO?=YRST)vc@T/)ª keh5N#i4gsom -xCA~pY?:ŖtQ]ۏfyw>׬ꕮڣ3ZG\cVmNΝ:)3Ldi:Q #0;EV tb gM83'MLO'LvuKKf. #~䱥|pXu";Gpkz,1貘!rEjXmc3YO5M@LC$=ؘ7 B*}j0{M{1j@Pun@HZ`>lf MH+]ELx>gta:L[1~3Wii.߷YT@QDZ(9K9( 1 "̋0&$ e@6T}bkiK!qHˆqOˠWCF/Pj @n' yMM 1GS7ۡBD{buY:׳ϥ4")/`wMcC> 0UQ oQAA!['ޣPEzf2&8fuQ|/@gEi2kHłsRgMvsvݏFhz.Tl Ūo0D;xv\YH!:e7DHV`ema5 _9EzbDCKNR/Mfp:̦\=%/n|V-_PK"[:G'PKhuF styles.xml]ݒSP>T€ `MR٪=8k,ثk6 [EY0.ΒշwSt|WR8nlTecx^jLP7>#9#O]td: DO/}Q=S5& !PP6\{8})%vE[XUF>k&~n*c:ifgi1E cJׁ>(U.cSpF5ptǛ֟z릴V{0/, bnh鴟(\2z9e;A1 s(TH#j>ǾBGI)\>TX}h?^ԅ~F K9=¤kCJŊ E$ꇸKR>e9Z?8?veA!-c|fCĩy@IEHHLѣ1Y!lL8}2Vwb D$B.qsEb ՞2?񹇬4zЙ+ylte3l8N&RB=L8+ ac`ӑ Еm d=L['#) @at f)s$iA#(em}q&da;q +fIudP(4点rAAPxXPW~UgA(͹hMQH`.Z4y`+67( 4 i8,a`)|ːvYӱhwY Jq+d}N羲wafT].k& ,YUXN ?nÏsP~k68M:1T:JP~82S銞hXW!Ş]xJOM'V4%S= ~͉S *F1,1`&رl>'iJ*{-;'1ċ %ǖi7b\iT"r|3G|EeX$z2_ m= KQUwT'&V9}@l$b2҅U&Ej`;ap.K@A$5Q;ۃcKT;lګn?.^4VnB([sTzk9󊇪&~\kV .܀K;KR3 :i>q_m}GWr헨I429%h_߲ Jfl OqL3~eJe˒sf‚&9rGԪnWOfidWVJco:~l)`25ϫ |Oò=Vhʚ-vޕқ T5˗5pq5Y,-\ ra^Rj|PXUWCjrnqyc6qަR w5*K\uU5O5p ,!puZ7 +-ˡB"pn1'4hiB!rݵZ@6uudԷ4 7,GF˞(SEK"RWTpGrHլTKCu/I QbUߋ!o,`K!%XӖ`M/ ֽRte[l {! k|ieIK&^C0%iXad|2~f>^30{0\}Ew ;?; II7 E:pm8ǎ,^-yF_e׉>A"7q Ftp9O5Xr*k`>=o/ZfJX 8il--l^gdM hE69iTKzS8W?oi~Sn@WR3@ryMk&#\7-;BtMZyD581].eKg{/Yҿa#B&ŲL(Ť Martin Linnemann2015-03-01T17:26:12.312015-06-09T16:43:17.49Martin LinnemannPT14M39S4OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKhuFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKhuF^2 ''mimetypePKhuFMConfigurations2/floater/PKhuF'Configurations2/accelerator/current.xmlPKhuFConfigurations2/images/Bitmaps/PKhuFConfigurations2/progressbar/PKhuFQConfigurations2/menubar/PKhuFConfigurations2/popupmenu/PKhuFConfigurations2/statusbar/PKhuFConfigurations2/toolbar/PKhuF-Configurations2/toolpanel/PKhuFweThumbnails/thumbnail.pngPKhuF$l ( 1content.xmlPKhuF"[:G' settings.xmlPKhuF8O styles.xmlPKhuFh 1manifest.rdfPKhuFp meta.xmlPKhuFjҠ">$META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/odt/odt/referenceToChapter.odt000066400000000000000000000243671363630463000217620ustar00rootroot00000000000000PKqF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKqFConfigurations2/floater/PKqF'Configurations2/accelerator/current.xmlPKPKqFConfigurations2/images/Bitmaps/PKqFConfigurations2/menubar/PKqFConfigurations2/progressbar/PKqFConfigurations2/popupmenu/PKqFConfigurations2/toolbar/PKqFConfigurations2/statusbar/PKqFConfigurations2/toolpanel/PKqFNcbThumbnails/thumbnail.pngPNG  IHDRzAIDATxJ0 +{/ FiNլ %5||,AE}PAE}PAE}PAE}Px68vrs~xqU 8~#}"XV/uLHуaZ߸~`}Ki渜98?1ج~ϿP.q3R}PAExϏr=^WZ?%Ne1 YdM҇BbȓI_0`B%սX _unlV{'~5/ֽxxx[ {c||_`|g3`_X_~SӺr~j:+秛oh֕(k~*E}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PA IENDB`PKqF content.xmlWn8}W*o2#'6j b,n}3h𢒔e}0tb*Dsf\xNhKaJtrGT3?|UQ0B\JPiZ,6d j2K2URٳ5c|4lKwv,ax5>rٹXBQCzƒw'[FŎ327֖Bu]Okݡ++TN3( jX}JXQ=4w]5خJC6X|||{+ 3zcuaJE4+G٢CRKuv6rWW7Ix:p9WX"@$t+ LQk`iA6TW0;N4hׄL?!MK/L1nM|x;k]ldh<<=wect认L0wEPeY]4A~ ()0IN 7Qtg,טq'E{KN{Rx_fG|ZB%k*L͌9Q3|Ld~}(%pm1p]τ~qD?$7="\*57K4vˣqe $`W*N7CV$/FRL>Q+&Ks[oWj{}җy?/v}]5ڦ4OZ?rzL;oq^)"~C!\GvO[âC8GtJy*$L:fya}*g,f̱΁iZPYAgk6ߗA{I`rGGGk PKDP PKqF settings.xmlr8}"VcJ2%pc$oYJr ۲!0VVnuK}/!Cή O aC\szQrLBT}%aTDt&B"Xc*UUyLrZ=t5#ѐ\Jb1MO_bu q6 ]IIq b2bR鬘 'EcMpr7W yw*iޜ,^]d5$ /_|0i_ĞbB`9%nH~4<} S3ǧ!Ɍڬ\0 1ߍ eR ܦx畋ǺH>W>T)9dXm6;8ŕ6;3 Vla~*̛VPM[%ZŽ0 6P< w8>21 *Y ߚϬa1Kްti8ַV ="JZdn,y; ?o}D]o9t{r3JFE3@P>"/ߕ'^StZ GF+85NG`^v^nНU~ii&Q1e5G/$m PXb/NKFdڞr` @OPԎ7sF+|imq)ݏ`*+mm{P9B)JGl*g"x}}Â= I,.+iY<5z_!e)Zuh{tHtIS#iY $}_sh*hZ6@>:ؘz 5"zwi V* yHxAEgdY7aJrN'ex@dw 2 c$u 1: γ3661SpbL ~&X%6U">'udi0gntj]n1Z?%{j^S-AX h϶]nb(D?~ Q."c_m[XM-tN]7cӆKpY'ܣ)Ǻenɋkw/PK"z'PKqF styles.xml]ݒSP>T€ `MR٪=8k,ثk6 [EY0.ΒշwSt|WR8nlTecx^jLP7>#9#O]td: DO/}Q=S5& !PP6\{8})%vE[XUF>k&~n*c:ifgi1E cJׁ>(U.cSpF5ptǛ֟z릴V{0/, bnh鴟(\2z9e;A1 s(TH#j>ǾBGI)\>TX}h?^ԅ~F K9=¤kCJŊ E$ꇸKR>e9Z?8?veA!-c|fCĩy@IEHHLѣ1Y!lL8}2Vwb D$B.qsEb ՞2?񹇬4zЙ+ylte3l8N&RB=L8+ ac`ӑ Еm d=L['#) @at f)s$iA#(em}q&da;q +fIudP(4点rAAPxXPW~UgA(͹hMQH`.Z4y`+67( 4 i8,a`)|ːvYӱhwY Jq+d}N羲wafT].k& ,YUXN ?nÏsP~k68M:1T:JP~82S銞hXW!Ş]xJOM'V4%S= ~͉S *F1,1`&رl>'iJ*{-;'1ċ %ǖi7b\iT"r|3G|EeX$z2_ m= KQUwT'&V9}@l$b2҅U&Ej`;ap.K@A$5Q;ۃcKT;lګn?.^4VnB([sTzk9󊇪&~\kV .܀K;KR3 :i>qOпey\㡜W)NuKA*ܫWa>:b%f9W~~r򧟪nWOfidWVaEo:Tr~lŹ)`; (_e{Y";9є(mQg[l*Uyu\AcnQC~bC6OZCOJhuyI$YkVxƢN@f}R[au 93[yQӓAj>+?Lɏ;^Hig夁gCK۝ZJK˔=K -=꘥bg~v3;ffk\R*愳[阥'%biN8:ei?ӡLٳ ғYڞӡLXni,iPsEz13Of:;9얶2?L3 b}lHAS/+ !kzGS(S.Օ5(IXpJYodz[R*GXNh @Ze*6. SyhU֥j|}Łt;L&uTٗ;\FTK4T@1A5C%Ö;@!r1fwJZFE w8VNr^)$r۲},b,rwR"#d(0Uxpfe \\+!pn.K \TAj,T=V/ŧG.rՐZkܟhXspp=mtM"W]krpMS \vK\u]͂eEKrH-\ۅk ZP\wm/xM#G]- bB #cѽ<8x'8.0=\R@5kP!eҳ7CXb˹4XRH ִ%XKu//]Y`^y-_{kɥA̯FI}oX+W Lm^> W_@ptA N:mR ncNpt(\gαcs5~ˡ4@st郻@^'W,u*wЅM0\GG s8翰 c؅BOߛFF%Nd6@ $7t :YS0suڼb5@'MxNՒՏn9[_)D敔Lu;P-\m^I" hNG!*DQM($)NL >^A0wod8v+, o1>Cpf8tNrnQu3[ur%G4?tcfȗ3m黦 =w$K}uYC*w0J~) {mR85#ˌYa05ILP5 "F%_go'Fb.Na!Pm1iىٜc9 Martin Linnemann2015-03-01T17:26:12.312015-06-09T16:15:06.50Martin LinnemannPT14M39S4OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKqFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKqF^2 ''mimetypePKqFMConfigurations2/floater/PKqF'Configurations2/accelerator/current.xmlPKqFConfigurations2/images/Bitmaps/PKqFConfigurations2/menubar/PKqFMConfigurations2/progressbar/PKqFConfigurations2/popupmenu/PKqFConfigurations2/toolbar/PKqFConfigurations2/statusbar/PKqF-Configurations2/toolpanel/PKqFNcbeThumbnails/thumbnail.pngPKqFDP lcontent.xmlPKqF"z' ( settings.xmlPKqF<3 e ?styles.xmlPKqFh manifest.rdfPKqFYmeta.xmlPKqFjҠ"> #META-INF/manifest.xmlPKpq$pandoc-2.9.2.1/test/odt/odt/referenceToListItem.odt000066400000000000000000000251471363630463000221230ustar00rootroot00000000000000PKrF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKrFConfigurations2/floater/PKrF'Configurations2/accelerator/current.xmlPKPKrFConfigurations2/images/Bitmaps/PKrFConfigurations2/progressbar/PKrFConfigurations2/menubar/PKrFConfigurations2/popupmenu/PKrFConfigurations2/statusbar/PKrFConfigurations2/toolbar/PKrFConfigurations2/toolpanel/PKrFmJ33Thumbnails/thumbnail.pngPNG  IHDRzAIDATxѪ@@тA k=Ą ] |04}PAE}PAE}PAE}PAEq>o_nO]bOs[^'nGtX֋<}n>]_TL'{yδ6cX뽕DN8csΈ{6'鄝9U>ַb~C|>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(K8:hIENDB`PKrF content.xmlZn6) M%i6hv Zl"t){=$,;-%.N G΄WB{\- =y'fa|95>,bA@<< q$ME~@;s-];D#b1ޜ8ʴEnoú(U'qmjtQ1Mu Yy{zyYX496 L4/|QZ_iۛ{oCt`DBH8f\ 7L`cʐVw%͠Pg`чg>%f$ǦO1DQUf( iP,u-wk,.Za yGJ7|U ED">g> l9\3Zb `{DɚIQ] pĞq5',l""&҃@W~#>ݣH>EC@A1ߖ`|B-1tW۽Udn 7<}Aƈ G62"huSƿ2Б0i PDBC2a! h b8Hu2'v0JrTgq?i 0`X>]fF$D|C"\C-\⾚?~Ǵhֈ?yĸh،T5Z]lc˙4v)vA@U\Tcdj{ >9t4 lrYZ'4lQZ24&lQ1]eD1Ye*St֧*^tg*it'*tt_/v=TfsS}}: >1E&IJ"lՃ( ɑJP~s>fwcf~}%܄)>9u 9h4LfuGw6-Wa5cP\@4j+P!V+wrg'#w ;%q*7'p7&">*B5r1&saf~qb'Ad׀frxޛq3ry91KJ,:XZm]ܮβ}t{PK7;/PKrF settings.xmlr8}"V#fB% &$W&y0Nd+1oˆL#Z=X%-CzF 8rg  o\4pIn%Q @Lg}łU80YQnGU>BWRbٛ9 MnTT$\|4%A$9''dI r>ΖRvŇo/=vE,o b'Xx, ˜\~#bHQ:.>y],)"JvD;dvR]l$̎$P" +æ) ph ly[1\RE*Y S WBG`^*"D[s0,p¸7*\uNJnH\돭PGEQi[@A[a0ރG QbuQ"G-@U#VY^P{tϛm4{K^tZagՏnP Y@?j_G>rZ TmiLg-PUd ~×*@Zηe w8S:e_ _Bn?7YSzA'7=Kj{j?n  ^0"ZXudml]Ʃrw5 lV5a>o(O<뇵XlIjUڵlh7/N9@U{TsF 6wwlߪV?M)b.Ÿqd&Ks>OوƧɹSRg:c>M'jaa' CjypXY IƓIz3iRp3 Ȉ_3yl)WN'8"<ܚJ ,fHkv(,k[LzVpM)%$8/b38J`&mӞ|LPj]e&HJux@Q;ހcO]@?oNRLc 1UZ,*( H-NS T%D {U{X^fuWղx ZGJKSҵ%8$aDeZƫ!OM(5 GF<󇦂 n㉍SYX!yAu{p6F1% {l"fݘ*69Y]|C)*46\p{*HLfL3O4L(MfmX}NL^di0gntj^0Z/%zjVS-AX hw}nWb0D?N~ Q.&c9\m[X,tN^wcӆKpY')eOowwPKr-L'PKrF styles.xml]ݒSP>T€ `MR٪=8k,ثk6 [EY0.ΒշwSt|WR8nlTecx^jLP7>#9#O]td: DO/}Q=S5& !PP6\{8})%vE[XUF>k&~n*c:ifgi1E cJׁ>(U.cSpF5ptǛ֟z릴V{0/, bnh鴟(\2z9e;A1 s(TH#j>ǾBGI)\>TX}h?^ԅ~F K9=¤kCJŊ E$ꇸKR>e9Z?8?veA!-c|fCĩy@IEHHLѣ1Y!lL8}2Vwb D$B.qsEb ՞2?񹇬4zЙ+ylte3l8N&RB=L8+ ac`ӑ Еm d=L['#) @at f)s$iA#(em}q&da;q +fIudP(4点rAAPxXPW~UgA(͹hMQH`.Z4y`+67( 4 i8,a`)|ːvYӱhwY Jq+d}N羲wafT].k& ,YUXN ?nÏsP~k68M:1T:JP~82S銞hXW!Ş]xJOM'V4%S= ~͉S *F1,1`&رl>'iJ*{-;'1ċ %ǖi7b\iT"r|3G|EeX$z2_ m= KQUwT'&V9}@l$b2҅U&Ej`;ap.K@A$5Q;ۃcKT;lګn?.^4VnB([sTzk9󊇪&~\kV .܀K;KR3 :i>qOпey\㡜W)NuKA*ܫWa>:b%f9W~~r򧟪nWOfidWVaEo:Tr~lŹ)`; (_e{Y";9є(mQg[l*Uyu\AcnQC~bC6OZCOJhuyI$YkVxƢN@f}R[au 93[yQӓAj>+?Lɏ;^Hig夁gCK۝ZJK˔=K -=꘥bg~v3;ffk\R*愳[阥'%biN8:ei?ӡLٳ ғYڞӡLXni,iPsEz13Of:;9얶2?L3 b}lHAS/+ !kzGS(S.Օ5(IXpJYodz[R*GXNh @Ze*6. SyhU֥j|}Łt;L&uTٗ;\FTK4T@1A5C%Ö;@!r1fwJZFE w8VNr^)$r۲},b,rwR"#d(0Uxpfe \\+!pn.K \TAj,T=V/ŧG.rՐZkܟhXspp=mtM"W]krpMS \vK\u]͂eEKrH-\ۅk ZP\wm/xM#G]- bB #cѽ<8x'8.0=\R@5kP!eҳ7CXb˹4XRH ִ%XKu//]Y`^y-_{kɥA̯FI}oX+W Lm^> W_@ptA N:mR ncNpt(\gαcs5~ˡ4@st郻@^'W,u*wЅM0\GG s8翰 c؅BOߛFF%Nd6@ $7t :YS0suڼb5@'MxNՒՏn9[_)D敔Lu;P-\m^I" hNG!*DQM($)NL >^A0wod8v+, o1>Cpf8tNrnQu3[ur%G4?tcfȗ3m黦 =w$K}uYC*w0J~) {mR85#ˌYa05ILP5 "F%_go'Fb.Na!Pm1iىٜc9 Martin Linnemann2015-03-01T17:26:12.312015-06-09T16:20:17.89Martin LinnemannPT14M39S4OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKrFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKrF^2 ''mimetypePKrFMConfigurations2/floater/PKrF'Configurations2/accelerator/current.xmlPKrFConfigurations2/images/Bitmaps/PKrFConfigurations2/progressbar/PKrFQConfigurations2/menubar/PKrFConfigurations2/popupmenu/PKrFConfigurations2/statusbar/PKrFConfigurations2/toolbar/PKrF-Configurations2/toolpanel/PKrFmJ33eThumbnails/thumbnail.pngPKrF7;/ content.xmlPKrFr-L' settings.xmlPKrF<3 e styles.xmlPKrFh manifest.rdfPKrFWwY meta.xmlPKrFjҠ">|$META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/odt/odt/referenceToText.odt000066400000000000000000000237401363630463000213120ustar00rootroot00000000000000PK%rF'Configurations2/accelerator/current.xmlPKPK%rFConfigurations2/floater/PK%rFConfigurations2/images/Bitmaps/PK%rFConfigurations2/menubar/PK%rFConfigurations2/popupmenu/PK%rFConfigurations2/progressbar/PK%rFConfigurations2/statusbar/PK%rFConfigurations2/toolbar/PK%rFConfigurations2/toolpanel/PK%rFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PK%rFڞ^Thumbnails/thumbnail.pngPNG  IHDRzAIDATxj0@|WBIh9?Ć^̇xc|n|4}PAE}PAE}PAE}PAE}PVضm=xi+}q)$rictEKZcAzy|:~Kyo>qzO#%,Χ &>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(wv"IENDB`PK*QI5CX content.xmlWM0WX[ժUJVupGj;}BL> [4k5Mƣb:j5M~~L>^MrffDRg+Ӥ4*`Hc.PYYյu{q =l;7L.,n]vn&G7K_[;+ҥ?S\mڹ"Qn͊iY+J#*g,`X_v%R.l 88U] [h5l ވ}#˕=g>`xz`p=^ܴ͈֭Ԛp {zxpgW kҴSHq[ipۼ79[+@EgL5XhZc_޶Nq#te\l]z-}xiQ4SvpWN@ԍJMshtEv37 3g͋iZKۅV.]4G&l.Ls1M@@o#Dr?Fz@5˅)bp0|aei1P~lŭ*`8\C黈;-|cxdʒ_33B@gu{Pin>i_6P:-q<^|>8ܹ٤,)QD$,. S[pcw!J 8UB_gg__ΎpJp>=T&O%@`6n!P[kK͵{*#-H8Mkol~&rs2鿉lNuunX8΅AكnhnMfBM֛߮s. Gdɰў5WPK%rF manifest.rdf͓n0meta.xml Martin Linnemann2015-03-01T17:26:12.312015-06-09T16:16:32.75Martin LinnemannPT14M39S4OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PK%rF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPK%rF settings.xmlR8}v!)`JvbxSl1ȒWq2_-;aL&VVnuK}嫯!ήs/ a._2+>.x܍Cԩ$J,s u"^uHVs-isF_+ƜSYFG,I#۰O0;? qt0̈Ϋʕ8^V*h=./mwqV.uU ƔLR6iou]\Jpg`ZU)Xٜ![4-nqz4s^狃]ŖM] %"#K[y6@D=f/bD v,cItp״/sr0r&G6k_:|k8@#u ؏Wx|*عU)<뇵Xؒn<ֵkv^蝴s5rkXs Ѱ6srkP9oF#M'1b.qd&KsOYɹSR{2c>M'jaa' CjyoXY IƓIz3iP)p3 Ȉ_3yl(VN'8"<ܘK ,fHk7v+,Vk[LzVpM)%$8/b38J^g&mӞ|LPj]e*HJux@Q;ހcG@o1ťv?Ƃb4ݷYT@QDZ(K( 1 "̫0&$e@TcbkiK!q@ˆqOWF/Pj @n# xMM 1GS7ۡBDkbyXۭYC zM]XD0$:1sUls:)kcTi!=vm։(T8t̰=߭(>Q}`J 34qbA9=~m5œjѩEz1h@jmYMbY7T€ `MR٪=8k,ثk6 [EY0.ΒշwSt|WR8nlTecx^jLP7>#9#O]td: DO/}Q=S5& !PP6\{8})%vE[XUF>k&~n*c:ifgi1E cJׁ>(U.cSpF5ptǛ֟z릴V{0/, bnh鴟(\2z9e;A1 s(TH#j>ǾBGI)\>TX}h?^ԅ~F K9=¤kCJŊ E$ꇸKR>e9Z?8?veA!-c|fCĩy@IEHHLѣ1Y!lL8}2Vwb D$B.qsEb ՞2?񹇬4zЙ+ylte3l8N&RB=L8+ ac`ӑ Еm d=L['#) @at f)s$iA#(em}q&da;q +fIudP(4点rAAPxXPW~UgA(͹hMQH`.Z4y`+67( 4 i8,a`)|ːvYӱhwY Jq+d}N羲wafT].k& ,YUXN ?nÏsP~k68M:1T:JP~82S銞hXW!Ş]xJOM'V4%S= ~͉S *F1,1`&رl>'iJ*{-;'1ċ %ǖi7b\iT"r|3G|EeX$z2_ m= KQUwT'&V9}@l$b2҅U&Ej`;ap.K@A$5Q;ۃcKT;lګn?.^4VnB([sTzk9󊇪&~\kV .܀K;KR3 :i>qOпey\㡜W)NuKA*ܫWa>:b%f9W~~r򧟪nWOfidWVaEo:Tr~lŹ)`; (_e{Y";9є(mQg[l*Uyu\AcnQC~bC6OZCOJhuyI$YkVxƢN@f}R[au 93[yQӓAj>+?Lɏ;^Hig夁gCK۝ZJK˔=K -=꘥bg~v3;ffk\R*愳[阥'%biN8:ei?ӡLٳ ғYڞӡLXni,iPsEz13Of:;9얶2?L3 b}lHAS/+ !kzGS(S.Օ5(IXpJYodz[R*GXNh @Ze*6. SyhU֥j|}Łt;L&uTٗ;\FTK4T@1A5C%Ö;@!r1fwJZFE w8VNr^)$r۲},b,rwR"#d(0Uxpfe \\+!pn.K \TAj,T=V/ŧG.rՐZkܟhXspp=mtM"W]krpMS \vK\u]͂eEKrH-\ۅk ZP\wm/xM#G]- bB #cѽ<8x'8.0=\R@5kP!eҳ7CXb˹4XRH ִ%XKu//]Y`^y-_{kɥA̯FI}oX+W Lm^> W_@ptA N:mR ncNpt(\gαcs5~ˡ4@st郻@^'W,u*wЅM0\GG s8翰 c؅BOߛFF%Nd6@ $7t :YS0suڼb5@'MxNՒՏn9[_)D敔Lu;P-\m^I" hNG!*DQM($)NL >^A0wod8v+, o1>Cpf8tNrnQu3[ur%G4?tcfȗ3m黦 =w$K}uYC*w0J~) {mR85#ˌYa05ILP5 "F%_go'Fb.Na!Pm1iىٜc9META-INF/manifest.xmlPK%rFڞ^}Thumbnails/thumbnail.pngPK?*QI5CX content.xmlPK%rFh * manifest.rdfPK%rF>i meta.xmlPK%rF^2 ''mimetypePK%rFQ' settings.xmlPK%rF<3 e styles.xmlPKpZ#pandoc-2.9.2.1/test/odt/odt/simpleTable.odt000066400000000000000000000247211363630463000204450ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaF~YooThumbnails/thumbnail.pngPNG  IHDRzA6IDATxnP@ALlVHf > Ə8>^>(胢>(胢>(胢>(lp8}<_}ѦM/uy'N5_gccne.fZ~2A afCpqhս]ly!8Xɲ"X~3n]?ΎG/<>S_v|(w<m~x9燯n,7} `>3]&u /v<[™?ƀAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}P>A݊IENDB`PK@F. ˁ content.xmlo6+ a$˿)$ۀn-1JH:o+;_2RdʑIfx=19ocں\Lk;-,"b|;r\`9 $b2ƉtCHKy'bbzΒ'XLd8a)N m=2-Bic^6uֶ_4k>sfl{G:k[T}Κ: Ιz"I$mJN|Zy㱟]4BS'~~acƧm퐒e<üqjDTwqؑƵWFFoMF~\_mjMҶTX2T`hnekDbn{CD2,K |e;]eDt"9W7-Ƙ_ w/m%n|A+?A]GmѡknKaxTP"W2ƠzbozpOLnW{c>>uڟ{mL?UNWĚђz;u2\ܮHi#{P]^nv@ki9pΔEՠcš> %{},JP۩H :uܶ7sř{V=i(sLqv* ;^wǩ>jzUXZ>줅P 3S+8}(zWarj  ^{tǩ>Z(8 Jh\NvR(aqj6lѶ^l`;vl`;vŲ.`;vl`;vl/c;O_2vr>'Sdz4@2$>Fu퀮g΁U ʞ5:VzXeYcugΗUvʞ5u:Vz,XeǠYcu%T 9q+[ڣUp+V[n p+V[n p3VV[n p+V[n p+VN<,h葪#KTokRvRR`7/L5HRHtB+IyҨKTa8`}3`[}/{TMF>;8{dY8HHC.蜭*2~=ˈ.+שW%Sf[Ȑ>ܢ2%22-OuZ߽P׌Vx#T,m*յ^UyYdy=NQ6ͤX_PKaF _~$,! settings.xmlZs8~"wJa:H37a/XHrV6R0=b'&+ەrygPν3\.i s@+ Ach>Rk/ULsݒ,2A e׳[JptE$z}\[jQo\^^ֳ/U~ _f2ezw+4㷯6 7[ۜm>ۭ]{ab5hk~|_bmG:.>K8^ƁGHnCi_DnR4 DCH݈3DLzmR(/; 0CLbԸ aᾭ+[CiYlUEm4{(bdOj>PydRL`zP}8ItPOxJv,Bu SEr77J >Uv*{Y{ž%v^5 Ub94*fBT) 3l4 * GHDyj +X2ٯSl(' 21rv:F >h>ghP'F,]c& >nT>_ҏDwLLt{r /$mb0^P0.{[k}ᒩQQXDCFr[= Ts3 svHK# q|HBfrly^e@8-ʴsQlѬ1;,S =(N+sF` ¸rDEmAᛉaj0?2Q҅>_\f.-BWXS+M_nDq 5~uiIa Hk 4@(ځ {gLl."-8#3_J4Y;tJr~5ʖ)u '(@cCz:Tآ!r/.KBk+#Pvꪞ.ރ~п:PK _~$,!PKaF Ɇ styles.xml]ݒSP>T-{Rcoƾe+ &g ?EyL%Ax['C<@p`%m-6 2H^-B8Y|v8LDTp'tZn?1Ib ֡>(U.Wp}5pt)۟O}d)jx/@R^ >;PEs~4>hBAu[IP!` %E4s#R6Hc]5 jz#2b ,Hן6^W_TȟPLҿ(x9~4SƘí{3o1J/&wBs>eU7l LYZMg,B"bF.t|5g1ZIU &,Lc2nH9:Z':>2OS B6V&-PJ1Ɇ$oMFh gEaB6yl: |!࿏F|?4 <1H1FHx$N]qfb0CDQe{$$%ɒ !x kL0Rۉ3o|M%G1}f~IĆJ:MXdP$4点rAAP߄Y΂Qs/КD_a֑d]hVl,,`oo& WHf wHH@XFX5]}e$*k9=v%G;Y߅)֍s_ٻUKI7x*,'ߟI+IJc$4A QR'>c3!JR fF8[s cr_ !7A4At_RkACQr0Ch ߠ7gۜ;հe5J ŀbsek$fcFlEcD)FeJE-"ʗ>sWT$h'!ԓɧbhamh|q:b%fr IC lK{S #K9;wR cүDa[E!,HVĢ@fNhRYや!bߜyQAl_h2%Rx"%IUgφv:eiJK˔=K -=옥bg~v3:ffi\R*愳[혥%biN8:ei ˡLٳ YڙCR4'ғYUiP{$=혙SKJМpvKۃNzh FPZN1>I?u,XېI=5)}K-uGg{Y,8[*goh:aKJ AH ;\fT%aa*ʾtTpvP8{$*QphjxIw(&p1&wT#k0h"kzed.YqNJc-BK"-h*"ι"|W+ %2B2 oT]\u%ekU C*H-Tjh9#u",^;< p,\#k/myjH-\7 ׃jk2PFH-\㛅kbM4p9PH-XˆEKpH-\ۅk ZT(D6RhYUWGALȼaydx<2G^-r 78.0=\+{9j饡CE㫟 QbUߋ!o,`K!%X`M. ֽR>te[l {! ktieqKƗ^0%iXadt2zf>^30{0\}EwͿ ;_; JI7 E:pmǎ,^.yFelj>A"7q FtpW]5X9ߗU.y4,0_N4*p"Z [ټ1 %Ț:ֽmsܨp6~t Ρek~Sn@WR;@ryMkNǭ#\7-;Btd -CT JQD2r;3{oxYύN!SpUY&bR}ڏF#đ``p#PuÈgҏw譓+)@="5WHi+Ϧ7y3wG #l9^54Iv)PF~Ngj3̻f&I ʡ&I C]OI>r4wQs3蹘 Rإ`Hq,q[ =); s 3g'/UxЂbA>툃]'nOj8ŤV hه Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:45:24.40Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFjҠ">META-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaF~YooeThumbnails/thumbnail.pngPK@F. ˁ  content.xmlPKaF _~$,!  settings.xmlPKaF Ɇ vstyles.xmlPKaFh manifest.rdfPKaFM<meta.xmlPKaFjҠ">#META-INF/manifest.xmlPKpK%pandoc-2.9.2.1/test/odt/odt/simpleTableWithCaption.odt000066400000000000000000000242341363630463000226160ustar00rootroot00000000000000PKXXdI^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKXXdIZThumbnails/thumbnail.pngPNG  IHDRkPLTE_ivoaxtvyxy]dfxyz}~ͽ̽ľɶƴŶºĽ½-L#IDATxO@`DEE1Edq 8ݪ :8D"*`˔7F_%#>^ܓ틎bQSSSSSSSSSSwQ]=.k.EbvRL~mVM6eFZy6ùnSQܵDVGꙛ7NΟʼKM_WNTlX¥r4 ;kBU>][#J]Z*?GvBR7f֣ϫQ|E}[_W[;#kΜ?s,yC~5_:7p969~6髭?tq7Db\vuwl2F:*L'3t6u7HoR!IENDB`PKXXdI content.xmlXo6~_!6&MEa@[AKM"5~GR)Eդ@Ǻxw<6gHE8 ODJj~~+ ?.~YF")su\N;KcU19QNbQ}tlrwl֚lPcm-طN%,7PbQ& y52ʿõEPUUj6r&jI+J,*Ma,d4A{lN4`}J̗D ũjpFlVGB>Y:xgoc>r&W 2BHZ ަCB1pjN={$T DD6&M7PG ȩJ)Y<8\iIRd&ִ9;^FdB ACEJwaNNBضxĂy`2FӔ1ȡUse mA$5*̬Yg=pY]VC;F^7BDBEYo3!Ҭ(f/AF.z%o, B Y pB$L-n\/oā{6#+&aM{)5!:m7i/q)ϸnj.%qFC7SU>{9>:dљʄ8x\9qBуuwJ->o_ZK-Id4k?[\0F&͊5Uv)*Ԕ\Ԍل0pc$ J+rHd"JHUT#n[fPe^ <4K&w])\tr0+IwM`.h|ܻ`Tա,LL;D($ Ћ`3k /h'KPfa}U$fZ. 7ߛ<2 rlE<6 Sxd]?{g,VAG~[PK=?PKXXdI settings.xmlZ[s:~?"{I$ 7a/HrV2)5<1+oW+(Qޗ./*3!F\NKm_w8i Ҝk0g})ULs],]7ao;eٕrv_|~1wjRjewwhr'ʞ~ 7 bjrUV|cjamV sn 9[]K/+j}wz 1)eBwIrWq./<2ӽjondwŤS ֔ - #DLJl*kI3kw(50wj5jqW#B$/U׵ۢR5 8}8'Om'u#6Dc0M11h2GR-15-i,z%XMɲz.mT^+h@@h j+P`{.+ëiv!UPm'3mx  iHbo!b,MrOam uB!"BnX ,=(HGFR7dH1 Q;FڇbŒ7fmT13C|J: l#N&\zKM7ڔ>%g[XS=*6wXyzerD$}ƈ(l|Ccs/YIz a!m 6f͕6ĀhDATB nn<_\<,A{h-F 4ۈO[#ZV_֊F+tE~0%xjZhE*gG|U@I "ʷ{V7ʺȢy XzߙHr a Ψ)TZLpϗ @&PeKߗT>^n~˔s_ćL|սg ~¼#I= w*r{U8%Bw8 =8cz"r@ M%ӡrÀuGv AY!ӇA'ԝ,(ojm]2c!>-Hkq|GE]6:g;8nt536H@\BGm!(k4{E&9C)LωH 6{ XOjDECydLC 팤m*,>ƞu)1D}Fl %8?KORRo3wUiljC Hv:)jr&poXTk_a> ;M|" j|`sEP@R1MTHڊ=;X^ii0壂nzʥ"϶ܬ xk0_g xoJ|N"fr > ^xW ͙24FFh}aޗO S$~0fElo&Dx oLTlwg]FfMs ~*gg8bnHʗwz+}/PKmQ(PKXXdImeta.xmlK0#C,H]t5Vj*u9q 62fH}ͳI,9_\W;Vji@|ЅTR97)Zt5(jseSiwF1[2khL7vIhRΕTwچa}G6%-5F*ZLvHP{Ik z Х)a[%7bᡟ/bF*i%06+7V*E*5W*wyrs<$4A$B 7ADhVl{2xD)!iJ /d JTtf5>[WDmг<%(0_q]8`Dn)36w8&5yɪ@lo>ֺuˏ ;ee(k^"E}n悤fxixsZ \)Vx NRI¹ܵ'imp.`8~/PKtPKXXdI styles.xml]ݲST̏ɞM%U; M# 9{gɣIBX>⽘CwKMݭV#̷|]ǃIi 8 H%ϟf̆7ߒ" SH'o1 O%yɒ'(JOEDRTBO2*Θe]),w1a])/T_¯yl,uk%_HFvkn]dˑQK7Y̸`cL'Gi*5.PW(RYq4@{/Ԙ&Xo0]xݰ;n(ˮQ`2}"/dsQSYv͒['U@L]Dzƣo{ʾ͢g{8'kр_Vi() Ȣ{8"V:ևV, ;PG7^"f94tH1yUFG @R'l)l X*kPĞvF,&' isP?Gft "rjI[X(F82˃o#J(9:*p.XzNb0PͳH1FM)X o W(\iyWez` 唂 ?kvA!`+pVl#Fagu$& M9 ppa#H 2ǾQ)Xɇޖ QtV9ǔnU(i)IXv/0'g8(ͩ;mcr҈/FAXэ7C b(DY8& 9SGx(X;\=%CJBCUf ~q_$|Su(Q9L|2a9&IQݨeZ3G.ߠ X [8R:uL޳nfqG'>;>FЕ ]SM[t`tZm^:QR=*wE/ћ|NIQg+)wڒ7b:dH[߂Wvi` i+G8+Ӳ6~df| ƪm}SMX^PN]Z*Ones-:;|}G׋xwNrezzU^J*Hɦ`8Vvh-+$qD$b)Uղuh?$$ 9g4nɆa׬U~gZ,R{ƥ(۠stz7);Zq `&/śAw0d{W+》ؐVӎc-]ߝYi}Sb;{FZ|Rki1vGnd>GO)=X^A.g&~)rjRI6↡k=[_!&>;뽒X/سc)RZZnZ?uޡ+ A>g"'isSoVvj7q+>4U_6hgmd(]  n;mLH*0j)ୖƅYV?a1g/K6>C&Cچ[&6 qL84oeC@4xZ._v ެr vdG;=XcK홍==Kx3O46mE͓+,s߉k7cB> j9ސRWl5PW} 6lO_q/@ 3}߃=x/@k+}F I_#ޡ9S_(4GvH-w#g_8+b|N2ǮC&_Bw# ItLjiBM-~kk?b|Z3#:>1iQdxcHQ?h1tԠodS?&1>>((,Vhfu:VGmNt(oF, Ep3M"CQ!y>{(yTfS#2_)XWq[xCjDiYS%B 9s0 y - %O#Ä$—QHHVG4 Bp HL ~cTv~WT1H6tqU}(cE:Ҏ6?(,"UPK PKXXdI manifest.rdf͓n0P]Cc7`@ E.# |gr1F Îv@t_k<4W'w=-ylME",So^w>p@p=U+|PKY>PKXXdI^2 ''mimetypePKXXdIZMThumbnails/thumbnail.pngPKXXdI=? Vcontent.xmlPKXXdImQ( @ settings.xmlPKXXdItmeta.xmlPKXXdI  styles.xmlPKXXdIh `manifest.rdfPKXXdI Configurations2/toolpanel/PKXXdI Configurations2/progressbar/PKXXdI!Configurations2/statusbar/PKXXdII!Configurations2/popupmenu/PKXXdI!Configurations2/menubar/PKXXdI!Configurations2/toolbar/PKXXdI!Configurations2/floater/PKXXdI'#"Configurations2/accelerator/current.xmlPKXXdIz"Configurations2/images/Bitmaps/PKXXdIY>"META-INF/manifest.xmlPKp$pandoc-2.9.2.1/test/odt/odt/strikeout.odt000066400000000000000000000245261363630463000202400ustar00rootroot00000000000000PKÆaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKÆaFConfigurations2/floater/PKÆaF'Configurations2/accelerator/current.xmlPKPKÆaFConfigurations2/images/Bitmaps/PKÆaFConfigurations2/menubar/PKÆaFConfigurations2/progressbar/PKÆaFConfigurations2/popupmenu/PKÆaFConfigurations2/toolbar/PKÆaFConfigurations2/statusbar/PKÆaFConfigurations2/toolpanel/PKÆaFvhThumbnails/thumbnail.pngPNG  IHDRzAIDATxj0@ _vPBc:'`<IE}]p 郢>(胢>(胢>(胢>(cY :j굷qh;8k2NyjdO8<\Ff>3}x<: ⸄}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}P>giӁIENDB`PKÆaF content.xmln6} Ck.8^P@Hn@KM E";yvE}>IEI)FI"|yGpF`qzw}f _>f8{LuFlΑ bP\zsbz/]"%˪-:+[Hj}ū:WH{Q)aFpMf{]hl{.Xu&ܑ3rSKT5>em%*I􀪸]WxU1މ_HnJWP<̅(ڗ=J0uޟsSW?w""q35(i`7rƷjf_%B8]] ߮. ,<ݗG܍K0MWIf C5DDIy[3wѓVY  {nd'Τ&ģ1,a6R2*hF#&Zhc4b1AKXFJ0F#h+hXFJ0F#h%Zh-c4b1A+\LK5OOj?fp&}l[lW+_XNP4Rom%ܸrqԀUVzBm\EzBOq52ԆU2gj*zaE6"E>NQWNS\aոQWS\+a*ո̌ae2Gp3)\F,t?E+lj?aC!XF.t?:e2GhHpKT,=(o1;|Sa΂ODHѝͷ2HH2!gOnJIV7h̭`6I{M=|e?PKŽvPKÆaF settings.xmlZ[s:~?"wm΁IRZ ɜ {jdG!Mc=1]i/߷+2g/4Gy]׼3\ίIfD.>M7hF^L8B/DLAo)" `kB1=Vp!>cB-eKwm?5ju{VQ^qAc[~yyY\,P+\$ZvNgBGӃrIh ƇR$mY4 "v:/my.]T(h@U|| +H1H3!N6eS_r#$<5yR, )6avkl_|QCf4 DxSPM4TJѤJEiʂ1 >nT>[ODwLL{v %ml0ʷ^Pc06{[k^~ls(XDEMgq9-A $\%Nu9O >$!39Ajl'Ze9(hMF٘ @)sN+sF` x/4ۉ8=oƆvd0p7Fi/.J|!pY;N;L s \ic9G4=27;%P8Y!'Y͉^"ݓ}]x+s7F .Y8+ 2q|)dal+XI"VTZ([8(B*˒IM lƅ'j Zk5%۫-H!RD85ij{u@I&+|Rl,tRל w/ՂPt.pi=} J39Le`R6Vpc0iO|md6_>)buCngSxe(Wjk?‰ØbSUu.LTӟz mD@ , -'ϣ"_,4lMrp-O˜D`lD+T0?%Ic&jSA`QrV ]Ge=]dO՝uhPKГ*,!PKÆaF styles.xml]ݒSP>T-{Rcoƾe+ &g ?EyL%Ax['C<@p`%m-6 2H^-B8Y|v8LDTp'tZn?1Ib ֡>(U.Wp}5pt)۟O}d)jx/@R^ >;PEs~4>hBAu[IP!` %E4s#R6Hc]5 jz#2b ,Hן6^W_TȟPLҿ(x9~4SƘí{3o1J/&wBs>eU7l LYZMg,B"bF.t|5g1ZIU &,Lc2nH9:Z':>2OS B6V&-PJ1Ɇ$oMFh gEaB6yl: |!࿏F|?4 <1H1FHx$N]qfb0CDQe{$$%ɒ !x kL0Rۉ3o|M%G1}f~IĆJ:MXdP$4点rAAP߄Y΂Qs/КD_a֑d]hVl,,`oo& WHf wHH@XFX5]}e$*k9=v%G;Y߅)֍s_ٻUKI7x*,'ߟI+IJc$4A QR'>c3!JR fF8[s cr_ !7A4At_RkACQr0Ch ߠ7gۜ;հe5J ŀbsek$fcFlEcD)FeJE-"ʗ>sWT$h'!ԓɧbhamh|q:b%fr IC lK{S #K9;wR cүDa[E!,HVĢ@fNhRYや!bߜyQAl_h2%Rx"%IUgφv:eiJK˔=K -=옥bg~v3:ffi\R*愳[혥%biN8:ei ˡLٳ YڙCR4'ғYUiP{$=혙SKJМpvKۃNzh FPZN1>I?u,XېI=5)}K-uGg{Y,8[*goh:aKJ AH ;\fT%aa*ʾtTpvP8{$*QphjxIw(&p1&wT#k0h"kzed.YqNJc-BK"-h*"ι"|W+ %2B2 oT]\u%ekU C*H-Tjh9#u",^;< p,\#k/myjH-\7 ׃jk2PFH-\㛅kbM4p9PH-XˆEKpH-\ۅk ZT(D6RhYUWGALȼaydx<2G^-r 78.0=\+{9j饡CE㫟 QbUߋ!o,`K!%X`M. ֽR>te[l {! ktieqKƗ^0%iXadt2zf>^30{0\}EwͿ ;_; JI7 E:pmǎ,^.yFelj>A"7q FtpW]5X9ߗU.y4,0_N4*p"Z [ټ1 %Ț:ֽmsܨp6~t Ρek~Sn@WR;@ryMkNǭ#\7-;Btd -CT JQD2r;3{oxYύN!SpUY&bR}ڏF#đ``p#PuÈgҏw譓+)@="5WHi+Ϧ7y3wG #l9^54Iv)PF~Ngj3̻f&I ʡ&I C]OI>r4wQs3蹘 Rإ`Hq,q[ =); s 3g'/UxЂbA>툃]'nOj8ŤV hه Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:54:07.06Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKÆaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKÆaF^2 ''mimetypePKÆaFMConfigurations2/floater/PKÆaF'Configurations2/accelerator/current.xmlPKÆaFConfigurations2/images/Bitmaps/PKÆaFConfigurations2/menubar/PKÆaFMConfigurations2/progressbar/PKÆaFConfigurations2/popupmenu/PKÆaFConfigurations2/toolbar/PKÆaFConfigurations2/statusbar/PKÆaF-Configurations2/toolpanel/PKÆaFvheThumbnails/thumbnail.pngPKÆaFŽv content.xmlPKÆaFГ*,! settings.xmlPKÆaF Ɇ styles.xmlPKÆaFh manifest.rdfPKÆaF-aJmeta.xmlPKÆaFjҠ">k#META-INF/manifest.xmlPKp$pandoc-2.9.2.1/test/odt/odt/table.odt000066400000000000000000000250131363630463000172660ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaF~YooThumbnails/thumbnail.pngPNG  IHDRzA6IDATxnP@ALlVHf > Ə8>^>(胢>(胢>(胢>(lp8}<_}ѦM/uy'N5_gccne.fZ~2A afCpqhս]ly!8Xɲ"X~3n]?ΎG/<>S_v|(w<m~x9燯n,7} `>3]&u /v<[™?ƀAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}P>A݊IENDB`PKaF content.xmln6} C P@?bvYd(Z i dmAKMU[COR~HȶdҊ989C7?w!e3t =p9>[ozM OuCn{$wGxl{g֚SbM7% iz-oqaweu{`^|fe)u"Y) "A8:𷙵6 :}/0yU?Y3+af9 8 9oX>o?U6^.~68YO_i(XR z [{݉/P?1܌d[߮oճXbxZ)ņjo~~ `v׊,3eX 7![ܢ"( srfaY8Uް&تqA0&sc"*L..(_%%+/Yv q~%{޲=XO? 2r.<̟6L^{T墍]\/Ke`mθW ˨؅sqQr$.lF6tr\bʰ۸ ^Tfƍl Jr=*q9qi0d2ݱ0qR#hb4Z1A-`FPC,F#)j hu``44j hb4ڂ1A `FPS,F#%ԕKS4O =f=,'(om%\rqVzBi\yzBKqU22gJZbE4NQWNR\aUQWR\+a*U* a/? e2Gc`Q(XFh.4VS?2GpA0\Fh ,4 ? efѪ=(^H:a;0q΂X&kQ zЕ#k) JOy`Ý7ك|OTzROIIØN9T9̦0C_"lfC;56C^}|eZ:+q iH r}CWb+{2S=ӧ2*r ;^g7r|01pzs>aWPK^SlFwPKaF settings.xmlZs8~"wJa:H37a/XHrV6R0=b'&+ەrygPν3\.i s@+ Ach>Rk/ULsݒ,2A e׳[JptE$z}\[jQo\^^ֳ/U~ _f2ezw+4㷯6 7[ۜm>ۭ]{ab5hk~|_bmG:.>K8^ƁGHnCi_DnR4 DCH݈3DLzmR(/; 0CLbԸ aᾭ+[CiYlUEm4{(bdOj>PydRL`zP}8ItPOxJv,Bu SEr77J >Uv*{Y{ž%v^5 Ub94*fBT) 3l4 * GHDyj +X2ٯSl(' 21rv:F >h>ghP'F,]c& >nT>_ҏDwLLt{r /$mb0^P0.{[k}ᒩQQXDCFr[= Ts3 svHK# q|HBfrly^e@8-ʴsQlѬ1;,S =(N+sF` ¸rDEmAᛉaj0?2Q҅>_\f.-BWXS+M_nDq 5~uiIa Hk 4@(ځ {gLl."-8#3_J4Y;tJr~5ʖ)u '(@cCz:Tآ!r/.KBk+#Pvꪞ.ރ~п:PK _~$,!PKaF styles.xml]ݒSP>T-{Rcoƾe+ &g ?EyL%Ax['C<@p`%m-6 2H^-B8Y|v8LDTp'tZn?1Ib ֡>(U.Wp}5pt)۟O}d)jx/@R^ >;PEs~4>hBAu[IP!` %E4s#R6Hc]5 jz#2b ,Hן6^W_TȟPLҿ(x9~4SƘí{3o1J/&wBs>eU7l LYZMg,B"bF.t|5g1ZIU &,Lc2nH9:Z':>2OS B6V&-PJ1Ɇ$oMFh gEaB6yl: |!࿏F|?4 <1H1FHx$N]qfb0CDQe{$$%ɒ !x kL0Rۉ3o|M%G1}f~IĆJ:MXdP$4点rAAP߄Y΂Qs/КD_a֑d]hVl,,`oo& WHf wHH@XFX5]}e$*k9=v%G;Y߅)֍s_ٻUKI7x*,'ߟI+IJc$4A QR'>c3!JR fF8[s cr_ !7A4At_RkACQr0Ch ߠ7gۜ;հe5J ŀbsek$fcFlEcD)FeJE-"ʗ>sWT$h'!ԓɧbhamh|q:b%fr IC lK{S #K9;wR cүDa[E!,HVĢ@fNhRYや!bߜyQAl_h2%Rx"%IUgφv:eiJK˔=K -=옥bg~v3:ffi\R*愳[혥%biN8:ei ˡLٳ YڙCR4'ғYUiP{$=혙SKJМpvKۃNzh FPZN1>I?u,XېI=5)}K-uGg{Y,8[*goh:aKJ AH ;\fT%aa*ʾtTpvP8{$*QphjxIw(&p1&wT#k0h"kzed.YqNJc-BK"-h*"ι"|W+ %2B2 oT]\u%ekU C*H-Tjh9#u",^;< p,\#k/myjH-\7 ׃jk2PFH-\㛅kbM4p9PH-XˆEKpH-\ۅk ZT(D6RhYUWGALȼaydx<2G^-r 78.0=\+{9j饡CE㫟 QbUߋ!o,`K!%X`M. ֽR>te[l {! ktieqKƗ^0%iXadt2zf>^30{0\}EwͿ ;_; JI7 E:pmǎ,^.yFelj>A"7q FtpW]5X9ߗU.y4,0_N4*p"Z [ټ1 %Ț:ֽmsܨp6~t Ρek~Sn@WR;@ryMkNǭ#\7-;Btd -CT JQD2r;3{oxYύN!SpUY&bR}ڏF#đ``p#PuÈgҏw譓+)@="5WHi+Ϧ7y3wG #l9^54Iv)PF~Ngj3̻f&I ʡ&I C]OI>r4wQs3蹘 Rإ`Hq,q[ =); s 3g'/UxЂbA>툃]'nOj8ŤV hه Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:45:24.40Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaF~YooeThumbnails/thumbnail.pngPKaF^SlFw content.xmlPKaF _~$,! R settings.xmlPKaF Ɇ styles.xmlPKaFh manifest.rdfPKaFM<meta.xmlPKaFjҠ"> $META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/odt/odt/tableWithCaption.odt000066400000000000000000000245771363630463000214560ustar00rootroot00000000000000PKҊaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKҊaFConfigurations2/floater/PKҊaF'Configurations2/accelerator/current.xmlPKPKҊaFConfigurations2/images/Bitmaps/PKҊaFConfigurations2/progressbar/PKҊaFConfigurations2/menubar/PKҊaFConfigurations2/popupmenu/PKҊaFConfigurations2/statusbar/PKҊaFConfigurations2/toolbar/PKҊaFConfigurations2/toolpanel/PKҊaF =UȧThumbnails/thumbnail.pngPNG  IHDRzAnIDATxN@@ђ \f'-Mcy{_W郢>(胢>(胢>(胢>(#}{g{2tbOr9i}!eәgS|ű|r*f٪e71\}lgOm:ӵpKly)8ZɺËAwX9gS`yn ;O\{ozvS^8?|dOz w>N~7s?vp}Oa󥿵 s;ڀ>v|pf1W"U3ϗ?c"e!_\zZ@a؟?nYdrO)胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢>(胢;LIENDB`PKҊaF content.xmlXn6+-C m5"E,ۂ6},ˎl+n5||3䈾h p%o`G ʸ_Hnlbe&LI#& ۸2UpJI-KUrѩ+X]܎l;V,كљU`EQ37وdPx\~)!UU s2&f (&3d456Ks6%YSнȪY{WrGwmxvz/ڱ9=9"Zy߹vK*y{ݎWJ5T]@ؠx8:4[pvΨ`* q#LwB=c d{- 0?N4ʍ2%aJ Ҷfln yйβN(ҹ q%Kջp=\j X[/ ܭ WInP4,UPudɺ51̰%3 ɀ 3 Hc³q?P9bGxR!9'&…=CGDj1wd5-d*ṉ)4]$c÷ ϰ%X#Sߗg4zD_$w #-)u鳓}Yii?NSs0jfݷOI; `jp3F ,9n9\q4S7"]$ҿCQQѕ1buஓ$6eQrk0\kW[H_/zӏӫ0|нKMmڂf~8^*@T t"`fc8fydYn0 I%mAE_/5| ?xR;4D-GeG;?5j0~'Xܕ6v2se'@Ǎ<9&i#Nku=?NPK?PKҊaF settings.xml]s8~Eכq׆Iґ NHƐ&oƉ,$9[ِ`R h`j%,GDȐɧJ0! JC9Rz%LBT}%aXDt&R"Xc*UUyLrZ=t5#ѐ\Jr9MO'.E98r8o􄜙ir^ǥDsZ^a;l5kW% Y} I&RѼ ]_/U1$Sh"XAB\j'B5KOf|y+o3Dd;3~c@٨\%Ry*i S BÀ^"D%[Ks+dX!'ʨ7\tNJ^D\,׭Ó`hF @C[a0އG d#AB9j ENZj( Xqo+^g)Ent]ݡ;lfJ-z Sk針͠CyԿ 7@rZZsTkiLg͋t !@Z̷s6AY!o9gdAfk1 E v!̯#zJA%?5La?D R3JVMZ6_9ۺGkz6GqaGM?g5!'KҭVFm?=, ~n5Pr֝J4ϜVXjGӉ[y9dQs] UE0bY=!k05wKL&0QgD=P=섄(Q|XmN(}lք=}Ĥ&pmTwf{d) *\NR>3d] գC,&۫ xXÙ zRfc3P8J̇`&}Ӟ~L0Y]PVXe*Ju@QрcO@?1ŝ?ƒbhnslP1Ci!tb, Џ'6^BGgl: c;贏N*GHhDs\"3 yOC2Ĭ0O%F%2 K x; 2 c$u 1: γ=161SbL ~&D6U"'uϲôES~/7E78J]5?S%AXLmA.=Q,?+]0EŲٶZP/"f1}o*)% &r.GbfS.u˞ݒ~=+o)_PKqR'PKҊaF styles.xml]ݒSP>T€ `MR٪=8k,-a,y fcjgtqv/& >FkS$8B*=JpeM9*Mm*xdѼyϜYRm*x4~"{AlD(0`(Mvߎ$]l6b~l҈sGu 3kLQ1^uHf=ic P=qi0BicUvʀtϟJ_HMb{0ig6~dn*S6ifoℤȢyEx:2JeZVhn?x^l^7\Zeb^H c;~'hٴ(^ȱz9eF;I siT(#j>(FGIQ^!T XMCl?^HBCL?"ek’5JH qQ~s~&>B2 ݅Ԝidb&!F~ 6I(ol SGZKUVRlg aW$ PXi-# V^cҕ-6F e#$(EthC # 0(JVHv1O1MGFƶ}Ԧ=t6d ! $cdv}0M 1CwCޘ?`PoMLSp>q ,NK͹`\~$%E>|97~2h, }b &Wߪu$0jpX  (\[} Y8,a`)B˘uѲ  g[e;DZ藝y'p2ͺzz9r)^0f^{lU!gJ68') gi"d̉_ڱmshw%+v.cAwcC_!17H"e0<2 @ c:h(J~(1 U4`ֱ,F)0Yرز}N(egX{7'q7 /hK'J7L1.eU"r|3G|EgHIv B= m= ̣֗M#NL:s6Iee =^'̊S@--ژl]`g& m)&a=t͖UwIzECz/\,p}r9zslXYmr '-Gpdt?w?~rڜD͹BR-} ]0pփ1H @$vURT;lګ6@(k7!W9R:ᵜyCuhVk(D\-칁&bg3tӾ}^T#. We{9mmE$Q7D`Uxg]j:XzTVܨu,a)43θଝ4t̝Kȓ|.ܳ4,lvh5e$9S9y`[:\7o\("[8P4΋'wr"eV)> Zj' T=Z픥йZZYZNnQ,N .;y13{`R1 ^,=L .)K -})KH=KK-=阥ݩ~9T)K -=혥=}V;{gIҳy23ٹT -'3씩GX=SKKLORu9*)ֱTmJyMz 3=,!:gplf8–Vzp7l;s4T9ZGs*vjq`y9L r:sG b9a`*^K٠ޠPa9\\%\-#k|bV+}hyZ mYWYqO]~Z)Gm0Sxpfe \B+!p.TAj_-T;'ãjH-\5O qr9TCjẻZ1CmtI5Z.?ҁ%..R jr ҿ*%..R z~€!JˮI#c@Lʼaydt<2GG έ$l-MK-Lw~$p+PA5;7TrH`|!Z [1 Z[)kBʗ0~M`+X` ֭ R5i `݊ Ax? K7,@o ts/th OX: ~\g'?)WH'@@:}. رܻs0}`8_]"/݈] :Q;;R*.;8 g%9߫F%A0t :YS0seڼb5@'MxNՒՏn9;_4)E.敔MM;P#Bm^I" hNG!*EQC(&gOEܤ^ANPw7lSHL1ULq8(<tpqefJJ+0iax}S/͡3mI1{oȆ>'벆0.)0IԜ/qgqy`@j4jT ~bA7}-^b.Ii!ÉT'l1iى؞c9g Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:22:37.29Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKҊaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKҊaF^2 ''mimetypePKҊaFMConfigurations2/floater/PKҊaF'Configurations2/accelerator/current.xmlPKҊaFConfigurations2/images/Bitmaps/PKҊaFConfigurations2/progressbar/PKҊaFQConfigurations2/menubar/PKҊaFConfigurations2/popupmenu/PKҊaFConfigurations2/statusbar/PKҊaFConfigurations2/toolbar/PKҊaF-Configurations2/toolpanel/PKҊaF =UȧeThumbnails/thumbnail.pngPKҊaF? Bcontent.xmlPKҊaFqR'  settings.xmlPKҊaFa 9 styles.xmlPKҊaFh 3manifest.rdfPKҊaF!brmeta.xmlPKҊaFjҠ">#META-INF/manifest.xmlPKp$pandoc-2.9.2.1/test/odt/odt/tableWithContents.odt000066400000000000000000000211611363630463000216400ustar00rootroot00000000000000PK)II^2 ''mimetypeapplication/vnd.oasis.opendocument.textPK)IIv֯Thumbnails/thumbnail.pngPNG  IHDR߃rlPLTEyzʺ·ŸDBIIDATx[@ P(EFT|?&L9mfnU`````````````|hSlR#o*__^~:YL98vhvkad)MlR1cw ]^͟ 2^Xo%7I|Rc```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````xbc}IENDB`PK)II content.xmlXQo8~_=DHHm&vJ'ړm!&$~6!4]i![fgS:Xa.fx8r8 YDd:_ݱ8&!")ΤLD`3Y "PE À8Z6:k\mkײ6lѢl[G}jǬZP7f4GX)ɾϜyyeYɐOSOkka N5* =LZLxbS,Q_~ kSʊty NUJ:B.(g6H,EYB_!NtA47fbsGHWPFT6o*7rq[q.L<2/]֯OtvxZVPpDcК19a(ʽQ)ёM 0<&cs}c0 ZgNUmƶ\/ث\\_*Ej>P~8:d7sDF 9 liHceIo"K}YhP{^p=Ax]^*ǗA'uOfl5UH?o!j,OrRjv :P~N"BT Ĭ~i4 ӱQ!mҁ )(! I"$MKfߘQ̌1|#6I'uS.=H[+M/ڔ> T3ǭk[8,_ٓO3 [гvD`ҥn`?)͕6q 1R %07~ctp!lfy4@܅|:wW%U?@ǥ VK$kZdgEKa#e>*N Фʋ|DCl@=ie]dрR*yA pd EX(dp`w*1/`ܙ5uKHaE">jn e~A} <@Yً.\6̙tvN4Ej\0 |Ϯz%P r-:LeZlo$utnG;T}.%ψm'uI ]*X/ר6I_a&Lq扃Q<IZ |* i yXYQ $DEɳC嵖 SLJ{-n~T֔M[ok{yH@ x#w 5Dxܵm13rT~%hd?I}52nDS3|/:ffE`R᥽kdpMĉߘ5jկ:9Iԉ3_N؞x160Eb&FjޏPK̔N(PK)IImeta.xmlO0%"CO+RSioc`#,鷯[6Cͼ7)M6BɃ@2Ņ`? *X׀AzU2~%QC$mˈjA.-dKhRږ }'y\z8CP`1Z!m$j4S.M ]i{ 86A.!4xý~,0L\3qN8"ў$g1@w:)H*]>o J4Yzzg,60ҨtA2XpF އ.Kq-ؔic1??Sz'v}ƺ 捺:iݡ(Zb4<~e)sWjhfA",2Ce޽to,PK.PK)II styles.xml[o6~_a{mN-ۢ%;$E%GvRo/>la 9pH1~|JsAXv7Ybm?|ޏ{ǒDxHq&}!gbmw^5CuR,2ZghjPEw6\+?ɡJa6Gʮu~L] 5~O4Gx${vRdߏ1IZ&ZZ9Uzy֊ X &&8XK4?뺔 VU"J7(zuCw!q\FAL]z,lϥS[<[sYKE=`؆)}ͽ*PZI* [+Rd|4; ,;o:e@NX.a/Qc|e*`~JQ-ЅbpG]pSΞȝoQp)GikQ!Fb̌*X$Vk\b0ܗHcIߝu[0BJ]}4B`!S/i#yN%J AKFQ-p"v$q_!%-晞]>T(K5M^m]ү;+)}\zrR1o ZIw=l%^Fn05N`ww8SE'JRR?yE0dyb>~L djx omIh2r ۬& )"R^]Kbjt'}Rr\7lWH0\(Jt`}kphiƹ/˝:ϫ|n`w@C{v(܃`C븿0*ەLŭ nX|r빜"  {H-0)!w:.gZfN5P_ ^eAD K?=EM-b:ND兼z}ٰs6[ %oqsLu?]!dN +~IH^mZCM;L;鿆 K"Po02)i4+Rl2`H4%L*|ڟ{<Ӧ,%/Av_9J^ CEx7E ElZhicrZNbi1{9-gB\̋ yEݻ/UȡFm>4g,ǎH&cnimf0^5!XuQ' nѴC&ڀX&1IW-oݘ0J`a$x";>nqҨ}p邴Ɂo ynx0k`<c`|ۍ50yc/z0^tcƷo enx0^`xu o  |q0}c = /)rϘYBEa5aL]s5s-{ g5kcΰ깞pq9H+Dj='Ǩ~x^jҖ2E\U*ặ!Z}ȷ{yFX s^RRGK$V z]N>D)ȞK<7^,#`}Mu,J#IЊ3'I>)zf>P* 4tppO 8VJ(QO<;uꐼ)B.cxab9uTXߕGS-WNxzL\jHT}T%Cf'6ZO_PKl 4;PK)II manifest.rdf͓n0P]Cc7`@ E.# |gr1F Îv@t_k<4W'w=-ylME",So^w>p@p=U+|PKY>PK)II^2 ''mimetypePK)IIv֯MThumbnails/thumbnail.pngPK)II7 }content.xmlPK)II̔N( bsettings.xmlPK)II. meta.xmlPK)IIl 4; styles.xmlPK)IIh 5manifest.rdfPK)IItConfigurations2/popupmenu/PK)IIConfigurations2/statusbar/PK)IIConfigurations2/toolbar/PK)IIConfigurations2/menubar/PK)IIPConfigurations2/floater/PK)II'Configurations2/accelerator/current.xmlPK)IIConfigurations2/toolpanel/PK)IIConfigurations2/progressbar/PK)IIOConfigurations2/images/Bitmaps/PK)IIY>META-INF/manifest.xmlPKppandoc-2.9.2.1/test/odt/odt/textMixedStyles.odt000066400000000000000000000245131363630463000213620ustar00rootroot00000000000000PKRI^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKRI! PGGThumbnails/thumbnail.pngPNG  IHDR߃rPLTE+*0NE0FPQNPPNQZTMKSLQRPK[RNRTU[VSZZ[OXfVZe\^b\`\_goYdqXb|\ofYOoZEb[Te_]zhWelffkkjfhhhelnmiox`pyjswukcwjkxlcqsf{yjsstttytrzz|gqhzhzsw}|{}}rruws~~vz~~u}|}åȬƶö˻¼շʱհ۷ۿٷöʴ̽üʿֿ¾ȼíñʽҿb1{&IDATxOeqTt}:M 6_b6V@CR2*+Kp309H6Kכ 7',R&Y'tN6}KQmf{?ws.ɥH 0` '$ՉB&V[|sbҲ~EVgS+ߛJ/X Ո G}:N{ӭ*{]YOq:^ԘNkM_jd,)0 z۶)ًoyNءK#׸̮H .vSΚMgXvgɯIuMsS<{o*X0cjl 8S{{0F½r՛nQRAIk o$^etwEfYn%;G>E??x|S8 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 0` 03mEj@IENDB`PKRI content.xmlZo61u(!鯰IO&I V f~6HdoS6J}ؐ>~٤Zc.˞lzb[8 YD` ~xdqLBG,\8N2 -`g7Og>C?C) }bM2-Bn`7oP¶h1|d n#dQ %oub9d/ %ǓH[u1f|zսuaWjTb5pkϭ)hh~ L)[ K$:b\e4aEo,jrS${Bx}O-BN4&1Vftɍk^p"1o^xhX+cs*Ӻ0uMw Qg?^_h& 2\݄Ι޺Zxaݚֹ%2]V%PHg҇ .~[N_жEK&Jdg|YC1[e0 ػJ&ǜ.D5oEhV=e',FL+Ǩt4 cN*`oO7©x?QBzxU}a(Gj vPn,(NC*GueUO3 e³- V+t8a~Mހ'3>д&Y"'2_#NtH7 5}Dz4Q@GgzGCR srlTi4(vPSWlͫ*GKua!U1 +f>ﰓ`L`e{UTmptRA<Iz3Ps~2%4UUU1vu)˟Ӈ`bLZ-fٻ;TRޮF(G|||[UVd?7U..JroLS j+;__*sC@*fko>T7fr.K"ۆ!fSe8ៀ'])^ޟ14&LAoh" `2A1-YW8c'}Ą>Xys.cCm澡PLފ76+]7rmQ>Yؓۛ#6]Gc0ٛ7ńGL$j3&Qf LEͤ>:dYm& {/W  27=(ߢ˾Kڽ4)f8I]&?m| oRqwrHD9]6:cDS)q`d5y;BR({H?'O!3X ,~i#4Q!MС((!i*$K'_6Q% )KZl!N\z^4)#}Ω%G[XS=*6shyzerH<}ʈ+}C#3i~"B&WǧWO .J(/CCajz=Mȧۻ79^E~6b5OCMEfP+\~QT6;R#k.Lhx'4V _ݑyPFK(ƒX[iru,`"ʄ~l6BcKpj+/}3mhaO_-3&}4z,5y!>zc6^oQG!/]^lŝξl'N䘎]ij"S?4v<{Tn6>6D{/i08}~I)̂L?ES 3QL\R`9I0^zޙ5uMiIaF".jn e~A} <@Yً.\>3h`hW_udCA?tGF440IH܆8:CmJ k@I-ґw ]wUp\PR$}-Nʯ\28!ܵM\私bo`-r&Ktj^f!iA}IQQ#iK`y%4}Ô)R_ 'rVk歷n㭽A q |#w03x5m5zU~!jd7| 6rrDR|-/Z#fA a2᥿{htM$_ԩjկZIQ׹ԊLs-=; t jGC a+oJ~ XPK*xO(PKRImeta.xmlKo0f bEEVDno`#cErBe,Ut(Y+[X -b[Ar6>)ɲ |T#%8 oVZA>"4}/tinm1r ex5|, 00IHBb<]#nQ@!4qHYlJ!@tf\~ _QcN"^A[ .AskS<ɓoQ&awORu]zLo(5J8%ϴek%FݲSם{(ʚW> YfCU349/xڈEf-u8G]چqsEGE<t,PK=2!PKRI styles.xml[s۸_MFdq:i3\u7 I) A i˧\=$~`?v .Q0yBSo_~ $˔&<,1rwA%E%)9rɓ%-p6RZdg}%--Y?dS}/`ji_Ck&tW N:Z2?[΋hɐ(^,#I5 'X&d3,+G0i樯~V)v+zC8:jO4޾!杤;Im[M/@}o|%x[P%myJQUꎣh:R-Y=#3=9˞,1ӝ 4G'ᦚI{{1\Pƍ" ]/AլNVPg2PG2y,:i9d穳q4<&l$MRe״aTC$Ie2.e9.{$hH^Un|KښrF Sd*- >1P^fڑЂAA 78IA {R(dbk`A-eTg`tGAx 1"ʩ>PMasjcr'e+~bo#arru>v׋f7)4-k'm|o=T+;6]gƳؙwʏNb_R MBm5 uޚV\$~qiSׂ_J!~eH[~1>7Zn߼-ȫ#}[Lλ;rkE/ȫ#J,ֿKgW.\rQ#3:}@NsS*(IPӌ=I#&y樵i.79\ *; MJHI8Nil3{T /0\s73erdKYȏn'ݧkck. #[|A+p{JAAZ1S%+ *0-NL$y^$EE툟 -a)T(ב]ktP@'djcqpYv c(DVCy*W BsuaketZ*G\IAĵ6a=satC'wԃԍO7o\;փk`|0y01]w܃܍  7Ƌk`<WNc5]/t|nW8cc7 Anlsq)k`֧kJ2B\UBY%֍Z&/2j-^ڊwBb5yS D \xo=aښF2EYg}!{k='IBMǺ07:y[;/.L#+Iϒf [è;wWmf8C^gYg ؜0LwB1e|ߠ1ܡ8jJ\40fxLu{܇RqByjg׵R>("+[-'H<7?F6 ViG:eMءaFEO[g˙t?rPKc)+ >PKRI manifest.rdf͓n0P]Cc7`@ E.# |gr1F Îv@t_k<4W'w=-ylME",So^w>p@p=U+|PKY>PKRI^2 ''mimetypePKRI! PGGMThumbnails/thumbnail.pngPKRIIreO content.xmlPKRI*xO( h settings.xmlPKRI=2!meta.xmlPKRIc)+ > styles.xmlPKRIh  manifest.rdfPKRIN!Configurations2/toolpanel/PKRI!Configurations2/progressbar/PKRI'!Configurations2/accelerator/current.xmlPKRI"Configurations2/floater/PKRIM"Configurations2/images/Bitmaps/PKRI"Configurations2/menubar/PKRI"Configurations2/toolbar/PKRI"Configurations2/statusbar/PKRI.#Configurations2/popupmenu/PKRIY>f#META-INF/manifest.xmlPKp$pandoc-2.9.2.1/test/odt/odt/trackedChanges.odt000066400000000000000000000255771363630463000211240ustar00rootroot00000000000000PKmaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKmaFConfigurations2/floater/PKmaF'Configurations2/accelerator/current.xmlPKPKmaFConfigurations2/images/Bitmaps/PKmaFConfigurations2/menubar/PKmaFConfigurations2/progressbar/PKmaFConfigurations2/popupmenu/PKmaFConfigurations2/toolbar/PKmaFConfigurations2/statusbar/PKmaFConfigurations2/toolpanel/PKmaF@b11Thumbnails/thumbnail.pngPNG  IHDRzAIDATxAj@@;y&RKDbb~E[EAM܏8_oM}PAE}PAE}PAE}PAynD";n07ODi-Hj$wc#';aL}> ITw-{T*?Aqm*r~QqUM0<`'ƶ2,89owF]v6a$ɝ4Ea SmyO_wi]7ITt&♏>N oIm>0Ar'˃`FLM{hugX<21[ݨR Գci5FS.‡b?Dk+(/Lh9-pi37+KK| Pd>~iG/z#ow> 6zO+Ĕ}[ S<0>y޾}|f`ǩl@# WW#5u+7s2qqc  ߧnuFYM4o#/\iXSpe⚚&>#qi`fq7Di_ds!Řa`"ZQZ\<ӸX?m׾˝/tiu5e$D!/"$3[soej,c, g֔ i ``lڌKrޗ<50!65wrI#Zr566ӆ%i r͸daͬk}CZb#& daq!+k1o FLɜ.hchXFI0Z#$t:Ek5bA'h\LF5~bA'hXFY0Z# t:Ek5rF0=?绨!9™L C4#- k-֕*`Zu1*a>W0X\-+aU)tƸtj]h J,5Ƹ4j]h R,WCc|#\Z, ?zK¥^Gpi_\iC_>,?zK=åGpiW#\Zɷpd5 Ń Ϩž- )0{/P4|>v&׋:h@ eՄD!]'p1"B`KFWcǝtw qRXh4zI`a3Ϋ]QzqY<"L_&R])_ G b xV uzN;H3jIw#ͬ9GbȊIv:oEI~T{.ee^{>#ɨcGwK/qOFʻd#uap |ZixIPKcerPKmaF settings.xmlZs8~"wBBۻI4$0@ {jdG!XҮ?oWe"^@iڻ<@q9&W8ZY4CS-U _{-dd [,kʕ_k/6&m|ռ~l6fjr燪*fUb3zw4㷯 7Xۜ?ۭ]{aj5lݯkiM06#fk7ڇ){q'tO&y\Fyq=1.FQ|A39`(ImTɎ…;``񵄥5.#XBkPZaE[[FQzm'߾l|j6'K>\\$ZuNBG{ӃrI;h &dB,Fu 3k闧J >WϻvР*{HG[X7F Ĉsh!S#LL) 3l41f* HDyjKX:!!Sl() 2r: >h>KhPFIߕ,& Q Bq7x{ TV'n;&3&:T=H璌66R r[/w 1l5ᒩAQꈣ"*R7;rff.4w$5+G "?3F 2c{>*FENn2PbħNA(\b; , Rh q%oƆv0p7Fi/.J|!p[;N&CZD]ףWtALq 5~uiIasXdkG 4@E(ʁ1{Lܬ/"-8#3_J4y;ێ,4+*--SrI!PeI"$!y D 5[ wVNՖd)qI*Ӛ|5Al=: xD._F'a&SлZjגօ.2oAI_s& M&nf;Y੯-ː'ESUWnȍl ~_m@8sSl ΅25`h0F b_0mѐ2y<)(2G_t2bͽCI(&)>V@B Sw*lѐ]9JW[q|sPmڊx@"zNz &KC1uIC!(s?X[q,KxYh3cm S^Щ,$mo, BWߟ4f3،$^ |>dbNeϸ\g}L;K (<0 8n=TUkx^iTQ6sޑޑ+(]k0 ?Si qж/[Q{QirnYR peõMs<KܛFM8؝FvNq|8 LTptږ'G$N,(Ў]: |{Q`]Ůdጆj`Ƴ7TOCqSv;9p'}xi??p|,?l.X_фD<{{SQRdqJ3V8ı&l$9b)j^戼~F K9\IЃ%+g ^Nh.Iqpsvp|C}y!F%<-CZ(Z{N_Q >d#K򸁧R!!1]|5rƀۧ99SX XHDȁeX sB>egt|>+D*<6^6xbD~"BbT'+(>:<ΊhDl#H:l!ߧb^bni)OF Rj@at{ j)sR4R #(e|0 ˙i Çb8!:oP%mӀE\0o\о%Eo|մXP^͂~ΊBFCwz#]0w+ޢ,tҌ7Hf 6HaH[X5'V-U@$jk)-v%G:Y߅)֍3_ٺuqРɼ;{)ʒu|, 6.HL]l0E 5c;6buOjN;ƑNt_FPrܖrQA$޴?0r%76JH]Uf~ݩu((*;[>_4{X{-;'17d /7h 'RȓZs+T?G; L>C k~%h0S6vT;&V9G,~Ex`1z\xʼneI40 DAnJA);M,*е[V zEk?B}E=^#'<#_Zs谶.ZNi4ϰd]u5;&J;`oEmA|WoLD"r)AV˖6.K@A$ vPꆭz|z=D=ŋ$yi+/SٙϫW#reFUF;;KqgÊє2$]3ǫS%3c5a#ln{AmH&I+|_IkZ")BYE'=.l [{B;?=_M|OkRB֫%צ\⠼JSlb)&Z=So7ݟqg ir׍TJX|c3vtu$,5%ȑax.}yh)ʶ cy! $;|14:R%nL܋?-$ro2{^%y> :i҇ ~[kB>gy{^=nEVdWv2̚D{J} .YBJԚxG#ǪFn۴kTx䀘M[Xjul|0 NY*g~AOD0B=(#kH&Fl@b E2зTX%}CHR;郭IJJ 7N(4Puli4m LAiRѴ \ӣӴ=( ̞\Sk\Rj愓kzrcNgM9~)Ms^eJEӂprMOoLLʔ9䚞ݘ'0-jz%HoLӹN%hN8-T=cz(S*cT]%gm,+uI͙HYrkRy e ˠ$[.-=$Pu hc֠\"uNFw=GgU;\E aa*^e۫pf7FizL:j<0͎9\;\%\=k|^Ϣ;VIwךkIe+eY>uY H7 \]l\t%eiU3C*H#T㫅j4@XV\t55L58>v9yjH#\W `YUNH#\ӫk6i#XB"`ͮ, "-ˡB"pͯ14P\vm/hjFuud44 7,GFNqKYOp%).0=H^)wj~nrѳA7CXb5`K!%X` ֽRte;$`;5>7X2H ִ#Xsu/aԯFIoX*h ٛ{a&`&`OJn+X&@@nQ6&Y[ݧUoŒX?5`I!|P.Dbh?qn \_dY>^-0_͕*p"ko@rEw}ƀ k fNl@W,n ЩkS-V7} ,/qj" hJʭ:2P-\m_5@E.Bt<M;yD5"zKb8$\z,Ftn`|-RhȘre"+e#N, WdBam%NLdEX\׀⦞ P\$86D*xj-Tb̊EIL/=]KSAPv[QuSY.,`"y#)Pi^8`:azN~ \'G Cxw HVJTJLN%*B#"`a(05 G^Շ5>v9 Oml8F\AB/Cʼn.́iN\O 0̜SKKAK$* y9[͔.V)&nt37ž=u| .9!Ր#_)Y JCe3*kł*PK֡e PKmaF manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:19:27.25Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKmaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKmaF^2 ''mimetypePKmaFMConfigurations2/floater/PKmaF'Configurations2/accelerator/current.xmlPKmaFConfigurations2/images/Bitmaps/PKmaFConfigurations2/menubar/PKmaFMConfigurations2/progressbar/PKmaFConfigurations2/popupmenu/PKmaFConfigurations2/toolbar/PKmaFConfigurations2/statusbar/PKmaF-Configurations2/toolpanel/PKmaF@b11eThumbnails/thumbnail.pngPKmaFcer content.xmlPKmaF?9%,! settings.xmlPKmaF֡e  styles.xmlPKmaFh 4 manifest.rdfPKmaFRs!meta.xmlPKmaFjҠ">%META-INF/manifest.xmlPKp&pandoc-2.9.2.1/test/odt/odt/underlined.odt000066400000000000000000000244211363630463000203320ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaFConfigurations2/toolpanel/PKaFeSThumbnails/thumbnail.pngPNG  IHDRzAIDATxъ@@фMq 5(M |'}|4}PAE}PAE}PAE}PAE#}Lζ,n?9 o:xֲvxT$֣c]We7M3^v;anB7|j/}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE4T잂bIENDB`PKaF content.xmln6} CkczAI[ -6QTE9vv.X},'-ŭFqD9xzv#ln .a;x _g.wfpx31SscGCЙqkE}>q;=E=GYo7@u_{A{> ɳ(_& mv;k7xԎjӀ4rS,;؉CT6>i m%JU.=#q6((=7"c#<ޑP)`rcAe0l_(UN@TYytP 4 wmޝ4$A9i ^^n`4M'L(pڪ:5naӿ;졃19ol&B $‘N<Ĭo@kƶ =Zemb\7ٰaᙏ>?Oχ`68 r$ʉ`zg,QVi  slءbFm iqO=8bkDFv#)1?%9Md*4 d65YwYg1;"Ĺ.  2)?|'{#_ L׷[wc8'/ŗ9tO"%1Ƹ E3.Gې@3j'ϣX}A(@ e,z0=H. Ąqlp{uHN^t*oLF L/BEo@w7"p2*L+7@f1߉` 6mؔKr\59UsQs1/r126)q Lvĕ`X8rxE:n[wz|+^n)aOUr1O߫˅m)_V?Lf:`}$ DŽ)|y@yp P +r-g&qQSw50Ϥ L~tvz43 ;u55 քA082ԞJ|,Wcc'U(^ [ fhMոawqY%q ̤ȺTyԆ媋+ĥ60]&Vأ6,7]&zI\j3Fve*r=j2wq7(KdhChXFH0Z#h$4Ek 5bA#h\ڢF5vbA#hXFX0Z#h 4Ek5riF0.a~[zخVd?7lZ$ZKv@+O9,ʸ]e +Oe(=Tƕ=tW͊DeXyDGa}2,?ZK-åGpiU"\ZhWZǧK-¥Gpi5*\Zh,?EA]bݧAm3L/ U\"|L "j&@V Q^ȷ۔/F8={0X|^:Ck?x?bi'Uvy 2 w v/Qj<) `s㄀p0q f܁m/OŨ!sB"O)(&* hw" meApF7x{ TV'n;&S&T=H璌66P r[/s 1t5?]djuxuDa,Q&`\Lٌf.'fD[\ 5WN2n[d4&l BA|BϹ?Tl9#TWarDE7cv;Qa2~e4Eq },&ZD]ףWtj(,ӐD/>.9Ih, Qc_NY_DZqFfhv0,$+*--SrI!PeIB$&y D 5[ wVNՖd)qq"Ӛ|5: $ztX] )` 6?O:L`kNMPBjA^KZȴ%}͙20SrM1Wge'D2/lMU]ʺ!7f)2+}aL):&KLv@O=6"eiLQEF/|]_Ɉ 6&9˖'akt0NYFdx1 ECvw( _]l9qj+.Vԏ#@v겞.΃~п:PKV}*,!PKaF styles.xml]ݒSP>T-{Rcoƾe+ &g ?EyL%Ax['C<@p`%m-6 2H^-B8Y|v8LDTp'tZn?1Ib ֡>(U.Wp}5pt)۟O}d)jx/@R^ >;PEs~4>hBAu[IP!` %E4s#R6Hc]5 jz#2b ,Hן6^W_TȟPLҿ(x9~4SƘí{3o1J/&wBs>eU7l LYZMg,B"bF.t|5g1ZIU &,Lc2nH9:Z':>2OS B6V&-PJ1Ɇ$oMFh gEaB6yl: |!࿏F|?4 <1H1FHx$N]qfb0CDQe{$$%ɒ !x kL0Rۉ3o|M%G1}f~IĆJ:MXdP$4点rAAP߄Y΂Qs/КD_a֑d]hVl,,`oo& WHf wHH@XFX5]}e$*k9=v%G;Y߅)֍s_ٻUKI7x*,'ߟI+IJc$4A QR'>c3!JR fF8[s cr_ !7A4At_RkACQr0Ch ߠ7gۜ;հe5J ŀbsek$fcFlEcD)FeJE-"ʗ>sWT$h'!ԓɧbhamh|q:b%fr IC lK{S #K9;wR cүDa[E!,HVĢ@fNhRYや!bߜyQAl_h2%Rx"%IUgφv:eiJK˔=K -=옥bg~v3:ffi\R*愳[혥%biN8:ei ˡLٳ YڙCR4'ғYUiP{$=혙SKJМpvKۃNzh FPZN1>I?u,XېI=5)}K-uGg{Y,8[*goh:aKJ AH ;\fT%aa*ʾtTpvP8{$*QphjxIw(&p1&wT#k0h"kzed.YqNJc-BK"-h*"ι"|W+ %2B2 oT]\u%ekU C*H-Tjh9#u",^;< p,\#k/myjH-\7 ׃jk2PFH-\㛅kbM4p9PH-XˆEKpH-\ۅk ZT(D6RhYUWGALȼaydx<2G^-r 78.0=\+{9j饡CE㫟 QbUߋ!o,`K!%X`M. ֽR>te[l {! ktieqKƗ^0%iXadt2zf>^30{0\}EwͿ ;_; JI7 E:pmǎ,^.yFelj>A"7q FtpW]5X9ߗU.y4,0_N4*p"Z [ټ1 %Ț:ֽmsܨp6~t Ρek~Sn@WR;@ryMkNǭ#\7-;Btd -CT JQD2r;3{oxYύN!SpUY&bR}ڏF#đ``p#PuÈgҏw譓+)@="5WHi+Ϧ7y3wG #l9^54Iv)PF~Ngj3̻f&I ʡ&I C]OI>r4wQs3蹘 Rإ`Hq,q[ =); s 3g'/UxЂbA>툃]'nOj8ŤV hه Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:52:49.65Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/progressbar/PKaFQConfigurations2/menubar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolbar/PKaF-Configurations2/toolpanel/PKaFeSeThumbnails/thumbnail.pngPKaF6|t content.xmlPKaFV}*,! R settings.xmlPKaF Ɇ styles.xmlPKaFh manifest.rdfPKaFbk8meta.xmlPKaFjҠ">&#META-INF/manifest.xmlPKp$pandoc-2.9.2.1/test/odt/odt/unicode.odt000066400000000000000000000270131363630463000176270ustar00rootroot00000000000000PKTF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKTFConfigurations2/floater/PKTF'Configurations2/accelerator/current.xmlPKPKTFConfigurations2/images/Bitmaps/PKTFConfigurations2/progressbar/PKTFConfigurations2/menubar/PKTFConfigurations2/popupmenu/PKTFConfigurations2/statusbar/PKTFConfigurations2/toolbar/PKTFConfigurations2/toolpanel/PKTFRʱ::Thumbnails/thumbnail.pngPNG  IHDRg?IDATx0@(WUjEst>FR$ELR$ELR$ELR$ELR$ELR$ELR$ELR$ELR$ELR$ELR$E,Kjyk_߮_8_#dIBYQXso}^kJj?W3 -lꖤ8IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII1ƜۧxI%Fu"&)b"&)b"&)b"&)b"&)b"&)b"&)b"&)b"&)b"&)b"&)b"nQCE^IENDB`PKTF content.xml[MoD+"#q~&+>RJV{ 3ff\'8H,Gĩ%{MXi.;=y6 %0:ZNj`1zq> ;a1pg^b*mQ 6@>C>E!}Yi/-"<d]e-Q})sUVXHjQ}*D`d=$ox1 f`M$t'nM^b(sq1ᶜaC,Q]S$ZIEj){#뗷uC$59r@8;]RR1<Hʏu.?#"C$m.Дf-WR!%麍>@ԋVL!0_\ 9\m\ia6d>G.'iG[-zi!1}{GsDE%@pef`kdG̅6>.rV b I> ,E+p2BM8Ml1ue*v@GYJ(m Xŧ5$- pLQ txo7~/, :m[h`5=rmĤTwZMi>E}4h.VF^iF:ecfJt@x!A^B<]Z&L9%w J;2-حA-VW X6pZVH(,ZցZ805/o,^mýpzO[( jc'G^|\90f)@#JM3J¦tA[NcQ6e@(Y͒YBr"|][o3eef-Zso ~ꇓ/*c o~y30+Ѳ꺞nn_PK4Fwv>:PKTF settings.xml]s8~EכN$M8%$_+LJܜ]$_pvS8T*r/`Ma4tNuͧ%qH:D)'0J VXpHdEVy]Ieo4`/7RQXLSr xvuuUL@]Φ+ =)!=!c&%v^*ٸpdh +9{$u"f$+IޤVț1#AGKTuqhdCxjE0w$gL>]|0Ix``ĞaF`9%n~4<= S3GȜxʷtX&ƪTLp |Mn3Xxeyo2Prt7IݧSw,ŗp?qӺ͸8,54ٺ; yS.v!Wbs^+>/CU>ݳh"XANtjBUKa}Y+3xD \=uXg[<bpA]taOtCփ FHq8! ܨ?l"jڀּaIrU[,U0]401{1 4mx.p|饪!b@T4?a.ƽQpڏV=uCJZl ?:a#t=xq@6 4J.QYCq}\ߊ~Wz=Kju2t= }6hV8A0{~1j;6G GNK y-)?>O'ۺ Q7rnT|;cNK~E槶3  n`'.(~)i@{0E;4@K0*ZYutml]Ʃrw5 lVv0^ˁOS:Oa-V7KҭZDՆm?=. af5Pt՜R<͝=,۷jga~̢`0gaϓ{B6qjtԙNaaOˉZz P(ں۟@'V {IwU$v)vɌSXT/>rV;Cv'8"<-S}.fjs6H g[XLWpM)%$/b3lf Mh+U]ELD>gta:Lk1~%3Wض"B2I^a` ücB۬ZdôޟVPreD()l4= I:%IQ#ijeJ $H-!⡩$i!B|bctv޼X]@ֺNdt2F!Kz-]ؐD0$̺1sUlTr( c BR{s!Ap"3cO[3%(>0`J3!qbA>3y-œѥEz1i@ٙ, `v|{vp!6#AݐuXo*Ͷ̂zA5!{SN1/9m(7u=0ry[YqyPK|lW'PKTF styles.xml]ݎS@/dK{Am4nZmeeQLrQ((>ZP%J&eزbC~")O{oq"ah6r\0r_Fk{F 'nx= #E{U5V:kG)[uXP2%7n36Ȱ>[s]p#ckZYi1cigYc.UЀy5|֎ǭ{p`EN:b=v ,_B_cEe P jHBB2@ӜCĂ])nG{hD >0Ҙly>0@8OPI6vS/ZEqD 5ƣ O51Ҽ) ODpo^'*{*F".1$LhjM=󀿍<>{`؏0 ogÈ#ILAJڦAjӊi쇧'^vK|KDуOFRIYk80 p"힃2L,uAQ4H5tap\28} a s+3 ш.s%v#I>h"krbo$# w%#%aBBD a:0hԑ@w#Sy:Y0ŋuHUX}'M4&-4H9|WO%f^B/i+빹;sҬI ;i拉Fیe)=v:@卟e|Ϋ]?^ǭ|ؙZ\C }5])*kz1*Tg^|`,n~V 'WL1l t(fCzDthѠǺ(9 y dABIvK¬X)*"+X,+Ɇdp. #^\n udX%b JJNAt,rk-hr';K'tZpr^G*eμBBw 9|BIS4DD"dP:2.%Yr>#wlaGjqvuVdY'T;9B"ػq7[-#z!Gzf2ޢG*f:)?*M- 箋M'Oֶ#ARL]Fe}֡VYV` #S+ˊZ3Љ(9U͗_dzT!iiݴh:ItcDeBzQJK#mz _d')pPi)B:ًzqO:N4M7 Nɿ&' |;ͰsJiY~(>%jS&Ҥ5%"ti5XTiYF:8C(*  QQm]4IJCa'My0:O"VIE+Kb* IZ= 2Uh>sQh "PR}}QYe.O{"Q|Dj){ʲ_(BMtIgkZ/!ml0_j~&[5.>@+YZ^`oppD?IGͥH]/?15`1a8C4rƒRN*H{O7_*'6H)v|[x PtS:kFPop+ >)n*pұ5B#dMxegYӪ=}wkRaK+}W^SIOTYOTEO^˞^y~ŊE㹢8_ZC5t X|v?<^X=7X=;-fwl)S|Kp.G4ptk꩎իRmuyWiLU[Ʌ9\sYn2n?xܬYMmg5Zg3mb>0&MѳFj_Xɩ;_^* ˺ZU)\0h-]F ~x廳R48 lJ7+Bc y ;R,t8iu9)U6&+X>rڴ9Zt؆J芫ͼJ=Ē fy&+^ȥ%ѻ.kGT&~`RvIjxqi;nU%K}.ӑ\l3\+Է3`Vw f4ބZ\u G[t/hqGqF>TSP;qx\ WcckT񩥩rj<N9;1* KŒV|_5a֎ײL*vdX `Ҏ kaJ;25J;:ʉ/J;:ʲz>**[^ҎkrbZ]=BƊbU]Eb+%ۿ(5luW D+|1ъpL"W D+B{1ю^_PQW7g?7뚺z? TцnP -Lnh&*7~A>ڠɭmڎ6(uctX[tᚖ&*7NPq:Ma-LnkrtXZ:wt^[676^AV`o SPCNv%cQޔR9 pqBDz'z}jd{W"ւN\q>5u et&e2tFriR)BuOzU'iӵ ^tw7MԦ86Y+lH2m~!AD$vedX Qт`o %B%UX jk4gNwǓjNq~d {@GѰ|#d4KK䏟wD&Abph_P#c2L og-ZҤGLz$6ĻRPg'Arr2ş֚ rrv8X?, Ei#f,2R2ӟ|&K$Hýp?iY6CRaIwvq#,[zi* [Jx)mI٘zЎ $Ę&+7K`MHnOPKQ`PKTF manifest.rdf͓n0 2015-06-15T01:42:41.10Martin LinnemannOpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PT4M47S1PKTFMETA-INF/manifest.xmlAn E9Ŷ2YU(Nz$,őj\5Vv lvggh%s3ͱ&Y[vL,ΐǼoؘ6,,S}Ҿy9?&]x2\O 8Ղ谽~8&(hX^cSҲ7Q~tvzաn^f ϪFw@j7PKM MPKTF^2 ''mimetypePKTFMConfigurations2/floater/PKTF'Configurations2/accelerator/current.xmlPKTFConfigurations2/images/Bitmaps/PKTFConfigurations2/progressbar/PKTFQConfigurations2/menubar/PKTFConfigurations2/popupmenu/PKTFConfigurations2/statusbar/PKTFConfigurations2/toolbar/PKTF-Configurations2/toolpanel/PKTFRʱ::eThumbnails/thumbnail.pngPKTF4Fwv>: content.xmlPKTF|lW' settings.xmlPKTFQ` styles.xmlPKTFh 3#manifest.rdfPKTF r$meta.xmlPKTFM M"(META-INF/manifest.xmlPKp)pandoc-2.9.2.1/test/odt/odt/unorderedList.odt000066400000000000000000000224411363630463000210240ustar00rootroot00000000000000PKaF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPKaFConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaFConfigurations2/toolpanel/PKaFŊThumbnails/thumbnail.pngPNG  IHDRzAIDATxJ@@ +²%48r1b$'ޯ~,M}PAE}PAE}PAE}PAelooo_}>tk>/v˶o)fe?Gq5 9_˿}`>\هqu}c+7o>+1o=fq&YUL]XLWM<1ڨ>w8[nߝwRwA/؁˙O)Ki_hx8|vm]([s;dk/OFY\be]ǿ͘geb}fkӇ?/>[w+t帮zFx}lֻȂfϧMO'Sokz|9bqSʐ>x u|&Եܟ};ޖc1ܼr Vc>̘O ApFͧgy<"e O0RAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PAE}PA`WIENDB`PKF7_8iC? content.xml[n6+*О$Yn mQ` ho ZmeY$ˉeq``a^Hf87 *2(ؾ۱-HB!2؟> ۛlB8hƐ'Dߖ&|;edLG|L@ Xc@RzqvuoWnisp;b k묰umؙQY8=bmb/Hƞe.esF^n+\2ЃŸ绾Wbc(@I)dKx*_[wrPpXQ{zhd=Hc~ ,nn*d(iMSJT>yN: ^xpXUƻ&q'\6_78t=mk=@ۖVyL@%'E ^AniO)f<є169sHd w ]I#$B9Ö@*,}( D|;$ S\sSr,nWRANjV~Vd3,J^ G{=ɉ6>PiA6]`9tqbb <}|r9 ryA[txΙLY9QfWg"v~sF1rͮ-./iRϦPŒorE2v: 9"rZ|-aijpk(-8j(rƶr^yQ^$V5 dR[tzk@dm%Sc#JcE~Un?.nv,P 4] iIjV0AD~f!9ȱ 2c[>*FENn2PbħNA(TcOvZAX0KAu&{*7NQ)0|36LmU&P[1JxQwQ ܂p0p%*rU bKp+NCNĺ'\V<"\h,B)Vď3|8ef}iRۡVTPLqP%T?@%X" O30/na'X!j81JW[6:^@ $pOkZs @I&X+|Ql,L`kNMPBojA^KZȴ%}͙f24SrC1WgUェDB2/ClMU]ʻ!7f)0+}aL):&Ԁ&S`;H2}EC~|&@l.+. d{e˓0%QLR:}h&$)w*lѐ]9J[q|sPmڊ{?@]EPyϯO/PK9?'+!PKaFl.. styles.xmlZ[o6~_aؾѶd).L0sAKJHʎ!)JL]y` s?>l%BR^>FtMH򌖛??=_iJO낔 IgDN@KK|jQ.9T.K\TWtBK{i+FXqK+ kYa3wc5/`ꋯX'КVg(WZfnrŋbfiWՂ,FfrO-cӼIe] Vȫr4i0̇ƻ&e <>QK@ Z>9筩Z&17ogǽ;ɾTᱧ'Sq^@xlu:n=n&HŅj Y/PNҦW 6^X7"˂` R m)}wPN㿘hMV'We$e{P~>rYM sKAQi/bY@G<#ft%h@GG5 mHI;*-%(ϩ9*R-Y3[S\ɟ%J|+.ZiR566>fʌq͚inL\4oUrF( Ț/wxLD7ߥqw6Dh>I q#* )A)qsA0ӬI歶/=f3Vk@gsʑ֘I/*,Β4?µznY1r60f0tHEW~m[1 >h]nl!+h]}tZ^5qI!!R̢8Yc5RfR^J@8K{|Dt;։in-wfG۱>=04洯%[yhc?:HYrRb,-&-hkx2UUN  $QHRo].0d+Kĕ^d\Yo]E\臜 %ü䈩ecyEn+^acW\Tq5J ~H]osX%WB*\?;/BY4X̃Xμ4T  RT_+CfbPbJ74n}ŕ*{!M-Ml\9jE3*m0KgdbL"\1<4ɯ]{ڭ Kq"LV9:vBOL!1 P;={dJٶC1Ӂ?#ϵn`tM4NQa׍k-b! =O.3ƥ7c^_\ 2H1sF|@y|.wnrhj+β07"J9rXȿIi'%g'%pb<ǃs%y kקO5&{)!`&=v>刣Bsp+N=@=<).|OD=Fg -u =@~I\RLuwW@nJ}Rcit5< joG!x'{߹Y8f`d:ࡁ:HB:wA}Ҏpqo ~٬_+.􀶄#}weH? QzH[ő~wUH'MH_CҖpq p="2C8wЖpqUA}3߆O9^!ǿHx-tS lPsC\!W͉w[j/楫/co[Y};BRfCҰNF zļ0Z,w!t% ڷ 0dh>/@'M#˪ xTEzK~1Ƕy!]RT 'PSSh z *S{Nar,sx}6q_~^!:ۆ] ݵhwsDŽ=3Ɫ.#!X:ݚEcf/B著?B?PKl..PKaFh manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T17:36:15.04Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PKaFjҠ">META-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PKaF^2 ''mimetypePKaFMConfigurations2/floater/PKaF'Configurations2/accelerator/current.xmlPKaFConfigurations2/images/Bitmaps/PKaFConfigurations2/menubar/PKaFMConfigurations2/progressbar/PKaFConfigurations2/popupmenu/PKaFConfigurations2/toolbar/PKaFConfigurations2/statusbar/PKaF-Configurations2/toolpanel/PKaFŊeThumbnails/thumbnail.pngPKF7_8iC?  content.xmlPKaF9?'+! settings.xmlPKaFl.. mstyles.xmlPKaFh manifest.rdfPKaFbmeta.xmlPKaFjҠ">6META-INF/manifest.xmlPKp pandoc-2.9.2.1/test/odt/odt/variable.odt000066400000000000000000000251431363630463000177700ustar00rootroot00000000000000PK؉aF^2 ''mimetypeapplication/vnd.oasis.opendocument.textPK؉aFConfigurations2/floater/PK؉aF'Configurations2/accelerator/current.xmlPKPK؉aFConfigurations2/images/Bitmaps/PK؉aFConfigurations2/menubar/PK؉aFConfigurations2/progressbar/PK؉aFConfigurations2/popupmenu/PK؉aFConfigurations2/toolbar/PK؉aFConfigurations2/statusbar/PK؉aFConfigurations2/toolpanel/PK؉aF@}Thumbnails/thumbnail.pngPNG  IHDRzA_IDATx! @+? q`b{f\|PAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPfZ<>IENDB`PK؉aF content.xmln6} Ckbq@df-Q QJTEʗ]wEk(r"Ј#n!760+cd  _b΍7C\I2!!<:Ki]I. .C@dΒD0̣ee:llkhwn=#h7ۺ—/j9#uwDY0 _όEKnvbطGNEN%1N\dž=Fv@'|)Iq J7~'yqHNx'n96ȍLJC-AݱR91jOSz !E"@n4p8s{{}#㒻s)VUF60FiQb!艀-ͅ3uOvÓ ppFMRəF$fxLNk\|z kǮ[ә|gn~{t: wIM"#1E!ƋDR,.G-L8t<@|yG?)r}n1Ğ.J 0ZǨ.lC| -?T%_!3lx~aA.<>|"B))59fOۧ3k #݀3ҏ$Q&[td0?t3 Ɛ QcG {1u8~5J3nw?Fp"Oa9pVmj5i$p+57rC﫺}6zcLD?jOD1qp,I?坮 shLf%B>NJ̔72l,0p֔ i `lڌKi5m_xM)45,7}<Ʀtp!A6f\ְxͬQfǃƚ4Ee49vc-Ȑkɔ̩F0Ģ5NA'h`FA,Z#(t: Fk]墊F0Ģ5NA'h`FA,Z#(t: Fk]墊F0=ȯ]ަn(pfc$ICaŗMY­+GXUAoa'4U'W*CcXU*COa}1*ZV$êR$z qU=պzVz[XkqUi=պV[Z9LZaiC!\ZP?åe`iC)\ZP ?¥hhC_?,(K b ,(KJBҒ]OU/SWbT@VyuaM} +K$6ucqQ 4>y{3E(Mt9(t0؛$a|x4'@`^>z^RVZz?1Į"ͿwJ6 `25[K8ülIS^tt 3*K>JmPKFfH.pPK؉aF settings.xmlZs8~"wM0 CJKC$뛰Fz$9+r)뉉%Jv\}Y(w20V>{_Z]lh1HS` Mg\f>|J6iŠ&hbrvv3SY .ȘY.ŇsTEѨf*V"* djwԽ㷮 7[ۜ?ۭ]{aj5hkiM06#fkկڇ)[;MMTߧ|n^oԎ8B/DLAo)" `kq:zpC'}Ƅ>X|%fIڪ85ju{VQ^ />/?/uO|\$ZvJgBG{R$m43'bλv*{H®G[T7 DSh!U!K;RfؔicLU|9URId _C'C؄Q&eH'7#lCy-F }0}OA94PN(F+Xh+ :L| =6|SULhS"AK2`B)-:o5`m%SGcE~U%n?.nv,Pe4] i¯qbV0A~j! ˱+ƶ*}iUލbfd١`D(OP9GAvZA3K@uƅPl'(j ߌ SDaVo^].B"v @8tr^*^izenv"KpOCND'\V<$\p,D)Vď |8ef}iRڡvd!'XQil\K ~¯K 4:$61̳EXRg`1 _NhBpbllt =$K֤ f!$#s`HeHKA|a"HS_sj߽zW BZкE-(k0IĖ[mt=+<%r|`ChU 1cMᕡ\'vcMTչ0QVvXbRL遴.-L[4d{^`">* 4Ԇe`so␃lyƼ&Jㄎo_eK@ Zj@)I;f6h%᫋-89Pmڊ1Ȏ@]EPyϯOֿPK+#T$+!PK؉aF styles.xml]͒)TrmrDRHxJVO "!1I3gɣI4,Nz &KC1uIC!(s?X[q,KxYh3cm S^Щ,$mo, BWߟ4f3،$^ |>dbNeϸ\g}L;K (<0 8n=TUkx^iTQ6sޑޑ+(]k0 ?Si qж/[Q{QirnYR peõMs<KܛFM8؝FvNq|8 LTptږ'G$N,(Ў]: |{Q`]Ůdጆj`Ƴ7TOCqSv;9p'}xi??p|,?l.X_фD<{{SQRdqJ3V8ı&l$9b)j^戼~F K9\IЃ%+g ^Nh.Iqpsvp|C}y!F%<-CZ(Z{N_Q >d#K򸁧R!!1]|5rƀۧ99SX XHDȁeX sB>egt|>+D*<6^6xbD~"BbT'+(>:<ΊhDl#H:l!ߧb^bni)OF Rj@at{ j)sR4R #(e|0 ˙i Çb8!:oP%mӀE\0o\о%Eo|մXP^͂~ΊBFCwz#]0w+ޢ,tҌ7Hf 6HaH[X5'V-U@$jk)-v%G:Y߅)֍3_ٺuqРɼ;{)ʒu|, 6.HL]l0E 5c;6buOjN;ƑNt_FPrܖrQA$޴?0r%76JH]Uf~ݩu((*;[>_4{X{-;'17d /7h 'RȓZs+T?G; L>C k~%h0S6vT;&V9G,~Ex`1z\xʼneI40 DAnJA);M,*е[V zEk?B}E=^#'<#_Zs谶.ZNi4ϰd]u5;&J;`oEmA|WoLD"r)AV˖6.K@A$ vPꆭz|z=D=ŋ$yi+/SٙϫW#reFUF;;KqgÊє2$]3ǫS%3c5a#ln{AmH&I+|_IkZ")BYE'=.l [{B;?=_M|OkRB֫%צ\⠼JSlb)&Z=So7ݟqg ir׍TJX|c3vtu$,5%ȑax.}yh)ʶ cy! $;|14:R%nL܋?-$ro2{^%y> :i҇ ~[kB>gy{^=nEVdWv2̚D{J} .YBJԚxG#ǪFn۴kTx䀘M[Xjul|0 NY*g~AOD0B=(#kH&Fl@b E2зTX%}CHR;郭IJJ 7N(4Puli4m LAiRѴ \ӣӴ=( ̞\Sk\Rj愓kzrcNgM9~)Ms^eJEӂprMOoLLʔ9䚞ݘ'0-jz%HoLӹN%hN8-T=cz(S*cT]%gm,+uI͙HYrkRy e ˠ$[.-=$Pu hc֠\"uNFw=GgU;\E aa*^e۫pf7FizL:j<0͎9\;\%\=k|^Ϣ;VIwךkIe+eY>uY H7 \]l\t%eiU3C*H#T㫅j4@XV\t55L58>v9yjH#\W `YUNH#\ӫk6i#XB"`ͮ, "-ˡB"pͯ14P\vm/hjFuud44 7,GFNqKYOp%).0=H^)wj~nrѳA7CXb5`K!%X` ֽRte;$`;5>7X2H ִ#Xsu/aԯFIoX*h ٛ{a&`&`OJn+X&@@nQ6&Y[ݧUoŒX?5`I!|P.Dbh?qn \_dY>^-0_͕*p"ko@rEw}ƀ k fNl@W,n ЩkS-V7} ,/qj" hJʭ:2P-\m_5@E.Bt<M;yD5"zKb8$\z,Ftn`|-RhȘre"+e#N, WdBam%NLdEX\׀⦞ P\$86D*xj-Tb̊EIL/=]KSAPv[QuSY.,`"y#)Pi^8`:azN~ \'G Cxw HVJTJLN%*B#"`a(05 G^Շ5>v9 Oml8F\AB/Cʼn.́iN\O 0̜SKKAK$* y9[͔.V)&nt37ž=u| .9!Ր#_)Y JCe3*kł*PK֡e PK؉aF manifest.rdf͓n0 Martin Linnemann2015-03-01T17:26:12.312015-03-01T18:14:48.45Martin LinnemannPT10M3S2OpenOffice/4.0.1$Win32 OpenOffice.org_project/401m5$Build-9714PK؉aFMETA-INF/manifest.xmln }zP& `ID`G*ɶtZlNGx fbSh$siR@U4Qr%i;I~5XyPpFtbъ8b/ Nt5dm):TL0üʛƴ)\ŵPZ t 1a“z pT v^}HQ{/ofOIoD =ӫut0xzu~PKjҠ">PK؉aF^2 ''mimetypePK؉aFMConfigurations2/floater/PK؉aF'Configurations2/accelerator/current.xmlPK؉aFConfigurations2/images/Bitmaps/PK؉aFConfigurations2/menubar/PK؉aFMConfigurations2/progressbar/PK؉aFConfigurations2/popupmenu/PK؉aFConfigurations2/toolbar/PK؉aFConfigurations2/statusbar/PK؉aF-Configurations2/toolpanel/PK؉aF@}eThumbnails/thumbnail.pngPK؉aFFfH.p 3content.xmlPK؉aF+#T$+! z settings.xmlPK؉aF֡e  styles.xmlPK؉aFh manifest.rdfPK؉aFjX meta.xmlPK؉aFjҠ">x$META-INF/manifest.xmlPKp%pandoc-2.9.2.1/test/opml-reader.native000066400000000000000000000057301363630463000175360ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "Dave",Space,Str "Winer"]]),("date",MetaInlines [Str "Thu,",Space,Str "14",Space,Str "Jul",Space,Str "2005",Space,Str "23:41:05",Space,Str "GMT"]),("title",MetaInlines [Str "States"])]}) [Header 1 ("",[],[]) [Str "United",Space,Str "States"] ,Header 2 ("",[],[]) [Str "Far",Space,Str "West"] ,Header 3 ("",[],[]) [Str "Alaska"] ,Header 3 ("",[],[]) [Str "California"] ,Header 3 ("",[],[]) [Str "Hawaii"] ,Header 3 ("",[],[]) [Strong [Str "Nevada"]] ,Para [Str "I",Space,Str "lived",Space,Str "here",Space,Emph [Str "once"],Str "."] ,Para [Str "Loved",Space,Str "it."] ,Header 4 ("",[],[]) [Link ("",[],[]) [Str "Reno"] ("http://www.reno.gov","")] ,Header 4 ("",[],[]) [Str "Las",Space,Str "Vegas"] ,Header 4 ("",[],[]) [Str "Ely"] ,Header 4 ("",[],[]) [Str "Gerlach"] ,Header 3 ("",[],[]) [Str "Oregon"] ,Header 3 ("",[],[]) [Str "Washington"] ,Header 2 ("",[],[]) [Str "Great",Space,Str "Plains"] ,Header 3 ("",[],[]) [Str "Kansas"] ,Header 3 ("",[],[]) [Str "Nebraska"] ,Header 3 ("",[],[]) [Str "North",Space,Str "Dakota"] ,Header 3 ("",[],[]) [Str "Oklahoma"] ,Header 3 ("",[],[]) [Str "South",Space,Str "Dakota"] ,Header 2 ("",[],[]) [Str "Mid-Atlantic"] ,Header 3 ("",[],[]) [Str "Delaware"] ,Header 3 ("",[],[]) [Str "Maryland"] ,Header 3 ("",[],[]) [Str "New",Space,Str "Jersey"] ,Header 3 ("",[],[]) [Str "New",Space,Str "York"] ,Header 3 ("",[],[]) [Str "Pennsylvania"] ,Header 2 ("",[],[]) [Str "Midwest"] ,Header 3 ("",[],[]) [Str "Illinois"] ,Header 3 ("",[],[]) [Str "Indiana"] ,Header 3 ("",[],[]) [Str "Iowa"] ,Header 3 ("",[],[]) [Str "Kentucky"] ,Header 3 ("",[],[]) [Str "Michigan"] ,Header 3 ("",[],[]) [Str "Minnesota"] ,Header 3 ("",[],[]) [Str "Missouri"] ,Header 3 ("",[],[]) [Str "Ohio"] ,Header 3 ("",[],[]) [Str "West",Space,Str "Virginia"] ,Header 3 ("",[],[]) [Str "Wisconsin"] ,Header 2 ("",[],[]) [Str "Mountains"] ,Header 3 ("",[],[]) [Str "Colorado"] ,Header 3 ("",[],[]) [Str "Idaho"] ,Header 3 ("",[],[]) [Str "Montana"] ,Header 3 ("",[],[]) [Str "Utah"] ,Header 3 ("",[],[]) [Str "Wyoming"] ,Header 2 ("",[],[]) [Str "New",Space,Str "England"] ,Header 3 ("",[],[]) [Str "Connecticut"] ,Header 3 ("",[],[]) [Str "Maine"] ,Header 3 ("",[],[]) [Str "Massachusetts"] ,Header 3 ("",[],[]) [Str "New",Space,Str "Hampshire"] ,Header 3 ("",[],[]) [Str "Rhode",Space,Str "Island"] ,Header 3 ("",[],[]) [Str "Vermont"] ,Header 2 ("",[],[]) [Str "South"] ,Header 3 ("",[],[]) [Str "Alabama"] ,Header 3 ("",[],[]) [Str "Arkansas"] ,Header 3 ("",[],[]) [Str "Florida"] ,Header 3 ("",[],[]) [Str "Georgia"] ,Header 3 ("",[],[]) [Str "Louisiana"] ,Header 3 ("",[],[]) [Str "Mississippi"] ,Header 3 ("",[],[]) [Str "North",Space,Str "Carolina"] ,Header 3 ("",[],[]) [Str "South",Space,Str "Carolina"] ,Header 3 ("",[],[]) [Str "Tennessee"] ,Header 3 ("",[],[]) [Str "Virginia"] ,Header 2 ("",[],[]) [Str "Southwest"] ,Header 3 ("",[],[]) [Str "Arizona"] ,Header 3 ("",[],[]) [Str "New",Space,Str "Mexico"] ,Header 3 ("",[],[]) [Str "Texas"]] pandoc-2.9.2.1/test/opml-reader.opml000066400000000000000000000055301363630463000172150ustar00rootroot00000000000000 States Thu, 14 Jul 2005 23:41:05 GMT Dave Winer pandoc-2.9.2.1/test/org-select-tags.native000066400000000000000000000021541363630463000203240ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("will-appear-because-it-is-the-ancestor-of-something-tagged-yes",[],[]) [Str "Will",Space,Str "appear",Space,Str "because",Space,Str "it",Space,Str "is",Space,Str "the",Space,Str "ancestor",Space,Str "of",Space,Str "something",Space,Str "tagged",Space,Str "\"yes\""] ,Header 2 ("will-appear",[],[]) [Str "Will",Space,Str "appear",Space,Span ("",["tag"],[("tag-name","yes")]) [SmallCaps [Str "yes"]]] ,Header 3 ("will-appear-since-the-entire-subtree-of-something-selected-will-appear",[],[]) [Str "Will",Space,Str "appear",Space,Str "since",Space,Str "the",Space,Str "entire",Space,Str "subtree",Space,Str "of",Space,Str "something",Space,Str "selected",Space,Str "will",Space,Str "appear"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Para [Str "Will",Space,Str "appear"]]] ,Header 2 ("will-appear-because-it-is-the-ancestor-of-something-listed-in-select-tags",[],[]) [Str "Will",Space,Str "appear",Space,Str "because",Space,Str "it",Space,Str "is",Space,Str "the",Space,Str "ancestor",Space,Str "of",Space,Str "something",Space,Str "listed",Space,Str "in",Space,Str "SELECT-TAGS"]] pandoc-2.9.2.1/test/org-select-tags.org000066400000000000000000000015741363630463000176320ustar00rootroot00000000000000#+SELECT_TAGS: yes no #+EXCLUDE_TAGS: no In a document containing one or more trees containing a tag listed in SELECT_TAGS, only those trees and their ancestor nodes will appear; this text and any other text preceding the first headline won't appear for such documents. * Will appear because it is the ancestor of something tagged "yes" ** Will appear :yes: *** Will appear since the entire subtree of something selected will appear **** Will appear *** Will not appear since this has tagged with something in EXCLUDE-TAGS :no: ** Will not appear since it's not an ancestor of listed in SELECT-TAGS ** Will appear because it is the ancestor of something listed in SELECT-TAGS *** Will not appear because it has an EXCLUDE-TAG, but since "no" is also listed as a SELECT-TAG, it will force its parent to appear :no: * Will not appear pandoc-2.9.2.1/test/pipe-tables.native000066400000000000000000000077241363630463000175410ustar00rootroot00000000000000[Para [Str "Simplest",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "Default1"]] ,[Plain [Str "Default2"]] ,[Plain [Str "Default3"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption:"] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignDefault,AlignCenter] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Default"]] ,[Plain [Str "Center"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignRight,AlignLeft,AlignCenter] [0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Headerless",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignRight,AlignLeft,AlignCenter] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Table",Space,Str "without",Space,Str "sides:"] ,Table [] [AlignDefault,AlignRight] [0.0,0.0] [[Plain [Str "Fruit"]] ,[Plain [Str "Quantity"]]] [[[Plain [Str "apple"]] ,[Plain [Str "5"]]] ,[[Plain [Str "orange"]] ,[Plain [Str "17"]]] ,[[Plain [Str "pear"]] ,[Plain [Str "302"]]]] ,Para [Str "One-column:"] ,Table [] [AlignDefault] [0.0] [[Plain [Str "hi"]]] [[[Plain [Str "lo"]]]] ,Para [Str "Header-less",Space,Str "one-column:"] ,Table [] [AlignCenter] [0.0] [[]] [[[Plain [Str "hi"]]]] ,Para [Str "Indented",Space,Str "left",Space,Str "column:"] ,Table [] [AlignRight,AlignLeft] [0.0,0.0] [[Plain [Str "Number",Space,Str "of",Space,Str "siblings"]] ,[Plain [Str "Salary"]]] [[[Plain [Str "3"]] ,[Plain [Str "33"]]] ,[[Plain [Str "4"]] ,[Plain [Str "44"]]]] ,Para [Str "Long",Space,Str "pipe",Space,Str "table",Space,Str "with",Space,Str "relative",Space,Str "widths:"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.15517241379310345,0.1724137931034483,0.6724137931034483] [[Plain [Str "Default1"]] ,[Plain [Str "Default2"]] ,[Plain [Str "Default3"]]] [[[Plain [Str "123"]] ,[Plain [Str "this",Space,Str "is",Space,Str "a",Space,Str "table",Space,Str "cell"]] ,[Plain [Str "and",Space,Str "this",Space,Str "is",Space,Str "a",Space,Str "really",Space,Str "long",Space,Str "table",Space,Str "cell",Space,Str "that",Space,Str "will",Space,Str "probably",Space,Str "need",Space,Str "wrapping"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]]] ,Para [Str "Pipe",Space,Str "table",Space,Str "with",Space,Str "no",Space,Str "body:"] ,Table [] [AlignDefault] [0.0] [[Plain [Str "Header"]]] [] ,Para [Str "Pipe",Space,Str "table",Space,Str "with",Space,Str "tricky",Space,Str "cell",Space,Str "contents",Space,Str "(see",Space,Str "#2765):"] ,Table [] [AlignLeft,AlignRight,AlignRight] [0.0,0.0,0.0] [[] ,[Plain [Str "IP_gene8-_1st"]] ,[Plain [Str "IP_gene8+_1st"]]] [[[Plain [Str "IP_gene8-_1st"]] ,[Plain [Str "1.0000000"]] ,[Plain [Str "0.4357325"]]] ,[[Plain [Str "IP_gene8+_1st"]] ,[Plain [Str "0.4357325"]] ,[Plain [Str "1.0000000"]]] ,[[Plain [Str "foo",Code ("",[],[]) "bar|baz"]] ,[Plain [Str "and|escaped"]] ,[Plain [Str "3.0000000"]]]]] pandoc-2.9.2.1/test/pipe-tables.txt000066400000000000000000000027541363630463000170700ustar00rootroot00000000000000Simplest table without caption: | Default1 | Default2 | Default3 | |----------|----------|----------| |12|12|12| |123|123|123| |1|1|1| Simple table with caption: | Right | Left | Default | Center | | ----: | :--- | ------- | :----: | | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | : Demonstration of simple table syntax. Simple table without caption: | Right | Left | Center | |------:|:-----|:------:| |12|12|12| |123|123|123| |1|1|1| Headerless table without caption: | | | | |------:|:-----|:------:| |12|12|12| |123|123|123| |1|1|1| Table without sides: Fruit |Quantity ------|-------: apple | 5 orange| 17 pear | 302 One-column: |hi| |--| |lo| Header-less one-column: | | |:-:| |hi| Indented left column: Number of siblings | Salary ------------------:|:------ 3 | 33 4 | 44 Long pipe table with relative widths: | Default1 | Default2 | Default3 | |---------|----------|---------------------------------------| |123|this is a table cell|and this is a really long table cell that will probably need wrapping| |123|123|123| Pipe table with no body: | Header | | ------ | Pipe table with tricky cell contents (see #2765): | | IP_gene8-_1st| IP_gene8+_1st| |:--------------|-------------:|-------------:| |IP_gene8-_1st | 1.0000000| 0.4357325| |IP_gene8+_1st | 0.4357325| 1.0000000| |foo`bar|baz` | and\|escaped | 3.0000000| pandoc-2.9.2.1/test/pptx/000077500000000000000000000000001363630463000151055ustar00rootroot00000000000000pandoc-2.9.2.1/test/pptx/code-custom.pptx000066400000000000000000000671061363630463000202560ustar00rootroot00000000000000PKYN9Eppt/slides/slide1.xmlVn0+PFN_ 5hjeHﻤ$qTi^,E$:<\ u.f|Sr]\9A_flޛP1w (Vnhn#bTN#PIߎٯBp[ yӕ¸͌A3ORʐ_<.wfD*/gn t/ul\xU _%-^/PKYN/|f ppt/slides/slide2.xmlWmo _Ztj;Nu4J#%&6s-Y&SH;K*4<SQ'X X]c#ӂX Ḯ*SLdEĔv_f4%_D\nE6O]P&^si`c^ˉ"čxUɱ)/V#hf%I z͜Wm azJ[zNܷ-ڀYMWivZoGZ15ΪXMaZ>\XR> ɅJCf.-q`p 'E"j,3}c̭?~&}cebhգPĺGx N07M5BW۪^4/;P \ n,0b8%`Qo>hV>3}f1?Q)Pauٿ5=5qrrm4ۑLGWQ?4?w޿p67Cbeږ҉TBw"izv%7$ڐnD.?Y|U?X=|xN*9l(u.o?WKO6- (`XSԙ+At{ٔum_B.0*]IFhe>z0ߙ&"f'F-K} W04Gh_Njwb\F `th)Ol.2Y['{Z LSA:[I~x t|3!boƹd`_'vi&'=g ?[3V:z})LL}^'_`*|iY5PKYN}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKYN}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKYNfh& ppt/slides/_rels/slide3.xml.rels 0D~EػI+""M{Id$$ؿ7vxt6$hcܹ1!8BP͈'~cr w4fq8]t׹+RKLXH .blMT <,bI})GX΄*BS#'JHMPMcjd)xGu$J2 v]{4T^W;o%gճFKlum#Fzڠiv#AxBdN[|OJy#7J5|O(1ZyndHy)sתUON)4 _~=a !cBh U}PKYN HdocProps/core.xmln0}1TZ!ZqjJj՛e/`65 F֛3yv<& Šd`Sn}dYUs!> C(w`D,&qʰ^Ƚ@ z~ 3RCЀѫ!xS8ƣ֋8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PñuAŤDT>E>>W!/g9_3ٔ1+Ф7/>7ԿPKYN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKYNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HoSSrI t_[ԵB2T.U"m&ZswК.) Lty;­#Tm|fv;%i\ + + $1ix=Ȩ0{FQ3r؍FH- %^ZHa)!y^9#RCRCJzHxpwt) M ${h5S FV͋-'II>}gZP_EHۄ_mHY ʦ+y Ҹ޹ 9+d_QbBӸ"b*@sGz,e{o}N:ת/W@ tmPKYN gDhppt/_rels/presentation.xml.relsN0 'v쁫'm]b;nag_8)j̶)>j7eٕ((ݕ(fQyJgARܧ0 E)yb΃=Idu˳w aԟ%yHJjG;{ O_;2U?PKYNnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPKYNppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PKYN mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PKYNvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PKYN1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PKYNX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PKYN&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PKYN/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PKYN+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PKYN³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PKYN9Eppt/slides/slide1.xmlPKYN/|f xppt/slides/slide2.xmlPKYN WK+ppt/slides/slide3.xmlPKYN}& oppt/slides/_rels/slide1.xml.relsPKYN}& Yppt/slides/_rels/slide2.xml.relsPKYNfh& C ppt/slides/_rels/slide3.xml.relsPKYNݢ - [Content_Types].xmlPKYN H docProps/core.xmlPKYN煟L docProps/custom.xmlPKYNo _rels/.relsPKYN|߅ppt/presentation.xmlPKYN gDh'ppt/_rels/presentation.xml.relsPKYNnk˖ lppt/viewProps.xmlPKYN1ppt/tableStyles.xmlPKYN }.ppt/presProps.xmlPKYN mu!ppt/theme/theme1.xmlPKYNi_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPKYN( To.!_ppt/slideMasters/slideMaster1.xmlPKYNђ7-&ppt/slideLayouts/_rels/slideLayout11.xml.relsPKYNђ7-'ppt/slideLayouts/_rels/slideLayout10.xml.relsPKYNђ7,(ppt/slideLayouts/_rels/slideLayout9.xml.relsPKYNђ7,)ppt/slideLayouts/_rels/slideLayout8.xml.relsPKYNђ7,*ppt/slideLayouts/_rels/slideLayout7.xml.relsPKYNђ7,+ppt/slideLayouts/_rels/slideLayout6.xml.relsPKYNђ7,,ppt/slideLayouts/_rels/slideLayout5.xml.relsPKYNђ7,-ppt/slideLayouts/_rels/slideLayout4.xml.relsPKYNђ7,.ppt/slideLayouts/_rels/slideLayout3.xml.relsPKYNђ7,/ppt/slideLayouts/_rels/slideLayout2.xml.relsPKYNђ7,0ppt/slideLayouts/_rels/slideLayout1.xml.relsPKYNрu3!1ppt/slideLayouts/slideLayout9.xmlPKYN讹!96ppt/slideLayouts/slideLayout8.xmlPKYNvi!';ppt/slideLayouts/slideLayout7.xmlPKYN1W!H>ppt/slideLayouts/slideLayout6.xmlPKYN9!Appt/slideLayouts/slideLayout5.xmlPKYNX<j!Fppt/slideLayouts/slideLayout4.xmlPKYN&a[!Jppt/slideLayouts/slideLayout3.xmlPKYN/\ i !Oppt/slideLayouts/slideLayout2.xmlPKYN+cK "CSppt/slideLayouts/slideLayout11.xmlPKYN  "@Wppt/slideLayouts/slideLayout10.xmlPKYN³](! [ppt/slideLayouts/slideLayout1.xmlPKYNJ6_'kp_docProps/app.xmlPK))k apandoc-2.9.2.1/test/pptx/code-custom_templated.pptx000066400000000000000000014044041363630463000223120ustar00rootroot00000000000000PKYNmFppt/slides/slide1.xmlVn0+PFN_ 5`hjHﻤ$qTi^,E涩$:<\ u.<:.nɜr36OJ͌RK m+qjinbTN#PIߎٯBp[ yӕ¸͌A3Rʐ_<ά-@5+P/-9*' knGYS*H4ŖEh<*?XS޼|ʟAA@wV=d '̽?QIEZ{zMI `^`^5,t q6طl&_g&6hD+f@ at2tٷMorGN'˿$T8uZK vn>J $$8ߧ#hð#Wy;ajF #&8壈h%P\T]/3`҂WpRi_f"Y:;sW8dLg7V X=MzC}4f4]B(j{ ck|Kygњjb8WM7 0L(?64)7tOE xeOT:c A ܱ羰60>NVu\cMu3 C)\MnHR:JhO<]6n칝vqngD riWgU`d8rqޝls7"ZAP,A5PKYN WK+ppt/slides/slide3.xmlU]o0}߯mʖN|#4J-Oӄ`XSԙ+At{ٔum_B.0*]IFhe>z0ߙ&"f'F-K} W04Gh_Njwb\F `th)Ol.2Y['{Z LSA:[I~x t|3!boƹd`_'vi&'=g ?[3V:z})LL}^'_`*|iY5PKYN}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKYN}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKYNfh& ppt/slides/_rels/slide3.xml.rels 0D~EػI+""M{Id$$ؿ7d>:"gbUF}߷/GnVo)HO(~\}[֋Z #eY ~%3U-hJVI_HVJN )Yp_v?+~,5tdoq;* nF濙B_;AE0҈Βb#Z߮Y [='_>6[_2И6&0WmD`Ŏ݊؋%sgnWk$s$msmȓ j0L8ڈ=̡<[g(NCWR[X{Q?;#7݂tZ0l^2yڍtS".l6ntēĠ=]7,p讀HXB;EVNCꐐI't FFl`tБQ0KdAH:H) !M#R2@J=Hi4R:@$Gh|{Ht4 %q:>=y|;aYPKYN^.*pppt/_rels/presentation.xml.relsj }cn]5)^ =3'ַ̨#$H/ߏ߃o/ZQ\d9Fj)=ϖx]ݭ@2Z\'CaF9;!w3i*4̇Ҷ0Z e/{j≶5v[M#8l4A W'E <_-L1E@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKYNmFppt/slides/slide1.xmlPKYN"Иf yppt/slides/slide2.xmlPKYN WK+ppt/slides/slide3.xmlPKYN}& pppt/slides/_rels/slide1.xml.relsPKYN}& Zppt/slides/_rels/slide2.xml.relsPKYNfh& D ppt/slides/_rels/slide3.xml.relsPKYNB-Q. [Content_Types].xmlPKYNYH% docProps/core.xmlPKYN煟r docProps/custom.xmlPKYNo -_rels/.relsPKYN) Cppt/presentation.xmlPKYN^.*pppt/_rels/presentation.xml.relsPKYNro"ppt/viewProps.xmlPK-!(^ooppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"TJppt/theme/theme1.xmlPK-!E ,appt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-0ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-7ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,>ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,Dppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,Jppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,Pppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,Vppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,\ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,bppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,hppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,nppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-tppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-{ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%!]ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!zppt/slideLayouts/slideLayout4.xmlPK-!s@yT!)ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "4ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK66?pandoc-2.9.2.1/test/pptx/code.native000066400000000000000000000023211363630463000172250ustar00rootroot00000000000000[Header 1 ("header-with-inline-code",[],[]) [Str "Header",Space,Str "with",Space,Code ("",[],[]) "inline code"] ,CodeBlock ("",[],[]) "Code at level 0" ,BulletList [[Para [Str "Bullet",Space,Str "item",Space,Str "with",Space,Code ("",[],[]) "inline code"] ,CodeBlock ("",[],[]) "Code block at level 1" ,BulletList [[Para [Str "with",Space,Code ("",[],[]) "nested"] ,CodeBlock ("",[],[]) "lvl2\nlvl2\nlvl2" ,Header 2 ("second-heading-level-with-code",[],[]) [Str "Second",Space,Str "heading",Space,Str "level",Space,Str "with",Space,Code ("",[],[]) "code"]]]]] ,Header 1 ("syntax-highlighting",[],[]) [Str "Syntax",Space,Str "highlighting"] ,CodeBlock ("",["haskell"],[]) "id :: a -> a\nid x = x" ,BulletList [[Para [Str "Nested"] ,CodeBlock ("",["haskell"],[]) "g :: Int -> Int\ng x = x * 3"]] ,Header 1 ("two-column-slide",[],[]) [Str "Two",Space,Str "column",Space,Str "slide"] ,Div ("",["columns"],[]) [Div ("",["column"],[("width","50%")]) [BulletList [[Plain [Str "A",Space,Str "total",Space,Str "alternative",Space,Str "for",Space,Code ("",[],[]) "head"]]]] ,Div ("",["column"],[("width","50%")]) [CodeBlock ("",[],[]) "safeHead :: [a] -> Maybe a\nsafeHead [] = Nothing\nsafeHead (x:_) = Just x"]]] pandoc-2.9.2.1/test/pptx/code.pptx000066400000000000000000000671051363630463000167450ustar00rootroot00000000000000PKYNSlDppt/slides/slide1.xmlV]o }@~_IRiƕ}=T]d? :~litּ{9s.?ԥ$X'%QB@q %?_?|Jқ{3u2#ܔ͒{3Jn\ےy-,{FRhL]oy.8||W < a\f a)Ȍdzg Xf,mt?UKKD$DfIBhi㚱 l;MܖGz%>4LB of4/~ŗsۄm5jұZ /{r],| ;DGOJ匣Z lW6ʧBI|{h4JB{hWuʣfd)qBKTL"b޿}(,aH@OS_i;)$p\g2Hj< KC6,(蓛C3 73|yk-#prt\xc5o`Dv.oPKYNf ppt/slides/slide2.xmlW]o }߯@lLm[i36KǏ5`^hճPĺG'M#xi rƛ5/4/[[ȓEkY(pB7V 1B(U6OE x2*>0A]ooC oٹc}al`\lh3ف9Q' 5 >Tw\|<iSEQeT'Dr{.ݳۃۙ wېhCvG; *,oܜ9] }WWjoѿNߝGl;j6_(| 5 PKYNK$+ppt/slides/slide3.xmlU]o0}߯m k'R4!Ϲi"۲,s$m7:(x?=&gM%FJd*R-ɷŇ̤Nf@XR>N MʘVܝhbKY~Cdx=R;-V*ߒXS(!lƢ#xVJR&2 3 fhl O뙅2#wPq"]; ~&UI4^' x}hQ߇g%l wU^բa'̅?(M FS_",ٸl~q7ot\T:?k'L|PL2 ReT0 Ve>z^?Y -Wz e0,d[GX_wV -30zh)Oj..s9kvЏ\aFߵ5x.=ZE[#PWlP*9lYmO ك'Ok{_,vvxt6$hcܹ1!8BP͈'~cr w4fq8]t׹+RKLXH .blMT <,bI})GX΄*BS#'JHMPMcjd)xGu$J2 v]{4T^W;o%gճFKlum#Fzڠiv#AxBdN[|OJy#7J5|O(1ZyndHy)sתUON)4 _~=a !cBh U}PKYN HdocProps/core.xmln0}1TZ!ZqjJj՛e/`65 F֛3yv<& Šd`Sn}dYUs!> C(w`D,&qʰ^Ƚ@ z~ 3RCЀѫ!xS8ƣ֋8QƶmvYS~F?_ߺQsm# +ԕ56PWL+@ PñuAŤDT>E>>W!/g9_3ٔ1+Ф7/>7ԿPKYN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKYNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HoSSrI t_[ԵB2T.U"m&ZswК.) Lty;­#Tm|fv;%i\ + + $1ix=Ȩ0{FQ3r؍FH- %^ZHa)!y^9#RCRCJzHxpwt) M ${h5S FV͋-'II>}gZP_EHۄ_mHY ʦ+y Ҹ޹ 9+d_QbBӸ"b*@sGz,e{o}N:ת/W@ tmPKYN gDhppt/_rels/presentation.xml.relsN0 'v쁫'm]b;nag_8)j̶)>j7eٕ((ݕ(fQyJgARܧ0 E)yb΃=Idu˳w aԟ%yHJjG;{ O_;2U?PKYNnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPKYNppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PKYN mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PKYNvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PKYN1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PKYNX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PKYN&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PKYN/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PKYN+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PKYN³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PKYNSlDppt/slides/slide1.xmlPKYNf wppt/slides/slide2.xmlPKYNK$+ppt/slides/slide3.xmlPKYN}& nppt/slides/_rels/slide1.xml.relsPKYN}& Xppt/slides/_rels/slide2.xml.relsPKYNfh& B ppt/slides/_rels/slide3.xml.relsPKYNݢ , [Content_Types].xmlPKYN H docProps/core.xmlPKYN煟K docProps/custom.xmlPKYNo _rels/.relsPKYN|߅ppt/presentation.xmlPKYN gDh&ppt/_rels/presentation.xml.relsPKYNnk˖ kppt/viewProps.xmlPKYN0ppt/tableStyles.xmlPKYN }.ppt/presProps.xmlPKYN mu!ppt/theme/theme1.xmlPKYNi_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPKYN( To.!^ppt/slideMasters/slideMaster1.xmlPKYNђ7-&ppt/slideLayouts/_rels/slideLayout11.xml.relsPKYNђ7-'ppt/slideLayouts/_rels/slideLayout10.xml.relsPKYNђ7,(ppt/slideLayouts/_rels/slideLayout9.xml.relsPKYNђ7,)ppt/slideLayouts/_rels/slideLayout8.xml.relsPKYNђ7,*ppt/slideLayouts/_rels/slideLayout7.xml.relsPKYNђ7,+ppt/slideLayouts/_rels/slideLayout6.xml.relsPKYNђ7,,ppt/slideLayouts/_rels/slideLayout5.xml.relsPKYNђ7,-ppt/slideLayouts/_rels/slideLayout4.xml.relsPKYNђ7,.ppt/slideLayouts/_rels/slideLayout3.xml.relsPKYNђ7,/ppt/slideLayouts/_rels/slideLayout2.xml.relsPKYNђ7,0ppt/slideLayouts/_rels/slideLayout1.xml.relsPKYNрu3!1ppt/slideLayouts/slideLayout9.xmlPKYN讹!86ppt/slideLayouts/slideLayout8.xmlPKYNvi!&;ppt/slideLayouts/slideLayout7.xmlPKYN1W!G>ppt/slideLayouts/slideLayout6.xmlPKYN9!Appt/slideLayouts/slideLayout5.xmlPKYNX<j!Fppt/slideLayouts/slideLayout4.xmlPKYN&a[!Jppt/slideLayouts/slideLayout3.xmlPKYN/\ i !Oppt/slideLayouts/slideLayout2.xmlPKYN+cK "BSppt/slideLayouts/slideLayout11.xmlPKYN  "?Wppt/slideLayouts/slideLayout10.xmlPKYN³](![ppt/slideLayouts/slideLayout1.xmlPKYNJ6_'ko_docProps/app.xmlPK))k apandoc-2.9.2.1/test/pptx/code_templated.pptx000066400000000000000000014044021363630463000210000ustar00rootroot00000000000000PKYN`6Dppt/slides/slide1.xmlVn }W oIRiUE+%{{5Z ؎4麻 psR Z͒(!΄z%>&՝:UnfIὙRx%sڀB_m<,{FRhL]oy.8||[ < a\f a)Ȍdzg Xn,mt?VKKD$DfIBhi㚱!Y6ί#JF%*3"lV6p}X6v2,|DGzkخmO/hѮ|yGRޅoEV||=.PXVw\|<=y]EQegDt.ۃi1ц$Nv-=|U?XA7߸9K@.' ?Nߝl;i66_AkPKYNK$+ppt/slides/slide3.xmlU]o0}߯m k'R4!Ϲi"۲,s$m7:(x?=&gM%FJd*R-ɷŇ̤Nf@XR>N MʘVܝhbKY~Cdx=R;-V*ߒXS(!lƢ#xVJR&2 3 fhl O뙅2#wPq"]; ~&UI4^' x}hQ߇g%l wU^բa'̅?(M FS_",ٸl~q7ot\T:?k'L|PL2 ReT0 Ve>z^?Y -Wz e0,d[GX_wV -30zh)Oj..s9kvЏ\aFߵ5x.=ZE[#PWlP*9lYmO ك'Ok{_,vd>:"gbUF}߷/GnVo)HO(~\}[֋Z #eY ~%3U-hJVI_HVJN )Yp_v?+~,5tdoq;* nF濙B_;AE0҈Βb#Z߮Y [='_>6[_2И6&0WmD`Ŏ݊؋%sgnWk$s$msmȓ j0L8ڈ=̡<[g(NCWR[X{Q?;#7݂tZ0l^2yڍtS".l6ntēĠ=]7,p讀HXB;EVNCꐐI't FFl`tБQ0KdAH:H) !M#R2@J=Hi4R:@$Gh|{Ht4 %q:>=y|;aYPKYN^.*pppt/_rels/presentation.xml.relsj }cn]5)^ =3'ַ̨#$H/ߏ߃o/ZQ\d9Fj)=ϖx]ݭ@2Z\'CaF9;!w3i*4̇Ҷ0Z e/{j≶5v[M#8l4A W'E <_-L1E@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKYN`6Dppt/slides/slide1.xmlPKYN] f wppt/slides/slide2.xmlPKYNK$+ppt/slides/slide3.xmlPKYN}& nppt/slides/_rels/slide1.xml.relsPKYN}& Xppt/slides/_rels/slide2.xml.relsPKYNfh& B ppt/slides/_rels/slide3.xml.relsPKYNB-Q, [Content_Types].xmlPKYNYH# docProps/core.xmlPKYN煟p docProps/custom.xmlPKYNo +_rels/.relsPKYN) Appt/presentation.xmlPKYN^.*pppt/_rels/presentation.xml.relsPKYNro"ppt/viewProps.xmlPK-!(^ooppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"THppt/theme/theme1.xmlPK-!E ,_ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-.ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-5ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,<ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,Bppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,Hppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,Nppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,Tppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,Zppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,`ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,fppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,lppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-rppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-yppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%![ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!xppt/slideLayouts/slideLayout4.xmlPK-!s@yT!'ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "2ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK66=pandoc-2.9.2.1/test/pptx/document-properties-short-desc.native000066400000000000000000000011131363630463000243720ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "A.",Space,Str "M."]]),("description",MetaInlines [Str "Short",Space,RawInline (Format "html") "",Str "description",RawInline (Format "html") "",Space,Str "&."]),("keywords",MetaList [MetaInlines [Str "keyword",Space,Str "1"],MetaInlines [Str "keyword",Space,Str "2"]]),("subject",MetaInlines [Str "This",Space,Str "is",Space,Str "the",Space,Str "subject"]),("title",MetaInlines [Str "Testing",Space,Str "custom",Space,Str "properties"])]}) [Para [Str "Testing",Space,Str "document",Space,Str "properties"]] pandoc-2.9.2.1/test/pptx/document-properties-short-desc.pptx000066400000000000000000000646041363630463000241150ustar00rootroot00000000000000PK^NX1ppt/slides/slide1.xmlTˎ +Ilg4Ut`[c:_x2inx{r~8ZJ"ünپ?7_?~N2UT%lB 7Vjafo%=ep%Q"Z xyKsSH"IWijZMH ~(뮶I7)Yómm()!x8gq.aXNRy`(ѵ.A<2n~\C5< Vܘ[UIPiuG@|V7\F'(( SA,MSPk<&N>n&\cCH+-m1OO~l^m* eJsN!K%9\g̃GV;$&z0.%~!fW6mD-'T}U'Ϫu.[uD4Y.Hlc ȮߩbXy'2bR~KBd:0Ԁ8$ɗ^sU6&m:PV84|v ;nj;ViX@ZL=\J-V2EػIAD"B6 6?$ط7G <7LӽL^CM+ Wi?A;"KLHd\0Ό%9|F匚!B#;TՑo&ثȰHxXtGKQx_r1s[ߘjZ*aPK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^NCΜ [Content_Types].xml͗]o0+ "z} ڦ-N,FtJHs`RgJ3C<1}ѥȍ:GHex5CVRYyV].lFP6Bmwg Yi7BtP](eK'7~f)&!F̵;dZjo3x#͜W+/FxڱLR PK^N}hdocProps/core.xmlO Oxr5oHV(ެnd7 5畩K҈@-M4z-hri3i<;cOB_3iQh3J@ 8-0ݒZ!Wb tWTRalhgYnܺ3(%5hS0g': -D{qifܡa~FO/UcU{PxCvDn<Mt 8~yi}zq aߎrzHf~yQ)O ȮYz˖S{8$r.s滠CBIB@6^y?&N/tR0M&cQPPp x'PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HPJ^u^15]0RyIw[Gɓͤ5v)~+ji\+ + #$3iĨ2 F9=Q80ċ'Hp ~N:H) ~R<@JF0=d4CJH8Jwif 9CZ-ZY /3K~nv#;UC{vyW;|/ҍצ, /c̨Ję`;yX+N~`^Ҍ,2Ϊ{-izwR#Jw`L!v[WDLIU >qz~d\1;OXPK^NZWJppt/_rels/presentation.xml.relsN0 ٣'^!w-W-'r&%V׳3 R\ R'}@w48ɘߔ۔\+| ;YERX;}xA'7PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^NX1ppt/slides/slide1.xmlPK^NTW1ppt/slides/slide2.xmlPK^N& ppt/slides/_rels/slide1.xml.relsPK^N}& ppt/slides/_rels/slide2.xml.relsPK^NCΜ [Content_Types].xmlPK^N}hdocProps/core.xmlPK^N煟% docProps/custom.xmlPK^No _rels/.relsPK^N#'_ ppt/presentation.xmlPK^NZWJ ppt/_rels/presentation.xml.relsPK^Nnk˖ ;ppt/viewProps.xmlPK^Nppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!ppt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!.ppt/slideMasters/slideMaster1.xmlPK^Nђ7-R"ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-S#ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,T$ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,T%ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,T&ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,T'ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,T(ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,T)ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,T*ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,T+ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,T,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!T-ppt/slideLayouts/slideLayout9.xmlPK^N讹!2ppt/slideLayouts/slideLayout8.xmlPK^Nvi!6ppt/slideLayouts/slideLayout7.xmlPK^N1W!:ppt/slideLayouts/slideLayout6.xmlPK^N9!e=ppt/slideLayouts/slideLayout5.xmlPK^NX<j!Bppt/slideLayouts/slideLayout4.xmlPK^N&a[!Fppt/slideLayouts/slideLayout3.xmlPK^N/\ i !jKppt/slideLayouts/slideLayout2.xmlPK^N+cK "Oppt/slideLayouts/slideLayout11.xmlPK^N  "Sppt/slideLayouts/slideLayout10.xmlPK^N³](!Vppt/slideLayouts/slideLayout1.xmlPK^NJ6_'k?[docProps/app.xmlPK'' ]pandoc-2.9.2.1/test/pptx/document-properties-short-desc_templated.pptx000066400000000000000000014020721363630463000261500ustar00rootroot00000000000000PKtN9@Gppt/slides/slide1.xmlTێ }W 7؎sΪU//JI?`cf6V u-ՆIQxA@%~|Y»ջ[.WVRQD**\l'5-tFIL^_S/w;FGIN@4u})5hJS`|VYeohJ{O_ZGtӁ@`N #cް3}pq4ﭣi dT.eӥ|A'_J 5\hڨ{I~ #0|JVU#V{<4>`.$Il \tFl>YQ4if/}/:;\kcϑc}&J̓t%~!fW6mD-'T}U'Ϫu.[uD4Y.Hlc ȮߩbXy'2bR~KBd:0Ԁ8$ɗ^sU6&m:PV84|v ;nj;ViX@ZL=\J-V2EػIAD"B6 6?$ط7G <7LӽL^CM+ Wi?A;"KLHd\0Ό%9|F匚!B#;TՑo&ثȰHxXtGKQx_r1s[ߘjZ*aPKtN}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtND~[Content_Types].xml͘n0}(׊ЖҊM*}7jv(}' B Q}ٞ~2G xsІI1à{ "31V a0f%D3RԜZ\)Q4S vK"),۲?Ä]t߻+R*Z<&)ٚ!15soVhf1fƔ9)tYo>iF}H,7-!7QN&,H9J ּۊ+eIp.ejMu^4|yTNuI+.]p"T"FsEI tI *'*l;35㫋f eq8x\fgɌ6>uߥgv!*ҵI CGYǺdjGw^2T憎O攉4sߍ|Kd>:"gbUF}߷/GnVo)HӚ=AKf)^ٵ(~SmUhs7"Qg11H- (!Fj^yԖꙧϼx?l2 p>PvqJHY;ߠXJfmCCRHl;Wmu-OB9|ckEsaZ+]pzp)L)L{H^-``Ȩ19FQ,LGH=AJ@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN9@Gppt/slides/slide1.xmlPKtNTW+ppt/slides/slide2.xmlPKtN& ppt/slides/_rels/slide1.xml.relsPKtN}& ppt/slides/_rels/slide2.xml.relsPKtND~[Content_Types].xmlPKtNgqhdocProps/core.xmlPKtN煟C docProps/custom.xmlPKtNo _rels/.relsPKtN%  ppt/presentation.xmlPKtN8Jk ppt/_rels/presentation.xml.relsPKtNro"ppt/viewProps.xmlPK-!(^ooHppt/media/image1.pngPK-!{ppt/tableStyles.xmlPK-! 0Xppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,(ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7, ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,#ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,)ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,/ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,5ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-;ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-Bppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-Ippt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-Pppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-Wppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-^ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"eppt/slideLayouts/slideLayout10.xmlPK-!3Y "gppt/slideLayouts/slideLayout11.xmlPK-!im "|ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"߶ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!Sppt/slideLayouts/slideLayout9.xmlPK-!K%!bppt/slideLayouts/slideLayout8.xmlPK-! Lم!`ppt/slideLayouts/slideLayout7.xmlPK-!=t%!$ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!Appt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK44pandoc-2.9.2.1/test/pptx/document-properties.native000066400000000000000000000042421363630463000223270ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("Company",MetaInlines [Str "My",Space,Str "Company"]),("Second Custom Property",MetaInlines [Str "Second",Space,Str "custom",Space,Str "property",Space,Str "value"]),("abstract",MetaBlocks [Plain [Str "Quite",Space,Str "a",Space,Str "long",Space,Str "description",SoftBreak,Str "spanning",Space,Str "several",Space,Str "lines"]]),("author",MetaList [MetaInlines [Str "A.",Space,Str "M."]]),("category",MetaInlines [Str "My",Space,Str "Category"]),("custom1",MetaInlines [Str "First",Space,Str "custom",Space,Str "property",Space,Str "value"]),("custom3",MetaInlines [Str "Escaping",Space,Str "amp",Space,Str "&",Space,Str "."]),("custom4",MetaInlines [Str "Escaping",Space,Str "LT,GT",Space,Str "<",Space,Str "asdf",Space,Str ">",Space,Str "<"]),("custom5",MetaInlines [Str "Escaping",Space,Str "html",Space,RawInline (Format "html") "",Str "asdf",RawInline (Format "html") ""]),("custom6",MetaInlines [Str "Escaping",Space,Emph [Str "MD"],Space,Str "\225",Space,Str "a"]),("custom9",MetaInlines [Str "Extended",Space,Str "chars:",Space,Str "\8364",Space,Str "\225",Space,Str "\233",Space,Str "\237",Space,Str "\243",Space,Str "\250",Space,Str "$"]),("description",MetaBlocks [Para [Str "Long",Space,Str "description",Space,Str "spanning",SoftBreak,Str "several",Space,Str "lines."],Plain [Str "This",Space,Str "is",Space,Str "\225",Space,Str "second",Space,RawInline (Format "html") "",Str "line",RawInline (Format "html") "",Str "."]]),("keywords",MetaList [MetaInlines [Str "keyword",Space,Str "1"],MetaInlines [Str "keyword",Space,Str "2"]]),("lang",MetaInlines [Str "en-US"]),("nested-custom",MetaList [MetaMap (fromList [("custom 7",MetaInlines [Str "Nested",Space,Str "Custom",Space,Str "value",Space,Str "7"])]),MetaMap (fromList [("custom 8",MetaInlines [Str "Nested",Space,Str "Custom",Space,Str "value",Space,Str "8"])])]),("subject",MetaInlines [Str "This",Space,Str "is",Space,Str "the",Space,Str "subject"]),("subtitle",MetaInlines [Str "This",Space,Str "is",Space,Str "a",Space,Str "subtitle"]),("title",MetaInlines [Str "Testing",Space,Str "custom",Space,Str "properties"])]}) [Para [Str "Testing",Space,Str "document",Space,Str "properties"]] pandoc-2.9.2.1/test/pptx/document-properties.pptx000066400000000000000000000654311363630463000220430ustar00rootroot00000000000000PK^Nΐ ppt/slides/slide1.xmlUێ0|WX~o $Zݮ`[IlFR_|3>sǶ*a c쾼O݃tU:9,Bz!$v T#*e9 EA3}'^O45'QK&&ajK_ȶ*^˝W%EӋՁwiLMPQ `t- g,lq6Mt6aE;.2 ceQ0N5KzKUo~)gڛb{O>,fmqiGkmPK^NTWppt/slides/slide2.xmlSn1 + y\ ׀P$ڻ^KIH3Gk{Zj8u-{/܅&(FK)4BDՁp{2BKֈVX;>%~!fW6mD-'T}U'Ϫu.[uD4Y.Hlc ȮߩbXy'2bR~KBd:0Ԁ8$ɗ^sU6&m:PV84|v ;nj;ViX@ZL=\J-V2EػIAD"B6 6?$ط7G <7LӽL^CM+ Wi?A;"KLHd\0Ό%9|F匚!B#;TՑo&ثȰHxXtGKQx_r1s[ߘjZ*aPK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^NCΜ [Content_Types].xml͗]o0+ "z} ڦ-N,FtJHs`RgJ3C<1}ѥȍ:GHex5CVRYyV].lFP6Bmwg Yi7BtP](eK'7~f)&!F̵;dZjo3x#͜W+/FxڱLR PK^N=4docProps/core.xmlRn0+#tdEb@U$`ɍD" r]ٟo鏕%r+jgv8nmC~CU icG}nU|\oyh Tgc*!ҨvX$M K*@}-%s?+fV߇fЊB-X 5x.ug!u] ӧ؈*DU5DL#jѵ^EgNV$ d] ؔg ~MpQKF/^@w&Ș'j*i% !݄lHc,bs`դO"(g_".Hxp>ոSIzyф<}3`s>lYs^.%?Wԟt?'qr?PK^NA+docProps/custom.xmlˎ0=_qeHteH {4;2bßDYc?Kphӑ)G=#JF2#N1tc-Y5m\FP^ڶ$aGrTXfE3BAڊre{3I+-woCf:!:*<C^)ESI;孃r f,ǻMrAOp\Ţ1x;,R5=C7{6~GĿڛC=v˖pND-S0o!4VzIz1zJƩECQ\aT\s330kIpW5L (.Myū&,&[7G1-LT(}.Q i7&}SLșL~0 ROWPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HPJ^u^15]0RyIw[Gɓͤ5v)~+ji\+ + #$3iĨ2 F9=Q80ċ'Hp ~N:H) ~R<@JF0=d4CJH8Jwif 9CZ-ZY /3K~nv#;UC{vyW;|/ҍצ, /c̨Ję`;yX+N~`^Ҍ,2Ϊ{-izwR#Jw`L!v[WDLIU >qz~d\1;OXPK^NZWJppt/_rels/presentation.xml.relsN0 ٣'^!w-W-'r&%V׳3 R\ R'}@w48ɘߔ۔\+| ;YERX;}xA'7PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^Nΐ ppt/slides/slide1.xmlPK^NTW?ppt/slides/slide2.xmlPK^N& ppt/slides/_rels/slide1.xml.relsPK^N}& ppt/slides/_rels/slide2.xml.relsPK^NCΜ [Content_Types].xmlPK^N=4docProps/core.xmlPK^NA+d docProps/custom.xmlPK^No u _rels/.relsPK^N#'_ ppt/presentation.xmlPK^NZWJppt/_rels/presentation.xml.relsPK^Nnk˖ ppt/viewProps.xmlPK^Nppt/tableStyles.xmlPK^N }.kppt/presProps.xmlPK^N mu!ppt/theme/theme1.xmlPK^Ni_!,jppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!ppt/slideMasters/slideMaster1.xmlPK^Nђ7-#ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-$ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,%ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,&ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,'ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,(ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,)ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,*ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,+ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,-ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!.ppt/slideLayouts/slideLayout9.xmlPK^N讹!3ppt/slideLayouts/slideLayout8.xmlPK^Nvi!8ppt/slideLayouts/slideLayout7.xmlPK^N1W!;ppt/slideLayouts/slideLayout6.xmlPK^N9!>ppt/slideLayouts/slideLayout5.xmlPK^NX<j!Dppt/slideLayouts/slideLayout4.xmlPK^N&a[!_Hppt/slideLayouts/slideLayout3.xmlPK^N/\ i !Lppt/slideLayouts/slideLayout2.xmlPK^N+cK "Pppt/slideLayouts/slideLayout11.xmlPK^N  "Tppt/slideLayouts/slideLayout10.xmlPK^N³](!mXppt/slideLayouts/slideLayout1.xmlPK^NJ6_'k\docProps/app.xmlPK'' )_pandoc-2.9.2.1/test/pptx/document-properties_templated.pptx000066400000000000000000014027151363630463000241030ustar00rootroot00000000000000PKtNeppt/slides/slide1.xmlUˎ0+,B!V}lӑ~c`?dJƆI&?=[^jätA@~~z7w*3UV 簴VeRRD**^j*48x(Z }%^Ԝ H4uu)3[ؔ%2n6j)VF=i%~!fW6mD-'T}U'Ϫu.[uD4Y.Hlc ȮߩbXy'2bR~KBd:0Ԁ8$ɗ^sU6&m:PV84|v ;nj;ViX@ZL=\J-V2EػIAD"B6 6?$ط7G <7LӽL^CM+ Wi?A;"KLHd\0Ό%9|F匚!B#;TՑo&ثȰHxXtGKQx_r1s[ߘjZ*aPKtN}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtND~[Content_Types].xml͘n0}(׊ЖҊM*}7jv(}' B Q}ٞ~2G xsІI1à{ "31V a0f%D3RԜZ\)Q4S vK"),۲?Ä]t߻+R*Z<&)ٚ!15soVhf1fƔ9)tYo>iF}H,7-!7QN&,H9J ּۊ+eIp.ejMu^4|yTNuI+.]p"T"FsEI tI *'*l;35㫋f eq8x\fgɌ6>uߥgv!*ҵI CGYǺdjGw^2T憎O攉4sߍ|K96eYQVcS5_H4{,=s\ -}rz`s}teqӱ( t3;=g׺ùH'=1@=n9h^w4!VL,r(nkj___mg8;~uPKtNA+docProps/custom.xmlˎ0=_qeHteH {4;2bßDYc?Kphӑ)G=#JF2#N1tc-Y5m\FP^ڶ$aGrTXfE3BAڊre{3I+-woCf:!:*<C^)ESI;孃r f,ǻMrAOp\Ţ1x;,R5=C7{6~GĿڛC=v˖pND-S0o!4VzIz1zJƩECQ\aT\s330kIpW5L (.Myū&,&[7G1-LT(}.Q i7&}SLșL~0 ROWPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HӚ=AKf)^ٵ(~SmUhs7"Qg11H- (!Fj^yԖꙧϼx?l2 p>PvqJHY;ߠXJfmCCRHl;Wmu-OB9|ckEsaZ+]pzp)L)L{H^-``Ȩ19FQ,LGH=AJ@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtNeppt/slides/slide1.xmlPKtNTW8ppt/slides/slide2.xmlPKtN& ppt/slides/_rels/slide1.xml.relsPKtN}& ppt/slides/_rels/slide2.xml.relsPKtND~[Content_Types].xmlPKtNm4docProps/core.xmlPKtNA+ docProps/custom.xmlPKtNo _rels/.relsPKtN%  ppt/presentation.xmlPKtN8Jppt/_rels/presentation.xml.relsPKtNro"=ppt/viewProps.xmlPK-!(^ooppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!Jppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,œppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ȝppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-Ξppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-՟ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ܠppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "Kppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"rppt/slideLayouts/slideLayout14.xmlPK-!p ;"'ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%!ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!sppt/slideLayouts/slideLayout3.xmlPK-!=p!ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,>docProps/app.xmlPK44pandoc-2.9.2.1/test/pptx/endnotes.native000066400000000000000000000004651363630463000201410ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Para [Str "Here",Space,Str "is",Space,Str "one",Space,Str "note.",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "note."]],Space,Str "And",Space,Str "one",Space,Str "more",Space,Str "note.",Note [Para [Str "And",Space,Str "another",Space,Str "note."]]]] pandoc-2.9.2.1/test/pptx/endnotes.pptx000066400000000000000000000645311363630463000176520ustar00rootroot00000000000000PK^N/\Ҩgppt/slides/slide1.xmlTn!}W k[UQ^(xm*Rp9f0rvEfsJ 'ݭOқյo66|E|Xg΃Ž '\F|,χwۭj';TͿL9}AEebe97~}DIt (%lqum*즐76<<2(},#I5+ҢZtó ;kUZNnMhYk.sZB IBwN#%S'H5"Ͼns"ɾ4w[<\1mQC]2uQlx+T8; #:LuSIZ`?ZYh9_iabؓdWfqCFY$ QjsHYY忳\\dX UPK^Nyppt/slides/slide2.xmlT]o }߯@$4UVj{H~71swfk*U&.˹oAF7tY-(-L'w__ћյj_!ؚ1/zqt9 1V[6p|=鹿F Cqx@44#L:H_ڍKqDv%PJ؜Z9b Ji8<25>MyWmۥjTJv8 ZU;彸B[#~z J6d,=ζ'h,D0zr#fyr-LMw}~wy|؆#I+̩Q%w)ËaB[ 3<ЮM!U\*kokȀlՁ#z(e#EBWp@'Tj;}{?uV^?K?PK^Ns$ ppt/slides/_rels/slide1.xml.rels 0D~EػI "^D(x!ݶ6 I* ^l8vxt-h+A-MtZ[8d[7zoЄ`wy`'<5uTu"DjfY$M2I^rpyR 6U$;a|J14"jϫKgx6vPK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^NCΜ [Content_Types].xml͗]o0+ "z} ڦ-N,FtJHs`RgJ3C<1}ѥȍ:GHex5CVRYyV].lFP6Bmwg Yi7BtP](eK'7~f)&!F̵;dZjo3x#͜W+/FxڱLR PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HPJ^u^15]0RyIw[Gɓͤ5v)~+ji\+ + #$3iĨ2 F9=Q80ċ'Hp ~N:H) ~R<@JF0=d4CJH8Jwif 9CZ-ZY /3K~nv#;UC{vyW;|/ҍצ, /c̨Ję`;yX+N~`^Ҍ,2Ϊ{-izwR#Jw`L!v[WDLIU >qz~d\1;OXPK^NZWJppt/_rels/presentation.xml.relsN0 ٣'^!w-W-'r&%V׳3 R\ R'}@w48ɘߔ۔\+| ;YERX;}xA'7PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N/\Ҩgppt/slides/slide1.xmlPK^Nyppt/slides/slide2.xmlPK^Ns$ ppt/slides/_rels/slide1.xml.relsPK^N}& ppt/slides/_rels/slide2.xml.relsPK^NCΜ [Content_Types].xmlPK^NHHdocProps/core.xmlPK^N煟docProps/custom.xmlPK^No _rels/.relsPK^N#'_ ppt/presentation.xmlPK^NZWJ ppt/_rels/presentation.xml.relsPK^Nnk˖ ppt/viewProps.xmlPK^Nppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!Wppt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!ppt/slideMasters/slideMaster1.xmlPK^Nђ7-'"ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-(#ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,)$ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,)%ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,)&ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,)'ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,)(ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,))ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,)*ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,)+ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,),ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!)-ppt/slideLayouts/slideLayout9.xmlPK^N讹!1ppt/slideLayouts/slideLayout8.xmlPK^Nvi!6ppt/slideLayouts/slideLayout7.xmlPK^N1W!9ppt/slideLayouts/slideLayout6.xmlPK^N9!:=ppt/slideLayouts/slideLayout5.xmlPK^NX<j!ZBppt/slideLayouts/slideLayout4.xmlPK^N&a[!Fppt/slideLayouts/slideLayout3.xmlPK^N/\ i !?Kppt/slideLayouts/slideLayout2.xmlPK^N+cK "Nppt/slideLayouts/slideLayout11.xmlPK^N  "Rppt/slideLayouts/slideLayout10.xmlPK^N³](!Vppt/slideLayouts/slideLayout1.xmlPK^NJ6_'k[docProps/app.xmlPK'' i]pandoc-2.9.2.1/test/pptx/endnotes_templated.pptx000066400000000000000000014020261363630463000217050ustar00rootroot00000000000000PKtN/\Ҩgppt/slides/slide1.xmlTn!}W k[UQ^(xm*Rp9f0rvEfsJ 'ݭOқյo66|E|Xg΃Ž '\F|,χwۭj';TͿL9}AEebe97~}DIt (%lqum*즐76<<2(},#I5+ҢZtó ;kUZNnMhYk.sZB IBwN#%S'H5"Ͼns"ɾ4w[<\1mQC]2uQlx+T8; #:LuSIZ`?ZYh9_iabؓdWfqCFY$ QjsHYY忳\\dX UPKtN\ppt/slides/slide2.xmlTێ }W kT"kU}X~œudnVZ9iPd ]V J@ I}lǗkz۾WZk>[3E1w0n: Ơjx.5ϻ7ވt ffxIԢ2S];;u)ݡDJ 3s]^1Gc y=gGۧ4 S "mV-Yi.GqcUj/|WH{{gwOAQɆ,\$,Fn,ϮN7.pB>ieӀ95$t.Rwx1Laafڍ c>*kBvUqz:pdn??zQ>.+Iگ*Fwc=keOPKtNs$ ppt/slides/_rels/slide1.xml.rels 0D~EػI "^D(x!ݶ6 I* ^l8vxt-h+A-MtZ[8d[7zoЄ`wy`'<5uTu"DjfY$M2I^rpyR 6U$;a|J14"jϫKgx6vPKtN}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtND~[Content_Types].xml͘n0}(׊ЖҊM*}7jv(}' B Q}ٞ~2G xsІI1à{ "31V a0f%D3RԜZ\)Q4S vK"),۲?Ä]t߻+R*Z<&)ٚ!15soVhf1fƔ9)tYo>iF}H,7-!7QN&,H9J ּۊ+eIp.ejMu^4|yTNuI+.]p"T"FsEI tI *'*l;35㫋f eq8x\fgɌ6>uߥgv!*ҵI CGYǺdjGw^2T憎O攉4sߍ|K+s"$/i>)xU㛮3`7PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HӚ=AKf)^ٵ(~SmUhs7"Qg11H- (!Fj^yԖꙧϼx?l2 p>PvqJHY;ߠXJfmCCRHl;Wmu-OB9|ckEsaZ+]pzp)L)L{H^-``Ȩ19FQ,LGH=AJ@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN/\Ҩgppt/slides/slide1.xmlPKtN\ppt/slides/slide2.xmlPKtNs$ ppt/slides/_rels/slide1.xml.relsPKtN}& ppt/slides/_rels/slide2.xml.relsPKtND~[Content_Types].xmlPKtN9|HdocProps/core.xmlPKtN煟 docProps/custom.xmlPKtNo _rels/.relsPKtN%  ppt/presentation.xmlPKtN8JG ppt/_rels/presentation.xml.relsPKtNro"ppt/viewProps.xmlPK-!(^oo$ppt/media/image1.pngPK-!Wppt/tableStyles.xmlPK-! 04ppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ӑppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ڒppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7, ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-%ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-,ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-3ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-:ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"Appt/slideLayouts/slideLayout10.xmlPK-!3Y "Cppt/slideLayouts/slideLayout11.xmlPK-!im "Xppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"pppt/slideLayouts/slideLayout15.xmlPK-!ҦB!/ppt/slideLayouts/slideLayout9.xmlPK-!K%!>ppt/slideLayouts/slideLayout8.xmlPK-! Lم!<ppt/slideLayouts/slideLayout7.xmlPK-!=t%!ppt/slideLayouts/slideLayout1.xmlPK-!)J. !dppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!_ppt/slideLayouts/slideLayout6.xmlPK-!:D "]ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK44pandoc-2.9.2.1/test/pptx/endnotes_toc.pptx000066400000000000000000000663641363630463000205250ustar00rootroot00000000000000PK^Nvppt/slides/slide1.xmlTێ }W ޻$TU+u{QU)cn:L6mRf`f96MZQ if0ri-ܺ&( ׄx56MÍu@^['_Y-_So^2ɲ&/0g ]flx3Wnsx=n<P-Z#s^ٛx/}ui3^' bPW+ ߟfImB.'reY*J:tp2He sJP<9 HQr?UGO#rJ6`syU&Ȏ4>lr3qme/Kōݎ>ѽ5jCʍ—MyWmۥjTJv8 ZU;彸B[#~z J6d,=ζ'h,D0zr#fyr-LMw}~wy|؆#I+̩Q%w)ËaB[ 3<ЮM!U\*kokȀlՁ#z(e#EBWp@'Tj;}{?uV^?K?PK^N/c[d ppt/slides/_rels/slide1.xml.rels 0>EػI[ADzA$!ݶ$jgwaC>(k84FZrXn`W-3"&K $ݘm C-M4k-sBDȲ5 &Lr9caۦQVM`W5h·9P= "j߫}J&ﮞPK^N:ޡ$ ppt/slides/_rels/slide2.xml.rels 0D~EػI[AD"Bt$$h86/oCO2CJ n9Ob!Z|'F{]v˘ScQMc BeVȋheIf=I&jS oM(;#uA0߫nck1p}>1e4"jϫJ=#~?<|xPK^N}& ppt/slides/_rels/slide3.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^Nݢ [Content_Types].xml͗]o0+"z} ڦ-N,FtJHspLgJ3<}>vxt6$hcܹ1!8BP͈'~cr w4fq8]t׹+RKLXH .blMT <,bI})GX΄*BS#'JHMPMcjd)xGu$J2 v]{4T^W;o%gճFKlum#Fzڠiv#AxBdN[|OJy#7J5|O(1ZyndHy)sתUON)4 _~=a !cBh U}PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HoSSrI t_[ԵB2T.U"m&ZswК.) Lty;­#Tm|fv;%i\ + + $1ix=Ȩ0{FQ3r؍FH- %^ZHa)!y^9#RCRCJzHxpwt) M ${h5S FV͋-'II>}gZP_EHۄ_mHY ʦ+y Ҹ޹ 9+d_QbBӸ"b*@sGz,e{o}N:ת/W@ tmPK^N gDhppt/_rels/presentation.xml.relsN0 'v쁫'm]b;nag_8)j̶)>j7eٕ((ݕ(fQyJgARܧ0 E)yb΃=Idu˳w aԟ%yHJjG;{ O_;2U?PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^Nvppt/slides/slide1.xmlPK^N/\Ҩgppt/slides/slide2.xmlPK^Nyppt/slides/slide3.xmlPK^N/c[d ppt/slides/_rels/slide1.xml.relsPK^N:ޡ$ ppt/slides/_rels/slide2.xml.relsPK^N}& ppt/slides/_rels/slide3.xml.relsPK^Nݢ [Content_Types].xmlPK^NHH docProps/core.xmlPK^N煟 docProps/custom.xmlPK^No _rels/.relsPK^N|߅ ppt/presentation.xmlPK^N gDhppt/_rels/presentation.xml.relsPK^Nnk˖ ppt/viewProps.xmlPK^Nppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!appt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.! ppt/slideMasters/slideMaster1.xmlPK^Nђ7-1%ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-2&ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,3'ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,3(ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,3)ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,3*ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,3+ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,3,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,3-ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,3.ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,3/ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!30ppt/slideLayouts/slideLayout9.xmlPK^N讹!4ppt/slideLayouts/slideLayout8.xmlPK^Nvi!9ppt/slideLayouts/slideLayout7.xmlPK^N1W!<ppt/slideLayouts/slideLayout6.xmlPK^N9!D@ppt/slideLayouts/slideLayout5.xmlPK^NX<j!dEppt/slideLayouts/slideLayout4.xmlPK^N&a[!Ippt/slideLayouts/slideLayout3.xmlPK^N/\ i !INppt/slideLayouts/slideLayout2.xmlPK^N+cK "Qppt/slideLayouts/slideLayout11.xmlPK^N  "Uppt/slideLayouts/slideLayout10.xmlPK^N³](!Yppt/slideLayouts/slideLayout1.xmlPK^NJ6_'k^docProps/app.xmlPK))k s`pandoc-2.9.2.1/test/pptx/endnotes_toc_templated.pptx000066400000000000000000014036621363630463000225610ustar00rootroot00000000000000PKtNzƒppt/slides/slide1.xmlTn!}W TUv#%RZX/57ޮ,Ӧ3s.MZQ ij0riv-un]GkBC[<B:a [i/Њ\/_Ro^2ɲ&/0g ]_3Q<^w9I`d-ƈ̑9X<®zzhj1}+IbSvv̆ek6!g2߬n*J3:tp2He SJP<: HQr?Tӽ l9 q0O޹@L*?fG6ᰲF2ӗnK!\K]EvVCUpFDkE£S,獥\?S)AIPo? b~#+ܸ σvAbQ\-y{^G_7PKtN/\Ҩgppt/slides/slide2.xmlTn!}W k[UQ^(xm*Rp9f0rvEfsJ 'ݭOқյo66|E|Xg΃Ž '\F|,χwۭj';TͿL9}AEebe97~}DIt (%lqum*즐76<<2(},#I5+ҢZtó ;kUZNnMhYk.sZB IBwN#%S'H5"Ͼns"ɾ4w[<\1mQC]2uQlx+T8; #:LuSIZ`?ZYh9_iabؓdWfqCFY$ QjsHYY忳\\dX UPKtN\ppt/slides/slide3.xmlTێ }W kT"kU}X~œudnVZ9iPd ]V J@ I}lǗkz۾WZk>[3E1w0n: Ơjx.5ϻ7ވt ffxIԢ2S];;u)ݡDJ 3s]^1Gc y=gGۧ4 S "mV-Yi.GqcUj/|WH{{gwOAQɆ,\$,Fn,ϮN7.pB>ieӀ95$t.Rwx1Laafڍ c>*kBvUqz:pdn??zQ>.+Iگ*Fwc=keOPKtN/c[d ppt/slides/_rels/slide1.xml.rels 0>EػI[ADzA$!ݶ$jgwaC>(k84FZrXn`W-3"&K $ݘm C-M4k-sBDȲ5 &Lr9caۦQVM`W5h·9P= "j߫}J&ﮞPKtN:ޡ$ ppt/slides/_rels/slide2.xml.rels 0D~EػI[AD"Bt$$h86/oCO2CJ n9Ob!Z|'F{]v˘ScQMc BeVȋheIf=I&jS oM(;#uA0߫nck1p}>1e4"jϫJ=#~?<|xPKtN}& ppt/slides/_rels/slide3.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtNB-Q[Content_Types].xml͘n0} ĵ iUCS70xw(1hy@&dD:?Ə? C[aZuK& +ԜZ(}HH ¶lif9NqJ+s"$/i>)xU㛮3`7PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HO(~\}[֋Z #eY ~%3U-hJVI_HVJN )Yp_v?+~,5tdoq;* nF濙B_;AE0҈Βb#Z߮Y [='_>6[_2И6&0WmD`Ŏ݊؋%sgnWk$s$msmȓ j0L8ڈ=̡<[g(NCWR[X{Q?;#7݂tZ0l^2yڍtS".l6ntēĠ=]7,p讀HXB;EVNCꐐI't FFl`tБQ0KdAH:H) !M#R2@J=Hi4R:@$Gh|{Ht4 %q:>=y|;aYPKtN^.*pppt/_rels/presentation.xml.relsj }cn]5)^ =3'ַ̨#$H/ߏ߃o/ZQ\d9Fj)=ϖx]ݭ@2Z\'CaF9;!w3i*4̇Ҷ0Z e/{j≶5v[M#8l4A W'E <_-L1E@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtNzƒppt/slides/slide1.xmlPKtN/\Ҩgppt/slides/slide2.xmlPKtN\ppt/slides/slide3.xmlPKtN/c[d ppt/slides/_rels/slide1.xml.relsPKtN:ޡ$ ppt/slides/_rels/slide2.xml.relsPKtN}& ppt/slides/_rels/slide3.xml.relsPKtNB-Q[Content_Types].xmlPKtN9|H docProps/core.xmlPKtN煟 docProps/custom.xmlPKtNo _rels/.relsPKtN)  ppt/presentation.xmlPKtN^.*pLppt/_rels/presentation.xml.relsPKtNro"ppt/viewProps.xmlPK-!(^oo/ppt/media/image1.pngPK-!bppt/tableStyles.xmlPK-! 0?ppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ޔppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7, ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-"ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-)ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-0ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-7ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7->ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-Eppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"Lppt/slideLayouts/slideLayout10.xmlPK-!3Y "Nppt/slideLayouts/slideLayout11.xmlPK-!im "cppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ƹppt/slideLayouts/slideLayout14.xmlPK-!p ;"{ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!:ppt/slideLayouts/slideLayout9.xmlPK-!K%!Ippt/slideLayouts/slideLayout8.xmlPK-! Lم!Gppt/slideLayouts/slideLayout7.xmlPK-!=t%! ppt/slideLayouts/slideLayout1.xmlPK-!)J. !oppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!(ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!jppt/slideLayouts/slideLayout6.xmlPK-!:D "hppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK66pandoc-2.9.2.1/test/pptx/images.native000066400000000000000000000004461363630463000175660ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Para [Image ("",[],[]) [] ("lalune.jpg","")] ,Para [Image ("",[],[]) [Str "The",Space,Str "Moon"] ("lalune.jpg","fig:")] ,Header 1 ("one-more",[],[]) [Str "One",Space,Str "More"] ,Para [Image ("",[],[]) [Str "The",Space,Str "Moon"] ("lalune.jpg","fig:")]] pandoc-2.9.2.1/test/pptx/images.pptx000066400000000000000000001271221363630463000172740ustar00rootroot00000000000000PK^N-6ppt/slides/slide1.xmlSn0+kJjBh@I4R$AҲ]aHݙnn&=h(#Tݍ+kM(yE]X-t<Gt}ä{4+u\:ۺVZă raFsoAs AfE$޽'?O(PbxMnM?Z M^jߥ7#'KA8D"ƨXERh.ճy[ vSbZQ%/ AA4;߮lq'OV Xd;c498qt:FZ{uBN6%t[e7YLCEkqDaKtU]y~YVd7ZMJިlGkr0?y͹&ōMKs!~Zkzj;#G'r'o̦+ӧ毛 ?PK^Nv\\ppt/slides/slide2.xmlTn1}WX~olXJV$Q`׶lC;wP/<357V Xh5PBWZM16XJ>d̉Z.-,dyXE-rźS {Սq}6lƂ4Ldng Hjso<~<[T%0%]mN2zۥmÍvB]i6II((66>u\U 6mlmT>fyfPUp_<"nK:V39ؕhʐoA#sq%fhó4=fYv4| #*1gNE3I3M Ҿ$vHnCM+ Wiv8\,i0!r!b,HtehE.c,yYSU ?3dwr|%j/,F^<5X5f~SCK'-(ʈ^s/6{PK^NԈ ppt/slides/_rels/slide2.xml.rels 1{"lorwFJB^~Hrggg>vHnCM+ Wiv8\,i0!r!b,HtehE.c,yYSU ?3dwr|%j/,F^<5X5f~SCK'-(ʈ^s/6{PK^NԈ ppt/slides/_rels/slide3.xml.rels 1{"lorwFJB^~Hrggg>vHnCM+ Wiv8\,i0!r!b,HtehE.c,yYSU ?3dwr|%j/,F^<5X5f~SCK'-(ʈ^s/6{PK^Ni\??ppt/media/image1.jpgweX^.tKww# XbE钐\iNYJ@S_o}<̙w杧5:L ;'4@ a@`0cSSQQSPг3вQP01rprpS3 s sqs KKECAmO]l-A$`<_00…rL aaba@$X`a2{8Hrn] Q+Il6ߧzSb{? $eVxZ$Tni?B$! ak!$Y[ bjΘ*K6kfjOAWd|(_#˲Mj5EV꿮-\\#ψh*lqm(>759)BC޼)uINNn l7 (Zgi &4VrM򬵷ME>̔XF|/4d;ͬWN>b{k. MO{ |\z[ PzcYp8paOYv_m@h9灻 DMVq~G0 JR}$PK vRcm7 J|x:q;FSm#VptLu< }$\V.䍣 Q..LG"cȘnΡ἖\l[mA<Nja9*-ma^y7h?\ k4B{=̪)k]1 fBn SZ-)2'd͵bѥPkO3Ăy.#ߍb[ڽuve~[lHX?Jc$}W++ ׏ @V |5I_1(d|_fiŕu2/qw9!XeT+~Oܖ5\̟i"* v PXGd^j80"btky38pnrCoI7[ۺqD<gZ ,Oӭ:gߑchT 'U8g]LV8Wg8QL@%bz% ˬ0g$X\ fyIK1P玭{Cs(zENמ8AI GGhl<NVQ]ǟHZK;%:1㬗Qd9خbQ~j{mF*S}Б7bRTlUq:(0Rg[}Db% V7>2 _}8k?] ڬŅv`G 7DyܴP~ZSsB~]tԵ D rzK۷H\Fu? {3t*^"UJ_ .Vjx<S';!"ns $av"H=g'kXFVmBna;w`E0U!Ca\yc_Em.ΪRWYLU﫟ސ@$q}}QH)C,tH-u*n g:KD}OO?H]zSySzGIm7Wp¢dK'م'YxȖA}+Z ` J`'.ykPPCtrbޘ|23o֓p֒cV0rӾΕWd'q~7D}nC./hr3JpU7$mwCDMLfSBCxjR;Hw , p18qp㋬ᐲ+})ZD|y^d$C*2P~J{]%0gXcZ?-<)daI 邹hGRPm{/]AR$k 3jM4- _Ԏ/^9939xs~ק*Rgtco:NǐPGO`-nc. ;80sm>MVc>b T7M$x#|[R7)vS=E>caJEѤTk0{-•/5ZaS*W Ek}.3X9! U([1GcVPly(D!3KO@؅7èYnY=5:!`40ښA[' ݌$0mߙ<1.ʘW_!(I:#^"9PSr.@R~!/zsMIΙ(E e"< ?hGgp7vͲd{ʲ| vVzxh,xB+ @rnZ?Nݒ9|Ny~l.ď'@otQ{J&˲k{rE_a cNG(!4ۚ.jJPY3ӕqz_@Aww.CbCETnVYۇڑ4%Sw3}G"RVԷ(tgm8~myCXţxeް)%RSka?6f3㐺xXK\Tf-7먷yu{wjV~翇À e;ij b>o\U})wȫ:`_lD"ho٢%9FUXoMxTVa+p N#4OPG@ =̖pj8m79p€A)(JxҹύF9/+QlE}gaGO#ԘzWFZr}%".2]}.2?&IIyOI.;y~"%C{~N2W6t{4|2{J9 IZ crP=J޶2u) g-V'j!N5;tu.jePiKY5ZGէCNj!cQ4tvSfg;5oZ36J(xa秫.E|YKԉhtxe`@>=x=h+?&Q.V`<"!*RXYlҮS{`FC~8'kn_Ub)q4(F^ \h9֮=<.25xP~t-.;弐您֡`J-gu1J77[ y%Zs{^=ҫ_n\x>`$.kM ӾOˠ覐HP-:ͬur8\Hn}̎LڹbL&'V\Poㅡd .D:/aɜPsm[82W\tjɚk6nv%ոJcԖyQo~Lni#|?tWV1joc `"pO$1)c-r/7m<_+/y.ȱ% uX̓'l߅/, s6=7M_˟Vټ?`|خZ=?[oiޔW}]qě_Rn:yƦDW]iYYðvۅ~ dݡW4|/=<3OU+s8LrU8g}Y&72pıOƣs=[2X`OIض ^z!0?'̿YJէxߑH'-"'ӁWrt#!ks@?HQ]v5 =xf6XWzp2Zw;-sBܹ{rtahQWZ*(;?;UdhA#{G`o|Tk(43Xȅ\o "+,.o% b림Bh"g7+.ѯ5539~1sEOVXW?y $Qx7$ 8 7ò2ՒJhV_驌+_lt2 bR㱎c <BuU7-3ˤ!!}cI|n1Vk#eZ{)*@ AHb~Hv4Kɂ/ֱ]- ~ղ[]+Jyfh9>m8-9Bw]-k|Ô<@I͵ qڡs} Wx5 /__iWiz"\{>'_Ƚ("3ۥ0}Vp?3Xz=ޜ,ۤfbTBRSapKztB`Aax+H[|sS2XUʑ5"t'K^s,ZQ{#o4[1n: tآﴓY?2{Bhe(ůU28vSu/N)D\FQ=%i晃*U5 xhnb.8xCMy~4aX).@tu+.bJvlD́Ai~L_z^fwfA^,<Ҿ#|!_|Y]jtf?剽F0G5ˁp3ЇL/ie8VA&9p՝؇5Nk6![.&n,)fWnDwetT.y{E\2x|6]#f.CK[m ^EBv} q| ܿM}DN㙴Y~M6xZ/?ܫBvRɵk¢r? '}t@9y(?tVOX Bn 9r2}ǰKB|ғ ogBh.fl7</ fOHh(;?9)**2TJc@,oBn g88B;C_8Ov >.ܞ)lN; b2ŒKR>m6ԥOvՅ9 wT53#9)4u%Q]~5<]w7zs{N@ٓa_ -ͺqP9ʠz\*R&Tw)70SsGn%Fv?iVD(T1 N.lWEx?{{D@ʩ@lM#yrTT5jjdG +q,a<ǐ46X?O58۸صQav)P(o-eb,:| Z։ TkowOQ+Á$!3 X)O->Wo:c><F&:I_O":Kj,BgxP3_:<& o}c?aD7klz?+?49m.fR;MbR$9dOpz5$p4Zo]vU46>[=>{]keNbyON)F5DDMP?h\vo*cpBvHjxK7[ߺEۆ/*SQ-$q9wXpE5)RGt$_}W `zQMh-q/v&)1s1ZWhNW78n6ս5|ը"Zoo> eŗY:E3SIl~#Ű㧻'@ɮRWc;H:7!ه.ha?׺,1=0!13R^#].1j>u_.|Ȕ9rٿs6ďe /N-<V:qFucgBay8?H>01[b -#L1zBrc*B`!0h;Q_ Z4rAzOcL;t.|9%VNw&# ןQoɔ<=T]u.pӐ :nNh`*$IfY:76q)h7&3ʘt"s_?y_̣klbڴ Ozm?E_῜1^xT b)!<_jьݧb >TL,Pj!@ С8mRG(ȻHZ>bXg5JJ^ O̎7 { D\gg,LZB. iܩX`ѶR/wLk0Mm'-|qt B7a䗪l.3>_[ ]I?bK9pS9=-FKVJU!ȯ?t1CYΚVRe3>ets}E7|dt x.θq}-£HLHle0BSe}ľby GРtP uN2*B[Ŀ6^r+5uw;U%UiSR&Y}a]2+&J}CP8aj[Gt(2{xrbj2ǩnUa9¹Θؠ0H6|iAzr05 3tF1ܛ.|8 ͯ'])BTt  1.g@V7I}B (wG|^|&vw+K׮0.1*w%>c+x}xEh1})5LzRxjj=Gd!`h.iH5ȉkJhnMժ3?w9zG̚Y5eMƈYDA,<ףFLշ1*1lƣan0qWv(?fs3~wB Q{ΐTGN7VK;ЌDo'<Ϙuw'㥪Zf\@MB߬iҕHVG}(MJJ3G02yfYa3~G؄=cNҢ~#)B1IyJ/~#]qb 9ۑo5)Cm7tCr 1N%! ϒE9|Q?k~hcgS@Ŵx pБ`ԽVq[V+dS~N%R?$g% KcBe㼉b.~ۅI]Y./ĈsFZG}~Wڟz8%k(S;>r"Vud:h+tJ zŧ$ >xs;wYǤxߡQI ?r~R S+䅼j%9d==.AxWVؠz=^$dOV`j<:*+ /9|t"NJVuz!Pq5;o n6ߎc{kb՟j ;F秳ɡ(4s 9zSu ՟檫4"TJgRjƋHm 6/ƣi+VmU}Eۏ/nE*N]eDӜ~2:=u?h~5n-nmE:HthX>g~ńÒt*Fbdk !ྔwAbYd<"ۑ#MK!v)Uh_OйwvMJ9[yġ=T >l['zdmrCZ`IB=w٧D19>:CG؈7u3W-l1!"oYXʽ|GꍖD)@Դ~K]Ik86ff#&Kڃ*1(,Ig1Y}"hp"ń۪%.*u!*m߃JsՏ:ԅv5}m8R^?>3wSL-I]D9/a៑Yu-˶u?Ʋk۝[VCUz$ L5;1wd+7Gg.:D /LoGʹPɄB $gɛ*:qq C3YZhԷ_+~`V'G^1b< |`-!1.^3yYs˸ g<&-Y䌹ҟ _1e{@?~j13XZY{kc`91+dgܤE\6/x{U/ %Y:}Y/״rܽ&IlLhD5\K2($zp#kJ :bIDr~i_nsig/fK$&a:A c̬?ʏ+{~.E#U2/]evLJXKvaSC9''ѩve\Ve%)@D`,m黨,"q!t,LNG(v B ;5WHcb't}DSHc "Y{P$i;H *[tOR{{"nOdtЌCǵb <;W $ɝT$pMnQ~ͪ@BJV D xf+/ݞ iw&-82\qtl=^PTR,^W}ϝ\D}^WjB0Oƅ` U7ޚlY4X /z̻~mSs( 6ـG؉.6ۇFc=!hm ë</%j%d?)tJ _}ƕ;};P2i)Y6`Vˆ͋p$iMX B2=erX@q mJ%KF8;p&;ձ'\_lv~`86=X F4J>+վ~qKi0 VPZJxGS_ ;+ ;& OTvu?Y uU%eD2V"2C6xr> $[>"[պtZ UrvZyl' %t54676oНwdvnuxְٮ$eBo^9y 9G2 'um_[tzNR6$R8u'kN;d8aCf;pQ(lNE澅X-sU^n@~Zt4I`[NWVu%O _qQsEVL}gGo"Fc[r#<f{="ݠc}+MKS86{M~Ybu*|e:gD(gXj:ݨYy"DpJZډ$,< z7A8W`}gnn}'gl|w&ea29d *-`;8lÁlFS~2  сEEpLVEb^ՉFGʞ?PG{Y֚7إ3 fh"9v/E6Dx=v|ON?jaA1vy)vql @XxaI|c{ OSf]ZiY /`Å O^₼,T#Z;byG^#1{/#&ȕm6~$Z8kN6h[X/djԵxhh.!)tdƱjבg %\lcg{& wV >m+-zhgt\ ;z8Gܠb<3'TS r\AA(AjͮL)3lƨ(L9V^|1!sW ֨!u yQԢn~(N(Kc9"xgzA4y"ρ b![Bw~Mu:{3YGrx-˨<-8Cw:9_~gĩm" 47­R}Mi:~ـBxǺ;_KFٗ>1u b*z("z5Bй0]: bq!1vx/n9} 9 >6"sxգm pcu$p @:j"[^*c$~¨kQ9[AE7&U<0X&rەB迭Ģ(M1C 8~kعիrٚ$]Z$ܓ[CfX ĝvtI~SFsI~g%CIW{yPF rJm6˚;^R\/v@*⬃Ƹ(Bl fzkfͣsUk48-5f,-Ԣd}nJDCJ^jD GzqA6fk}φX|p$o\@^YYB)fL r}7Ht?whuƤk!1ذ{8KI/< sz(|h;L{^8oLKOlIȵ t Uc{Ϙ& k.EOWYV uQ*}P e*O{H ;:^Bɶq. ߼,|F Kz.FQYޖ-{-G=f Z&C$ BHNR"r[KDBT>Eǚޯ\Y^/'`85O)o^ESҦ9qM\ľg~ӷeB0dGAF쉚'#ζSʹ ڇ @\ AAPD`ZRr m:ۊ͘v'zqN\#hDz3Mv fu\ _Z7kI^=B6@ƽvBTtȄߞaף`/4igS:p wPVe/VwK5wwr97CtM# ݹR>{s(8eRwne t)`0Vl)+7,`R)IEh2!y;TM;m,W<Oa[-ʕǤvQ]Ű(xs,-~|gĵ_(E1(&zİ@ȎkK0Bt@(}),m3xM-*RTl!YMd/b3G=R _ut(Tv-㝋IA^_#ޫ'~QɉLX g5 }ViUdp}#&ﶘ_)bc9k[! M8.'x _34^{a1<$Fj{b&GW@6;CS 3bG iv8@fjG},]!AxP&o[H]7"kH<4Љch޺I  }hU[ʎF2I!z5'DzF~̀Qz! ҁp8|}0tޅ0"ZkRo4`\oᴽZReXFє\V7"[/o2wyS~./Hb+ Zn撠 c/3̮]E L* Ed0Cԝ$ >c=$.PuZR(&m$$L<ڼFf3>2Q9.O( OF.@&+SkU ex !NQ8XZ뇛J@N] !OPK^N6^ [Content_Types].xml͗n0}(׊hKirr&> 4^d oIBCPBT_ٞ'r xsІI[A@2b"Fza0}b%ĄRԜZ(~HP 6lz0z bqiOJXH-.llMԐ̹6+33aʜWxioSqۧYr ߴT MPF9Pc1%&PeV\)KLOt)g֔i,'AIPM'ܫP.B]u"TEk.B;35=DyPkL ϑ,fS]~&n $]QPj8לuəy.s*UO攉4sߵ~g48tB=@ PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HoSSrI t_[ԵB2T.U"m&ZswК.) Lty;­#Tm|fv;%i\ + + $1ix=Ȩ0{FQ3r؍FH- %^ZHa)!y^9#RCRCJzHxpwt) M ${h5S FV͋-'II>}gZP_EHۄ_mHY ʦ+y Ҹ޹ 9+d_QbBӸ"b*@sGz,e{o}N:ת/W@ tmPK^N gDhppt/_rels/presentation.xml.relsN0 'v쁫'm]b;nag_8)j̶)>j7eٕ((ݕ(fQyJgARܧ0 E)yb΃=Idu˳w aԟ%yHJjG;{ O_;2U?PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N-6ppt/slides/slide1.xmlPK^Nv\\ppt/slides/slide2.xmlPK^NXJMppt/slides/slide3.xmlPK^NԈ Vppt/slides/_rels/slide1.xml.relsPK^NԈ Wppt/slides/_rels/slide2.xml.relsPK^NԈ X ppt/slides/_rels/slide3.xml.relsPK^Ni\??Y ppt/media/image1.jpgPK^N6^ I[Content_Types].xmlPK^NHHKdocProps/core.xmlPK^N煟MdocProps/custom.xmlPK^No M_rels/.relsPK^N|߅Nppt/presentation.xmlPK^N gDhQppt/_rels/presentation.xml.relsPK^Nnk˖ 6Sppt/viewProps.xmlPK^NTppt/tableStyles.xmlPK^N }.Uppt/presProps.xmlPK^N mu!}Wppt/theme/theme1.xmlPK^Ni_!,]ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!)_ppt/slideMasters/slideMaster1.xmlPK^Nђ7-Mfppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-Ngppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,Ohppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,Oippt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,Ojppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,Okppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,Olppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,Omppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,Onppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,Ooppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,Opppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!Oqppt/slideLayouts/slideLayout9.xmlPK^N讹!vppt/slideLayouts/slideLayout8.xmlPK^Nvi!zppt/slideLayouts/slideLayout7.xmlPK^N1W!~ppt/slideLayouts/slideLayout6.xmlPK^N9!`ppt/slideLayouts/slideLayout5.xmlPK^NX<j!ppt/slideLayouts/slideLayout4.xmlPK^N&a[!Ŋppt/slideLayouts/slideLayout3.xmlPK^N/\ i !eppt/slideLayouts/slideLayout2.xmlPK^N+cK " ppt/slideLayouts/slideLayout11.xmlPK^N  " ppt/slideLayouts/slideLayout10.xmlPK^N³](!Ӛppt/slideLayouts/slideLayout1.xmlPK^NJ6_'k:docProps/app.xmlPK** pandoc-2.9.2.1/test/pptx/images_templated.pptx000066400000000000000000014444141363630463000213420ustar00rootroot00000000000000PKtN%g?ppt/slides/slide1.xmlSn0+kJcB h@M4R$AҲ]ak;ݡդ5%%`%m>ܺ"hIք@:0oyDLzGVeY˕cO*%L@f*]m߬D6|-pU^e٠o~&+eGg7C|ےdڸ\?waZsIqcӒmȾ<FNJK]=WfWMo7??PKtNm{]ppt/slides/slide2.xmlTn!}W vbG$Q%̎۲_`v\C_`n9zJ&4(%tըՄ߾+S:YUZ{oJƜBP[jr]-h%dوQ{o^/Z[P>% >]g3of,8L_jiijImy6O66O4C-L(%tqIW$ ^nip#!w'< ٘Fʐ9Ė.ߪAy ^A\bw,ҁ{q0U, .88LaquLcb1>&ؕM:R~,=uU%Fv "^Sv&/v}؁1&^9|f9 rބDʍKÚ${"QЕMQ UhduU-ỲfIC<v K:#q͢_*X£-X5f~SMK'-(ʈ^K/6{PKtN9 ppt/slides/_rels/slide2.xml.rels 1{"lor^!"lD|増(rggg>v}؁1&^9|f9 rބDʍKÚ${"QЕMQ UhduU-ỲfIC<v K:#q͢_*X£-X5f~SMK'-(ʈ^K/6{PKtN9 ppt/slides/_rels/slide3.xml.rels 1{"lor^!"lD|増(rggg>v}؁1&^9|f9 rބDʍKÚ${"QЕMQ UhduU-ỲfIC<v K:#q͢_*X£-X5f~SMK'-(ʈ^K/6{PKtNi\??ppt/media/image2.jpgweX^.tKww# XbE钐\iNYJ@S_o}<̙w杧5:L ;'4@ a@`0cSSQQSPг3вQP01rprpS3 s sqs KKECAmO]l-A$`<_00…rL aaba@$X`a2{8Hrn] Q+Il6ߧzSb{? $eVxZ$Tni?B$! ak!$Y[ bjΘ*K6kfjOAWd|(_#˲Mj5EV꿮-\\#ψh*lqm(>759)BC޼)uINNn l7 (Zgi &4VrM򬵷ME>̔XF|/4d;ͬWN>b{k. MO{ |\z[ PzcYp8paOYv_m@h9灻 DMVq~G0 JR}$PK vRcm7 J|x:q;FSm#VptLu< }$\V.䍣 Q..LG"cȘnΡ἖\l[mA<Nja9*-ma^y7h?\ k4B{=̪)k]1 fBn SZ-)2'd͵bѥPkO3Ăy.#ߍb[ڽuve~[lHX?Jc$}W++ ׏ @V |5I_1(d|_fiŕu2/qw9!XeT+~Oܖ5\̟i"* v PXGd^j80"btky38pnrCoI7[ۺqD<gZ ,Oӭ:gߑchT 'U8g]LV8Wg8QL@%bz% ˬ0g$X\ fyIK1P玭{Cs(zENמ8AI GGhl<NVQ]ǟHZK;%:1㬗Qd9خbQ~j{mF*S}Б7bRTlUq:(0Rg[}Db% V7>2 _}8k?] ڬŅv`G 7DyܴP~ZSsB~]tԵ D rzK۷H\Fu? {3t*^"UJ_ .Vjx<S';!"ns $av"H=g'kXFVmBna;w`E0U!Ca\yc_Em.ΪRWYLU﫟ސ@$q}}QH)C,tH-u*n g:KD}OO?H]zSySzGIm7Wp¢dK'م'YxȖA}+Z ` J`'.ykPPCtrbޘ|23o֓p֒cV0rӾΕWd'q~7D}nC./hr3JpU7$mwCDMLfSBCxjR;Hw , p18qp㋬ᐲ+})ZD|y^d$C*2P~J{]%0gXcZ?-<)daI 邹hGRPm{/]AR$k 3jM4- _Ԏ/^9939xs~ק*Rgtco:NǐPGO`-nc. ;80sm>MVc>b T7M$x#|[R7)vS=E>caJEѤTk0{-•/5ZaS*W Ek}.3X9! U([1GcVPly(D!3KO@؅7èYnY=5:!`40ښA[' ݌$0mߙ<1.ʘW_!(I:#^"9PSr.@R~!/zsMIΙ(E e"< ?hGgp7vͲd{ʲ| vVzxh,xB+ @rnZ?Nݒ9|Ny~l.ď'@otQ{J&˲k{rE_a cNG(!4ۚ.jJPY3ӕqz_@Aww.CbCETnVYۇڑ4%Sw3}G"RVԷ(tgm8~myCXţxeް)%RSka?6f3㐺xXK\Tf-7먷yu{wjV~翇À e;ij b>o\U})wȫ:`_lD"ho٢%9FUXoMxTVa+p N#4OPG@ =̖pj8m79p€A)(JxҹύF9/+QlE}gaGO#ԘzWFZr}%".2]}.2?&IIyOI.;y~"%C{~N2W6t{4|2{J9 IZ crP=J޶2u) g-V'j!N5;tu.jePiKY5ZGէCNj!cQ4tvSfg;5oZ36J(xa秫.E|YKԉhtxe`@>=x=h+?&Q.V`<"!*RXYlҮS{`FC~8'kn_Ub)q4(F^ \h9֮=<.25xP~t-.;弐您֡`J-gu1J77[ y%Zs{^=ҫ_n\x>`$.kM ӾOˠ覐HP-:ͬur8\Hn}̎LڹbL&'V\Poㅡd .D:/aɜPsm[82W\tjɚk6nv%ոJcԖyQo~Lni#|?tWV1joc `"pO$1)c-r/7m<_+/y.ȱ% uX̓'l߅/, s6=7M_˟Vټ?`|خZ=?[oiޔW}]qě_Rn:yƦDW]iYYðvۅ~ dݡW4|/=<3OU+s8LrU8g}Y&72pıOƣs=[2X`OIض ^z!0?'̿YJէxߑH'-"'ӁWrt#!ks@?HQ]v5 =xf6XWzp2Zw;-sBܹ{rtahQWZ*(;?;UdhA#{G`o|Tk(43Xȅ\o "+,.o% b림Bh"g7+.ѯ5539~1sEOVXW?y $Qx7$ 8 7ò2ՒJhV_驌+_lt2 bR㱎c <BuU7-3ˤ!!}cI|n1Vk#eZ{)*@ AHb~Hv4Kɂ/ֱ]- ~ղ[]+Jyfh9>m8-9Bw]-k|Ô<@I͵ qڡs} Wx5 /__iWiz"\{>'_Ƚ("3ۥ0}Vp?3Xz=ޜ,ۤfbTBRSapKztB`Aax+H[|sS2XUʑ5"t'K^s,ZQ{#o4[1n: tآﴓY?2{Bhe(ůU28vSu/N)D\FQ=%i晃*U5 xhnb.8xCMy~4aX).@tu+.bJvlD́Ai~L_z^fwfA^,<Ҿ#|!_|Y]jtf?剽F0G5ˁp3ЇL/ie8VA&9p՝؇5Nk6![.&n,)fWnDwetT.y{E\2x|6]#f.CK[m ^EBv} q| ܿM}DN㙴Y~M6xZ/?ܫBvRɵk¢r? '}t@9y(?tVOX Bn 9r2}ǰKB|ғ ogBh.fl7</ fOHh(;?9)**2TJc@,oBn g88B;C_8Ov >.ܞ)lN; b2ŒKR>m6ԥOvՅ9 wT53#9)4u%Q]~5<]w7zs{N@ٓa_ -ͺqP9ʠz\*R&Tw)70SsGn%Fv?iVD(T1 N.lWEx?{{D@ʩ@lM#yrTT5jjdG +q,a<ǐ46X?O58۸صQav)P(o-eb,:| Z։ TkowOQ+Á$!3 X)O->Wo:c><F&:I_O":Kj,BgxP3_:<& o}c?aD7klz?+?49m.fR;MbR$9dOpz5$p4Zo]vU46>[=>{]keNbyON)F5DDMP?h\vo*cpBvHjxK7[ߺEۆ/*SQ-$q9wXpE5)RGt$_}W `zQMh-q/v&)1s1ZWhNW78n6ս5|ը"Zoo> eŗY:E3SIl~#Ű㧻'@ɮRWc;H:7!ه.ha?׺,1=0!13R^#].1j>u_.|Ȕ9rٿs6ďe /N-<V:qFucgBay8?H>01[b -#L1zBrc*B`!0h;Q_ Z4rAzOcL;t.|9%VNw&# ןQoɔ<=T]u.pӐ :nNh`*$IfY:76q)h7&3ʘt"s_?y_̣klbڴ Ozm?E_῜1^xT b)!<_jьݧb >TL,Pj!@ С8mRG(ȻHZ>bXg5JJ^ O̎7 { D\gg,LZB. iܩX`ѶR/wLk0Mm'-|qt B7a䗪l.3>_[ ]I?bK9pS9=-FKVJU!ȯ?t1CYΚVRe3>ets}E7|dt x.θq}-£HLHle0BSe}ľby GРtP uN2*B[Ŀ6^r+5uw;U%UiSR&Y}a]2+&J}CP8aj[Gt(2{xrbj2ǩnUa9¹Θؠ0H6|iAzr05 3tF1ܛ.|8 ͯ'])BTt  1.g@V7I}B (wG|^|&vw+K׮0.1*w%>c+x}xEh1})5LzRxjj=Gd!`h.iH5ȉkJhnMժ3?w9zG̚Y5eMƈYDA,<ףFLշ1*1lƣan0qWv(?fs3~wB Q{ΐTGN7VK;ЌDo'<Ϙuw'㥪Zf\@MB߬iҕHVG}(MJJ3G02yfYa3~G؄=cNҢ~#)B1IyJ/~#]qb 9ۑo5)Cm7tCr 1N%! ϒE9|Q?k~hcgS@Ŵx pБ`ԽVq[V+dS~N%R?$g% KcBe㼉b.~ۅI]Y./ĈsFZG}~Wڟz8%k(S;>r"Vud:h+tJ zŧ$ >xs;wYǤxߡQI ?r~R S+䅼j%9d==.AxWVؠz=^$dOV`j<:*+ /9|t"NJVuz!Pq5;o n6ߎc{kb՟j ;F秳ɡ(4s 9zSu ՟檫4"TJgRjƋHm 6/ƣi+VmU}Eۏ/nE*N]eDӜ~2:=u?h~5n-nmE:HthX>g~ńÒt*Fbdk !ྔwAbYd<"ۑ#MK!v)Uh_OйwvMJ9[yġ=T >l['zdmrCZ`IB=w٧D19>:CG؈7u3W-l1!"oYXʽ|GꍖD)@Դ~K]Ik86ff#&Kڃ*1(,Ig1Y}"hp"ń۪%.*u!*m߃JsՏ:ԅv5}m8R^?>3wSL-I]D9/a៑Yu-˶u?Ʋk۝[VCUz$ L5;1wd+7Gg.:D /LoGʹPɄB $gɛ*:qq C3YZhԷ_+~`V'G^1b< |`-!1.^3yYs˸ g<&-Y䌹ҟ _1e{@?~j13XZY{kc`91+dgܤE\6/x{U/ %Y:}Y/״rܽ&IlLhD5\K2($zp#kJ :bIDr~i_nsig/fK$&a:A c̬?ʏ+{~.E#U2/]evLJXKvaSC9''ѩve\Ve%)@D`,m黨,"q!t,LNG(v B ;5WHcb't}DSHc "Y{P$i;H *[tOR{{"nOdtЌCǵb <;W $ɝT$pMnQ~ͪ@BJV D xf+/ݞ iw&-82\qtl=^PTR,^W}ϝ\D}^WjB0Oƅ` U7ޚlY4X /z̻~mSs( 6ـG؉.6ۇFc=!hm ë</%j%d?)tJ _}ƕ;};P2i)Y6`Vˆ͋p$iMX B2=erX@q mJ%KF8;p&;ձ'\_lv~`86=X F4J>+վ~qKi0 VPZJxGS_ ;+ ;& OTvu?Y uU%eD2V"2C6xr> $[>"[պtZ UrvZyl' %t54676oНwdvnuxְٮ$eBo^9y 9G2 'um_[tzNR6$R8u'kN;d8aCf;pQ(lNE澅X-sU^n@~Zt4I`[NWVu%O _qQsEVL}gGo"Fc[r#<f{="ݠc}+MKS86{M~Ybu*|e:gD(gXj:ݨYy"DpJZډ$,< z7A8W`}gnn}'gl|w&ea29d *-`;8lÁlFS~2  сEEpLVEb^ՉFGʞ?PG{Y֚7إ3 fh"9v/E6Dx=v|ON?jaA1vy)vql @XxaI|c{ OSf]ZiY /`Å O^₼,T#Z;byG^#1{/#&ȕm6~$Z8kN6h[X/djԵxhh.!)tdƱjבg %\lcg{& wV >m+-zhgt\ ;z8Gܠb<3'TS r\AA(AjͮL)3lƨ(L9V^|1!sW ֨!u yQԢn~(N(Kc9"xgzA4y"ρ b![Bw~Mu:{3YGrx-˨<-8Cw:9_~gĩm" 47­R}Mi:~ـBxǺ;_KFٗ>1u b*z("z5Bй0]: bq!1vx/n9} 9 >6"sxգm pcu$p @:j"[^*c$~¨kQ9[AE7&U<0X&rەB迭Ģ(M1C 8~kعիrٚ$]Z$ܓ[CfX ĝvtI~SFsI~g%CIW{yPF rJm6˚;^R\/v@*⬃Ƹ(Bl fzkfͣsUk48-5f,-Ԣd}nJDCJ^jD GzqA6fk}φX|p$o\@^YYB)fL r}7Ht?whuƤk!1ذ{8KI/< sz(|h;L{^8oLKOlIȵ t Uc{Ϙ& k.EOWYV uQ*}P e*O{H ;:^Bɶq. ߼,|F Kz.FQYޖ-{-G=f Z&C$ BHNR"r[KDBT>Eǚޯ\Y^/'`85O)o^ESҦ9qM\ľg~ӷeB0dGAF쉚'#ζSʹ ڇ @\ AAPD`ZRr m:ۊ͘v'zqN\#hDz3Mv fu\ _Z7kI^=B6@ƽvBTtȄߞaף`/4igS:p wPVe/VwK5wwr97CtM# ݹR>{s(8eRwne t)`0Vl)+7,`R)IEh2!y;TM;m,W<Oa[-ʕǤvQ]Ű(xs,-~|gĵ_(E1(&zİ@ȎkK0Bt@(}),m3xM-*RTl!YMd/b3G=R _ut(Tv-㝋IA^_#ޫ'~QɉLX g5 }ViUdp}#&ﶘ_)bc9k[! M8.'x _34^{a1<$Fj{b&GW@6;CS 3bG iv8@fjG},]!AxP&o[H]7"kH<4Љch޺I  }hU[ʎF2I!z5'DzF~̀Qz! ҁp8|}0tޅ0"ZkRo4`\oᴽZReXFє\V7"[/o2wyS~./Hb+ Zn撠 c/3̮]E L* Ed0Cԝ$ >c=$.PuZR(&m$$L<ڼFf3>2Q9.O( OF.@&+SkU ex !NQ8XZ뇛J@N] !OPKtN/ J|[Content_Types].xml͘n0} ĵ ^Mj.LSv;@JQ& / 3|cИ3o0)"? " i:?+0 ck%!&& PD@z) l#:ͬwe\t.T2)VJG Y9^ggacL5!&*]xDA}yty,jH9DZ*C0`HKF,Ԙrt gI (m*R '\N³qœgAMT.R9 u"ԱPG.B\ ]rPu"Td T*tV9YS=Pcӿ>hgJP (s2Cg7gM2x Q^Q⻧ʽ8~BN|K&N}x6Ll1hE jNhYCB oPKtN#HdocProps/core.xmlN0E|E}<*D4] ";˞V쁴)Cbzym>(krV*]*}  [$֙[cC&5ǘ-u\hTrɑ0u#RH 4 z"xnVxtpzG!u]U5_ϗ~T M-C-4518Z?lI=;e$;O4xA&6}Q>ǧ4e^|׺jIn?74PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HO(~\}[֋Z #eY ~%3U-hJVI_HVJN )Yp_v?+~,5tdoq;* nF濙B_;AE0҈Βb#Z߮Y [='_>6[_2И6&0WmD`Ŏ݊؋%sgnWk$s$msmȓ j0L8ڈ=̡<[g(NCWR[X{Q?;#7݂tZ0l^2yڍtS".l6ntēĠ=]7,p讀HXB;EVNCꐐI't FFl`tБQ0KdAH:H) !M#R2@J=Hi4R:@$Gh|{Ht4 %q:>=y|;aYPKtN^.*pppt/_rels/presentation.xml.relsj }cn]5)^ =3'ַ̨#$H/ߏ߃o/ZQ\d9Fj)=ϖx]ݭ@2Z\'CaF9;!w3i*4̇Ҷ0Z e/{j≶5v[M#8l4A W'E <_-L1E@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN%g?ppt/slides/slide1.xmlPKtNm{]ppt/slides/slide2.xmlPKtNlOppt/slides/slide3.xmlPKtN9 Yppt/slides/_rels/slide1.xml.relsPKtN9 Zppt/slides/_rels/slide2.xml.relsPKtN9 [ ppt/slides/_rels/slide3.xml.relsPKtNi\??\ ppt/media/image2.jpgPKtN/ J|I[Content_Types].xmlPKtN#HKdocProps/core.xmlPKtN煟8MdocProps/custom.xmlPKtNo M_rels/.relsPKtN)  Oppt/presentation.xmlPKtN^.*pdQppt/_rels/presentation.xml.relsPKtNro"Rppt/viewProps.xmlPK-!(^ooGTppt/media/image1.pngPK-!zppt/tableStyles.xmlPK-! 0Wppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,'ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7, ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,"ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,(ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,.ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,4ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-:ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-Appt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-Hppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-Oppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-Vppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-]ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"dppt/slideLayouts/slideLayout10.xmlPK-!3Y "fppt/slideLayouts/slideLayout11.xmlPK-!im "{ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!Rppt/slideLayouts/slideLayout9.xmlPK-!K%!a ppt/slideLayouts/slideLayout8.xmlPK-! Lم!_ppt/slideLayouts/slideLayout7.xmlPK-!=t%!#ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!@"ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!%ppt/slideLayouts/slideLayout5.xmlPK-!z&!+ppt/slideLayouts/slideLayout6.xmlPK-!:D ".ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "1ppt/slideLayouts/slideLayout17.xmlPK-!x-,5docProps/app.xmlPK778pandoc-2.9.2.1/test/pptx/inline_formatting.native000066400000000000000000000014311363630463000220240ustar00rootroot00000000000000[Para [Str "Here",Space,Str "are",Space,Str "examples",Space,Str "of",Space,Emph [Str "italics"],Str ",",Space,Strong [Str "bold"],Str ",",Space,Str "and",Space,Strong [Emph [Str "bold",Space,Str "italics"]],Str "."] ,Para [Str "Here",Space,Str "is",Space,Strikeout [Str "strook-three"],Space,Str "strike-through",Space,Str "and",Space,SmallCaps [Str "small",Space,Str "caps"],Str "."] ,Para [Str "Here",Space,Str "is",Space,Span ("",["underline"],[]) [Str "some",Space,Emph [Str "underlined"],Space,Strong [Str "text"]],Str "."] ,Para [Str "We",Space,Str "can",Space,Str "also",Space,Str "do",Space,Str "subscripts",Space,Str "(H",Subscript [Str "2"],Str "0)",Space,Str "and",Space,Str "super",Superscript [Str "script"],Str "."] ,RawBlock (Format "html") ""] pandoc-2.9.2.1/test/pptx/inline_formatting.pptx000066400000000000000000000630661363630463000215450ustar00rootroot00000000000000PK^N#(Cppt/slides/slide1.xmlUMo!W=RZEVH!J#9UϘ{QX@ n}ص7FU`ǼY6QY3+ޜ#mzV||r^\_\)Qun9ց!FZ5A擲|LJIheۀ ăZ9sМ$91 ]ݝ|nn}rln=SS0#㽧k?@Xv+ęnViqdޕ{۲T?=χC\WVgj!&;tV#3(&Q2mH"ήVнC [ңHT#h=G~>HuVx~ ^SY/AkOBM%v]V0)oZNjRm#]{RI^+G a]c\@aBee.QzWG(ˬ8-rh2B| [~e^|wa|ƇW{PK^N}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^NQ [Content_Types].xml͗]o0+ "z} ڦ-N,FtJHsi!`RgJ3C<1}*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)H]/,y% -*'T5mIWێ+ b=lj%jgnzI]gA9Ї[Sŝga\c}KPN=P̸P|Wų}e3%Q>8%7:Tt֚.9˳4gLtz&#mlk0~_r”qs/,7"/,Dk$vǤxZ#Ltddw`FAn4Bj!=p)xB {HQ!tiA&4>4@pwf:ø)ad"OЯo*]{?q"?:1nS? uVup^p?ڈ"'KSWM?bW%qsqVkIS2.r7@7dU\ rWLHH :;=Vdj_1k. ;;PK^N-ppt/_rels/presentation.xml.relsn { Bu42MRu@)K*ꁣ6,W?"{t^͠r n|^`U-PS|+'F{mR/ZόEOj:bj Y/z@9$늁[W3 [M]K/F|wÕ+Wh])S,)))[gb=I/MR<E/MR7>YeLh+Op08I$)<㠣XPK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N#(Cppt/slides/slide1.xmlPK^N}& vppt/slides/_rels/slide1.xml.relsPK^NQ `[Content_Types].xmlPK^NHH'docProps/core.xmlPK^N煟tdocProps/custom.xmlPK^No /_rels/.relsPK^Nʌ?Eppt/presentation.xmlPK^N-F ppt/_rels/presentation.xml.relsPK^Nnk˖ ~ ppt/viewProps.xmlPK^NCppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!ppt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!qppt/slideMasters/slideMaster1.xmlPK^Nђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7- ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,!ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,"ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,#ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,$ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,%ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,&ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,'ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,(ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,)ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!*ppt/slideLayouts/slideLayout9.xmlPK^N讹!K/ppt/slideLayouts/slideLayout8.xmlPK^Nvi!94ppt/slideLayouts/slideLayout7.xmlPK^N1W!Z7ppt/slideLayouts/slideLayout6.xmlPK^N9!:ppt/slideLayouts/slideLayout5.xmlPK^NX<j!?ppt/slideLayouts/slideLayout4.xmlPK^N&a[! Dppt/slideLayouts/slideLayout3.xmlPK^N/\ i !Hppt/slideLayouts/slideLayout2.xmlPK^N+cK "ULppt/slideLayouts/slideLayout11.xmlPK^N  "RPppt/slideLayouts/slideLayout10.xmlPK^N³](!Tppt/slideLayouts/slideLayout1.xmlPK^NJ6_'kXdocProps/app.xmlPK%%I Zpandoc-2.9.2.1/test/pptx/inline_formatting_templated.pptx000066400000000000000000014003611363630463000235760ustar00rootroot00000000000000PKtN#(Cppt/slides/slide1.xmlUMo!W=RZEVH!J#9UϘ{QX@ n}ص7FU`ǼY6QY3+ޜ#mzV||r^\_\)Qun9ց!FZ5A擲|LJIheۀ ăZ9sМ$91 ]ݝ|nn}rln=SS0#㽧k?@Xv+ęnViqdޕ{۲T?=χC\WVgj!&;tV#3(&Q2mH"ήVнC [ңHT#h=G~>HuVx~ ^SY/AkOBM%v]V0)oZNjRm#]{RI^+G a]c\@aBee.QzWG(ˬ8-rh2B| [~e^|wa|ƇW{PKtN}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtNK[Content_Types].xml͘n0E(*1-Epنw!D ̝3]ey@&EGa@$2ebǠgB0V؟Xn 185T d$5zLMHD 6{if9nu1ʸTS2PǤ8%5dfKLkx-"L2[J(1^x[)x{Qm_(MKe„ۛۀ(G#jL9 %A[+MŕdDrjM}]4.yNqI+.]p"T"FuEItI*'*j;35\Ueq8pBdN[+s"$/i>)xU㛮3`7PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HCI}χ>㹔$)*aP yB۲^Z, D̂e`m (yjt,zOrBRp:MH xj+Yc IMPԦV%- ̺ O nd+ػT(,(Fzv`DVK5K AP@ ws._2И6q*UYaZ]qyE^;Jg)VKkݮ^IFAP#O2AT2h!&0G#lٟG8 ]Ime#Ep=j[a S@]wݨo*Yυ^>P[|+'qF{mR/ZόEOj:bj Y/z@9$T3 x_8tÝ+Wh]S,)))Cu&>'I"yt7\Qt:\) g|$sR8;ؖKyxJ qxY^)7PKtNro"ppt/viewProps.xmlMo0 Qkh զi0l(D>@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN#(Cppt/slides/slide1.xmlPKtN}& vppt/slides/_rels/slide1.xml.relsPKtNK`[Content_Types].xmlPKtN9|HLdocProps/core.xmlPKtN煟docProps/custom.xmlPKtNo U_rels/.relsPKtNH kppt/presentation.xmlPKtNd ppt/_rels/presentation.xml.relsPKtNro" ppt/viewProps.xmlPK-!(^oo ppt/media/image1.pngPK-!|ppt/tableStyles.xmlPK-! 0}ppt/presProps.xmlPK-!:~"TYppt/theme/theme1.xmlPK-!E ,pppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-?ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-Fppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,Mppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,Sppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,Yppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,_ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,eppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,kppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,qppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,wppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,}ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ĩppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"'ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ܹppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%!lppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!(ppt/slideLayouts/slideLayout3.xmlPK-!=p!ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!8ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "Cppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK22Npandoc-2.9.2.1/test/pptx/lists.native000066400000000000000000000015771363630463000174650ustar00rootroot00000000000000[Header 1 ("lists",[],[]) [Str "Lists"] ,BulletList [[Para [Str "Bulleted",Space,Str "bulleted",Space,Str "lists."]] ,[Para [Str "And",Space,Str "go",Space,Str "to",Space,Str "arbitrary",Space,Str "depth."] ,BulletList [[Para [Str "Like",Space,Str "this"] ,BulletList [[Plain [Str "Or",Space,Str "this"]]]] ,[Para [Str "Back",Space,Str "to",Space,Str "here."]]]]] ,Header 1 ("lists-continued",[],[]) [Str "Lists",Space,Str "(continued)"] ,Para [Str "Lists",Space,Str "can",Space,Str "also",Space,Str "be",Space,Str "numbered:"] ,OrderedList (1,Decimal,Period) [[Para [Str "Tomatoes"]] ,[Para [Str "Potatoes",Space,Str "of",Space,Str "various",Space,Str "sorts"] ,OrderedList (1,LowerAlpha,Period) [[Para [Str "sweet",Space,Str "potatoes"]] ,[Para [Str "russet",Space,Str "potates"]]]] ,[Para [Str "Tornadoes,",Space,Str "for",Space,Str "the",Space,Str "rhyme."]]]] pandoc-2.9.2.1/test/pptx/lists.pptx000066400000000000000000000646601363630463000171740ustar00rootroot00000000000000PK^Nw_ppt/slides/slide1.xmlT]!} 4YNj5Cd3Ĥ} r9sSkr5S: )#Tf7?٧'7 ZXk„Oi&QA:01~Ǥ#Fx8j {V fš1 r{Мa(͢22=@w+9z\zdtkRJX뺵9v@ؕOfJmYڄvٶޮUzVI\qQV-blmDJ:ivE0L`Fʲ6s+gnOtO^<Ĝ>,~edfë5г Rsj3BnX\{#\@eOꡒYo?KcAM tjpū{!Iv%oz["auB`]% 7/-s.IXʯ:PK^NP#ppt/slides/slide2.xmlUێ0}WJ-*UUQ$0@&Ɇ$niT {9 jAZ3#јn4y|}_ܹ"(քH+( D:4)^~Og C+:Qͤ!yyI-4؁xT,>C)]5hcH0I_+mѥȍ:GHex5CVRYyV].lFP6Bmwg Yi7BtP](eK'7~f)&!F̵;dZjo3x#͜W+/FxڱLR PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HPJ^u^15]0RyIw[Gɓͤ5v)~+ji\+ + #$3iĨ2 F9=Q80ċ'Hp ~N:H) ~R<@JF0=d4CJH8Jwif 9CZ-ZY /3K~nv#;UC{vyW;|/ҍצ, /c̨Ję`;yX+N~`^Ҍ,2Ϊ{-izwR#Jw`L!v[WDLIU >qz~d\1;OXPK^NZWJppt/_rels/presentation.xml.relsN0 ٣'^!w-W-'r&%V׳3 R\ R'}@w48ɘߔ۔\+| ;YERX;}xA'7PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^Nw_ppt/slides/slide1.xmlPK^NP#ppt/slides/slide2.xmlPK^N}& cppt/slides/_rels/slide1.xml.relsPK^N}& Mppt/slides/_rels/slide2.xml.relsPK^NCΜ 7[Content_Types].xmlPK^NHHdocProps/core.xmlPK^N煟Q docProps/custom.xmlPK^No _rels/.relsPK^N#'_" ppt/presentation.xmlPK^NZWJ(ppt/_rels/presentation.xml.relsPK^Nnk˖ gppt/viewProps.xmlPK^N,ppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!ppt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!Zppt/slideMasters/slideMaster1.xmlPK^Nђ7-~"ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-#ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,$ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,%ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,&ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,'ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,(ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,)ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,*ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,+ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!-ppt/slideLayouts/slideLayout9.xmlPK^N讹!42ppt/slideLayouts/slideLayout8.xmlPK^Nvi!"7ppt/slideLayouts/slideLayout7.xmlPK^N1W!C:ppt/slideLayouts/slideLayout6.xmlPK^N9!=ppt/slideLayouts/slideLayout5.xmlPK^NX<j!Bppt/slideLayouts/slideLayout4.xmlPK^N&a[!Fppt/slideLayouts/slideLayout3.xmlPK^N/\ i !Kppt/slideLayouts/slideLayout2.xmlPK^N+cK ">Oppt/slideLayouts/slideLayout11.xmlPK^N  ";Sppt/slideLayouts/slideLayout10.xmlPK^N³](!Wppt/slideLayouts/slideLayout1.xmlPK^NJ6_'kk[docProps/app.xmlPK'' ]pandoc-2.9.2.1/test/pptx/lists_templated.pptx000066400000000000000000014021551363630463000212270ustar00rootroot00000000000000PKtN~,ppt/slides/slide1.xmlTێ"!}߯ l&ft̘~Bii P/Ѝ8mbU:@xznjMfJG!%`G<&AKkM)݄ *yX&OĨ5_X͕yy*߭8`9FR.4w"L>,*+-yrK/ǥ'JFw(1)u]c+] :Qi4}#K k_~ճ҄]4NZU=UkM\!Š} FQنV乤fW< HYv?]fn)Ĺp'\bNuZsȁ22^l 3lطCB )ʷ^Š_]{(}#\@eOꡒEo=kcAM tjս_$;K7 ='"auB`.ƫ9$}j>>'ŰPKtN8՛$#ppt/slides/slide2.xmlUێ0}WJ-*Uha H0@&Ɇ$niT {9 jAZ3#јn4<_ܻ"(քH+( D:4)^~Og C+:Qͤ!yyI,4؁xT,>C)]5hcH0I_+miF}H,7-!7QN&,H9J ּۊ+eIp.ejMu^4|yTNuI+.]p"T"FsEI tI *'*l;35㫋f eq8x\fgɌ6>uߥgv!*ҵI CGYǺdjGw^2T憎O攉4sߍ|K+s"$/i>)xU㛮3`7PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HӚ=AKf)^ٵ(~SmUhs7"Qg11H- (!Fj^yԖꙧϼx?l2 p>PvqJHY;ߠXJfmCCRHl;Wmu-OB9|ckEsaZ+]pzp)L)L{H^-``Ȩ19FQ,LGH=AJ@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN~,ppt/slides/slide1.xmlPKtN8՛$#ppt/slides/slide2.xmlPKtN}& cppt/slides/_rels/slide1.xml.relsPKtN}& Mppt/slides/_rels/slide2.xml.relsPKtND~7[Content_Types].xmlPKtN9|H(docProps/core.xmlPKtN煟v docProps/custom.xmlPKtNo 1 _rels/.relsPKtN% G ppt/presentation.xmlPKtN8J ppt/_rels/presentation.xml.relsPKtNro"ppt/viewProps.xmlPK-!(^oo{ppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"TDppt/theme/theme1.xmlPK-!E ,[ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-*ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-1ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,8ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,>ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,Dppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,Jppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,Pppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,Vppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,\ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,bppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,hppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-nppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-uppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-|ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"Ǽppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%!Wppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!tppt/slideLayouts/slideLayout4.xmlPK-!s@yT!#ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ ".ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK449pandoc-2.9.2.1/test/pptx/raw_ooxml.native000066400000000000000000000032121363630463000203220ustar00rootroot00000000000000[Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "text,",Space,Str "written",Space,Str "as",Space,Str "a",Space,Str "raw",Space,Str "inline:",Space,RawInline (Format "openxml") "Here are examples of italics, bold"] ,HorizontalRule ,RawBlock (Format "openxml") " \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Bulleted bulleted lists.\n \n \n \n \n \n \n And go to arbitrary depth.\n \n \n \n \n \n \n Like this\n \n \n \n \n \n \n Or this\n \n \n \n \n \n \n Back to here.\n \n \n \n "] pandoc-2.9.2.1/test/pptx/raw_ooxml.pptx000066400000000000000000000645041363630463000200420ustar00rootroot00000000000000PK^Nx1ppt/slides/slide1.xmlSn0+<E!D~M,@2V1,o=70bٖ\1@+]eno}ukc#Z6ΣЈx|u 54gfK)o?uuve 8"[♀scAGڸ6;/rԊ\f?HM}{OY%[ÞkС#qh:l=lց49z$in8 C`i %ƈޯM7#0Evucy-q.I u(ۃx812$!{Sq,5^ Uz9T2Fqp"9EƬm=pIŠ(=N31onB^}(sw#6Z"4̰av  H5PkNJiY)j(NK&dBjo4GAԭdp)N- ?{pz7lVZ,o:xUuCw&'TPK^N}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^NCΜ [Content_Types].xml͗]o0+ "z} ڦ-N,FtJHs`RgJ3C<1}ѥȍ:GHex5CVRYyV].lFP6Bmwg Yi7BtP](eK'7~f)&!F̵;dZjo3x#͜W+/FxڱLR PK^N:wHdocProps/core.xmlN0sE(`D,&qʰ^ȝ5B @$'(I#e/B0jCqWgqpm~d>:"gbUF}߷/GnVo)HPJ^u^15]0RyIw[Gɓͤ5v)~+ji\+ + #$3iĨ2 F9=Q80ċ'Hp ~N:H) ~R<@JF0=d4CJH8Jwif 9CZ-ZY /3K~nv#;UC{vyW;|/ҍצ, /c̨Ję`;yX+N~`^Ҍ,2Ϊ{-izwR#Jw`L!v[WDLIU >qz~d\1;OXPK^NZWJppt/_rels/presentation.xml.relsN0 ٣'^!w-W-'r&%V׳3 R\ R'}@w48ɘߔ۔\+| ;YERX;}xA'7PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^Nx1ppt/slides/slide1.xmlPK^N,sppt/slides/slide2.xmlPK^N}& ppt/slides/_rels/slide1.xml.relsPK^N}& ppt/slides/_rels/slide2.xml.relsPK^NCΜ [Content_Types].xmlPK^N:wHdocProps/core.xmlPK^N煟docProps/custom.xmlPK^No _rels/.relsPK^N#'_ ppt/presentation.xmlPK^NZWJ ppt/_rels/presentation.xml.relsPK^Nnk˖ ppt/viewProps.xmlPK^Nppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!Bppt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!ppt/slideMasters/slideMaster1.xmlPK^Nђ7-"ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-#ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,$ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,%ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,&ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,'ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,(ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,)ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,*ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,+ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!-ppt/slideLayouts/slideLayout9.xmlPK^N讹!1ppt/slideLayouts/slideLayout8.xmlPK^Nvi!6ppt/slideLayouts/slideLayout7.xmlPK^N1W!9ppt/slideLayouts/slideLayout6.xmlPK^N9!%=ppt/slideLayouts/slideLayout5.xmlPK^NX<j!EBppt/slideLayouts/slideLayout4.xmlPK^N&a[!Fppt/slideLayouts/slideLayout3.xmlPK^N/\ i !*Kppt/slideLayouts/slideLayout2.xmlPK^N+cK "Nppt/slideLayouts/slideLayout11.xmlPK^N  "Rppt/slideLayouts/slideLayout10.xmlPK^N³](!Vppt/slideLayouts/slideLayout1.xmlPK^NJ6_'kZdocProps/app.xmlPK'' T]pandoc-2.9.2.1/test/pptx/raw_ooxml_templated.pptx000066400000000000000000014020001363630463000220650ustar00rootroot00000000000000PKtNx1ppt/slides/slide1.xmlSn0+<E!D~M,@2V1,o=70bٖ\1@+]eno}ukc#Z6ΣЈx|u 54gfK)o?uuve 8"[♀scAGڸ6;/rԊ\f?HM}{OY%[ÞkС#qh:l=lց49z$in8 C`i %ƈޯM7#0Evucy-q.I u(ۃx812$!{Sq,5^ Uz9T2Fqp"9EƬm=pIŠ(=N31onB^}(sw#6Z"4̰av  H5PkNJiY)j(NK&dBjo4GAԭdp)N- ?{pz7lVZ,o:xUuCw&'TPKtN}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtN}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtND~[Content_Types].xml͘n0}(׊ЖҊM*}7jv(}' B Q}ٞ~2G xsІI1à{ "31V a0f%D3RԜZ\)Q4S vK"),۲?Ä]t߻+R*Z<&)ٚ!15soVhf1fƔ9)tYo>iF}H,7-!7QN&,H9J ּۊ+eIp.ejMu^4|yTNuI+.]p"T"FsEI tI *'*l;35㫋f eq8x\fgɌ6>uߥgv!*ҵI CGYǺdjGw^2T憎O攉4sߍ|K(krV*]*}  [$֙[cC&5ǘ-u\hTrɑ0u#RH 4 z"xnVxtpzG!u]U5_ϗ~T M-C-4518Z?lI=;e$;O4xA&6}Q>ǧ4e^|׺jIn?74PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HӚ=AKf)^ٵ(~SmUhs7"Qg11H- (!Fj^yԖꙧϼx?l2 p>PvqJHY;ߠXJfmCCRHl;Wmu-OB9|ckEsaZ+]pzp)L)L{H^-``Ȩ19FQ,LGH=AJ@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtNx1ppt/slides/slide1.xmlPKtN,sppt/slides/slide2.xmlPKtN}& ppt/slides/_rels/slide1.xml.relsPKtN}& ppt/slides/_rels/slide2.xml.relsPKtND~[Content_Types].xmlPKtN#HdocProps/core.xmlPKtN煟 docProps/custom.xmlPKtNo _rels/.relsPKtN%  ppt/presentation.xmlPKtN8J1 ppt/_rels/presentation.xml.relsPKtNro"pppt/viewProps.xmlPK-!(^ooppt/media/image1.pngPK-!Appt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"Tׁppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!}ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-Ēppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,˓ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,єppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,וppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ݖppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-$ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"+ppt/slideLayouts/slideLayout10.xmlPK-!3Y "-ppt/slideLayouts/slideLayout11.xmlPK-!im "Bppt/slideLayouts/slideLayout12.xmlPK-!h "~ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"Zppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!(ppt/slideLayouts/slideLayout8.xmlPK-! Lم!&ppt/slideLayouts/slideLayout7.xmlPK-!=t%!ppt/slideLayouts/slideLayout1.xmlPK-!)J. !Nppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!Ippt/slideLayouts/slideLayout6.xmlPK-!:D "Gppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,qdocProps/app.xmlPK44pandoc-2.9.2.1/test/pptx/reference_depth.pptx000066400000000000000000014102761363630463000211570ustar00rootroot00000000000000PK!6X[Content_Types].xml (̗N0HC+j\r`9Id۲Ҿ=Tei/l73{g\FNhI*ՙPÄ<=^$rK !3p䬿{pK{sJKGsk W+o;4ʃ-_x~|,}t9Ĩ!Ϋ"UBD^yڨx1,)5[pcHu:QB-e 0`IbeyZw`E=EXp+cN z0)d:(re\"87y<,i9o14XGPh6nS#x :=T߿oBi6#g6^N5鱯`5I˴ AL2 8@nL'2vP!vrb+g!rb3g!vsb;gQ^{j OB2h֋շόh碡x}f5嫽PK!ht _rels/.rels (J1!}7*"loDc2HҾaa-?$Yon ^AX+xn 278O a\^hD.Cy1BYz |t!9rL߰'~20(H[s=D[:b4(uHL'ebK9U!ZW{h^MhwuV};G缦oYDS7t}N!3yCaFr3PK!c\#7 ppt/slides/_rels/slide1.xml.relsϽj0=wW;,e)C>!mQ[:o1tx_?],(AC+lt>~n_'\08c 1\ۡҌ0JhA1Q!K-_I}4QgӐ{ׂm^0xKѮ O;-G*|ZY#@N5PK!.5 ppt/_rels/presentation.xml.rels (AN0EH=qRBN7 $&$myL!j$UuyWN-zRȒV4ފǫ;`H//V/eE*G,І9NRbxR[ol/t0Q&TVɶuJ|g&hGz66c +iOC, *_7fxэIXAk|  vܛøa?>PK!w- ppt/presentation.xmln0',N4$$EJTiP9ؑmw&rgχ>rөڔJ4|Sm^F%2Y0$ >-~׳ZiEWagA`*fT m[+fqwA _ b__m%*L :̾%Zh]ܖV= ̪nD g4nEN0NlP ZB,omi:vA . z<@~iM37 H* .FUUɮYbju`1@M5}8FMҁ"L착%ٰ돜4rٵR~X>%iOVɭ0)\wЮo]Lg7JK)D3qB#lS5Y=׸}#àn t8^ã:4t|ڶP<N0]x@,ʚ@t(KQ4 wuᒾR{i:\W*'fp PK!W/ppt/slides/slide1.xmlĔ_o '; $nU4[%u4Nä3u[ pc+%3 GqTQC#,Pg-zRVMiKtJe%*%합9'Z 2f߼_㷊k.]pATnJ>~K4m0mD[ù_6K6*_IZC[0,leCi7 COKNZV>bʻWISuŽ8 g^fT;gK]"w9E<,~6Wف J 6$xY_hA5r:#̓ysܹ=!I{v/A7սuq<_y>ȓj0]|ܬfd:]d2|/QVݐ:N.0( ОQA, jew;%3M3q * K1g~?PK!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsϽ 0]&4uE$ۛт}\MxRbZV ț`5ܮgIÛr\h\xpEQ5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsϽ 0]&4uE$ۛт}\MxRbZV ț`5ܮgIÛr\h\xpEQ)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!=p!ppt/slideLayouts/slideLayout4.xmlWr8Acbd2m I@ڋ,i%%M`qxd;iCdpc9w%Z-TgC'x;:W:Hi L9#CgM_'bhB#`jNxKRc `le5|kꅾx5Ӯy狚0݀HBUY աCЄ$ `.鵀h-Av\BOB:f8cIB[-T\JR0Jki-틷{Ń\֦&j`kLYi77//^gcD8c8aάҔ`Uy^!!~fFiEny͠}:ӒWX#N?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms323:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujlNb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!=t%!ppt/slideLayouts/slideLayout1.xmlXn6wA$˲)Mu]ek~FҎa@_k{>9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9YV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DQW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!3Y "ppt/slideLayouts/slideLayout11.xml]6 ˈ7p/E9#+!Rk'kI:CIu޼X5#?Ñ* MQnt 4?<.HIXFʚѩ_ISfdW LTϥlҜVy]s٪p+L]cYY靿8ǿ^&u(-DВHi>ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!Ex"ppt/slideLayouts/slideLayout10.xml6wqo;a3g/L<, NgZI#`.aB>tn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5f*|޼3ؿ}q_wf8WW/__x@X \,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK !w< docProps/thumbnail.jpegJFIF``C     C   " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?jEZ*Ԫj͒֘3dOSQ)HQ D =jciHԹRMԔ\QJEiKL&cLjq5T%1:,1:{S*hcTMR5D, jԍQhZvE2QR-D3dOԕfljE5 j$)QTA-:i4f )() 1 )EN4ʒLj{ CԭM5,j&cPƦ5=6fbԋQ-J%2EF5fljE*"ԋQS"*өODQӪ$QӁH)iu+Sii KMj S֚jKTQ7zRiPh1&zFQC5CZZHU1iV*ԋQ-HH͒ zS֬Jid15>e8S$p4u4HQE@`6OTe=)2ƵF#TMPiN=iPTt C[D#TMPjVUQR(BV3`RBr1@ЫR*Ր؁iإ5d U!iiijʹiii{(RmN¹IIJJ;idFSb+la+P+j&Z͚"ZaDP "PS*E,u*B%jE<-hNXE#6ƪԘ*H؆*i=ccBӀ*xw" O R:v&AijQjMvѶ}|j,.bMgɤ}9ijɆRU+LemFشʌ-\h&E"-DV*6L£eMDYD*6e:TɕjEZUZV#&ƪTZV"OX"Z3ljOTTZFNDkJԋhOXeOjzU܈Dt/ڦX] Ӽ#؞bK՟,RuV'y5s4YS1aگϥ4J(4uCW?jjEڣhGPu :̕ Y4m1Q{}MSY a¤LrC PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ[OO¯K+Ek}$TpIiba(xʓ!tm]D>L,y-+*W͠nm_Vpl=Y"XFsFqgR\X.^ڰ0gǂi'rGF0N:p MD;| JMsv%p儤$Ipx>v*7_|PK!x-,docProps/app.xml (T]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PK!O5\docProps/core.xml (]k0%mʆ6  Qڤ$ڪ̛]&7ɦ `*G$Qk!:G,:+)xrm`at I7):Gc7P1yBpMŜ_5fkI 1 z0RAY DXWtYI*ڇrQ -R]q@4"] ,HorizontalRule ,HorizontalRule ,Para [Str "More",Space,Str "content"]] pandoc-2.9.2.1/test/pptx/remove_empty_slides.pptx000066400000000000000000001260511363630463000221050ustar00rootroot00000000000000PK^N#pxCppt/slides/slide1.xmlSN0ԥHEM*TR{D% GR Ћw;Y%E/VLbjW=^TWsS8Q*W7ޛMzp;- RtzG$mKn"\e'eּCCh.+vtKBkA4ZphcuROR#$/"Fӄ &7ȩw\4?!*-o&':Kj)ic+` <#ft8!yu COQ}PK^N-6ppt/slides/slide2.xmlSn0+kJjBh@I4R$AҲ]aHݙnn&=h(#Tݍ+kM(yE]X-t<Gt}ä{4+u\:ۺVZă raFsoAs AfE$޽'?O(PbxMnM?Z M^jߥ7#'KA8D"ƨXERh.ճy[ vSbZQ%/ AA4;߮lq'OV Xd;c498qt:FZ{uBN6%t[e7YLCEkqDaKtU]y~YVd7ZMJިlGkr0?y͹&ōMKs!~Zkzj;#G'r'o̦+ӧ毛 ?PK^N 4|Hppt/slides/slide3.xmlSn0+,ߋ)*"AB)\gC%ۤGiˁwݝ%E'8jFLdl.ۗ{(:DWڌvNgXVv4H_ّo!8MwDF~\2a^t u퀦/Aӿ(^2D d}5z&Wڠ`$cDJߗMRu!zy˱wOsW6zfnV?'2Z%Ut$Ax NR V/H*/1$[!oF=@D>=V|^iƭ۸t5XPI#KO>aRz?zp] D6M,F$GN>PK^N}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^NԈ ppt/slides/_rels/slide2.xml.rels 1{"lorwFJB^~Hrggg>vHnCM+ Wiv8\,i0!r!b,HtehE.c,yYSU ?3dwr|%j/,F^<5X5f~SCK'-(ʈ^s/6{PK^N}& ppt/slides/_rels/slide3.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^Ni\??ppt/media/image1.jpgweX^.tKww# XbE钐\iNYJ@S_o}<̙w杧5:L ;'4@ a@`0cSSQQSPг3вQP01rprpS3 s sqs KKECAmO]l-A$`<_00…rL aaba@$X`a2{8Hrn] Q+Il6ߧzSb{? $eVxZ$Tni?B$! ak!$Y[ bjΘ*K6kfjOAWd|(_#˲Mj5EV꿮-\\#ψh*lqm(>759)BC޼)uINNn l7 (Zgi &4VrM򬵷ME>̔XF|/4d;ͬWN>b{k. MO{ |\z[ PzcYp8paOYv_m@h9灻 DMVq~G0 JR}$PK vRcm7 J|x:q;FSm#VptLu< }$\V.䍣 Q..LG"cȘnΡ἖\l[mA<Nja9*-ma^y7h?\ k4B{=̪)k]1 fBn SZ-)2'd͵bѥPkO3Ăy.#ߍb[ڽuve~[lHX?Jc$}W++ ׏ @V |5I_1(d|_fiŕu2/qw9!XeT+~Oܖ5\̟i"* v PXGd^j80"btky38pnrCoI7[ۺqD<gZ ,Oӭ:gߑchT 'U8g]LV8Wg8QL@%bz% ˬ0g$X\ fyIK1P玭{Cs(zENמ8AI GGhl<NVQ]ǟHZK;%:1㬗Qd9خbQ~j{mF*S}Б7bRTlUq:(0Rg[}Db% V7>2 _}8k?] ڬŅv`G 7DyܴP~ZSsB~]tԵ D rzK۷H\Fu? {3t*^"UJ_ .Vjx<S';!"ns $av"H=g'kXFVmBna;w`E0U!Ca\yc_Em.ΪRWYLU﫟ސ@$q}}QH)C,tH-u*n g:KD}OO?H]zSySzGIm7Wp¢dK'م'YxȖA}+Z ` J`'.ykPPCtrbޘ|23o֓p֒cV0rӾΕWd'q~7D}nC./hr3JpU7$mwCDMLfSBCxjR;Hw , p18qp㋬ᐲ+})ZD|y^d$C*2P~J{]%0gXcZ?-<)daI 邹hGRPm{/]AR$k 3jM4- _Ԏ/^9939xs~ק*Rgtco:NǐPGO`-nc. ;80sm>MVc>b T7M$x#|[R7)vS=E>caJEѤTk0{-•/5ZaS*W Ek}.3X9! U([1GcVPly(D!3KO@؅7èYnY=5:!`40ښA[' ݌$0mߙ<1.ʘW_!(I:#^"9PSr.@R~!/zsMIΙ(E e"< ?hGgp7vͲd{ʲ| vVzxh,xB+ @rnZ?Nݒ9|Ny~l.ď'@otQ{J&˲k{rE_a cNG(!4ۚ.jJPY3ӕqz_@Aww.CbCETnVYۇڑ4%Sw3}G"RVԷ(tgm8~myCXţxeް)%RSka?6f3㐺xXK\Tf-7먷yu{wjV~翇À e;ij b>o\U})wȫ:`_lD"ho٢%9FUXoMxTVa+p N#4OPG@ =̖pj8m79p€A)(JxҹύF9/+QlE}gaGO#ԘzWFZr}%".2]}.2?&IIyOI.;y~"%C{~N2W6t{4|2{J9 IZ crP=J޶2u) g-V'j!N5;tu.jePiKY5ZGէCNj!cQ4tvSfg;5oZ36J(xa秫.E|YKԉhtxe`@>=x=h+?&Q.V`<"!*RXYlҮS{`FC~8'kn_Ub)q4(F^ \h9֮=<.25xP~t-.;弐您֡`J-gu1J77[ y%Zs{^=ҫ_n\x>`$.kM ӾOˠ覐HP-:ͬur8\Hn}̎LڹbL&'V\Poㅡd .D:/aɜPsm[82W\tjɚk6nv%ոJcԖyQo~Lni#|?tWV1joc `"pO$1)c-r/7m<_+/y.ȱ% uX̓'l߅/, s6=7M_˟Vټ?`|خZ=?[oiޔW}]qě_Rn:yƦDW]iYYðvۅ~ dݡW4|/=<3OU+s8LrU8g}Y&72pıOƣs=[2X`OIض ^z!0?'̿YJէxߑH'-"'ӁWrt#!ks@?HQ]v5 =xf6XWzp2Zw;-sBܹ{rtahQWZ*(;?;UdhA#{G`o|Tk(43Xȅ\o "+,.o% b림Bh"g7+.ѯ5539~1sEOVXW?y $Qx7$ 8 7ò2ՒJhV_驌+_lt2 bR㱎c <BuU7-3ˤ!!}cI|n1Vk#eZ{)*@ AHb~Hv4Kɂ/ֱ]- ~ղ[]+Jyfh9>m8-9Bw]-k|Ô<@I͵ qڡs} Wx5 /__iWiz"\{>'_Ƚ("3ۥ0}Vp?3Xz=ޜ,ۤfbTBRSapKztB`Aax+H[|sS2XUʑ5"t'K^s,ZQ{#o4[1n: tآﴓY?2{Bhe(ůU28vSu/N)D\FQ=%i晃*U5 xhnb.8xCMy~4aX).@tu+.bJvlD́Ai~L_z^fwfA^,<Ҿ#|!_|Y]jtf?剽F0G5ˁp3ЇL/ie8VA&9p՝؇5Nk6![.&n,)fWnDwetT.y{E\2x|6]#f.CK[m ^EBv} q| ܿM}DN㙴Y~M6xZ/?ܫBvRɵk¢r? '}t@9y(?tVOX Bn 9r2}ǰKB|ғ ogBh.fl7</ fOHh(;?9)**2TJc@,oBn g88B;C_8Ov >.ܞ)lN; b2ŒKR>m6ԥOvՅ9 wT53#9)4u%Q]~5<]w7zs{N@ٓa_ -ͺqP9ʠz\*R&Tw)70SsGn%Fv?iVD(T1 N.lWEx?{{D@ʩ@lM#yrTT5jjdG +q,a<ǐ46X?O58۸صQav)P(o-eb,:| Z։ TkowOQ+Á$!3 X)O->Wo:c><F&:I_O":Kj,BgxP3_:<& o}c?aD7klz?+?49m.fR;MbR$9dOpz5$p4Zo]vU46>[=>{]keNbyON)F5DDMP?h\vo*cpBvHjxK7[ߺEۆ/*SQ-$q9wXpE5)RGt$_}W `zQMh-q/v&)1s1ZWhNW78n6ս5|ը"Zoo> eŗY:E3SIl~#Ű㧻'@ɮRWc;H:7!ه.ha?׺,1=0!13R^#].1j>u_.|Ȕ9rٿs6ďe /N-<V:qFucgBay8?H>01[b -#L1zBrc*B`!0h;Q_ Z4rAzOcL;t.|9%VNw&# ןQoɔ<=T]u.pӐ :nNh`*$IfY:76q)h7&3ʘt"s_?y_̣klbڴ Ozm?E_῜1^xT b)!<_jьݧb >TL,Pj!@ С8mRG(ȻHZ>bXg5JJ^ O̎7 { D\gg,LZB. iܩX`ѶR/wLk0Mm'-|qt B7a䗪l.3>_[ ]I?bK9pS9=-FKVJU!ȯ?t1CYΚVRe3>ets}E7|dt x.θq}-£HLHle0BSe}ľby GРtP uN2*B[Ŀ6^r+5uw;U%UiSR&Y}a]2+&J}CP8aj[Gt(2{xrbj2ǩnUa9¹Θؠ0H6|iAzr05 3tF1ܛ.|8 ͯ'])BTt  1.g@V7I}B (wG|^|&vw+K׮0.1*w%>c+x}xEh1})5LzRxjj=Gd!`h.iH5ȉkJhnMժ3?w9zG̚Y5eMƈYDA,<ףFLշ1*1lƣan0qWv(?fs3~wB Q{ΐTGN7VK;ЌDo'<Ϙuw'㥪Zf\@MB߬iҕHVG}(MJJ3G02yfYa3~G؄=cNҢ~#)B1IyJ/~#]qb 9ۑo5)Cm7tCr 1N%! ϒE9|Q?k~hcgS@Ŵx pБ`ԽVq[V+dS~N%R?$g% KcBe㼉b.~ۅI]Y./ĈsFZG}~Wڟz8%k(S;>r"Vud:h+tJ zŧ$ >xs;wYǤxߡQI ?r~R S+䅼j%9d==.AxWVؠz=^$dOV`j<:*+ /9|t"NJVuz!Pq5;o n6ߎc{kb՟j ;F秳ɡ(4s 9zSu ՟檫4"TJgRjƋHm 6/ƣi+VmU}Eۏ/nE*N]eDӜ~2:=u?h~5n-nmE:HthX>g~ńÒt*Fbdk !ྔwAbYd<"ۑ#MK!v)Uh_OйwvMJ9[yġ=T >l['zdmrCZ`IB=w٧D19>:CG؈7u3W-l1!"oYXʽ|GꍖD)@Դ~K]Ik86ff#&Kڃ*1(,Ig1Y}"hp"ń۪%.*u!*m߃JsՏ:ԅv5}m8R^?>3wSL-I]D9/a៑Yu-˶u?Ʋk۝[VCUz$ L5;1wd+7Gg.:D /LoGʹPɄB $gɛ*:qq C3YZhԷ_+~`V'G^1b< |`-!1.^3yYs˸ g<&-Y䌹ҟ _1e{@?~j13XZY{kc`91+dgܤE\6/x{U/ %Y:}Y/״rܽ&IlLhD5\K2($zp#kJ :bIDr~i_nsig/fK$&a:A c̬?ʏ+{~.E#U2/]evLJXKvaSC9''ѩve\Ve%)@D`,m黨,"q!t,LNG(v B ;5WHcb't}DSHc "Y{P$i;H *[tOR{{"nOdtЌCǵb <;W $ɝT$pMnQ~ͪ@BJV D xf+/ݞ iw&-82\qtl=^PTR,^W}ϝ\D}^WjB0Oƅ` U7ޚlY4X /z̻~mSs( 6ـG؉.6ۇFc=!hm ë</%j%d?)tJ _}ƕ;};P2i)Y6`Vˆ͋p$iMX B2=erX@q mJ%KF8;p&;ձ'\_lv~`86=X F4J>+վ~qKi0 VPZJxGS_ ;+ ;& OTvu?Y uU%eD2V"2C6xr> $[>"[պtZ UrvZyl' %t54676oНwdvnuxְٮ$eBo^9y 9G2 'um_[tzNR6$R8u'kN;d8aCf;pQ(lNE澅X-sU^n@~Zt4I`[NWVu%O _qQsEVL}gGo"Fc[r#<f{="ݠc}+MKS86{M~Ybu*|e:gD(gXj:ݨYy"DpJZډ$,< z7A8W`}gnn}'gl|w&ea29d *-`;8lÁlFS~2  сEEpLVEb^ՉFGʞ?PG{Y֚7إ3 fh"9v/E6Dx=v|ON?jaA1vy)vql @XxaI|c{ OSf]ZiY /`Å O^₼,T#Z;byG^#1{/#&ȕm6~$Z8kN6h[X/djԵxhh.!)tdƱjבg %\lcg{& wV >m+-zhgt\ ;z8Gܠb<3'TS r\AA(AjͮL)3lƨ(L9V^|1!sW ֨!u yQԢn~(N(Kc9"xgzA4y"ρ b![Bw~Mu:{3YGrx-˨<-8Cw:9_~gĩm" 47­R}Mi:~ـBxǺ;_KFٗ>1u b*z("z5Bй0]: bq!1vx/n9} 9 >6"sxգm pcu$p @:j"[^*c$~¨kQ9[AE7&U<0X&rەB迭Ģ(M1C 8~kعիrٚ$]Z$ܓ[CfX ĝvtI~SFsI~g%CIW{yPF rJm6˚;^R\/v@*⬃Ƹ(Bl fzkfͣsUk48-5f,-Ԣd}nJDCJ^jD GzqA6fk}φX|p$o\@^YYB)fL r}7Ht?whuƤk!1ذ{8KI/< sz(|h;L{^8oLKOlIȵ t Uc{Ϙ& k.EOWYV uQ*}P e*O{H ;:^Bɶq. ߼,|F Kz.FQYޖ-{-G=f Z&C$ BHNR"r[KDBT>Eǚޯ\Y^/'`85O)o^ESҦ9qM\ľg~ӷeB0dGAF쉚'#ζSʹ ڇ @\ AAPD`ZRr m:ۊ͘v'zqN\#hDz3Mv fu\ _Z7kI^=B6@ƽvBTtȄߞaף`/4igS:p wPVe/VwK5wwr97CtM# ݹR>{s(8eRwne t)`0Vl)+7,`R)IEh2!y;TM;m,W<Oa[-ʕǤvQ]Ű(xs,-~|gĵ_(E1(&zİ@ȎkK0Bt@(}),m3xM-*RTl!YMd/b3G=R _ut(Tv-㝋IA^_#ޫ'~QɉLX g5 }ViUdp}#&ﶘ_)bc9k[! M8.'x _34^{a1<$Fj{b&GW@6;CS 3bG iv8@fjG},]!AxP&o[H]7"kH<4Љch޺I  }hU[ʎF2I!z5'DzF~̀Qz! ҁp8|}0tޅ0"ZkRo4`\oᴽZReXFє\V7"[/o2wyS~./Hb+ Zn撠 c/3̮]E L* Ed0Cԝ$ >c=$.PuZR(&m$$L<ڼFf3>2Q9.O( OF.@&+SkU ex !NQ8XZ뇛J@N] !OPK^N6^ [Content_Types].xml͗n0}(׊hKirr&> 4^d oIBCPBT_ٞ'r xsІI[A@2b"Fza0}b%ĄRԜZ(~HP 6lz0z bqiOJXH-.llMԐ̹6+33aʜWxioSqۧYr ߴT MPF9Pc1%&PeV\)KLOt)g֔i,'AIPM'ܫP.B]u"TEk.B;35=DyPkL ϑ,fS]~&n $]QPj8לuəy.s*UO攉4sߵ~g48tB=@ PK^N:wHdocProps/core.xmlN0sE(`D,&qʰ^ȝ5B @$'(I#e/B0jCqWgqpm~d>:"gbUF}߷/GnVo)HoSSrI t_[ԵB2T.U"m&ZswК.) Lty;­#Tm|fv;%i\ + + $1ix=Ȩ0{FQ3r؍FH- %^ZHa)!y^9#RCRCJzHxpwt) M ${h5S FV͋-'II>}gZP_EHۄ_mHY ʦ+y Ҹ޹ 9+d_QbBӸ"b*@sGz,e{o}N:ת/W@ tmPK^N gDhppt/_rels/presentation.xml.relsN0 'v쁫'm]b;nag_8)j̶)>j7eٕ((ݕ(fQyJgARܧ0 E)yb΃=Idu˳w aԟ%yHJjG;{ O_;2U?PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N#pxCppt/slides/slide1.xmlPK^N-6ppt/slides/slide2.xmlPK^N 4|Hppt/slides/slide3.xmlPK^N}& Zppt/slides/_rels/slide1.xml.relsPK^NԈ Dppt/slides/_rels/slide2.xml.relsPK^N}& Eppt/slides/_rels/slide3.xml.relsPK^Ni\??/ppt/media/image1.jpgPK^N6^ G[Content_Types].xmlPK^N:wHIdocProps/core.xmlPK^N煟JdocProps/custom.xmlPK^No K_rels/.relsPK^N|߅Lppt/presentation.xmlPK^N gDhOppt/_rels/presentation.xml.relsPK^Nnk˖  Qppt/viewProps.xmlPK^NRppt/tableStyles.xmlPK^N }.Sppt/presProps.xmlPK^N mu!TUppt/theme/theme1.xmlPK^Ni_!,[ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!]ppt/slideMasters/slideMaster1.xmlPK^Nђ7-$dppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-%eppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,&fppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,&gppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,&hppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,&ippt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,&jppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,&kppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,&lppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,&mppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,&nppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!&oppt/slideLayouts/slideLayout9.xmlPK^N讹!sppt/slideLayouts/slideLayout8.xmlPK^Nvi!xppt/slideLayouts/slideLayout7.xmlPK^N1W!{ppt/slideLayouts/slideLayout6.xmlPK^N9!7ppt/slideLayouts/slideLayout5.xmlPK^NX<j!Wppt/slideLayouts/slideLayout4.xmlPK^N&a[!ppt/slideLayouts/slideLayout3.xmlPK^N/\ i !<ppt/slideLayouts/slideLayout2.xmlPK^N+cK "ppt/slideLayouts/slideLayout11.xmlPK^N  "ppt/slideLayouts/slideLayout10.xmlPK^N³](!ppt/slideLayouts/slideLayout1.xmlPK^NJ6_'kdocProps/app.xmlPK** fpandoc-2.9.2.1/test/pptx/remove_empty_slides_templated.pptx000066400000000000000000014433371363630463000241560ustar00rootroot00000000000000PKtN#pxCppt/slides/slide1.xmlSN0ԥHEM*TR{D% GR Ћw;Y%E/VLbjW=^TWsS8Q*W7ޛMzp;- RtzG$mKn"\e'eּCCh.+vtKBkA4ZphcuROR#$/"Fӄ &7ȩw\4?!*-o&':Kj)ic+` <#ft8!yu COQ}PKtN%g?ppt/slides/slide2.xmlSn0+kJcB h@M4R$AҲ]ak;ݡդ5%%`%m>ܺ"hIք@:0oyDLzGVeY˕cO*%L@f*]m߬D6|-pU^e٠o~&+eGg7C|ےdڸ\?waZsIqcӒmȾ<FNJK]=WfWMo7??PKtN 4|Hppt/slides/slide3.xmlSn0+,ߋ)*"AB)\gC%ۤGiˁwݝ%E'8jFLdl.ۗ{(:DWڌvNgXVv4H_ّo!8MwDF~\2a^t u퀦/Aӿ(^2D d}5z&Wڠ`$cDJߗMRu!zy˱wOsW6zfnV?'2Z%Ut$Ax NR V/H*/1$[!oF=@D>=V|^iƭ۸t5XPI#KO>aRz?zp] D6M,F$GN>PKtN}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtN9 ppt/slides/_rels/slide2.xml.rels 1{"lor^!"lD|増(rggg>v}؁1&^9|f9 rބDʍKÚ${"QЕMQ UhduU-ỲfIC<v K:#q͢_*X£-X5f~SMK'-(ʈ^K/6{PKtN}& ppt/slides/_rels/slide3.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtNi\??ppt/media/image2.jpgweX^.tKww# XbE钐\iNYJ@S_o}<̙w杧5:L ;'4@ a@`0cSSQQSPг3вQP01rprpS3 s sqs KKECAmO]l-A$`<_00…rL aaba@$X`a2{8Hrn] Q+Il6ߧzSb{? $eVxZ$Tni?B$! ak!$Y[ bjΘ*K6kfjOAWd|(_#˲Mj5EV꿮-\\#ψh*lqm(>759)BC޼)uINNn l7 (Zgi &4VrM򬵷ME>̔XF|/4d;ͬWN>b{k. MO{ |\z[ PzcYp8paOYv_m@h9灻 DMVq~G0 JR}$PK vRcm7 J|x:q;FSm#VptLu< }$\V.䍣 Q..LG"cȘnΡ἖\l[mA<Nja9*-ma^y7h?\ k4B{=̪)k]1 fBn SZ-)2'd͵bѥPkO3Ăy.#ߍb[ڽuve~[lHX?Jc$}W++ ׏ @V |5I_1(d|_fiŕu2/qw9!XeT+~Oܖ5\̟i"* v PXGd^j80"btky38pnrCoI7[ۺqD<gZ ,Oӭ:gߑchT 'U8g]LV8Wg8QL@%bz% ˬ0g$X\ fyIK1P玭{Cs(zENמ8AI GGhl<NVQ]ǟHZK;%:1㬗Qd9خbQ~j{mF*S}Б7bRTlUq:(0Rg[}Db% V7>2 _}8k?] ڬŅv`G 7DyܴP~ZSsB~]tԵ D rzK۷H\Fu? {3t*^"UJ_ .Vjx<S';!"ns $av"H=g'kXFVmBna;w`E0U!Ca\yc_Em.ΪRWYLU﫟ސ@$q}}QH)C,tH-u*n g:KD}OO?H]zSySzGIm7Wp¢dK'م'YxȖA}+Z ` J`'.ykPPCtrbޘ|23o֓p֒cV0rӾΕWd'q~7D}nC./hr3JpU7$mwCDMLfSBCxjR;Hw , p18qp㋬ᐲ+})ZD|y^d$C*2P~J{]%0gXcZ?-<)daI 邹hGRPm{/]AR$k 3jM4- _Ԏ/^9939xs~ק*Rgtco:NǐPGO`-nc. ;80sm>MVc>b T7M$x#|[R7)vS=E>caJEѤTk0{-•/5ZaS*W Ek}.3X9! U([1GcVPly(D!3KO@؅7èYnY=5:!`40ښA[' ݌$0mߙ<1.ʘW_!(I:#^"9PSr.@R~!/zsMIΙ(E e"< ?hGgp7vͲd{ʲ| vVzxh,xB+ @rnZ?Nݒ9|Ny~l.ď'@otQ{J&˲k{rE_a cNG(!4ۚ.jJPY3ӕqz_@Aww.CbCETnVYۇڑ4%Sw3}G"RVԷ(tgm8~myCXţxeް)%RSka?6f3㐺xXK\Tf-7먷yu{wjV~翇À e;ij b>o\U})wȫ:`_lD"ho٢%9FUXoMxTVa+p N#4OPG@ =̖pj8m79p€A)(JxҹύF9/+QlE}gaGO#ԘzWFZr}%".2]}.2?&IIyOI.;y~"%C{~N2W6t{4|2{J9 IZ crP=J޶2u) g-V'j!N5;tu.jePiKY5ZGէCNj!cQ4tvSfg;5oZ36J(xa秫.E|YKԉhtxe`@>=x=h+?&Q.V`<"!*RXYlҮS{`FC~8'kn_Ub)q4(F^ \h9֮=<.25xP~t-.;弐您֡`J-gu1J77[ y%Zs{^=ҫ_n\x>`$.kM ӾOˠ覐HP-:ͬur8\Hn}̎LڹbL&'V\Poㅡd .D:/aɜPsm[82W\tjɚk6nv%ոJcԖyQo~Lni#|?tWV1joc `"pO$1)c-r/7m<_+/y.ȱ% uX̓'l߅/, s6=7M_˟Vټ?`|خZ=?[oiޔW}]qě_Rn:yƦDW]iYYðvۅ~ dݡW4|/=<3OU+s8LrU8g}Y&72pıOƣs=[2X`OIض ^z!0?'̿YJէxߑH'-"'ӁWrt#!ks@?HQ]v5 =xf6XWzp2Zw;-sBܹ{rtahQWZ*(;?;UdhA#{G`o|Tk(43Xȅ\o "+,.o% b림Bh"g7+.ѯ5539~1sEOVXW?y $Qx7$ 8 7ò2ՒJhV_驌+_lt2 bR㱎c <BuU7-3ˤ!!}cI|n1Vk#eZ{)*@ AHb~Hv4Kɂ/ֱ]- ~ղ[]+Jyfh9>m8-9Bw]-k|Ô<@I͵ qڡs} Wx5 /__iWiz"\{>'_Ƚ("3ۥ0}Vp?3Xz=ޜ,ۤfbTBRSapKztB`Aax+H[|sS2XUʑ5"t'K^s,ZQ{#o4[1n: tآﴓY?2{Bhe(ůU28vSu/N)D\FQ=%i晃*U5 xhnb.8xCMy~4aX).@tu+.bJvlD́Ai~L_z^fwfA^,<Ҿ#|!_|Y]jtf?剽F0G5ˁp3ЇL/ie8VA&9p՝؇5Nk6![.&n,)fWnDwetT.y{E\2x|6]#f.CK[m ^EBv} q| ܿM}DN㙴Y~M6xZ/?ܫBvRɵk¢r? '}t@9y(?tVOX Bn 9r2}ǰKB|ғ ogBh.fl7</ fOHh(;?9)**2TJc@,oBn g88B;C_8Ov >.ܞ)lN; b2ŒKR>m6ԥOvՅ9 wT53#9)4u%Q]~5<]w7zs{N@ٓa_ -ͺqP9ʠz\*R&Tw)70SsGn%Fv?iVD(T1 N.lWEx?{{D@ʩ@lM#yrTT5jjdG +q,a<ǐ46X?O58۸صQav)P(o-eb,:| Z։ TkowOQ+Á$!3 X)O->Wo:c><F&:I_O":Kj,BgxP3_:<& o}c?aD7klz?+?49m.fR;MbR$9dOpz5$p4Zo]vU46>[=>{]keNbyON)F5DDMP?h\vo*cpBvHjxK7[ߺEۆ/*SQ-$q9wXpE5)RGt$_}W `zQMh-q/v&)1s1ZWhNW78n6ս5|ը"Zoo> eŗY:E3SIl~#Ű㧻'@ɮRWc;H:7!ه.ha?׺,1=0!13R^#].1j>u_.|Ȕ9rٿs6ďe /N-<V:qFucgBay8?H>01[b -#L1zBrc*B`!0h;Q_ Z4rAzOcL;t.|9%VNw&# ןQoɔ<=T]u.pӐ :nNh`*$IfY:76q)h7&3ʘt"s_?y_̣klbڴ Ozm?E_῜1^xT b)!<_jьݧb >TL,Pj!@ С8mRG(ȻHZ>bXg5JJ^ O̎7 { D\gg,LZB. iܩX`ѶR/wLk0Mm'-|qt B7a䗪l.3>_[ ]I?bK9pS9=-FKVJU!ȯ?t1CYΚVRe3>ets}E7|dt x.θq}-£HLHle0BSe}ľby GРtP uN2*B[Ŀ6^r+5uw;U%UiSR&Y}a]2+&J}CP8aj[Gt(2{xrbj2ǩnUa9¹Θؠ0H6|iAzr05 3tF1ܛ.|8 ͯ'])BTt  1.g@V7I}B (wG|^|&vw+K׮0.1*w%>c+x}xEh1})5LzRxjj=Gd!`h.iH5ȉkJhnMժ3?w9zG̚Y5eMƈYDA,<ףFLշ1*1lƣan0qWv(?fs3~wB Q{ΐTGN7VK;ЌDo'<Ϙuw'㥪Zf\@MB߬iҕHVG}(MJJ3G02yfYa3~G؄=cNҢ~#)B1IyJ/~#]qb 9ۑo5)Cm7tCr 1N%! ϒE9|Q?k~hcgS@Ŵx pБ`ԽVq[V+dS~N%R?$g% KcBe㼉b.~ۅI]Y./ĈsFZG}~Wڟz8%k(S;>r"Vud:h+tJ zŧ$ >xs;wYǤxߡQI ?r~R S+䅼j%9d==.AxWVؠz=^$dOV`j<:*+ /9|t"NJVuz!Pq5;o n6ߎc{kb՟j ;F秳ɡ(4s 9zSu ՟檫4"TJgRjƋHm 6/ƣi+VmU}Eۏ/nE*N]eDӜ~2:=u?h~5n-nmE:HthX>g~ńÒt*Fbdk !ྔwAbYd<"ۑ#MK!v)Uh_OйwvMJ9[yġ=T >l['zdmrCZ`IB=w٧D19>:CG؈7u3W-l1!"oYXʽ|GꍖD)@Դ~K]Ik86ff#&Kڃ*1(,Ig1Y}"hp"ń۪%.*u!*m߃JsՏ:ԅv5}m8R^?>3wSL-I]D9/a៑Yu-˶u?Ʋk۝[VCUz$ L5;1wd+7Gg.:D /LoGʹPɄB $gɛ*:qq C3YZhԷ_+~`V'G^1b< |`-!1.^3yYs˸ g<&-Y䌹ҟ _1e{@?~j13XZY{kc`91+dgܤE\6/x{U/ %Y:}Y/״rܽ&IlLhD5\K2($zp#kJ :bIDr~i_nsig/fK$&a:A c̬?ʏ+{~.E#U2/]evLJXKvaSC9''ѩve\Ve%)@D`,m黨,"q!t,LNG(v B ;5WHcb't}DSHc "Y{P$i;H *[tOR{{"nOdtЌCǵb <;W $ɝT$pMnQ~ͪ@BJV D xf+/ݞ iw&-82\qtl=^PTR,^W}ϝ\D}^WjB0Oƅ` U7ޚlY4X /z̻~mSs( 6ـG؉.6ۇFc=!hm ë</%j%d?)tJ _}ƕ;};P2i)Y6`Vˆ͋p$iMX B2=erX@q mJ%KF8;p&;ձ'\_lv~`86=X F4J>+վ~qKi0 VPZJxGS_ ;+ ;& OTvu?Y uU%eD2V"2C6xr> $[>"[պtZ UrvZyl' %t54676oНwdvnuxְٮ$eBo^9y 9G2 'um_[tzNR6$R8u'kN;d8aCf;pQ(lNE澅X-sU^n@~Zt4I`[NWVu%O _qQsEVL}gGo"Fc[r#<f{="ݠc}+MKS86{M~Ybu*|e:gD(gXj:ݨYy"DpJZډ$,< z7A8W`}gnn}'gl|w&ea29d *-`;8lÁlFS~2  сEEpLVEb^ՉFGʞ?PG{Y֚7إ3 fh"9v/E6Dx=v|ON?jaA1vy)vql @XxaI|c{ OSf]ZiY /`Å O^₼,T#Z;byG^#1{/#&ȕm6~$Z8kN6h[X/djԵxhh.!)tdƱjבg %\lcg{& wV >m+-zhgt\ ;z8Gܠb<3'TS r\AA(AjͮL)3lƨ(L9V^|1!sW ֨!u yQԢn~(N(Kc9"xgzA4y"ρ b![Bw~Mu:{3YGrx-˨<-8Cw:9_~gĩm" 47­R}Mi:~ـBxǺ;_KFٗ>1u b*z("z5Bй0]: bq!1vx/n9} 9 >6"sxգm pcu$p @:j"[^*c$~¨kQ9[AE7&U<0X&rەB迭Ģ(M1C 8~kعիrٚ$]Z$ܓ[CfX ĝvtI~SFsI~g%CIW{yPF rJm6˚;^R\/v@*⬃Ƹ(Bl fzkfͣsUk48-5f,-Ԣd}nJDCJ^jD GzqA6fk}φX|p$o\@^YYB)fL r}7Ht?whuƤk!1ذ{8KI/< sz(|h;L{^8oLKOlIȵ t Uc{Ϙ& k.EOWYV uQ*}P e*O{H ;:^Bɶq. ߼,|F Kz.FQYޖ-{-G=f Z&C$ BHNR"r[KDBT>Eǚޯ\Y^/'`85O)o^ESҦ9qM\ľg~ӷeB0dGAF쉚'#ζSʹ ڇ @\ AAPD`ZRr m:ۊ͘v'zqN\#hDz3Mv fu\ _Z7kI^=B6@ƽvBTtȄߞaף`/4igS:p wPVe/VwK5wwr97CtM# ݹR>{s(8eRwne t)`0Vl)+7,`R)IEh2!y;TM;m,W<Oa[-ʕǤvQ]Ű(xs,-~|gĵ_(E1(&zİ@ȎkK0Bt@(}),m3xM-*RTl!YMd/b3G=R _ut(Tv-㝋IA^_#ޫ'~QɉLX g5 }ViUdp}#&ﶘ_)bc9k[! M8.'x _34^{a1<$Fj{b&GW@6;CS 3bG iv8@fjG},]!AxP&o[H]7"kH<4Љch޺I  }hU[ʎF2I!z5'DzF~̀Qz! ҁp8|}0tޅ0"ZkRo4`\oᴽZReXFє\V7"[/o2wyS~./Hb+ Zn撠 c/3̮]E L* Ed0Cԝ$ >c=$.PuZR(&m$$L<ڼFf3>2Q9.O( OF.@&+SkU ex !NQ8XZ뇛J@N] !OPKtN/ J|[Content_Types].xml͘n0} ĵ ^Mj.LSv;@JQ& / 3|cИ3o0)"? " i:?+0 ck%!&& PD@z) l#:ͬwe\t.T2)VJG Y9^ggacL5!&*]xDA}yty,jH9DZ*C0`HKF,Ԙrt gI (m*R '\N³qœgAMT.R9 u"ԱPG.B\ ]rPu"Td T*tV9YS=Pcӿ>hgJP (s2Cg7gM2x Q^Q⻧ʽ8~BN|K&N}x6Ll1hE jNhYCB oPKtN#HdocProps/core.xmlN0E|E}<*D4] ";˞V쁴)Cbzym>(krV*]*}  [$֙[cC&5ǘ-u\hTrɑ0u#RH 4 z"xnVxtpzG!u]U5_ϗ~T M-C-4518Z?lI=;e$;O4xA&6}Q>ǧ4e^|׺jIn?74PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HO(~\}[֋Z #eY ~%3U-hJVI_HVJN )Yp_v?+~,5tdoq;* nF濙B_;AE0҈Βb#Z߮Y [='_>6[_2И6&0WmD`Ŏ݊؋%sgnWk$s$msmȓ j0L8ڈ=̡<[g(NCWR[X{Q?;#7݂tZ0l^2yڍtS".l6ntēĠ=]7,p讀HXB;EVNCꐐI't FFl`tБQ0KdAH:H) !M#R2@J=Hi4R:@$Gh|{Ht4 %q:>=y|;aYPKtN^.*pppt/_rels/presentation.xml.relsj }cn]5)^ =3'ַ̨#$H/ߏ߃o/ZQ\d9Fj)=ϖx]ݭ@2Z\'CaF9;!w3i*4̇Ҷ0Z e/{j≶5v[M#8l4A W'E <_-L1E@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN#pxCppt/slides/slide1.xmlPKtN%g?ppt/slides/slide2.xmlPKtN 4|Hppt/slides/slide3.xmlPKtN}& Zppt/slides/_rels/slide1.xml.relsPKtN9 Dppt/slides/_rels/slide2.xml.relsPKtN}& Eppt/slides/_rels/slide3.xml.relsPKtNi\??/ppt/media/image2.jpgPKtN/ J|G[Content_Types].xmlPKtN#HIdocProps/core.xmlPKtN煟 KdocProps/custom.xmlPKtNo K_rels/.relsPKtN) Lppt/presentation.xmlPKtN^.*p7Oppt/_rels/presentation.xml.relsPKtNro"|Pppt/viewProps.xmlPK-!(^ooRppt/media/image1.pngPK-!Mppt/tableStyles.xmlPK-! 0*ppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7- ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-"ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-)ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-0ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"7ppt/slideLayouts/slideLayout10.xmlPK-!3Y "9ppt/slideLayouts/slideLayout11.xmlPK-!im "Nppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"fppt/slideLayouts/slideLayout15.xmlPK-!ҦB!%ppt/slideLayouts/slideLayout9.xmlPK-!K%!4 ppt/slideLayouts/slideLayout8.xmlPK-! Lم!2ppt/slideLayouts/slideLayout7.xmlPK-!=t%!ppt/slideLayouts/slideLayout1.xmlPK-!)J. !Zppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p! ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!#ppt/slideLayouts/slideLayout5.xmlPK-!z&!U)ppt/slideLayouts/slideLayout6.xmlPK-!:D "S,ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "/ppt/slideLayouts/slideLayout17.xmlPK-!x-,}3docProps/app.xmlPK775pandoc-2.9.2.1/test/pptx/slide_breaks.native000066400000000000000000000007651363630463000207540ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Para [Str "Break",Space,Str "with",Space,Str "a",Space,Str "new",Space,Str "section-level",Space,Str "header"] ,Header 1 ("below-section-level",[],[]) [Str "Below",Space,Str "section-level"] ,Header 2 ("section-level",[],[]) [Str "Section-level"] ,Para [Str "Third",Space,Str "slide",Space,Str "(with",Space,Str "a",Space,Str "section-level",Space,Str "of",Space,Str "2)"] ,HorizontalRule ,Para [Str "This",Space,Str "is",Space,Str "another",Space,Str "slide."]] pandoc-2.9.2.1/test/pptx/slide_breaks.pptx000066400000000000000000000676461363630463000204740ustar00rootroot00000000000000PK^N1appt/slides/slide1.xmlSN0ťHEMX/T*|qu7n=c;)e9pgy3ɞZ|h06qrMogsW551 $hέG-k<#Vl6^1[C~~ٴi0xPẊ>]7.ФW-m2m,bӚy)0.by+WXHI Յy!PK^N#^ppt/slides/slide3.xmlTn!+XǕjq>7QjPAe<g&l}9󸾙#:/njnԇ]|$77׶J@վa-C 80i,XXGw±Lj1(^>ЁIMywμ:P@*"OK+=:&OAiivSݸu Etf+s_9D/C Y3unH{SKǼҔ)/YHsݼ\?I\auUA!\=5mlCyj)n{GB#'7R.'ɈcgK5ʇ]8F>dkjTYm0#< 3Tܰ!OU ەLRշ{_ltL`(֯Ri_ٸoe聁_Z O#ͿoPK^NQRppt/slides/slide4.xmlSN1}+,Pb-}A4R{[&l7߱ )i#h  &]O/KJ /ypޮnB$XR{rcI(<-|g=ְYwn͂mH3LJ4O ߙ"$SBfbcd)l#@;MXǚ~֑hP⸅R¦Tnh4a?wSTPOV0f"ZTsZ_ټ-.¯fVe ՙB ^&f1zΤ>ߔxţP,gLy)XDc%&&ROL,RL!g!$J2 v]s4T^_;T`%gյFKlum#TFzڠi^(.ޒ9m?+ U'I{"9hه6"=zLU?6~R,|"V‡u7h4Bh25Bh 5BhU~PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HQj/?/g0{&at` ټ[蔂z Jl[S ǘ$M\:7skެ"P#͹9RN%ױ ٫^&R>[yOAƞN%1.>1%lr]Im!hEkj`ȳPe'ͤ5v)~_K:!ҸW  W$H5cz<-Q a :2;0 gZHA)@J$!RC$rFH- Ł?>;Hq)!iB・HQ@?V3njeռHo2[y?q"?*$e8g~, {]XC5LAlbW0#띇^KBx;*&9+"?w_=;^dj_1=Nh?PK^N8 Vppt/_rels/presentation.xml.relsQO wK9^%{01:?זHN%Hݟ_VN˕8KR@ⲡm]uqzO-i)nӏزDiVc·!邘.FhWQlvU?ުy U~v ݕ+oLSfwÈ\MD)Q̂wQ̃1)KؓRbBȢOYb.gq~51{AeT_;SxAFcPK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N1appt/slides/slide1.xmlPK^N0Tppt/slides/slide2.xmlPK^N#^ppt/slides/slide3.xmlPK^NQRppt/slides/slide4.xmlPK^N}& Appt/slides/_rels/slide1.xml.relsPK^NΔ,& +ppt/slides/_rels/slide2.xml.relsPK^N}&  ppt/slides/_rels/slide3.xml.relsPK^N}& ppt/slides/_rels/slide4.xml.relsPK^NY`Ӧ [Content_Types].xmlPK^NHH docProps/core.xmlPK^N煟 docProps/custom.xmlPK^No _rels/.relsPK^N{^ppt/presentation.xmlPK^N8 Vppt/_rels/presentation.xml.relsPK^Nnk˖ ;ppt/viewProps.xmlPK^Nppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!ppt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!. ppt/slideMasters/slideMaster1.xmlPK^Nђ7-R'ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-S(ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,T)ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,T*ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,T+ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,T,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,T-ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,T.ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,T/ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,T0ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,T1ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!T2ppt/slideLayouts/slideLayout9.xmlPK^N讹!7ppt/slideLayouts/slideLayout8.xmlPK^Nvi!;ppt/slideLayouts/slideLayout7.xmlPK^N1W!?ppt/slideLayouts/slideLayout6.xmlPK^N9!eBppt/slideLayouts/slideLayout5.xmlPK^NX<j!Gppt/slideLayouts/slideLayout4.xmlPK^N&a[!Kppt/slideLayouts/slideLayout3.xmlPK^N/\ i !jPppt/slideLayouts/slideLayout2.xmlPK^N+cK "Tppt/slideLayouts/slideLayout11.xmlPK^N  "Xppt/slideLayouts/slideLayout10.xmlPK^N³](![ppt/slideLayouts/slideLayout1.xmlPK^NJ6_'k?`docProps/app.xmlPK++ bpandoc-2.9.2.1/test/pptx/slide_breaks_slide_level_1.pptx000066400000000000000000000661471363630463000232560ustar00rootroot00000000000000PK^N1appt/slides/slide1.xmlSN0ťHEMX/T*|qu7n=c;)e9pgy3ɞZ|h06qrMogsW551 $hέG-k<#Vl6^1[C~~ٴi0xP'%ͣ2R"ޮbtٕ]~ЬŊcf k a3kצ9ʃ"]i>v6oC9<.G'qCM2(ho A(*0Ci d!)K{B0byJ*b=yesSYhC) /FhX0La@e)2,^{)])P`i.dwvGCTK86F t0~Ha[+ hzT֍tVL w=z`PK^NQRppt/slides/slide3.xmlSN1}+,Pb-}A4R{[&l7߱ )i#h  &]O/KJ /ypޮnB$XR{rcI(<-|g=ְYwn͂mH3LJ4O ߙ"$SBfbcd)l#@;MXǚ~֑hP⸅R¦Tnh4a?wSTPOV0f"ZTsZ_ټ-.¯fVe ՙB ^&vxt6$hcܹ1!8BP͈'~cr w4fq8]t׹+RKLXH .blMT <,bI})GX΄*BS#'JHMPMcjd)xGu$J2 v]{4T^W;o%gճFKlum#Fzڠiv#AxBdN[|OJy#7J5|O(1ZyndHy)sתUON)4 _~=a !cBh U}PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HoSSrI t_[ԵB2T.U"m&ZswК.) Lty;­#Tm|fv;%i\ + + $1ix=Ȩ0{FQ3r؍FH- %^ZHa)!y^9#RCRCJzHxpwt) M ${h5S FV͋-'II>}gZP_EHۄ_mHY ʦ+y Ҹ޹ 9+d_QbBӸ"b*@sGz,e{o}N:ת/W@ tmPK^N gDhppt/_rels/presentation.xml.relsN0 'v쁫'm]b;nag_8)j̶)>j7eٕ((ݕ(fQyJgARܧ0 E)yb΃=Idu˳w aԟ%yHJjG;{ O_;2U?PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N1appt/slides/slide1.xmlPK^NYBppt/slides/slide2.xmlPK^NQRppt/slides/slide3.xmlPK^N}& ppt/slides/_rels/slide1.xml.relsPK^N}& zppt/slides/_rels/slide2.xml.relsPK^N}& dppt/slides/_rels/slide3.xml.relsPK^Nݢ N[Content_Types].xmlPK^NHH docProps/core.xmlPK^N煟m docProps/custom.xmlPK^No ( _rels/.relsPK^N|߅> ppt/presentation.xmlPK^N gDhHppt/_rels/presentation.xml.relsPK^Nnk˖ ppt/viewProps.xmlPK^NRppt/tableStyles.xmlPK^N }.(ppt/presProps.xmlPK^N mu!ppt/theme/theme1.xmlPK^Ni_!,'ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!ppt/slideMasters/slideMaster1.xmlPK^Nђ7-$ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-%ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,&ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,'ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,(ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,)ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,*ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,+ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,-ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,.ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!/ppt/slideLayouts/slideLayout9.xmlPK^N讹!Z4ppt/slideLayouts/slideLayout8.xmlPK^Nvi!H9ppt/slideLayouts/slideLayout7.xmlPK^N1W!i<ppt/slideLayouts/slideLayout6.xmlPK^N9!?ppt/slideLayouts/slideLayout5.xmlPK^NX<j!Dppt/slideLayouts/slideLayout4.xmlPK^N&a[!Ippt/slideLayouts/slideLayout3.xmlPK^N/\ i !Mppt/slideLayouts/slideLayout2.xmlPK^N+cK "dQppt/slideLayouts/slideLayout11.xmlPK^N  "aUppt/slideLayouts/slideLayout10.xmlPK^N³](!*Yppt/slideLayouts/slideLayout1.xmlPK^NJ6_'k]docProps/app.xmlPK))k _pandoc-2.9.2.1/test/pptx/slide_breaks_slide_level_1_templated.pptx000066400000000000000000014034451363630463000253120ustar00rootroot00000000000000PKtN1appt/slides/slide1.xmlSN0ťHEMX/T*|qu7n=c;)e9pgy3ɞZ|h06qrMogsW551 $hέG-k<#Vl6^1[C~~ٴi0xP'%ͣ2R"ޮbtٕ]~ЬŊcf k a3kצ9ʃ"]i>v6oC9<.G'qCTeP7qS>݃6QTa l;B"#{7R~a.aʇUz!TЖH-bcS^цax|lS>dY SRء:\,=ȢԁFql`?VxX2xXlT}ryx%ۭ 08i=f.zϡ[PKtNQRppt/slides/slide3.xmlSN1}+,Pb-}A4R{[&l7߱ )i#h  &]O/KJ /ypޮnB$XR{rcI(<-|g=ְYwn͂mH3LJ4O ߙ"$SBfbcd)l#@;MXǚ~֑hP⸅R¦Tnh4a?wSTPOV0f"ZTsZ_ټ-.¯fVe ՙB ^&+s"$/i>)xU㛮3`7PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HO(~\}[֋Z #eY ~%3U-hJVI_HVJN )Yp_v?+~,5tdoq;* nF濙B_;AE0҈Βb#Z߮Y [='_>6[_2И6&0WmD`Ŏ݊؋%sgnWk$s$msmȓ j0L8ڈ=̡<[g(NCWR[X{Q?;#7݂tZ0l^2yڍtS".l6ntēĠ=]7,p讀HXB;EVNCꐐI't FFl`tБQ0KdAH:H) !M#R2@J=Hi4R:@$Gh|{Ht4 %q:>=y|;aYPKtN^.*pppt/_rels/presentation.xml.relsj }cn]5)^ =3'ַ̨#$H/ߏ߃o/ZQ\d9Fj)=ϖx]ݭ@2Z\'CaF9;!w3i*4̇Ҷ0Z e/{j≶5v[M#8l4A W'E <_-L1E@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN1appt/slides/slide1.xmlPKtNkppt/slides/slide2.xmlPKtNQRppt/slides/slide3.xmlPKtN}& ppt/slides/_rels/slide1.xml.relsPKtN}& zppt/slides/_rels/slide2.xml.relsPKtN}& dppt/slides/_rels/slide3.xml.relsPKtNB-QN[Content_Types].xmlPKtN9|HE docProps/core.xmlPKtN煟 docProps/custom.xmlPKtNo N _rels/.relsPKtN) d ppt/presentation.xmlPKtN^.*pppt/_rels/presentation.xml.relsPKtNro"ppt/viewProps.xmlPK-!(^ooppt/media/image1.pngPK-!Ձppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"Tkppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-Qppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-Xppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,_ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,eppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,kppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,qppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,wppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,}ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "֮ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"9ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%!~ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!:ppt/slideLayouts/slideLayout3.xmlPK-!=p!ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!Jppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "Uppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK66`pandoc-2.9.2.1/test/pptx/slide_breaks_templated.pptx000066400000000000000000014051431363630463000225200ustar00rootroot00000000000000PKtN1appt/slides/slide1.xmlSN0ťHEMX/T*|qu7n=c;)e9pgy3ɞZ|h06qrMogsW551 $hέG-k<#Vl6^1[C~~ٴi0xP\Z^(%H+:ݮ]ggЧzf66cuP7֙E~Y16GK6L$6".Ր=xǰ]V;+ 0C:!> ϯwϡy"pR8~TmV@RM;s_GWH?@ƽM|u -3Y]UW_IjU-bz7벪b].(MExCLl>o!M7Hc'WmX&p45ׯP uCw^PBj Y8n/ ]PKtNe ppt/slides/slide3.xmlTn!+XǕhq>7QjAe<g&n}9󸹝#:/njnԇ&77J@վa-C 80i,XXGw±1(^>ЁIMywμ:P@*"OK+=:&OFiivSou Etf+s_9DC Y3unH{SKǼҔ)/YHKݼR?I\aj/BzWI{{gODQن"R6FNn*]OtCK5ʇ]8F>dkjTY]0#< 3Tܰ!OU ەLRշ{_dtL`(Ӣ翲qK'+)>LwgL?>ZG9_PKtNQRppt/slides/slide4.xmlSN1}+,Pb-}A4R{[&l7߱ )i#h  &]O/KJ /ypޮnB$XR{rcI(<-|g=ְYwn͂mH3LJ4O ߙ"$SBfbcd)l#@;MXǚ~֑hP⸅R¦Tnh4a?wSTPOV0f"ZTsZ_ټ-.¯fVe ՙB ^&+s"$/i>)xU㛮3`7PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)Hzg{l>=Y1A/9LpMRԚ7(֖Qlۑ#[v}l lm-'vԘo ~AcL+ifN9Ƴ%694%歅!? s"QPmu e2`~lNky^'bs|ck}i r[+3r0)T)TyH,40Obdԃ뀎c9F, R)rb1!b)q'R)qRRw{:HAƇ{̃pz;YPKtN#hVppt/_rels/presentation.xml.relsQk +$n0[lrȌnvكǏr%)Β#l(ox]ܭ@0Wl˵EgBlBl4HR+1GOtA#O(6*hoU׼*: ^7dGySĻaDnS&ȃ(fA(AEL mKؓR" U"qSL.I $YF%wm91cL#﫲ROAFc PKtNro"ppt/viewProps.xmlMo0 Qkh զi0l(D>@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN1appt/slides/slide1.xmlPKtNx߬ppt/slides/slide2.xmlPKtNe ppt/slides/slide3.xmlPKtNQRppt/slides/slide4.xmlPKtN}& Cppt/slides/_rels/slide1.xml.relsPKtNΔ,& -ppt/slides/_rels/slide2.xml.relsPKtN}&  ppt/slides/_rels/slide3.xml.relsPKtN}&  ppt/slides/_rels/slide4.xml.relsPKtNQ [Content_Types].xmlPKtN9|H docProps/core.xmlPKtN煟5docProps/custom.xmlPKtNo _rels/.relsPKtND. ppt/presentation.xmlPKtN#hVfppt/_rels/presentation.xml.relsPKtNro"ppt/viewProps.xmlPK-!(^ooOppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0_ppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,/ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7, ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,$ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,*ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,0ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,6ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,<ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-Bppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-Ippt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-Pppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-Wppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-^ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-eppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"lppt/slideLayouts/slideLayout10.xmlPK-!3Y "nppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!Zppt/slideLayouts/slideLayout9.xmlPK-!K%!ippt/slideLayouts/slideLayout8.xmlPK-! Lم!gppt/slideLayouts/slideLayout7.xmlPK-!=t%!+ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!Hppt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK88@ pandoc-2.9.2.1/test/pptx/slide_breaks_toc.pptx000066400000000000000000000715431363630463000213300ustar00rootroot00000000000000PK^N~9ppt/slides/slide1.xmlT]o }߯@$4MVJ>4"%p̂q 4k35½s67c Fx~9Hhfԛ\o׶#վ5B!uXa5nCO+>J~wNi[gv!8h4{uLRJ];!boήҥaFigs=䌼@ؔVcAk nHby-ǩj}9UO!(.3|jQTeP͟Hl"%YzCao,D0|p#0MA%=u)4! <Ь#ڐ:\KT -RW -e3 Qr>}LŤ:%NIEw*( 鍰6gǥJx~z[> $4B'E*Pb/ -$t~B7t(N6PK^N1appt/slides/slide2.xmlSN0ťHEMX/T*|qu7n=c;)e9pgy3ɞZ|h06qrMogsW551 $hέG-k<#Vl6^1[C~~ٴi0xPẊ>]7.ФW-m2m,bӚy)0.by+WXHI Յy!PK^N#^ppt/slides/slide4.xmlTn!+XǕjq>7QjPAe<g&l}9󸾙#:/njnԇ]|$77׶J@վa-C 80i,XXGw±Lj1(^>ЁIMywμ:P@*"OK+=:&OAiivSݸu Etf+s_9D/C Y3unH{SKǼҔ)/YHsݼ\?I\auUA!\=5mlCyj)n{GB#'7R.'ɈcgK5ʇ]8F>dkjTYm0#< 3Tܰ!OU ەLRշ{_ltL`(֯Ri_ٸoe聁_Z O#ͿoPK^NQRppt/slides/slide5.xmlSN1}+,Pb-}A4R{[&l7߱ )i#h  &]O/KJ /ypޮnB$XR{rcI(<-|g=ְYwn͂mH3LJ4O ߙ"$SBfbcd)l#@;MXǚ~֑hP⸅R¦Tnh4a?wSTPOV0f"ZTsZ_ټ-.¯fVe ՙB ^&Y!Z|'F{mvŘ-ScQMm\/BaVȓheI`5Q&)+R 7٦čux`S`! `@|dhDae?,uٿPK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^NΔ,& ppt/slides/_rels/slide3.xml.rels 0D~EػI "M{Id$$ؿ7L;/dxY5Kqf᫑>'A3}B3B3B3vB3DPK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HđPվ{m] 31$$3^*,\!.$׋ozV3q% `/D=mָ-e%rvv+9Nd@ϾO[R?0Lt|_ԼSf~8@Z:ݩ_ςd'{K<[ 0TJ&vZgתv+M{K6Pv .D託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N~9ppt/slides/slide1.xmlPK^N1appt/slides/slide2.xmlPK^N0Tppt/slides/slide3.xmlPK^N#^ppt/slides/slide4.xmlPK^NQRppt/slides/slide5.xmlPK^Nro$ \ ppt/slides/_rels/slide1.xml.relsPK^N}& \ ppt/slides/_rels/slide2.xml.relsPK^NΔ,& F ppt/slides/_rels/slide3.xml.relsPK^N}& 0 ppt/slides/_rels/slide4.xml.relsPK^N}&  ppt/slides/_rels/slide5.xml.relsPK^Nʰ۫[Content_Types].xmlPK^NHHdocProps/core.xmlPK^N煟-docProps/custom.xmlPK^No _rels/.relsPK^Nvppt/presentation.xmlPK^N5ppt/_rels/presentation.xml.relsPK^Nnk˖ gppt/viewProps.xmlPK^N,ppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!ppt/theme/theme1.xmlPK^Ni_!,"ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!Z#ppt/slideMasters/slideMaster1.xmlPK^Nђ7-~*ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-+ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,-ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,.ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,/ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,0ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,1ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,2ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,3ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,4ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!5ppt/slideLayouts/slideLayout9.xmlPK^N讹!4:ppt/slideLayouts/slideLayout8.xmlPK^Nvi!"?ppt/slideLayouts/slideLayout7.xmlPK^N1W!CBppt/slideLayouts/slideLayout6.xmlPK^N9!Eppt/slideLayouts/slideLayout5.xmlPK^NX<j!Jppt/slideLayouts/slideLayout4.xmlPK^N&a[!Nppt/slideLayouts/slideLayout3.xmlPK^N/\ i !Sppt/slideLayouts/slideLayout2.xmlPK^N+cK ">Wppt/slideLayouts/slideLayout11.xmlPK^N  ";[ppt/slideLayouts/slideLayout10.xmlPK^N³](!_ppt/slideLayouts/slideLayout1.xmlPK^NJ6_'kkcdocProps/app.xmlPK-- epandoc-2.9.2.1/test/pptx/slide_breaks_toc_templated.pptx000066400000000000000000014070411363630463000233640ustar00rootroot00000000000000PKtN99ppt/slides/slide1.xmlT]o }߯@$4UVJ>4"%㘅/q 4m3-½s67h k\ i'yV҇U4i=9$TQ[ؘ&ݣ|ab5}Xӡ{XR}jEww88!Fܡſ)?[9>bR z{/"WE}[ *( 鍰6gǥJx~-;.3<_H>py鷄g{B?PyQ )l~PKtN1appt/slides/slide2.xmlSN0ťHEMX/T*|qu7n=c;)e9pgy3ɞZ|h06qrMogsW551 $hέG-k<#Vl6^1[C~~ٴi0xP\Z^(%H+:ݮ]ggЧzf66cuP7֙E~Y16GK6L$6".Ր=xǰ]V;+ 0C:!> ϯwϡy"pR8~TmV@RM;s_GWH?@ƽM|u -3Y]UW_IjU-bz7벪b].(MExCLl>o!M7Hc'WmX&p45ׯP uCw^PBj Y8n/ ]PKtNe ppt/slides/slide4.xmlTn!+XǕhq>7QjAe<g&n}9󸹝#:/njnԇ&77J@վa-C 80i,XXGw±1(^>ЁIMywμ:P@*"OK+=:&OFiivSou Etf+s_9DC Y3unH{SKǼҔ)/YHKݼR?I\aj/BzWI{{gODQن"R6FNn*]OtCK5ʇ]8F>dkjTY]0#< 3Tܰ!OU ەLRշ{_dtL`(Ӣ翲qK'+)>LwgL?>ZG9_PKtNQRppt/slides/slide5.xmlSN1}+,Pb-}A4R{[&l7߱ )i#h  &]O/KJ /ypޮnB$XR{rcI(<-|g=ְYwn͂mH3LJ4O ߙ"$SBfbcd)l#@;MXǚ~֑hP⸅R¦Tnh4a?wSTPOV0f"ZTsZ_ټ-.¯fVe ՙB ^&Y!Z|'F{mvŘ-ScQMm\/BaVȓheI`5Q&)+R 7٦čux`S`! `@|dhDae?,uٿPKtN}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtNΔ,& ppt/slides/_rels/slide3.xml.rels 0D~EػI "M{Id$$ؿ7+s"$/i>)xU㛮3`7PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)H<=^~@OfVpfzanڔLuAYV-9pa'gΖ bV+٭^WpbGҐG6Tb?-@1x6#qEԼ0"~wsnkeuuT[kCL!yޙ_e\rn'.j=_ڲ@~ĄJ(t U7 UW L:<Ӄ`:FS2##4ŎQ8tCă#GH=AJ(i0B!RAn2 ;Hp4 I6>Y ,PKtN$cppt/_rels/presentation.xml.relsMn =b_c;?MlJYT(д}QRYv.fXo~:`,W,I1Yˆ o|mߑ9D-[MOje:|iYy` @?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN99ppt/slides/slide1.xmlPKtN1appt/slides/slide2.xmlPKtNx߬ppt/slides/slide3.xmlPKtNe ppt/slides/slide4.xmlPKtNQRppt/slides/slide5.xmlPKtNro$ ^ ppt/slides/_rels/slide1.xml.relsPKtN}& ^ ppt/slides/_rels/slide2.xml.relsPKtNΔ,& H ppt/slides/_rels/slide3.xml.relsPKtN}& 2 ppt/slides/_rels/slide4.xml.relsPKtN}&  ppt/slides/_rels/slide5.xml.relsPKtN W[Content_Types].xmlPKtN9|HdocProps/core.xmlPKtN煟UdocProps/custom.xmlPKtNo _rels/.relsPKtN-4( &ppt/presentation.xmlPKtN$cppt/_rels/presentation.xml.relsPKtNro"ppt/viewProps.xmlPK-!(^oo|ppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"TEppt/theme/theme1.xmlPK-!E ,\ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-+ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-2ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,9ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,?ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,Eppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,Kppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,Qppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,Wppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,]ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,cppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ippt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-oppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-vppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-}ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%!Xppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!uppt/slideLayouts/slideLayout4.xmlPK-!s@yT!$ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "/ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK:::pandoc-2.9.2.1/test/pptx/speaker_notes.native000066400000000000000000000020101363630463000211500ustar00rootroot00000000000000[Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "slide."] ,Div ("",["notes"],[]) [Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "note."] ,Para [Str "Here",Space,Str "is",Space,Emph [Str "some"],Space,Strong [Str "other"],Space,Str "formatting."]] ,HorizontalRule ,Para [Str "A",Space,Str "page",Space,Str "with",Space,Str "no",Space,Str "speaker",Space,Str "notes"] ,HorizontalRule ,Div ("",["notes"],[]) [Para [Str "The",Space,Str "first",Space,Str "note",Space,Str "div"]] ,Para [Str "A",Space,Str "page",Space,Str "with",Space,Str "two",Space,Str "notes."] ,Div ("",["notes"],[]) [Para [Str "The",Space,Str "second",Space,Str "note",Space,Str "div"]] ,HorizontalRule ,Para [Str "Strip",Space,Str "links",Space,Str "and",Space,Str "footnotes."] ,Div ("",["notes"],[]) [Para [Str "No",Space,Link ("",[],[]) [Str "link"] ("https://www.google.com",""),Space,Str "here."] ,Para [Str "No",Space,Str "note",Space,Str "here.",Note [Para [Str "You\8217ll",Space,Str "never",Space,Str "read",Space,Str "this"]]]]] pandoc-2.9.2.1/test/pptx/speaker_notes.pptx000066400000000000000000001051641363630463000206730ustar00rootroot00000000000000PK^N㕆Lppt/slides/slide1.xmlSN0ԥHE$xT*|_ݐ=~$^k(ZJFl643\m^O/9^+Z6[Y cmc!^ݖpG?#d1_Eü;fl6a;:ӷfQj2$=B+lڗCݬ;O%d8+ :UIh%)H-~}2#mlJRHѶqC?)2% =J+:%GNfŊ#fݳ01/LjGpGy)8Rke#+R<$? ? PK^NayވXppt/slides/slide2.xmlSN0ԥHE* `m/n=k;i ŻΌNI҂%)-LuI??^/o^V{/xIl5(GƂ8^ݚUCI6o⍦ϼYFlAH44#LAiRV1zb7gvRy.i*tW|m/[9##]I}:Y|._ɳu\?Q\fW&j#+pdr:HvfmPb2%K>d#b5nNzrBh}\1B { fӁ5ʤXq7KI+$ӄ =| a@,_5F1[MBv"';~3lXSPK^N|Rppt/slides/slide3.xmlSN0ԥHEM+T*>8&/n=k;8]{wggF|+I:p5)%Z-5]."ث}Kڄ` Ƽh@q?14jxu[V9G %l:byS׭{#v t $7#=:PZ2U޾:ٍ]T^ukG ݡDs% /u3 a;kbDy/)}H'"8zݢyK(.3rTugt@Zr82:JوOAɔ,%mpCԓ 예/:+/po6XLw)iucv+ac 7,n[ 64$ 'q 1ߑN﯅KPK^N0 VVppt/slides/slide4.xmlSMo W ]UVK 0^€d 303o{gg1=r6x݇%bdǜC'DR#86>RmLx:ʿᬸn/23(գ $xф` J;RV}(N71>ݴhr3zΙX*K_2 ḦJ$yl9}(0gګ:{V㯷~.gUWUEػIۃ"B?ml~HRѷ7^<z 7AY!46t.r Uq1YB\ }nX=juhҦ^F1'UtȊ,[1?̀rIꆃl۶JQ_*XTcLw9P:g ;ZO4c#ӫzFf(PK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^N׬ ppt/slides/_rels/slide3.xml.rels10wEs-0c,,ƄI4Fh HݻkWFsHi4-{u7+"D$hϡ Axj,iDk!ZdY[f@$eu ,mFI<9× {UELf 1VJʔX}GM@TfyiPK^NG'w ppt/slides/_rels/slide4.xml.rels 0>EػI[ADL{ɟ 6?$Qm;;;n }Ppi2i7_AU6DL+H1C[3dZji"w y"˖̏3d&rz8%۶/, xkLw9P:' ;ZO4c#zBǖśMP>PK^Nb8ppt/notesSlides/notesSlide1.xmlV_o0ߧ&VBVb$ MFWT~/WɥD"\,qK i g-LL8Vń$NMS*NSzIRM8HD8.)rɊDEj\ M4Sx4pܒKlԣXjPOS#A91FԔva-A" ,+ƛ~vЦ]H&l,JnRNǬ=!=߬S@w.MM ,=݊Q2ffH|FK6 rʐ*wa_]5j@eBФhTڧPy=ڹL؝#fйkإ13vf Jӱ5+.S}_Ha5ʫ.Iµ/mat͙L4lH7g|,yz͑@f_zK$8Od箘yvϐ+-[[ ~EviFsk\GQ Gx~]|=xw{R9[Kۣ}9{XAA .U/͂pC( f)h.qoNWi3UlYt1Afu4}J4m0AJs$hLOM󃑤1FTvq-WQ"DX"SSC>|oʑMX;.f٧c,;fOC\wTL}A2Ȕ`P[ðAIaFbԣr4ʨ\Vd ΐhX-{AMzm2v hR>}(SZ!gsw ׸K{º+]^'V̂R%7eDI:3ZW@Xwfi Rd_m)WPe,}am>8F[YRU|۲L/}OݨvN۸Iw5xygX,h O3\3>ۀSj'PK^NkxJ_ppt/notesSlides/notesSlide3.xmlUn!}W XVQUȵEavV:$/0039gr]1Kc1y>~. hd!:)LH֗ UQc*'?,JHB*ZrSE \dY7DVR&OA JZnɂn^8*sUgBej bibǬyY#,gC~f8iꐣ?+! PpvCfv?H+kwxg~wߧm1ʀ ס!ciMW]O'n럷zIu}Qg<Go0̨{Ѐ8h靹y:IxsݳAKBr PK^ND,z*ppt/notesSlides/_rels/notesSlide1.xml.rels 0>EػIۃ"/ml~Fѷ7<î#$Nָ^鸝/g* &;$ )hUcEPzUQ,Dd@=a]+! :qŢK_NMbIOe<Eq>!%:$&&PK^N;u?*ppt/notesSlides/_rels/notesSlide2.xml.rels 0D~EػI[ADL{/mlo@ PK^Nh*ppt/notesSlides/_rels/notesSlide3.xml.rels 0D~EػI[DDL{/mlo@ PK^Nk2mp[Content_Types].xml͘r0 =èᪧjdwL)0͍ ,?oI-X? 2TӁ>~\ãxzVځ?C7p ifL‘f4?ic;j=L񕚣-Njh$ :I:uEs.\u"ԕP-(iv)ˀ>G&S2^M{#\kW14Q.Ő +0h" U*"6/T[4P׷M9ڛexi)h'\RVȍa++!c+!c+!c 늣c8Ax&jfvcPK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HS+`Us17ŗLqk֫ʵP>A8{>1l>y(HO{Eb$RNHUu"-#[\SDr#)Y̱Z[y3z\sbU֤Tw|3Oj Ͼ~Ͼ(= 2eiWvdbn; Y' Q< \=xJ^ݮ>H#rՀ>9].ƒ0t&p;܈p6)T&h^" 9ZG TB}QȄkHC4jK(qx|S2?uXLB\sE0 S2{*sθt1ц1dLskt/ >gu$H9 SMQ؏ؑHQ]#\IWHqyco"ھ!:AU- Hq'拍V3oTv}eWWEʥYϛpU<$4F~Y~ u󾆿޴Ͼr!K3Y~0>s XY晘^<²Q*n\ W%%ӃL0V9BM hhf>+e-Rkhr-J۱0W}}`uD <+24P<܊7a\ĩ_F#m:EFBJ: ) SMǺQVo#vmy5xL]}"2 {'yWL) VvUT(.kn.y 2L`$諌({\4L>Hmg:p`_y3FTJ7b)֞(,vWzEGGtsVʅdt6f4VK5+OY:měoִw@o7 6֐Εek5?zp*eu9ڌ~znh{al{ÖfVkYoNify#q?狷0|MLaLɟjYF<ڼ\emKYUG =%n(8Ѧ'XY̠ JZ+=`fPK^NH!ppt/notesMasters/notesMaster1.xmlYn8}_`A>.\(K66%LQZv[/١D,j7h<gG#ZKEQ=sm 6oNl[BbcZ12_*Ik,$xaLʺ8"gUMM*^b ?9KuJ\0[̯&"#U( N(0}՜p 2F4WL"\ om1\A3͜vR#8;ӧF / B{Q:r'Ufkm6{m6|1 8t^An(ȬJV)E}]esa SX,ZԳY3?ms6 "/vu(8Jk.KR6'lBƤC(ݰ:?GۢWL 잇,-(|7G[#&]e@{JyI=Xt 6dT 1XҖn@a XMX:Gzfdgr ad1K[̓1z|мOnK$I;;G0ꄗ(q϶nY$- N.Zx,QʄV 3P F6!MT=>61!9Jp*Q#:nX)pXeg`goo*|0m1 )_-yԍX tpF!hE#` D7YD(w+ oYJh-YY$/`0j.WfwI%G$XnQ$tog{pZp9=:}1yq㴪NGO$lc8;|xUV7(,a t 1΄OD<)EzQq Q'Jjʷ4oLfC>o>>5?aH}lz`c3-?hw܇;DVm=7-YJ]?I dBn#>z诡i  'Xc@8Ak|V'p؏@ Pw ]AEmTWh5@ S^m S^~m?aPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N㕆Lppt/slides/slide1.xmlPK^NayވXppt/slides/slide2.xmlPK^N|Rnppt/slides/slide3.xmlPK^N0 VV&ppt/slides/slide4.xmlPK^NGaA ppt/slides/_rels/slide1.xml.relsPK^N}& ppt/slides/_rels/slide2.xml.relsPK^N׬ ppt/slides/_rels/slide3.xml.relsPK^NG'w ppt/slides/_rels/slide4.xml.relsPK^Nb8 ppt/notesSlides/notesSlide1.xmlPK^NQl ppt/notesSlides/notesSlide2.xmlPK^NkxJ_ppt/notesSlides/notesSlide3.xmlPK^ND,z*ppt/notesSlides/_rels/notesSlide1.xml.relsPK^N;u?*ppt/notesSlides/_rels/notesSlide2.xml.relsPK^Nh*ppt/notesSlides/_rels/notesSlide3.xml.relsPK^Nk2mp[Content_Types].xmlPK^NHHdocProps/core.xmlPK^N煟docProps/custom.xmlPK^No _rels/.relsPK^Nzppt/presentation.xmlPK^NA"ppt/_rels/presentation.xml.relsPK^Nnk˖ 0ppt/viewProps.xmlPK^N ppt/theme/theme2.xmlPK^NX$,'ppt/notesMasters/_rels/notesMaster1.xml.relsPK^NH!(ppt/notesMasters/notesMaster1.xmlPK^N-ppt/tableStyles.xmlPK^N }..ppt/presProps.xmlPK^N mu!v0ppt/theme/theme1.xmlPK^Ni_!,6ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!"8ppt/slideMasters/slideMaster1.xmlPK^Nђ7-F?ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-G@ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,HAppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,HBppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,HCppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,HDppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,HEppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,HFppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,HGppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,HHppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,HIppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!HJppt/slideLayouts/slideLayout9.xmlPK^N讹!Nppt/slideLayouts/slideLayout8.xmlPK^Nvi!Sppt/slideLayouts/slideLayout7.xmlPK^N1W! Wppt/slideLayouts/slideLayout6.xmlPK^N9!YZppt/slideLayouts/slideLayout5.xmlPK^NX<j!y_ppt/slideLayouts/slideLayout4.xmlPK^N&a[!cppt/slideLayouts/slideLayout3.xmlPK^N/\ i !^hppt/slideLayouts/slideLayout2.xmlPK^N+cK "lppt/slideLayouts/slideLayout11.xmlPK^N  "pppt/slideLayouts/slideLayout10.xmlPK^N³](!sppt/slideLayouts/slideLayout1.xmlPK^NJ6_'k3xdocProps/app.xmlPK44zpandoc-2.9.2.1/test/pptx/speaker_notes_after_metadata.native000066400000000000000000000005251363630463000242020ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaInlines [Str "Jesse",Space,Str "Rosenthal"]),("title",MetaInlines [Str "Testing"])]}) [Div ("",["notes"],[]) [Para [Str "Some",Space,Str "speaker",Space,Str "notes"]] ,Header 1 ("a-header",[],[]) [Str "A",Space,Str "header"] ,Para [Str "And",Space,Str "a",Space,Str "new",Space,Str "slide."]] pandoc-2.9.2.1/test/pptx/speaker_notes_after_metadata.pptx000066400000000000000000000757031363630463000237210ustar00rootroot00000000000000PK^N! -ppt/slides/slide1.xmlT]o }߯@Nb[VJ>%ؚ HI \= ơ*UY ӻo:׏%|X~`LU֢BHXqAm6KC У,Ir4p^ro9iO"iSPM&$UƝ~U(#kI+,],Aט@@k kv:cWVv6XCݤ6i\C5 CFt| @L,%lq֞(yD"Id*]K7G{|cfzWhԺp޵qk̳c?qFMx?D^\Sͻpң]Q+jΘmQM0kə JgEfeg΍=ɡb|/61}JW~]b?^Z;zkP~aPK^N&ppt/slides/slide2.xmlTn!}W cWUQ/I_Ԓ0r;$j/}apfA7Ѥ-)+Tvv7QKX.%0EǙ`uǰc2g0-pet?\rmJW' 4<ᜱS>V6 ~1y~rdo*c DIt 6U&xW fwG!1fIZtϡEwwjv8'|jQUmT@?8+PTay;R&7r}1:qreujxx(6Ylʛr-:K.!2!;ja?لJsHNJ'+ 'IJ"'de姴 PK^NL: ppt/slides/_rels/slide1.xml.rels 0>EػIAD"ɟ 6?$ط7lwvv-}Ppi2-AU "&K $ݘ C-M4k[|&˶O3eSmtKm%`ą zUYv)V#J̔T-mflpTȾb?oPK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^Nv98ppt/notesSlides/notesSlide1.xmlUn0SXOMBaT1TpC FW&>>w3m )F8`"i!~zG|=tBZ0y 3#[$NͅT m-5]uFRM,npZ\sz]$p+ aC Zש ellJqi裖[b?z^ۯZRWvQ:~0cDjKb$G\kO#U_PZmR'SI>;O"U؃ ۠Z"tihhd)h60ɋAB: m-Ms*21 ST9;j fר=ۀz EhP@ygUѳrB|9tȌ]pSؖUTWB!RxXe,z5iJrf[9tA R#R!%NΘh.6 = =C#so9w>vkV~Ń|6E2f&܏.qw:s밡QADO+p^HTӇo!iV$WPK^ND,z*ppt/notesSlides/_rels/notesSlide1.xml.rels 0>EػIۃ"/ml~Fѷ7<î#$Nָ^鸝/g* &;$ )hUcEPzUQ,Dd@=a]+! :qŢK_NMbIOe<Eq>!%:$&&PK^Nr[Content_Types].xml͗n0}(׊hKirr&AMؖ=PxNB Q}I2ω=t$f`P7 U$km; GcD}˘ 'p( zF$4cyzJ"Ha:095qqiϵEȑY˶:ϙ~ՖhyfcDh{ Jˆ7n'"-#`7xj4!4!R&I0(`wp٘BM4ڀ{6<ߡNR9.B]u"ԕP-]juP"EkB!U_dJCّyg?b"CK1BQ0N" ڇOBex3޷ۄZTѓe9]N43_lȵ~qɇ!TS:9湚l0AIJ_7PK^NXD/^docProps/core.xmlN0psQ؀HIzc*;.| xR7XCG;܍h)h}H &L Olņ^Cj.8һFmۢh秷>jL@F`5vWӄgd6$Ԡu;¾^V|fP>II:/g5!t69?+0aPK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HđPվMN3| g~{*q$\䬌}c!)rm2˼URJ,рRpRV3Xܰ`1^` [73_AcYYDMW2-pivwPPlnMmϳ,-FAGz#*#rBJ6)tM\:햑ܒ7JskެܠX%)'OsCzvNW20COSd?ocRrI 势_[Tlt\иLdGJpQ.ͳ$ToT;ʍ#ld5_鴚kQNԮxFƒ+K*Hcqz<-Q a :22;0 #gdZH^@(!RCr(FH- ;>;Ha)!)B・HTC2?V3X7W`X5c[LVNM&' 'M|{5)ؾ8H;?J 7)+Ǭ+c;a嬺WaMߑQ1j\S;@sGz-e;H>f'|iUM? pR[PK^NU?ppt/_rels/presentation.xml.relsN >nit/d&F@:m꾽d5]|XFv`Њ(1u+TOr$! 8jx#s6I|mO R73Oi)h7ouý#( h!2ۃU0")NR\Pڃ{d΃=D,#ݝEN'BLTIa,IJRT7tF8Hh˳7 /~/!O$&In-2oPK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/theme/theme2.xmlYOFKoe;i&%DZ4&;Ҙ(ɱP(MK/z(m ~)m I3GIl `kޛ߼H:41 [L]yDb']5ALrv?<)̠&szt0X$Ā#S I#DͰaod庖L:jI}wi|OY!0=eYS.Ɖ!<庆㢣G7v+%t%QY-#ԣx躞V6n W@Z[XVU ۃ`X5d[;kµ%Pu)|ء[{k jbmMwlW {_ )*7Zn:2\)HBј"m%H) b6G#~[^;Hڕ(b[",œ_Tw|3Oj Ͼ~Ͼ(= 2eiWvdbn; Y' Q< \=xJ^ݮ>H#rՀ>9].ƒ0t&p;܈p6)T&h^" 9ZG TB}QȄkHC4jK(qx|S2?uXLB\sE0 S2{*sθt1ц1dLskt/ >gu$H9 SMQ؏ؑHQ]#\IWHqyco"ھ!:AU- Hq'拍V3oTv}eWWEʥYϛpU<$4F~Y~ u󾆿޴Ͼr!K3Y~0>s XY晘^<²Q*n\ W%%ӃL0V9BM hhf>+e-Rkhr-J۱0W}}`uD <+24P<܊7a\ĩ_F#m:EFBJ: ) SMǺQVo#vmy5xL]}"2 {'yWL) VvUT(.kn.y 2L`$諌({\4L>Hmg:p`_y3FTJ7b)֞(,vWzEGGtsVʅdt6f4VK5+OY:měoִw@o7 6֐Εek5?zp*eu9ڌ~znh{al{ÖfVkYoNify#q?狷0|MLaLɟjYF<ڼ\emKYUG =%n(8Ѧ'XY̠ JZ+=`fPK^NH!ppt/notesMasters/notesMaster1.xmlYn8}_`A>.\(K66%LQZv[/١D,j7h<gG#ZKEQ=sm 6oNl[BbcZ12_*Ik,$xaLʺ8"gUMM*^b ?9KuJ\0[̯&"#U( N(0}՜p 2F4WL"\ om1\A3͜vR#8;ӧF / B{Q:r'Ufkm6{m6|1 8t^An(ȬJV)E}]esa SX,ZԳY3?ms6 "/vu(8Jk.KR6'lBƤC(ݰ:?GۢWL 잇,-(|7G[#&]e@{JyI=Xt 6dT 1XҖn@a XMX:Gzfdgr ad1K[̓1z|мOnK$I;;G0ꄗ(q϶nY$- N.Zx,QʄV 3P F6!MT=>61!9Jp*Q#:nX)pXeg`goo*|0m1 )_-yԍX tpF!hE#` D7YD(w+ oYJh-YY$/`0j.WfwI%G$XnQ$tog{pZp9=:}1yq㴪NGO$lc8;|xUV7(,a t 1΄OD<)EzQq Q'Jjʷ4oLfC>o>>5?aH}lz`c3-?hw܇;DVm=7-YJ]?I dBn#>z诡i  'Xc@8Ak|V'p؏@ Pw ]AEmTWh5@ S^m S^~m?aPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N! -ppt/slides/slide1.xmlPK^N&&ppt/slides/slide2.xmlPK^NL: ppt/slides/_rels/slide1.xml.relsPK^N}& ppt/slides/_rels/slide2.xml.relsPK^Nv98ppt/notesSlides/notesSlide1.xmlPK^ND,z*fppt/notesSlides/_rels/notesSlide1.xml.relsPK^Nrk [Content_Types].xmlPK^NXD/^Z docProps/core.xmlPK^N煟 docProps/custom.xmlPK^No s _rels/.relsPK^N[ppt/presentation.xmlPK^NU?ppt/_rels/presentation.xml.relsPK^Nnk˖ ppt/viewProps.xmlPK^Nppt/theme/theme2.xmlPK^NX$,ppt/notesMasters/_rels/notesMaster1.xml.relsPK^NH!ppt/notesMasters/notesMaster1.xmlPK^N!ppt/tableStyles.xmlPK^N }."ppt/presProps.xmlPK^N mu!1$ppt/theme/theme1.xmlPK^Ni_!,*ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!+ppt/slideMasters/slideMaster1.xmlPK^Nђ7-3ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-4ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,5ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,6ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,7ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,8ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,9ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,:ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,;ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,<ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,=ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!>ppt/slideLayouts/slideLayout9.xmlPK^N讹!Bppt/slideLayouts/slideLayout8.xmlPK^Nvi!Gppt/slideLayouts/slideLayout7.xmlPK^N1W!Jppt/slideLayouts/slideLayout6.xmlPK^N9!Nppt/slideLayouts/slideLayout5.xmlPK^NX<j!4Sppt/slideLayouts/slideLayout4.xmlPK^N&a[!yWppt/slideLayouts/slideLayout3.xmlPK^N/\ i !\ppt/slideLayouts/slideLayout2.xmlPK^N+cK "_ppt/slideLayouts/slideLayout11.xmlPK^N  "cppt/slideLayouts/slideLayout10.xmlPK^N³](!gppt/slideLayouts/slideLayout1.xmlPK^NJ6_'kkdocProps/app.xmlPK,,j Cnpandoc-2.9.2.1/test/pptx/speaker_notes_after_metadata_templated.pptx000066400000000000000000014131641363630463000257560ustar00rootroot00000000000000PK^N-^ppt/slides/slide1.xmlTێ }W ޻؎sJU/Rڮ&U }lvR03s3q{7t TV 7 Q|WnVr] 6!Ma}#$6n CYP[zuMn[B? (7DQS7M^&Whiir(u(ʇGN;ZAžC'rتYK >C:@)9:&ͷK٤t)KŎ\UY[(HŦ\XR~ SJl9H Fxi ./$˒by>˓lq2"$Y<͋sz D}pk@dڬ;c=s찺NknD\\Smw穐훊͠(ȟeDYVdFߌʴpT6E̊|2Mj8omFhOJ/:Ŀ 4]%;zkP~aPK^N`fppt/slides/slide2.xmlTn!}W cTUQz}RKv?؋M@6:Ù9FBTζr6pRmK_\ŇD- bmlxK|Xg΃Öhv5b+KnQ:dJ@sN8s|4L{#~嗡e J;Xn25b1l7&<2ޕ$ Gi<ݷSx65aG:Ὺ'Uk4˃ix:Ul"*=#i,e2w#Wqw- >qYVi/ tP} 9, Oh8}]&޴˵T'z\BxbeBv&_dgJ KtN#9GPr8¼/$Xx&Q+ dϓM_,+?PK^NL: ppt/slides/_rels/slide1.xml.rels 0>EػIAD"ɟ 6?$ط7lwvv-}Ppi2-AU "&K $ݘ C-M4k[|&˶O3eSmtKm%`ą zUYv)V#J̔T-mflpTȾb?oPK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^Nv98ppt/notesSlides/notesSlide1.xmlUn0SXOMBaT1TpC FW&>>w3m )F8`"i!~zG|=tBZ0y 3#[$NͅT m-5]uFRM,npZ\sz]$p+ aC Zש ellJqi裖[b?z^ۯZRWvQ:~0cDjKb$G\kO#U_PZmR'SI>;O"U؃ ۠Z"tihhd)h60ɋAB: m-Ms*21 ST9;j fר=ۀz EhP@ygUѳrB|9tȌ]pSؖUTWB!RxXe,z5iJrf[9tA R#R!%NΘh.6 = =C#so9w>vkV~Ń|6E2f&܏.qw:s밡QADO+p^HTӇo!iV$WPK^ND,z*ppt/notesSlides/_rels/notesSlide1.xml.rels 0>EػIۃ"/ml~Fѷ7<î#$Nָ^鸝/g* &;$ )hUcEPzUQ,Dd@=a]+! :qŢK_NMbIOe<Eq>!%:$&&PK^N$d+h[Content_Types].xml͘n0}(׊нb9t9uhM/Z޾B Q}?'Cw!` zaTSƽu^z\2 H"m@H[ɑv OX>eV [k54惦˼WpsQ؀HIzc*;.| xR7XCG;܍h)h}H &L Olņ^Cj.8һFmۢh秷>jL@F`5vWӄgd6$Ԡu;¾^V|fP>II:/g5!t6d]s2Wa?~PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)Hꯤ-MR֠Ef0H/Z俙6\Wܭ"OqDID'qD1RsJY.ȣ2\߭\Jԥ<ɷk5+#ln'^~eg0'hNi3!5Z_X,"g٘kjGok-}s-j0L짂C e7)IhTF4V`dESp4(3cu I9\ٯʹDB4bE(tbp9]7Xd.5xr$LcesZ%wJ=$o 陴xB10&ѵAF2`9HS ) uR !R %$ v)qd w:H3R@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK^Nppt/theme/theme2.xmlYOFKoe;i&%DZ4&;Ҙ(ɱP(MK/z(m ~)m I3GIl `kޛ߼H:41 [L]yDb']5ALrv?<)̠&szt0X$Ā#S I#DͰaod庖L:jI}wi|OY!0=eYS.Ɖ!<庆㢣G7v+%t%QY-#ԣx躞V6n W@Z[XVU ۃ`X5d[;kµ%Pu)|ء[{k jbmMwlW {_ )*7Zn:2\)HBј"m%H) b6G#~[^;Hڕ(b[",œ_Tw|3Oj Ͼ~Ͼ(= 2eiWvdbn; Y' Q< \=xJ^ݮ>H#rՀ>9].ƒ0t&p;܈p6)T&h^" 9ZG TB}QȄkHC4jK(qx|S2?uXLB\sE0 S2{*sθt1ц1dLskt/ >gu$H9 SMQ؏ؑHQ]#\IWHqyco"ھ!:AU- Hq'拍V3oTv}eWWEʥYϛpU<$4F~Y~ u󾆿޴Ͼr!K3Y~0>s XY晘^<²Q*n\ W%%ӃL0V9BM hhf>+e-Rkhr-J۱0W}}`uD <+24P<܊7a\ĩ_F#m:EFBJ: ) SMǺQVo#vmy5xL]}"2 {'yWL) VvUT(.kn.y 2L`$諌({\4L>Hmg:p`_y3FTJ7b)֞(,vWzEGGtsVʅdt6f4VK5+OY:měoִw@o7 6֐Εek5?zp*eu9ڌ~znh{al{ÖfVkYoNify#q?狷0|MLaLɟjYF<ڼ\emKYUG =%n(8Ѧ'XY̠ JZ+=`fPK^NH!ppt/notesMasters/notesMaster1.xmlYn8}_`A>.\(K66%LQZv[/١D,j7h<gG#ZKEQ=sm 6oNl[BbcZ12_*Ik,$xaLʺ8"gUMM*^b ?9KuJ\0[̯&"#U( N(0}՜p 2F4WL"\ om1\A3͜vR#8;ӧF / B{Q:r'Ufkm6{m6|1 8t^An(ȬJV)E}]esa SX,ZԳY3?ms6 "/vu(8Jk.KR6'lBƤC(ݰ:?GۢWL 잇,-(|7G[#&]e@{JyI=Xt 6dT 1XҖn@a XMX:Gzfdgr ad1K[̓1z|мOnK$I;;G0ꄗ(q϶nY$- N.Zx,QʄV 3P F6!MT=>61!9Jp*Q#:nX)pXeg`goo*|0m1 )_-yԍX tpF!hE#` D7YD(w+ oYJh-YY$/`0j.WfwI%G$XnQ$tog{pZp9=:}1yq㴪NGO$lc8;|xUV7(,a t 1΄OD<)EzQq Q'Jjʷ4oLfC>o>>5?aH}lz`c3-?hw܇;DVm=7-YJ]?I dBn#>z诡i  'Xc@8Ak|V'p؏@ Pw ]AEmTWh5@ S^m S^~m?aPK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PK^N-^ppt/slides/slide1.xmlPK^N`f ppt/slides/slide2.xmlPK^NL: ppt/slides/_rels/slide1.xml.relsPK^N}& ppt/slides/_rels/slide2.xml.relsPK^Nv98ppt/notesSlides/notesSlide1.xmlPK^ND,z*_ppt/notesSlides/_rels/notesSlide1.xml.relsPK^N$d+hd [Content_Types].xmlPK^Nz0^u docProps/core.xmlPK^N煟 docProps/custom.xmlPK^No _rels/.relsPK^N %#2 ppt/presentation.xmlPK^NɃ;' ppt/_rels/presentation.xml.relsPK^Nro"Uppt/viewProps.xmlPK^Nppt/theme/theme2.xmlPK^NX$,ppt/notesMasters/_rels/notesMaster1.xml.relsPK^NH!ppt/notesMasters/notesMaster1.xmlPK-!(^oo ppt/media/image1.pngPK-!%ppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,Ҙppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!appt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,Ǩppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ͩppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,Ӫppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,٫ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,߬ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "&ppt/slideLayouts/slideLayout12.xmlPK-!h "bppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;">ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%! ppt/slideLayouts/slideLayout8.xmlPK-! Lم! ppt/slideLayouts/slideLayout7.xmlPK-!=t%!ppt/slideLayouts/slideLayout1.xmlPK-!)J. !2ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!-ppt/slideLayouts/slideLayout6.xmlPK-!:D "+ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,UdocProps/app.xmlPK99pandoc-2.9.2.1/test/pptx/speaker_notes_afterheader.native000066400000000000000000000003541363630463000235130ustar00rootroot00000000000000[Header 1 ("here-is-a-single-header",[],[]) [Str "Here",Space,Str "is",Space,Str "a",Space,Str "single",Space,Str "header"] ,Div ("",["notes"],[]) [Para [Str "and",Space,Str "here",Space,Str "are",Space,Str "some",Space,Str "notes"]]] pandoc-2.9.2.1/test/pptx/speaker_notes_afterheader.pptx000066400000000000000000000737541363630463000232360ustar00rootroot00000000000000PK^N{ΒBppt/slides/slide1.xmlTMo0 WL{(Na]w(~&30}AR]ߏ$]@.E>>QoFـ!*g[~u tۖZ_n}ukc#Zާ({4"^:bHt [x#z#S~LlN"QW>l3l>`$%)+=u@̖_POK`pfsSdճ0lgS4&<6++d'Gn?B"pT8~Tu=Z]MGȬ#Qe UR,EػIۃ"B?ml~HRѷ7^<z 7AY!46t.r Uq1YB\ }nX=juhҦ^F1'UtȊ,[1?̀rIꆃl۶JQ_*XTcLw9P:g ;ZO4c#ӫzFf(PK^NsAppt/notesSlides/notesSlide1.xmlUn1}WX~'f6e*RDQH>ٝ6ZcwaiIcY3mJ)b]t1ȴy!R#!-䢅֪!&)Ss!ˤԺIOu_u>'_fYL RS4h48*㖬Xg5V+ԕ{YjTNcHZlEB~v6N]5 [۩褘'!u'*Uabe В R(:mhu/ ha䃴5-(HVd*)wa^=&zkNZTMۦ;>tYVjV#O tČ]R|lêTWF)R׼ެ )D\;"^[Ŝ@o Nn#{!(TRåRodϮڝr߁5thݏpr;M`xgMyйFdFfFDiͣޙZ&%DkA2ihR/PK^ND,z*ppt/notesSlides/_rels/notesSlide1.xml.rels 0>EػIۃ"/ml~Fѷ7<î#$Nָ^鸝/g* &;$ )hUcEPzUQ,Dd@=a]+! :qŢK_NMbIOe<Eq>!%:$&&PK^N=.[Content_Types].xml͗n0}(׊hKirr&AMؖ=PxNB Q}Ib{ωǞt$f`P7 U$km; Gv ĕH I##e4cyzJ"Ha:09uqr4TZ"H,e[ vLFjK<3;ڞBҫ0"| HoFiH9M%D1M%=I \kd6'PSFhm=3O⠠wTNP.B]u"TEk.B;3H@QkB!U_dJCّyg?b"CK1BQh|EYǟ+b]Vgoշ 9'Rs?OYN43_$Zxq+Vc\M*~ PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HxtQKR'd0pfdoӶRp l0ra`pԪn@yOtGDdsIzv&bY֡?Y*('3װW'gIYIbmxlPK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/theme/theme2.xmlYOFKoe;i&%DZ4&;Ҙ(ɱP(MK/z(m ~)m I3GIl `kޛ߼H:41 [L]yDb']5ALrv?<)̠&szt0X$Ā#S I#DͰaod庖L:jI}wi|OY!0=eYS.Ɖ!<庆㢣G7v+%t%QY-#ԣx躞V6n W@Z[XVU ۃ`X5d[;kµ%Pu)|ء[{k jbmMwlW {_ )*7Zn:2\)HBј"m%H) b6G#~[^;Hڕ(b[",œ_Tw|3Oj Ͼ~Ͼ(= 2eiWvdbn; Y' Q< \=xJ^ݮ>H#rՀ>9].ƒ0t&p;܈p6)T&h^" 9ZG TB}QȄkHC4jK(qx|S2?uXLB\sE0 S2{*sθt1ц1dLskt/ >gu$H9 SMQ؏ؑHQ]#\IWHqyco"ھ!:AU- Hq'拍V3oTv}eWWEʥYϛpU<$4F~Y~ u󾆿޴Ͼr!K3Y~0>s XY晘^<²Q*n\ W%%ӃL0V9BM hhf>+e-Rkhr-J۱0W}}`uD <+24P<܊7a\ĩ_F#m:EFBJ: ) SMǺQVo#vmy5xL]}"2 {'yWL) VvUT(.kn.y 2L`$諌({\4L>Hmg:p`_y3FTJ7b)֞(,vWzEGGtsVʅdt6f4VK5+OY:měoִw@o7 6֐Εek5?zp*eu9ڌ~znh{al{ÖfVkYoNify#q?狷0|MLaLɟjYF<ڼ\emKYUG =%n(8Ѧ'XY̠ JZ+=`fPK^NH!ppt/notesMasters/notesMaster1.xmlYn8}_`A>.\(K66%LQZv[/١D,j7h<gG#ZKEQ=sm 6oNl[BbcZ12_*Ik,$xaLʺ8"gUMM*^b ?9KuJ\0[̯&"#U( N(0}՜p 2F4WL"\ om1\A3͜vR#8;ӧF / B{Q:r'Ufkm6{m6|1 8t^An(ȬJV)E}]esa SX,ZԳY3?ms6 "/vu(8Jk.KR6'lBƤC(ݰ:?GۢWL 잇,-(|7G[#&]e@{JyI=Xt 6dT 1XҖn@a XMX:Gzfdgr ad1K[̓1z|мOnK$I;;G0ꄗ(q϶nY$- N.Zx,QʄV 3P F6!MT=>61!9Jp*Q#:nX)pXeg`goo*|0m1 )_-yԍX tpF!hE#` D7YD(w+ oYJh-YY$/`0j.WfwI%G$XnQ$tog{pZp9=:}1yq㴪NGO$lc8;|xUV7(,a t 1΄OD<)EzQq Q'Jjʷ4oLfC>o>>5?aH}lz`c3-?hw܇;DVm=7-YJ]?I dBn#>z诡i  'Xc@8Ak|V'p؏@ Pw ]AEmTWh5@ S^m S^~m?aPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N{ΒBppt/slides/slide1.xmlPK^NGaA ppt/slides/_rels/slide1.xml.relsPK^NsAppt/notesSlides/notesSlide1.xmlPK^ND,z*Cppt/notesSlides/_rels/notesSlide1.xml.relsPK^N=.H[Content_Types].xmlPK^NHH2docProps/core.xmlPK^N煟 docProps/custom.xmlPK^No : _rels/.relsPK^NP ppt/presentation.xmlPK^N4\`ppt/_rels/presentation.xml.relsPK^Nnk˖ ppt/viewProps.xmlPK^Njppt/theme/theme2.xmlPK^NX$,ppt/notesMasters/_rels/notesMaster1.xml.relsPK^NH!ppt/notesMasters/notesMaster1.xmlPK^Nippt/tableStyles.xmlPK^N }.?ppt/presProps.xmlPK^N mu! ppt/theme/theme1.xmlPK^Ni_!,>'ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!(ppt/slideMasters/slideMaster1.xmlPK^Nђ7-/ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-0ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,1ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,2ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,3ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,4ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,5ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,6ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,7ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,8ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,9ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!:ppt/slideLayouts/slideLayout9.xmlPK^N讹!q?ppt/slideLayouts/slideLayout8.xmlPK^Nvi!_Dppt/slideLayouts/slideLayout7.xmlPK^N1W!Gppt/slideLayouts/slideLayout6.xmlPK^N9!Jppt/slideLayouts/slideLayout5.xmlPK^NX<j!Oppt/slideLayouts/slideLayout4.xmlPK^N&a[!3Tppt/slideLayouts/slideLayout3.xmlPK^N/\ i !Xppt/slideLayouts/slideLayout2.xmlPK^N+cK "{\ppt/slideLayouts/slideLayout11.xmlPK^N  "x`ppt/slideLayouts/slideLayout10.xmlPK^N³](!Adppt/slideLayouts/slideLayout1.xmlPK^NJ6_'khdocProps/app.xmlPK** jpandoc-2.9.2.1/test/pptx/speaker_notes_afterheader_templated.pptx000066400000000000000000014112441363630463000252640ustar00rootroot00000000000000PK^NوBppt/slides/slide1.xmlTMo0 WL{ Namw(~&30}AR]ߏ$]@.E>>QonGـ!*g[~y tۖZ/7c-S @=/GK F$:-tApX|#S~LlN"QW>l3l>`$%)+=u@̖_POK`pfsSdճ0lgS4&<6++d'Gn?B"pT8~Tu=Z]MGȬ#Qe UR,EػIۃ"B?ml~HRѷ7^<z 7AY!46t.r Uq1YB\ }nX=juhҦ^F1'UtȊ,[1?̀rIꆃl۶JQ_*XTcLw9P:g ;ZO4c#ӫzFf(PK^NsAppt/notesSlides/notesSlide1.xmlUn1}WX~'f6e*RDQH>ٝ6ZcwaiIcY3mJ)b]t1ȴy!R#!-䢅֪!&)Ss!ˤԺIOu_u>'_fYL RS4h48*㖬Xg5V+ԕ{YjTNcHZlEB~v6N]5 [۩褘'!u'*Uabe В R(:mhu/ ha䃴5-(HVd*)wa^=&zkNZTMۦ;>tYVjV#O tČ]R|lêTWF)R׼ެ )D\;"^[Ŝ@o Nn#{!(TRåRodϮڝr߁5thݏpr;M`xgMyйFdFfFDiͣޙZ&%DkA2ihR/PK^ND,z*ppt/notesSlides/_rels/notesSlide1.xml.rels 0>EػIۃ"/ml~Fѷ7<î#$Nָ^鸝/g* &;$ )hUcEPzUQ,Dd@=a]+! :qŢK_NMbIOe<Eq>!%:$&&PK^NmD[Content_Types].xml͘n0}(׊нb9t9uhM/Z޾B Q}!؞e|,uB^G0Tq/|ymAynd\/ K\2] (Zi+9Ўۧ, Aa s߽f|t઴CBnL&̊UBxT ga&¸5! d[1O.tH!x$jD[G#iL%D IEKUA2s=EWg; ̢ߩN}Gc|e:GB{Yb/KUgX5:hVڵPHs2!s{y/ q!*ҵJ#Q}GTmax}bi 9uI2})XhK.T-L{#r!YmXo(MPK^N7rHdocProps/core.xmlN0sE(`D,&qʰ^ȝ5B @$'(I#e/B0jCqWgqpm~d>:"gbUF}߷/GnVo)H}!b w̙s)Љ+]T2YrE=\f@ I9KzNdخR%3U{+JAϋI |j+2ʎ%(.>uVmxۖT/Uiz]d{x w"ʹWy?LB:C<ʗ̹L;G9|vŃ6ACeg?KcfC6[]N; g1 fkծ fGP#N¯AT2{Gh3a2p?#;B`Gɧ+;u%/Bjw=Ț\j/DFE8k#dz"!=Ot FF1Ȉ`ZFcO?!uB)@#R R!ub)@Jn:Hp4@d|{Hy;qYPK^Nꚻ:\ppt/_rels/presentation.xml.relsN >niW]Yc D }{j*l=p?VA*JJH(q}bZ`l r;&p#{ƂaLۜ\(5^CO"Β,Ļ_q>;_G2J#PK^Nro"ppt/viewProps.xmlMo0 Qkh զi0l(D>@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK^Nppt/theme/theme2.xmlYOFKoe;i&%DZ4&;Ҙ(ɱP(MK/z(m ~)m I3GIl `kޛ߼H:41 [L]yDb']5ALrv?<)̠&szt0X$Ā#S I#DͰaod庖L:jI}wi|OY!0=eYS.Ɖ!<庆㢣G7v+%t%QY-#ԣx躞V6n W@Z[XVU ۃ`X5d[;kµ%Pu)|ء[{k jbmMwlW {_ )*7Zn:2\)HBј"m%H) b6G#~[^;Hڕ(b[",œ_Tw|3Oj Ͼ~Ͼ(= 2eiWvdbn; Y' Q< \=xJ^ݮ>H#rՀ>9].ƒ0t&p;܈p6)T&h^" 9ZG TB}QȄkHC4jK(qx|S2?uXLB\sE0 S2{*sθt1ц1dLskt/ >gu$H9 SMQ؏ؑHQ]#\IWHqyco"ھ!:AU- Hq'拍V3oTv}eWWEʥYϛpU<$4F~Y~ u󾆿޴Ͼr!K3Y~0>s XY晘^<²Q*n\ W%%ӃL0V9BM hhf>+e-Rkhr-J۱0W}}`uD <+24P<܊7a\ĩ_F#m:EFBJ: ) SMǺQVo#vmy5xL]}"2 {'yWL) VvUT(.kn.y 2L`$諌({\4L>Hmg:p`_y3FTJ7b)֞(,vWzEGGtsVʅdt6f4VK5+OY:měoִw@o7 6֐Εek5?zp*eu9ڌ~znh{al{ÖfVkYoNify#q?狷0|MLaLɟjYF<ڼ\emKYUG =%n(8Ѧ'XY̠ JZ+=`fPK^NH!ppt/notesMasters/notesMaster1.xmlYn8}_`A>.\(K66%LQZv[/١D,j7h<gG#ZKEQ=sm 6oNl[BbcZ12_*Ik,$xaLʺ8"gUMM*^b ?9KuJ\0[̯&"#U( N(0}՜p 2F4WL"\ om1\A3͜vR#8;ӧF / B{Q:r'Ufkm6{m6|1 8t^An(ȬJV)E}]esa SX,ZԳY3?ms6 "/vu(8Jk.KR6'lBƤC(ݰ:?GۢWL 잇,-(|7G[#&]e@{JyI=Xt 6dT 1XҖn@a XMX:Gzfdgr ad1K[̓1z|мOnK$I;;G0ꄗ(q϶nY$- N.Zx,QʄV 3P F6!MT=>61!9Jp*Q#:nX)pXeg`goo*|0m1 )_-yԍX tpF!hE#` D7YD(w+ oYJh-YY$/`0j.WfwI%G$XnQ$tog{pZp9=:}1yq㴪NGO$lc8;|xUV7(,a t 1΄OD<)EzQq Q'Jjʷ4oLfC>o>>5?aH}lz`c3-?hw܇;DVm=7-YJ]?I dBn#>z诡i  'Xc@8Ak|V'p؏@ Pw ]AEmTWh5@ S^m S^~m?aPK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PK^NوBppt/slides/slide1.xmlPK^NGaA ppt/slides/_rels/slide1.xml.relsPK^NsAppt/notesSlides/notesSlide1.xmlPK^ND,z*Cppt/notesSlides/_rels/notesSlide1.xml.relsPK^NmDH[Content_Types].xmlPK^N7rHTdocProps/core.xmlPK^N煟 docProps/custom.xmlPK^No ] _rels/.relsPK^Ne|, s ppt/presentation.xmlPK^Nꚻ:\ ppt/_rels/presentation.xml.relsPK^Nro"ppt/viewProps.xmlPK^Nppt/theme/theme2.xmlPK^NX$,ppt/notesMasters/_rels/notesMaster1.xml.relsPK^NH!ppt/notesMasters/notesMaster1.xmlPK-!(^ooppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0Íppt/presProps.xmlPK-!:~"T|ppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!"ppt/slideMasters/slideMaster1.xmlPK-!ђ7-bppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ippt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,pppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,vppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,|ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-®ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ɯppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"аppt/slideLayouts/slideLayout10.xmlPK-!3Y "ҵppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "#ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"Jppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%!ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!Kppt/slideLayouts/slideLayout3.xmlPK-!=p!ppt/slideLayouts/slideLayout4.xmlPK-!s@yT![ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "fppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK77qpandoc-2.9.2.1/test/pptx/speaker_notes_afterseps.native000066400000000000000000000024071363630463000232360ustar00rootroot00000000000000[Para [Image ("",[],[]) [Str "The",Space,Str "moon"] ("lalune.jpg","fig:")] ,Div ("",["notes"],[]) [Para [Str "chicken",Space,Str "and",Space,Str "dumplings"]] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax,",Space,Str "with",Space,Str "alignment"] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Div ("",["notes"],[]) [Para [Str "foo",Space,Str "bar"]] ,Div ("",["columns"],[]) [Div ("",["column"],[]) [BulletList [[Para [Str "some",Space,Str "stuff"]] ,[Para [Str "some",Space,Str "more",Space,Str "stuff"]]] ,Div ("",["notes"],[]) [Para [Str "Some",Space,Str "notes",Space,Str "inside",Space,Str "a",Space,Str "column"]]] ,Div ("",["column"],[]) [Para [Str "Some",Space,Str "other",Space,Emph [Str "stuff"]]]] ,Div ("",["notes"],[]) [Para [Str "Some",Space,Str "notes",Space,Str "outside",Space,Str "the",Space,Str "column"]]] pandoc-2.9.2.1/test/pptx/speaker_notes_afterseps.pptx000066400000000000000000001446341363630463000227540ustar00rootroot00000000000000PK^N#v\ppt/slides/slide1.xmlTr }W07Ȳ&ؙ^Lg$ӸR|wv\Os]+kEF (F&%6XJ>d̉Z.-,bV<Ƭ卢{zl|b݂)=Ƹ>yK6caUKSD&eng HjsoͳyyJoaB)aK$dX"/wKۆ݄"/d;OD#E\<닰¦4Zl1 H. .~P*28`2s/GFj)rxw޺k Ll vE%~"轇 Sb7]!C^Q,Ng2h Lc=b1>&ؕM:R^yAO]5VUI񼑝«!I4 '#\G;s;UΝ̣CqX^ո.IS KGx'ȕEBL<'72~YU᪈"+\bM$ їy czbbcqOOPK^N'&ppt/slides/slide2.xmlXn0}WXys P(դLb5ǎlClP%=q}u]d,{'zq]?]]I}좞*w!q3$36"CJLz12 o b|:%1xa S4N\V}KAgQ/ccŝȟGaD2<݊+٢VYen1uyy}B3 r6ޘov?DyJT%g+mW9S8HQSN,@Y~= TXJjvl+3cņwwb3.$5۾o lo* 0GH!0dЄbRMsXla<%_hQ4.noۍvh0^Gamvdr)IʂH2d]+m)RKk[JU1X=uTzۇ^ jU!qo -Fk":ӿW†8.;hJOd* zҷ¤bwWph7{<=̱ڟފʼnq vhNe  .\D}ZDHyjQzR4PYhzNokk˶.E-^ֺ߲j*ontHQ "WrݻacCceE{*bg|L(uwBpƙT^Ծ/|zdI#X KP(DG@̘ukX@{Y PK^Nzppt/slides/slide3.xmln ͦ*+HMDJ>xm;:Gm~0"[Sӓ%f[ӟw>~!k|kڅ*Ƽ:ipy!lY5bi:c۶텼b Y]|QsǨ9e'%Йب&݁12wp|; ҡp-kJ V<6C3m y5cXSO-r DY1ݏײE|Va\KWgՕ5!BvV5`XƊ_l1%UKqSؼ$2_lcgy|؄yRkjPEWB(;[-`Bu)-5m#~/q4A1L [k-N#D6th YfCfmZPK^NxfF ppt/slides/_rels/slide1.xml.relsj0} J ȾB4}!e%jA(=丳V18Nze{{|XmqXdB"K+cINhE>+G+rfAȃȺyfq}I6Cܨ?~ĵG.ߨ`i6 sQc@RL-@mhgLW^Z?el9WdQtUPK^N׬ ppt/slides/_rels/slide2.xml.rels10wEs-0c,,ƄI4Fh HݻkWFsHi4-{u7+"D$hϡ Axj,iDk!ZdY[f@$eu ,mFI<9× {UELf 1VJʔX}GM@TfyiPK^N '  ppt/slides/_rels/slide3.xml.rels 0>EػI[ED"ɟ IH/B<#wt^! TJ7.| e1ˏ؉-U֓x=6a{ᩱ6!aVȫheIbn(+n_@OdVFzaNUxOs 1VJȴFM@zWȾвpPK^No A=;ppt/notesSlides/notesSlide1.xmlUn0SXOM(j RPi ن{8iz+80cK%s^t `(ZU^?]L*,f8s:CȒ l/fۖլ5"8v:_u9'^-%a.&1c;EmMMf}*FGX =7yPR CPm]nȰjDmFzw%:@ԤvʛS)Zߨ /)wsLX8e y@*3qXHTENp-wb3jkm@Ьzm(s;km[Ygn;!\ZqnYm|ëa l+? V3%Y=D4yݐ%ya2xxǎ% t-4k ,:rPǯt~>f%؟91ӌ^rZAFɸ ˤߛ s?hNo㗾Æjòf2yZ2,7[$cN5tXْ _PK^NK0ppt/notesSlides/notesSlide2.xmlTn0SXOM[QP S>qͱ=۰i^;N lt7cۺb`G.O`x5r"Ғ |y^cx;t#c. zs!M Za}%$֖ Uac*G?mh0*\rƫKE (7> ۩.JllRQm4'-M,6f|V:*+՘ej&ZZ?;/2䝈:S-ϣzF,\,xÎd݂EػIۃ"/ml~Fѷ7<î#$Nָ^鸝/g* &;$ )hUcEPzUQ,Dd@=a]+! :qŢK_NMbIOe<Eq>!%:$&&PK^N$/¾*ppt/notesSlides/_rels/notesSlide2.xml.rels1 0wEݤ "]Dpp!6 ( (B{wVgw d Zjc[ ~\lOث"O,X7BpPĝGƅA4VxEQdJ1 j PO];o8sBPojL@Z8+ LYĺtT1LI(VǗ/PK^N;u?*ppt/notesSlides/_rels/notesSlide3.xml.rels 0D~EػI[ADL{/mlo@ PK^Ni\??ppt/media/image1.jpgweX^.tKww# XbE钐\iNYJ@S_o}<̙w杧5:L ;'4@ a@`0cSSQQSPг3вQP01rprpS3 s sqs KKECAmO]l-A$`<_00…rL aaba@$X`a2{8Hrn] Q+Il6ߧzSb{? $eVxZ$Tni?B$! ak!$Y[ bjΘ*K6kfjOAWd|(_#˲Mj5EV꿮-\\#ψh*lqm(>759)BC޼)uINNn l7 (Zgi &4VrM򬵷ME>̔XF|/4d;ͬWN>b{k. MO{ |\z[ PzcYp8paOYv_m@h9灻 DMVq~G0 JR}$PK vRcm7 J|x:q;FSm#VptLu< }$\V.䍣 Q..LG"cȘnΡ἖\l[mA<Nja9*-ma^y7h?\ k4B{=̪)k]1 fBn SZ-)2'd͵bѥPkO3Ăy.#ߍb[ڽuve~[lHX?Jc$}W++ ׏ @V |5I_1(d|_fiŕu2/qw9!XeT+~Oܖ5\̟i"* v PXGd^j80"btky38pnrCoI7[ۺqD<gZ ,Oӭ:gߑchT 'U8g]LV8Wg8QL@%bz% ˬ0g$X\ fyIK1P玭{Cs(zENמ8AI GGhl<NVQ]ǟHZK;%:1㬗Qd9خbQ~j{mF*S}Б7bRTlUq:(0Rg[}Db% V7>2 _}8k?] ڬŅv`G 7DyܴP~ZSsB~]tԵ D rzK۷H\Fu? {3t*^"UJ_ .Vjx<S';!"ns $av"H=g'kXFVmBna;w`E0U!Ca\yc_Em.ΪRWYLU﫟ސ@$q}}QH)C,tH-u*n g:KD}OO?H]zSySzGIm7Wp¢dK'م'YxȖA}+Z ` J`'.ykPPCtrbޘ|23o֓p֒cV0rӾΕWd'q~7D}nC./hr3JpU7$mwCDMLfSBCxjR;Hw , p18qp㋬ᐲ+})ZD|y^d$C*2P~J{]%0gXcZ?-<)daI 邹hGRPm{/]AR$k 3jM4- _Ԏ/^9939xs~ק*Rgtco:NǐPGO`-nc. ;80sm>MVc>b T7M$x#|[R7)vS=E>caJEѤTk0{-•/5ZaS*W Ek}.3X9! U([1GcVPly(D!3KO@؅7èYnY=5:!`40ښA[' ݌$0mߙ<1.ʘW_!(I:#^"9PSr.@R~!/zsMIΙ(E e"< ?hGgp7vͲd{ʲ| vVzxh,xB+ @rnZ?Nݒ9|Ny~l.ď'@otQ{J&˲k{rE_a cNG(!4ۚ.jJPY3ӕqz_@Aww.CbCETnVYۇڑ4%Sw3}G"RVԷ(tgm8~myCXţxeް)%RSka?6f3㐺xXK\Tf-7먷yu{wjV~翇À e;ij b>o\U})wȫ:`_lD"ho٢%9FUXoMxTVa+p N#4OPG@ =̖pj8m79p€A)(JxҹύF9/+QlE}gaGO#ԘzWFZr}%".2]}.2?&IIyOI.;y~"%C{~N2W6t{4|2{J9 IZ crP=J޶2u) g-V'j!N5;tu.jePiKY5ZGէCNj!cQ4tvSfg;5oZ36J(xa秫.E|YKԉhtxe`@>=x=h+?&Q.V`<"!*RXYlҮS{`FC~8'kn_Ub)q4(F^ \h9֮=<.25xP~t-.;弐您֡`J-gu1J77[ y%Zs{^=ҫ_n\x>`$.kM ӾOˠ覐HP-:ͬur8\Hn}̎LڹbL&'V\Poㅡd .D:/aɜPsm[82W\tjɚk6nv%ոJcԖyQo~Lni#|?tWV1joc `"pO$1)c-r/7m<_+/y.ȱ% uX̓'l߅/, s6=7M_˟Vټ?`|خZ=?[oiޔW}]qě_Rn:yƦDW]iYYðvۅ~ dݡW4|/=<3OU+s8LrU8g}Y&72pıOƣs=[2X`OIض ^z!0?'̿YJէxߑH'-"'ӁWrt#!ks@?HQ]v5 =xf6XWzp2Zw;-sBܹ{rtahQWZ*(;?;UdhA#{G`o|Tk(43Xȅ\o "+,.o% b림Bh"g7+.ѯ5539~1sEOVXW?y $Qx7$ 8 7ò2ՒJhV_驌+_lt2 bR㱎c <BuU7-3ˤ!!}cI|n1Vk#eZ{)*@ AHb~Hv4Kɂ/ֱ]- ~ղ[]+Jyfh9>m8-9Bw]-k|Ô<@I͵ qڡs} Wx5 /__iWiz"\{>'_Ƚ("3ۥ0}Vp?3Xz=ޜ,ۤfbTBRSapKztB`Aax+H[|sS2XUʑ5"t'K^s,ZQ{#o4[1n: tآﴓY?2{Bhe(ůU28vSu/N)D\FQ=%i晃*U5 xhnb.8xCMy~4aX).@tu+.bJvlD́Ai~L_z^fwfA^,<Ҿ#|!_|Y]jtf?剽F0G5ˁp3ЇL/ie8VA&9p՝؇5Nk6![.&n,)fWnDwetT.y{E\2x|6]#f.CK[m ^EBv} q| ܿM}DN㙴Y~M6xZ/?ܫBvRɵk¢r? '}t@9y(?tVOX Bn 9r2}ǰKB|ғ ogBh.fl7</ fOHh(;?9)**2TJc@,oBn g88B;C_8Ov >.ܞ)lN; b2ŒKR>m6ԥOvՅ9 wT53#9)4u%Q]~5<]w7zs{N@ٓa_ -ͺqP9ʠz\*R&Tw)70SsGn%Fv?iVD(T1 N.lWEx?{{D@ʩ@lM#yrTT5jjdG +q,a<ǐ46X?O58۸صQav)P(o-eb,:| Z։ TkowOQ+Á$!3 X)O->Wo:c><F&:I_O":Kj,BgxP3_:<& o}c?aD7klz?+?49m.fR;MbR$9dOpz5$p4Zo]vU46>[=>{]keNbyON)F5DDMP?h\vo*cpBvHjxK7[ߺEۆ/*SQ-$q9wXpE5)RGt$_}W `zQMh-q/v&)1s1ZWhNW78n6ս5|ը"Zoo> eŗY:E3SIl~#Ű㧻'@ɮRWc;H:7!ه.ha?׺,1=0!13R^#].1j>u_.|Ȕ9rٿs6ďe /N-<V:qFucgBay8?H>01[b -#L1zBrc*B`!0h;Q_ Z4rAzOcL;t.|9%VNw&# ןQoɔ<=T]u.pӐ :nNh`*$IfY:76q)h7&3ʘt"s_?y_̣klbڴ Ozm?E_῜1^xT b)!<_jьݧb >TL,Pj!@ С8mRG(ȻHZ>bXg5JJ^ O̎7 { D\gg,LZB. iܩX`ѶR/wLk0Mm'-|qt B7a䗪l.3>_[ ]I?bK9pS9=-FKVJU!ȯ?t1CYΚVRe3>ets}E7|dt x.θq}-£HLHle0BSe}ľby GРtP uN2*B[Ŀ6^r+5uw;U%UiSR&Y}a]2+&J}CP8aj[Gt(2{xrbj2ǩnUa9¹Θؠ0H6|iAzr05 3tF1ܛ.|8 ͯ'])BTt  1.g@V7I}B (wG|^|&vw+K׮0.1*w%>c+x}xEh1})5LzRxjj=Gd!`h.iH5ȉkJhnMժ3?w9zG̚Y5eMƈYDA,<ףFLշ1*1lƣan0qWv(?fs3~wB Q{ΐTGN7VK;ЌDo'<Ϙuw'㥪Zf\@MB߬iҕHVG}(MJJ3G02yfYa3~G؄=cNҢ~#)B1IyJ/~#]qb 9ۑo5)Cm7tCr 1N%! ϒE9|Q?k~hcgS@Ŵx pБ`ԽVq[V+dS~N%R?$g% KcBe㼉b.~ۅI]Y./ĈsFZG}~Wڟz8%k(S;>r"Vud:h+tJ zŧ$ >xs;wYǤxߡQI ?r~R S+䅼j%9d==.AxWVؠz=^$dOV`j<:*+ /9|t"NJVuz!Pq5;o n6ߎc{kb՟j ;F秳ɡ(4s 9zSu ՟檫4"TJgRjƋHm 6/ƣi+VmU}Eۏ/nE*N]eDӜ~2:=u?h~5n-nmE:HthX>g~ńÒt*Fbdk !ྔwAbYd<"ۑ#MK!v)Uh_OйwvMJ9[yġ=T >l['zdmrCZ`IB=w٧D19>:CG؈7u3W-l1!"oYXʽ|GꍖD)@Դ~K]Ik86ff#&Kڃ*1(,Ig1Y}"hp"ń۪%.*u!*m߃JsՏ:ԅv5}m8R^?>3wSL-I]D9/a៑Yu-˶u?Ʋk۝[VCUz$ L5;1wd+7Gg.:D /LoGʹPɄB $gɛ*:qq C3YZhԷ_+~`V'G^1b< |`-!1.^3yYs˸ g<&-Y䌹ҟ _1e{@?~j13XZY{kc`91+dgܤE\6/x{U/ %Y:}Y/״rܽ&IlLhD5\K2($zp#kJ :bIDr~i_nsig/fK$&a:A c̬?ʏ+{~.E#U2/]evLJXKvaSC9''ѩve\Ve%)@D`,m黨,"q!t,LNG(v B ;5WHcb't}DSHc "Y{P$i;H *[tOR{{"nOdtЌCǵb <;W $ɝT$pMnQ~ͪ@BJV D xf+/ݞ iw&-82\qtl=^PTR,^W}ϝ\D}^WjB0Oƅ` U7ޚlY4X /z̻~mSs( 6ـG؉.6ۇFc=!hm ë</%j%d?)tJ _}ƕ;};P2i)Y6`Vˆ͋p$iMX B2=erX@q mJ%KF8;p&;ձ'\_lv~`86=X F4J>+վ~qKi0 VPZJxGS_ ;+ ;& OTvu?Y uU%eD2V"2C6xr> $[>"[պtZ UrvZyl' %t54676oНwdvnuxְٮ$eBo^9y 9G2 'um_[tzNR6$R8u'kN;d8aCf;pQ(lNE澅X-sU^n@~Zt4I`[NWVu%O _qQsEVL}gGo"Fc[r#<f{="ݠc}+MKS86{M~Ybu*|e:gD(gXj:ݨYy"DpJZډ$,< z7A8W`}gnn}'gl|w&ea29d *-`;8lÁlFS~2  сEEpLVEb^ՉFGʞ?PG{Y֚7إ3 fh"9v/E6Dx=v|ON?jaA1vy)vql @XxaI|c{ OSf]ZiY /`Å O^₼,T#Z;byG^#1{/#&ȕm6~$Z8kN6h[X/djԵxhh.!)tdƱjבg %\lcg{& wV >m+-zhgt\ ;z8Gܠb<3'TS r\AA(AjͮL)3lƨ(L9V^|1!sW ֨!u yQԢn~(N(Kc9"xgzA4y"ρ b![Bw~Mu:{3YGrx-˨<-8Cw:9_~gĩm" 47­R}Mi:~ـBxǺ;_KFٗ>1u b*z("z5Bй0]: bq!1vx/n9} 9 >6"sxգm pcu$p @:j"[^*c$~¨kQ9[AE7&U<0X&rەB迭Ģ(M1C 8~kعիrٚ$]Z$ܓ[CfX ĝvtI~SFsI~g%CIW{yPF rJm6˚;^R\/v@*⬃Ƹ(Bl fzkfͣsUk48-5f,-Ԣd}nJDCJ^jD GzqA6fk}φX|p$o\@^YYB)fL r}7Ht?whuƤk!1ذ{8KI/< sz(|h;L{^8oLKOlIȵ t Uc{Ϙ& k.EOWYV uQ*}P e*O{H ;:^Bɶq. ߼,|F Kz.FQYޖ-{-G=f Z&C$ BHNR"r[KDBT>Eǚޯ\Y^/'`85O)o^ESҦ9qM\ľg~ӷeB0dGAF쉚'#ζSʹ ڇ @\ AAPD`ZRr m:ۊ͘v'zqN\#hDz3Mv fu\ _Z7kI^=B6@ƽvBTtȄߞaף`/4igS:p wPVe/VwK5wwr97CtM# ݹR>{s(8eRwne t)`0Vl)+7,`R)IEh2!y;TM;m,W<Oa[-ʕǤvQ]Ű(xs,-~|gĵ_(E1(&zİ@ȎkK0Bt@(}),m3xM-*RTl!YMd/b3G=R _ut(Tv-㝋IA^_#ޫ'~QɉLX g5 }ViUdp}#&ﶘ_)bc9k[! M8.'x _34^{a1<$Fj{b&GW@6;CS 3bG iv8@fjG},]!AxP&o[H]7"kH<4Љch޺I  }hU[ʎF2I!z5'DzF~̀Qz! ҁp8|}0tޅ0"ZkRo4`\oᴽZReXFє\V7"[/o2wyS~./Hb+ Zn撠 c/3̮]E L* Ed0Cԝ$ >c=$.PuZR(&m$$L<ڼFf3>2Q9.O( OF.@&+SkU ex !NQ8XZ뇛J@N] !OPK^No[Content_Types].xml͘n0} Ķ N%YK„ٓy3@* `<7 #F72 `jE0Dt>=\7ʀ Vq8G4׌xHP43VrM+O, Asp2_dܿ2.miܘLil\ -"ͅq;BK!^ ?z|V$Bu#ԅP>B]8zꠟYjB!u&Ps2!suksS\e9DECi#*wDEɎh/lRs}MȅC-['Y49[֖\Z^^ȵ~*S!:6BQܯ$MKu?iڂjMm!b߅PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)H>p=+116Fz<˂ZJcD~'"1)'m }&sUqvT>wJskތܠX-)'ϛ>@ S40ASd~|CGjՠjl`C.(u]RdGJpR.ͳ$TOT;ʍlh{>si5-NעP] %T <*$fǤxZ#L tddv`F^vC;!?9Q4Bj!=8Q`ZHA)@ =w|owRCRw)!M?_d^V37W`5c[LVNM&'| 'M|{Iؾ8H?L 7)+Ȭukd;f椺SϡM?Q1j\S+@KGz-e{o}N2Ӫ—T :`mۥa' PK^Ne{hppt/_rels/presentation.xml.relsQO wKft/d&F`%R }{4]r=cYZ5\voxU]-_A0SlϵEFZ{!a`6S?if뀔y>'&ͺ)15[-Q՟Hw bo2ӁE0")f(7E)nSRH>3Yq]JZT (E)r:@dgt˱7'$$6xKWTw|3Oj Ͼ~Ͼ(= 2eiWvdbn; Y' Q< \=xJ^ݮ>H#rՀ>9].ƒ0t&p;܈p6)T&h^" 9ZG TB}QȄkHC4jK(qx|S2?uXLB\sE0 S2{*sθt1ц1dLskt/ >gu$H9 SMQ؏ؑHQ]#\IWHqyco"ھ!:AU- Hq'拍V3oTv}eWWEʥYϛpU<$4F~Y~ u󾆿޴Ͼr!K3Y~0>s XY晘^<²Q*n\ W%%ӃL0V9BM hhf>+e-Rkhr-J۱0W}}`uD <+24P<܊7a\ĩ_F#m:EFBJ: ) SMǺQVo#vmy5xL]}"2 {'yWL) VvUT(.kn.y 2L`$諌({\4L>Hmg:p`_y3FTJ7b)֞(,vWzEGGtsVʅdt6f4VK5+OY:měoִw@o7 6֐Εek5?zp*eu9ڌ~znh{al{ÖfVkYoNify#q?狷0|MLaLɟjYF<ڼ\emKYUG =%n(8Ѧ'XY̠ JZ+=`fPK^NH!ppt/notesMasters/notesMaster1.xmlYn8}_`A>.\(K66%LQZv[/١D,j7h<gG#ZKEQ=sm 6oNl[BbcZ12_*Ik,$xaLʺ8"gUMM*^b ?9KuJ\0[̯&"#U( N(0}՜p 2F4WL"\ om1\A3͜vR#8;ӧF / B{Q:r'Ufkm6{m6|1 8t^An(ȬJV)E}]esa SX,ZԳY3?ms6 "/vu(8Jk.KR6'lBƤC(ݰ:?GۢWL 잇,-(|7G[#&]e@{JyI=Xt 6dT 1XҖn@a XMX:Gzfdgr ad1K[̓1z|мOnK$I;;G0ꄗ(q϶nY$- N.Zx,QʄV 3P F6!MT=>61!9Jp*Q#:nX)pXeg`goo*|0m1 )_-yԍX tpF!hE#` D7YD(w+ oYJh-YY$/`0j.WfwI%G$XnQ$tog{pZp9=:}1yq㴪NGO$lc8;|xUV7(,a t 1΄OD<)EzQq Q'Jjʷ4oLfC>o>>5?aH}lz`c3-?hw܇;DVm=7-YJ]?I dBn#>z诡i  'Xc@8Ak|V'p؏@ Pw ]AEmTWh5@ S^m S^~m?aPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N#v\ppt/slides/slide1.xmlPK^N'&ppt/slides/slide2.xmlPK^Nzppt/slides/slide3.xmlPK^NxfF ppt/slides/_rels/slide1.xml.relsPK^N׬ ppt/slides/_rels/slide2.xml.relsPK^N '  ppt/slides/_rels/slide3.xml.relsPK^No A=; ppt/notesSlides/notesSlide1.xmlPK^NK0f ppt/notesSlides/notesSlide2.xmlPK^N]tppt/notesSlides/notesSlide3.xmlPK^ND,z*mppt/notesSlides/_rels/notesSlide1.xml.relsPK^N$/¾*rppt/notesSlides/_rels/notesSlide2.xml.relsPK^N;u?*xppt/notesSlides/_rels/notesSlide3.xml.relsPK^Ni\??ppt/media/image1.jpgPK^No U[Content_Types].xmlPK^NHHWdocProps/core.xmlPK^N煟hXdocProps/custom.xmlPK^No #Y_rels/.relsPK^Nʍ9Zppt/presentation.xmlPK^Ne{hT]ppt/_rels/presentation.xml.relsPK^Nnk˖ ^ppt/viewProps.xmlPK^Nl`ppt/theme/theme2.xmlPK^NX$,fppt/notesMasters/_rels/notesMaster1.xml.relsPK^NH!gppt/notesMasters/notesMaster1.xmlPK^Nkmppt/tableStyles.xmlPK^N }.Anppt/presProps.xmlPK^N mu!oppt/theme/theme1.xmlPK^Ni_!,@vppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!wppt/slideMasters/slideMaster1.xmlPK^Nђ7-~ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!ppt/slideLayouts/slideLayout9.xmlPK^N讹!sppt/slideLayouts/slideLayout8.xmlPK^Nvi!appt/slideLayouts/slideLayout7.xmlPK^N1W!ppt/slideLayouts/slideLayout6.xmlPK^N9!Йppt/slideLayouts/slideLayout5.xmlPK^NX<j!ppt/slideLayouts/slideLayout4.xmlPK^N&a[!5ppt/slideLayouts/slideLayout3.xmlPK^N/\ i !էppt/slideLayouts/slideLayout2.xmlPK^N+cK "}ppt/slideLayouts/slideLayout11.xmlPK^N  "zppt/slideLayouts/slideLayout10.xmlPK^N³](!Cppt/slideLayouts/slideLayout1.xmlPK^NJ6_'kdocProps/app.xmlPK33pandoc-2.9.2.1/test/pptx/speaker_notes_afterseps_templated.pptx000066400000000000000000014621271363630463000250140ustar00rootroot00000000000000PK^N΃#s]ppt/slides/slide1.xmlTr }W0Hv亚ؙ^Lg4SR|wv\Os}+k|QJQ){;77צt"\ɧޔ9QC@P[ir]h%f٘Q{o_^VZlZP>% >]g3f,8L_hi\Vvfa͓%MPx SJ <]\6I,úy_6~' F{"UERo/ų;)lJӈF r`ӬiP1o,C-~94MO5Wk M3֥l]#edbKh/ը/ 0;@<4U*[ F$$LFQquLS=b1}p}}L+Lu")}_ zWJ^E.L/_x>=?ߣ٨tgݸ#yy6"K/D2O;A@g I3@[nШ E\ZGo"-j^c.F[ՋeGX,wzPK^N6-5(ppt/slides/slide2.xmlXn0}WXyseP(դLb5ǎlClP %=pr}yUd,|=Yf=. оLvQKʻ8_x^r!_ &a~~>x<0Se)RLI.h>rcw ueM(gVOHCynlQZp+¬2Q̌ąq9oL]qzVIFbc<%X3ەJ)Mx()  ,k*,y%5;ԙ1Oubû\oE/Y :A; 0lF#iF-\ )PXjBݠI!#NKm=̖'[ 0j77F ithu< Wm&Ky+HRD!@' (X1n O eZROƚ<0K˷>]P ;kh9Zљ6d~vQ+U$TYxK%&#?@ӽA`TV,N{_#2 Q!%3f}võp`yV9^XPK^Nzppt/slides/slide3.xmln ͦ*+HMDJ>xm;:Gm~0"[Sӓ%f[ӟw>~!k|kڅ*Ƽ:ipy!lY5bi:c۶텼b Y]|QsǨ9e'%Йب&݁12wp|; ҡp-kJ V<6C3m y5cXSO-r DY1ݏײE|Va\KWgՕ5!BvV5`XƊ_l1%UKqSؼ$2_lcgy|؄yRkjPEWB(;[-`Bu)-5m#~/q4A1L [k-N#D6th YfCfmZPK^N΋F ppt/slides/_rels/slide1.xml.relsj0} J ȾB4}!e%jA(=丳V18Nze{{|XmqXdB"K+cINhE>+G+rfAȃȺyfq}I6Cܨ?~ĵG.ߨ`i6 sQc@RL-@mhgLW^Z?el9WdQwtUPK^N׬ ppt/slides/_rels/slide2.xml.rels10wEs-0c,,ƄI4Fh HݻkWFsHi4-{u7+"D$hϡ Axj,iDk!ZdY[f@$eu ,mFI<9× {UELf 1VJʔX}GM@TfyiPK^N '  ppt/slides/_rels/slide3.xml.rels 0>EػI[ED"ɟ IH/B<#wt^! TJ7.| e1ˏ؉-U֓x=6a{ᩱ6!aVȫheIbn(+n_@OdVFzaNUxOs 1VJȴFM@zWȾвpPK^No A=;ppt/notesSlides/notesSlide1.xmlUn0SXOM(j RPi ن{8iz+80cK%s^t `(ZU^?]L*,f8s:CȒ l/fۖլ5"8v:_u9'^-%a.&1c;EmMMf}*FGX =7yPR CPm]nȰjDmFzw%:@ԤvʛS)Zߨ /)wsLX8e y@*3qXHTENp-wb3jkm@Ьzm(s;km[Ygn;!\ZqnYm|ëa l+? V3%Y=D4yݐ%ya2xxǎ% t-4k ,:rPǯt~>f%؟91ӌ^rZAFɸ ˤߛ s?hNo㗾Æjòf2yZ2,7[$cN5tXْ _PK^NK0ppt/notesSlides/notesSlide2.xmlTn0SXOM[QP S>qͱ=۰i^;N lt7cۺb`G.O`x5r"Ғ |y^cx;t#c. zs!M Za}%$֖ Uac*G?mh0*\rƫKE (7> ۩.JllRQm4'-M,6f|V:*+՘ej&ZZ?;/2䝈:S-ϣzF,\,xÎd݂EػIۃ"/ml~Fѷ7<î#$Nָ^鸝/g* &;$ )hUcEPzUQ,Dd@=a]+! :qŢK_NMbIOe<Eq>!%:$&&PK^N$/¾*ppt/notesSlides/_rels/notesSlide2.xml.rels1 0wEݤ "]Dpp!6 ( (B{wVgw d Zjc[ ~\lOث"O,X7BpPĝGƅA4VxEQdJ1 j PO];o8sBPojL@Z8+ LYĺtT1LI(VǗ/PK^N;u?*ppt/notesSlides/_rels/notesSlide3.xml.rels 0D~EػI[ADL{/mlo@ PK^Ni\??ppt/media/image2.jpgweX^.tKww# XbE钐\iNYJ@S_o}<̙w杧5:L ;'4@ a@`0cSSQQSPг3вQP01rprpS3 s sqs KKECAmO]l-A$`<_00…rL aaba@$X`a2{8Hrn] Q+Il6ߧzSb{? $eVxZ$Tni?B$! ak!$Y[ bjΘ*K6kfjOAWd|(_#˲Mj5EV꿮-\\#ψh*lqm(>759)BC޼)uINNn l7 (Zgi &4VrM򬵷ME>̔XF|/4d;ͬWN>b{k. MO{ |\z[ PzcYp8paOYv_m@h9灻 DMVq~G0 JR}$PK vRcm7 J|x:q;FSm#VptLu< }$\V.䍣 Q..LG"cȘnΡ἖\l[mA<Nja9*-ma^y7h?\ k4B{=̪)k]1 fBn SZ-)2'd͵bѥPkO3Ăy.#ߍb[ڽuve~[lHX?Jc$}W++ ׏ @V |5I_1(d|_fiŕu2/qw9!XeT+~Oܖ5\̟i"* v PXGd^j80"btky38pnrCoI7[ۺqD<gZ ,Oӭ:gߑchT 'U8g]LV8Wg8QL@%bz% ˬ0g$X\ fyIK1P玭{Cs(zENמ8AI GGhl<NVQ]ǟHZK;%:1㬗Qd9خbQ~j{mF*S}Б7bRTlUq:(0Rg[}Db% V7>2 _}8k?] ڬŅv`G 7DyܴP~ZSsB~]tԵ D rzK۷H\Fu? {3t*^"UJ_ .Vjx<S';!"ns $av"H=g'kXFVmBna;w`E0U!Ca\yc_Em.ΪRWYLU﫟ސ@$q}}QH)C,tH-u*n g:KD}OO?H]zSySzGIm7Wp¢dK'م'YxȖA}+Z ` J`'.ykPPCtrbޘ|23o֓p֒cV0rӾΕWd'q~7D}nC./hr3JpU7$mwCDMLfSBCxjR;Hw , p18qp㋬ᐲ+})ZD|y^d$C*2P~J{]%0gXcZ?-<)daI 邹hGRPm{/]AR$k 3jM4- _Ԏ/^9939xs~ק*Rgtco:NǐPGO`-nc. ;80sm>MVc>b T7M$x#|[R7)vS=E>caJEѤTk0{-•/5ZaS*W Ek}.3X9! U([1GcVPly(D!3KO@؅7èYnY=5:!`40ښA[' ݌$0mߙ<1.ʘW_!(I:#^"9PSr.@R~!/zsMIΙ(E e"< ?hGgp7vͲd{ʲ| vVzxh,xB+ @rnZ?Nݒ9|Ny~l.ď'@otQ{J&˲k{rE_a cNG(!4ۚ.jJPY3ӕqz_@Aww.CbCETnVYۇڑ4%Sw3}G"RVԷ(tgm8~myCXţxeް)%RSka?6f3㐺xXK\Tf-7먷yu{wjV~翇À e;ij b>o\U})wȫ:`_lD"ho٢%9FUXoMxTVa+p N#4OPG@ =̖pj8m79p€A)(JxҹύF9/+QlE}gaGO#ԘzWFZr}%".2]}.2?&IIyOI.;y~"%C{~N2W6t{4|2{J9 IZ crP=J޶2u) g-V'j!N5;tu.jePiKY5ZGէCNj!cQ4tvSfg;5oZ36J(xa秫.E|YKԉhtxe`@>=x=h+?&Q.V`<"!*RXYlҮS{`FC~8'kn_Ub)q4(F^ \h9֮=<.25xP~t-.;弐您֡`J-gu1J77[ y%Zs{^=ҫ_n\x>`$.kM ӾOˠ覐HP-:ͬur8\Hn}̎LڹbL&'V\Poㅡd .D:/aɜPsm[82W\tjɚk6nv%ոJcԖyQo~Lni#|?tWV1joc `"pO$1)c-r/7m<_+/y.ȱ% uX̓'l߅/, s6=7M_˟Vټ?`|خZ=?[oiޔW}]qě_Rn:yƦDW]iYYðvۅ~ dݡW4|/=<3OU+s8LrU8g}Y&72pıOƣs=[2X`OIض ^z!0?'̿YJէxߑH'-"'ӁWrt#!ks@?HQ]v5 =xf6XWzp2Zw;-sBܹ{rtahQWZ*(;?;UdhA#{G`o|Tk(43Xȅ\o "+,.o% b림Bh"g7+.ѯ5539~1sEOVXW?y $Qx7$ 8 7ò2ՒJhV_驌+_lt2 bR㱎c <BuU7-3ˤ!!}cI|n1Vk#eZ{)*@ AHb~Hv4Kɂ/ֱ]- ~ղ[]+Jyfh9>m8-9Bw]-k|Ô<@I͵ qڡs} Wx5 /__iWiz"\{>'_Ƚ("3ۥ0}Vp?3Xz=ޜ,ۤfbTBRSapKztB`Aax+H[|sS2XUʑ5"t'K^s,ZQ{#o4[1n: tآﴓY?2{Bhe(ůU28vSu/N)D\FQ=%i晃*U5 xhnb.8xCMy~4aX).@tu+.bJvlD́Ai~L_z^fwfA^,<Ҿ#|!_|Y]jtf?剽F0G5ˁp3ЇL/ie8VA&9p՝؇5Nk6![.&n,)fWnDwetT.y{E\2x|6]#f.CK[m ^EBv} q| ܿM}DN㙴Y~M6xZ/?ܫBvRɵk¢r? '}t@9y(?tVOX Bn 9r2}ǰKB|ғ ogBh.fl7</ fOHh(;?9)**2TJc@,oBn g88B;C_8Ov >.ܞ)lN; b2ŒKR>m6ԥOvՅ9 wT53#9)4u%Q]~5<]w7zs{N@ٓa_ -ͺqP9ʠz\*R&Tw)70SsGn%Fv?iVD(T1 N.lWEx?{{D@ʩ@lM#yrTT5jjdG +q,a<ǐ46X?O58۸صQav)P(o-eb,:| Z։ TkowOQ+Á$!3 X)O->Wo:c><F&:I_O":Kj,BgxP3_:<& o}c?aD7klz?+?49m.fR;MbR$9dOpz5$p4Zo]vU46>[=>{]keNbyON)F5DDMP?h\vo*cpBvHjxK7[ߺEۆ/*SQ-$q9wXpE5)RGt$_}W `zQMh-q/v&)1s1ZWhNW78n6ս5|ը"Zoo> eŗY:E3SIl~#Ű㧻'@ɮRWc;H:7!ه.ha?׺,1=0!13R^#].1j>u_.|Ȕ9rٿs6ďe /N-<V:qFucgBay8?H>01[b -#L1zBrc*B`!0h;Q_ Z4rAzOcL;t.|9%VNw&# ןQoɔ<=T]u.pӐ :nNh`*$IfY:76q)h7&3ʘt"s_?y_̣klbڴ Ozm?E_῜1^xT b)!<_jьݧb >TL,Pj!@ С8mRG(ȻHZ>bXg5JJ^ O̎7 { D\gg,LZB. iܩX`ѶR/wLk0Mm'-|qt B7a䗪l.3>_[ ]I?bK9pS9=-FKVJU!ȯ?t1CYΚVRe3>ets}E7|dt x.θq}-£HLHle0BSe}ľby GРtP uN2*B[Ŀ6^r+5uw;U%UiSR&Y}a]2+&J}CP8aj[Gt(2{xrbj2ǩnUa9¹Θؠ0H6|iAzr05 3tF1ܛ.|8 ͯ'])BTt  1.g@V7I}B (wG|^|&vw+K׮0.1*w%>c+x}xEh1})5LzRxjj=Gd!`h.iH5ȉkJhnMժ3?w9zG̚Y5eMƈYDA,<ףFLշ1*1lƣan0qWv(?fs3~wB Q{ΐTGN7VK;ЌDo'<Ϙuw'㥪Zf\@MB߬iҕHVG}(MJJ3G02yfYa3~G؄=cNҢ~#)B1IyJ/~#]qb 9ۑo5)Cm7tCr 1N%! ϒE9|Q?k~hcgS@Ŵx pБ`ԽVq[V+dS~N%R?$g% KcBe㼉b.~ۅI]Y./ĈsFZG}~Wڟz8%k(S;>r"Vud:h+tJ zŧ$ >xs;wYǤxߡQI ?r~R S+䅼j%9d==.AxWVؠz=^$dOV`j<:*+ /9|t"NJVuz!Pq5;o n6ߎc{kb՟j ;F秳ɡ(4s 9zSu ՟檫4"TJgRjƋHm 6/ƣi+VmU}Eۏ/nE*N]eDӜ~2:=u?h~5n-nmE:HthX>g~ńÒt*Fbdk !ྔwAbYd<"ۑ#MK!v)Uh_OйwvMJ9[yġ=T >l['zdmrCZ`IB=w٧D19>:CG؈7u3W-l1!"oYXʽ|GꍖD)@Դ~K]Ik86ff#&Kڃ*1(,Ig1Y}"hp"ń۪%.*u!*m߃JsՏ:ԅv5}m8R^?>3wSL-I]D9/a៑Yu-˶u?Ʋk۝[VCUz$ L5;1wd+7Gg.:D /LoGʹPɄB $gɛ*:qq C3YZhԷ_+~`V'G^1b< |`-!1.^3yYs˸ g<&-Y䌹ҟ _1e{@?~j13XZY{kc`91+dgܤE\6/x{U/ %Y:}Y/״rܽ&IlLhD5\K2($zp#kJ :bIDr~i_nsig/fK$&a:A c̬?ʏ+{~.E#U2/]evLJXKvaSC9''ѩve\Ve%)@D`,m黨,"q!t,LNG(v B ;5WHcb't}DSHc "Y{P$i;H *[tOR{{"nOdtЌCǵb <;W $ɝT$pMnQ~ͪ@BJV D xf+/ݞ iw&-82\qtl=^PTR,^W}ϝ\D}^WjB0Oƅ` U7ޚlY4X /z̻~mSs( 6ـG؉.6ۇFc=!hm ë</%j%d?)tJ _}ƕ;};P2i)Y6`Vˆ͋p$iMX B2=erX@q mJ%KF8;p&;ձ'\_lv~`86=X F4J>+վ~qKi0 VPZJxGS_ ;+ ;& OTvu?Y uU%eD2V"2C6xr> $[>"[պtZ UrvZyl' %t54676oНwdvnuxְٮ$eBo^9y 9G2 'um_[tzNR6$R8u'kN;d8aCf;pQ(lNE澅X-sU^n@~Zt4I`[NWVu%O _qQsEVL}gGo"Fc[r#<f{="ݠc}+MKS86{M~Ybu*|e:gD(gXj:ݨYy"DpJZډ$,< z7A8W`}gnn}'gl|w&ea29d *-`;8lÁlFS~2  сEEpLVEb^ՉFGʞ?PG{Y֚7إ3 fh"9v/E6Dx=v|ON?jaA1vy)vql @XxaI|c{ OSf]ZiY /`Å O^₼,T#Z;byG^#1{/#&ȕm6~$Z8kN6h[X/djԵxhh.!)tdƱjבg %\lcg{& wV >m+-zhgt\ ;z8Gܠb<3'TS r\AA(AjͮL)3lƨ(L9V^|1!sW ֨!u yQԢn~(N(Kc9"xgzA4y"ρ b![Bw~Mu:{3YGrx-˨<-8Cw:9_~gĩm" 47­R}Mi:~ـBxǺ;_KFٗ>1u b*z("z5Bй0]: bq!1vx/n9} 9 >6"sxգm pcu$p @:j"[^*c$~¨kQ9[AE7&U<0X&rەB迭Ģ(M1C 8~kعիrٚ$]Z$ܓ[CfX ĝvtI~SFsI~g%CIW{yPF rJm6˚;^R\/v@*⬃Ƹ(Bl fzkfͣsUk48-5f,-Ԣd}nJDCJ^jD GzqA6fk}φX|p$o\@^YYB)fL r}7Ht?whuƤk!1ذ{8KI/< sz(|h;L{^8oLKOlIȵ t Uc{Ϙ& k.EOWYV uQ*}P e*O{H ;:^Bɶq. ߼,|F Kz.FQYޖ-{-G=f Z&C$ BHNR"r[KDBT>Eǚޯ\Y^/'`85O)o^ESҦ9qM\ľg~ӷeB0dGAF쉚'#ζSʹ ڇ @\ AAPD`ZRr m:ۊ͘v'zqN\#hDz3Mv fu\ _Z7kI^=B6@ƽvBTtȄߞaף`/4igS:p wPVe/VwK5wwr97CtM# ݹR>{s(8eRwne t)`0Vl)+7,`R)IEh2!y;TM;m,W<Oa[-ʕǤvQ]Ű(xs,-~|gĵ_(E1(&zİ@ȎkK0Bt@(}),m3xM-*RTl!YMd/b3G=R _ut(Tv-㝋IA^_#ޫ'~QɉLX g5 }ViUdp}#&ﶘ_)bc9k[! M8.'x _34^{a1<$Fj{b&GW@6;CS 3bG iv8@fjG},]!AxP&o[H]7"kH<4Љch޺I  }hU[ʎF2I!z5'DzF~̀Qz! ҁp8|}0tޅ0"ZkRo4`\oᴽZReXFє\V7"[/o2wyS~./Hb+ Zn撠 c/3̮]E L* Ed0Cԝ$ >c=$.PuZR(&m$$L<ڼFf3>2Q9.O( OF.@&+SkU ex !NQ8XZ뇛J@N] !OPK^N]2%C[Content_Types].xml͘r0 #iұ!3N@5V#@b3jLnlKhVɳ'[Nh5h __'W~g4VyF4s$w6J[ɑ6c'y|:dV 'Xh-&uWy)< >WT#]fUh!wG"*}7yF(¸#)M*EmSSOq+R\jj%  ҉!I(PcSrc:ޠ7⏽qGpG5K>BGsb4+}4KOҬS}i_o3Uv+ҁLkʂv]^jw9 QnPZcQ"[K؟m{e}rPEV2]}3Sז\V?<{ӼNS;!8͒8A4M4 k b埂PK^N7rHdocProps/core.xmlN0sE(`D,&qʰ^ȝ5B @$'(I#e/B0jCqWgqpm~d>:"gbUF}߷/GnVo)HZh~%EiկET(,(FjaO@ 0"%w_ֆ뛳?Q݁K5qgwtkODf& 'pBcnfkQl߱0[~6!jzZ!Hr9y\ =$LS/SCLaFٲ Gqڔʈًޡy JPK^NE4hppt/_rels/presentation.xml.relsN } ½tN3e.L@z[ ӽdJxAvy~?_sr5h %).#\B6 3[l'EwB,``6S?iif@<zj≶5f[㭚FpX+1tg 5xCfZp_ȼF@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK^Nppt/theme/theme2.xmlYOFKoe;i&%DZ4&;Ҙ(ɱP(MK/z(m ~)m I3GIl `kޛ߼H:41 [L]yDb']5ALrv?<)̠&szt0X$Ā#S I#DͰaod庖L:jI}wi|OY!0=eYS.Ɖ!<庆㢣G7v+%t%QY-#ԣx躞V6n W@Z[XVU ۃ`X5d[;kµ%Pu)|ء[{k jbmMwlW {_ )*7Zn:2\)HBј"m%H) b6G#~[^;Hڕ(b[",œ_Tw|3Oj Ͼ~Ͼ(= 2eiWvdbn; Y' Q< \=xJ^ݮ>H#rՀ>9].ƒ0t&p;܈p6)T&h^" 9ZG TB}QȄkHC4jK(qx|S2?uXLB\sE0 S2{*sθt1ц1dLskt/ >gu$H9 SMQ؏ؑHQ]#\IWHqyco"ھ!:AU- Hq'拍V3oTv}eWWEʥYϛpU<$4F~Y~ u󾆿޴Ͼr!K3Y~0>s XY晘^<²Q*n\ W%%ӃL0V9BM hhf>+e-Rkhr-J۱0W}}`uD <+24P<܊7a\ĩ_F#m:EFBJ: ) SMǺQVo#vmy5xL]}"2 {'yWL) VvUT(.kn.y 2L`$諌({\4L>Hmg:p`_y3FTJ7b)֞(,vWzEGGtsVʅdt6f4VK5+OY:měoִw@o7 6֐Εek5?zp*eu9ڌ~znh{al{ÖfVkYoNify#q?狷0|MLaLɟjYF<ڼ\emKYUG =%n(8Ѧ'XY̠ JZ+=`fPK^NH!ppt/notesMasters/notesMaster1.xmlYn8}_`A>.\(K66%LQZv[/١D,j7h<gG#ZKEQ=sm 6oNl[BbcZ12_*Ik,$xaLʺ8"gUMM*^b ?9KuJ\0[̯&"#U( N(0}՜p 2F4WL"\ om1\A3͜vR#8;ӧF / B{Q:r'Ufkm6{m6|1 8t^An(ȬJV)E}]esa SX,ZԳY3?ms6 "/vu(8Jk.KR6'lBƤC(ݰ:?GۢWL 잇,-(|7G[#&]e@{JyI=Xt 6dT 1XҖn@a XMX:Gzfdgr ad1K[̓1z|мOnK$I;;G0ꄗ(q϶nY$- N.Zx,QʄV 3P F6!MT=>61!9Jp*Q#:nX)pXeg`goo*|0m1 )_-yԍX tpF!hE#` D7YD(w+ oYJh-YY$/`0j.WfwI%G$XnQ$tog{pZp9=:}1yq㴪NGO$lc8;|xUV7(,a t 1΄OD<)EzQq Q'Jjʷ4oLfC>o>>5?aH}lz`c3-?hw܇;DVm=7-YJ]?I dBn#>z诡i  'Xc@8Ak|V'p؏@ Pw ]AEmTWh5@ S^m S^~m?aPK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PK^N΃#s]ppt/slides/slide1.xmlPK^N6-5(ppt/slides/slide2.xmlPK^Nzppt/slides/slide3.xmlPK^N΋F ppt/slides/_rels/slide1.xml.relsPK^N׬ ppt/slides/_rels/slide2.xml.relsPK^N '  ppt/slides/_rels/slide3.xml.relsPK^No A=; ppt/notesSlides/notesSlide1.xmlPK^NK0i ppt/notesSlides/notesSlide2.xmlPK^N]tppt/notesSlides/notesSlide3.xmlPK^ND,z*pppt/notesSlides/_rels/notesSlide1.xml.relsPK^N$/¾*uppt/notesSlides/_rels/notesSlide2.xml.relsPK^N;u?*{ppt/notesSlides/_rels/notesSlide3.xml.relsPK^Ni\??ppt/media/image2.jpgPK^N]2%CU[Content_Types].xmlPK^N7rH?WdocProps/core.xmlPK^N煟XdocProps/custom.xmlPK^No HY_rels/.relsPK^NE&80 ^Zppt/presentation.xmlPK^NE4h\ppt/_rels/presentation.xml.relsPK^Nro"^ppt/viewProps.xmlPK^N_ppt/theme/theme2.xmlPK^NX$,eppt/notesMasters/_rels/notesMaster1.xml.relsPK^NH!fppt/notesMasters/notesMaster1.xmlPK-!(^oolppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"Tppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!'ppt/slideMasters/slideMaster1.xmlPK-!ђ7-gppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-nppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,uppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,{ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "(ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"Oppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!$ppt/slideLayouts/slideLayout8.xmlPK-! Lم!)ppt/slideLayouts/slideLayout7.xmlPK-!=t%!,ppt/slideLayouts/slideLayout1.xmlPK-!)J. !1ppt/slideLayouts/slideLayout2.xmlPK-!"!P5ppt/slideLayouts/slideLayout3.xmlPK-!=p!:ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!`>ppt/slideLayouts/slideLayout5.xmlPK-!z&!Cppt/slideLayouts/slideLayout6.xmlPK-!:D "Fppt/slideLayouts/slideLayout16.xmlPK-!fp$ "kJppt/slideLayouts/slideLayout17.xmlPK-!x-,NdocProps/app.xmlPK@@vPpandoc-2.9.2.1/test/pptx/speaker_notes_templated.pptx000066400000000000000000014224601363630463000227340ustar00rootroot00000000000000PK^N㕆Lppt/slides/slide1.xmlSN0ԥHE$xT*|_ݐ=~$^k(ZJFl643\m^O/9^+Z6[Y cmc!^ݖpG?#d1_Eü;fl6a;:ӷfQj2$=B+lڗCݬ;O%d8+ :UIh%)H-~}2#mlJRHѶqC?)2% =J+:%GNfŊ#fݳ01/LjGpGy)8Rke#+R<$? ? PK^NayވXppt/slides/slide2.xmlSN0ԥHE* `m/n=k;i ŻΌNI҂%)-LuI??^/o^V{/xIl5(GƂ8^ݚUCI6o⍦ϼYFlAH44#LAiRV1zb7gvRy.i*tW|m/[9##]I}:Y|._ɳu\?Q\fW&j#+pdr:HvfmPb2%K>d#b5nNzrBh}\1B { fӁ5ʤXq7KI+$ӄ =| a@,_5F1[MBv"';~3lXSPK^N|Rppt/slides/slide3.xmlSN0ԥHEM+T*>8&/n=k;8]{wggF|+I:p5)%Z-5]."ث}Kڄ` Ƽh@q?14jxu[V9G %l:byS׭{#v t $7#=:PZ2U޾:ٍ]T^ukG ݡDs% /u3 a;kbDy/)}H'"8zݢyK(.3rTugt@Zr82:JوOAɔ,%mpCԓ 예/:+/po6XLw)iucv+ac 7,n[ 64$ 'q 1ߑN﯅KPK^N0 VVppt/slides/slide4.xmlSMo W ]UVK 0^€d 303o{gg1=r6x݇%bdǜC'DR#86>RmLx:ʿᬸn/23(գ $xф` J;RV}(N71>ݴhr3zΙX*K_2 ḦJ$yl9}(0gګ:{V㯷~.gUWUEػIۃ"B?ml~HRѷ7^<z 7AY!46t.r Uq1YB\ }nX=juhҦ^F1'UtȊ,[1?̀rIꆃl۶JQ_*XTcLw9P:g ;ZO4c#ӫzFf(PK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^N׬ ppt/slides/_rels/slide3.xml.rels10wEs-0c,,ƄI4Fh HݻkWFsHi4-{u7+"D$hϡ Axj,iDk!ZdY[f@$eu ,mFI<9× {UELf 1VJʔX}GM@TfyiPK^NG'w ppt/slides/_rels/slide4.xml.rels 0>EػI[ADL{ɟ 6?$Qm;;;n }Ppi2i7_AU6DL+H1C[3dZji"w y"˖̏3d&rz8%۶/, xkLw9P:' ;ZO4c#zBǖśMP>PK^Nb8ppt/notesSlides/notesSlide1.xmlV_o0ߧ&VBVb$ MFWT~/WɥD"\,qK i g-LL8Vń$NMS*NSzIRM8HD8.)rɊDEj\ M4Sx4pܒKlԣXjPOS#A91FԔva-A" ,+ƛ~vЦ]H&l,JnRNǬ=!=߬S@w.MM ,=݊Q2ffH|FK6 rʐ*wa_]5j@eBФhTڧPy=ڹL؝#fйkإ13vf Jӱ5+.S}_Ha5ʫ.Iµ/mat͙L4lH7g|,yz͑@f_zK$8Od箘yvϐ+-[[ ~EviFsk\GQ Gx~]|=xw{R9[Kۣ}9{XAA .U/͂pC( f)h.qoNWi3UlYt1Afu4}J4m0AJs$hLOM󃑤1FTvq-WQ"DX"SSC>|oʑMX;.f٧c,;fOC\wTL}A2Ȕ`P[ðAIaFbԣr4ʨ\Vd ΐhX-{AMzm2v hR>}(SZ!gsw ׸K{º+]^'V̂R%7eDI:3ZW@Xwfi Rd_m)WPe,}am>8F[YRU|۲L/}OݨvN۸Iw5xygX,h O3\3>ۀSj'PK^NkxJ_ppt/notesSlides/notesSlide3.xmlUn!}W XVQUȵEavV:$/0039gr]1Kc1y>~. hd!:)LH֗ UQc*'?,JHB*ZrSE \dY7DVR&OA JZnɂn^8*sUgBej bibǬyY#,gC~f8iꐣ?+! PpvCfv?H+kwxg~wߧm1ʀ ס!ciMW]O'n럷zIu}Qg<Go0̨{Ѐ8h靹y:IxsݳAKBr PK^ND,z*ppt/notesSlides/_rels/notesSlide1.xml.rels 0>EػIۃ"/ml~Fѷ7<î#$Nָ^鸝/g* &;$ )hUcEPzUQ,Dd@=a]+! :qŢK_NMbIOe<Eq>!%:$&&PK^N;u?*ppt/notesSlides/_rels/notesSlide2.xml.rels 0D~EػI[ADL{/mlo@ PK^Nh*ppt/notesSlides/_rels/notesSlide3.xml.rels 0D~EػI[DDL{/mlo@ PK^N^YP[Content_Types].xml͘n0)VĤmW@/U[dk쁖$)UM9،ne:8aJt*|<›ɏڀ hrph~1H"m@L[ɑv O9%Z!(`NF0 w.Rx.!7& Gf(h!s"W*7D(¸) dBݳ"[%M`N6Ltxq{l& rҁ!I(`ǻ/1\F|認gkcѵ."T>Ry u#ԹPg>BQ]u#TQ^:UU~zf;m|ϭ*kP~(djSŶuoW_3:!*ҵJ#METWDEIE؞my91>KteE2M}[Ֆ\Z^^ȭqa#~~S!h.8WxQEҚCĊ'PK^N7rHdocProps/core.xmlN0sE(`D,&qʰ^ȝ5B @$'(I#e/B0jCqWgqpm~d>:"gbUF}߷/GnVo)H>q`x:qZf8xbe^gm&`^tc E.QG8, f龃7{ (QI^ocbZi PK^Nro"ppt/viewProps.xmlMo0 Qkh զi0l(D>@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK^Nppt/theme/theme2.xmlYOFKoe;i&%DZ4&;Ҙ(ɱP(MK/z(m ~)m I3GIl `kޛ߼H:41 [L]yDb']5ALrv?<)̠&szt0X$Ā#S I#DͰaod庖L:jI}wi|OY!0=eYS.Ɖ!<庆㢣G7v+%t%QY-#ԣx躞V6n W@Z[XVU ۃ`X5d[;kµ%Pu)|ء[{k jbmMwlW {_ )*7Zn:2\)HBј"m%H) b6G#~[^;Hڕ(b[",œ_Tw|3Oj Ͼ~Ͼ(= 2eiWvdbn; Y' Q< \=xJ^ݮ>H#rՀ>9].ƒ0t&p;܈p6)T&h^" 9ZG TB}QȄkHC4jK(qx|S2?uXLB\sE0 S2{*sθt1ц1dLskt/ >gu$H9 SMQ؏ؑHQ]#\IWHqyco"ھ!:AU- Hq'拍V3oTv}eWWEʥYϛpU<$4F~Y~ u󾆿޴Ͼr!K3Y~0>s XY晘^<²Q*n\ W%%ӃL0V9BM hhf>+e-Rkhr-J۱0W}}`uD <+24P<܊7a\ĩ_F#m:EFBJ: ) SMǺQVo#vmy5xL]}"2 {'yWL) VvUT(.kn.y 2L`$諌({\4L>Hmg:p`_y3FTJ7b)֞(,vWzEGGtsVʅdt6f4VK5+OY:měoִw@o7 6֐Εek5?zp*eu9ڌ~znh{al{ÖfVkYoNify#q?狷0|MLaLɟjYF<ڼ\emKYUG =%n(8Ѧ'XY̠ JZ+=`fPK^NH!ppt/notesMasters/notesMaster1.xmlYn8}_`A>.\(K66%LQZv[/١D,j7h<gG#ZKEQ=sm 6oNl[BbcZ12_*Ik,$xaLʺ8"gUMM*^b ?9KuJ\0[̯&"#U( N(0}՜p 2F4WL"\ om1\A3͜vR#8;ӧF / B{Q:r'Ufkm6{m6|1 8t^An(ȬJV)E}]esa SX,ZԳY3?ms6 "/vu(8Jk.KR6'lBƤC(ݰ:?GۢWL 잇,-(|7G[#&]e@{JyI=Xt 6dT 1XҖn@a XMX:Gzfdgr ad1K[̓1z|мOnK$I;;G0ꄗ(q϶nY$- N.Zx,QʄV 3P F6!MT=>61!9Jp*Q#:nX)pXeg`goo*|0m1 )_-yԍX tpF!hE#` D7YD(w+ oYJh-YY$/`0j.WfwI%G$XnQ$tog{pZp9=:}1yq㴪NGO$lc8;|xUV7(,a t 1΄OD<)EzQq Q'Jjʷ4oLfC>o>>5?aH}lz`c3-?hw܇;DVm=7-YJ]?I dBn#>z诡i  'Xc@8Ak|V'p؏@ Pw ]AEmTWh5@ S^m S^~m?aPK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PK^N㕆Lppt/slides/slide1.xmlPK^NayވXppt/slides/slide2.xmlPK^N|Rnppt/slides/slide3.xmlPK^N0 VV&ppt/slides/slide4.xmlPK^NGaA ppt/slides/_rels/slide1.xml.relsPK^N}& ppt/slides/_rels/slide2.xml.relsPK^N׬ ppt/slides/_rels/slide3.xml.relsPK^NG'w ppt/slides/_rels/slide4.xml.relsPK^Nb8 ppt/notesSlides/notesSlide1.xmlPK^NQl ppt/notesSlides/notesSlide2.xmlPK^NkxJ_ppt/notesSlides/notesSlide3.xmlPK^ND,z*ppt/notesSlides/_rels/notesSlide1.xml.relsPK^N;u?*ppt/notesSlides/_rels/notesSlide2.xml.relsPK^Nh*ppt/notesSlides/_rels/notesSlide3.xml.relsPK^N^YP[Content_Types].xmlPK^N7rHdocProps/core.xmlPK^N煟 docProps/custom.xmlPK^No _rels/.relsPK^N˼=P ppt/presentation.xmlPK^Ne KKppt/_rels/presentation.xml.relsPK^Nro"ppt/viewProps.xmlPK^NC ppt/theme/theme2.xmlPK^NX$,l&ppt/notesMasters/_rels/notesMaster1.xml.relsPK^NH!i'ppt/notesMasters/notesMaster1.xmlPK-!(^ooB-ppt/media/image1.pngPK-!uppt/tableStyles.xmlPK-! 0Rppt/presProps.xmlPK-!:~"T ppt/theme/theme1.xmlPK-!E ,"ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7, ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,#ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,)ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,/ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-5ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-<ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-Cppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-Jppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-Qppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-Xppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"_ppt/slideLayouts/slideLayout10.xmlPK-!3Y "appt/slideLayouts/slideLayout11.xmlPK-!im "vppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!Mppt/slideLayouts/slideLayout9.xmlPK-!K%!\ppt/slideLayouts/slideLayout8.xmlPK-! Lم!Zppt/slideLayouts/slideLayout7.xmlPK-!=t%!ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!;ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!}ppt/slideLayouts/slideLayout6.xmlPK-!:D "{ppt/slideLayouts/slideLayout16.xmlPK-!fp$ " ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPKAApandoc-2.9.2.1/test/pptx/start_numbering_at.native000066400000000000000000000012071363630463000222040ustar00rootroot00000000000000[Header 2 ("example-numbering-mwe",[],[]) [Str "Example",Space,Str "numbering",Space,Str "MWE"] ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "slide",Space,Str "with",Space,Str "examples",Space,Str "in",Space,Str "(1)",Space,Str "and",Space,Str "(2)"] ,OrderedList (1,Example,TwoParens) [[Plain [Str "First"]] ,[Plain [Str "Second"]]] ,Header 2 ("a-second-slide",[],[]) [Str "A",Space,Str "second",Space,Str "slide"] ,Para [Str "This",Space,Str "second",Space,Str "slide",Space,Str "has",Space,Str "a",Space,Str "third",Space,Str "example",Space,Str "in",Space,Str "(3)."] ,OrderedList (3,Example,TwoParens) [[Plain [Str "Third"]]]] pandoc-2.9.2.1/test/pptx/start_numbering_at.pptx000066400000000000000000000646271363630463000217300ustar00rootroot00000000000000PK*Oµ`ppt/slides/slide1.xmlTMo1W|JJUQӒ^RQXmk{w$ETUͼ7VE5#ҿ@íf="ݵ% aMbtCJPpe[YYL[³ġzfҐ?]$ǯo4ؐxT,7|9yE,=v{~&jL1U= O)#E% ()e&%0#bpyϓ鷁?ontgKg̣"t'}(5C~oPK*O*mppt/slides/slide2.xmlTnZ1+F^b RU\"&Hpl%^~ $ R69g,uZA}4h2#Z&ͮA?[7 A5aF$bt3\0ZILG̓ C+<?aMA}}JʿZ "1ta@sנ9C)4OZg˴?[/e YR!7#}^=Zn0ɬzD%eɻz陛v)EYLv7j#09_M 1Rϻ. j(>޲C%3:R?ʒbU&Ұ4lw_79K8Z $rpaOzah0/$\XŸ[)Yw_p#d:(R D!=RYi͇_v3+/.B$>.bQgɓ+⹹QWӿvPK*O}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK*O}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK*OCΜ [Content_Types].xml͗]o0+ "z} ڦ-N,FtJHs`RgJ3C<1}ѥȍ:GHex5CVRYyV].lFP6Bmwg Yi7BtP](eK'7~f)&!F̵;dZjo3x#͜W+/FxڱLR PK*O2HdocProps/core.xmln0}I-B8JJժ7^"mkD֛3yv&5sRd9I+jȢczxցG!}&0dAlAEz1~C;Z=Հ\rL@$'HA -^^ r nZ5۶Ig ލ*`e\ ﷇ"2DeT& y$ui>KˇU>eeQ㛮?g@x?PK*O煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK*Oo _rels/.relsN0 d>:"gbUF}߷/GnVo)HPJ^u^15]0RyIw[Gɓͤ5v)~+ji\+ + #$3iĨ2 F9=Q80ċ'Hp ~N:H) ~R<@JF0=d4CJH8Jwif 9CZ-ZY /3K~nv#;UC{vyW;|/ҍצ, /c̨Ję`;yX+N~`^Ҍ,2Ϊ{-izwR#Jw`L!v[WDLIU >qz~d\1;OXPK*OZWJppt/_rels/presentation.xml.relsN0 ٣'^!w-W-'r&%V׳3 R\ R'}@w48ɘߔ۔\+| ;YERX;}xA'7PK*Onk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK*Oppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK*O mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK*Ovi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK*O1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK*OX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK*O&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK*O/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK*O+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK*O³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK*Oµ`ppt/slides/slide1.xmlPK*O*m+ppt/slides/slide2.xmlPK*O}& Ippt/slides/_rels/slide1.xml.relsPK*O}& 3ppt/slides/_rels/slide2.xml.relsPK*OCΜ [Content_Types].xmlPK*O2HdocProps/core.xmlPK*O煟8 docProps/custom.xmlPK*Oo _rels/.relsPK*O#'_ ppt/presentation.xmlPK*OZWJppt/_rels/presentation.xml.relsPK*Onk˖ Nppt/viewProps.xmlPK*Oppt/tableStyles.xmlPK*O }.ppt/presProps.xmlPK*O mu!ppt/theme/theme1.xmlPK*Oi_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK*O( To.!Appt/slideMasters/slideMaster1.xmlPK*Oђ7-e"ppt/slideLayouts/_rels/slideLayout11.xml.relsPK*Oђ7-f#ppt/slideLayouts/_rels/slideLayout10.xml.relsPK*Oђ7,g$ppt/slideLayouts/_rels/slideLayout9.xml.relsPK*Oђ7,g%ppt/slideLayouts/_rels/slideLayout8.xml.relsPK*Oђ7,g&ppt/slideLayouts/_rels/slideLayout7.xml.relsPK*Oђ7,g'ppt/slideLayouts/_rels/slideLayout6.xml.relsPK*Oђ7,g(ppt/slideLayouts/_rels/slideLayout5.xml.relsPK*Oђ7,g)ppt/slideLayouts/_rels/slideLayout4.xml.relsPK*Oђ7,g*ppt/slideLayouts/_rels/slideLayout3.xml.relsPK*Oђ7,g+ppt/slideLayouts/_rels/slideLayout2.xml.relsPK*Oђ7,g,ppt/slideLayouts/_rels/slideLayout1.xml.relsPK*Oрu3!g-ppt/slideLayouts/slideLayout9.xmlPK*O讹!2ppt/slideLayouts/slideLayout8.xmlPK*Ovi! 7ppt/slideLayouts/slideLayout7.xmlPK*O1W!*:ppt/slideLayouts/slideLayout6.xmlPK*O9!x=ppt/slideLayouts/slideLayout5.xmlPK*OX<j!Bppt/slideLayouts/slideLayout4.xmlPK*O&a[!Fppt/slideLayouts/slideLayout3.xmlPK*O/\ i !}Kppt/slideLayouts/slideLayout2.xmlPK*O+cK "%Oppt/slideLayouts/slideLayout11.xmlPK*O  ""Sppt/slideLayouts/slideLayout10.xmlPK*O³](!Vppt/slideLayouts/slideLayout1.xmlPK*OJ6_'kR[docProps/app.xmlPK'' ]pandoc-2.9.2.1/test/pptx/start_numbering_at_templated.pptx000066400000000000000000014021231363630463000237530ustar00rootroot00000000000000PK*O!yppt/slides/slide1.xmlTMo1W|JJUQӒ^RUXmk{w4ATUͼ7VE5#ҿ@íf="?ݍ% aMbtCJPpe[YYL[³ġzfҐ?]$/o4ؐxT,7|9yE,=v{?tlMLՀb+zRGJHAPR iF}H,7-!7QN&,H9J ּۊ+eIp.ejMu^4|yTNuI+.]p"T"FsEI tI *'*l;35㫋f eq8x\fgɌ6>uߥgv!*ҵI CGYǺdjGw^2T憎O攉4sߍ|KK*geQ㛮?g@x?PK*O煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK*Oo _rels/.relsN0 d>:"gbUF}߷/GnVo)HӚ=AKf)^ٵ(~SmUhs7"Qg11H- (!Fj^yԖꙧϼx?l2 p>PvqJHY;ߠXJfmCCRHl;Wmu-OB9|ckEsaZ+]pzp)L)L{H^-``Ȩ19FQ,LGH=AJ@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PK*O!yppt/slides/slide1.xmlPK*ONԚ+ppt/slides/slide2.xmlPK*O}& Ippt/slides/_rels/slide1.xml.relsPK*O}& 3ppt/slides/_rels/slide2.xml.relsPK*OD~[Content_Types].xmlPK*O HdocProps/core.xmlPK*O煟\ docProps/custom.xmlPK*Oo  _rels/.relsPK*O% - ppt/presentation.xmlPK*O8J ppt/_rels/presentation.xml.relsPK*Oro"ppt/viewProps.xmlPK-!(^ooappt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0qppt/presProps.xmlPK-!:~"T*ppt/theme/theme1.xmlPK-!E ,Appt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!Љppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,$ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,*ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,0ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,6ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,<ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,Bppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,Hppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,Nppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-Tppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-[ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-bppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ippt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-pppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-wppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"~ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "Ѳppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!lppt/slideLayouts/slideLayout9.xmlPK-!K%!{ppt/slideLayouts/slideLayout8.xmlPK-! Lم!yppt/slideLayouts/slideLayout7.xmlPK-!=t%!=ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!Zppt/slideLayouts/slideLayout4.xmlPK-!s@yT! ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK44pandoc-2.9.2.1/test/pptx/tables.native000066400000000000000000000021641363630463000175720ustar00rootroot00000000000000[Header 2 ("a-table-with-a-caption",[],[]) [Str "A",Space,Str "Table,",Space,Str "with",Space,Str "a",Space,Str "caption"] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax,",Space,Str "with",Space,Str "alignment"] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Table [] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]]] pandoc-2.9.2.1/test/pptx/tables.pptx000066400000000000000000000656651363630463000173160ustar00rootroot00000000000000PK^N nppt/slides/slide1.xmlXQo0~߯<PhIUW!۲ MﳝNЗᄏ||y5O)ag]~{DŽMޏm]\10LuPKU3.031)VN`,ѫR~ 0//wc!)f:3"1ET &v&$Vƌ]3E4#ٝQ:Qxw=\elI1EXv4y3^+xAF(M;Jn ,9e7 FDS J\ *Yv aik[fJaٿZfM<^X?/fVQ*bdtF])nBXl: p}v)޵iU"h@*ZХ ,3H$$*EV9*85L)pi%h˧jUɺM%x^.QosZ5sfpEVoW -?/Я7 PF`*?6c~`R<&R'|A,Nnq-j׵V-lAZ.nA@y[rwY@$p o}Vi KG,;5$jIG` ;S=0[<2]MY<1׃8R>D>w\m|~l=ԏw|$l4\=mSJP[jv?<QűlN- ٪7;W)az;S`'p]f^"]gP#T9#roSΔh{޿ ( 4zC,FS8d"8؀c?XBwPK^N^ppt/slides/slide2.xmlWn0SXiB)*T-$Ԣ{8ĚcGi>&`?N^ à{p,R}\]@jAT99)Pu&JY&d^L%z9 0QxO2DeArI$aHiUN˪Vilt Hw_Xj|dRΤ=~\$f'd|,!â6`̺=$kōm?.XDeN -|Ww:\i!LrR"AlLY.4my+nJ䃤kc.E%` 7ToE1\V[1ɩ5(OB^Iz|.Ft+ zIo1)/=%ى`j:#dheLލĩ8~2WQ@l|'//V!:=lkkkPhأ?PK^N}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^N}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PK^NCΜ [Content_Types].xml͗]o0+ "z} ڦ-N,FtJHs`RgJ3C<1}ѥȍ:GHex5CVRYyV].lFP6Bmwg Yi7BtP](eK'7~f)&!F̵;dZjo3x#͜W+/FxڱLR PK^NHHdocProps/core.xml_O  -Y4{o6'vvl7߸s T˽nAY@ (#Tf@*G [>*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)HPJ^u^15]0RyIw[Gɓͤ5v)~+ji\+ + #$3iĨ2 F9=Q80ċ'Hp ~N:H) ~R<@JF0=d4CJH8Jwif 9CZ-ZY /3K~nv#;UC{vyW;|/ҍצ, /c̨Ję`;yX+N~`^Ҍ,2Ϊ{-izwR#Jw`L!v[WDLIU >qz~d\1;OXPK^NZWJppt/_rels/presentation.xml.relsN0 ٣'^!w-W-'r&%V׳3 R\ R'}@w48ɘߔ۔\+| ;YERX;}xA'7PK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N nppt/slides/slide1.xmlPK^N^ppt/slides/slide2.xmlPK^N}& hppt/slides/_rels/slide1.xml.relsPK^N}& Rppt/slides/_rels/slide2.xml.relsPK^NCΜ <[Content_Types].xmlPK^NHH docProps/core.xmlPK^N煟V docProps/custom.xmlPK^No  _rels/.relsPK^N#'_' ppt/presentation.xmlPK^NZWJ-ppt/_rels/presentation.xml.relsPK^Nnk˖ lppt/viewProps.xmlPK^N1ppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!ppt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!_ppt/slideMasters/slideMaster1.xmlPK^Nђ7-$ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-%ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,&ppt/slideLayouts/_rels/slideLayout9.xml.relsPK^Nђ7,'ppt/slideLayouts/_rels/slideLayout8.xml.relsPK^Nђ7,(ppt/slideLayouts/_rels/slideLayout7.xml.relsPK^Nђ7,)ppt/slideLayouts/_rels/slideLayout6.xml.relsPK^Nђ7,*ppt/slideLayouts/_rels/slideLayout5.xml.relsPK^Nђ7,+ppt/slideLayouts/_rels/slideLayout4.xml.relsPK^Nђ7,,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK^Nђ7,-ppt/slideLayouts/_rels/slideLayout2.xml.relsPK^Nђ7,.ppt/slideLayouts/_rels/slideLayout1.xml.relsPK^Nрu3!/ppt/slideLayouts/slideLayout9.xmlPK^N讹!94ppt/slideLayouts/slideLayout8.xmlPK^Nvi!'9ppt/slideLayouts/slideLayout7.xmlPK^N1W!H<ppt/slideLayouts/slideLayout6.xmlPK^N9!?ppt/slideLayouts/slideLayout5.xmlPK^NX<j!Dppt/slideLayouts/slideLayout4.xmlPK^N&a[!Hppt/slideLayouts/slideLayout3.xmlPK^N/\ i !Mppt/slideLayouts/slideLayout2.xmlPK^N+cK "CQppt/slideLayouts/slideLayout11.xmlPK^N  "@Uppt/slideLayouts/slideLayout10.xmlPK^N³](! Yppt/slideLayouts/slideLayout1.xmlPK^NJ6_'kp]docProps/app.xmlPK'' _pandoc-2.9.2.1/test/pptx/tables_templated.pptx000066400000000000000000014031641363630463000213440ustar00rootroot00000000000000PKtN.3pppt/slides/slide1.xmlXmo0_a@(CTuU~bͱ-ۥi}@xKw]Kr>2+(bg gMzu|8]E3`t^k-4R\H[9D/FAamX _$C>҈iSDʚŚX3n ,}IMox҉d' z+ٴ5 j,h^`=wWhL\Mkimv_mӇXsl+nFթM1U7A4A.T(rXȆºȚ]ln<\E]BO< &ЁS$l9hAj|(bD"ZT%\YTԀ3m(9 Ϫ Umdvz֪1vXVYԉQ^Q$4ׁKk>t4ϒËS[9n'1J?b; ׬3qj]4ήڍV7.VI.hмHP'F dNq'I|Л ?-A^v)}@tbxrz[1ph3[<>̩=#37v'(sB܇GBNB֣ݏǁN}x =\_^#ӷ\hX4Ik)i'Q) ;Ͼ2&LryĔN-*]uƯ Ⱦ!.8SZz>4H!(>Ј2gNh pp.`u݁g7PKtNcppt/slides/slide2.xmlWn0: 2TZ.դCmq5ǎC| &:Adܮ VDVTA]  :mᗛ_h_^ ȕ*V8'DI>˄,KDo:G`]X /YF1 ,W.$ )iYcT:ށ4ԝ*_%!Y3iV3 h G5_9 eX&3YYփ@nGh6Zvqcy|rE`1QS<~ݺӑJf a  f9NGV M%Qs Qg2 owc3nXzQ7 8n''| sKIA  L.5g~$gTVYN爧޶&E3-JFqt:wɤҀ}zxu:F[ / iH0I_oSOIeZR"}7\ >V[1GkPj9ZŒ6|$8UsC]@ "W`R_  dP"όXc%;e3 SxKyq"3!`xgY@h|OOV):=y/41|{OPh_?PKtN}& ppt/slides/_rels/slide1.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtN}& ppt/slides/_rels/slide2.xml.rels 0D~EػIۃ4E'mlb[qgg0u'JZA\on34P?p)[h|$9c#1%a,ghgpa)A3/KjdUQX2@오9/tn«Sˌ6`q2=ꖔ2hL(;SEs&j+PKtND~[Content_Types].xml͘n0}(׊ЖҊM*}7jv(}' B Q}ٞ~2G xsІI1à{ "31V a0f%D3RԜZ\)Q4S vK"),۲?Ä]t߻+R*Z<&)ٚ!15soVhf1fƔ9)tYo>iF}H,7-!7QN&,H9J ּۊ+eIp.ejMu^4|yTNuI+.]p"T"FsEI tI *'*l;35㫋f eq8x\fgɌ6>uߥgv!*ҵI CGYǺdjGw^2T憎O攉4sߍ|K+s"$/i>)xU㛮3`7PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HӚ=AKf)^ٵ(~SmUhs7"Qg11H- (!Fj^yԖꙧϼx?l2 p>PvqJHY;ߠXJfmCCRHl;Wmu-OB9|ckEsaZ+]pzp)L)L{H^-``Ȩ19FQ,LGH=AJ@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN.3pppt/slides/slide1.xmlPKtNcppt/slides/slide2.xmlPKtN}& jppt/slides/_rels/slide1.xml.relsPKtN}& Tppt/slides/_rels/slide2.xml.relsPKtND~>[Content_Types].xmlPKtN9|H/ docProps/core.xmlPKtN煟} docProps/custom.xmlPKtNo 8 _rels/.relsPKtN% N ppt/presentation.xmlPKtN8Jppt/_rels/presentation.xml.relsPKtNro"ppt/viewProps.xmlPK-!(^ooppt/media/image1.pngPK-!ppt/tableStyles.xmlPK-! 0ppt/presProps.xmlPK-!:~"TKppt/theme/theme1.xmlPK-!E ,bppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-1ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-8ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,?ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,Eppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,Kppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,Qppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7,Wppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,]ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,cppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,ippt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,oppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-uppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-|ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"ppt/slideLayouts/slideLayout10.xmlPK-!3Y "ppt/slideLayouts/slideLayout11.xmlPK-!im "ppt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ξppt/slideLayouts/slideLayout15.xmlPK-!ҦB!ppt/slideLayouts/slideLayout9.xmlPK-!K%!ppt/slideLayouts/slideLayout8.xmlPK-! Lم!ppt/slideLayouts/slideLayout7.xmlPK-!=t%!^ppt/slideLayouts/slideLayout1.xmlPK-!)J. !ppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!{ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!*ppt/slideLayouts/slideLayout5.xmlPK-!z&!ppt/slideLayouts/slideLayout6.xmlPK-!:D "ppt/slideLayouts/slideLayout16.xmlPK-!fp$ "5ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK44@pandoc-2.9.2.1/test/pptx/two_column.native000066400000000000000000000006351363630463000205070ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("two-column-layout",[],[]) [Str "Two-Column",Space,Str "Layout"] ,Div ("",["columns"],[]) [Div ("",["column"],[]) [Para [Str "One",Space,Str "paragraph."] ,Para [Str "Another",Space,Str "paragraph."]] ,Div ("",["column"],[]) [Para [Str "Second",Space,Str "column",Space,Str "paragraph."] ,Para [Str "Another",Space,Str "second",Space,Str "paragraph."]]]] pandoc-2.9.2.1/test/pptx/two_column.pptx000066400000000000000000000627331363630463000202230ustar00rootroot00000000000000PK^N?Kppt/slides/slide1.xmlUn0+c:NPBͣ#1`XV~}d;&hgwf!SN oۓOr^rX Z:[Y-cXenC$M}& *C&qBu~d/aNxI4el%y];!J_]٥KvP4U!2^yE~a،KZtSqy+1ݧC);8f14oɘ$rMōE{0GڀdCdq5 ΍%ε}1yOi!}XI;V&EZ4Cc21l Cyy|hN*A!A_ ڛmx"TEFLFr_AeNZrK8jG6gmB >uM<goٻlJ09bWvd| Hz?PK^Nfh& ppt/slides/_rels/slide1.xml.rels 0D~EػI+""M{Id$$ؿ7*Y3 @8-h0I\[yL`Ŏo"6'eC)+KFIӛ?gx_PK^N煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPK^No _rels/.relsN0 d>:"gbUF}߷/GnVo)H]/,y% -*'T5mIWێ+ b=lj%jgnzI]gA9Ї[Sŝga\c}KPN=P̸P|Wų}e3%Q>8%7:Tt֚.9˳4gLtz&#mlk0~_r”qs/,7"/,Dk$vǤxZ#Ltddw`FAn4Bj!=p)xB {HQ!tiA&4>4@pwf:ø)ad"OЯo*]{?q"?:1nS? uVup^p?ڈ"'KSWM?bW%qsqVkIS2.r7@7dU\ rWLHH :;=Vdj_1k. ;;PK^N-ppt/_rels/presentation.xml.relsn { Bu42MRu@)K*ꁣ6,W?"{t^͠r n|^`U-PS|+'F{mR/ZόEOj:bj Y/z@9$늁[W3 [M]K/F|wÕ+Wh])S,)))[gb=I/MR<E/MR7>YeLh+Op08I$)<㠣XPK^Nnk˖ ppt/viewProps.xmlSn +;I׊UKVJ;!6!0;x+ %Sd*2O1X'\ڄxNlKj{Js {KeJ49 ݂LY~DB?KbUɥ"ԁU=jp 2 5nFk:ex6KyhKK1$Eα p]Pr{-DO%T/ԻYCϚ3gNa7-ob2!x}G<(#r!v}N~ Ϭk2܇20:F1ǭIg=]&*WyYc1U{젙vd@*=c;\]mEg)?GQVgveϞPK^Nppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ託$S~E.N꤭+&Lyh >`gTb +𚼛&4wl3HEOǧj5~i}LYq_źً2j)%Z1j1\&MT2iQ__瓣߿;PK^N mu!ppt/theme/theme1.xmlYMo6 toeVuرۭM$niP@I|úa0l+t&[2eӉf[|q!m9k"}me!pccҶ&DZ6?*P!Xn*lض`N0T ?E?9y/'<@xǁN/S^>ʌ:>/@_|gO^|?<6Df@|Sb+$qJc@TXAߞ` z.`^?(0w8g.6Le^ǁY=MsHgjb IE]!B3~@>POpG ݧ%:Tf4LL B+ٹ:o*3K*n GFqt-BU.D: O47{þ&Q)=0!oau6?8J:8ԱHQv2*!8^{]I$ㄍ0&_i{p}˅O6.xߥwwK/ͳvlM> #d%a1dD? aX1\}BU8@.a-U)؜ &~/%lH]P#eƕ79Y{4[& kgDsӰ!rjZBòfWKqrmb5:CGmkݭpҶFpla?v̂my*7ZxݜUN]fpED"2̩G*LLp1jZ4Z=Z2O-YMg|#4dcAf]>ӉnW-ܢ6_5Y"[Zsx6.ufz_Ӕ⾻ ӆݞ`9ڶP!. 3YHUB,}Jg}+7 T{4@BS dWv̩QgJue!azR-NI 74T]à\5ϳ5mo*&n.yn(Mf߃rGZECйNA%ȳg.|j{Dm {7cf`Wd?)L-!wĴxahORKل~K$nq&l&9Q.[d)VP2c.SǧmJ{g(]m(')#;+b cdkwK_~s35eg}{+ejXJeɭr޶]cX[ZSʌÜkhKu 2FՒjBr.C(ĩJxu~!g4[<4dn$V( R-$rZ$˒s*5ɵoOH 'U;.I9ȮSSʃA@TaH7?zr  kO ,=WJ`9f%'.ymL&&/@f^kIvpћ?98Bw\CsYt| 7u"AȏPN/v"/xl>~ci_!|zd-D  Ag vG錈p_T7ýX0hx4)i,2q>NcSܺk!0pyi1O=ڥQr)R4h0q2 P,y|C  6b(PC3ivP/ۚ`FU*qFo|H(U!w!wz"^%ޝWxE[xx^Kox-A7x[x6qxyKKǪ >mA}͑.eqp?aj%"ͦ,jjy\e\Ύ0w{D[P)G&;{D\ֲ7VUz?9gP0* 4c& F9ld"rx1Qa?fCU >JQG'm8PDBOpzo0( <=гU7xuvؐ9ОU7^^_Wgz{|׫BBOs9m;G@H8ղu=wCʼBl*LVdCsq'v9UMji/a*庬K#T/ Kv17N-93Ƨ;sJ}yggMTM3} \P)D.T 0Qw.ܯ<' ]Uy H:tKپ 0B2Y&«/VS)+SYT7AN8}6CaחV`gxN"G!9>FZC@vz= $g<{h0G%|U_0| 3pi+z+/Z JC\fxED WCVC= kb 'pb 'pb'pzHt0o]~r#';c蒈[<!Bd)ޯ 8H]Enȱ|#q]؆ŖƗ?ڝlR*β%nBlpPBav˃eVU2ðSe!X?ׄA]hgL]TY~ E׼|{5E3#p0fN:[ ОP^tȆ/usц] =勼(zV?nJ 6g)+bOW,71mOXGȍb?@a#}k*Ťpu?7IR*/'M!PK^Nvi!ppt/slideLayouts/slideLayout7.xmlUKn0uP?;d(&FXE$-Zqr)q݈hf8l[QgC*9:ex?@DL rm2. wXKľ(@Ag {^2CoLBOR;HYoCPuYyyr]K#]/J`\cԁ gmن r,_`Q+",j(Q+ʜs RCBZk,VxedI˜8/1xaߤ&]vf0Mft#^~(w2Tf}zzERJ7;g-K$n/ C<ɼ(Ӥ?IكA<$K ~52\Bdj $=fo01l^#֮ZT{"T~rcSkp5=PK^N1W!ppt/slideLayouts/slideLayout6.xmlVێ0}Gu.j!MtLn#niAH|~ c'vECyx|Ιq&omk6TJexHKcoGrYyAvbmzD9X+Z}&$尶&^=. k Tkc*TrQ&&~ $5aڀ1΁}`%íBͮhy(3yB(jsPUF n6 ~vj;h; e;Fx|opӉ':{V^-/DY#.{4(W{ v;6 Fg$#u/> xuMM({AyΪ32Ѳ2hCr`@Hq7D"7*JC; -d 9%F )4- PׂBt/>Xߣ$ei>8$I6 ˃0f@T5WkE;6U N†ǔ'%2aZSeiT/k.5RsZENJg$ ~Q?TmQCt8G4A4iV[[?y |/igh* e^2? C2ɼ4N<Lx60f7PB9+D6`,W\knXҏQq&֍-n+.޸"6w& ? m<&! #-7q?/y3xBK\ئAI|i~ :ip4'pկ+Sa!g+fEbgضge8r=kIDnh4H. XH$)xVA+FTI, ix>F蓧? WVY1X\D4+VDa$/*̑ZZ;PK^NX<j!ppt/slideLayouts/slideLayout4.xmlXݒ6LA^{ 6 t:Z[7Jv2j'OI1 {c>on ֘Cþ ˄yS34L%[̍pޡ-] 9J>@Cc)D5'K\ ~C+\we-`Г.t,+KYYO,O&&a !˼-[u[04zJb[Ikr6nɌD?QRHWsY5^~@*f ֋>[hhX`34d ԓI7,`PeUKs֜y.ΪV_^%(kvfuѺAy,hUB]Ob&J]LKj\g2 ʝCmL43{@R*#M1sJ+j[~ߑn&A ^RJ%s+[D2CJtHy~On>v`Yj|p冁$;~?poD0jz&vF3^Zm9Nu`}aX@~ Na;u6SwS}Mv'w "g8e ^crs!| ٧tlzR<;~Wku-Z^ kama#wT/۬}gFYٓȏZ=3y9FiEq8M??D4U+s^T<+߅DjpmPma 1) ͉oKBs]ZHb~U<>Kp pJ꣮9q,q]v45Cד Lr ﺻRjwn~o_w\y$qьҐ(NFfdKqgoN}(, aX*H&hsy(IhK`E0h[&49H &LRuCaPuIR.SU^. pGt PK^N&a[!ppt/slideLayouts/slideLayout3.xmlXn6wkkN)V M:}Fmko(OCJl7 r#Qz.Bc[x^T~2mK*R zU$˯Ɇ/:*9"c{T=BHf ZykZ%Q((#.ŽݮǬYK-KZF(/E-;m1jA%1!M l%~$-#(V0=ܪH S¼Tկw,Y ȵvj:X>dRzl6]++k&~6[>"-FhgSͪ5ѹ/e5>HGom%^/Z+̠_㖈0\P}':FNKBD!en 7z܁*(UN&Tm5sk-Fs9)`q mەxGc/%|T)ںQ>X[4/HEeL ve0*iAhn {9i{[k31g >E$h۰ѺC'`Ǎ$dWQC`ySt&XgE>)3ES&a}kȨRL8N[׃ q" ׍.z=ܡG { v8_$ޠx1CE {Ox{|='޸;̷5_mqg]@~]$yu>WÂYWo|XYޫhk5?^%A: . u@TUQI1_ zTQ ;N :L8u ̔hءsͿž5HYd Gep`vT?j?Dm\MA t셃Ti|x6jf^c~*ms-U;"I2 q'0\L`0 6G7w]חE&3uAj]`N0 [7nТ7![R߮L據m"h?PK^N/\ i !ppt/slideLayouts/slideLayout2.xmlV]n8~_w gulNab R"]qzRcYA|7ow5C[*Uś_xMy9VAJ&'7tr^퍘*_=hSj-5Q\\Dë|$f8I8~y~^UF<Դ-h_P=8MH> Id?:-䝭YR]EJy(q')5fkq+[t}pNLwd́5(kլy6+X>rjj19?dǫ5>)pǤߦwhs6(;流rzG|\d]qr]$SZ/-&|5UFQij0?fo 臦2/E뮻ĂR6׵[bNyޤ֏6XV!L#fk5R{.KN"&PK^N+cK "ppt/slideLayouts/slideLayout11.xmlW]8}_J37HJh}w3Dum(ԿsKI`h% ƗW7%Ck*d8UzZS;T Z[*׷/~{U$ȖJZ*U0ْDVnEI8` {E1V%T"(# eQ>T}HImkQB1:B&^kٌ݂"% "# x9(&빠T?UE=v Pk6 7>=f!J}ufh[}z H̞Fl99ޢ:t<(.xQCbZ&]D,E5Y::s"8M^/P+ { C7c%d$< hFC-32`RԖQCJ@0#heA*eT;?mʊ#RѼP d$HMIbV#zmxw|q}z`$Kr]R-ܑia_il_h,jK.9k΀./ q>!Z \ _,N_ĂDуQY9T G!a>p,x;I´oӳQ٣dN:Q?Ǔkw搪*J:-Wޯ!y+vOvL9eoKp [J4"V%\WSdƊÑ.5tOJ]M:]?Gvx~8ݮ: ؝Yo\a;'$$KN\!{h4 MQOV #:e7x+E& umq?QQݮvkφ0akp-neExC$9R3Tv>Ϣ_fУ.Q9$ ‹.{;m &q0O޵LП&%io0JgKwa]wk{ F!J B[a/¨&. ]hϱBh.ȠSdYNu.K-@?+M6aA tQ 0^ a8G>kv&뷯 *>lJզ}Ck$ tI>ijѵ?] q i4b[ g~$^bZ*U۔b)>S%s}ik; wz4lԺёMO2wDm\TKݔM%PK^N³](!ppt/slideLayouts/slideLayout1.xmlX]n8~_` hJcI)b4 DB)QKҮqz)r~.8o!gΚIU c*qF띷EÊR;L:6 @-=3-",VDcKlD'b? $|Xt%;Gދ8=1;^s:76˺C<*Xigls,sKgM9 Lz;۠ _PIϜ ^< c xɀw = N0I&hIp9A{I {0>Ѥ7x8uf=9[ ^7꿠Ħ|_9Ɗ10G%4qv\}^ش\$[iP %=)S!LLW)yJMgt/&:6* \&x 9kvǪ_k._]Gb4 JLKVG %V)yKWuͅVNNFuG֠7QR2dx`p I|9 ~ۼ戁}W?wM&Hh|j;]3av r[<Իp__ޛ=PK^N?Kppt/slides/slide1.xmlPK^Nfh& ppt/slides/_rels/slide1.xml.relsPK^NQ [Content_Types].xmlPK^NHHdocProps/core.xmlPK^N煟docProps/custom.xmlPK^No _rels/.relsPK^Nʌ?ppt/presentation.xmlPK^N- ppt/_rels/presentation.xml.relsPK^Nnk˖ # ppt/viewProps.xmlPK^N ppt/tableStyles.xmlPK^N }.ppt/presProps.xmlPK^N mu!jppt/theme/theme1.xmlPK^Ni_!,ppt/slideMasters/_rels/slideMaster1.xml.relsPK^N( To.!ppt/slideMasters/slideMaster1.xmlPK^Nђ7-:ppt/slideLayouts/_rels/slideLayout11.xml.relsPK^Nђ7-; ppt/slideLayouts/_rels/slideLayout10.xml.relsPK^Nђ7,uM<goٻlJ09bWvd| Hz?PKtNfh& ppt/slides/_rels/slide1.xml.rels 0D~EػI+""M{Id$$ؿ7(krV*]*}  [$֙[cC&5ǘ-u\hTrɑ0u#RH 4 z"xnVxtpzG!u]U5_ϗ~T M-C-4518Z?lI=;e$;O4xA&6}Q>ǧ4e^|׺jIn?74PKtN煟docProps/custom.xml 0{"䮱="F/sw 4ِ]F at/$r< N.Zއkq]{hn #$v@"i0Z)2 \XL~ӬZgGzNUuVf%F_'^fGwOPKtNo _rels/.relsN0 d>:"gbUF}߷/GnVo)HCI}χ>㹔$)*aP yB۲^Z, D̂e`m (yjt,zOrBRp:MH xj+Yc IMPԦV%- ̺ O nd+ػT(,(Fzv`DVK5K AP@ ws._2И6q*UYaZ]qyE^;Jg)VKkݮ^IFAP#O2AT2h!&0G#lٟG8 ]Ime#Ep=j[a S@]wݨo*Yυ^>P[|+'qF{mR/ZόEOj:bj Y/z@9$T3 x_8tÝ+Wh]S,)))Cu&>'I"yt7\Qt:\) g|$sR8;ؖKyxJ qxY^)7PKtNro"ppt/viewProps.xmlMo0 Qkh զi0l(D>@?@7l~die:UYWLB >Wx>Meȕi+MLcʹ jzmIrK`#k2H*>GuQ5k$W~0P]%G܌l R ˩NX +Vڞި݁'XVHqy/-Ϸȝ >܌6^濍 6eECL'vbWB3Sdӊ 2 5]gFK' >IkPQ1`q\K:M7Qs֏=E 8w6Y.3D Ѽ;;^?PK!(^ooppt/media/image1.pngPNG  IHDR9]{ IDATx}[+=ϳ{ /H7uzW)\LOMUwՔ\ƥ:uwa鮪3Zg&/$fjN͋3sB'W6d5W?٦Fq6O7?͇?خd+1a0K1BfT'S"_Ɩ!!3/;{l}߸hDdycj|B !'p 5*!m1 lh;p{?o,nxS"DޢZ.m[?zY' ix#sG|R&p=WJ^wWx-ӽ9ƯsW;wdl߬ދN_+֕#xU[Z9?Ymݕyq׍? Z/2v~ްm-?O;;O9HW?[{&s:B3/qW [Z R)__[5R(+ $nQwkĀvm]oLOqwK4V/<{'~WN/s=PtmWj /_x.y] )0ԝXfS0NTpY#g_OC9|\7%(~K?0`>\,=wS%m|`Kny#?KW]Ac~߿ _|?˶yamf*_a5XAk= 11EWhhryQ1a?G1c&pv^anK[ ,׊?C4|p۳?!0YD6.01x75&r[eJGmX~'g\̉Os|d\!%l_R83p纉MпVدKl{,XcZb ZƜ=ry)_X\.o셤õbsoeW|;4y~I}Kg\q7'V?v4\Syre.+m Cn3T+ 2soa Q;L;1 XSSDྪwpڜ:k‹m㿬=߃=uv7x!"ljےC{l{Sf)D?pW\7ȠI2Aĺ\#VۅZT-c&a0HǼjC Gv30`|:)4 ޚBӗ"|a[ ZD ]'ZDZt*‹F7IOSYHM=XidquW$wS+#I("'!b7s= ."'^qwwMg9tu[NR<Ō.GJՆ;1.=m^7 :"<"!^B* X 3'1Vxyi?Qƀ-'?OGO_\''|)@?C>ڹ $%vmK< 'ÇXv?`MmFd%MhЁ=Xl?_M̮O=e>?Qs퀺M_um!ו+l ?}gSTϵh \}%- MaWE2~#Ȩ׎WQ TElq;Lz:k?>{^K#RFOM+jlWYY|~9!, 6'_ YVŠ 3d$k&rDzd&,J"1A08Ax.($8g (yc'7ޛW&%g?=/ɓcm$O/@e_682|M;߄XiXދyو0o+mz'm7+jS0ۄ>8ٹ.\wN"2[׮l:L;uu&Õ3dNyk;8wq`2I:9i/j׿j(\ T8wҥrPuʲKUZ͟ht^dzyS[{c\y(m6-Y¾KN"uapK9Z B[>'yw)>r(9Vl `]ߎ=B[y”7=Jf,!TnI\;KW5NQ%xlqSe$ku꧛=2Ge:kBPR ÔQ8)tꈘpF𗷑lĦ* /¨+V>eq[}hƒh]|?,?V rNsTՊ}T>?ɰQ⿲N$wW*t K;Gί?|Sg 57`s gdp$1 oŠǂO"vf#Hu9XI*8'!X>ml ?Ylzӣ+?3`?٨?;܋+$T;.mIZָpnruhœ)LQ㗮q #?8?ՏZLmIi1K_P8_:&c?w-x0]gin_yfV6k'ҕc]h?,Yf੿qƜ"-x2`~ٶ~BV/ye 'R1ץjT/NWCrw@xBPqp%p"X]c[ҽNnY !!S_+Oq%$cN®X}wuGPu9ka5'R2vx+m7i2S5qf^fcjJ7M\ԡ?/!՟%J69v7fܜOv:㟅/6C"P~=w>zcXuy9CN'DJpBDǞ|A> Bv"gy\%"%4v) ()ݠA+I /F2Hq/}7Ll:ŀMô`:^I\IرvTzL(:Va'_,wz?AE*{16c3y#.b֝L[ \I(f\cxk~_z۲c`T[.1z7Nfc_qͯ GU:u2P3.yٟf"yglNmip`cxsNh G~#v <9O|2T'Dj qA.p Tɣ(ppqZPs0#{fZh߆#N;{._{!Ic6WG,N6PTf?-Y^p;wRd1g' n܏<^n˫d> ~z7v;{، <%oE<#S%_WEjk ¢ɖ̀GQa{ݿcR {_c`M'b^P$Ʃ5wwn9?G!#'X-|ۍ@WfqW\`tah5W"׼+?5Vpd\7`~,n!}-j08VQg޵bڴ# eOzul25?_haf$C~#쀢z?xK8YԢŽhHSNMwm׿JO1fbh/36lR}Ee=!iM"mWm2'rN\X<0^;nKk_:d˗GvñmV3\#8`ON FSP&B.7ʿ&L9ϊH4P'ZiMmbAc[1dU X7Iy-xWe7 V`:Hä /53N0TP5GC۶뱆2u{/^ZEe~1m+w&\b5OJ6;K?*j$#9雗g~jE?wU"6?t8n&42Nre_ꟶ%P kWOJ<'d2WBmY 4)d ,F1 )55kJhuogip kl(em^qY#8+ھAҬ0G46c\l5ήc~Hv]"1_/N{̛l9/yѣ~\,5X_k'e7ˇ5 y؇S䩗07gIyIr}]\Cv7{MI߻_"8P0ˡky9r 8l 6Fo[cy**6!d` FD7.;uK0GPP|Yhcg1}qǃ^gQ@B8 )ZqMjU9+b;a"˚DjɂEy[ !9JbU,}BJ0~-bvf+vˎt|ݺO'g[m@rCx:c#ڏ{IJ;cb&Vl8;\V r#N4Ϙn*Hi}ze;GO9#Z.u>bӺT8) $&nf(yWRLw1ZNW\C y3?bAɁ5em;0@M[I+ZA~~6=,2i*@!bM4ɜϛK.kun}u6kG5bC~d=NoD/N|sњ>uwT-XÁnGρG+Q/@Kh?64 7"@8Or@kc/nlRd~=}|]TWj0fR0#\lCÿB8B}Zyzau,wx%M컩M mN-/WM5T3j|l놷Ϩ BMrt,w-+ `)!Q:ኩ,mPR"y!IxurM\GUG$|nn* qzo;҂դ㮺۰#tkW}c(LO'z}b3yo$ 6kJ%4suw&}[z_$<:vz&}N-X}w].utm27\ޅ0D7 xoe4ןCcߓht%h2͖'7uׂ:ʯl32ޫ?1l|CF\@PS&銶 iG^cWu]|S#eCп|fo@[oӑ (2峟 ǩN}'ypդk/VFm-20~(&l@$i-I`D(|W/9S_( E#l#C"۵'N*ݸ)1ͅb8]}%NҌlN|ED??% r񘜾‰[312|ŸlmUھ^ں$:rU~- JפdMf:ʏ %м8|΍Ibmܵ*$0`W+8eצ$ɦ9nKxO]0\$l!^ ̴q~HsDylF%AN@lNn.V7C? 3XZ{%qa-)"jτhd'p"IvxƷq[џ#`\0gT8{*/B~߽tEAS2!I]2f|"eOD[^cM0jM$bO NGWu$NGscTJ`Se澇y,o;a1kf|)_i>b,}+hڋy hlP]5..r=aw{x+<_lw"-o偏)ڊ?ʑȿ0 !bPl 3C/mS%>s# ؘ_rR1n[ _HhlPӾi Uc;׼ץ-  'JXl1Բ&!;@يo{<^T1N k<$޶䯚ao=a#)$=ZV=b܊|a_YyL73wƊosR~dPî>^XQ!xTTi##>rvn~|A?^ #p?tIꀗd?T1%˽pX_{ב3Gyq_EmkGSxg_n+U1HP q--܉v/k:yf`5ևyH凭zj X.#X;xѮjc3Gߒ:s@%nK~,X$1ЦzZ6O=+}ѵ9T: ׺RD~2] 1xD#ᩘ9}ȲȮTC'LAIf {b d9gǿfK`h[__qCK:z4m3'shƧ Z\OVն9:wi! #ɩ_bC"[ _`nI'ΩW.Z^2GD[ypֶ'4:sN:2f뇩EH8\@c,e w?c38S[o-]Y/Xc7w'5[Ugnstzf `\5qs߇\[msD|O$BP2:=qELzF!E`uW:St(~Ootsp%q;WyGx1Y1)41gW.(漧BZ 5/0b$6wUj̘,R̰%akÔ!+:sqE+eKWR5Q=e1f\fI׫|k\g`>rfv+c 7U+şH&8Wl k bsM5L'y65&T.#`E. Ħ#i½˅Ylz#|9e\a[F QT#O4W_ReO_G9޸`YHp{DXyB?p(yrH <_}ԃ}' o2믯=B?_I^5ѻ\,ҙXi[)V;k\6u oz;wA<9 qy+s1 %ײ<9oL:uߒuNzt,ڛxKP}w pҕQCйud馸-4Vq짿-W$~98N-gn2݀5-hPcg\m>2"D|4ȋ&]c=Lom~'T/ ˱쏓!Vtg6e8돀NwOkJ?Er2" xdH-l1n:%sJ}5!~j,ξ8;w^GaԏUly2:6w{6T-c`ԠB1SOpN,Ri ="pӏ qc#q KEuǻcܫ] tjў#폆mm)̮롈kiIY)gG;W?yWu0y mZ`0׆ ⭅K1܄, ꏱK]<#bn!΃9O_6ΗiT~I2g[o'|iV}#X] [ #ޜgprqY[BϛvQn"H]^ M/kq\?uS S}0u6c (["#D/Ш+`N O]s|s9t:C 15~{|0Jf+KWFƖɹl:*szO; qp=Qc6g_d=uA Xa'KYu]c)Jnϡ;Z$'9Tu%g1:1[j/}ߜ=YIv2^"~V/aWT?TQ1|'Q,x# c()78eIhՔ> \џMMfh֐vj&G6\{y %]w&.<wB8r+ .Q7Y䆾l/mL;_91ͱ^8[u96R,FarE(Eq̱ [T;eS?ƯMsA|b910Kn Pm=gir5E{+V}6~YtI?_8oq5-vrNbafꮿWUC+<餕+^\+??7[yehZR\1\s8+jX[-mձc}-퟽XF} I|_r{/479]{_xR24a+>X. X+J^LݪKp_gٸm6akwB"CĤrM~8}EEx(T!bĒ"Nz,+0w]cN"._s<Z^E\U8 +P|gɽ($IeȞEq|2Y=f.)PO΢P~ڊ7.1"h"[nJmѸwÊap/ߎCwft <dQWm3t!C[Υ=-6_q_njo _CЮ E#OR_ƀ>ZW}拚?pg?]|UyFxʅ86hSz m:'\L!˨~ߡ5KkJY͜}#H 2Wrc_r>|nĭ 2V#H1$W1 ng֘58BW j0N I`q5EhR{r`3 FL>LHb&d8|~w@FI3ڍn=r;Syb  {7<򠭣~ eCݤ{GYA͡˒0 ++ȜHNmn~ VOXiiO ^_ f+[ga>/l6wGcKuya{H |O=YrMϡK 0qKzdZi+A:??4w o6Xo [U$]Cn16',svϯjrAkC=8+Qwɦl}o_q8%O-?)e?`n'7M?My aU?c ㉏+A ]̿K?Vʭ,9+|ث"ĝ1Κhs񕟤E'!559?Á3mN|6| Jv plmL޸+ڀWWy4E,,gǧ??idĿSخ7-6>kpMW0߇N]m6LP x ]f: w*W;Ɛ(9@S[~`r*z䠌F8'P G2-QDDK=ēf?5l3ͩئZ ^"FQ 3?iMGx9BXjOkdΠGe7,`RBEʯ#3<#  E09f{I;*+0Yu[1f[X*.ϵP[lE'cփYbc`c\ň Gy&%. IfW33wC C.$#N%NQ)]d^x@*?UˎUg_Vӯ{M\l%QG+q$ӑAG q`*G(WZ x^Ô1QR`2EῸ> ik]H YQl0vvsq7:0dk2/xu ƇcTG̯P+"b"ǰ* ׬fn;yQC%ݹRlǜ`B7]۶QIGck˯f;GSܸ1=8w&1R'Fw:b#>kYp'l T&[( q%cǪ3`kĿ}Qldnĕc-kAoq U} X|y%B_q O.AXǙ}/fch$+JŜ@; FEnmS*7؄l IDAT)>I4-ZLXK!s{"Kγ,WBиĂpۅZ1);[ cr2YP' Ϯq eh6rgP8Ղ '(NFXam׌ҝm!BFkS$7&Gߜg#vh#m|yPy@U>,Y=AO60Og,(u64ק}Y_Z|[dq')S6W.SF;O^>׍X0C4/!U2>?5xZf{tLbOv\soG[xxYaQ`O4]|MD¡ԴR=e5m00u9-fdׂެ>=ϩ>dyw˪.鉯mputYc!73._KOfl߱-`3])_wПywiq Zja;,fFLçKcу14mcscAwS4_Jgf /< F)lbC :g^8bP%))0U I|go/osƷナisP@xR!3]$erc+}faG2XX "rj-;H^^Ƈ괿k~bjlDzm#R!=jcv_u:9Ɩ~%1vO0OԝfO&; O8qN ^ʹ):Y'^yBؐ_—) g1|? 1'|f8g-S˸Wn1K +rX#!_Z\R_f>v/=?j^q yEۅ)6{ ؅r2}@d)WvOo蹪 {<41e5Wm0,o?rY|sΈ|NfÇߊq]J@iO.|VVecFr8uoćl[MQM1=e5Co% Ta3 Im(w>ReP %sT&l,ody_ƎdfEvPyXGXEfbO[I\a,a<-hrص41UpD࿃ 5cB_ӼTXc{; ۶`EbhyJU/?CՐw($pl37B{x&_3,&iը"4&,>2MIwFAoT,W_Mw۱k/BO\/QWz%K֖5 1ߙ*MQ+/~Dw~KӶzpMd<"_Kğ/Nxm23cY:@c)Ub_\ͧmJقmm9/G2 n$X P1jneF)WTcK5ǟAnFb9?ՇS9raA^?RVnU6y [>I|E͈fC>&5p.S7pbY99RrBjfd pу9Om~_6-.sV/u;|eh 9殺?.@9b# l4 |$y-x^s1F$"1p@2:@vSVX.3M{3! ɩi II |Ύ)'6_ d;򚎨;,MآniyhDA c~$8u@bSQ:]CZɫ%ƬnEɒE:\H,U۔][d]x%FbOEcvг]oH I95'GLo"cV4|P˳6n1#쵟xjDr`RSǹoz]\5)5W-l? =v{]w1a9e|})i76?ڠK[W|FJ/Z˫j+_0ϖKϢҦ6r G 7 .y] Rʍ֓3|RB@,:m1r?G]afysc3oapsE07oX%m2.bR.?ܱ+^ vɌShO7^[w/߸RPt]|$N[yo擐$3pٿTm+cߧ=%xv;g^ߓoYcDri{ב~W}F8yh8{=siߟxt?|=yg8uR NsFŭā;%)Yq%=>@{y;i h#_- z@ !U[ rE+,hg-_ 7o}g~I^ ?aڍ O`bfNIL7&ΞvI)Xy >{S۝ΡZGRlFUh9eH ͏?\ 얄>-~,e:9gujmoGLH|˦oX*xbRNNlZ7d 7XBaJq0X!հHD𵍯mB1?3',Sz0 v+|9)5\TɃ%ȃWI^E󑯭&!O%x;7_-[Q'?DMtO/3c6^f_+qr,C"ԟ ]'z֌z7.1ز X~_~O׍l~asڷ1_[ӍrP;γC8#OiðkwrsߌK,v.<!t1U b I &7W ̫֌V/+:+u A~tO)$,O F,=0SHb)&فɓbN2v{9r_t "dL%}*K_{ }Lqĭf0fc4gɠDJ_Ǻvdow[8߯_uA܊b ;ϢCYwv{ܻ9-wy!B&< 18,b^I2 +;)yMe%oЮqautU& ^Bx%jE!Q%b:ΆC$'bd{1 Mv ( 2EA*bfH?qOD؃d聺UB&_t%77Xv@zۆMHmQ${J~sH^>dB,~3  79INxv<,ڹ(,blm Gڅ}9)'q"H 6W!֜v爝@Pl1:׹1D;m\LkWztN6%m8FJwo;31,ϦCΌXkk6uMOQ)]lhz۝k! &YXpP`E sƅ7{Tz*4)oT{S0Ovw&f;#Og)]:!߫"&~G#sɣ <Un8fyrIaG)gޮ5IUJ'aŦ'nS1pv6Ā0dfe.Š4qO LB~>wCGIX0scqׂFmwg5[*2TEey~vϾɐct9 kqG _G<ܛĮ+6ҡOin-!oe1/L" fxs^b cpcxDrJE 7-vYbI Wq~Œpi((&8g8ɮH(؎V $nO== b+ඍI{입|"%xOP)13ܺ؊TQZV;S*\0$;xrJv*%޵o~ U9P$7bėEsD{~ڌs%e?|4"v φuQ߁[c-Pw$uJS !6G֝l O WǸg,οFH>P ?gJwߏ\\y=w]>cBدgQ9Z::-rћ'2|P+FܶM9pK>ixtʬ7;-G?ƅЕ7:w)ND{<|m4Uyo .:_?`?Ѐux,kyU{eFDl rd׭{r3urؼ= #Bw 8Ԋ\aw\1'g=m_!!]G>DzqؘWi"sfm9^5 ۯj8*m.p bgSвIf&q- ʬ^6C46z+inm qf0`?m}^a#9k=Nzh9e|c|ĦBu  k^ɌB#N1F3 X;$b]-a>1;[> P ,I) [;& & .=dر2byg'kיd%n2_poS_\-9b4!5c!Y5K'fw3Č?)ܶRYlz@YA04>%2NLO{jbb_2QEHaY&f1DwC.ɰXnرȍsZ\<駆r\4AF1~'u߈x;૔6iĥL U'7,V'i_0·(.X5eM;ix2lSq_Sӈ;桟ql )ߥPHF¯ 6Lf/ YM|UL?&%5x< 1EEC> mgqÅŞS}G QX1?{s4{pFTE3KO/.=M8q=epW1I:+ "yIG dcT~Ϭnsc&8?gT1D1S>3QV1~zPMݛQvJ|6%|ո@XQlmni?vpN!mz"aQl6(~ځA4[!YT} Z0˜ӾgFNFTc1rYԢhX@J, _;v@q'Eq; am:v/b㚰ő>U=J׉K[#~o'^G;0Awe:$}=q$^kmVzg;_u"!g|rgNo)p>at+\# IDAT⊿֣854dXct%6c30 )^VX\D3 ?TK#\?77t0}*zi1Ndxq.O~ BqfOwGoϚ+hEqߖNj >Uv dJr>8)0™>/;bPH^[Կu5o =-oɑڝRR1Խxe yrbӉ+.RCDZdD~%%KK3! D|ZQs'㰗X8IxyMw}p0ʏŚ71aL.D8~kxX\nuNV98 =^JhxlJQl閿`V? [Tx?b ò7/eKrigr:gN5v/tyJv}g3dKa7|/EDbWl@1\nl;ށrOw7^b& v}Td` g?y%RoĮuز 1z0.a+Y 8˫ ||!FyZt* &_Oen±jFn2pqW:]}>{duq3Tkk19SP] 6q^muƊ{s?Un,o.~B)r#]84Aa䃗࿗K1-8OoЯex`8c0JV{;\A@u_w66D.Cˀ`BL~#=k _1%p){c?{4?]VgDw{~^<Κ%-fVlmc(OD8'<9e?&0u6Oi\wśصgw\E60yŠ ?um2yH(8VB!?!?uPyڏɐѡO }-Q0iyRߔ90)c@N[O8&Rq)%>#\P;OO]:637*p wDgSxn㓗4 Xh5.q<&V009SKWuAM#P5߳12&x'֎U92-7k޷𝨛l8Pأ6SlbNZ~NWGu=3h9sgd'#)>A_y[•$P~̧W4} #އ.(uLX0Gܜ#)vTũ914G8\$9]{">FK0*t,chN+!BD׆9Wxwƭ*~vՄx_Ij:{MS_/"v00C}=48 wC##pJX9u.ݑ/JF;ui s?S s!O,3=}Z=`,᳧J6Joa|P}|ܵEqr,#%UMS?%n/L-<nkna+Cv(4T5oתT3O]d9)5[S+VvL86WCWΉSmxe\hr ccdMivhnbT=q⛈\Ĉe>0TBSğ#)(}zSa[jvy<5u7j"荒/gWCпd[o+![̪su}eA3o>i0E 6ݕp#MS,NnEz,e],& 3qC7mC,3]3y}wӶsAZ@jOĽnhs LzNl1g菥ly$S.~;6B^LR+8c!㱯vC>0H;O;7HI .4hId#j.OwT/\ q]w1ǹ cD'@#j[ǵ`]VF;Qf(9lS>Gu>1,q bxɴM՛~Ɏ* &bvBN}ou??n|'c֬0O1_d:ZG*Oj ˦t61Mnc,XEXmIt3aNekL|7g왘'B!8%87-`cǿ`w~|,mz>R.u^MSY.{?ƾ-u6$KHOӶ%ģPIzOnUocuxmiWi_v/i.TՙBmߝ4.ej|0D_SN܄qkᏺ04oqTU_=s'jm(HAۘtf'/96| HCfZb eIБPuYQAذ~n!DW3*?geyVJKݭTpV/^d„zt} ]{H챾r8:Щa) ;Har%h^RV"8޵ {d.ǠAKOPmaC,w_f lB/ qx̘G- 6B,ÏYL΄M3≑{eo{W// @9-3/H,as][x_d76`/:obZm'0.Awk3.08lMwr 0WZ]1V|$Ƿ6QhYp6̠f+.&~o^0 Ex.5am-v?~;bW(3;y`oԱ%b(Lv2F+8]B抛*_[5@c.%,V]@`hr.k}R3?F.꣜v̅8!6^Ӯr9kR-RE,jy: '=qox}"\lWkԇ}+pDQD;dImpyk_2N3^+Ѿ54Gv١ҭX{a#Ú~Ox5Q]%lݰPxvKu֍LD搵jEՐWS_2ӄR8yχ-FY}Ͽ^pm-^Gș6Gb<^6Vie0|@bIF/(el׈k8KZw"RUcm҃݌_SHl׿%[ڟ^SM\>c FNœh뱂JYueOYmg p;wYV~Hn&K>)&!";oG_DJO~9~&-pxG t lğ^ˆ4w|ğca.Tcw7.GAgH[A'CJˁ<[kӝQ=vDb?F9ua6[## DŽFHbų˾h;Lo2MLvaz9I ]yL}y+,O`o=3; OǼyWڮنeŇn\ 1XFC=_̡UK/zbȎI`|gMALa yoJ[9~ @{"k8q DǤ1̠!w -πYairyr'co؃ys779c.\B"XT䙚u1nC.꘹/1Đ뵼vt]oi|1Ưd1ea>1sUwhwoU.4aq_[n&G߭!~cuV16z@Qr/gWGdv[)NDb察!EIsV3hA%SЇ;E&95<^N rjw}aF(v@(>~56N3ȿUj.3W{m6r; {sn|2DF&z m 4]A%zHV'ή1%V˹jH*?_dZ}39d͹^E,ti81!gP*OX90j,Cr?|{)syQEb"RrEO2<.䡺"0תg G[*ZKjşG=ٔq6lugDwQH^_n;9NU|`3G:?]~e"?@- VXeYieF橵P 㟾&e~h/E3abRm/ֺ"t;wJ/ڝ?#guIgis1EF<qlOSWMy vzX 3xީǪ{'I`_vxӞw?'. Ŀ嘑c*^g҇U&_55Mti+ݾ2XߴYG/ө#{}ڂs<7׵ЯRxpޟu~u`ҨtKYXȳɢJ63V_po{2m+cG3/`g7q &:߿xzI̞O3H:ABNj׿ f 3[ `,2p˸ÿpj -%!mqwέNniM>4bĸ)W~@+oFM0젩zގ & 2N[LHĚ%decJ!ƭJg\l3Mvw#Mu5!n7tn,|W;>&Ko]v &:i${{+R6[컯fj0w>2z7i+ٲg??)MJzŨрZMB([qڋQ =5nI e}[aF~M0hR@ęqEYq*qxe+ڙc>e )K%M1GWg G=6x}q[lr,L;[v w>&UH06a" sAb uv3Mz^IkkoOddO۟8dc$:䜹׬P!񟄰ds'n0u+q'Ao,eobjhO ŋ"xg{xK!|E^?o}bbJa65+Մf%*hoC_+[Rd(wc&]20mu$-Ssvv!)ᖑ<.3E˛b7>"g%C_Q ^ԛB)!w QTĔy;ȉZD5iv7vMsBJN}ى2%e/<;܉/>Ķ%Q618ɉW_q͆<E=kφkؕcOxϬE$Pi aSzJJb ю<&Wq/&_G{|\F$J1dBx\IJI`p|L1%q?mB̯\u~84*NS'}1$h-H-/g?^mY֣>{w4+R`3=^Eq/rB oWNc:Gb..{m]OAOɡŤYg^^ZEoLNܜ#y1|L-KxlZ\r^s&[ix."1a?uo,q֞Þl- ĄIBfx| }X2e q! IDATay2yEԡ9e. h;&f} ~= W4q2^nIZR$(M Pfzr;V ɊnLr 8Q-d/Vs4(w"bG>pa D>H6!lکJE V$ê۞8)Tj,5UUj.ll3-ȑ'm4&z\U`KPZa$:;Č]qpiko@򾱽aY'A{s~8a9δ~,pqAx<GrBKA,0PW,(wЉ+6}':b<b*}涽sC0~I/.=+) ׺4irP=o Ev#FNqai{`qp'c_5sGJ`-h?ǰ69C\zr3f_ԟh-n¼Aba2x9k!&"a?Ȇ:Ь+ c퓸wN!5}"^CPn'^bI^V{Sxݵ8) isJL6Ru5DZψo%wNEJ */WeB4 |- 뱃7c≮-1L85Bbq:L6վtNaMatco.Y\Hj ;@yqƂz1m0ؙ!E[S&ˋ_ y0rb=FI PU7>`\?(Vmg%_)[y }_lKyL5wQ/}%D[8"Kh_[ƺN9Fmӹ Ivʏk W f6ֹ&qV?$yq5mꏱ c0{9KA!t,Ir_95km9Oq++!x=@;d[c1}b#Wu8?x³t|I)g2;4V)}A圤^`.Iׁ2F-^tr>ecp#箿s_%'BE6<<ꖇ<>v=o*_o NeQ?j^iĖ%sq"G7P_E aX~~ 9ow+I #'LYc~fB.J K-X ͵HMn߹QnCadp S=MAZCbbtgsO1> l^e xc.o]H0J{*xWngad׈ z!Ay` !KLo~Q=)Ӈzd٥=}5αǎKM( 18o1>Vy;=2X ݆4őx˦ٚ.=1 ''DuǼߒW\GCQ!~FgOS |պ6[B0 ńE=%SǙq Cw*,x%^c~! sQHs8gmצfȥ@'Gxxkᖼ`փ-k ^a[ :ge)&?59:%j l[9|X|<ۣuBsNֹ֯x`MK(\[qk:RͥgGKh*,.}YPqCpy`NUm_hA/\%@vk6HɿэqcNl>7 v3?exyhM?Wg_ ھvɿ'Im!'lMNc=bvݗcL&R_dYi_  k_E5?iT_s -8Q,5gxuh`nDpO'6ݰ05k;'Q}M@kn)6, L-b{|ަ_hU m-iN3LM>yG` _qi1 h^ReϘV~{濇ydhE_U* yw8ǚ};}@ <ד9Rxذ|o_s%XfM t7"mIN1gZYlj,ڕYJu]N}d䟅ӜMPS9Sb|a#nDKlx{E|N?üN@ϕF2x5Mww\sPsqD۟Vt'R-ɻIN/9;@#gg)bu&8WsdL\m1}{ "<ě&S#~ac{X[ڋ`g_+_8aeX;9U5h{P-9) +y7:mD6.'S x!'Y62ݘ/}cP.0"8ȜrҟdLgVj۱k![Ҿ϶~m׏Ä+qk?uh`s`AN]EɩiaJſdr::Dͩw~K;kAj^'qEaS-bi#F}/[%SI+YӦ{~@ WQ9hbU4XY,vtdm7n/cđnĘŅP[-pxVbk6ˮ|8;aWi|Ǘ?G 뺖?k?nM-md ωs`dZx_JN־,>d; d^cx?w?׵3/:Y؀čE9 ;Ӡi qbr2_j!NLPǨ?a&Ϗ?vU?`L-/b5B@s HVÇXhPP1\ѯ?Tnx>Kl\vBc„s̼rXgĸwV(9Ν_Ýc3r=XcYn6 TSڱ-ȈX'z0n n(MF~~wj8 ܼ`ꎃ)W̢Q>tfazh1jrC> D"$KEz@BH>2 C* <l=~=]*p w1^Mkgho idcFb?'YB/cdc4mK%Wv|,%p54Q96tw[V40bNO%b9~$;1Y4Znԭ+nw\fcp^x$MD*nJ7orEԦQH6 6bVQl2 9Qi__߳/pīӮ+s{d>>ư3ITNhmˡ#"ҕwxvVA`j\E6"x [qb_/9F®dӄqۈPZElyLXhWk es&SqGLcj@KiIG>$L|P@_ /?#=e\.[*.9eWg-/'^:la%+V4>wL1vmw|$[3;S\)d$g_-y4(3r:A9o.KBfu-2W<ű-5"1ɲ/jn|PG50/$<˕h=I@3{tQ'}7U4JFGrYS#JG2nqX>M). •(8Ek C^I{lYPp3V,:t[]7x \V媓v@ 'v#(7;$6^]Τ`n"}$ZO@DOR+un'PK蕧/=Uf;|+ { |/.Jpǰ3eb rD`) ,cD 5A+ VW$='1UEmL<m 'a0^(N6NĎpJ؀JYߦyht,^ +!eUhNUXCGqBks 8>vqWUnf^Hx " 9S8Bz7&emci(ňE% 3  t7/Ԓt1SPd_Gkhkj.V=KBٶz{"3!* kmc2\NR+'y;/qAzY U6$(Tʽl N;ʟz@6ڝ>k?Fx>z2lі`a3N6Jv;;"n~,a,$ߤ:9&7-Xl[ ;/⿂x*ɸmpO7asd`[a~?{, cp^xW?v :s՝ڃFS\#\G1YaY?04l_ 4$m9e ;NToae^5>`"C"|6I,| p$<!4׊*`?[#ʸd'b%L8 Zlr~ t[d ${9A:( daBD~~~{"Ê=&P Nb&G+CK17^7 ^0bd<[Xc}}$?"{BQ,ejY^0i6OmN8m~)SO&jSsѽKA8﷞!/ i˜nBtxMw_#R>0 .~\YYwt&噕9Uϗ?M"uWm_Hڒ/ ~ٙ,YD^uO5J d؟oF>#7mWzzdgG5+nk6.թ_w?$ՉЃ4jmP78,Q{ `-2ka n =r|c'Hk̭ߥyv.RbۓY8ahO:1~v2/Oq1;ʻ%l_&?%OL](@֭ I/MFcz,@ 8r?凞Y9"<| -o9? ҆jl6&e{^gb?삢c+Ҝeg>vb 쓶4&?o=E 6qwb oW 'ZR 6z =ӞԜtzɂǁHsV淅Ӧ'eGKb[K՗i'Ƨ%9譿#4}e\=W3cVu1lj bvT$1w|̉WSg0tWAW\[D&;5ź\5܆_?]d\=fN~`[3aGN3jPA،.La[r!/\ӛs.YxY"x=p?^6,b H.t/q矱k_iO?x>1?9C{4%=ZIVobQϕZ 55ܙ}ؠ$;yV#| ߀^.WAYZ7@ okN>n qثYxLWR ɀ9*}!_ _+t۹n>{eɗ}TT[MM\ivĉg ? MR $d~vY̸&˦4T޾ H vVlQIt&yi]^jfOf~ηb"&Am&g .E\o61x֎ {n&-|d/s'#[#C:)#&]9*h&{:6Z}zAҷOcsc_k!}3kѐ$Y)SȊ#ų7i\ \/up9~,9^ˎ>Q[wx>08n_;o|9z4x&K qCUJ ׾S#&T뢊D1d;_#<'Wƿ2&c;عtybyO(Y :V{yA6I%2#nc+1:'Oc|5/bZ8aj>yNM?x%Ul}?vٵݦ5s7}"d/T $|H ahNb$=W^s>;cHFܥUAH dlWB[aK_/ " daցJ,[;;tbb 0 F\$l1ZK*l4;͗(/ xb`L 'џ.1?A'yBFL~u?Ec[LߌG9 w\ęPH:A14Mn ; @Jc>&q{ڹmw߸LG/r%=rC# 9w>7>!CaۆN(}/f* \È;{Uq<`d;s~./y[kIJ -GiΰЙ83q`8Q|G[?͏!bĿ2$ oQd.̏8 ص/׵ob}\"e*>Q Pڲ-n}9NǮ3XMLȨKN0X0CH&ר7'K|olUʵ. -}wakS4Qs\š]ҷZ&kBd=Vʐ^wcE&MmMq;-TU50,pܑO`Ys4w~8&{pdnآN/Cw">6&?W -e6&o= U<[MhF,=VR ~ɏzz*y x["{ٛq U*< 6?m**vt ҃ư]ӭ0_&cNu$E5UfxM+fkz:u;uZ԰׭,ReD…M J}Vd|H%%IB ht?0%&7 ?C"]2w_,$f"8,"\w-d,SB9u =]Ֆ_:F-^Z ,%'UCca+ uD(%zq&QĖj~i%r__)$ 1cG/dz}q_q)Ac b! &Sϛr4w<7Tk%|Xts凉i_74s=(7Gm\Jn\G૬?d'^#^g( wz_^ױۘmi+k>_Wo1u>̿ Yr<(WKG'BrXUw^6Ov(x h6gL`fdQ4'^9qp :\,2ְ|G6)ik'/lqG{.DbjA;Kx* .WX8MJ 'L,gE$Oovƥ"t̷s Ӷz;YǷ$LAqߦ_@BCv8L"-ޑIۭ.H?lLgP/#x|cdĒ ߗ}|k|4w./I 1 qKju99OW1ϰH;]$ 8qWyrk\w +PA0 eKn&%S-{S~T|F,ӱ"F'ƟkcgӮ}ޗ,7m\G^IwJ;VUnjVq ݼom-`w/]Wp]v/)~&H2j$mS6ǿ˳HLe+K 1jV毈X^7bw㠩U昍MGH@pe@N7<:λ V;Bd">MsmDmm~ 6.DR@JuȽ: Kx߱zں/8(/كx?d6"9?}ߑ[o~ ܷ~s۲Mᰏ//6:q^V;]a5Ƨ4=)nٯrhfqRקRyӯ=A?N캖W#t_F||~"5?uYVGD:T𖊞xdk8/?I=;'C'+E/lű c }D\;(}8ubd1y|EqNMt'e W1}ԗ}]W@{_}Q+"U#,' nكvTZCڠ0_q٫AKmwNNI&^?ٰCwYP{~Ln~0GԤQZ?W\`1YY& Wm ?6d٘y@Vq?)āy%`8f失@ 9M-Q+HO*zn}qH0i"E\x?@[se-Z_v #h9'o~W e(['t}n#܏/5՟]|zw`RuO~<\ֽ"D6z;ṬCʼnvFΕ3B&T[EƊ}ˑXnI鿯#ڎ] \> {Kcbvx ey0Y8JQӚVhuW_+'̉ųB7 ];ݐRН?%oi1ߩG\czZܓTDbFSoE_O:/*Tk_!Vk~ Uj~g5L{A?4em]З0duZcirwď?wx/=,t? 7$-0/ŀuh_ syt?EZ58|Î!>Ɗ2\bq7K55/e;]^[Fo8nO־S%'?j8DJY.\hh_Bl?lZ}7 m^m?JW_ x h4^Md %~`kcubĔ\^+bCe f8֠ERKf=;|/kd-. ΂yw9Ұ3v^ܘ@z1)RߕU%,U:ø3૑qG26"N83da;~]7gRB/ïyd ;E2 9ܭvO0v_}ȿ1Ÿ HuD{}Ixt&n? #W bςlZPOۜ>V wt|.9>p)~\.jyMK}u~'檿ՎK$'u]c̑~2z׷"'o*F>Ϙ_;W~5ݿw'JCCt?hGlv4n5wYʼnڢkAto2. |9KŴU*|uV֠~: \V[T ԕV{b #XIk]-]儀/T$[ E2Kf;3ݺ_i]K#kQmRWE:dy̪6!$ɇM:i`f3DEQ"E7& as۬X5чY,99U=|LBp3y2*IUZ"n9xP߰vaCS:E~0<_&mA^7nb'mno /CGSAgafO0Qd1k>۸$CZEþ55z k򌿌p!1`Z !o˽`<~~˖N*$gx>28?HQ rwڈ7L rx\O=~~֯<+;p5M|_h{s3?`я2 ?e8/9/^Yhc7^KB5O 1bN/8[Ꮂˊc>Ӏ6W/[P@}ig!Kmy_ |SJOO^'?nx5m^999ΝOU||O#qc pgyoyǨy?d&StENpthbJpc! #]e[+i*,I+|cG6jnQgv&('>u8yvu<#wrń4Df+RGК"3oi;L'IkBVϐ|^:(Uc{:J,Y*z]WXR Eokhoúб)LPtiI&XP|mX,Y{kX+X5%? DHq}.,1mcȋDeA^}W;\柇j=Y8签)O~ksF8 =k;e1i gegv.a"Ombc$c4 "!U~O!Of5kfpͰAh@_C2K:lK {- ̤?vx,_;^#9Ɛ/;'9zl[|_ 3fso"+d_^SР$~{Nz׿31Fnk_).y;Ќԯ fŌ!<:5d7t޲Ʒ}"c>|?X 2H."mO,:8Ibآ ?oBp-V3agJ>BA٨+W? ҭ,I<[93bs5L~K٢K뺴qn-ܘ~ ._Gls9:_Ǐ6y++Wͮ&5lD`*;-~=b4C誵sOԺYg7yVӞQ~樇7+u3_-_n1 om!v,d+?(O":F[? kmؐuS)xW|ZUhjR/w|JPlݲUU#z5: >Å? |0Rtqõ*7̱7[; Է| qp$6|A/nb~mK ØQ0Z] uv2LC&^K'@c;Z:}RnY}d?hɕ^<(;ۿi{b{|vШ6Xw{}lzyD1y[ۡ1e\o:= n/|O2lkk;u$\m5/ bzd8DH6λO8%JL4'ݓv/d",bKĸ̂4=QO+`tavIuDDmQik-?Vz><\8k}R:/{H7Atw+)[P˰O<8@ݗRYo(Ns Y]`ؾy݊ޚ-hƆ]ؽ9aTq߲x{ ƫǢAƪo$d*x(pnq3Se?_5 ]ȅG%@YFz~.o \9znz<sg&r7N3_yOUH n%;gqMbisßXO<>^̼ێNWpa'>⢧SƏo߄ʻ>Z~ϙ~vNs-Bʧb֙KB_~~]k~UН(8مeY)0V&4$Lv5}׋oG,N`b9O;,_n>UBG:hPivjr7oiТ߶]_@P Vk,ڣcv\mo-naAdc˝_i#J 򻸅~;q0"GV':/f57{W}-6 }) aHZKeoG4L a%XQ6??&HH#}b(ߒcΘ? -ש%1\t1vtO(S =m;Db9?̽?>Av 7o8+?۔!p/,t4@Yɦ[{|Wo! G^iLX+vj~Q--_EkpoX c/ U-5Z 9wnVc»{\a:r[$8gd_X>UVQlQޙݺh7P#28aعrl.l-|L@QeE+'ۓƯ&r9pꄌ A?cG\C6 krfDH{bܮEdߣ&tD~;E&on|%57'Ww,< yVj^;lnf'd0'}DzetM+x>HnK'}1p`_/y@3d>{m-A!Ve]ʋ'*t,0/ OX׼ ׿ꊻ;1se%^1J1")*z-fﶭ?nv'Aj @ 0`X:-x>u[45%53hכClZf#< l9ui mZW@bUq.\@1^b+/6hjc7O5귰`;궫UC熐y-G ,8)Pobo#{GXN3$f.hs~vp@2uPv_x=}wXw9f/ڴQZAu=<,5@x#sv[JJTP ϑȧx]b CY I@+ Υ~,7i௦j ^|p w<7*.XjD[&bl6rH6n8$RA$/!W=&uCymxOa 1!;7|Jc۸<ڱyYլX'K >ڵUІ[^"1^n8 ؝ &?䮯-6>[ +QpMƿ]wbM<q4gW1Giz %?B}0獺5q%A8FiÐ$u J2)IB$X_ r$]r=A*@r@T(s)\"y5ǠQ`&~o' v$ӮzzA!Wqyr>6\ඳcQ$PUJ˖kB珦,\~ij3Z^l`1v4_y&列JuU/YFѡkr1 v.5tUb 3Og[\mj#+= j'ߵKI8 3crtMJ-$,r3#sPNυżvj9r};c0znG~WLerP Q6l.wn(o*/p]VR5`^s~[2$_Ue_^x(&0e^&sI.~xz5l2TՏ"#-XmGRe!pM2{=Ch Nxn(~ .;TxR2%X@`ɮυ_F"fd{M,6-؆8"Ti v7cᣲ_6]O uDUŧm:"ҶcKUpU?-&9 zlm -iRb:f7TE^h_x_w$:?SXz?[F8vTCFV @N]C BK,%l--<x.6_f }brW:DkLKyYױ+ݮ LF@&o2]qt Gg/r[>"ks"c_83ܰ|s5}@xBQg)C۔ȝ"|sx_%gX/FQ\qqїkQ k[AaDbr3?cg:ξ;eNIE&9xteO}QFtS2 lS`/8}+quaKC?$HfKd7=2ֵ,݂=Bdpȵc4.o݊jQ;2†z}i=<Ŧ'xc~dޑ~'c6KnEʾ;lXas⑻4C9h NjԮ6 qL:D&׊"E\%6!c^0f+VϘ08j&xA?źo&;XŢIl9mKlۋ<6,܍)O`6D D.cŞ[p`sĹFP\6 Mڤ! oD<%yXRȇeJd1%q>EÁe7iWxIJ0.Nk "?vz}wF SZ#b: pgwl2};oőEnl>6O{lۼIofsmU={?Яſ]vἌ'>Rh>ዚw(P%Й XH;'x]o|[^Ӡ8A,kZꮨ ck/Ju]G]E309#w %kC%<,ԏM>ÄFC׀y132u} []~pl5 1(0LJ^)Q'iob `#[_l;W[? |6ٞ?σhyW> [bm{v [r|HJ0|N]廔*nnmǪ')$ pD_LºF[޺wM^9{WK c_6﯐PD>:sw{n[ó# IDATZK2<-9kdz'֒qva $KHkףϚ _Z S$vv(\Sټ1;V 0\AӋ[Ax u4E83 P@ӃKjU1wYՌjeUph6T[r+ŕǢl:[3{t&k⻚;Ghgf4qߕ]v da:R n9۟/A_0;F \7&S^bN$tn|}Q':ſth|!ODFuGL؈GjQ‰G"rvZ-n\1J" =}IḑJCW(&&{'{Q-p&eD,vW~mY(`4{ ?rmafVWLF,,*Py -چcY?M]6/4\S,<8'o{yޟzsI?cQ~9A;-_$>=R. є Kʾqo^G qgrk`Gyʞ:#x|3S?H8Z) u ع 8P<  RQfif:dŋfZf6`gI?ֳ\K8y hhS;zӉy簘ћ.XДh0[rqY71a4 *ԥ%[Ɋd6M UE"=eW^rWٗ<1G B^B+E< we[FJGlOl*}T )BWys`/GW9/eQA?=VoCA{ Xک_~`%dG2Fwަ-M ?xcK>OL"maƂ6'Gv@}IGY瓴2q걐+e4&bK?}i%!fO?%"[oP|x9/z&B^4c{v9p]w=Mk[x3k&oO|.L,>P̓^?3*, B?z?',VAuX4`sxN* ҈IyA /=tFjM=lp:y*>)?s⬘V~5Bz_~e郰^4"|b$?2;W-߰Di|ӨHߧQe`w_tw:@D-AZkcbWYlf &=Q1;gfpH_;rtyl~9:xP7~ ±=ݤWbZ:lg̟ŠW0Q80o9Cψa S?^뱊~Mj9oLW./0|AV}зqHՖOE">6zXQe$^.U h>O=0sڻ?9odc&k [ B5k`TU.t%;dW 3ɛg[jSl l$X(<$A* (+h,X},/!J$MNECK\<4kl܌?ӱۿGB7(ҷHP?&?.b =E=1p?/|a;\|!c+ CjAJOWI,n-+ݡ+%||ؠ_kɜƱp&;AE6zIzk_k3v:-@70T;<߽$Qgcpn\'hhKW%UP%{YzJ_t*Ry"&Y?36?ۇFcN4^m`#s|q]v?!_?6f7uyI~6C5Y KOsA$G`?RQL/Acwo? D$ص21YY?/FysOZbko{1g[Moo_H~Gw* *ԓV$cbj 0(c/<ĮŎVX_f16U++)<.Xp8ũ+4j d(o$b5#7kp:8EKؚhƀy8!?"BLJ]t$P>&|S$K/ֿokwzMGוOox,]DBQA_:EL^B_6đ_"Рk׎nG彣 _ˏX/vU~d$Υ~XcM%o[%Vl\XHU$~*=Xv]O2t&GdGߜ/<=$ q%d0+ h~dQ\N2!Br  CmSm6p@dҫ !x36{Gh4{5]CO;J?ˈ+Ha`ʫێh;_&N9G9 mdySg qk'|;6N^Ǯ+>'9%kyѸLP6}?8ǑS6чt=+  rUIz$?%}r 1.̘LPimx?7 ,_gO Mf%펁??ۺO2s, =,<ںD|Ն^@KOte w)t_(A}<ǣ~~dg)QYvWG5sϱ*WNʉt~}~pB.oDlWלbB,wWHυ3/|c_.HX=_n(^ qhM> $m7M0y7]ٻkla"RbPhQ?#yO^ЇV|?u`t8E?1W~pon`L8J^2K/YdkxB_de?'iapd2|a>=<}M{k@ɴ-EO||eڲG 𥨣' ;E)p }-ΎXbI[.xV1 R>` x} XEд?ެO|D- ~/ "1W,i@אx| C,=4×sR(se_5jU4Uxzߵ*(/ (T;Dbܟoo7'<voIԹbaPIs1ӵzf kIZb,C9:3ZݪK֤e(_>e+fY;=(|N/o j@NXRl # zѫP6-`@ c**}8'r$w@{1]QY2gvRȄ>F ٻ c䦙gt}94:VEb?iqJWrm ֗J.~(L[kW)8e`@cPYFź۠&政܌;F{^{]rx.u`}q@2Ӯ(XW5Y5&Xn\?6_+0}},,Z$"o̊(x1=ݭob¸5ɶŶO3|?9! pȯBfT cnp6IJrR \BDd'ӧ> !șn4`n.Y_ aXuk/b A KawʯU'0q^ 'HhTQ"19%KǐAEg꠪t9bz ԝ3 ͎;A`!"5?0&/u8֬c 8vɿfФp-9}V m|\ip )\7_R`ܘL/uw=P(|#E<HWwYn+ڱMCp} z\^DMQ@,g>bf(7`> {_C?ocAdXyv]YR`zOk5_r:LפFXuvS/G_)!n8'c1i6ɴV^3Ε3G7p/|.#MF ,b˒c`]ɤǮz0uDž K kh>q]u9b?vсk`+жx=}o/'Df sZ_C.:"+Fc"[^)r8ۻm,aTK' K-T^[KhjQָmǰVu0[g|IA9o/tu3:50j[بox9`at<LLJ0@B9Xojw^#XR1TN}7IIL뎩c[&r?/tx/20z(,~c' 5IR<}|KunR Qo{wt1żqH rӃzKb6 @2$ O:+C~$n1b,PLm}xhU_ct Rߎ~:|&; vR\l#9`:F߰T9%12ȥ O> &+JU<ڱ2>]^瘤%Ok/b2WT}!+zxוBEa'bxTļ"Y{v޹/1B-%/mf.WU.Hd0wm$ ktKd%XkD/'oQg|4cm:F%v%>X)V=BWڨ@Uώ?ex-?A%?Q[VvXզqa$-FP{,;[<ŏVCqBv5 ПY}<) :`TK oo9 X:V`]k}%fFW#}4y$ I;cc 6#B6^' q_)0pM-I!G|=-cFa5wKEk2`xFDaaQJ0Nȩk"sa:]A/PY?ǖXD7b7UN˰1Ű{p?NsX[.<8q;DMcm"^uu?.i iD?\WqހHYcL!%<3,hˉMcv!{'c :&&oxEm6iVm keWXa\}W [WjNNDemo~nB;?ʿȊf+K0]:= 𷿃6N9j7 fԥ?/CB{"6.|tJBG)3kQo?jh?@]|xE*6iO{\5~!FIxޣl1LbIEC Xr重9]=37;ks}@r)\Htd\>3Y8$Th( IDAT c0a~؍.ߋhl?w4srcNcMHeFhΠ p8Q==!*]ިrqix K\t?ң"#/ O1u/>h hПt]67VwϏؿTIUuM}* Ɏ8vG`.3"Ak\_O8';;%]m/>$c9 Cg[ǚ 3.= R p#EW3vOYhX~+kdTavh/F3iEd)8q fKNQ=Qu 8Gp: !F^\o׎GII|ˠO+@ރG f7+xaR+Q^ɷV>G-E~Tc;"Ɇ{ٕtճ{!Uz&Eϟ J`~[|LGnXN"mZnޕ€_.-ٞJ_ԁMY ^O<[bH+8FD kbJ YzDڙD+eOl!m~+2[VbmtК47|-Tܾ1Ʋ~ZKH0(2Β d3?h^6X}||2w߶5uUBn9> wIo,nYM8Dl-|_̑;mQ+3c=my Z_,$&˜FbNhֿPhg95ϻmh9(o-Zuy6ɬ6n]mucOIO cnz:^|@37?Mu4sJ_t3:|9!d_P G};3 &3J9>u#\)x],Yל}"(+'hK$HE:td۩c%廎,*Ô5\vg}}vm 1Wo/{f@ױZN`!Uاe)7' pv<@ΝYWGR (o MuLvA:KQҥC/pvhF'86e'&fڷS$HY[n"zhrd}@f |j?1/jd[K"84?缰"K9ja˖j^/λ\O Un9cv*0ryokM6ikК j~IUp^^rw1Y,\dv?nB jӤ/?@;?z*iu@2YUMų"^ydʿZcdp[19eyom>ܒ_z,kkMԆc_8 5/h4F;m;/8ۯx$Y3SW8=~g_pl7j-o|J]l_hN=yk)7?W>6jGf,_ *ۦWa\ l H HF>qI;ċk|l*Fɸ̉pȠ՚P÷wC#ډxv&dwXUNlWJD fɅzĸWn-v\ת/cdbS^O ixz%=O@ }]2PBWSKn/|RD1qX^ F:^pD!z]*/hg~ū`C>6\sŻuKtP CTsB1s~rkg#rCE2X%7ßQoH0=dg+\.^):󅙒* [Qڕl\`{Rl^h[PO>YgP Kza;g8.'[zs.gan&quhS U}~_+>AFM0ÛlF\>@Z6O$*]IZ(kLbpi#>֓p-xpѕ>emM{g%&˶Ѕ 52F^~cƿT'0)' ʧ~ '\tÕ(~ 0XC8@oX2X 9WM{آ1k<ElCah{[E/g_'=P<&`OFpr78~¥7:}{:3 lQA2P֪-}7K3 "XX6yRK]&$gz}8a=1f뉝 v=LMŸuS\p[Ǡi?œuhEyjCDD|vvvGiVK.p-EPQφb'W:^u&-{s0iU*+OU1/}}=NBW#Utdyβ<)F|tt}9g߭iN"|2|};9N|\M@)r1V|gψNH(mZ駰?&alz*W{)⺚ucuZ6'yH!O\!O%sy?&:f'ѿA43eoEƤk_Y,8K Qy=3Ǟ' FN1Ő'l4;$PsUб3an~7R~R\t<? .L idQ!3W-c߮>ra܊IRؓ>{Z׉Ӈ<"7>'p}CŔBV/F_ϱnC, /k+cXwGn8QDn⸿|]?a~{ Ho? |$}6n * ^-!ऄ*ϱ.t"˟SmPⳎnyW:AJ%9t&_pLNܴӮ|`ځvgIC5kIĈ@qߡa1^b}y ~@r)_g{r[>u!t.ɗgQ$q?Z(gbq˄7gl5@O/l٬ LqoDw'Г"?w9w`Cf|~Y9C[1LUk#w=6kc*L0.<ݒ~,;[ w'EG:H&Ɖ~ {.i=AlCW,oO5f}G&ȿ\É DB=iLƳwɑ>YiT^ ~77s}45u*X?6RW.08la oxʸ֛D^c9ͬkq?c i;P ѝ@"㄁"yttf@ffGb%o%G^skea.%o2/ȜKAZ*+ 7¶ypza8Ib)N8nK"{='oŋ [+8xlpUv;9n X|k>*@?*oSRLbsף,%?5\!Ӗьuw"UZqKHtlkИhd5u$F@~+؜aMy x@Z%}۝o&7k_/΍;/^ yy麤3yd{_uōu~Oܤ _nqj_V?WK`k͞Pl;qk6;xUC\е;;Bk?_xc5%<xq 2>mֶRX?\פ/׽$0~un?-B_9FmS-r-o$`SvݧXA_3U#<"kRֵr(V9F+|u2PC Yq`Ր‘!)U4tyۀ}dD(:Qƣyu Nƿ%ş%;؋gӕ(yU A1u\;A,8^+ }s 0 :4 .8n:Wc =6Ջ؏2nǼމ?Oi4Ic}Fxڭ"ar6=ZwgS B}RF÷w_ ^CS#/.cnnlF#?9ʏC^s܏w_d8xSŌG8ڊf}l^( b>|>41}-KW3c"o{}*0|t}] 'į$#^_ĦŦ@.ߟv1?mZ,zea\scu4{#3qke1sZvP!JnwOWZ('FǮ >xt.M~j7P[)krv19C2 e y_N^}v2Bc4^o+Iv/ ׊gA4y,wUq<]wzN$йtEȷC`3ϒ-K 1hyߣs79oS!CL?{m~?SðTi\Z{4|_<~DTe;/,m|i*߳Pa~ZC@L]>#յwį2al'\Vz>y,X;HwwEZ_5]-nydߜ{CD<B;Ÿv{U_NƶnekswŧoHm}+~E~ Q+}c~!Ql}WkkmS4z`APѵP 10m?-d8P+Ous/]4VA4_ۯ?cjnl*~sva A(IpI@Т<1)oپ#^G>% ̊N[`~qpqşݿ3|v'wd{1l%ǽhy> eTxLB~;5mkцN[x }-0y`}?}٥gw1_b cMm's>BdɏCz35K@`~W;Jo0+:7/&-O)V ߗm`\{o_9-q}{r9vyvᓔj*5]~,C`֦>Fix)sr9΋y+ԎO;u:w5?\>a*u[ZGϘY,u - C"[] W tԳ_ը/Sg[A"k@@I\1U0ˡ!t DG7 hBa}hq&EGA¹1ÈAS ٲ׊c%:%'dCL.6so;t\0 RM0ؤH:qՐoOW~S_DDw9$K==®,Mxi|c&< Q%'74zOLX$X};Y5#܉u/07h[|z?}S 00mq5 Fqr;whZ[GוbDW<7ۗ{ qu]_Gc`1s0ގ*[ʎ|-` }+L|4,wmiQaZEXtgF>s y:-ix1R@69ф?#K)r/7lcuj{؂=υ|ˏT8q>ܲ!3ƦUARG>}~s$ k38G-`q[8BroHC2vDJ9QX&Z P79PDē@1BzGItT{ՁU4vMr}) _5HpV3x\w6V yH7xV:7h؛S 2"s7td+s5ۯ;ކ^omIx%{2`qxD Q1_ѯv2;#|N3OZ%wF*c U*ʔ+cLkUScCmJ?l]"r/v-y4}DZ*Le_~vJ5Uiʿ <=8zsF|-@υwNj,; ysco[H IDAT$7gӃN ,b~h>dWWנm5tvC¿t K/{iȎ|XC:4dg3"v}]rʓ?pThvZvgb~F胙+>:. Y,}& EӆI+9/lB}EҀ,qA|%?>]gf߀רc7A~N oz9eH]<̋\Y&N?61ȼ|:NLtyW4΢DI)z@M6δO0nԖ3LjS,޹L 9G'_I:VLTux&^׮LO$.]} 1@ G9?Z5|&ĢЯexv@&H~4S1y τw37ۚZsk!o1 lRt~duv|[mwR#~=΍OKtULl,*p4/jѷ,:_X{EH%(vث65_JQ p@ThW~!R-ml b2kœu&/Nﻧ3}ixmPzP? 6?6EK/~P7BEs5w!=۬:Ý/;:&gg?Vr~Կe۬p~( j/罩c|~C}N?}m51s ?i_A1)?OB5-o]L0w6f*+`X9J/Izҡ{(v뵙vUW{Q„˛tC#2'dHG1^o`t+1y~PM.2hI&TGMFhUY†usJ}u#8MV9(Y \ط*ೠBO]庇Ź V:ڥo`Z6cpRGB=eL'7Yݤ`w?\s@>X;:Y[?!Md$.x\gv/`6`GKhsyu06&ͮEL|O% XYMvOBU FQfM̬56Vz+ %5,>,5('8)cN@Fj_P2ù,B-R~?%_p#cyÛ<m >~, dLxiB `~:^ s<Q/+IZ}7NcVӇG]͒/^W^k,>@(-1VWyUE; 1J6Uϸdl%[FDNN33,ΩXCmuGUOcOW.s˺w3&Vv-0]QݗW49? s> ߁oUslWt_.V- З?ߍQ=:1QN*K@m>w7&׵j ^F(f_n-!?a7{m&]toli]ebG%KX)؝'n?*Ǜ[36B[?ц7cGsll_$ed mYXפ#b6H@;q't#/&|g.עבF=9/ѮK=XNks 19j1wOGG0l[Er~40oBנּZ<^vpk~*!c.R,,/#W6F\…]h`,8$-8 8:rUʢ<ҌB!ê+<1~ʿ#A?5K|C#e"8 Wب 5ZlR8[Yj7:byI|%kWpyk*$`m*DBɝ( PN I>DPمDȨs9λ9Lȭհ P,m`'Jg@>#q Ԋ B O'* b{7CxB2ۢ^T5w: q u)X`:{wUEI|V x" =t*혙[p󬢭m0ɃZ:&D\P{]mB@k`ap}{%B2*|ʨIK>;%>Dükunv N&h*rēyڡ,(X`>6H A0e_ytwF_/d1^errŎu-vg,iYMt6W ] 3zN ({FZ844 "Fŋ|1)ƹ1F#o59V<\V/4[ QѯeiI%] zcaz=d7@z&ڎ<_2PIi/nSK7+/V-[: HKt3޻{BI+}/Z03L 6F'r?i嵪}w{V=nOPM =Ξ Yr1ՒR od}τӨŐ昂V XΚܼƲdI1nd=WL\ڛns9nvxY>F)מWIۅoW WFr5Gvu]8G[I=Nzl 5"vc|sځ'A>YN0ni-SBM~0a^igA i0>aȣ0woM-R52)C„9WqWS23- UV_J+h3AB-?^ G`ƍS]}rj*V_ a+Wv|iZ-Y|T;*/ u2$<-a:=!9ԡ_CJұ*?AĿ;A RC6}I?b+!+kL"BG+^n^.;_lsZ؅`eU/U>/o9%zрmmVϊp&>dgg.2&: Ǐ3SE%[yw;mПyN{ yآ'WvoӁtV 0̤ooӅBgjƂ3$ zrDG`-,?E[9GW窨2#均x )G.]?IC>mx<_0Kd~>Vo;ğӅ*\lg *N8B˶C.`}CgϘ@/#}I@J3LZE֏>ce˽@>,ocȗ;L:=3=("资- N'UGafv+aښTp _W|\6LΫd>gE+{%9sR\7!Xሣ“R@:M1٫kix1<:/s^߳RkEA0MG;:p>20KX !^ν(ik~>a^9#~>F~¼Ht{ԫenoFGVlO-ɭL ”|eVx)}Q=\9 {l('b!~4vKj$#^yHܾl_k?!LϘպ)bHChxЂUB8ӠD:b=!%'!aqqN&$}O' 9;UT߾c`vg+u0LhǞSE(`?>SVu.]_R>@"pK v6pI01m衷[?VBP)3g64법Ǿc㎙6sqGlS]1- e6!yk?6<^Ϲ+? bR:[1u fj OA3a?4\mzSM,oVĢ|/w4qFo en.~<'ШPhc1r Ɗɭ}}.axe8dB5^_ղwAk#!ԩ|#ks^-w) Eja wm<2h؟ͣ\Ek5}d]̿UG pԺ sbnYEvS?-MZK[1"~guH꿈Ѥ4aFWڑ 4?aW_?_cB9PG66{̮I\+0w M-wߟvz'wVnF}:%yɧ 1 9)'?Exx_8}>md!y04'D"*JBzeAhe0JUZM"L~Ku)ؐ$*\R,lPҝId:L-w{RFW"@['u`ԗa!ɢԑaعƬ0muW$P;d&;Oj1JUt~&Џ>b~~vxgG>Dlo<"3}Dc.#66$I}eb9^/QHA%ݳxA`vYT _Hҝw|aL798h.ȹNo:2y~T`%O! }@0uݱ93З;nso70qEnGy񻗊%C9xFv%(`r۪]RF;# BPaD27ڇ6~QO ̥~U\gB~A1eC%s֊ۯ?ij3%scL^$BO Sg, w97#2(͗]Sq]kӥD?05&P5tIHJ/E SWԎ[h@ס`5(rK(O۸#Xr PC+>èr_%XnSu.d8RB{}(G{0-eZqC*^[1>W&5_da;Pg@G`إˣqRܝѶJf_S^@Q,ڨo 1ĹX" Wݴ/^q侍TG2Qdw ,1ģ5E!06EV:d@K%%K{3gL'{Q-߰^͚zz N4.FL6H6a?OEؿ1 ǂZ3t(N2F8Sr#k3So?QQaNUz\ o[LU`S-q"7;!ybO(lxrrk-Myo/?erK'ГYK௥k7[rE~x4Wsy0Jry偉V25l"LxI%'&_u'NU`\z*[Rn8n Z*S~&9"P6RŬI.N_ԱI=,Hu 㪬)ԢqㅿvIvѮMu,+ a4qUu}iW;p]~WmdoCV?ZaßiHO'k.g;lHcpg|9p=v/{h+mGw32quJ۳k'H On,lTw9#TQX@aӃ,wa =,/^嫆q~X W$$r{{Zx_tKw>VRjxdKW;LKI;Ɣ ViR:+_ȅ^q< "+84.qd^fW{B祻6= afScM֋Mo395tlƮ?|'F+ظꓰ9Z.7f0tRVx,{t*5px?Bg~je;%JՁ6dYX!&)oŸɂB0|Vҷx1<-5c|~_:Ej>?5ί6Asg yoEΌ,w*|(f~n~(D. d-5s0Q+ߋ7ak11Qz𖺏mIDC>Q͆1YZQ1]%;Ǘز4fya*YD~ rܲe U\׊tfK[πQ綳Gwq\%$@)|~dL/Hpi S/fo(اCO`q)?Qn?rWhX8V$e_Ѕ~Pd{!;ZYOdA?84drkɵs50[26?k9Kirp &ӪTXm-<:V,b/eV0Bv510-^X1|t n/ZXR|1'/rl'Y"^% dQB;M r0K*7J|6ls8xkׂ[·TRZ߰R ;-Գ@6Ӏk6}yk,R!mJ3pPT-Aɔ3 f{ӥKCi+` œ=31ka`M|=GfNug [NbR@}sT!fyը<`t+QG?f#kR 3d:DDg<+oebx+Y`c "!?lȇ'ﷂ4^?*::ο#H-t=_dMiX(_Ɖ[vWQEqwιiNu>W.|ٻ`InGV{-0z 2%0Xxf.z >oކ@ ʙ:G 4df E6_~7؈wی'z?a떫R./60׼@)+ 0|LdywVQ7fc:%7gJc\׋vf)F^_޿Ž4X u]vHB&;R)'c 'ꡕ@PVMGm{c6g뿖p4֫P֜JcyS߄+¿"7%i {wdPǫQ'O+uoGΗZc?udϧï;Ƃ,mlR?GǃJ95n`c RAZuVAoM|C|Z.Xի<&R+K8iOI2.H_6͟m,-8sw^~qcEyZ4=n\+NAa#b]1Yt^!S1ڿh7]hSמ4˜{97o`'n/J~ax%pX^ Sr+c{psl/\ћLpxzј(-1k5h]v#.glw=B4yO_뿯=sO(^ca'QF %??#vBpmW: }ȯo7h̤M_.f!SUX`ݴN|/?X%q6|uG\zP8`Wf|?|8ZNW6˕0ŋFqcaBf72֋|s_S =,p33!? cB'pEO\A}TS5C,Yo`lۓQ}my];Y :{_rp+R4$_MHF擹Ki8ϑ%'6,2M[ƄY2PIe9YÏ.gq;0-=^A{H[hp% ѺY8 c|BxAf oKpeW͝BTjW2m {6Nm.Eih_ܬ7wQo_ ^ֹvpX<;XڜNO˱ _ZQ,;6r[`zfO+`w?few~gX@AMT?|0\G9|$/G.w-#_W}-5/s ~vN9Ғ z} b݋hcUoC/Picx{ӷ6.RywvkgJ ]<5=q$+PyOdkO1y1@w9v0zMٔ*{iD:~sSU7qX0]hه&u%N0#El~g.4'u+f2iLT%oHD;֘O]6U`c.u)EÛFIgJ`y%͹Jh-Ѐ!4͂7_1cǢ 1ʋ-bSWߏ 1@fx>E-2&OXO.oMlܶp3n_NĊxdf@6k}(9gT1Sv``h>w$ Ω~%TC#Zt 'ɱg.xҰpr ɿ5 n÷X P,g\@Aw`p]1e5`ޮЍI ˁS5w͢qt6 Ss;fۖ^p +JE;CrQJ첹?vkfsa\6PZ_C1qt׼:)YQ0-e>d\P簥pYgƮ)yPxi-#Jc/$:_sRvʆ'gnu͔h}ȆfwXdƧNj~I{pq>Wm?_Tm9%I/ore~V5.n]~nGx^?r2 ^7B?Y~tkw7t dF|m09wtXzdY1Y,#k3J? sB u3!%a GP(Mvv;m#<օXF̜y^Z5H:k|/KW \W/{DX )d9Rxd806?w)9L2h }A͹:đ,lkqY""c'v/cP{%'*Irb;PH-Bѥpk L8>o緩;27KϑT:qΡ }KOaqo)knxzٽ?9y/JFdW~Dm>1Qwx_>W~#.oc_*@:˸4Sz8W*y @ U_{RHhdo4]Wޙtsro(.q;ilmn~R:+3Ė0A!kfFW.6B=u" vZV +_/wo\| q'E< Ȏryd@'+:sombG\B]}KG>rH!BT y^ cхs1vy A3ThjwoY<cض&fVъ]%͟*G{8Z_Hb|N|\m)kX&bnR}޸wns<*|򙳔"[K$d,f|qU`t5Nνr]p=9LR %owss[.o=0GUSMcEC'y]pD156o:FgeV㹑aC]^0d[U|1SIN]ymm . $u<o-nbqy`S6"w0mrw+(g怖SpLGMrCYv0HZ dmxMlժ_+D oзdch;:(K,.UH6+`0z*>فɡJ΁#b#F_oDH|2|s@̶(żUJ0)otת~$"Wa D>'d>gݍڭcZ5";j6o?~QDq8ھū-0[87fiC3x<:+%,F嬈;ON3xU @Ҵga M.a|̆12*|)2gL.NuXC[8^vv=ô:R U( $}6;]>?a g%pşGҒ?3}hJ#@q%FU\l,/wטW@9d&}O,ֻ6t)e扴 l]w`1clXwD41#>Zns]v;27# 3VA CˉNa+=?,YK3-rZp oe:F Ʉ6#FkcXXψMb9Fp{#c#|a{ ]_pκu6=AK+ߎnu^Ň[%.+e/h~-`Z=?>1(\Eg%ȹ/^sv>NHGF\loBVSUv/({.wm)u<|/xy&L\4' A:}'x^?~ӔGEr hxG0o sa@#%گ7y>ITI/skDW3`?:XpN-0nR5NOy8Xb+THr'bmJ'cH}AAd6r2h],|}s(2 }b'DB|lWq_H~}E qL, Eov+y̏ ^|P [a'x~8GOCb9YH2_B"n,ү< %q>7% gb`3Ή-;_,|ǡ+O>l_/3w9I'{ayU_:5c_̼ .㡯⊼"{=)pg'lYM+j|7>_tZv:m :C{sdzdc~v2?NSC)3 |΅ryН )N?]yȃ>Rv1g{~HɬWиjr2C IDAT7Soyo*5v037Bl,6QW~?_涓k@7UX|}qo콊ߺ _I_Fwj4-"qϭ0.+wr:=̣z.C,C-H8a7&*$+`~|؝=8 1B@oʿt_c`a\yq~S..yOZ^`eM.#ν8>o_f$,=zr{ y.l'K03m"c3'|or];4G">V䑂M跴v\G#"&pfgi&wso\ܶgz{Lhkg>o_um{:C9Ai+o1_ݥϘv@u:}΀>mn9ZUBnBu?5bХQq<Γ_mˊ+c=N7зDՊO) Jz׃8:ru'?̲8v?VL*}K2"jxU?<|Lv'Z@bтDaR"չIoI5C'saon,vEuU7nٹF-""1W&{bҥzr*}o1[j Os58 }}oc.st/ɉ+}@ѝmYu(>N56.?-\zc``hǝ]޽r&,Vf~ȃSU|$l>Jf~OR8)>ncl gO6 $lSEp畨t ~$('۳WD}\LIoel.SA cE@M5+ ~m܏6)LXߒ278 RYEZduG5BtUwpAz__<# cmiXFx %4+`.=Wf >o;E?zuGrk9?OZmm}5uQ >uo\dw% $i i5 XHQ%7*慢ʚo&;\z⿠&%qB~ \%6C\!/'vn⢢UY >Xê Ϗb ~u^ﻴ[3N7QDh;-R;1,n! 1V:|q J ܖEkՉՊ'3;oZf~899/ r|?` ̦6MeJXsou;a#oreˊ p 'GOpDmx_0An3F_Ng=S1S%kthD?{L3jk^/ |wd6.B0.4AA#fX8\r&;Ѹ"XPV匙D^;*c/fMn_b9u]o4DŽ*pGux}3[D)-~ѿΕoO`\EcmL4P_b9_uj.P_` _o]>$||GL6,Ӌ /5)\)x8N:_2zXpՔyoBz| )|/rk|Mvق[=J 7ꙣ*mxzKS<.3l`W'2Fu*=kF׺qd]s?1=bʴ7LEq) ~+68{!{0% A&H2sHwNA=nyk.U>EguhkBG7 H>[?aW 6m yTs=0[:*`C.1ޠ^Q\\aүxE;I[gc_0*,qos+Y5U/cY HW09}?^n`4HiN|qSdPWsٚZv;/2zCqŁK̭v{p7]\gֆ29=!R 5kYjh d{IENgY_+10۔;"o @b #Ft18t/+xkt/!Ӫ$Ƌ " }19wө MTX^ :;_9':o,_ v"I}]pf_${)e^ (L|GЏncA&)z)n; 41ֻyE$q qS;2T0(EW/?\A@|p%&J$FY+$#>w #pbr&U|*3K(̺kW'&(i6 6@8Rk  Ncj~ u|'KB _[h|!xNr:͍@m"A Zq|x26N<; 9,>~@ۓ@Zc8JE3q/a$If[Zfݪ1* zįLjoad0*T*ib 3G.93}sfk_hWR<8]mYQz Ju|?ϊUgO'336#7Ò2ߣ͸((oqP 7Ƣ};Y~^zsXt]X |lEaN;g:}u-|}?Zv!4? M֯(tb/̕벙//M%w+#0]cYMbb9Lo\ei'Gq,~b™ 'xWBckg%yySៃpX5icת75 +ed_gt5v„5S}~EM(Wu?nBr??l[$,^|&)&ƿ^|;wW7Tr//~2\(ZauBdt7)j3PtL?{m[0*!7y+! kui&s8Y+,sIml/( xM)r]Zq,s;|5D;ҷ\Wr~ͼZP}qa}XUT5 ~5m[kh 똣3I :[\c1E Cw{<'AxSbq_qnˮzc(ÉM3Y hY&m8̎A D=K\_Њ<9Lݰ]X 7 9SVXjrAmcƝOƁv7Q(p t?# %9@Ήx+l^_q毯F// s>;ƕT$>- YAfg^ɑVgm_ ېO!'aP=,/||;mw8wMߺHWMtq'\z<{|I"#FF\-)w%?ĕ-3$MGÏk$`^ycȋ_盉X&&fӷ>bJY+ow,ز( Qm8_XG!Hο!&[2?* s DwM5 ]|`~E¿ p-mAN΍U9io eo: [!ͺd.&2ArPTW:C!(JJʙ7ɠ c?}WB1`L$5ieO<F uj ta$kdC_n&xɾOb+\:e#BrG;u5ܮ4oMNDq1@tk܇;{oe=k~ddg3D,X%bF v? IBW ܦ!oZuzPVz{qLUaҿoLtJ=DdHŏ?Y(0=ZT#C"ƒ=V-'??16q+ݸދr3a#̲6 Ky_ι8*:c:݅Υ \Xj=t+QcIm>F&Ǽ3έ3/Cc:7%gA>V޵cnz`$cdYrJ^򑼘8#[|gA,sZId\5;z'3s+K&=F+ '7oc-XxILy cdǠfUr&;|Yo .{^k\$d[ѶM,p-CtY?*Q" Y2JƄQNM8ȶu/6xKպK 7E\9?/;l\p ,($FW- h3KGGT=F~>"yCy߫"piG96ikʃ{b y|8@s 5'^$8 -1'9Dz(z^/fmܝg~}BL\#ˌ_"4frVn pZ;yr'.}5w3/k濻&mm9Eȑ[ݱl\_ 3s}y.<.!a^Q;ʵ~ٯ[Wcw [J'}2>`<U/ʱ)M?Ÿd=?m>u QNAC8^Itvnsm{ mb@ͽIh]u_xz@'^h\2nRcn[,o1,cǚJHO{/qyx6빥[{ƹ/{5i{\.>;i~3 z}oT}(o3Sx5XSs|/⮇dL`B=kEG[[rvƯZϓAm1MQa-l,F(rYuB*^Kz"g^[p~<8rdQ\W`HݳĚX,c-VwOXK5}.;^R<ŲYv"~j1k|akl6cx 澻`+Zj|4+5TO' `wN8 -iJx jm0zon+?>&/.'SXx^w!ƍ"(}quNCvc-Q`8`xjKx9&ۉ!'<1+=v<(LPڸ&jJB?軋kS;ϕӗ~3=?j}_|cI b;79 ?ŕE1ma\ς&o`’1AMU4zN? H2(W^z ŸQ=.purQ6䩱'e$G _z`c@Econ08ab$3ѽo75 wd[O-M$AKJ1l,=s()ze. xe }vj~mn+d6K+0nҥ <{F^]Is&/)?N3.$>7 `3׋2Z>"~Ul-YW~U=w'7h(0s9_77m1K/KB>#>1\:#%2Tb>J>;bl,\ {Pc]G}B +Ͼ25ǚNQ5oĝwKM?9s}`tx.z+#4u;to :1~n.)r!V/K9wշ(ۆچMmᏫa{嶭k/mQrK̥kʺ#cP*s ʒKߨJ^E2<;ΣNcAG YOyau)XێYX6Z g:|^\ 0IY3|l?>M[H 7^NV2յF>2wtp, BH퉿f.haq09?Ftjlҥl!g#GpW'oS:]-YqlfΠ=a/b1txo`˜_a70c Sߌ<%S%fƿ̀RcIqϕ|S9dmcjuğ_&q.N.I/w|0hЂJ21d_mRΓ*r<ɱ"6B}lNRPjWQWǒ||tLM=X]K$ϖd1t.N3"PF8w^-Q&G' 5n3R-$SbGGT}뵓!L`VXufԟ%;O}w1߇8>CWN~@-KGqAXqa*Y'yH~DoIr>~qtR}c6<0ȩmaP ׉i_0.rQvPN??:u28+}pEq6nIw_UQte1 W:?Or:pwѶ,=C=Jt/9ȏ4kscG}d1b֓*Pm~ (M*KL)Kov6.ڦK)Š:_7$|0eXy{?՟hֳ_UL(9_m sߏWA3 /))@∉?QI"I,j`]mrM11|ۃ/0Y{:(y‡W^>Nܰ;)3^`Ia D2J^)a/dAWdR? 1yedMLcas3v"F| "9?ٟ7Җ8LU;zvIm̈C/&K7{_ٰS9"ޜwTkCܴc ;Yp87s׭٥8owU4fX^wkcņ6B@'/`E}a6Up<'v]bCVQUk09>=)qQӭqrكi7!MYZf ,ٻL {1;WU,o~&Id.qV c 'N#Plt @wdjΥJj> y}T Y~DXamj* K?7xbPY~4W?f#u?DXAk^j$V2n[H a(xDZ {fokÆM'!@a_"7CMO o;Gxb*vSqc~ [QFP+^ؐ0I1}r(<>o SD:A17lg\F]ݢ _~7'B]2xA֟64!g|a% 7_cO`Q9=_VN}+т 7~,ڝZȃ7?}|Nb3W#ǤGN9,JN0 'NYec 3`(XE)1ħM:Σo`[(q>|+֟j ZՒ>Tx&-yB|v4|+{MdEb10yrt~?cڌ}qaSA+Ψ/ctѹ_[t ;o|YW9veW(5V_>EVF}\h翵KzvvMJ#ҟ_XX.:6lWQ-U?1<9ߡ,V0˔կҥ=kWnZØ* գsarL->F&ٽAAᯜ|󻬾U;,o|>vjU 9}'ؘ2V* 62%sD"fW^n]#_-( R_UU;Zmqsa!Cn0m sȘm"Z>e{?_^.Lfo b I|@w݋s֒Ek,h\+J?DY <!owyoo?O\o8 ?JZ'@ZWe5k1b҉9*m(^Xuv}t?$`Ϙ8ߌWkA`: s䳅M 3:f{? XjJS!@@HҲ]'M91/cNN;E{ i+B Ca46- a7v㸥s}iiT$f.pU?%, C;r|Tf ڱI0n1qn)1/Yi4wa.Hak?#yS +g˦X0T9}XZ REgU]9-ԇVt,Re۠gsՊ޸&v _RXdD1 01`&_mۧ*dL{Wi+?e~W`8阱:یKJ.{`^#*3ߌ+-mU4#iGZsZ@ac+'8x-~#gO\i"_?6ZxmZ77|!?6 7el g'c8!rfqND٦'2GwEljP{o.8/o =)ϐ72 -ʩ'xgMb&'H B.N}W_#QݚԟvXX\qKϟA3,#9?-B'WO$ydm&I>0) IDATaL.0 z7ͫ W6<!C8Lt  C+s$<|CB6 D+űpl>-SE|_>t r=zbFSq{ǚ嚆Ŗ_>F<_sOs\ Х]2Ye`-|NءH%ea?YPh3*lNG쇈G+:l}:Q>Ty-ϒ`3gƾi ðC~eqD(}wL(vt)Mr>#urwxJB<Y |`1P`bJ4_6xLa_;l>-Ȝ~-Ăfg]ÏA` 6BqOt q"ͮ\doĘj63i}foDG%熲n[c[l$05܇?/;҂=SU{[!#7ző˕6+(W>caN? Һ]O 29:+5=<&H*)h]gI\+veCo.k . lsGoK?4;EvjʑnyAؐ1 }9r;|]~6=܅ağ,3lk_~8o/=qx?.p\^wTouK7G?^G9st2՜Z/ 2Q;~5eqIUD$bh+m<(| NdTc{@B!/ nBiJytP? n.@>|5%(svéĀEl2F=H0gkvu 6;FNB&\;8ŊG%H"l& LԿM~Ŗ&-*y$O0[>zh76 t&iQC'/ $laV@<#T-u(J.yrY0=t\l44nl}|\¹ Iw0&oxQC/h:X_`/#rI wLj ʛWnF׳PA2?E9rAuGڿť҃ X 8 49% qLG`m9L;egA(3=Br@֟z!+e͙ms~yFN> G)ܾL y8n|KŨL' YoN+llcu͝)$=lh']v#!O>rd\hJ,>7go~+M&q6!C3$N,*FXLL; CY68 y|'7ߑNH(B4FW^0|Ů3/?}R\#8d8nRۧGùuyR&/=%} HI~ޱ~a sW0{Y 2TLMgw !li"w@E0DSZ{ءs;Ɲ:q% րrbQɢS~Fg2?w%B2>ٞb9~#^a2񥔿f1+d2k &mJ&f1IV,_*B0n$׺=ē[l:soя 9wd|,9cq?ϏF%+Gޘ(i7`EgĎNII}Fb?ijhC"'jZK^/}~Bw-ˈR2<3n8J=nD}]Uo^0942k4wZs6l]H>O$N^_?]}?Bv1QZؾoK?77.^h;<7s@lL<1f_Q;Pz ӕHp:{^itRRE3{=ӗdf_n$Xҝ 3m0};TdӍwv+ s;b&r㻸ˑ);aŋ]طLcsAn-=E/ ,*6_ڷ)ӝxyP! Q:At[b.nwyrwK#~RW*GUǢ&)]&>7m+uI:frڂi|,߱xb7[*'bwMZ&HI3= ZJtp+YUu3}hmln\K/ۼs?*|Ij轰[ܰ0VQ)Z^Yv3Yti@"}]71^a"ֈ&&G|W>1ybe^:/ŶdS־٠s+YՒIwQ@c3c#.-{07.(K=kşǡƸlߪ̶̭~tڻC0ɿ)wu\N?-W8>c\q_ʑNs^{>>9e 9saAaQQ7˗ r?1B[G&0"im!0`'7,ܘ_y,VE(r,p<^TDo'څkrcs4 Q8n`-;י'kv4!E@!l(Z7ى bە:ƨn{ , ne>X1ga/ہD?#pc~ 0rw!1P ky=Z.5deI?s9u~Pal!?ɟ 1m"9îbR-$|].) 4 z?꟱~,Oi@ L5C/9_qdw(dc[fFp8ɇƋ:MXm*sA\|N7M$K3qXyy#2.[a!8v:bn6L3fھD`0s?X%鋹U~P5mqX."  /;lZ͉0rM/G_$q=PPij)rq+#v%)ȌU1LGZxv~@tl] w>w6h.eÁ^ }?qaso|>H.Xɟ8FI,Jؓՙu 7Z﹫;Q9ӏ|jx x;Y@D\Q]N*"#!9N#q9{>7>!C8xa!&>>Gc.9>a3:Q4ҘY񬜮;ϙY&y=^+gbCeUI[ YQr GtmK۾ݕvdՊ<2J 8A<'g4,&y ^ u+=dOԑ:z?0~^#Óڛ[1-'kCM06#yS$iK̷H:}92 ӧ6cs(+{?erXL^ɤAw̎;a^*܏_vleZ8_<&FyUú-c OhQbf}Mpm a~Q3y~ [ Im'2]I܈0;ol@5C# ߏ]Vzt 6P_1}UAC4ٿ'~++0?cv`+vc*O~jp}-]N㌫z퇵Pnt;M1@Vd{-{ec# 0g#90VE4:8-h}â}-vB#Dúa[#}dџRGWٔG?ȗV3Ť3Dϋ˰c5}䭇T~5$@9赓-DrɎS+( z͛~|u'}3i%U 쪿'\$]͹\N=S8,SM{^oZy\_ѱO-q$ʔQW¹q aLb9-`x>|W@^cJ?h`Ⴂbκjr $Ęvc/~޽8v`l`g7q `/> W; Z>KBœ^3\@8OVq/}Ωn;R0wսQA魄_&n]MC'dkaM]j 6pNt1N_s6-2 5B"M `po 0((IU1zx=skJQ} c!Koܜ8)ŵΝROQ1#*y,|-BZXNJ1C.{=#S0/2Yǘ9V>Ϳ+{b1x]_ੱz>+?m ܭZOUO˰Ozaq@Z"Xb)vs]h#v+ȣz4*[UWB\r~2$uU ~\ʬ`ڏ]8{GwCS xK1ZW;2}[䌣-g-)m#͇"<_[Y,%y2#*dZQX_@c^JvF cO!';V`|xp7Kmyܮ.`)l/b(AԹE,6|35FpKt9,+>'w568wmkY/9O?u͍8dWboWT蛽\dw|c$~} jKcpxO[a  kfbe{ӧuL.H\oF'tM^|i@_?n3smP}HIquةF:NّT R/ M; ]#秲roE?>uOӆ?-Q]% Wr7?x 1^"#@>Yjps5⯆Zm/OeىxöK96( Gvrmz?e^x*sB[gi #Oy(F0b|/3g+'?|Q?|w^?/6Aw'޸)kM5luؙ 9!=`e3O#gIw@=DmObՆQ~ì_~/'} }Z_F>C\spsVz/r$/LB['^bQfT\7v]ֱ]nH'3A7cnd \`lVӥH,Δ̤kڇ qR :( l5=p#n<0tG= pG,\KC cM,؍~DLH+X؟swmIgL^a#vc Bzc0N:o?5v+[-XV.՛\mu_7s,Bn_1gf%10#8-SfbkcsSG, d>o۶{z#K ß'>f7E/^BkeU/̡ '@nusj#;hoaƴHGqmȦ^}mg欇0/ݍ1B|'~W1_4ύ]MX{t=7DŘZ夘֚'l92:9ereŸҽ7e_ZVEO8`o=~&Y0T;gUsN6Sm=ȼ{[6 =K;#QtXNRµxB9ambԱHXODjؼܴ73pѻgQR_v\W\ҿjG}ac6d |_ / _Fy ƻJǝ YD!Eby6cHu,A; DaErBʷ/Y_YZf1WwPŸռ$S8+_rz]gDž5kn:kCZwY3;7z9Mڏi\G;`(QNjnśЗ`{=6b5䮅fR!GODΑl9*ĝ.hG̢ >_gNgr6꿨HBt7N_S|3 Mb2 ,'jܱYMЅS,\ָPvPǥ/ pe7$" r[a }tPO"l8UX]+tnA$mϙV$igIxכ>Xv H-Q֔"A u;^ 3|ɴ0ZテAf{Ck~s}}Fmߚo{$6\cÊw3X)'}c㉅eO_xzƎw9"ϧi yc`Ls6_mԹai]Ş|d垆yeN;r?r?KwVXcYh- sh;K?xJ`Mwx1py`_s`n4I9P.YF(z7^;:ӂWwi!+qyqYΘ+#?!#Մw(m]<|$YɇP<`f\/jֵ"ӻWTKX0Ş>Qwt -IˈSTn 8>?y(Ei ڣ}Y۞gxiK1X+0@uA㯼FN?n=ClmNjpn(:00/ mE g5 \dsd?{2^hn{i0iAP\{wD`sƯ62ccM&)pş3􉅌Г܁LkvG/m4u1߅_ۦw{)jO1A:%~]n|vW6_2_~`JO]J-Mˣ8{Xn<} iϏ [1^7U`<=C޹MKzŏcxUW?15̟ym;װe8oP[}pN^HA-bm4G7s9xc~3uXظnme2{g EN׎-8#%Iyo?^7 q/xM8ӟg_x(b#3szX~pfg?6HOמkɜZ蚓X_5#?q5mS:iWy> mc ʸϻj8>Ɵs!ǎWFş/cgư gITTDd:M✏P.~mݶϭwx/g~Vh&A&Ngd;Yawφ/.L?.6!;~Ҝ4OPLI30tۨG?# V'bQ̅{_cUUJ sMΏ1׬CH61[ɪ:-hYGdz o'i4_}^Oᳪ$A4/\M_ 'oǑj.pĪ5M|mEG,D;?tQlCXk]rc-lc l7_ǩ |ߏ^'n6Wr*]c1X^PU(;\xONk_??k-kr:_=#5vy8x'fRGCHIJapK &1_B],B>&"yYxUU,\0mb M3w?M&/cmA1eg{z~殃B dSؔJrO@]~M;ƞkBglH\AUsJ>J6GOr.T?$0R>Ets1EJ;3>b*uFzsC+Iis1n9&oQ|y-5%hN߾H]C3s\+fSPi~j'72\=4>q}?'F 7#ϧE d;zB=QS/\f#'=SE>~eee, a$_aI=ͅaGnݸF//ޘA3y-?jVҢO$93yva[ڊgH%F{qx\mfaȹ]z{惝/cqΨenqNGȅsJXt9 y5}9}FvYjXjnI,cr\p_3F&wiyn,&xZuu2W@2nŧX|nunk/"DT! ^ 1a>vǚ,꿣DZ J-:I\oNJ(b 6MGbXk=7zlED!@>S{ jDQ'j=gF noqݺH"96r2ǣM6~+|;ty8J }`-?Rc'=yGV$Ŝ_g?(;}kŵ^M,Hs2o }(|o.Q$yVڠC4^:^9x߭_/\dܯRjNQ13W~)'^FTiùkaM9l,rSyy'GG3%lSeg/%D{P)迦4mѬ? n'\{8w#}+:5Iq7p13#o] 8? K(QDI8mt^2UcgyPY.7 y&G|Fd(/v~TaA塮!"QGF!,Z^",΃ԂphޓǕ%`[&bE4A=6@e?ਾ.[Y'W ?~B59l]B]//j`|i _2 pxGeL"&{+Hu>u,x$1yŶ+rӵ7<,~s.كfa+OLjզ3HB\T[Bz,wlh،D2ɱAQm~W-n}-s>e%< [_?XoFVgkdf;46ї 0 *xĤ06?y1薟<7rBHpv6QC$wh, 09Οc 47c׏edSj>f;Z [4<.M~yQ;q'_=sFPer?71}g\;ī~ol{,#cOqze=ìl/yQurbx<8ODܓ|^+ݡD:E7W5meD0wl̛KFnUյdفtwL.AbloW}.^IRF\:h9ߔ 朿`4DJVnv~|=k c-99c,2ڟ,=˅sL?wu^˳jھ _k;u71?0͵XI6?vC-ೞE3ڨ{KA➖w%pUGfޞ| ۸~,w-v -& (I杺Wf~cj":CN8WSޠqt"ͼ_\/ t_|8E5 \I. #P{& .|q[{&x:W-~<ڽ5 2뙯dAWbHv1]W5؃qlwL[ؾ?xM\ğbrpS?o[;1fo;wֵIV!S?Z pk1f;o?75~w9 fVo&j̲Ha-gAZ`%5 00H{((~όgAvm >#6`9?5C2yڶ]Y\MWY; 95buLxkڶM,w΍BHW9c R5}ˈ9XkՇ :51BU)â-[LHn~ q7\דO2?ģ@BscbC(kv?:76jy_+M:3x{bG\qE?w{26>hx sbl6;7eپ/l1GXuWj6@|]YƁs;ɕN 4;]C3m<|~0=moR9䳲"7KZCgk1FkUƺ+X N]KKc#6ml?{`|Xm`6xOG^ gcϛr>НN /JyGߙ x܏1>FEc#\mg9iXw Av~w[#ӱ𽓽gIZ~o~2`o._5(͇Yl[yxN;0f@HTk!XCl@6sVc)$M9yͅy1>f2.TNWT{?~_c b9l}$|$αIיt&Fl*:wz=+q4?8cXGuq8C6Y\hdݱZP]bZUMFPR2W=';ON?& (d(9nzd)_)yyx.!nXqs\pݼbdpFBێW.+Gl~xWY (/TGӻp O-6qQO+zK}/*oߨ+wM7 ZS·#FL ]X$Rq,&?!o4/߆#OmܦkVO~JSu}6ָjc>9]>l6'a5Hmp 쉛/FYa`3imP1XuN6UN6ڕ&U|,Cle*8<߈BbrHXPk5"5vSgH W5'oF<3&]$N߸?ro䁭w/6Z^!zr;VuxFȩv_Sqqy"rh0hH쇝 ;tu1 z>'yfS6=&N1k/йepݕ}w?~>M UdU`-1䊱 ]ͥis=1v]G.Nm1vz//>{DkxЭ_m+ykp_/_%g5\Mn9ٿ擋Vmc%*23j2〶FcǞü6UڞHS5f XҌSC=gФ9(PR<@] Nk]k]B|nOk;>%fSBLtGO,줗;QT*>s`SrζDKTb(1&/z+l\u"U߲~!̶/UY<$2q IJAY˹WEucu/ 3Q?XhΉ.pNZNXi>rNP] l!Ȑrvxib~ԩ5v_)Q=7R1uSH$nUZ$ț㆛:cI~ NOMϝQ&AkYɶA+9w*\x(ahoJ_/Ѣ.򏊺\?ASŰ}:b;s>PDN\gO\]p\I9ՎCx?m>KE-H/>m QWg_רU/iN+1l3gv[c돿?۹E#0vWyGq@%]mo432qzxJNCל̥#SQ\5YiڹPod?w-oF$/;FqC6?oҐeAR\l?xp1=zSCm֙Xi6@Иs(K_+mvzgw}3ռXxfG_(h<~jzy>M1㏬ell TO\燐|cx,\ f]7PDZaF#2B'(ebXcɩ;g0K .̎ty밎<X̱^lXNߙZNj lvRGBHtx8Ir)SK%;\y܍&}C9]ʳH,x2%.2ǹkHgy3B^QIn"fK$-YԖIQ:3MD4aB\~sږU6(촛'j_ femuIZ823ԢkoG1 (aUDlX.N 40CH̯K 72$ ļy}uƤmrhH}cd%\꿺M?CtAƕ2CE}>ߧOt W{Y _G۔̸=tչ-~]6} kLetlĶ@;._~L. 7ҟ5P+_4KS` vmcK>YwX?4hc/pw_Wg᫣CO9zɺylɿzzscl8d_AW)yjDRk ={s{Aɼ\27Ҫvf`uxk9.u&a= c͠0n*:0 MV;9"3yQ³f[.Zmˡv&N:}-ݟ#zxtSp)'A7oY&}Gi:ԁUK~B2Ȋ街sgjqJIUV#7kl0ZQ撢cqu _!Lr)XE7,P,lsw9 ~ o?09X@ wK'F()&NN'_wсI#__[,Q1M}TyH j7_%xVt7̸#5TeT  WڊX72O76&t}c:m!!s_|u^i'=vV軯ؽci@6 ş#A4E3w9JkQjxg)H:2v kWӲ Eϡa}Sk3H߇1;/"6;JZƶws<1Cۤ2dnF-= xB:QבxcgXe1rJ]vңn+!7nxh+R0֪5,ˏ-?eEM`[,rEAm pKe#.أm8a.q>z2`.y!S%Q &"0(]'j&V v1ڱx/UUXO6k24݄MߪG tTP?_1dӕE#!9!cUb䮨|['zn/l3/ E,="IGDŸ*X_ص(pzz #đ=ӇsKΝnՈ+׈ Y("2q/OhB5&x,n_ w ~)9?.C)fTM̿ K]-g (nXA-\9F{λ/9楨QccJyNND6ӜW7T&PmSIϿj৲c}nITɳe[(sp4~ ˗L.O^<;ֺؠ `qW~$]{~_V{Cx";FIK}\}ogmݯ?J=1~ќ11p/$]`cv]ІS("gb c7EHŽs['Lr$X+ {<U %^ f6n3J~KtqǼZ(v*ɿw,mp̼HV[e c-W%_U߳P#WCPf5mrBbaqzonln9o8 kl0W)X,T_Xu_G}.;w:01CϳzPnF:F+>7|>y|Z3u ΍UYxMpwv\\itT/鈹%յ1{6X#NM{&N^O9kǥ4m]mW]8?;64kWtkFRa ڋ#K&^=;~ܺG+;yv1c7J3{w 3yhELe<2L`_[I~4f| Ao8ͤJӤ O #(WVFLS?3m^ߝ&ɒ_5y9oDOfڱ}\nҋxT *ݞS%{+ۡgWTn"B4t3Zˆ F{W~{ros]Z"dzC?VOc|Lp̢kXd t啢>ZgaE=BԴ ?؆߷gRoqxk3UϘ?7k;ͺ WzS\RۏnpNi1lFMŷTZg5z1MG ڼ} m~ msƵŲ?k'wۧZsZ1g^H9^D>ﯺp?A l.#9Sf?ͥ̓=ؼ8:~E/n}g9a {0o]o*,Ȏɫ;C__JN?4ԙ[\ ܛ6l  `]_lHk߰>  \c8AHɾ[ $~&d1Ap}q1ܧ@sM ;Rk|D8{m"#ʸ =iS'q%a A wXbŬl Ot L ;& R'YAݲAP"AJ X';X*Ud!:Yc#ĵ9M"]4>M՝I䁍g%s g1zat" IDAT?Ef ;_@ٗ>\jCu㿮]-e~Fq6W7֙7? }<^%_lr'ꏪ<-̎uxDzBn|9\ kvH NE.^WH4h^ vGڨ/ F1#s/uhP) bw"wVv:X:yWtu!(05MÁw\l b'J [cnZzǦo`$2qeg0lݧDo˩(d}x/Y@vVQ_ ?H~rHdDH3r (2,KQ'NKĽwL$V;OL옏23[Li^\eFE^ZXXQ g"M q.~m$mV_1Z9cq?16J-Fǻ)c,'JV)[$8;"7Kq7n,V`OZG<2~[ϱqp]X6yCjGLO>?'wvy$76ɿF ̮c:渻ڢIXL{S iӬXr#cR3wӡG6Bk~qWI+x<@SG=~Sanͯհ{Y`:? om8*w]kI`!<ް}g{۰Côm&%ƞ-cEUSm+G{W|~sC2AOW'nDXy\ ܽ{Y }{l7)~L614# w>nwSM1G)$lXV}"Z㔬 Be;Zhq0 Rzۋryt"3S:?qq]s=\ y"z'n`kk$1ؚblUxL? Ο}) GύF@s0P?Kv%L8y $ع6o/t&Jxލ7py1d 0ёo[L iBZ_,ikoܑr_!I/gX/~Ji~W]ZM _ %̻=?q [׊{vW\-2cU w\uN6y}fy3YT?_8ێԾnߏW[j^9qjдQ"x1(+?ڔYQ9lu!9OJۗ)w^+SjPw8ilSw46` 5Wz"cJzMBvJT ، N/r+ zt/%eEb~rJNhu%{NGFfܫ r@|.dym->3oH΃^7f!"G,! /;s ~˛(AE24qN`ܤ*;-PTF{2r!tb/`e3~j]bu'vWf=ы:rCc\h0f!&Ej8!ĒCNJGʗk1YIg5b)v"&h4@5%].s*oU QBpZ濆ߌ۲Y<ƩpņX.N8:'q vG|~^yoÍolPn."x}%;%^ꑲɘ0X$PE"{!rbX7'MklXfr0^q:^l{ ƀ(,|av2J_oiz|sxqGJTs؁}7Dr<Y};eBj`{%3,{\U1=r`C|]G`ɞ@6X 1|n ~k`!=9 ϊW(8+8n&Jjk`?֩XཀYCq}Ώ1~X+ "^鸃^X4yA$$oDjwPLy&x_Ǘl7(Wc{'!Jj&$kn'y?a6Q_-ogOvQт'1dyV;a>XwLA~⡪`$~ʤb#qMcǐ 3G(~w1X뻘BmB4wЫ3E\D<8>0oT8iO(Ʊ Db̓"MĚ>gh$Lcz1/4r?u{q`f S?lE&1Hf&h/6kJs{ll$V/ c_f9װ_Ldh;yZSzfPTs70'͛\t1Uzjqlp*,D1< HzGϲH v߆.)!wDp77cCDAu%+yYs˙g4wY 0i?V)cǛt-]'Y66 ɇ{u|[mQa9.[IQp;Npv'ye +oynl{-kdeycdMM7= ⹩b}kX\;_j_sﵰ#ln_g}{i>lNe^߶Va=\;'xo{ЎeĪpI mZjd@Xo nHQ#xcߖq]q?k:_uI7ѢqV^'q ,宆_tpiQbB/Ҫ"of}ƣMDưU)^߁o?_OWf_Dkqƹ+Ώ7V1#G31{5ol}cZFlʛQ2j̿|?o$!vb*=-w [;zگlE,ؾt/V,$QRҵ_%k0*uwdfW_+]{ؐw0l:w=Ђ2[$N{FuwGD_#Iy܊  񲺅]1?cEەHuRmI\-D0<Wkc k48~,w֙i3n8bIK#rӌ!z g?Zy<9p.S}{˲nyٕcNƿ0/L/r?oˎh/pƹLgg5]k.6D/=.kM3 ?*c6(GGT!Xc٭Or0@h COY~*i<=|[e O 'yn|>Y?lM=WICo'F#yX:?/ά#w?͘J])}a\O5~I|14H #nY[ǿ}p돕n#;h+}.emv!y%W|a"ߡZqۿ~vJkqBȥ1R~ GˀT0.">O?D1?F8lda.чҽ+;@NWPq E0İ ݢ "딗uݾM!,BAG@vfbWk؛˵k -$\;w)ßf]}䎝.d%oC~6qk#7hEV5ߏ$S$"6ËpбGB 6ߩ -9HZNԶV.~5yQ2fNkP띋A3</s|>a栟Ri jǾaБw{m^XrH-1XOijyL8a.bϵ}|^K>`$8@kiۼ_|<@bhِD (|R溏 E] ]Z q!KN}T4g3tDZCĔ^we6 (>ǀ } {IǀN9ooY&&9&pΫn9_Uϋm$]]G~ۏq# 3OߥXl_68myG0M{H䒨s#G HHwX$x[ Gc̅Czm;3O8 +0}<:bA,Q۝Y@> Tz/ kji7_ݕpl rZ}BcgF` #˸ݎOuh@/z-,1_}.U_x`n+BgUcCDYw:D}t,^׎9yw7#ZE"'$!GQ^nq>;PX?-z y,]Z|}5PE-zwGX0I>{N-]'.y-ZW]/1q` ׫0? cŰ㽩WZ_m~ވWМŎQG|L' ղʠK>aǍbX|~mD&7bg+496`OW]{=ZqGc^n^,F'9濫J]B|νCŐϚcJAiSӿ21y? fQs#nW%*.(O)~qz?@mNz?Ŝy)M1)ZgߐzqkBewfesAnF5-獰mmIGt Hzئ#SSg*I'f_DG3=A?kG[ڨ >k-XG=1ujyDQ'WN9}ҦC?ʽ10n >@^lS{,!9\'q]is'6dWt[Ca\QhGwΏg !@pc=g Y୻@F@~ęV+7 :C`τorN=h8Sd .,Źm_yA/x sm˼C惿k7]o<={IY?wVp3Ri] 4}'sGΧ<%G`T} ܔ焀ę_;9FV+/glسac= *,*F!|v;*A|>P3+/=ۂ[f!3kŻFdgҿ?&߷gyZ`SkY=B᫟9cTsP\g/q/m{`ul;t3#+Gc6aݪu2QğMa{:bufrb]V bvwhAшx|h IDATwm90h9:iT[xsvu_ #a,6й4~֜lC)\RݳuɈľo->qVԟ/(zm$6[ |TZ17^'#(wj155Y5|*ӗb,e^õcD;|JQk6Ul}]u|jĆ=WrOBviaWMG6'n`#_38;qQC 2j2䇷$]Ι7NeE<7UyϰN;Sbh~T^6.Hw]YA-Gc̰FѵǼy%>871k,.ONkUmU5i/xCh^Kʷ/~Ayws/Cԯ=%J?:t9ɿ Kp՜'Zo k tLt~3r%ȩSL=/ \Z撉I`Tο:f!fXSD|+Z뿏fs$:hQ7\9vC.tLҟw,̔bV}i2-ivхOjDZUSdl;LvmdKO}Pdz\ 3`h&ԪkSi]$5#IcOŌESx*-r;`L>0A.hWƷ۷#9!? q&3d12 $6e?=V)fsY$JՈt%P>Jsv~0Ѱ_^4*54`$əwdQƟ\3׏}56\l=`X"w#-'U< TbU,g_{bϯ^};ޏ\<_FMze?Ǟ=o+_R9F7jmwȜ>P e{%[`'c#0_-}ڏ>l3]9njww3+};<Ͻ:ߎwսإfC{2)?74νn0?BR3P&%ޟٗV<2\Eiwﴙ; 8 PzS/0cITJn#d~.qFs#m?A6ʜ M^q@ac@b$u*o=8bp(4WO\3;P=%e1Kg2gUՅmZ~ί6Iz7~30#7)DؑfX ZD~+9q&ݦ{D=s%$d,58pB0s31? (Gf?kr~ߣXѼ?OrOʜyR\|QVg? oƶ|ѕ0)lŅ 29}w"6J6sPד'Ƽ]@ϧci.o/0rlo+SoW/A9Gv%6~-GZ8-|\Zӣ&\tjyW+T4$f2k)ÖgͪF:xV_k=O|v|9_?  6]_k|Nnٚ2`&gY}Ӄ:_Q;p̭;:_֋; 1v(v8JqU Yh}*5v5 @m;̄GfL) >e/"%Q|qQ*Լ71Kauks[YVd$TzAZx.Eneo{iAPcA(M8PU W1`BaF݉{{ ދ/ eDU?(?M/Ofj̕c_WW vfe!7],oq+O!Ͱ?~剳qO6b-\˺|)--fv>p'{NrG_ >L sayĜc+WwNtD? G3{Q:3,alU{Ze[_q6 ]i_w'.B"?m̗mmEf@5Y @E=O^A>8Va8w_fp}~[oWA{S^9H5&~BC<3H;ɐ:UOYKAQ9K/׷}r_cݲcuf=P<ڝiHC_\p=2y%,tRӏڰys|⠎뒇U󶿢8t/keՍkɫo~6ۏ}>k? U_&0|@՜뿏`$,:y0g5| A & t`^ O$-/\L؈ k, qk`)#c6*uIsl H7~"Y|X){}ILO[ ;DrbmUZ>漰}k &U'B#{EX?}u/z&B5Gu溣d<Ʃlyin_o#1_ ŎPtjuEdo;"gT_O1uZU^j12vB36kM[.n2k>uV\;s6 u)6l2OҋY`#Iᴴ]ZY !oB;5&+\޻+-Y}Ey(4ܧ*&2H^1L"~!΂cœoGxzǭrv6CY.{mɺ ]'<~gc.VpvϽq"AGyr_*v,Kh`   U̘7*<ʾoUU?nKUSWn*(fQm59̃v!rE&;|dI^HrG+ǖ\P6c5H⧯kZ󐊮:)bz[@Cmz,t". c\ My*,x}U_O0öM4Gƈz`9BK;3¦]%h:E߀ܘ^nEN3ĔU+)PsU0Cn)2x9C o.t7&vWbޛJK9&oHmĩ1~a(+\O͢~bS՟mo}͈WWDr7Ɩs4ǧ \zk;}q8~ۻOo ?|GŸcG}-O,R'eT2\Unc48⭶7k~T3uZ H ]P6ZU]xu?ê Y.Vzu9/p˧ăbqYU;cJGȵQF-c3Ioc:|mNt4?̕M?~x:ИizԿ7˶RcMÞcGy/y$SLpHFQӱPl%uD텤5BL`/Oⳏ[au*R2*yat,9dO䕄Y]\U0,dMb fViam3h?bh 7mV,kبh>l -?=q]$&4"; Y;һJ4R\br gy-b2JkmmMv}P~0]HJ(!V[xݻwtudlI\0Coo~GFӟQeL@ё/Cs?rEf_{ nflt[?[n/{f;se_/l$Sv~`?~v?)sjq5X-wcWf~EӇSw@?J>~C%o!/vrҊz?L_Fk8F1o]|l2gq\o !܌;gzM~ucx8\ :Vb}S\lk|㵪Oy׌U#Ɇoۆ"0-FncVk\,J)`݉?Ikj^'ش֍?YI oY%& O> j䟋 ApqM{u\AE'#(v*d:z+߲EOnK66'%Ǒ#dTsMVFk{ D-"qJ\ Xbo7{>=8jFl=&߿fUt@ȝLH MIñ#UdW;_fPde!o?_978{pRok?ǩ.#ХM Q`@ X:XHm<+Ăg\8O-W.=Z'om߶_ȍE wcLk!{->L*֣eo4к1`Þi ՝0hQȿ;B!7?c_)^oڃ;؆#^2\ZҩfͿ(jy6v"M\;:P7/HO=oײn]Xku<=dUOٿ,,93C]KZi"+lc*qzzncbQh]~F2Y8@vۨe[zBbIm{AAs'5 T,Y|GaD1^ئ -[r1deƂj[a&.V^%;T =Ncoj~ؿ엋Zͼh'g#׮j1gVm휘tO?oOF6E(`Irr1$)P`'4 ' /u{^;oŌ|μƿ9vozױ2H;1Kb"D|=V<{Uqm ~mPɘkX_ $=^{Rl&HQ%_\]X';U#.?_O?E_錩C{y0ڍ&(~/&blP<΅X\s㟾<{>Gn)6b`zR!h:wŝ31C>Y@5 EFǢ-{ۼ=s' 'Hm4٧a>n/ND/唰+?]WBuY?I/qݺ~SZ,fގbqۿan8F_gm]һn틔Zk}Jjws6=eE5ǿyJ0OoȚ}?&{rM3Wk䙲|<ưKU-,#93ID w˹hH>[֤3!w1=8{AN0y~Ql$N^w M`="rGoqäX':MfJLҺ4>SJuk0[Cxk#d\;yN"lkO L8̝B"%Ĕ#JkG$8a_O~V[doN 񇤰5@;; 6ս ]]Ќ~'nkX`m6bJZuMm*,)qv(㷝x-bBi1yA+)5kBB.av'.rn=IЦBHܺ0֎q8DJs>B ߏ/ =_VZ"7\\bN~S: 2*bPb/ܼPC4.qTױ[>|? ].}5]n޵NƔ1A[7'㔹x=|n&?yVUoCڢE7:ɚ8in*_8cvr\F&ٿ9#Xu̓%X&ك8(-OE1ݔ Pa?wM ?:\-Fm~ `ȶ^0lf2%Ηwfj]C:!YAzDsfY`H5CXmt7nRLf9m fXCFq^d]1`L.NA{׍?ul lk/Ec;B"oF#׎9r7:!f_Ps5ol CVJ#_$]pAJco%5U4_lZW1dbnbĖ3N1Fqu[$Q >}毄WG[h>(=X$1ǮRLo̠2Hx?C1q .bO'z}MYc oᵛۇMmÎQ.{eMA~[_km5X-g['rH<ߊ/6Bј#h3(sx db;@a12[^HdzjRLyvk|Z8ҮwFεC ߠW }sNX+k Pg_tVI'v]zGV^nZxdhȥoa3}]XH CUK~ 4L.l; ozZ{,[c#93i;p)mk콖!QW}mL꘠ʏ6&z \ڇ.Z*{˴ETuQ Diнwx%\x`F'BO*uo席?}?J6/ɺVkw>2'X֧߯?"ȿƢ.9GDd#AиQœ`C-~O9?<#jWlhB5g7)z.QE|)5BgiƑ |F^)ЏtzkV>q$o^o~EXe겳y_h2jlqQ-<^ Oa`8+Ի `6aӆh'5,e}礰[qSd+zo?F#8L]RV_\šNUzi 5j7<Сe^Hv_}j0;1d1]PX aROEe`خcVGzǵx'ڦs<WJjeE$lLz1M rpmc5r!&߻{\c3Cg{1g:rNد un=Hjw<ֳ nka"vssyPGW2eB02|ey׸hƝ+ י{^m=?x^?g x*Nhh[r O{3"_NupO/LEq `uc1輠Ge f5$`S7Ɖ7d 0p/xwvӎ*S@h>gGpn]zAR嚤K L?;q1ԟ`S~ܾ?EdPƪ>L~]K&eȧ~:˵{_-Df 'P#XB~r!8w꾵ye;a{Scs9M|#[ A%ΐ=&0 =rCN[}MGX)-lybz_ b-aL,t܇4Dch] r/zxlS].1z_!CքE#Oc+"aX/R.zv| ޅ Stα@^Jm$v7!}^N}og_{vGNhuqzN;jSiEY?k_UyE`=H:R+NCb q"~ܾ+Dگ˹~* է3e gtzJ?$n.PG E*uh%7. !8 Ƹ+xM+47Jg!9~ۜ[9t"% ƈ;q8r#T=r5:Ƚ-D`LmH ٩ ZU kqgEYmX/6D#N_72%yҟHbmL :7)-## ags\GW7nwP9>:/jط=lpO}Ҷ" y hr?䵹1$<+{ 'Xf ^ خG(|esmڡO2Jp~.ngiڄCs=Ґo _WM^T_?*}l#'0 ub hLHIc:ҵTKI$)rܮBIFZ 7 YxĮD =潪I|#(m71oyx̻;}S2ڷNN4J}N1zOy&5>֎^`ktϝFDrE.v ȿ;3oYG &9I yկep` jlIrG!KEgH*mOh!T17wM-* g`ME&|z͉Lw)aMb2ݹTHy)?-VB~$f#r/W *|cIm9XquK(&߅|H^ C֧_ƿ 0 Ty ==osAy΋(Ǯ/a63YLmإk#Zǖse2hqLănkIFɍ|9%oxa {|b"n_cjζuި'?07 ÌهmyA'\=%CW07q:>߽ꩇ_pob})#[VWm[H][H;Qċ ]nۘ#A漟J0p)rϷCBۉ&PL{<Y5luQUzL`Oe=w$y]k8,q/wq1 ?H&ԗy^d!mOT]=wnmW|HwPNE/W MZ92^{ӯP=>,odErVLIn۟)Yu;o1[wGeSIl]rE򼧢PPр)+(79j9?*g\i~m?A}}C; 9Iv}ZdE͟=XWa_(YsM.5מ^\Kad6tV73OD_OՐf8?&H\k6ee㞃%e>8̽Yrm-J'ݠ믌Msf Ǿm O<*xIs-r9Է5O^?#:7'>0GLI*b,s>ӍՕPԿz, }}Vp[6=ȡ[G'z|yBvQ3e*s:1/k7兿0H OfX} ;:m˘I/!,AN]qiQ zq}儳\>= kRj/膺gw<,`& a3 𻰡_z\6 kԗ^lu~wGjy~]6 kUp ߾wL\,`'n_* oGzhٶ 8y3B,sVq6Lɷynsۑ"#3 J_78/jl`d@I?sy{\="?exeݟS7t\MYK:7mߨQ{ρ(i3AƮ/\\Е?;!3Nͥ,xm w]>'/'ľEu"t47i{a}і=ke׳̿~"E'ݯG,:_߸x \7v<&/*>R:SmGȍxxkxiN}~DNZq$ѤIǝDZ=;"OHODOsk5שM{$FsXM뽿X,$Ņk.HSI`;1ZE^I/BOVo>@~mSa['H+O14;Ib47j_),确☀+C7eb=_$#pU;.ib kF仹;6 _GfB g̗[NQK}?ᓈEb?Eb,kU6s}H!7{S^+羸zb[[̍_=u9T/@j^W6ݺ[7ʿ]Su~n{}qqeFpz,I8>G]ߞl{}X_WogiՐLOIk5֏;Į"HΏڤJ|t& ݫ 5%O\?sڝzP AA0ɩap wJ_D9>]$6" cUߍ̣8 n͟K~hg.xoμo>>h[HG5t91?Xй8 Q .lM޳(|"#WLn\e?O/KOFkZQdNO:'7_CUvɷd_2x_ R{Ś3~F|=Y7jdҚ*ZyBJ䣢Gbj c-eop,Zmk3ȱiգ\_:T֎ȫl~N8m#^.ܹqJ@wO)zy/\2n`cF|s-tNo哐mY:^Z>γQ)1K/9'?%sS+oRMߒE3؂1<ձ\U{xAc?j{5%;P2؀SLj?^IGgwA OcoMk+$͖;-cpeI~@:F)5ykKvx]Aa:_J*}ɅZ%Qo͝`spF{eJ5csgށ8H%$ }+oR?c t7_e#e;OkLDKy IDAT 凼V-&m]o^$>tťm/O56=>n\M gw,s맰Kd9^Qt[8}(?GagG,ƼE(υ9"7^OC7ιAT:gWd1Ctx)hoqv]8P$(L0Xv/g Wא`Om($^/ʗ\3s<|1>p2= 3Ը -!uP=12\9>>u9xnPEW̱] { U;q 9OQmmA0U{ C??a ,;h%uv#:0nЊ:w&2Y!ɶ,މoK/VJlݡ EJL>Ou}׍;9wv w'Y +$KܽS;6bzP{ + }ãB!Ea>n.gl,`NY1ƋY@yxMQExғ9>yFLl #,rd8%oLǽncs޾I~. o`{v Qnfw}f>=,柮 i+_fSEnǽ1zS9v ֫j;Nl5|i_4'O%V95/8T ׆̬*)߈\O\p]O՜[5=y1DϿV˿ʟӦnnoܼ?&5601W Ο]1RjU\/\5{˙Y荎ŀ{~ʹda7@GA\T8%>^ 1b׮wt8o=iq&%;nP&tNi2ѮGolXF4\L]d ,:jW_"-oLihƃ3$7\[@U&_&ýE*c{> a"ў H:s cۚ8EECmڠ}SnVy8sS)Rne]DʇJG/YbNL}]W:cfRIT/m<~9Xc51Rʷ3QDn*C}/wn9? Տo oÇ__W kZKO~_pM>9 :}r`7`>#Xur@,scBm>~ ].O "t ӭnDKZvJd!/v_rA^4l?ݶI>!;7i'>7.J5HGaRCH Ftٕ;"şòȯZ| rGط [KZ4M|hڣd/(`⅌ӹaL"<FᎾ/N/[T\?Wx2[h[q?#QJ0 X<5ov}(Fw]*ٹM:L8lRhɽY.˗;W\ ´s>ըZ8q%˜aɀŸ^3j3+~dO'QCRSoz:`(.i:MiBx((qK۵dN.tXf22)`^V97&@ yøzJFe$ ֲmbu ґB6k]]o1ƣmj\ x`j2E؝x"l_g%HDg?l<4j]'$_Rz )gE$1AkKnm Q]fe !c|"?t,8mkDʶM[5N>L8=?EƽkPQvco1ym5~]{V-|?OZQDi>R[]36"^G忣mلNQoWՔl\\U}ܻ.L=hō+?kI3rknәC$0炀wT#3s#@2gfQLJ+b|VX y_sk{Sn;rĔi|P>l=)mB:_a_~.) b-n35vP!O?ʉ4ylQC%t1'x5gn0G39v%Zk3z Hs'#0kuR %鬪wC,#iW*}HƤ3XAoepB8AT]ˆN$&>M>?w1cT;,;nmy&dI !V.[ŎU⚫h9 Smm>lf$` rԅ aжGM{-6&1wgj6yW??Uo9\v=7Jo{}Y;Aȶ`^n 6K8#^gk~THчHcJŹV XnZLk1Csr_Ƽ탨Nc~wsbG҂>}]_IωIƺI{䣻=mz}$G?}g-qGz~~p/좆&|,J^'@hƼOc*xR]6@5)s{?ga}wƹ>>_A 3Lz#^1GxuV8!\ԕ>ʿGᏺWNr+SS>MiCIqWc)E9 8my7 yz; _i 9\[O}"/?0̿VW NwHEbIHyM;~cpYEu3OqFʭ M(>>b6lCgU(p̑{g{o~b.1"4o@) {q0D 9 '&е0hv?BY=7ol^S/9X(O?L7;r|V xdl{aW4|MW*v姉d˅0gM"U5X0Ham%=}y_߃>p/s1ƙ ޙwQ]4VSr]؟W闳h93V-O‹+1}Mxwrv-)R#oL1俗]3wS?2E,tG͝f8(9d;_G뗡vօs#nIrOz?KۑrafM'%ˏ[=wܰQDŽ{!Q<.M^0e8|;݁:_mnﳓ`{@i.=&G"G/ 5mDwfþ]>-d36qEv v-~[x, E۴Iܼ/ac?/* O:E>.% ۮ'5Yp$yGO~lS悐Osbcا}(;c\|2^X~)8Zw { 3D0N\K9`gcTuLj󐍕\3w?CY5 {K5:u-_-ixG 6b9t}_U (F@gG2)pwt{<k簺i>xz_BAāGZ/DI(Lb_ʯUJdz{vusu䙐5+:aT5CZnc]G8Z8%fF m%| s!yg/-?'~+Jf8akL ;ÖWm)~:Ɲ5C٭s1| mΊ'y:ƘyЛ3%j)gͰOl0j!쮎a^½}6x'QV6Ndh?Oog/ 4`k'3JF,яDMG,/XzGr| Vމe D +OS#Gce۲, XhBq& cKb@&2qqH*I3kǎ |`q,9lf]1mG,r‰G{pg$- s?=QOh7(3ak_FT'npgG;;,xw=gOs>ĦI|>{b~J/5 )Rއ/ \TÖ@U̘䨞3"jGx+tӭ GScS߬6(l>VknQְt%5,kjI?Sjxw*s~E;VQOUmۊ&w|mT밿ަOTTB%957xe2\#B~Z;loiY糰2rr^]Ou'ύT\?`_58C8G!]\||M1=G{sͨ&\r;!xabhgPޞ${4|3arTs+*mGl$j5ޏh:7Ytf9vh2| 3Sx91 Mf;}$<;]-*2UZhm|q1|kl3nSK?`^?,QGWp&M eV_eD^3 Cn_|6_3N??=dYl՟oS vMk0AJ_MU5/cӴ9#'{cޢ]< J7\`oYG$c10DZpWeׁZL̞7݃6zwyC?3C֏C&eܗncЪ'¿_'ٮ X8)dnFӞÒB?Ө7wk1o,嵁,AZlGR^4AK`qulvwb IDATsۡWDA}y;9춄ypċ7^?wq=$h5km5w'KnZXӆ9OXw~Rݱ"eû9vG'ߜ@_p= /. h~ PjZ~Qf\Yj>}= GG ܐ}cam2h/?~Ÿ׽ےmfB@^3a얥 dZR]8?v| IKd<+۟7;ro9. ^pUŘ{Y,6  Rd{7ɂ}& ,R)w⎝UGryڠH}4޿mjS8X0(^Û=U`iGp΋_*֪W9v˲?$ȯר1U_Q dƓЋ7=2bK\c ݶ'-T_yُ7MCYĠƥ;K*"aʲWGq?O3$i6XZ8O^y#_faGqW5@tfw̯Hr:Ϳ3.GY~Gy!jm޼혵m{M\85Oid)0Fi]\Op `_h9{F%}.%jF.s1"|Į !8*{ c\W^.y@0?$bI^:}89岸#ϵŖڴ?_$JHW2| EW"KgrX^3Ydc"It;zQ3~MPeEFv\HǺH@"oPA,,7ضqgQrT D %ۅKbT3$f4r ;eB4}_Jw~.En"aFYsƴșLXX|ltDP''!*v ͝oN. JjV?BRa)_/Q?c1! I#cUߩ۽?eGOK ۼ#=ZQc[M.ckbQE6r >?ƾF}E6:e |~mw,ۿ* M_<yDs琧 >ϘP$2AFVς|P [fK|ٮG bw^!Ijۥs ډ-k^Gng>;gI7><0e ~xuhO:Cs-q@Vo~1jrU=ͮv\J;qcA~U߉kG"{{fC?ZZ`ANv:Jo!(TN\Jae\+d7<' ^|oa\vI;`>: @"Vٖmh)PO.= aNF 6mv up"KVְ >v[Gʆ_c]u)t_}#]Ȁ 3wemB^[m,`:b&fl7oss̭]2`Cga1,23 Cm<]DUGNpY1O< 4d]SabxB#*ɍ&fq {z\ϓ#y{;Ԉ4FK܁ჸAG;G'J!e_ '177M(3״{Bz|5t5Ƣ{ vP!XQq9 A:(g.yLǚ't*p J|seNP.YtNyWy4뾃_X̗cH> 2^v$xeu8k``fll L&9߻rnu%mӱAв/f:f.Z7r//x#?KO>ێiH?2μ~T sءkwps; r`d4;G2nan{|6miKj5?ӁzczQeXOuq*jw;-GhT/<!m(iJY'0&L6yg}&$_>Aºhw3vUŢɤ}QJ{ I`qLH hE8ΆQ z #l-' M;%?e 7̇gQ8iy"oٹ[e\u_;/$壬̜07Ï%h R$Ŏ }SF,| ֟}˟ ߼GPUrIgΖ{TjN?<)Q6~ m?-aAlq{/-mgxJ8ce)ڟh/ďQj܍M#}GwlS=C'sys kl &M,qc o4v~܈O ?&G_EmD0:z}m׆HG*քe"ʦux u 0swѯWrJ7~GGǓ8)+l]ҭ܊}P0VqUQʤiu9_IG"07Ob r.h.F')t ݽŝ~ c"\8@pQNb K'/fp R C^pxBkGYh$rMsӳ>uajߔ-}䟋~&nd!ttɴ#\3wP?;m~3ˑXߟElkH{`jVeێQw~,?Y}5^hu1Kb7\[_ɉkضIgu9c1pM9#[Z/& +!˜ݾ17a~%_sbdR? tй/uҲV}1v[v?RPb.,Z= 7( eζvm91gA@0$?5\:1q̓"1GJ}0VwFލqpsc#HAkU!^k~Y{W3B_>B9k'و9FoLgO幯?=#ɱJ #7^j%~wXg8ahpЬ7ѵ6>{L71߼!899"Dd{bc^k{57*P8sxև"_'>=m~vۥGb[00ڱ-kes։p /rvt Kɱ4 ce&-8=p yNdj\< :1,dl,ͯ}J6k"Qi>6_,t:~aZewr$cjkb%Ѻ{q/wӾ&*G*⿯U\+ P"؁c6r]?qZwWU~DpM[2u *qm EFΙEM6 Xrį7[oo"/Ty/ :^H_D$r {VeLb'1nW۪ ?`UL_h6%je1x&}HYeߑ't-t:]Ǚ11KzvŻ?_?OwZ`%.1?wZIִւ1BUbG#n4Vhw3_`ć-wa](װmD5ьP7E7(~pof+NY+lG=6Dyt WSS뼨3G!d$Ϣ ڶP.jy~ͪ$6QW&.XU?8m`?^OM}^?emnW,->`H-P]ϸWkwbJK|G.@̷/s9'ou txu2[,I͂93_f|lqӄ)Oe9{cY(\ kx>D X }=' - c?![.5<:7/c-\hC`1ξƩ59\Yd@jRhZ!=}J*&NBV@Ϙ:rLlfWߠ|J} skx;$=5AO_,ٯw"D$7C换O x'>&m'IG.rY.ٺڏBI?w標wlbRya,7ܹO!>rTȿEW]T|6$2/ݍRl+Tf멩['Oێm;7~a_ۛ槦9gLGr+OA?l`7/SȯS[O[|j*/&kv@߮ ;\z՟#5'֨ko5v B̩fC{\${DS|}&z~P?aa9I;wMxm|ϼY{$!DҦ[A͞cQ0 '%g1<+ kAJ»5NTmxSZwݏ:dEY!> wsI>I >= w,]l}Mjp*.ۭ1Glem/2_}-gYf؟ ge_ECEj/6gLT/{x?Ư $qƖ,]Et?ϑXȢ7%˸`hCѦeajp!d<猭ߊz`X_Wv I_+G.F+'[OFt[,-& ا츎hk-ȡkCҭUɧr}^imC17쿢|ĭSuI]w^[\ˎ_״|ůZe 1?svTYزvb}{9F&2@krqM.UW3?lȿ̍0\!9 yC?}X%pxd^3lZʬs+" _XI˸ޚ[iks~k;RdZU?mhgkBU<x#BGE.ψڱZY9|U!76…[bp6DU ieIwn #ɷ5Įd?HNcz$r۶fIM0lv,2؁/M_q<4['NQJӃa3wHڰ1ѿqdB?x3eQow>b#+g"+>g `k!^goӟIZ<э1}:3y7O]|||A/Ng)˅턢W_d9yyn>_?yj+LV'O *m&sTVS2-m죹1 GQ(17%c8El9Ѷ{3-|4o_]ry_kSE_ :.]m[r:خ1㿲Ul,EW'LK*12,fVnFE]ⲌzOཐJgn6Z7E B>]Z@cQWKД>vWl9o]3SAu? }M__o[~Y56czWDCFFʛA_3Ѫ߈_@v:F :ɠ@^iRC/֗ڋv-(=j뀁J"FutZy4?mu/o.?w :1uDr~qW=䯖 ׏(yէ9m+f!ZTW!*iOָ v6WJ1 7􁈾$K.䷲̊YŽ6 zr3Jel'cJX8:N\7T#Vui q2;%%lalk6Uᢿ/Be5Sv3Agci}|;Gn6jY|jʛ:υ'C[i &lA` F}3n9ׂRQTb8Bu\ΚꬡM#_A3psLD41ҝm n49r޺|}˱)Gf7#Cui^_=tz,t .$BN huaQUY"Y v{^s~+~xĬ pifE;;7=Ϧir|@WU*x4"y ~g8rWuk\PmS*4:`6vޣĩӟD>`j2W}x\A[5NWK!`Fo{\U[U?QErAڡ.zGgIOc9]cn8FG7`C_A0>Y{A]'5u^8 ;9b޽akEp˦(Iǎϸ.I-#d;(6swZW/T{lƵZsӦcf-fv'1xE5X+q5"(I6=ef]y#'3^;avpKc(ç*ǶC2<玬V!_|,7l$CS% >O9?~,GHem4@;_ Y'VG~Q,(`գ'dM`c'?g۳.P 3fYmL'?:_"5Cd:fU/ wPc1GÙ'F=bÅxou,}Ѹo~/ϙSY=dꎾ4Wi9~U9>q;ÿzE5f2>eC;jjd~WAG5=on|69d7WJ@.ܳF.ϖ%n()_?LR8Zw򝪙Vbɖq<.'cWZt`K x"7@>^#%29U*}+l67DF37`6meqpIlXtǯQS*'aϏgjc`,i;2G2!Ey 1VS^I̵и';EJ5>rbJ~%bT~928$%pWo 9SRaDu#!qd> >7wg+p S o)Q\Mcvҟ"Կ.{~8!R8`ڌғ1k\_s?gaھK344~]FޖKck-݇i3թMac}+ mGY?Ng"򉖧yGER|׌.uUm#Cˍ'VPpb};ۀ˼9hr=.<&?z1Uy~z\ly&:S>SOac_;^byInWsQp^C,X%Y*}v]P$k?F%xM8c7'>c#;;_o_r{֊6}8o4@E> }l&J/>smfn.*cO!@n6hH9PuZ)z&%ÛO0L!`]41Lzͽj0mK(|umD3ӺRmtodH?52 ib7`FvteZ6+x|Ša'/JugG+ikV:L?[ 2تFqow)m6& C2 #\zC-M?_18IOgߏvP;^m##Z-Nߗ0km306OG7iQtj^y0t#w;|&3.3f;tj{vͪZ|(nw!Of̘%}s/L'ovjW5>Lxкhb_l oNln嶝ě qcm_D~Hn ?( S)f:>&_q f37I,9bP2[A|@G)eUuotcu)sJYVWtn&-=Ya3dA gmObp n"cfMC;el"~NFq0|c-iiJ3P24 ؎xk'<3CQy_ۯqUq+F~{B?LNUըٚ(~ nrq?5Cq(}g7 9:>f7?≅ُ }4 ]n6xJAj tK$w<:1h:iNno;]7ى1Ʒ;zkg.>_8s lu~00j@z c(>NtGUw5ICsOOyW@~w+~7uk~kjD*qܨm v~jVݶx'1 XuyX't~y Sʽ(yQF,pիdCiǎwm挢EgJ0kN?yy 4A`TԼ,+^$قY|J+`?먪Q"ץ9w Xl8Wsa'1?E=)P4gGwZSOnjBn]sLHdb[W!O7Ss޽4._w 5s1#ʋٶ(`851ZE_[ѯEaMh>Ă/JΕŨl;Mxg!н0q >:κ۶'N2Gīflb\|Y׀?>.}Q]/޶}ykAq5vJ?nęɈ=Guo暲Bfui~`Y#7ӣԣyQwiDXQ3>\#g ZS}d+|<'#'LXpb[u.mq B^C#"/vоs;Kk_=3/zǁir߇.m#A2{ByiăہūORp%Uj 奡IFpoݻ{C+^5g v$7ǻg^_mӪ`Du`+)6=~Nvٲǯ;[ 仵VɎ I W}:J9qrc e׆<7?4d:,\CMS2ұSbq9O"Z"7tEC'{rk>O\xD$\A\v6C8b==q4ȬKq-fշ6='x$^ JfX kk(AOI}~uAY:vpoT*G~SVFהh,4esЀ3; |1~(bO*.;mهͼ⛇<=*7g8waGn8lbhl\s Ĉsh\ܨ4.'K.oUՋ.@?_f>c1WXHOʮo9Iath߄(ϴg :͓hH!GOaئi' ?lC(uqpa|Y8_79<9JJȀ ==_ ÊXr(k\Ƶ_ БM' },cQ_uqA \#D>#ɖG!c-W=:vԁ)<ĵH亄=)?/^sψh yw1|ƿ6k!G1ZNn6cDGw?XވQ[W\X @]_o/H{jh ޻=\hG_йX}gb7$s o;Emk^'_ EWløAl@Ҕ0yOη?7p״p.?ĜAh:Z{ew'dE*y@klV6fM[&Gj ~g/y7uޖ # g9oC7&kC_MtNsM1 a9amYkY1R6 ^ پ~g2צŸhN擞|uO^HXGKMwݘ?a_pwa^_O2>52)7v$o9:#P6~/|[+| 5?AMʘ(׳[ dۑwb6=S4/ sy]7Fz8зk^?{g]׳DH֛`wDmWq0 u]Kۏ2b$$ùSCXS֛,,Y?WΕ^:g!yY;_]]AA$9Wk:3ב>I >fU _^w%:d6 3j¨ݐN+6_A5Oez5 [vTQ YO,qhr?{m$ӮQ;pu]+YP|ZۻptAפ"5wI?kDl^|^i[{K G?tF!_.%~ Fŧ+\8HX ׈B|#,5 w\ O"&"u͆pYŘ"=|)%M6soU%4ٓU߼HC&ACRȽe pFJE=3~Ɵ `2>yAcg M9n|%vï>slJ Ze^,m^yw\zO^s]sz1?iN=@3 nɴwK#Gx@8"M:LGهTֲ#X4 >X qjY3u1>g'"u F+f 8e*|4cJx~k8D} 1^mn^7 ׺_bv7Zƺ497y]7;Ƙ Ѹ 9o† N$b">GcY 2İ ?>eJC|#8"8T.&*lJ"J!QAa,}i|kuȸ\ѲHʭx^aˎ6׹iс^%lynS'd-޿BK0F !<6S \S<} -o#s>?ޗ\Ba#79 NOņngl~YSu."ײ`Z绣þao'Dbdtk"εt3jGhj/|77 Č08.|,e> kğj ZD[$ c_7c)x]q}>w+./|4?coݢ&&kh9Kue_$lSA91sPS;kǓɄ)1P͸e)w3>efhzUW <`ڼb)d!,Fl{'vunط-$rl'8lQV_w>_:хefwEQd# 7{[ *#B;F>ڝ0^)]0u;!~Z4;7wH G=  sc˅#L{iŤ{A5& =I Vf+%TtMnV_un{H6]Eoj;K:3_6wж u#?'<']Mny \Ƀ##WGn+ TO[>yp^O@)Q+qk~{-~+2 g.Zϧ Pι$؃>1@|:6ݳR`LN(pp,-Ccǯ% IDATk^ *m8BxK$ۏg9&7BLV|_|s sOswx<eC ![uW"#2xk}WBȍdu9[.H=5Q>$.|(20Ծ"Ci:Ibi.`욢B6}GNbë|i tg-Gka,!}l4krfّ`ny@Hܸ87LE}S-X~vk;gހf큳06lx`U:mM!~p|6 Goѷ?.ԫ1~>VYD ϓ~d-dȽ~%_f7=,6)@ cMfT>(}K0M}U%r}U|sw!lFvq<87/wU`餕/ ,G-숿 TCQxu_:2ĵ']MD<8hL0XdCG4ϰS1[c9.n#0o q>T;[(ʔ9k|r37qg5#OxHtG͕ QZn,C:[1fpL[?X:n`ܦ=\9s[z9Km ПFMFl4ZU_b]3ku}dnO;ϪcWPkG*@|Mؖ1Tw]hٽp9:?Vm5wFI3P.;qU!6 od~}.Zf|oLg]V%RKwXonX9!Tum"Ȃ}B&!&RAmU>p7RgeLF[Yc׶f(#pWܝ\ϝC ;5b*6a;t6;nlNމSƟnn8s e70O_) Q-O<B9_v7c_\.\p 7̞?t⻪iVnyޗ =B;xj(B!$=20l/BS_sMOW'ֵgc1>cSdb$(}n׹QfpذcKob;WIΧR>Y]\h^1XG W8u)^`!>n&}][e]߲OXu?m#W #mcc'S=c~[|HYwcX]qp-˒LM} X!p/4,3k `U|*1G "-[o]!16&uO]jS0;_;w ~lx]gq0q(;|oX)Ӵ?Kt^4PK@xjh;k8>5ܾ SִxiI?"%|{ԛcO H=c l9tnr\/ dysɳatK ؜pS-NcWN*+t9I0Y0sD, 3:.dQlp(xυm[hJQGGXfR.b&bNw;FKnn;,{b?4ṰlC{/PC&S&|Gwn47)WUvqS72@}]Mz9YMv8$fQ ' 5,KߝIGxL{d9fn\Al!F6nv ANirdž1jb+q3C'6\Z$&Pfڸw!h}_Ք)~U#+sҏP20Nfa0 u_#Lذߞ:XM;1E _γso\:nY[TgC{sOҋϷ#.͢$.P! W?4&^L]څg]ۄswƽz.M5&֕ظ|X>ظS3cR7EYSTS2ϛozF'N' Zes}Ɖi l6T C#elX;z¼oGz I_-|:qb¹x-R=A_Mm]R!~6J;rS(ίΒ &щAL޽K?K0~ ݶi({_ZO-sQ&YPc9ymK)3xZ;oƠM|']Z J ?@{\wmh36 cyi %!0O)vjymʼ .8y:6brZMs',s8ecPrσIn8玚J ,𚈲z-_U(*oHhXr>MiƌCKy:u'CҮM}Wʡu0 *M^s},CFsenӟ~e|sb<I\#wؙa" w=O2|C5,y7͹ 8cUy^3tkZhWhL%]$cw-aTc%KWmNUNx{k(]7Dv4C]`nuׅK3FҠy~^h<V ^/a>c*jhE ~tΚ{.쭅:ozl,Hp48mХmFps uŏ\f W)XδnbLdxޱ`6MM 2',\nXMB+y列n7oR0LyWI%߂Q$Ƣ8l..(q^*rLEg; qMDqVឌctb'3TXȈ|覙{b,ŢHΑhfΕe՜`Vd⇧`\-P)b`#oSO0e~4k|+Zw8ɱ$-ʌ Lp#vE9?{RE|Vh/FACgfuQ`ϓ@oW2@?򩪖 (j?&1ȱ_7?|du."4u@9;P8nC/p Eg{@ת~t4|( 2yD6iq$ז{67Ib*WX :ɲ .]:CT Lة&yT`r+! 95ɹ6గŀ&x>5.YOAC^ye:]Mt4Q:e /;!wک~*G|+_q_LY?w;pn!| }޽5|'bzpƧR&? 7r)ϋ cRzm 6\YgͼO_qI?qΏ8>43t`qb y |\v:k{8\g$3Hip#׾[VMߎYf2R>I0?^kSԟ*#Jo]A;H8j^8KʲMɳO6xN1Թ21|#sLTڛMa"֠֙+YX`X)_>+! t 1ufV;<}Z`z{f0}aBǏ7"dB}][ل)P /k9e$=b|WYNKƶY'ͺ[X~n/[wعݺNX+";6U8ِ^?`_c?)!uz`>70ȇEI]O]T.`d܈&@t\8>9~'Feqgp7{>xt1F!Z~ͥH>^0$ .^g&Nӏz~4\~ iԿu?M =k Һ_i!ּ Al)9 gmdhIR#~%mQ96:cpպ:XN?G=L*2fI#-:.e72}->qPtm}fu'Ά1=/E}p3k[3/6]*ɣf[aѭP^gǻXm:EC^#7>#Q?Z6L`c'/iۓ5!u&v_۱]=r7,?/8FokfjXTx5wwWFQx4'r0&D:^A6Fh ]D- w`|6xQ7c!(n`V2lPEF 2X#\aԨogWa?-L%u!G{0v.(ܐ zA1JY8XrS^Zl~nhZb cz"ΏJ9 Oz{1ʀ=*X‡j4NXH_6 -a )׺6f(} ճٗa7cN mڷS_dE<9j ʊssriT`x9|USv`acɺϯoscbb%E%jxJBb{,tܿ:7O_|3O vMkb{?UX#ƟU]1)($?wmYm_v,~8` ӿn)[u[+݀2sg˿\c y~yff:̍꥘udFok?b7"ֶ݊ɱQ2;=W+x9Z@So1/rK3,lZɿU@Bfyo l˕Yp֨ۋ#sNƚĩilyC ٪E=z;$oj_(*O@# IV)41[|[$E@0ם'>Ɵwy',>](+^(瘵=қwA?tQY+=tiE*lc쏏Gﺁ5zbyd{"6_v`w7TUDB7@ yOS-c](,G|Z3=5);5/ι_e,,SK3 kQK՟FT/q.d˘ GH#1~~Qt2nb%]2u|U bkLo{CW|~Ę ϡK0_o셚c".>YWGFcj =}u7o&FlG}vcQˣ+-K*?Gѥ{{CWÆ0_~5+*%?jҫ)iWBH<: >~4!Ԅ=>ةE(5 ]`"@`e]p=ueYoNGa Om|@ogIW֟?,LwM|բաema6ccm4߸{y:rȜy-(ێZhk)7,O|L{Za1i}=.F;ލkCySH UɲFkWX[k3sluϚ:`q^][dgOdO9rSl5,zYU3,o7->K,ȦvQ[!-߽Bx?{q.*`;$0r`.9?_$Π|'N]k*VQK:X?un]c pZf~Dݍz3V?V%G*>w:3gzDiGfsw?4_c)Gֿ/'m(i? a3WA[)c21v m2y [)[H u-[&ڙh8Pnu۰Iv\q,#_]!VM5z:<H_`o11R:}M&>|ncT&庇ɿesGYO`w2w7&;_r袙 7S;7m_v\W&McͿmzJV ^v|%da%ò ;9CG4 ߿c{oݨj9Y_D\п#ֺ~#hyΠu>fO#= ƈ0RH䜆R /φm+a]#NF݉w2QZx`y2Av~.JP?44˱#}&{Á"Umv&֗Vq\ٿ(>I$Y뿆zI8JSL݀Ʀ2 Ћ}_념 l'hI}?,;oK 4n2Td}'q+1cu`#p쬸Fی;~<*O>2˯3_lB,=dƻvL[I@F>8^&nPkuqc+2;׉AB\@DwUZi MU"ueg\vY4j>?bx10V|7^d]b׹:T{Ѵ2oI."A8Ϧ篳 zKZк]WC2:*ժղ4 ]u\oZ$hu}) 2 8߸bzAto?aaS\|3xќ~ =lVL^#*) cz3 ]P6k"|~N'/])Sq#ncks۸b#tNDZ.zZcISSm\49?:2hvO'(@PsS ŷ; dkW:Fw ]\8#F %Pjwڀܱ+5 J`hޭ@gL 2 Ц<wTLҏ&?ţme *-$}a;7v!@jq[7M̈́U#̑"]_n*qDŽIv^QvDMр NDOY&Z{_ހ߰hI>@uQGWoPc= z)NJh*cN;׎h*62$*G2}<ũM;Y%|7 Rؿ S DžWU{ln|^UI12t0kE&@Ν.8GX" MO>9.O?􋶰aֿœ JO: k%p*꿺iX-5p4#o_>b <!x2 ;+NU6^qsc;zf8ޘpٶ#=P6 Wi mlG"+8| ]7?;W+Ɣt%_1n\}"`78Z X0uY?lwS5v;d  h#Ab, Jx"ÿ1Sv#5~O7U4[u܍} ( 8ɳ)bQ( UNg| Q7k=(H5@}X ȢC1] Beǟ a)3\awb5?nB/ў[1бΟyg0M"[~?2YƜL6wϫ ^|N|;8N6; ヹ%@GU,aO5iӌR#q^vo$`ʈRGatψ{Y?31.> {v,[++.[C΍qeY#O]_9Gv%Sxȏax?>yoipC~paS N{6zHbOcp_`MfxƟCLrKusl"~YϮsp~|3]V>a:tq#f)6#Ya_6R*_/zӟkZ3;G1 R?i?Mk {'U~usWpmc/I`ᏥZGIC8dP|Lϋn&: `kUDՐ<99 QWFAYQSZ ߮Ek͒R{f$o-ſB?\dB@H6 N&E@9!D#X55}2Zx fN }F4,,j { ӔEP<ʑo>,nv~1C90:K~WW9j]}u[74=DG+g:/(Z.j7>n(7N:l<"x kUv+r| p^9|Y||~ׇĥ+0z*|sX eDЛ~ azwLBk 7;^ieXՂrTcC83 +iƲ B6=,oãweoL2Nԯƺ . VGM)ҥO%NqBw7ޮrwCW˟'WG 8TٿX˽j.!tN_">GPW(di\w4!glv s&o= 0-/>:ohbw'/ej뚈L@kWݪ|2kw7<6|opT[!, l'D:,ر;pyp,w2vlmw[ypts72اw*]`!pa89e@8n^퀔"NC賹X-ۡ߀]1px\~4)8;/P]w ؀UxؖϏT>w|H;3*R[i;xo `:Ȯ2}^X44;}k+G_ s#ti$gx9 4쐅Q:*wҞ?ҵo:ٶ'a;X'lו3`ZE|`Q@G{({ |06B5_u;`ś%n9տ?|ޱt0}1$̺J'#֥bi߲|e=9c^d,k [M=^p#@uքV>|oJ{09/gt϶'wϳ*5=n:z3UV,qeyz+ƼpWU6 *_7X)of7uMF4xG"8/0Z6pBv=iVP1D&_pm;W_V;&YȻ9C; sj$ϻle8x\ptK_zSaO {Or¢ngWƗs~l<[8N?vIhVnAU0n s-R IDATB_{`@0 ֧]$ zyȧ,ʟ_oOJ%]_k'g+&Na#y'}gk2qߠfcUjcU1SG~y}nc&{Z@֭Qd7nf!M_q2"4(P6  BYL{ѻtiw~d ?}3gaXd̯RhK5vȐ/zr7lFY2ﶖP`` Yyb! #}")^?,{ºo zׂi t]︳=2@m 3iǘw}n" _uOƓξ-})yՆ]Q!\+\g|10pϳZ6BMdZ$c{?iuLDHǭVaSjZWzp/~w|ݧH`+j-ڴflka5Bn0ֵV_7)= I7 |3ټ":eO|Y9іv2gSg#ѧ#;AC~ӴPz@[޶QO͍ DZ@TnM㾻e^KLq98 N`/h#ߚ0 [kQ2^{Myk #3vd4xxV;'Sc1|tl0@0UE f G,MP)j"A t<3/1tU3;ϵNE]aa,M 6GC(bdі=kt( /e!LԛRQ߱,(6=>@ \6 A ')֕QĢF?_qMoW? AH uA@_<3\uz3}x\!?aϣg){S;\[ k&=® OՒi/ak3M8ZUxD5lIɺ3-tc|)ZF9;Z]r]\S)<(q:rquJeO,ad4gʿ=R9j[  f9B~-~uݚ a`?0E=p^エM@v!g$689Qˡ"v9nc/v1^<}΍PC`. _*-% P RXLosWp@' ҿ'T(b\;AmHn}>8ͻ^\zE̗nf_\ q_B+)+J̋*Efn]hԸNf4Ӊŷh$$hn%/Yҷч|xƭ}V(xrˠ}Ϩ)ЭX%u#NĴ(Sc cӦ6K| CmZޤ|3_d>G^1Pebw+HȍM fG fQ\|GmXe+Of'}9•?i:FU۲gWՠ9'NqycDa7;1?sعmja 6) [LE #\f 2w#OЛg6mmOEk\b,νhT@:6d g$"\[,Ɵ6kboRuqsjL^eŸ@&V\5!P\~jq~ "r亖3Qam 6OCܝ;vπu:1۾x\ݨﰽGGT!unl8=|nrJ 1cjqV']w9#rYJq:;ޜ޿̿ct[kj9tJ@H\zrzg?%CG?zRxfYg:>m0A,v(?/63ʙt=Tv V|a(uK,ܖi_fMk}?sxQ*wo1?jb-JG4+ƹ,nUzPP*Ȟ?EoЮdPQip>N$ԝϣ ;޸pRG7;?3Ȼ1xw=5 Ǹl?42wo^ئ sG*b/\8m,$y8MP׸I8 Wn^R8gNT@Snd>Jx|0q&vCI޵X1޻rۋ59zyb|wZԡ;[ gr|A~uE3)0yA{Hw HPJ`qs*ol֫Ba.W?z3դ_oWoȾ=*#Ij-Ϩ';#i4mXY7Dc-Oڌ?6O9 qtnDĿp/⿮U?g4&&S;x.Swg9rsqaY >@uԈ=qNr߫Q>i`fL GX+J:{<;a=/2EsnW]kiZ9OSﰅ=50q6؊^wCu8g@b+ !"7$ Og&` =n, 9$ 1~]H>S~{g!!c43|xvx/,[4z_ا :֦+(J;O!׹0879oޮ0AQ&02-Pm5?vqf^5?Ę~n)K/VY~ț[wῃo8 碷Čk@|ܶUx a=dM7=7J'??3i*&{8}w)|^eg* e*ϥ3)<0\dw̌:?{,?c\81{zm*{'zv>YWW>~.@8`ѻA7@) ;ǚfC1u~ۖ?;gT/HTa:]H)Cn%ӂ$3aZ=719T-'m49M+S{8sVle爷Нx{jcrB:UG6 V^rs,pYLw~mG${#2x=_8.&mv8x7^4.cgVt s煴}\5 8o-&yn"S9a̘Y؜ckT= ^ G&b$U1rJjZqFX;GW"VM,KLcָYLE</< Ր&C 46H/pRr-6']=Gu"}nB1ѻ=[BV1yR3C쇍,.kǑsM<BZgۦk&OسؒI9bb0p :ؓgߨu#FB]LScLfS3+-C1R4h988ft>ɩ cF`}ؿŽӉ8ٷ|s|g><x5Hhb`WnzB9`~5ñ+585/nxw3ߵEkU(DX6X`aw;{ 8[1Qk/KHwbJ\M7LIIz׾0+$6ǺcS6Wvnpޟ ;%#jlC?d!/JifjG3s1gUΑݸQЛ +W| "S񦟡x;9w4kסo9?&cQq %?<_!>o~͸U cZDk0M>ն{18x}j>%l<1~8r?]6` xr.nvE JdMt^+FZgF,X$g6Z;bk1`{7˲ '+t6W/r|DqF=J^_%d 3^n8(-nW^__WǾxo酻9.Z'F??g@MeMޣ^,W皛|{h"B4?i-: BGRa87槡䞎{Dk78dK{WQKb:Fo!x1 ݐu1I&y\L!қ~яM\ <džQL r8 W[%L.,rm N&;1wZyæ™"S{%5Gve _ ?2aP?EZ1.5PQwbR9uOk%_=jƂ12YԋP_ރpw؟885_\UۃMwC=MC)}˧]9;}hcFޚbϫn=E"wK]Gd䗾4V_]wcuv;^PS!a'Oa_W`+9r-s#Tϭb6Sw_,zY\d8wI[o;ѯ9W=|D4>smsUJc$T{\ ;qЕv yqN،s*ߊ Tt| t([&747#MF3`nY7MdJ@%Xhl `28+rr x:\wkx=LufwD^6{DCmv2 __~P|?l"?_\7~ΕY|x[1!l4hֳ#`zscee\+.fbt%įu+Ε_bf?UNtՌV.ȁ%f/|:bsFsy'1)"|5ŜW&8\lNexdqtc ñ a8 =?Ta~Лk>7y{ؿD{(~^>".%"_x#TSx9F Βߔr=ļ^oնG5/vT[_Ce?>c>M;. O3LjS*[7A}w41`=މzݱ%T@#@}.i.#6B^df_~2&^@g] /'pؤv! \L=l9wm, G]h7wu5K&\Fkd뫂?PNwa|&`'L"6Oԅ=EvQ~UbUDVݳ\p`H9s!~<3ʝ6“j p.N`~]LQa&6έz`dž`@ Ėzqǖ;ߔ#47^/py$M(a|܉~)?E)UQ>2+S$Dj#BuIJ̱c6D0Gk]N}㨖"wu!s[{K2:IGhQft#on- _Ɋ9ֹ*=-wo1q迀|ylZz,)`wC?k1V n<"㨓WGXx׵ioŸw]W묻Bܻ >`V>tsMOwإ4 ;zGJc)ÿt0PsL} IDAT /{l^?"xӉ#Gi fo~ݰ:1+6buqI،5Gg"Ȣ^xP蛰ډN}_j]WpI G 1D z##w`VaBE@ oc- :KJ0T6LJQg*|u&{wJta'i'Sk=%]070xO,?cI8{m%iWl\qr +jYbF+j]s4x."cKe<~14AS4M ($`o WD۶/yL%0b; m"\̉ Bw4<)rnjC1y#2Qɇ?oKظe/5oZ7[(μ-V-QE_԰'l.nes<=ÎH߫I'!2nvjDߠv7^`t{X֏qp =uQk"̱2K cZxן}5zx{ڲFsH/rE.x&x;Ʀ`ԫ=6Qq^S/sڐācoٵQL2 EE cw6(~$x$ccv#=%r26&=,~lE.C.NbIgw $wuX@J⛁JިpZv꿭g07gM\;$5ŴgVKاrJ;v\zOx? L1-Fؚ,Vm~GD 7b"GSz]A-6p7ofrj=*V}`PB؀k;Hd/v]f0 _FȋS QLxwUf=/5_al{uu:s%G~~ ײS<^fpOټmAFB}vA{v.;]`1.?5@M\{Ķ?QVeK^b Rh|7Yј]m)y//_ q:ftc"[ǒ Ά07o^0A:y1=F=vudGSzb%š8G摵x N'nuq՟1@'.9_qn'+9w}} 8cRen!hٛ\d:{cҥ GѠWqtc%Dyp._J2|G@Po5_#Pi䙥qNмWzotlkw8Nyk'F2x.B`k,:s@挞=Ћ+ǿyk͵/ET)fJUO?BĘ_q*m .!wC;HNATkp%"&A]ݚΗћ}<7BVYŊ !?:vc9׊2>ď+^m7:]wO1ݹSo?_ULD˙>~Ssa¹L}Կq<]b98w '4hDKqG+ˬ<-V'Άg]كh8sw%ͺŖ7#/ rOǬ6e8Eԑ +,|1K/.5/a?d\Lnxl6Gb)&/o'/ F|cn! ]7 7SJVv2?ژ\݈/XC o 4_5os:_*{Lq*@*<5Av|!ob7O>}f>t7Ӥ x&>Lj=I>Dn|~ q*{ݎ ;EAȆkdFȈA݁=6l;4&8orًy;]w53~?8I>`;s{&rz~avn< q_+xnF_߻C4=>bM-=e<> k2ω1mG"YNt`O\~6E`O+WC:y/q=ŝ(ǓGB:8 bE ,g.s &.Ŀ1ma%/Ra,V7 q~3^NZbÀ|֝S19xbdjX?.7:Sck&U4?8>pr&#'n ~rG 6||r- z_u[Oѫ1bmYGOfL=3ocq^o~T:G^֡4ik?sHy& %^S{2?Cai ߌpjsWf=Em&ڌIdy=%3*@Y<ȟ& ]b'd}>= Ppj6ə!ɓp-9~πwZ}ߠ]jHP,j_׫@ zƱWP#t&6d3} Kq97klIjӄ|W'YIlFl%_W'b7oq8sr<~7%M,BGl2$!y݈w`E .VRc.6$>o !暸15>CC[1VN[~VXk_l1YnTsu{]zQM\ұ_$TGGw̎aIIRijt8=W}U/r(wP:ڽO ȅ?{psy>(g;׃D O-G'fd:7?ۗV,Ggkqʍym3:;A]`bpW?zqj.'|T4gckG5XFuc wS-ߜY_mmjf뿙G{j['];su^ +KݼXWvb#]8Ŋ>}(8$2BB VMӏz2|nI\'Lnl6 \7UzڕM^,.Fum &?=7,H"r</<h+¯tO zڕ?vAc@K>*;vo z<uW*7gؤwyy?oZOz+kYu9\Øi^_+,|BaؠkfX- 0/sn{>7䣮z=>;7m7_yŞw 䑿ѸD:0a}bӀrnX/\\Du9q 7S1kck]AoUㆼ6.O.ޘ (y} H:m꥔" r|Z u>럛wX ]c8UO>,Ƭ++:c5z~s~A~ſ^t눵m)eE7/骹=srM|X!Lho{Eh:ϟُ=tZ%##Lo~BWg;|\s2qMf-.e[?3A iMZ!s{c_?CbV6[ު֯0|'nNb%m#ΧaH訸/ikWc$㚻g{[qO~\ cxpyJ lZ}$My~d$iƊG/ -Ņ[ Lqœ:>+6'=pM?m&eG6G-؟8כQ|Xo:KgNMSu_l@N3>US?l;^48G??S9m8{o !߰AMSe]AD!UAğ k "',A/s|sk3 -?i.91`k;99n?vk"q[CA0иO&l 3U/N Z=Twy?LiwkA?}>\dCk#eJu=ƑmN3[(,vjzQ̅@.uL{w2p{37T@]a< ׅCf|fNL&޷:|⧌NWb)8y`8 5MߋٜL*ri!.? 8n  m#:gbl}gH~/s71&)!3GcWf?, XMf:_q4rϼvoeߊw#K_.3SޕպgHJ/~(@Q5c; ]3ya Yx}S#ط<Ѷ_mQ*D-:69(rcgO";UU&S$ ƟBⱹh%+mZSN._5b̙m֘?92J_(?[Y 8j~ԓM2#/%#Tÿ1%ka9ʪ;+Y53&0xtn>֫'BE<ҶԗV<-7!7x| VbUQ蛈QxZɵ&:7>.aCi^d|hoi<'"wq3"k?/($(&ץKfMrZ`^8t.E:^FM> Ÿb_b2]N6O2 CUaKpՌL]3vj͸9=%]\1nş_dnw| #E_.j3ޝGSoƛ{?}0Rڲd ?m!aduEw;V֠fw~הNzB>BS[_}cM\2tpGwK!7 k`Q#l5Fc$(e7dW5k ݑ dsW@Ǵ2WG=sķX,5.^iٿs olB:͛_0F&CMȷYr⩉8ԅ7[Oh% NJ?ߨxx4:W?~%X4V {1|pP?ok?2б_"4̪pS'62;!P.~ftz0t˯p~_]@`e÷=Uz_y9ZqՏUZ~ 7 ɁqUg!rk{ 1OͱLȬӤolתrV&A~ajFpCs߉Sg^rP%YNL^/-P_aAs`k?82Em&_7O2]RY>m#u,x}j+')6Uew9:ms#un6^cY7u]q جWC-lE]x[ =z v98>'WT*g83ɨaq; w-ٟQxLƺʯ\~Ȋc-7'qgD<EXt0XXhlKM`~A<=>5G R"bjp1I?ۭX~W$gu#*a5SlJSseW0T3Slmw]\|)>l%&䨧N-"!{-@@<. lwכ%}Iy7yy=Qfu)Z=#B+1;K_f&1onT[/ʻƞ)>K~Omo_%)Bq(1o$|Wcn0n^'~&GUb!+ONC:4gEQs|Vo0#:J'_&d(|ڶ?;)Cw\4SnB/np (|2oZ#J⩕6˂B9_z_v)}s߆IX\5];sf_TOk=y0W}9/Ͽ\qR@/M$m;湛CT9k.ҡ/T, FgLDDMMWAjbbIGn7u]^JJ?M$m@b`a66SKw8a"z+h&ڔ&V@ؽ$Z@aA3})(x-_> Ё<spivw[%]|Ԅϲ?bc`y(U!9όu@m4d@M=]a6K5 7K q90u@w#; ٜZlsWM7yZ<>lqC| %ŭܴz;5M/2XS[*_ZX%[F~!M.[5 )F~8EX䆍BK쩺?::@602?<Č옒zKA $(}_c3t|19'M!~@[t ?Zn`UȻn5FVw c)g)(/WmcJryu ڧ4mv9GNo*'ο+WD-n XnA*90iID! IDAT`L L*Bc܌@cOש3q!|]qPEyOyN;5aVK[c*5nk$)WU)yZӌW3?eJ]yeD6 ߒ&.\ݓ,ѿdy+D^Mк`rOQ6[@vZ4K&gTS02nw43oO/ְq/$N?}1&Is 0nb\jE(Nl6gW9}sS_͏/?7Cw,P=zIğ?ͲOgGn6.3c>ؒ77,eqxҹ[:_s#CMuyh@ kKY7KW# Cζx sD{s%,Dife|~gviؘ/Sh5~gó~[-5C:! /c}|gK/,xꛎ >2$@ӎ2p~f|s̲~ ^T-]@mrC8vrߣbOll 9CH)Il=n^X%i К3Ӊ˨v?FI`Ӷ@v߫5$t8K&_ni{_snb_3 :IgEZHFRy.P1k!l찪!,Xd Bq>+ͫ悞%&XcDOt#oC{i̩s*"8/N> %h7k_*v;kmg qqX af@0ntNJFC^dəׂf'Y|HcX|,L\!z׵r|"f 7i^%+忂m>]y||&.۵èsWO"b&ןZcYy[eA>_|ū>}bνS:v;Ec5Ks[2}oY3*vxųv3ol) V- >ÀjU~IM? *+u4dhWao9Ƹc[SwBG8{ ;+&ujb69|<6柳0;w=QNޏTǻaiSk0'6.'MW,Y5 "?Mzf}89vG} \v>dҟ; +SӸy#ﱖtk(f%};ƚW۔aLܛ"Gqz-XK~-ʟT<{8Mw~%Ү}m\k[ۏm]1yG_ӪwE=bp3/ެȼSAh^_/Vkk{5 ;Ey'O#WOު᪵!+klց55&q-l0L3llG7 4$!tA>W[にrI UQ#7_yMtk'9}sʃZsMh_H^ucg9\ao,}`(!IUNF&]B7dF8'G7h~e1硃tۢEV22{l(?K~9?w(w0m-C mƓfW\YNlKw 6%_\4Y̤`o]Ή,Ԍ%{KMӱF0oY~ \7E/2pA8к_h}چX񏠡ݽ`b}]E|eQu`Pcӹ?b:qÝ;4.ϥ6wN0%+B|26-R ¯I7"3ϢSyqa|;;>K~*w^r!/g:SVM_yI_ ͍.ߪ_G }_s,{k VL#E*o2xqpAxkWd|ځXcWSٺ=]SC7=C} dqcwwO|zYuo&㍉m+W9stu6WƚL,Odzr= o2]rO=>S):}Qk No/?^fG DRa{?}}⪈&&edAÿA=bmjv/1jtld|jAz7Xp22<'uk& aE_gj^j1vP.?u.:༓lkjBO>K>*Ǣ {pa5lzSIbΘe wKYGfYD@5߻KYtc3zݔD4rbO/ RJ+kvհzᯝıioE|_F{N$z8]﨡~&K MXϧ92~c,~z!K.M6P/t;5˒C󓵠]icq-w7|_5BҹywCjL;)K}Vs8._8f{_د)+Z<%k/ZN>\=f xo\Pm[ X <m,| v.Nlz?f i^%ćmV:gt|4uG_BcQJ"@ .GĬyQ`;bdxc3ިWM^Q۽vvXaR D̆v=_Npm˚{LDBv1Ef^Ng\/%1swY3G>[J3A,\JRr0y }Jg.4<|Ow^54`Bwz 0gtf38Xaf4kK%,H$S81Nŗոή\IJ_^xal/pu'g:J՜fb́V)|1<6nOp$C0S!cO("$dž',|Q;/ UӟpjnƠ$GOSM`8[J=e1 }hNxݍyєLMO3 k Z`!;tw=\#|7 6'E Х冮),pן=#y?v-^:^ql|M>5{Ʌ޸Oz_3{ˬȓ႟b9z5_>.b?Ж+nnP̈́5fн0].c9)#PbmRI(ui1jw=1z p 0OD32pz 'v`9{h7?C+b%oY+#zvr]?8c!Qx= Orǝ:u4{w H@l-$+MZeQŨXqg _-c):`ͻ˗|=y=[-5Fpcst;A|>'.\3O0؍ Ϟ;3EP:=~|h=\{41 ?r;9M{$2p]pُ8:QPd?B~mƭPLQɞR; ָb$$qj"18 khVep,T+֏s|uHwsH8rNεvx5ueۙt2"3wHMrҭ a [Φʼ̺^E˰x WDd;Tk:6q22*޴bPpwvk22s2<' ǥ]MG/xk}~ 0qGbԛߘ<6?,&m`Lj_1Ï=S|:uGQἴU_|66dg:wK~/u|}-"R5{(9w 1r4+n׾~x:*`Bb㙑ʎLe#G<+ԥ/uE轮K?;Ji9?qZo"{76s"k;@W;Wuڧ7Ģ^11IM`mU̚v*osSw2iӝ}»𶨒NF$kH14ip.{_*ɲa#7g5r? {ڏh#}מO渀I>T3{hF;fml )X0^)?`F}w#'7*?Sx}9l~񂛂ymBN9rW}E{e#t߻ ˎHl_zljr2DĚCotds~Q^#?Tz?q;3bi_R^xMCᲅ}Cv1Kf'q5S?j-A |3 WKyvo[*a00'5`L"O)d9V'4tZyޔlTǦird׸# ኩ9Ǫ ~jutc} ?ҿh ezO=nηsys, ҍ,'?8c_8IE:LC@R qu-cҔLԿROx'<~eZIʿEs>Vq stc~qNLT|2px9G6;mۉM FnRnzТ"=Hj 3 Y8dLO3xg< Jھ6`}V蜚M(ne/\R*Y/Ԡ΅6s4qM\p)_^kI  ZA ׼c6ۅ^мoE-%L'YQ.Op_ooP 5$:Am?Eæ`cᏧd; wƿ쿫h"xMw{ >_(n-H 5\l ;8 G#w9 !1pڥ IDAT T6!U=|Vk!|m^5w1Ӵ@nS9!d1׬륍'U$ZhWZҹy^ȗ}X1W1B&OeJKҹ2?ʽnp#8P/Yi)mOy,yuֈgy]L\|Ɨ5ݹ&>vcB2]4-V hq͟4Cu(ߟGq!v:Y}#{޲>1n՘B\'WW @7L4^:= җơXP'V_˜Kye!Lpn/t?:@W)>1c} ݂sU:8Hu:vT&/82=?-x\7q ՖE}h@~ K]$p+!ggߋD!QpsVw6OP8\4M>[Ӏ>GR2HI&v^ _a([V}AQ:7kq`eJ B&e}l3^H:33Ƹ$@]?A wmjf3& ],!VR϶fOl7t{,H?;Kk־" h_.]جWb"{C9džۢ:elemu۠k;io6t]7;m;Y+&I`渝G?;eXH~qݯǸG/.\Aly|-֍<3?-^0֣ϕVGYo^8/ܣ\;@F()Cy5ֵÿ<҇S?9u',u24^'Ӥ?K69kYG>$Qc#wM#r)۴ޡ^iźO|a y>:Z>tȀw1^EcK\ƿ;=^/uhy΍;QI;]H';.D Tq32:{?:4Yo6Xn(@̮M62vr¾`p-d@|G? Vxkq捒)g㲿_`[ٲ/}bjh[$mOwOd?9!Մ|0wc-㟦~4pǚ̈?6;h~D>\d3/_Mc>75?c?U Ly:{:(1T(V߯lJG׆Mk1:f5ٕM8kKn[GQ?מWZ$|?UWe_;d}\sXD]:!A'3UoC늑Q%>";ǃl kZk<5mlkC64;^l(TSiC_Ws]ǂƌtk+}`cӫqBq&zۿ>=zqg?]Vrfj?K:kJϮ1S|No`n˜TISf AC@ YTSvd}Cb6nZ: mQ; +qǜEͳѹRԯǢQ z^ l~+ȩccYY($9(Ձ~xe2pd.~%;v3~bsgŰgcbS6~sD 軐ǮN ޕe.jcדe.9~EQ)v뻉<:VJ6ƿs3křoϧ?t)??D3Cd_̸7UTSeѝD!9[C cFw65̬ _Cr~}s}u/}2XycCt\jwVG$i7bs1cX̬_>G@ٟO2:8h 4ܭHsE6ص$c@,ϰAّǺ[P&/[T`.iRDEcv̘s EF?q{]٥n{ y=w^c#ûMgԣp tKol5y^x"5b(Z6? 7I̱y[4<E7~̐ ޛ!~f.QT_£::[o%XcfsL(ټ/?d;OА8i@$bo\6u<+4eюC.}e0nS=?ć>Nto%?/L5DZ~ 5M?j]mUؼik~J3">/^?9W+{ŋxykxu#X_vm%EqXj+ ً|&3v_7ͯij&/YV: ަqW cc쎍(O e xvpxtܷmӎn|]GzOj5Qg _w/=Sy.ձ9Uuo^n\_1ݥB0\Ȁxӄ@% ΊV6x0Qi-#JSG\n4܏14n~Zl5q 21FlO׳ܺ@1Ky6>;YPͲQbb7}@C69x;ru5pD.pfql$F0Rcۜ%zQN'TNt\ 4ĝ:)?LǣQ MBdl6' zz)V/W$ mK8iGA`NN{1zek]#s܏~n澐yV`.dHwo ^ hcT!&W6Fo/_8gGGvCW[^JT3޸tB{~b"䥻ޭ5 |4RGKgiSp 8m^qjpſo/HC!UʾDUrk >I 8ί^e K׆hi9H^w/=4_̟߃J(owqCOXDk.ܫ_O7#g?c wr"T a;2w `Y/6 ɡg/:|8z&NWL l[HKqʠ>HZ_-*=Ws;)?6ePqF ܱqx6V@;M2?358Hٶ#äƾ\kC`s!Ag#x6i\(ُ)}u, pQK-\8:D\a! vܘ\5SRΑuz< x:M[6;-z{{{sjfiقbh*51x0;l1\䏬vW;sǑ'h"V㰯Ὸk+g nhjk-!{-A>-݅e 7g~Qbw )bykF]k4:\0ps.yOJGaq1㹚>|vFål×- VMn;,Adt޹LWbray}@s9 S3OUp-Hg{=qoup,x_W#uG^7+0+y5'.{x`]y {n-} ̣.]ꀲ寧 HB3.ː? lx?#W kQvxz-ehqua"lid3k{%-Je$1|KnDqe|뱍kXʿZib6V}O{y|D^ WmW~&!{?k8 ƩO.Mi{o똽 G-Ga:">8(r;~-Ol;6*G8/nL_[xyHq+n\Gu ij|cݞ_/'CnO ܞMڥX3u9}ͣAjTjIՀ:MMc#^ 񎷼@G2kP3ׯ;Gk;+~&YkXɬp1dd q)l~;br\:rc.ÝOn'lSH. o/U`tϞ3k '~`L2o^bfL_Y/x?\HP\7 &xX!E_$CxD-7_.($H|ٌ$_!};nQb6ώrȗ7ePJ;X4E?{Q_0)ñGAhckSai~q)(.e.Fy9L K8য়8kZn1vU`kw^Sݾ2.6r ;71w35g|`B'Mۏίf|P]ػEmNG݁P˸*_8D~blY#U.}ş$Q7@s?yk _qS9t c .s<&1c{mҾ&]Og3wաg`G7.. ؑL?m4g ;7v7Vnʧ&9w9z!2_߸hʁ*ğmRyI&mx\"gnq'팾1Tnt_4bW&G}u6O T;zS9O,_AW<9S6)(<}/dsNf/-GBx5\G-_>w^Զe/W]|Tgllggն:Ӽq]O^an?'9ez:Kŏ >9x?sczuA(+@s^ڌ;ǝ;ϛVͩaJ҇Qu?S,]^;MHF_P}\/ŕkˮ?μ8z&q]`A~߁|SlPwͼRo>io:0Jɠ͗8=w_1?}RH=Q I^$7F;rYA١ށa,\ziV?Gߩ蹗ha3黬QE ܺ䍯Z)*oLpz!rX4¯\eX",.sx+l^Vr߱g;׼F4 wgqCw@Zg+ƈvq;>JslBețFFad[^wv/77&|\EOlTub>&y.RyG{nDA~?#Hjb"-1o2'qϲ&J5`Ve?|K%}Y_ Oʾ' Ey/U tݠ4|ױ\͕ H|YG!Vr?rfV3}h \h1C]xk=P=Mϼ{<1+z|?G'v{.;/17dJyءm+~밈_gmz+eސݽq?Ѷ#!,0ߏWn6_?te@_yΟ* @J=/?~1\ߡRCd%u[뻘:I.T"P}?^]ș!ڳD!X1A4߯;=+w `wlJz6eDc1'5姭.a_{ kP7k xF]kj3 br5Q_ `c Sz:] IDATK^Ǒ3{;g x)B :UDH)P %3|4951:O+YD9dN%/fcԩs˗Q@/͑KpA[qՆ#W2_W#k)>B>yrt[ĕ]kT.?T |Uǚahfٷh?p[#7S 19g aPdYA=N8f6-w/Ja2o^qQ΋o(cvfԵca\P&$PM1Û.gZ=α Dv'{lio˴B1ݑȱKoa G?mr>=^h6f[osaQK EhN@&x=0 @(gE-G8_ccls>]x- <How5|sn1NѹGe1ڞaM~-cfu/D_!gec4Y1:8sHDžoԫ;iʴ8#so%ot sa{|Mvt+L'}]*HÏ7KL/ScS Ǯnzi8揷;֬?K#nm~BUl>$͸8x>r:evDB\؜+N4,]w}%_ #֝O%UL|V%b_Ǻ%? LvN}ZJDd1yăæA;{v?=};GEo9m9fcf?cd%DF)TvxNyG_kyE;NwNID2C6F͒é5뎶GġKdd4pmGÒy#f%v"T:v"*钂W32ŗK+ HEﻨ|cb~q,[cEJ 3(%i(0yZ״i5M0=|XZ4`D!y-;SiX1Tzbȗ^6⏏uNŴp$6?!/KV7'(F |4L`;)O VF`#:_gmwtj~y]+}$Gk?w_;|w埌Nc?w/Jϖ{"h.?SxEදoFȻR k}q;qVj|6Z5cmTy-t_m.X=QƟOlDH]P^%3B皋q}SM<+^.%E*q;jtr&UعPW{aIGݭR*R3/4Zo&vyUո70XMݜ1nVw^u޼u_+A3uΠfMؘzJqgW:IicfδڲFemRZn9+;q@wj2wON+|bצ>vxe_R^@ND|L2BaJؾ 9SК/˹ 8H.ϥU$ |YgJ"sqmh ӻ(=Vavݏ9!I*d1'H1' -杁%c7zqsU|^On?w vD^2Q3*,(D;`X l w,(p'`+p ?x6Lz3:vd +X̢)MKv|/}'xi8R\x0TsJ,)T9dvwAȹ',׍S}+RhGNCZxӬ9\ 7w4a~g?p!i1Vҕl?qPp*>hY9FkчWod`Ja״uB_$gu7#`ͯ 7Nw1wi),񟍫??|R"V%4cuMYǦ#E'r㽀;?i1_-]٘Q9cfBϦ'J2L/64_: [z~~?O?֟nx;/k*Tڂ='zֿUsvlGs@mrH!-Bo^\H.% ~+\P;߳c{ TT {,.B e?l'|ןsVȿmװߔ6ȋ?X"]VFUb,w1D^1k۲`7V=ӕ3g-./Y8hҢ. Ku14v@it-M~=_j' bs rh[9dL,DNʥm۴ݾ+Lj<[H]Am96VD|.*q|f^-/WDY C[=[3M[iA@߼`NqV͟q)زI_NjҠFTjt4Qތkrߟ׾ Wh={H?t/?zcL?={⻅@X3k|QXbK[m2uͮҦM!9Tmlcϸ#Lm`뢱dt~OȾWex+LFP?T4 |g]6鋆\eV`Kj^vqQA#4ޛD+k6F9:ބ5PCED&t!#̄CsE=qU"]338DZ³6p,:+|Ww- ڎm+;kZ_ѵK+Lw7,moIwNw4g]k.XSJnp/Y -&U7ٽ[k6,*Fs&+ 'g%/._$1F~#%8;Ww C VuP ]X2ؙjԶ]rg͝/ [}G6ѹ-?ZHa OˏMn Idt/Ca%0v/!Ul*m@wvS+jݽPAo6<:N>R1I堥)݊;Q2ٲcY>i ,}يpօ/~n&n]efFqW^3W(/{>a}(a f*Vʍ|bD]w4 HKSWQ,Ͽn+f^ӢϹ[|Ng509lN-o5)w^4M5(qLwRTeCd\ 棥75o{c xlE͵vQ V,Vh٨Z7#A?5oIA*W/1WDž}SA{ܰ{TQԦN*єowpmISy_(;ؼ*{<0c܈勋W P&{ݖm!g`&mP)5M|f>ɿ!gp~_Kcû_RæڙЬc`}֌F3[J빫=Zh_\TO']]^$^|sCv!yeX% u׾,rցI:$CRW cǚl|GKYƷXʷ}|=e}EAw.vw9:gY=,jq,dL Aqi;1Xt2ߑf&;oi~]?Cw~;Z.muN勅rIJ)')躇؏Kns~sոp_ќ¦&eɳ=۱4h.`D[`%.(0kW*R7ʯc 82Nd͵J^9ʉm` ÞhO!qt&wKǐ_ܐȿZHjRlVrx\֫8Κvh@߉ypB>_?t|h5sဿ7.xylt[2?_Du 7#&/7tU y bߙmXRs_]NW4wߠE7_Qcſ/wѣim_\rx!#;(2ZsD}\Jn Gd/0Bq(L2aHqǮU~ \ڝD)wFBE~98}!_O;E0) xH)d/_2T<4a' .!Xv^98ePw1] 4S2=boULLNERc-d}fZ;3(L1mݕӫeOaٺvǝߟ^|-ל ͅI_m%{x<  `<,3jO(&#Sk wQ GpʼnB`wnZ IDATU1ڑܪ>orV9l+o7kXhl2%@|YROtHrZ"N>,,Pȋ_ɏoWQK9#9ܱTb{4ױE7q6rҍGe1]<kq)P=D|w-&~Œ:!n~/ۚ\RS< 3ož1͜p(4<agq%[obs2 j3=jr[5lM9Qk⠙)*vPJFN.K-_s5k{$$ǔ.hT :sQY@cŻYlmGk`bE8tr5w"3 PXn찇*tq6-,J-RVBxu|ޭzZMG VyƵ-H0"i߹tI GGЋ0uI*Qν5'Gӣb,̡ ۩Ug+s=\O_ N,T'Yȷ$.#q>3n3Zc\@ƑO_VcX{!g q! !엞bLSyzԿaH-3#k@/<w/̭s+,4W?.!1Ŏ8%B$F}xqWӄ%s_˞QiD+lճc.Z>Ãp&mDo_u_7اD%t9pc3xAu&*޳Ws clkO!{.wcI}F^]T[Y{˶)Fo!mV~~. ʏ{US~7o{A}AqjũB8Z.UE J/͖L;َ︌UkI7h,WH/TE|JYMJjh1kܿGOcou/EŶkh&%~rq[n-3z;^תģDžL4DصY+n/_&#(?=7rgxӡ4,8\ F?|Cֳ[.Iۙj_k`i'&-:L#/^|\,vΒ.L_.Æ+Rq;)p'+?&uk.H\!&*j xM;g~hlE|'|[Sk_Qr߈+-n%!s?7yǗ:/+O,]r߫Y#/G?-f2~?}PS'e΍qr~ǧy'1u;ˀʟ~f:a:aU&Β,']ǕGJ~w:ޜнj\zމn_KkD y/45 m}7̋E9w6"E5o>a9pŏ`gC}< _߃ '/#] `qMB(G/6W=AUG,ss`s~g`Tyќj}ja;qм3!8ד=vd2M ?\77g5D>5o0(}/U]Ҹ4]c6ENG%XP*p㻘DD};xZ?c  2x}1\A7@o..>yNɆ& ݍye6"+ ?!+DSI ʐ}#Ma,bhz>ds+Iܥ;T'sVc7ZWjG$䀶y< Ì>:OO |'[=}k>`#u ~ݺnTZgY[hh<^ Cz鮺]RF.ϧ :m5K'b^4ۘyE>zP:~7LMu(?WZz9#ﳳjl7&LwDߔ?-nsᗉ)?tYK`'qQW)[/@nu:B"Bჷ.OB;#TN~G-p>5 :pۚ 3} '*GI=^7\q*u&N]b3|U_8sHֻUr1k1Vg_T'أAoB~o}`;MXp&(yɮ \ΖNQ7e.6l 4XxO݇^?I7pwG_B>.vw,OVzJ6wbzGYO5^F(Ȥ0Ts8<З}7Sr+ wX('Iv(1*vHȻz'Ö]{&-r؏[ND x[=:Փ?鷎N`֞c?nȾ南nm7ΎA2y]jԬvw ]6ͧԾe~78WR>2y!Ϛ~&h1/;ؓ$k㍡K}:~;ߜ>{s;{I\~γ \ Oԝ (;@xwqKdlΚ~Xlz\X4(S}Uy;.En3NJXՃڵ}`'g뷧[>Wȭ'#1 $v*ݿkYX8#!H4å9~kvIX'L , #o^l=[;9G*|X8axi/>ko~!~p5RiY[ўF ?q b\O)bkؤ8!'F@|PxAh$մd~Vʷ13R#Z~ bEp5Y Jr>!,(u{+|+EDkx"}6uG5Lv -~][o LZy^W|&Q{%O`w[y>MzB47!muK'e_GX_fϗx?+!o| :7ęYs^ b*{;j P'įFdˡka֜ۮJ'o|baHݥzY=fǹA16[|0~LG?gfw%5v2Iv2jxI9 7#sYYwWr) ոAf.'cu6Ȍ4O3M=wg0wo6M+,8,cxxTG8syS#NK6 7'Oe um8v}uuU9!dd3k? (Wߑ̳>mN>7'R,ޣ$mqy@ĕ$63_{s7*фrp\x]em[~oo.N (?'/dy2T#r66sAf 6mچ ~⋀΄~/dԈaQikQusK0; p^>֤Bp-D:7: S7޹77[&5. ✧]N?'ⵛ޳6] ?_[L݁_ 8k@ˠ‹N {!TP|*pۋ}%s^DgB_W4sӏ&N_*oD_5/_뷯ZZ?-YFc\ &oyW/: M 6fWwo/c |Enk/9./aS 6qt0%=1׍䅜B&KYH͎uz}ip5kP~;tC6eoʫ)eCӏV{f;FD6rbODFro F_?N"*}MO|eTT bucVYM.ȳh֤ ~J=?ORI= eegv8+Vײƒb *'K%EYvru&h6s}l+ͤ܅5myHBOe1} cy斤su>e ?u-:oO\\]ċC4B>3;.J0(kA.2bl?o4*H/O!KTsOnYMĿ]#VW[RYC u9{ƪk\ݟ\x&p~(Aֶtāy!> :ԹO)ܱszfoobز%[C|xUz 9~ˍ QoF#ۼ쉬~-<9>i_WUmr#_sI`G)Ygyii%]`j @z5)و@5nm͒[yR]>ڠ+(">n-WswXRES tHg:Kv%j\Ub$d~-}*6[Z?&|-T:H|w:߭R,`y[7nk*1|S)T|ھŢ vo&2XLV>x49EYC9vT5fk(6 '/xlY +X($Q|]/ڢw8ĘyFC횷fJ”o͜9, |똏}<Pϗbo|k%]~]_מ蔻1s9d",%/L 9+~RE0r |n`O%55ǜk\o9'8rz.+|O.#Lڝq[@XlY .=ݶY#(r)FnG@ʶT;[#Cwk,?킷,b?Q2"wf%3S>khziodg_;5(2dƇo Oޭ4zgmm~ҿd7f}igTxa OxAP)6oC"JF_DR-lZ"di"7*VMg8E@k/5ٗu6Nhe6ŝ2'9ǘ TglGre_r/>e SQ3wseM'1$(O)+(l&:%ׯމ뼒JAܳX*3XH05Cq~ǍoځWąBf^;= 8[5SV12a.sHQq:`9Nӷ}ۘu@t!IuǛ_]m鸘TR_6ǖM֩|2}wb21)͂տ7VTjx/\U>^1 %\|k 99LO%p,O-m8{2z{4Fk=RgS](RrSF>T8b7rq,FSs{K sJo1S4] ;'YWh&,+_"ҷ񗣗?Է~(Zor21 |/*bw:;RLӱ-Lt(x̱V-aky94m%#ec2`Kjsmzʸ3Y2p[[\D%~ } [>&%CakE{zЏ):oy`h/N&TYL_rXpUy!_|Gv< +|kwD]+ݼ^vDSV-Tf7bty/sN̠7ְp:5o3̼DAq>g&78`^lfK{*o IDAT~?GO`ܗ58gњ0_Ux OC\%-;7V9\fH+Caj.wLamc0ǞQ;⌙#~گsgo=f~mmaX4O}x!ycfr5Wq6\ORm˟ѢnA^wAW񿜻Lf}c fqn}! '7ulZ1sxі*[exǣ缈1@C4_M[QMNԦ&);NL+'%8oQl7/~/]5Uz#{_ 羓GY&eVVL& vhR4刺1q G=Vlܥ<гu\P3b.$^6'P'3i ۪MnE9x'ori;Ƒ|P:G_{rtFcKÍ͂b{m".W)㝎`dEL_+ᄚ}vWL"4foE&f1׭]/gN]XN]C 8o/Nd?pXYEڧa-{ZHԡwK\_ض6@2T~*D]Z`IkB)ضNMYӧ=Gj8 e;)ǠӉXdlqs] T또wԯn?*w]\ͭ͋W$M-l=u|4S;Egv0φF;9`p`ɓ_7SW`Ess f. O\7远b/OlP7?l^] +k~|;X}^S]s@mmz5 l_`Ѩ摟5ndڐ]wח?5_3o1V\{rc"n0]8yxqOWj_U"0ɛҏw8>1ű8#!)r[.?-7ToU9F6shɿ(CK럲XgG`b>>1=PW2e<3c]+ɶ`g;;Vj8V8øXK>_Gi8邤\x͆lEG~LGfs^^).5iVn̒k3C.qj*i.ڢ& iu`%45.;M|>cP]Ό5i%/={a˿5C*nMKALU}+MͬJ7;sϟyη{BX'_Pޒ_/ڏ,צs1o)*OXמ> b<=d_//96B5.#w1'I#y8Yb_"~tl^VԩJwA q;1΍x$za?잿H/\us8~% Sd>`nv~}n/mF}-o=hƈ3(gfzQMOm,Kb︅얻魻✀_`'=`#~|>쟺3 8bq\sݏFHH[8W\C-/NPl,/,4?zКaxna\Z+}PO+l`:DVirk;/n=bcr)uwS88/Bpu.fn/FGI Z&D86ª|q~O{c9y.z r+>&GCڿ4t̗yl+qUm#8~0)1/MTxz睗 V2Q]}cy)|겳X3WD'_Xx/ I Q0ѫ(>PGF436݄wUaJ)_Dc,HKpma" l.I0"%p!ommǼ6\O:\y) 7v XEJ;/!ՄI=9*-L102aHf?@Pd&?oՠ/3wȧ jg-Z%TIK P濈'W5|2jJyGM'bTqtnN&*3% ~J@U/E$ T߈1Q8RUmwp#Gzb7Oh!(\oi"߈|>"4ɻ}VkDT؅֏ؘ,0AhTOUKE H@<+_g G)k(O_gAgnsac3ׂ\~Z _),_:F.<j< Ri< &bQUI0ܠN{O?FmW?<ۼo4^zSSuBJV3ě1v J,hmD[Gx~aVW~um%fQg ٙ'5࿔'1&}ε5A4Fm mio#n2x-<܌SWqtzFd\w]*O=~pVQ{c,#qcQhb԰fz&?GῺ&ٴm^g%@^@.ƝiAusy;iun֥{Sf> TPrG%RyZ`iQB[U_:xIQz瞧높p>Lwg-*0]aӑo*,4Ynl$s1_,yN0tV+,_&lhނ+qR 87?~oz1عfrjb=.?ZהA M#-yJႡ°񇦆&iaPIYwa}Blse$@!Ob%\'Ϛz_|%mݲtI֝5bPǣi^,e{˱J|Jܯ9=3ō&&UnfMYVu9[Ox/Ϳbg6pas]~?kEӭ6~z碅F Q^ j8V_BXO1t eڍ9Q5yuV!eBఞw,*7W ;=׻6㽃K-@y>jo\]2Czwןum-[=X?ŢV5Ѱa9_ `i?sfR(s?} Gq?" o I? YZ$kPV"Kgƚ= 6+ŠX5_c-0㖕 \[ -h)Sↆ<߾sNsrUC+.p. oouc`.`:\#v}mBx` ^ƙs/֫Zċu\K-K6x=#Cz>бXT<(? 6 *BKW[6o"s;3Ŕm2/Sğ +eil}P4#(-տ6rT#O,^쏺];]wށٺ>z)l.:c ^˿R">ȟ< Z˟+Ʒ~sG[^#%ywl6j3oNl{>Н:ct@lGJZIXEe l|P{G=jps1a/oP zQ`"<ݎq>/ZUwݺ㋱?9woͷxnl׎?-KY E_5ݶ:'~ˊOEyt-GN56`uߧ.1t,ABu C  s$_9Y*"Zʬcˏm*:ܳҮQX/֣΂ŝ<[Xؓ>h8nBII߼xΊtu'[%UC`d|w_拜jXĢq2gbMD0%}p&a;,*cmWfvCΊbZg88Op'֢i_/Ofc/?^^+ |y&7-Om|xHGgsAXnb^]xk!?YGks_9ۉ?G.8_Nzo!?*g1ꗩXz?nU3[>C(kn %Ԫ`5ăPc$|f3:rcص,QaN=x*Vmpc_!yWΘs)y2/G1u?3~^Ǿux'z p30ut{3t/-q\JsfDB9P>Fl+F%Ry'm@f!mvTZDw81e`P$Qb6^wY9TҸe\) I|yA6dhTLwBL.#"g-+N28F~.]( Y:Eaş$)"2Mv28 B!)O}}n&7O޻]X1ž֣#,-y}$JK3a$_גH u۪xqOC[`5^Wq&T`uG@63?%b{6ޗ0_79YjUyx17d,decEn̝S87a&aJoL}#`q.c&cY-:WMi5Li$\2:81=UŚ~(JJM椢/%WaGn^tq[= )$1۸{CN^q,i[ю0AUk䐿w]z{OwkgEs=j6*z7Bw2:-6FzXr'P>II*X*9Q6/h<v? GqO^0 5 }[ F<"oUW-埧cWs [V]U{sᯆsc97ox?iYo/Exڵ;ذ_TUyp1^ rB~ 'sO4nLo6ןGGiS'CaX#.bl\7ATˡZT5d_ Y('e IDAT6Rʧ,$96T"?o7 cN̶{t.m.┟u%\RɮװYw,aZXa`^i(e/g]=V96n8H`A9ZZw4C_2ףN xq =qʻL&?P겋Y9H{&08'WB617sBn!X+_KRk^)41ZfQw,;",~K~_bY="¾#?۠sa56~-7SXlĐwSiT/+tV|,$C<(_ɭy<xVv>U1Y +FTncB/s?1O%5^rHh81q_+^8VGZ3h`֡ 5[GQOx(_nm*?y%nC?$gM4ݟ.Gj)%dCbǁ]BPy<velOWkŊ[d`+eIͰ1V]MtKCn!nj8 軤sޭJPBd k|#@8A<3VYaG5rԍ `p(fY4; QJ5&Y0X욿iчAffpGוH!/(գ,Mk"jĄ$6=ԻU؉p G82Iݫxu$5\9l?ogSEqJuNp0l?V('jK8&0K8hȰ1`5rk GLڎ;U6;;N`'܍(SmOs4I&g1_=`:C/uGj?JR ȼ65T:6T*.9yu9m܏K3_6e~ kƿ'[wz;bT?'&y*?Є {U^ω;Wq-6n/}:gi;X|)91gwRq^J@|/dpњ̊.ɩ$7V=)HQ6="\>yȏ 8dj `qh!k˗BBc:`vNO2.?Ǵ-"kE$%T_gsiev]\řV!`fg h x8; 7W 3Ϻ#OȜSX\lAp:WP4Bfdy /C Ls?~yx-]Ӂb5S;Rƹ[is?T WWkf 'ƑyU?圳XP37k'û5vim<;Syʇi"wbyHGmz>.I݋1~H5V),iTP}?DW\J>u/Yb}h"=19YJmpP :/DT䙫(D/v%>M>2nNEqN"wva?[D4uf沟6M),Kwߝ~f)=sۈ:ߣ}/ɭq.I\XvZ)~}daIz)o$sֵj[G]cs.ބvׯ ȗ浳 n^CQU%͌@\Dtɫg%ϋ҂Ůy"^~`c+ilœcՇLslI5`8I`95>wpsiEc$t7gư|%#j;)E*H'Q>gD5'aڼR飨+Ɩdd7KDcl?>OMp,2b  x{*`sT 43 r*"e+f|k?gl t3OC~|KjAk1=ifF5r.N'O\ސVp V;G|]C))C Ty1c“G9!f^:O$am+{ $bjhv,y;wqhY]@n' ^ǵlQ&# [Z&N/*hD} 9xߋL 17g ﹺIni 83/9q ;ho,ż&sFq.:V< 'Y1WY( "c/`!J6>Oئ׾бZev%?﷼#zxJuB' u~cLQ,b. ~BV_ۨ?pl:XVWbʟwg?_T7%QIsXR#.=z=2Z/KQL@mx T㔎jݡyz?ѭK.||&a9D`r[~ giLGD }L'UaTze􅏺X;$N/̪@.y[֙uJqw25nx+8iQ; u$7{_%eZIhV5/ڸ/drFXd?鼊(~Ǿ)Ҩ2_Q/x nTN7 5$|Wu]cQ7_5B|+c=EÚcZ{/9Q)B"+G*#Q9W^+TԢE\>tT=']`MHmYw_}c8W88NG?/<ArxSnp\I 5/$Y89pTkIzϼ^^A`T//)yΒ/Lɫ%MVj94pLL@Yk^nz7a cv6k^|^sMz0݄R;vb1o7Qw'<ˑi,Z.m"~o՟ƉS/%)@wNEr9/̨g7-{ ; (:Da٧w˾>nj~bGjĝD56y~=uݩ>}q>a䊔VC> ~UѮ_]DIx$U_z7 ]F@Xၿ!~c. |fr4~e">DDSG?;l;'#ܤ+_ꊟ?Y1$/(,-߼OunҩWmc:yY|1V'/-{K$7a6?˵3F*8?rp6N~e~"W?< 3RWIp KFy2fh.d->b{h\ no_<*rsΑk]:CtվBSe[877_M֦Z}TvGk%! ZX"S:گ%?uK{o 's~3 S>d#?q-KgA߁ǞLE1ó(r.[}e#sxtl10@=I?iF_KSqt8'_sY˓`~'rϐ]/V#/x0--l1G!W2\1;OVmOO S2pxr;'Rɀ݆\~K9GX_6Ho:#q䒿.7Sz}BAN^G`<EUSo*#'3- :v|u.998t~Ȯ1%'C9?F"oJ;,;b!UaѫwO3P$i^,Ib6a9urnurvs͟ֈK)vYEP{jβK0 T;(`2fG~NdžSӤsK2<8ynD5JˬQλ߬L:{k^k{)z?<=>^obf篱_s֟sTOWvOyw<r@X,9xG<~G4H!eSӲ׳A IDATV:yTxk{<"rB,>ӫ/̷dJg=,fFx#j 3c)}o7ͱs'C>ߒ"z=QxVE@ T`,,a6Z뺼XIq?:k޹|/A#ZɋfV'.'|\!!.qoR+s6Mh+tSMX`‹;sC`7,p·$l A1KNMGIc/R;PJR8Lm;Np2Z|&'%S\}IGvEĂuyOtIFwb.IC|R9,g s7}f5R.+vI7.LD“e!}^qti`z?)ƿUc{ I7G qv`Bʄ?ߖNzp{ǮuJ9Kos,wֹoZ/9ﲎ I5~bc%f]\WQ(9?vi 9 i[A2Dϡ}AE-\'mfj9ŷ>JI];:^+8C^⏟*U%~bGٍT^uekLY?w8N:A_2or4h?E xʝ#|5;2?:LCfy lYHRd" Z PC|׹~k ԠV!򀐸^Gǿ1a 89n\OeqUxaׅkJevSt B[AO ~*LA?ԾRaH&TM%_yxY 8I,~l1 kK(A6?w '1L{͹s8RCr0+cYaKy}zOQɵf)c,>FY+ N&fR'Enk3#.YX@Vϵ= ~676)&qH`zK66USYi;Cs9j,8?{/samC`Ebh FZĎOs`=n)wBrؓK= `tm sH>g|kq"v߰ʓ ^o3.ſ:p'd [wg/#@$c̅u?YH&>09{h=1-?0L¼LuRkN qwԯlǿ^ w<gU25?og-M+?YcȋJf<8!0nO0S)8DZB ]hϑ)1v<:;7_y*b=΁-c[K҅d=cΠo4WuNٽ8c{;~Q9yS_2aQw9(i~cB!;m4N'`H?qދ_PG!eJI߱x~g 7?Dm=wu||)`sŒ`b!|;8ھ1p_dWC0L__oG9ۖ88% _#Ľ6. A#jfB֊ $z}oyKϐ8nc?ߩnb ']HO}D4h%͓70= %h lK 09Hd^ЮBI TNp?TDRd4NO׍M3 oWXPkkĚK^`O\!#i#&ɺaⵙ\r3Rr3>?=M3_Ctn ϛE[TvXӧzAK91&)paj0)& )śGȎz_pqH9o_ RdO_,`*B4x8@'?! wê>r 1ٽm7i-Ԣ:&c'(3%Ӓ'Fx@,[ZA[J Iwsw%e,hE4wn*N Z5>ÞI1ey{Oy\͘<ЁJ!14ۑ%̢Ç^ڵcOG9 UF럕"{aգyJ;-Ow[IE){QRi; 4M2_{qb7 }hXnDVgY'ѕATiQVW*sp]nO-n&FVۍq|9 B#3ӸH^P!8Y7pcw7IuŋJ> WgDNԦ(ld3*ܡWțn_F.wY]ٴ{L`Bc%bhr^U9zaIŽWj"~?rmX1u9=}q鱰_XU/Py @Mq7>$C%KTw9^!L-4#.?]O)dAM)6V"Q!:7wU %utCTyԇ^O+%Ag|dٺf)Ghde> }+ӓsqy;5L9 ;>Vh>!l;[j]iv_JA3(`+ϽC;$;e0B;))TN(h cL `]Ly/cº^$*{;~4c?=ư 1H}eDP;w {'<,s!{|yf51m vP3"ͻ1[O}@S id)Y-aE~f۔[M+H_̏Dz2 V ,|S!®А Rg(ScE/y_ƳeF.mv 2iR*ږ+|y->Q%6+m cn`¹ 2U|@ f'P[-y ]s0P_7F|"k#gƸ}YX\v Kl$4.WzU:]~5'! ! {3;GZ]/ 2zm9-8Btd?;^Ȧ~x+NǫכAfK26gؘ?6yWB9vNAv۩W!?%cP/Y2qhNTl1n֨IEٟ . LJsMU)#ǜG]tQEpfdNHl˂uJ{N@`-w(wHwpXm;s^mtQyP:/s_>\SxkX5+C&˙W9Ol+'x3ߕ固ܘ5U;Ǩ"!L̎- -981l_cy@ǧ&g'Xj;q)9|PӇ{ˡ1/׾r|>U~7c%C E櫲̍JXd-Yh"~qySJYQ縆$_P_w)6Zc?" s-Kᛊ#}#ƌŇ|-fZdxv?yK7G-:3)RKV:'8ԋ4GIogȟ4 r%9?7K뎷J5kLŎMh?jdeVb&5[/"2vy S杩ww_"s$C?(Y%|;Bdc5fb6]+/]?l!?ӆ˂>zh:j| Bszy醨t_%ׇIzk]/bƜ>j@#I ?PE-svI0q*"V-`Ey;yp~2Z2uHq߲#)*x \ORc9,XkW":wܛIErWro7F5N Fe  &tXHJJ=C kIο1+PS趨t (-g\9_ҏFsP(*cmf}qp*R@F !%#i7|QSi?kB/=:פ;x &yHb[qR"n@Hùs YWBMG->ևUR_ m Bi5 ȹh|*SQ aQA!C*X BggJ]v'.tZ8H0RkGp.#}NW{ma&b8SjY@?GyZ%oӍm>_{2J3ս9"/)xpn{ ӋmVxKHi{r*OT U -4>z6Fم?\yP3[M/a S͌߶ ?:rM5B?VBi,zxO?˅s܋ۨL$/T?bSY:~,wa4|,8aQW̷*3:ܛغWQbxu[EǍ1~Vޱl _zXZ@_N섷T<0埲2=w"*McV Ub 2Bv/p%F"x\xU2O5OH+狡nBԻ<b~IKk2(ZLND$yaSEpb<s+$AvkemW| g7/MauBrU٬ާ"pnF1cm+'I9/W!3MXu+wrۊ=}4JYɓ۷1| ^qqoM>{r[{&895sQ>gW NK~4z9?Қl.7-zG΀!!u zi1wl\jX)׺3ZO>ms;o]LNm e4O?&&\.\QkP#Qg(rcVV_MM]:l!SL+7UuztIG%el64w?ѡ;{]VOzn AEVFM̻1\Wf 2e%vԙ;.3;q $|>}nN5;i>.(1v x/NX3! ]|WaJ.:Mùi;cJ݃*`-6~WO趷#e' dP e>d7yno}bO-sɇ6s& <Gv8~c%k=Ncj /G]v}#:vQrͦօZx* K$ z=;='k#[7 S/K~~J/~㵧0 Fx0)vt]XPƵQM `|i/0]*\ "_Wv|J#˞{u, !"ZL-oZ`'HOu11ڶ,?7|'c{$Fz>yaF*HpGwĜb)osƘߋ.Ĕ?/Z\: y"n,g6qQ >>_1gAԠ qsw"ݚz,sLc^&b|/X>ܙG;2˼&+)l'Qy ǰ:g׵le,RP)]Enp%_sd_$fQ$g*g?"篒TU@NڌIe&s30)}W;j:%v7x &_fɣ:RsGtAؕ*ZHh!t}N,G$ <=Cg]V b^`% /{ɏtUOE 5ާcMW|54[h 7Վ%cPlSJgɾaAk$(?D~|aZPp-*qir6~bci)f??*?niiG.q.JTaTRI3l/-H[t@RĢ|B?ڬ.6A?)Mxi6.N(-7JGa(i] IDAT~sS͔9 & oKcO/jn'οws3a)rTϞΨC>& [V}tJrOA#]mn~CC~ M _/P`03\Io}O8@r1%/?zQa Z`j 9YK'9N@9MCér2/.RS^_oV~&"UG@R:u1y>y㒋|'pr%8 D,XE~ĺ~ }?p/BeZiv<}q14 "U ߝpV}FK>T%h#X96:Xh""o v.4N^Xy^rF&/}ksU7b^ufua?Mg1[ 3#oҁv!{܈^ON(*ٴUmt Ѳ9@i<*sqŪ6otޙj5{.#7vM=ЬWnéIġq>/]_xqQsQ{%6\Bwbؖ%ˍ]-ٟЇ{d]7\́ ]Ja `~wˋuX?s, ~Bk멼5OwMƽʬd~2md1dX̼;x@@PB[Ft܊++,3\핫RǬj/ǒk&zx%' | ,v;ds@#n?v/L:vbꚺ^T[[4Ȓy*Zs?մ@A8YpX&TC=a }4ff?sk:,`.7C4#Z=n+=e7|$IL9)TQa"?_Ω3󂰚A >jo3˿ZV!pM~3([a,:jG}#j͋SMo -20 Oix^#*iK3ss#m-7`3{?h~RUr5>|cq5\-_w%X#Z7>(|ƙ3'xo4OzD RzVAuf@0<#@t~w ?_5qFY@+1qpZ,PP^/I? 꿠$ס L6Gyw Dax> 4a2+9&}\. v` س7JM{v0? S¢(@$I\Zx|_Bom,U)$v,;RI$3W"^jHoV(53cmXO^d+%ދ}6<])IM\JݨA ޷I'/?u|_^ôb Ov!W.s|||ޝ2o@#5K8f?o2ϸwelP)J摟 ˟3n򏉦ֻ5'b~c\cRxu۸srlp|Oj̯k(еVIWi,&@'멞mg]Qx~WVw(K-P-&c.^y9{/v 4-NTxJU/#zٟIO prc;$)zt[JPչ 2}::dg Lcs3PUj~\{pd9I&Ǻf&GOj8'?W|M0`K!ՙZ@a757շ $+Am W/D< 2h&üvQ;*jGFĕ3$~[9:qI*%* iKf""3 {ؿs w(Bj]{7ǓC &xGPgHX@ qJf OKSjU/' R!\qTC?}=vVO_0*x%B5[dk>~eeT:gz6y0 @Pl~{ȈJڍW j1H?˛uت'[zLvnWpo"lEyryWEП`;AI}H |~_u`jw~\U?hQŸrT_liZo”?~##{g'|sS<'>9kK< y\F>C2M0?v֡<DGׯouN~Y덧з(ޅ9\_&{[?k񰟵Dp wVj'޷#$ܕhTt X>RՇCĦD\ݯZ̭];C7bES[Q̹:<@L75!p7x!v7[ _s@'i~M%m&Hfy2 T{`}sv3isb3XX;_t-N>f4AqYq矙;ֵ#=kwX1ҙ!R)>_Z~/ snmlvb\r C3 1len!1[Iߖt5"}DD9 * !X26Y~q5wr3#;l(|8K;oX1xshMg^Twԟ/,i!7PPsZaoh!!͟,?Y?Q߂7M:'>Qſ=ϊW3>ϒLo//n\T&wOA1>g<;/n40RKTGtUz:pC]~Icgo_Ue@/09DZy\SCHבA,O_Xot6Y,2CvcD숨C=RXs$cj'WcDWp;d\r+3b?!i|w< ;44idrlY$6#D?],ꏐ-&/.]o.kTlD7DPu"ȉVx"OD)D]t.gc {^'8Le?sc]0"E旞Zb:/%WGiy Rl<l*ThQcUP8,^93<: |M߹oS9jG.!c{>{^2ֹ?=󵟰2K0|?4vWNyE_r!9a'pojX]k_9c=)JF&ɿu=Bu?(Gx-=G"Vz>O9oɄ?o-W.?,X I88D4JoJ{.Ibi//9H&?`/NGYC 6GM? /;akɿF{_9??YJ%h$~q_PDm*TJ*y'E4>fI 5̥x=0hU=l;$`Ѩ_&f'>:ju%R>) #GF#'|WB "8^ ~je<>/lq+ɎvlFs`,y[G2xᆀh?VXpfgίWN7)07y+y<{_H $E'Sğ󑈞[xשAzo\Gw$xxTBڍexa8_d#uM! )cZ/$e+bknqY9=p=r3ibI׳Zl~ؒПJլc[?suQ >j%?A$Ea~s{1[=$VӚ(G=) qU4t+i5Gb% yu94nja\eEwv#狱Y<՗=?t_`t¥3Vkֿ$S}?BjLϝ=#!'?p;=ʷ׆~j f'y?R`;߽BŮk]~rW~P%B_MQpq##vE 6),C@HbSI0HSB :'"Y\qyaImgpk*зpj+,7nl-6Nza'c':'|8w_N+nx9`ϻs}PQzkg?/RNK6:wwe{/Gƌ̳O4]k/fWscxEK \  Np[;=Ob iXl,z_xFi1VP}F ^sſIqpskS񌦣07Z댡{[Bt ^O.MR#%qkt *vjn4~Ϳ*'w/_QoGv&88 ֑ޚcdR1"& ;h?i\.lNeܦlˈS1c+[? QnlUH)\LῺ_^@RɞUz/Q6|a\b +x`ğ(<+K2F3xg̶?cěM_K6{1Bhri](Q^S?o-UdX.zjFAVgF+9ڇܕ=h]/ݩ=UZt?* 8bBG]'eo1yXÊ≦.?x dV`m1=:7P{X6ɶO'[푰$9Y1"I Ct\Zǹ-:!w̓I~LǍFMBgNH5?y~.&oBү3+G;"~K B2X KS?,dz`|Xj5=W-FYc$}NFWҼV^vn΁XzO. =t\"nT'!%Io{+FsW)?B l l砼a-#WeǝVL0k?S˾K-Y梾fVɖV6^4(XZssJƹ["6n٭O¿7h3NY^i*2^XyǮ`SrhxV*. xt2)MsZ$;FstmszqoNr.x6W8=_$}d/ nn3w.ÑQ//RŦ'qXxgbqP"ʝĄͥAe= "U[lR R&31CC=:' !_{娿_r6ֹ&!|xhEM?9 x0ӡ|TWL[2҇k==}^L#m+] Tt| ss/2q /߹ƕz\}0(;zھ1La&|!y{Zب/<'x‚'9xTgZGNؠVF& \ C/n؂:.d +y# =+ z+M ou煯׹T-1,/@PGl]|"Љ8Y18NxH<4!WKsU0@Jk;%QMD= 5^ySV ~pΝ:(j ,G1DO`,N n{}]!#_|Zıw_b[ (5bnvb{l,-[]&o^|G^i$kxD?#|) IDATErDo \ Wʡ$5K&|ԏAӼ^뿁F-Es5;=3 +",9mV.ޜ,xQ9?el#\ 'jn^9gz>S~OL:S]dOm2_UH';Z|>Q>i%AWC}o?X(٨|uz$>YL5ϕ&}wMTk!;/!D^m-~@FMCo搞q rtT/rw4hGԞykω~ltMԄ^_?qq=줓l pdÓ?I)OG318LY,{y6؉|v7>h.OHZCfnqD^Eig]V﷣K׹b/15uzs7/ {_yO?6ȳɘjqmiP ]8ۄ Duk_Ώ4uV8??@_fHqGɎƮ'<.@gña$ v؝"aܕk-o~0{m;3ϼb Q {y =5'lٵ4n?A59rqέuyQ'H? oqzb_u#~?9Gdn_2xA_(9Ƅ^D ::=H#w Q?ngzӸ@f!L~b9۹kȴxb5((IDlQg_.fsB9Y|4u.: =*Ε WsZoySJJe"Ht}Oq^t~^&.gO+ nK,uy>YS.pq܋E}̀9Akd~W[3}r^TAvxya_L؛9-˵i_(&pG% i8%/}mTPyos&`@0\_asmNvi>c@>ͮo+H~GvI޽v3Oґ.(=-?\N_~=pß  E6| ^V8KHov^7x'!Ufŏ{$0f{G/,hc3A.;(n3ȘF2kW[%=?2Nv~Vco }y?gzH4\5bxiS?覕hX&=E˼’1jFA/t:/lIݢ8q!eW/5`:`Gq)m?̛&οsDhOWt՛';@o[FODէ79ė|SJ1sr7r0+SyBj A!_^`8<' *a<:V9#~`}ScJO:_٦_P`Se-3liL^SfcזW*9#B+j`eŭLLD$9l}S} v]ݟ}4lb&mfkĜHe*7ZO45U(NOMFT/ߋk-'m"QͶ=y:ˀP爵kq3@L%+О7^,7/;!E_ǢR pkK<— uoׯo}e7e͸ϜD]&;iY 7Z3cDzē?\m7ϚQs"okO]yt2cO/AbN dA&\+3|%M'%B7oKꘆQ4{q sESk<KMJ NN6/SӛMGq \!$nSm?eFxZUn? x̀!x>c'kMiNMםP;ovy%ΫqYVt7^څ~?\Yb'7⼜6oBBe!'vC KjT`fx->o\+?[ ;̆Sa0ŰK:[7khnuobxb8?a8fi?kVOxcq0[!} G?SӅRqx`qMC m@m>[>J '*XMlV딾qUWJ9G=zd.ǦpɴO627k/y 6wUDNS dU*IeR~EYx4 rkO]aYU+L3?hs$#g3!Iٝ\C7ZMb+GVȸƎ}B֥ւ[qλo+hbS}^5d7aE솕 ƞ*c J'cی4a/"K@q]{_N nz7EU~<;g?(wЛ'J@)8۝x>}bxpDž1:^/ `Wi<^#G D(F1!}>5X^4on__0~}E'PLIŷ>u!1vj?(],}o+w[I$onxு7C 8緢=9/S18_69sݼF5sC1&>]ːoC>Y[07s ~''6?2#)E9,  [Ѐl`y0;S|)x oVuyd`AeUrۈ9&M 7eH>_l|31?ч `U5 q<.}.kCy߭^_, 8-;oԟ/7@2ȯ?^ ~z8ÊaK{7˖^Ve ҂WQc>:3k9yk_hZMӽc MydȨl㕦Nq.6,ߏ̥Ŝ*ǍпUrjk7X$9ޕcm|y%!+K|<[DE>Q][Mg݋w1+H)&`nR_Ozƪ/##?I ^aܷ{S.}u/<>|\KAdsNT?V}Sm#:??Gkr+o9~onqVh^!qm˺:1e nY_7~f.*B5M[5x|CF+M\3d4ۍk=tǰABwѱ7qjkS_)9ļ Y "| C9Y[W镊?8KR a(Rms O2%dSduo3=G"St.ݐɔ=.[LraEBP:a] ?Ɔ!{ρs6V47BV aD+ &FZݩ(ye.0Y#*:[_ߔGsuCch ل\힬fV_?6\g&%<;W#ŎEj"-xٱ ίn4Ŏ~wGZM(\670rc?XkԶCGy,>z/][nXl, Q+|C WxGww$wTl@!/;qH&$K/Aݽ'%T{>9;kq!D6[|x"a~)!`!˦m87TW%OP߱ŗ_8).(b)#4чl?I#ouW}L3bN1f? S]`Cpgs`'S9]xcnj~c9:x^]t@cľw C︣Ѽ``9G*nl$_7kB~>,bGe"q:/8u RF̸ ͵ҏHc:0>:'X)),a&h5ǎ)?h}<^ } ^06_Hw>ZB3H% 룿xNW& KQvDw.6^dT}%1jzsUWWۧnØԋ!YMli,~v%v4Z ;iBrtw?fo|mJCrKAKriGGr:^s}yZ!(wlo12a&p ?0@3YFn$uނ6vʡcƳοZ~ķC@^`O3l897Wj`?&Q 7Q :l5e]3B#:XSfS=Ǿ14_ÇctiZj8;ř`3W B {F IDATl8>&XϺ%̾ |^<2X}*.eJR[pW˱37[r su*|5?DKMH? /ǎ<6|B jKߦS /C99#ldbo/\Xnϩscݯb0iߚ弒 <;{ s/`(muWLd۞sk$]3kUu='=鴓155 ߹/'<¥Dԩ'cinmSSds` O sn[?Q+U6 ʚ.YLY W7Uxj{Os9#j01៌|ۮGu,/?q0 ֗Nt598e]nZG8~[;8*Brӊ_bI۝|olw9;r1OW:zNf ع=,s__rԟdbψ#Qsx?GOupZz+~*$r?:tG6ƦXd5;8 qAt!\zb|7. HFN,9sFɡ|:xN {eM9Ն74;ܕc.oHx&"G)91]Sdc@ ޅ,Ar +W*ī!#? ?#cd2 kξP_w]Z4.阿 pa UWY\m5*ctz9-˸Np|9ޫn+jGxDI`}h&q`+gT}ri1ZrݜH>k˫9F)Xj Ȗ3 2$T-ڦ|ƮجSׂz,Rmns}qmknxlj$#?rSoD[X\eËdRDnlyF_l'H̷:F{_s|#:g7O WjMF/|aхEvS1y^yDL_U qؓ;[p^4 Q_7GR|c֙sjvKv UE1s˓wO4F_cB;h֚Zҹ?J "5ynfʼnQ]&?8r帿y&8uW9P&Q1k:/R\ZTk~zG]c0;mU$)J.VO[c C?Xr *rs#yڤ38'Ue9Q"?˿"beY@kSeEƔ]s=Cw4n:羍7;⒏ ?ej_ 1GI?glB:ο92v?NH4dH7.-"Bc; Ꮡ0󝟼ޒefR4[{=7Mh!CZ,<10pv|\?N\Gebvb>Kuvwq:De]#Nsc|ks󵰅Ϙ+qǜ6hn_jHօj2?k6?][@Rߝ{ZNgGŸďO$ᣞ6tXXDŽ 11:kgW#h\nYq%lZ lie[C>fcEcgL2G^|;d^o@m!_̉2}##ո-|q/y:X}if>fL\|59PǎT!yf#҅mko7q. oƚQi$t!#8W[w!WjKeOڱʷ.6h͌]K8\;YEv-JIf|)[3\öE;>3C=[zi_G[bx1-Hcו*̱_?ub'r^?t×ugpNW{_We_TNy/-[-p1BpQO9׎%9CI;0^Ie̢0]I$a^MX8h|ASzG?N aY>+ Kq;?e ODF?G yx>v㉏mxxl@?a~UdQan颸ws67[y $"fRid3ho~H*#BY L 38w͇wWVڭ|?;V|ւK~g2uJ8K]<ɬ? ʖåA?*|&}+̘oZ(\2}=l."ڟ}2qGGC`g,qE"eOi]`o.M6p?C' L嘣gW r~-lM 3b00n6Rl|L2tyR ;g/LC46  dɝtcSZkHS9րG|y^Ck*Ƣ9K_8+5ַ.ܥaIYs+rs\X((ïR Z8/}ho6iøF.5 d~M Fc+ j'z]*)KOt< Gے(ޘ|u$JZ&KOЀk~A]\>mv,C8<5?. ۆ[|}ZJIk/p$y/̎WMYSqL] Tݺdt;ɦ=ɪ-h"{עĝPG1:z&߽< ӓ9pr:B;v9ť(~u) I T;줆Jȁ 6_7zyn2[.:|_u|2zb8 #@?Q f ci}nG>y@ v M% sSʭiOoܱdx#Lyk]1]6[ӪOӟXt??ߔsPT6՚ƚr ;AXKtԻ?YP u3UL?G޵_?tw)HRv&g,8A:_ eISM l(.ȺZsn'l[?+PSN| ߣr{i6cF1CG\)7̌Xt'7?j}wxƪQTuE{ʋ4D1q]ƣ_[dpE̱zlNR #_ɥO%s4;'RziR 0g:F|:;q&[0$ZiTUMNѻ[^6{9.)s43?h<֟?!LKaW3Zk,\ʶ@ӝbJ3_TD_t㝼GR4Q 6&ǠƟ'eU)Id;dP>F[Dq 47\ŏ]i+B_9$I~}k߰,{=7/S&,/Or?,IzN}] jEr}[ "B ?p+ms-?~Pw~1xl&Jiϣl߿ۚZ޼xy!,?,8f <|E>ozWN4]c3;W_z[1]?eE^"!abŦ >@(ܟ\>~/MӾklZ?dfKe__Z4?N Q[W3XeMUSإJ^l$=Mތ3=;y<&xe)3ɝL-dbJX5\ !.~y-FeiG\uǖ'+cbMK޹vףޚ"d?Fcl-*7S_^g,0` ?{.t7ʝ.&_k9"zѻ`yjly8ebf6jך"`nbrǏjV>'/_WqI H?8h,y @KHs5^f}ԜL6U/tn6Uc:Sk3^w""?(n--L֌\9~j _^Xz,]ub8pq~ :uwɗ+t:I&@yBGs):R?~4rRŐG/ōǦI;-/K ,uSLӿ_5H{m81ǔպr쁯~n͵Q[czdSr[ѸZ"s=mlo?I[m>||4FeWmQ5wlh.ʡr˙ ԝJCp6q)]m c15.CEqeera!tI=h\JQPȋAx' Gtg?S]8,[/iGHߑ7 X%lLKY& ׂ8n\"H'3M ܅S? İL*!ƤM_{ArߑfX iȧ'X>O5D۳?D!U"&pky5;OrNW$?Bsb\F&?a_RȡHl.uNbE jkuZHq/;IP-1ʢFEdOФnM;Ҕ;wQ}6T_ĥỊXS”xX $WSel c(qt'{rKT5ح[lUƍ.ċgΏڟv"egx1xbW|7;juċ˓xuit?Jy{gxmG!X_?<7h"d_DZVU &b'Tםɬ%7PS_`lB|5F9"*iʯP}Sn2jp@韌os#֪_k/Xa3 M<1tu)anG?"N>A'FW/{T@e& ]0Dl9%/s–+OWyo3YSLkmqaO"?IKDd iP(ΰ;_qi Bw-4i /ƬGe|[&b4b,H!>a}q:77 "?qBZEux_]5{bȿA72d?ss' \AqX䦍t.&a3\Ϲ|܃cd 9o٧*eliPńc>'ϩւ>;&ᖮo|)A;<$l.3-6^̛#Cu&~Fp?C7N~?zO_¿? 6N?1l譺>e?%IS?I?f·%bpzR퇟MY אj (k9M$G~>ӲǰXo- -MQo.Ĥ"#׈T@ȩ655 _O)+Ι>-׌^dhUM_ >({Czt,(~<ҍ_5 <=Cݶҫ Ra=2s!n^xLP˿}-11؟dG2bHyi1reWa @\jNeۤ\6]t( uBU49lC /~|珹&= -_IhPK3Fˇ׬:AM:4fL_ IDATSFC;KMEwy?m>c?s:Bo_?rD&'##> ͱসɚ7hc$O~n6[CCxS#++?z#;ߩ;/ݷ8|bB~>wm_YD' B(48:ڶb"$.w! NJ"3ClƣF'iJ#/LLHb>H}zklt(;DoZ N,eQ|I:ۆXlbj Wѩ⩸n;G.95Fq_?Eiʕc Mo!?% ;׮?9]0sf D]~i @noUǥ~oƍA%| s_v=!>edj<3n _ fk yFƎ{Wu?!Kx0`R  g_rE g8lyYc9|7@Ujm+37j+Yӟ}7lB#{.|qZCڬvIجa׺{>΋cҠC:Ht i6H._ĝ/Bb\\26Xx׫|$Vh5fE&ӛ=Ɨ_łz,l~VJR7Rθ>ՙjuޱ\KYOq!ՉOG]BL?z C8F9<ϊzj{ O/F!?:?vz?È{!Sz2Vo#jshpz_r\>`cv`ڛd 5yR3_CI:)/+v K n nkJ9`m΅B@8 J= gPB3tTm?7VIx__ ),v ΡX:kB& #Bk(l)$ŵW+nJ?7QI018_\߹5uI;3Yȿ.Qْ#e7F*V'攖z?W\IU4b5\^K^#Y{}]/#kWuo+ߺd~JI>Y#&%d̤7\-ռI{?̌-y )uHK<[h P7Gl%BXb8~vSf\KY:^?~WArte;T>ϛ5BOG2!fvaK&ٞWccyuawMT)Mߛ||)q|/}̻l%sVީF$O+9=a ?Ŀ\?_R_s[OqD-./1z~t\g6ƿ+2ڜy-J;@P,hF hⷻbB{pLjbɧ[%n?3 |:4ZF./qjϛy7tF-fW<7), &ws2xqJ}oC)߯ ]1X\co/WC&?yl,v{EܠXXJt}`]j_IV ૟k*Q(&2*w[[\Oj׵9 a#$#$X 2h>/4f27#|c*dM_#Nv6B8ɂSsKwQ(Qe Ww :'3atdcGGziwh`0©]Vkn|́}w3 wЄo[rMҭBEÚ'rd{.. ;ڏXM=W_cI< EeدQH#?4Z f F _%i#$sL9+/2 7B5֞!?Ph%EGbtgwoT׸I=fTc,^}e>3]g>ԩnlSWC}PHqF8D4SM$oF6%mo?a7g2WxbG]?=&i Uě9~0> r1>]2xxt="CT7eqt9}u }b}!4OoɉrxG_A/Oa^LLN-ǟD* ۖT7rJ]KDz;u"ś"B3~@֟bf.(Qaiw$dK]$yZn}|eqV_3۝V`.{J>b?%]w?7p=#)9+Н~,"=*rZk~P*5#AlyO?YLɶﰼ<-?H>ټ\ߤ H8mz.X[|8{',w䣞:2.G?vstPxpvo ?}w_7 crM?#r@#Ѥ0Tԝwȷ2_l?VU?3}f :e5 gV=K|]Ҹl+9I= \0 Gp?wn;=. 0Wex8-{dUX1/C=`=, xWw|K'm\Tn_`v 0)e,'8i3?q J <,M34 [:^ern8 ϣc劗3')> J3/!B#saORD >EdJ/Gа;W/zH/$cquEyޘ~^s_3 =X_YDe~ rgUD@% }j~ivț3=)<lgf]m)ph/.^į/K돌D#IƊKyo]kRS{"iR_G)!R7d#ap6PAʞg3_ Տ< ߅c.Nõ6* u|k66'I@=[9wuqg5)jR'm,%;ca ܙ'[tw0 G89ڵ?E۸@wfig*uٳ=qXC~|$vbRx9cO}Q9dpⳲ 5#-7qo @G2Dʋ(UhwhȡI>V'Lf?q ˹juٴCxJQRiYN|*Q]a_s_LRkݎ ' 1'|X==ǙW࿸OV6{"(ɜ:FOs?-#+ntNgeR#\ aKnsiH3?/g9>K5c!~N.,xSzFϐ$?Ce??:w/ U4Kϊ_PA+J:䬥A%=#UjCx 8MmwiXZI%~l b]GxU_ Jnڿ=+4G?vǠXQ6߿.w=+֋*ȉ?ĶX|ş:Zd}/~ui<+;4i<GtgaL.[1nj9I:g^z%bnυn#׎"ͻT:TeF6y\{hx{oȬ.R mStݿ^īWN&4v1sI]՚=_ N-hؔx]&ZwZ`㏴t9 Hp-{/~~-F㉗1 T!9Qtǩ֞?GWSR虷YUG9$| aPd J'zWly?v?=`zrNabn buah7չJK9IkUௌP_"ы@5 |q(-aqcڰV\Xz7an}On?~LzGuߚ'̯+&P<)u4U.'!L),2qPIw`w1boF_`4̮j_C뿚$SꞮ9 97:{SpkNM֧FwXsq&Ѧߣ1+t83->:n?_G*̎Re?Z߯`r}P234VK>N]w|6NylMY?̉~!?E ϶70 -1~ IDAT[$+X0~.;Eك|m/nnL|:<߰_tgU#:A/|s7os2ο ԥ뾌+~ɟc1ƯP _kpl 1\w._f!/$W'ޚYqIOCCnyz36/u C =g&5MFNe~=2J>z?k-ӂpfob/s/r2ԧT -F+1}:Vu')=0+?,_I"G!f\?T#Eeɳ=vh]ärKag` ;c~8,r+f 9@ ;/hxտ#Kx'u$K;e"*h*!Y`4]Ay,6Z.~؀݉\^wN6z2jsìA!XA>@t[CjTJa?W\ a~. 5v| v Śk/ Ϝ {YW ~O.*] <4^02yt9c4fp,c|@۬pt\{7_q<뭇l $;:dTsM±f_ͧK/sv{QX:* \BW*?A%K:)c2oJkげ>{x .AŃQ]d/cRS4pJs|#}wWUF_8nd,ʰ?ϼS/kwt7z.hy;<WG7I$vO%; ̞dEOЩЂ4`!sZ/Yn.L:e.,A_OaڀC~azSc ~ì֜e e"_FXb5!Po}^,:]U$"S)~Ow(48,/}Ij*)9о>4=/Ī1 s=S6 }gĶͳ!}IHG?fjZu eRh$Z$H$ gJĺ>12WKBw]]W#5t(EBʉh^x0x(m×Gdͳ;wOğ ap(gEΤp>vT.L*cܕ.]9 ?gEmBz+-^"{Q;٭2,Nvo>mI7"XWip(_K!M2 I!.淚,[P&v %w8R>xW(h?B\s ؠC I;=~&ȼ^YK |NYț8^#D2 YYege`@dվ|jqH33NV>'7`<7~G Ɩf\Š1UT;4D?qA@PhHlw0f1~Ʈ4&ymz5fQ-;i(>Zu*elsi.ȯ#+:ʗmLjP)v.$џGG3DOxkP0t;tӅѾt\;5hؕT瀿^ІϳUb-cjYhVV" s7?c!G?4׃-9ϴta@?gk,O(g//֝{]V?xI(~m k#3_hiYІeN _)o7FTYnߡ,=Oal<^Xz&\ML<BG!j 8ŔXN+y#gƷ@o ,S ˑZX.eo#(Gٔ?KoR{iK\l˱KMsGMXݱV7KM\@AYA{!ܥ;7v{ Pr[*xXIX^*]~"ń) מU@h*rj{z׫)/Z>'k7@H abkf4uqKG}ׄ5[|$P ,V O;s\kt[VlThaIC/b?7>AgLvGעaN\"FK(lއG.$M}$lfj짱v!dˁWkV|/?Rtb9Fc YufY4h۹ۖ; O-5S$)k_~ 6{߽ZPٓɕq}ʿT3‹F[u^+`va`˒o._Ѥ.b$FZ,Y[[qJ~::S)OpQl5@.0Xzvy=kAŎ2ߡ+sx.*F?Ԥ 2@rd#e2N[CCÍg<<Kq>gx}sF{Lċ:׉ !fo9@RW:m6ǻk drI㟥#O\mbqT<v\~T~. nN.WZ'TA>GqaWBlVICĨd7jc9ŖC~fn}"I(^ygMeh^ZQG{K~ծm}MZ/;@s 2k5SQ7-DD 5)dn &o%I)M'EG?BF4rsHq哵"{*qSK2u h@4Fiʖαe\mCAx?ш(a h,S˛ę?P~|V<]$xMԉã_Iy |Zq1nz3b LwԮT4fs s,ϡ8Wk1O K"[Itf_8k=ኔKKYOqmrᒣwMHa0$ +p뜒^#F|-D9/ ΅cRk.QQcyiB՟sr{/yYgO_>,,l،64z.tԍ9 3 7qu9bwc| B*B#H52換dmp Z7y^ 句js(.3c1A6PB ѡ! LZ~5u >"GФD3Wxr>2vq_.K[QO)#SN}yi?jt@dh2dMۆ?6_s 侓?שּ\9үb]\dN/1H H292O% 8>M>ǼE.(yɝ 5|1XzG cD~ٿ6Kq:H֑<-c{]yYqs1wt: T_'I NS#=TYu'V>9Ufr':A>"-ɍ zݹZ00Β^$Sg=QQunf0^NRa'W^y #8)$Pϼ`_Bq0Am-ݦ3yPt@+ 'OsD偃y.~oWlSX4UM[ @fE^Jw J|o`rxPlL&ac}7b?f|#ٰ~&Jķd4ZhD:s2ޖ^dO~<3-f!0+ٯos\01F ~p~,rt/9''-gSc6 _쌐y1:ْbOrt9/H8W<2wcQbs/OةhԚKEl#F~[sotlS$/7 c!GF~?caR]Za 7{H^j HOU) οý(iB4` aod1Wg(:Jh~ʶ$4O DdXBV~?46I;Xf%/6&~(eŋP4e?td579`#XH7?\l|R_']q':.~cna?{a C'Λq[_3_t3u_Qs#bGN_FPiE G_pn? O8LK !}DlMg>^) _.LM"j+UDZ94Ձ\)ʫs.ʿSOT<@xF[+{ڮg t> *mbKrnٽYV*6F}1Wnd,OzfcOhWsM:Σ/ >-mn~n_R|-~NΔ)#?Gfqb~կfm(wM9 `yQmκ;q\rɳOL9 `ki8Xr@ݣe/`Z0]MAEBԉR4[{E3~{Jp/~םyݚ~~skkL)As2!~)'x UBv]x'D,ʇ;o^~fqE3/+ TNi<\xvqPR8dC`^?[<=ux0c'e#W\y>]ʝLN?(L󯜤A%2{XzN,\yr]K8pׅv+\q-7w~Wk_p`g6Hˮg8&998IR(.|O'pܦ `x""߻_q^6v ?)^O%lqn7XS+si5(3SaY<ۋvXR ?u$Miwc(Z~Ή"P™s1Kg{E nMM!fu 6!{C+:y%}hZIq&3Ę59g ߤc8s_;c=DQE&%Rμ@=>øE˂90p,i"{:v F:}_WnpScm F"8:':(*p+:~8II5tMgW`I;?lW 9EzQEAX4xmOÀ0Wk;7PR惓o797~Ɵ A?!RfcOcPSK/ IDAT7gzQjH۹g>*T6' \d`t0/O?~1-'Os߂`P\ۢ12[l3(wjs+n7 ǩ[Oqb?|%D݋Z/9.*g^@!q8391^aV3&v뾁%G!x&mzAsͧKXI[iEy0)m&! V5.)iF{2%!\78 lf(C?H\RQ@ \ÖsGB'JYTǵ`U&J캎 M@ɅOxf3?=l{Bb:? .jL&D1 ` k1Iq]Q8&DF5?]G:rQ] ax7eVB%F֗ϵ+\ys3kMmJ67[|x?7p|s\Ҭ4_rͣm܍_ B Ob(&_P۟6C}s[« uȜA2tbʍCΌsity497_s~7^Q+~/ Ԫ_b?bS7ʦG:JV|?Aj3)&? K,?F$N}>C6U_౲< E *Uږ߰gPC OG ɷO$adgowxiܺHF< $84QPE- j`HZpk1 k0ylGg8"G7nWp҂ܭ~཭Qhϱ#^ft%X;ʞ0|RFb IPwx!)7. j8Dyu1s񐐢gq+}7 HMG* xz)?C1]$n Bt$ ʡH_9I(u@~fKG< -{Ԃ37zN*ZI ]O>ڦ)g#|QYQӭZʏ@IOKBpǕ$;P XxqRL0xsqJ :|"{XN{wl|HcxwEJ 7.{A $ُyϋ;QAcQ#}l+?t<7'N&!hCGz-n[!G1 7BQWvAIv$^2]xwpEv2ɳf `6k?rY< F~T>oӜ%NZfhݬL}w"̍hdi_1SpPkۓ'Oq3K曦jWL+^v q&q#bqj)mQҧ:V]K}hz-OBNe~^H5Z ZDM~_x/w]~l3D^pIc ǹe퇝ISgǑG:y[\9q}Ξ@V{x\1TS]eK'wu܀|P&j>q[?fu >S4`0/MlP %iA`{\k F41y<չ&%09ă_p!GL`]3%y+rG3 jdb$2& Qg`So͆p'P"/ 'VLa?F6w]{Q,P̀՜/QxOď^Q1W̢ CBDj ޕ+ʗ[3X7]lްf ]cXuO8Ϝҕ-&R=g|KvjÚmiD裼hq^ĦX5Sq`xLP7.w¶?f$do9 HrJji\qӯֽh#'-2 |*yf=/ zL`W=m _圍זһ4u&et?%r `k.lP{fZ$'NٔӍ%'+8"Gooc6H矊Ŕxmb qZiSs4H7.w07URC㿇Yˏ֝՝Ps is̕ls u0@^<"`,eCagl"N[ynj>ۈڑ]T*4\ ȇ5jAm"銕Cg.s,mr|6- .<"ˬE~!,~ޓf)0ϻP=x4t|79.O?]z~7ݬ_gƜ^wOO, kyZ%  5M#ÃUX w:n5]8G|FP &]xScc}ė/ V)?Es(ןnH3 Yy#,_/,f?5{ƭ~GɑS\ȷsx:]xs:'wDS܇1`pCQ|cK9U5ʿU1? רq@k#Q wPĨ=s8߹|I*G|y-syX5/@Nm?Ll-C;$@}tC<ԑHҫW!"fm La_FFA;/? Ҭ?xnE.?8:?Ō (C7U(ФOD?lT[љc=rhùl%Us\9>'v0o:Xё;=\:2C(`4:WV6iբk4zUB/kˣx_5C-o_WuWŤnh<#"51loQկ!Z$j,34&tǷL#C "5=qigKZ8̤wZHk[^ =ykr CL_힃@ؕdƚM=k0 }M* lǏeK-M}?Ɛ~d{oPY.mČZ j-$Jkq9F1s_Q V-#w?v6(v1g^ Ggo8Wl!Sw+U8G#Ec|jGPr@5q|W79`ߛ+ \_ 3a?m&펗fȇ¯eY#(C~d;.ݎ5ǾVGSnKf?25Jdd&?r2;IlfZ PpZ< iqH$oMDZ fInamIy}+#%x"2lAzJ_|?r$GZ4SeKh+˷9^'jYbo q#k^&;cyPU?7{:$zD/ʵM Osɏz Zyy?~:8tZ7@E8^rc+3XA#KrB! _.rD#}RǸ4Ix A71d:PZѓ`T8?x$W:0w&($ծB/&?.P[ѻ^c,^VlH20ZLZ,6s gN'v-DM0y?vF-⪏ EDf׿o+=+R?WB޸PoY~t!K#?]SwߋO\q9|sDcnxLdg"j6hQI%!\  Ij#"o q0of^7\td"Hm ʿʫu;W%A{_Q@ GF_FziPjJLcwˍ? # ׂp\鲽l-J+~j>ӿ264|t?׶Pطt ǧ{uaSv,NjYgǎ'",N3Ǘ|'4%^}qc4eTo> 9ȍ_mmȥS4.?}L'PuzWUbޥk46:͚/drAxgc$) -m:zҐ߄u25ܲr)'qVlU{CH{1TW / b>=RGMLt(KDhW#U%ʉ+Hskʦ8(UM1/!2٦YI j*DS >U+Az_;t^^Bg'ihK-S7??f?'_}r?jDW@z9\KZϕqwE xaACrFsI"TeW/ӄK:"SMٕ##q9ܡ"cf1D/6U Q -G\STR:]emx\쯅PwWDsth:ӽ$Fx.,{xaK#Ism?d"οeQ6']W Ewnqi0;fލ/:e3wrUK^RL(JĽ&3\-G&GCWs զ ̃7k.N# u*?L#AZby82?ui/4sCTA|S~.AC|cA᠍>!7{ph>u%5/(xnۋ=üҗp<-HGtxKJi?-^.zzJAM cp ]qs8`|}凯? h H}^ގcJ,Y<}G!U 04/e`D?AvL\n¦w" :)H Q@!Îõ)B IŤWKqζ$K$mEN]Ӯvۆ5<2uaIV0.q!;[&vǡto_ld,]  M.7l .Reû?W Pqk, 5oJ5!6wd=?9_Д?r#;ZfCm9'6u9AKoQx!%Cn*cbkCsSSk}َŀIs濼ko ,'*ܰGo> -@]OڿCάFa3AכMc_d Bmľ=`Z?%տv#)ܑ%&wN19l Y&- d91ooz:S哬kR[c>. s&'s+ C~OIئ#148&?]\ { 4guު_fp"H{q:&JFAN&A(oM>Td$25V`s>>0EK2N$]G^ծ`yYyyǼʆhg]a[(0C^yb|:':ێ! 9d R10 na[uJϪ$;( Qj\k8YRn/ .$aCcKnzq#/ GsVOQ k8 _6bq&L%s/O_T9ttta9³7؏<7t(K4boۍ}!߱{c[ mEo*q &S6A <`eg6>upsP/&G{ο3ޗbS~&S )Wn.{)t-Z^>b׈|iG?9u ƃA`@ ` 4sҲhVz!Zw?nK*tfT㢈#Uzj*ur8) o C 2zm_\nn 7EArb^ZP#8wmwwks!wv^ GqT3-^6@: YջO 6Ǹ37g0/)1?qoMl;[^: 8_|QJH \qk#r# Ox!30ј)3oz-nMёw :Yz36qshK1tbwpCUpSK?3)?ygצ ,|`6 ~ϠzC{ڼ۸Wi4k?W_ħxkp]A`.XRizDM e\)Cah~ͥ/~)GEo"~$0)\){`}0+}f|*ye C-=/7_0я6V4jJO=Ohd9 ^aIw$mf?`b`+s"b~蜤bRzʬc~y-eKwxJO\^ Є!xy،&_Mq:Obs߹E[տ$>+xɵ6kOĈoAj4ƦϒѸ.C wjSg[;mFzƷ"8$cMJ66PZ mfu'zsEߡcQdSST3tZ<|Mȟ:\/*ODX!6B]_pW|Yr7+7f1g4.0׆y?:YYo@\Hw܉5\Gr%7 -'O]/ܲM>ʅJC%8Æ fx`>}jY9U{_a,$9g;bǟ1|M9ǎ%?]j5وހlf9$;k^klo3Z?+?O@?\5S?-?bd pGO A0cSx1s+W]Kc`WP?=W=o !$4%7r`R}_$qf+0- ;T*쩸գ]ZQ@ϻ<4ugyw/B4[=&oQ.ߦxHh j_^//]%8Q~Mg1?2Z_@[4+5c=5m(^L K-x?~F 2 Vl$cXp; _'%/t?oڤ'rf[g"_H ޟcMlV-=Oth}zw…Nm{NxzEm]OzZc9(~W.nlwM5ғ&c$菞lHN t$؈!i^)'?2{V=Ɓ5w=UDjmLpN^.\f I./6Rms4aUaZ|z]tu}q<-WxWsL~$oNiPPL*>v$|!椞Wޛ$c)=#~!y<žx2i6e:g̞uǎ7ܐ C5Vϣi @< }5[8kٓAt<A`~Y1( B6r#ওEm (FR6M⨋9xNc)pWB vJn#rX"l'k ŪҐADg7Q1tް #E?;nX)"*dW|4:>h OoPc1k  '緵3+/m{}#@y C~ŗZ؈HK3F;Pcj.b#]?.F~R(v ,;x vj3Saf:syms;t,flvP܎Cr ]G/7k<>[ Rut~g'uv8*>^T^0f?9ן/raBκ:/*e=D#]-ίC֫FE Mjԁvܐ|i_&^j#/|Y]7񗸃0?D/qapߟ7o<.a#U_Z @o_ii5̯Is fN%{rٮ/lq rWqfm:6qˡo_ 2 5wHM[A9(@6Q!]QX0nd!.ܜ{)ۿz{ :.gX___΍šcu!9ep=.\Z_T'l;Ȍw\@*6(c _qic7czP; 9TD+NecWm#s-БyCwfƿU<9|rZe²ԝ/@qH\܌""x|r*)NYZdYw_Y8gdߩˈFnu1qѧG AM r`-&8KId#MnbFp:n6إ!i{/OKhq"#盁5D' kdOaƆ)#&XrQ+J>v{KWZ/`b$ g t@OU`J fͨZ(U/#$|&TH&"{ջ]?7+R/[MW/])DO}E ?5Oâ7$u-]ݹ'oSmf|" ,p ؄F#N#C_b/gTxYW3ypbyO67ל*lnwUv6?Ӹy_\KS0U+t+x+jRi?M$S y֟AU_r׊,W,t~ ?XWW( gZ^Q?>-siT08LZ'fOqrͷkP{Lh^8!Z_L˭/B0b?- g%49s6K6Ht4'?P0x]Ow\PN(K-HB2DN6ᅹT0oA}oAm51Vp?-!$%I!+Α؞Ԉ~eW BO^5c|#.l^`s Ki_v] .,3)t:gZH&Et< '?cIL`}v',^/ژh$]fwԝYyѕpܷ/G?XIc~ˈwkH/Hzy{|3uƒ悏qmP:*7Ѱӂ'HI`%4[E]2!k /Tt!w7QV_Z̯J/*б*˿{_%c 2%DR T~t/ !xQb?vjPy|^n ۞9Yfr|OqQ^k;̏>N\_:1;LQ|p1E Ɠi:4#Ɵc^qZ)cc)xT?|p]Ɂ%ݾcX?!im7F7lvINsFd [UWկ?caq >|@N''g*Nj:Oˊ!G:nη-'/ch WOI:8NbobÂPmO:cK׉?|c2^Ǚsr@5Gi1[G`?Fٿ=-j`$r>\܏V/}H+6W[ ~&TBl8Q11suoTacavsEA LmkpBs'%]<;u?ٷ?R ( c>rVoՄ^\wUK>nρ, "_`Z.3!'%=?ZAD3|nZl ƪL3 Pi/ ;'6 a<2_g|YrM9ƊQ蜶ؖOŜ' cqgc^;?!x? o=a19Z5:#j]Es&vOespF\56E1SA8f-p 7siOӎ x`wg1>Rbp_l/)dd wh*jՠ(Q['S~L^+/G>b c <=0âߩ&.5FĦ5Bs.b/vT,cSuau~љ^Xp'Aa:?:ӂO/DzgcTg#:<}/g&/,'OsیLT$]<Z+uUq6&h|,@M~) ǚ1m %^B Vh]tFln\j{O#꽫_-}mz[LILj\y9ĥ/y&庛ĝq?pSy_w:B~b^:%;a!WǭqC\6Tq7)\?e/uS[{:$l6'!ŃeާjCrb. D2Bp(8)_E @JC IDATk%*S7¨-XI.[TjՕJ8{?,!?4J%䄺;0cSL:ρ`"%w@%_7Kb*Ge6ls>E~)!Lؑi8??dj1h+qXzH=q@Xcn!1yR(y, Ykq櫸xǛ[IyBY 'ɷe᪛0@? We? 7*_&?Q_s<-M0e.NW?;v^3~s'*jp1U ļFf m v-Cz%٦maru?)zCy_\˷T U .h<*|ė1uSWornJ. :MΑoEh9O^Pt_\ǡ] S~ pI|x2Dmj]O*ȫ/>yïZUXSn4C))q97]gߦ'w2Lմ`ܸ{7?tmm|~K\y9yڼzp2_T+i}Iե Scu4⸿(ɔs|)<}7`/6I_0us8^]}Sh#~&ixXǎwi"c]}Cïrnߨ):"'w~;wlEǩ^ 8=zӻbI6G_b['ϕwBq; / t׳4N&|3aׄ4&`:z?@}΋nMҳbݙ3UuN#疟ϗ蹁n(hxd_yt5['ΛkH͓-sޟ|mfvl]~I4tҟu'{E)3Fj#l3g8sNαXb,BVP}H7r1+zG16oQ>e xR8I07 yGnJikҧ{fשGCġ8t>G;IQ%B7:9Ov.UeqDXU1ugE+QϿ%Dfuqe;cgC smI 49f8Er;Q÷-;<5Um|6rJwp vT'$f_?48cfR?Ҍ~17%q^;Qtn;~l"s /~6}rua* 3OPIMzb?ג|rE/(v:#CώU\tg.Lt?GVB&/RMxչ43*sjIrڮqc7|EL/_t>`O|cvf=5&:ӏ??0Й(/9[u^c+5*88f71YǕڡГhi'KJ._zJPώ/F{T*P" h2Q?XwVNAvSgdqʴіxPgS7qBvm[ҸX-/0v;ء[P>A L 9Qx%;ɯ{c߫Vr7Ouq]7??"y>z΍irY-VJ3? ?[| O[_2L+M>@m090`ק+wRqD܌+ߺ|<~Ľ Ր"Ws1wM26h(+cƟpbY?0 % }IcOa]_+  *fqE8s0cKγ/;A܌//? 0Q(~r#3S_=OJpnH$G2Z>L8ɶ5f'Bab&=ɜ`SZOosGeV !oxt_}b9epaB_\17 |іg8>5Gh<"_}Ϲ|ߟo՟t^懾KX d4>nN dӾ~-%=Thzmx|%MU9 Ytz˯MNJjzUߋW?[uh#bO]̛c)2{-0uzV![⋇\4g԰c&b\Y=Wϓ\#.yZǿSF*kuA` V|_hj&!a#Gjr]f@(sO \XާOg_dL}ߙe0Ubm_8Ew2/z62Ae[p=)1VU⛵ j .we2c^ƀWαuΘSEd#"}A) Vy;qŸIE_0v(ƲhF,'|a迵 5maIi /˯EQJ~RR9Ν?@1&N;UXNB^x+U踆Txa @~?XzxݠN٣Ac?aNy&^j"Υ?n_ROW1lGz!DuY~h$:h 7QKF5$/_5st#qTI.C?q+, g%OtإM!͈|c6F2onSG8w@L-j|__gB?xT_T?'9m@g؆k21WVW޳oqΉn DDٝZ1%Ŏ/RNM_v [^תStE!0LށM'X8 _s%,/#T'aN>`E3ݥJځ'IYK":]c Č֏)=qLUٗ _s@i%&bbVeI!r.JXW[tJ;~(ݶצ0?3 ^d_Ch>h@;<˗[)$my@7, J 1p{75:/x>˕?=^h:*?iN)YDsr@S*G8!SK/˿Q|o-Kl/'Hʩ *d1"!i>Ŀ1OR> c(ʕ܈3qMUHUtT=z݃e[y) vħ7 WlϽ^bӓ(IsDt)JC=ZGũԳ/%NyM~c^Ӿkſbȧ"%7 -l@W+Xg4%U>tK?J?վRso`jqZzϏP8c̸#l0j`ExP3*7ID*8X{Mģ5棒y*)s '@{bgfVnT{mMmż @ lYqL|E zthc0[Ci0QNnˏxgR 78I*Va`$<1)h\ 'ԓq]xU #EJV !TQxoܸT\r=`p!?% 'p4C̟,$Ec/A -@w[>-]Ҥ9K\YS^?^&03W/‡y~[Զ^S@=&<Ĩ Z gBC0$ _JGSMxtQ;<@'uW9>/G&]SFy9_ }J'_sB-XԱj< r>~<񧍿c)70*BqGҗa%ڝĮZVѭ.*wWz_& ja7?%2m^̎ ֣m=|^^L{fCI2^|?#A⢲Hg7Yhc}*"js0\t _o^>xsʗOCs3uC"b%wvn#F?*郙 <80Ŷث1Bn/`{JQ%ο_?s5&??0 }ן6_u&?ڏ%xƑ2qevޢ|7V3ԘEON׶k-Ok)*yd^tZVX;j_[XyqAlؾ ܣ-f\N:v4`tb"c2Bi0`7n5Y)z3(䅬], A n]1F0G_繮> Hx4ɻ[iO_gabJنuG.NH e" ~Gpݜй[?-_11 g"7|DItTn1կ1W "~N3,q۴dnlw|+LM8ىWY}'s[޽*ol\sKRKy, H2yy-঎MCIƍ;Sdj.DX[磾&'AI:j&o]q!2+ɹqy%r.]؋=ج* $¸4qُByӻ7`Lpȫ*4C?1XNʼƓ.f1I8sS9Y/K)[+?l $(_ bƉxca>kxFq.+=&qS?f.Oݏ8)g7m4cכoH~O.olKؔOw\b?B@l>vdk"6NQ_l?DԝRX ǞKq?)lހ:.+9{r) \!/\*$3l<+P>Iq?6K D'(1}rkVJbmxgxyώ!s2R-G@Һ )7_("#o忛+xW_ñ `BND$0-{뜉嵝x ͳENo<7(4^x * xe@xQ1ޯ?td2*7*00 TG _m#w1rU0j௑YiK2l7 ?^䓎*w^෠>ft-Z࿛HC_{ ]$tc._G{&%^&n=ϫ|n rLS~vgy~vM%4GRzMŗd^kcǿ{ ݧNDvw΍Y$f<WVM8P\/&Ys3wl۞lhh _PFm\uDXEm,\W|]ǘnB/(H;X=f\e?yVjV$ߘ|wjWC 3@_|H'e-ovucuP~|xsuLM~96=nOUYOغ-rrd3&ԏs}ˏd(l_LݧQ9XObnbrL>۱δAp/ Zh0@luҀGo16S1,;`w_i򰃒YR\6FB_`W_DF蓧'p/SIx]AsiҖ@ߋ8֯F%S2 EW'w;NŅd32[kT +q7n_?&\͏έCRȿP*B1|fh@%[Q1jFZNG W{)ꚾ&Z<&=*){"JH?߼[ק䴿ԟ_e(3ﬗ6`[rWq29sfc SKΈUg'_ ʼn~U:%osZןQ]IlS9 t-rr>9!O/? +:&K=i(ݙ#5(gO ::9J;W?m9ú1J~-7gܙ)u;Gj5o I"h $I*y;(sGqb4 CBQ|=؝wB#ssLצ}-NGl`1~pvg6VN;q.첁24$r&=9_m^s+5KV1JH32IW-RoNEK5u"aPC_@sxcAaK8Go!ҩ ,|Fe}vH w]dl5'|1⿹MӟI. "9:n\89 ~%7cQgSxh,W[a&r{8k)fdxKqjzo^P~̨a">+3YF-X~/U_V+;[57P3ڱ7ٹLlX\5rAϛ1%ϣ=U+2_ϧe.y]~,"8 G4x?pus{^LY\J199;V];ʷDB(qwG0 ɻ;#B>q!0T䞭_} 9 _v+D_擆{?0]k6A\V\>dWc\D{bEH{lT|9m7 ę~/vyFg~I}S((x®O6y:6Eඃ5eM?⏅?!IGT?߭GrJ;:.CC/}+/3y&©!ʩ{jTl=\%?l67B`?q5WК<+>ћuϡsH>Yrj}LyNRQM`&ߌis_{>ZqI~Jm?;Ծ]>!F\jؠ%7`̛"'~z}JاߜwnS[!"1obOklՅ򝈖Oo@3,/F9ܿ|j985~{ t)B=5׾k\hU :.9baMo6lˣ:?S[#WW&W^;ȤFܯ+:@'Cq.uVscgd Ƌvb_g+]IM[QyOZuo_s||=r޵_乩9i̔l"Ӆs.[ك lO)9gscuTZiܲcx'&1U煥?P'y.Z5NälƍJ!֛\_ãItI5~& ԸIM6.U;`Qx#A/sE鮣2kn%_9ο{~(?GC8F(?-p4re6ָ T&'\P͘U濵;AߎW7M#kym,71qQH ?:[8 ~|D?B_kgaM[,dwOXǸOibf}B˽ww;.B]uޛ~$Zdߥh6ǘ6|T@lB81X;~Z˧弮}o_#?1WW^JNdy8'W m0۔#_ZR30'ʓ渻,E9hj#?ᘽ]}7rlڅiOƮsp%GWv*n^FXCS;?%[裪 {";ߺT}h9D?^$64I|q vœRk)g_cUo/( 8sָC~_nrٿz`yEDHpC}8/NIv/>}ۦ/Qa8LK]''<r)UvH?Ͼon'qԱcOd<6!\:2ZoUIzҒbd8,Y)w /A:z8s0h:'jvy~8Oreqr㙄_=?+oNXV:z1qHR#Hˆ|qh6Txxnqְm2<8XyfwȬsdx7a(~I|ky?vS3ONiЋLaQK[k\/['M"zekIC#%8XGkҝp7s sK+d[|KvXo3t J>Z9,le6S?~t9?'Ķ߰ l6(*Lä 5yD#)K ɵk'N<ۣ sp8O|?4Hd}?jDܿ -{?U.y?s]YKfh\wy֯|9k0B Ⅳ?=l_B>A1]W 33"?CÂ=cq1_DP>ỶؗXCa^m$~:-$0ViCKdm&m/зe[+XU?ACO/_1uO l> LL'p[ӮZrלĵglUI.IÞHߗɓ{yy(OGT KH n|ԉn ɣIzh]ȰbShn8)Tȑ )1~ޓ}h_yo0WΕ%o;Gq/wdSv`WU>&8+U'?]"28oc'm(XW}p|p o Hd"rRʇ\0+b:l=Wtbgc*O ~4-jvkbmt]s_ S$CSX{O(E[ː2 -UcnOoHXԏ'::s?6OsQFmbw/|Gs#|qp7Ri^]gR D'ՙt~$Oqͪ 0yE1mJE[p߿y aGK R+y_ < i~}ӵb>iȂkP:9E 'mz[<>dZvolJFMy")D4 |) 7NvE0xD`Ǻ "~g=_$% k\w؟{Dl֙\7 d:MH|T8!i'`+Hk,B*5/-I夦{,4,oR Ŕ85 g/ rs:T._4ƿK;ZófΤ@/w.gbBo_.z;x7>Njo3ٸZaXV%o?[׉ozQ('K\N< c5]τZ{_Q{Avs0: #ym\oI%9T? fU+#Jq r%͋M" fh gr7f:b[(IIU^J(!kro|OHBL?ߋ$H| u-ͧ4hP5|OCN˧\g<:LL$ܤA7?t[LL+ua// ?^?MwI˷-0>X|0SȆb3;5pĶV''pi]^[^`q4MoyySY&k> _6D*7xA%)z;@-'6#~GJD1qݍgs!/Cn3usfjobdJ?a vr1[8ch\>râ?{O4KPu|`79em=z N+n ;޿ث'M~2:aSoLOaGR܌qQϛ |sx%y`3?/6݈Y^9=X\̦;Qسi+/;p.xJA.b@$dwȡhPp?ٴ4ڮ_AO3@0&YNSJt|fyj]*\,1Q%WnYt/ʩ.MQj뺙&ndJ{Cy?1Y7) K\8𷹎FU?3lN׏ۤݯMzxO2ixRI_esz!5Ȁ#?Fo@15is-]'^G_HOs~ȟ0NF\!\{e(olW~ϳ=V, eы 4Jw|~\IAy=O"/ecگ ?gQ8~Lÿx}쵌iuq"ZƍmC~ԝ /g.;̔<>|9폥jyj_xyU8ق$R:gkF@-\+ڵB^bj.u 0z{$:Tv}ر9 OiDXi:*W%wWC^p( I{y]x繏y8HVב'%|;Ĝ'y#4ᘧ26V&87ptKZ٫OW ( "ѡ$̨χ 1ݰj̒ IDAT|&$I+U]vd,Ci~rNر3f1-n\3ً#I`!)' T|W)w~ǁ&Xϝ&"ƊiYݐS`mM(; gLfnAF`gQ#[Ţ9GGxe}9x;Ld#MɛH?q\P4cU>3kްhKM?9uzM~U79ʹ6!eN·/2u;KA8c]OC6oū)oS}N>6`_gga@Ϭ Tz w3}mU(s AރO7WʷFx10sB^Zg-zl[ uN߫Rq/:z]jf'=J˗h|sl~քmn2fCʳﺨnQ\f!z|:ߘn y_XU<>UNjdYWn/SGsCSca.^w'C?h$m,ϑҏfs(k7&@g{OKSr봡}7~28bc \9g}otȅ)Q&_,\|S}Gu[eA6l:rpލ0E>1.:/i)a\$Ʒ'q_>mִsom1L=9$6fPxd>\ٿJKU3r[~s >R@3irc'sN3?+#m#݌"_7?6+B$|k5eF[Dտ"ߗ4h,Yv594oG*0>f;mG3/y.?K11%t{܅s=߈s>=a~ O^L.HX )/ל>G>/ S:ǛL_c\DC?#2y4eyur[ecnd[Gg9Y>ͽ"'_2oCY\m#֟g2#__; Th_ spY,jKc̡߸r&0u3*u/|9 \gBg6C=Db|bDM6r(ۇ?^?&ˈ ?yqa-Zn}D<]1XH6q[6*;:Ge⇯燿wX[O^VuSX+~?qgЖ2~ߑ`Ve'ӥrl-'og#k*YG!8_W+FjGT?SǬ?FgaK١ӇolSb~?W+·1es+o!җo3ćnÜx;dK>Y \wQ:.}/J[4ZfϻQ[Z؟dp} jsG8?xw:s\:݅?};CiW8)6U|!kzcK Œ_"?]bE< B.{Nۑ޷P&[s״̦Ǜ}!G/ &ÿ [*a7s|'3DhNi=w"rG^6/x_!鳗t5+6ZxO{zS}735xJ/SW<"k$a)lT/Z봿SU8̕گHYϹGծ!@j20똑wRīO?cM>)?:fjE䏉I 1wOCa_fOϮڅfnV^yc{.q2^Jb4fe15 =l goz? &a_vn+H`NƖ䚈gWo~"^o̼{76TT:iʫdŒc';a8TW-5(seqD;.8o9 7t/]"v;i1AwطU1M4 P? |̖qQݯsuxˬx&*/zZZ$N9^5~'ZxgZ_7_lUo'risSĚ_2 A1X ;aF="yoll{]|Q?d|L`_>_&f u*oԀXּ2/?rќu8ήQU1`?V:E׺c3GWc?3zuΝSʞy!8s;8k Z~cX9幔6e Uߘc.爏-;_Cկ! :?aL:IVxO?0' ]F\rؔ)We>>RgHT՛[bIrv] dg/C5"0հaZ7-)t^7Di`͜M;fH/6!F-9T_7@rb嵯'N{%g_#_U^vIJLS̋GI.0y= yOy|?svpW؍}1N@i_yB ]T 7ʤ<_޽5cc_nuibxĿ?_%yXgo617m.g3!gJa}1◘7{n;  cǦps .Jїu- pI{'zʌ=9p/;_ӿId J! { nkTnN,yfq0\q^qsr-ΌM>ǵwCt@`GcI \גA_G^;m[iMpx߸]n<?-pƑg+*9+=yѝV-jc3xA4O\e+kVN-FӋOqgK dpwHyE+Gb=Rkq/$ڹcѿvn>@z1t[QM705Xigǁ%X* Gi/t*w\d,A GWmis9=$^+<=A?Z*4 /:X_Sr;wLqIi懾El3lm*~b GUC?ۆ[R. ߷SŽ/s阂>VoS:7g&_?Xs.,\#| }g&?y9G:O<ΡSZ_UI5Wi-a91G]5u|7>0StZC_Ki2ZzKSf!晾ϙC~lPu$3};ρk,f92l9Xj x51o*NNb8~kv9?lq g2:s7}?1u\}3n/GJ-?={7zA0zƉo[yH%5귅$We=/~taPV3.rZ;d!|9?fŗM'"8G򯇁 :i$37/Yr#CnBLˡߐY OL*OC?k9q w5t(vq zC{N^ ߻ocPm%l능Og1759?+uq!QMIfgg8l@Ppˉ 9z mm[Ǜ c斝S2|5FLv)?KQ. 9 ,B{Y4 L嘲ĕ^~ 5uN 1b.PJUT۱KTWcEڷynHY&>h{5 )n׀?W>$e Øځ5V]iX._XD~ 7Rd%cMڴQDא_ "TXhy_;_jm橫K:gaiwyS_Ej}?3_/=GX\>%mA|rˆǴJ*d,+~˯!]Brm`la|4ؤO'G˲_c*=Oy9K(7s-?j;5bm*EY#/ˏ|5 |X.c6n¯37}vP!бJU])6iA sn&3ks}zظ ǫR{o&_Ne?{ʚw6P71l`N mPWoۉu(&m2w~?@76WateY"-__)_\ "7V8gP-|=wKfח_wGvUN %nZC/+:LjוeAJ.Kq9o#eS&ntCƏDU\..!AޚMn \q ]A[l.'2"<޴c"࿅IՌY۵ k)&vGM}@nnCN߅y Kx%nK\j =|JdsN]'*V.co3߹=-R&3o1Fm2igE qO8qڏϔ?f͉x k3'og!_t\ ?g˖?CY iK(#Wc}?8G*<eG#g)˿(XVn)`?Ǽ[\]>? 1ǘbڃq^~?y&*^z_k9#u|ԡ|4HXH;M#"֟?Ϝ9V_vyU7KvK( KZ g^Q=uc$Uܨx_S  yzCw>٫c6UT&.a7tjkN1GŵD{Phjc+aWՌ)mV0 p bF5*[a#&u\y9nLE lzǮrqڏCBfz1S .H ߄Np)\XZ\ EkmE$%@\)|p+ Yl\,=)hb(e6a +?Llv6}ǯ9\:`g¿N;w?טQd((~(:?_$h٩<]Uw*bB+?_MlW}Vv5?X=oY||ώOf f3<7gcNOyZG#~Zz|?30W5fhY$ ]>V_6(~j1_SM^c;ǽ_qm'u>/:(s kO-WBـx Ra/Bq-`wͽ9𚜦M2{ʁ~ܒQ\& R9o`>.|-g'&ѐO)SV+&։hĩZQMe|"Vt|*#,`zz`m#{4)8B$UطO.:&W׻5N=V%Dbrre/}21!NB5h`UynY>gl8`-؍@*ʴ~p1#o\&bRpn3䃶l-7)ٖKC{r|;pK?*eBv_|?>E?-\WϟsskIJU{}~4Ld=]YQ)[aXջc]0L;/qWҹU Z۹U#g- s"t~=}{p8^ja)%o_ ukB(ߘR7gq##`:jMKN8`iAu|2aJ+ .>ƚ2O՟=rװ];CX!~o/(km^`}R)nam=f$']+;^ E!#? zg΅v9I;`Xsq؉Lf%:=: n`: hw<- :'|Cy\\q֤i?)83r~G'NW=N#6S#)LJˇ/}]EE/C[C5[<%>x]Dtp򿚺?GϺ33WO[~Wgv`$u'sLO](1vԨtNT~:l.N]p=>zZwδu_]"5gg׫>LE99{$9rM#w oQS*#_aB8*v?_[/7yqoa4ۣlVwWޜ?GQr+U {3DIENDB`PK!ppt/tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ{}MSY a¤LrC PK!:~"Tppt/theme/theme1.xmlYAo6tw-Vlu Y4iiP@IvNeC.KwaN52 EI6i(@"=~|=J}" oۂYL&('F϶`̾'.O` -!]зfb[$7%4\t9\Mq8;̶2 CޫFXe1DžNŅ-Xup'^p€qqo;g7n7BoUFWUӖRy#]7q~g؍:K}X,th0 ltw#ixE{QT6;7j|$lzQg /Aesg\7`na*2%x TPKcBG-("S XHbAF;-gxN[\[N/&(bP6 )y\h/rW>f*|޼3ؿ}q_wf8WW/__x@X 5?lX2ꭁMپ۽BB<;=$_.Q_u0(&4 *ĩkŨwՂ42P8l4'[0J {]Ë)XZ>۴M.Pj ,̨+QbPCkJ5zwP6RmF ZQ6R4TVjmEBI-%eKQ-_3juGƱT TɶݑJ?^~PK!M5?!ppt/slideMasters/slideMaster1.xml[n ^  uS- .9XYjƒ:YwOReN$9ahDq8?y?| u^n`[$/i/Z"a,ľџ"jť2z&vT58 VWVgi)LaSi ^F)п6ҪH$A P_yB}`ȫi.TsR=We*c&KbƓ-?&Έb}7 He3UJrg8LaM艸]:O˥Tٓӝ_޾SuL\x' PDaNHA;=b@ "k9ć eќ6,,hbЦn5XU fNr+TnЮ}*6Y7du[N}COXG{b;Dm0!.IV3|*|ݯM2j6㖧)a"!4;pN4C^pgp:cpdU|eL;E`Nq}'ZK2I2ӲN3"fRK&ajfT:}wP\c.ۼlR0 /Epr1;a`EwraE -:Qzu(hgpz|6=UoQ# Z {o_˷]x^^ū[^Wg~7|7h [t;z7lס}m`υmG\M<⻰?Q1m0?澍0&! KS%IW(.0OPi{ߞ-ȕWlvEΦX<΋yMCJoqiTy1X2NU-Etk6 OYWeat gc=LFz\s_zYveyhȯ,FY6/{2LB;GO(S@փz,^Qx/Lu6/C @Ck@Ǵ,T:2guŊہ;8އUM"ش!ΘI((D߾Pًlp=b}x* 5f(  2d22 o =f  EcoaA'fŒӵf P4f :t0LLo c.Erdh\/rvѰѾss9Ytn:G&hM 64wK4ca2 $$f)#CcK_ޗ7x[$R &.XJY^H$]Q crEsj:9ΘQ秬/,!"Y R/Y)Zy D(^UIkem\*cMùbVpg f\qdrF'Fl;/gkzQf_Z'_lx9q׶RTd-T_Igh]cڱlG{fL5ܒz"6@4F*x,dI5DʠᏂR/P~wr:tfmTa3'8"jb[V뻞y!h>wuCpP K*3Ŗ\]IxSݞ2̛ϰQxG p* 6ʌK8l}ͼ,O5R{OI DKBR=Ap;rnVƽ}Qڇ4 DQp] rÒ[+؍YӖ[v/ZZEĭ:]ˠP!wBרZl,ͣjQCg@y~5u܁Z;ft z)U]OkAReY:ƍUvL;o;D#蓳kL8=u}mzVЏU~\+)}_ E?KfY#Zk'EK:YDq`x;fIb@G +,Y̬q3Y߯EW]xqD=yz\Mq I> Kt/PK!im "ppt/slideLayouts/slideLayout12.xmlZr6waϊH[27Jg$N,ә;)<ūKW*lZ]$QPK!h "ppt/slideLayouts/slideLayout13.xml]rFS;PC|Vޒ튼` #ETZq$@$}4}+;d3|g eQgy~z\kԂ%3@k͏?uߒC 0X=%35z %%/[ǜ"-pdLm%ed h[P&9:ͪU*NkHM6y0R*Kc98by=p%ѿSAk&oNnHxȕLW9JLFlޟk[@,Q5{Յ󘉜*1nuu[Fk߄whbk*PJ kAJ}5Ƣc:Fk9OӘv5E +aQZBI>8ɠh[Q&h>k.740F LWeN ;&R,,Rq&+RD8@DkH$e3": R/X (CN"y {EUĪ0%y’{,W;˵ebՔ c׶wz[y2ClJAX'"V²7=I L.GBZ̉'ø h Hi[)-큖hv)-={ryNF@@"򤌀Hi:ޕIAx08Wv0<գvMorAGIXLf?&i5 y#uMcV 4Zi4F !H8qPMA"+:{rz2/1l|~/:=_nuYboצ'ϯ[a.E{iul,ݶx:Q} gEWUu솖W0ԠzFϟ}MW^zqD#wRBM+yoPK!;Fdvu&"ppt/slideLayouts/slideLayout14.xmlZn6?`@h]hR$q= KDBHKZ km'y$rbgJk?E߹;ǖ߾ZR."?0@4$gƇ 4$O+rz`Ra;P F.KYMSs(iM nL8]ag̴-73Fw_LiLGEh.+NJ1OKѠ]JNݛ*TcP_$S:)"a^לR=ʗ?|yQ6ì6_} f3}UCVzHWz6_lYoYm6̖PmUsƞT2ʬFaQGB[rmUaf+B'Tölym-vl6WPɭ>QW 2!-pSP+W0 $_Z4dhJtF4)HU%׻Ie+T% ?`,KFb:/Xtio?:|q;!~8 ȻvWA.C$"'h!i*՚vadXS8$i(nC^+:ՑNIhI2N8XV 0i y`ΊSnTӚ`mYDr`]ga,&.$b(rU&0 {tJ9YKjTga *j]b'@`a&ƪalhSa5V am;9tXU-u:Glƪa5-Z"jjܢ6]ZZ:TϬeZ*RPRas¦Mn(e{,;pp0rKg/UU<^'jx=p^dm@_x=HXNr%+kΪ<\/ }v|O걗@+d K.Sn 7@!''/@[Oo׷gfߧ"UedAiC3 WUoѾ1z͍^vFQڑxF6Vh{I7IId&)xhZ|oMҾIzMֈHKDާc; v|>e X9p쌣 =; hR4tbQԽpwk/&LJK1wBz2|k/W,M(:_d;,Q[T?q=Yh4>"oB[+:/_&/\i?^iDueKyuSejh[PK!p ;"ppt/slideLayouts/slideLayout15.xml[r6}L>+]'vF؉'J IlKAHL~|Iˋ$K) _DYpMɚϳ1UJ֯E6ͮv{$ L]fxп}Q\  7VU$(*Mm|{m|uu5Uat,HrFzZyvs0!5b~ub-J*] k³<rtvbḪaZw\@ggeު3bLTr7A3SOX0}g4}-/F< >F\\2ApR!dIxM}w9 U6Wǣeu[9 2!c8, FR>9~e`m8:gAӷu) \Eď$X,3MU&p%y$Ecy #1K$PE^&DC6WmfU$e.V)-!5dM9E6`*JâηT޺9-mЃ>mX(8׬7;0P R:G m`{E'p6~Wb2&3@hSrVD6ac>*Q a $FrVagzhCaV n`MsaUX%` v`[#vVaVa6XU[.c`VQb$9jhPG Ebg`tbh `%ⵐ vJ'֩uo['"GA(^aHy ~{{;uK|W o` ;/;4:'ZEhG֏Zmj&mD;,Lb;x-p^ @`;x#Uƒ_{ Bh:l|pL tt:5SC:5SC:5{K5Ӫ! |scjVԐN ԐN ԐPC DvDT2={(~AL>zQmڶh[\3X[\}OɲDLș2khR:7mO ี"Fby'/cFI ,bҠi&+"$rS "]=-ӌV+evcp7.K:x ёh"8&K{NanMЉ\J ?xUZ' TG,+R(98T5UꅬQCwҹ}ύ( R4pAtbPKʒFԨ?-ףԷ+Gb`*- Jj*AZkCuRʋ'vd>s NiƘK!Q4C9`t̸& D3 L9<10757Vr`'PAњJRK=XV*PD$Quen5aW8^k@_+zEC{]` |W v^,+:-4aBd:R58Ǟ jg :7R/ǏQh: Ǒ?Oc/Swݼߦ`r:ЅoVREQ8}Z^xtgv δ,1k[3ϟ+a&D/h&D?7QRj\ `):;IyN\wÁo 'Ttg`Op:LG0@ ~|U dT7k\լb]AFPK!K%!ppt/slideLayouts/slideLayout8.xmlr6;w ybg1OS9YRv:j'OR` -'FŇ,6%EkEQs}X 8>OG,ǴbaV+3|n-l[dKRb S/T_9%=lj2|^d$UIl P,bYԢCh5'Ba`Kr[h73Vu"f4G cR1s!hkMQsBt0f}QkAXya+[C~4|6fKTAsK ՟#3zlဵN`&Q5= kù/$%E+*$T<:&E~K~QƮy ΙHq$bJcՍX#nܼ*R̲eCäBhk7e,Tunq5b}W %ĒZd #Hڧ$aXG .{Zv.dr8#ˊe3{&k'qGni5@ "TuZt' UԞbOFSBrF划5e#j;/鯷qEoHKONj-8έfKGm)UFoq0BQn6){w+FѢ0ju 0w^/8ΧWB6 TWBY: H hJ&+ڴ? 1]UE&U,tmݣy:س^snd w#XJaJbene/v:YMIYo OC xc7Vx{XC /xÒ2i($5y^p50rPS 0通6\=DQ4,-)d8@a{iq6{6/EsHG4N珢a0 q:Ldt%? nj*TYdZ,Vܮ$(D~Ylw~It5kVgZUZV[NFM1 @`zg4Z3vbQi{iT.}ѺX yt)uVmFں'q6(oΚ/^͗xyVԡjNIehiΖL `׺Q23HHh>y4ݪ-)/1vov}9l'qIX$uw~WJ8k.U#7x&/a%4s&kW?=Q"`J;Q6rZ'ʖbE\rɮ^ڵ1MQ4٪6 ,[աAk%WC7]-DK-되\BBLN*XL9W 9QERt۳/M5 zݐl YlF.{7b[͖f{ޞQ8w7 $"Fڋ&x0|VČviiIhVԼΟC?M|fő&7QQw6ޜ55j ^I԰ \ٲ. RnR03}-8"p5I9/Ò ٜ lz}X@d)DuA6R/gK9Au8mFn?p Κ p|c4Īzf-IQDB/FeBZ<j}xC>K e EK2&8mXեyf U(`r9[W\{QJCEΠ}؍d Z koһT }e&%3q JxnYӞ+X~~1ih֌r -,(}> ޖE2y7L_,0l$K&nȐ7V-n}aVsc=|R,0٩]4%i!tNHBWDJeaI} !{lci  oưk9/ AʻTHpєBpf`HsR@1gX< A t4t7-4Yhb-`; < -vÄa#a#OF@jy-vO%~Suyf3s4w.9\%Ew~_=@cΐ7M(|a>,Mw^7odu/PuYiXInenw궟ZE R ]i,Ng4!>Gy h{+&BWSt{t} >'r>$sEy>'a8M؋'N'~<Oc?lXa5x5a~O_MLs k߭)9-e߉ F?PK!)J. !ppt/slideLayouts/slideLayout2.xmlVn0w4/#PQY[4!Y۳ MZIIvLAo|>Nb_^rDSDX̓ͻt4f &ʹw):&/4 :Z8%9V\f\XPνDS9zyz>e1x $k_P8MHƮ~^ `:% kNx sfglSI')&b,X,18z+_avȖZ>ܴ Zu<=3GVdӻ=q:Ux;VEriWt 9jVUJ|BC(8V@qK&SW ӃgofkVS!?t收/r=gp ?0mEamæ}wԏư~Wu$@Ug9e$w sdϮuTkoKeqZUqFs?Mq2:N "T`qL)RmPK!"!ppt/slideLayouts/slideLayout3.xml̘n6,3:%ty!LyJ*ZBǔ%z:VY4Bळ E!vӵ0ޛ>o`R_!d5t iJt&$?161.ZT{e{NuPoUklNZƽ㳾6 }P{v#磗Aߍ ׵zQ^tsVGuzg  WB$hTPVBq3l/pBǩ).KEڲC6C N IƋ V*TL& 'Rij9tzvӠw;,)Wf_ujl?uBUM&B9.F p ҭ4`)I:q&¼+. D9@#SqfJz1@%7[$ IOܞ,<drM~ce"gA>}Ms32-ѶVHuZ km'y$ٲclÐ?E߹|o߭rj-g'6za O36;?܎:mIY)gľ#~wo ei &Ğ+UG&scwS.r94vNu#'~>f dJA(VZ9 Ym A*B[>'~=Ͷ`Xidj1M-s=1yE&97[,qq#`FXYjS#[>ܵ7ՉI3W̑r2&=k=Zj*oWs)J,W<(-Ƶ=Ҽfs/ T| 2{=n~"/ rCFne,0]K袯V<3'>j(\@ =A93u>Հ֮V%--fʺRaiHU .r `k]AdP9{ތl-x!ǰl ]/PT{~m0K\'I Y3 %Ezcqg!c f+`WJYG}`4ԋfR ʁUp YRȀ kUmL67t6ʋ\N+ZtPO; =Z헃ZʁutX*ӌYpjP! o5aN+ `Ev=*8@d#P jHmPQ|@U],܆5Xl؀t8`Ub ۀ~k 65Xl'Qfq#A2Bzb2JܪYTFΔz A? ?1VLǖ#/tCOl#?P7Ok'IvE;!rLR%-G3ZBykt/5vtΜX઎U??XE>]A|Teuԍgۢ0YXEPmK4L(:p gl4S.̽4==S%5U;=M͘f)dCT!IS I;*^C<ga']qn4:^ci,gZV?}׳/Qߩ|CMTYQs7PK!z&!ppt/slideLayouts/slideLayout6.xmlUKn0u#v`GU7MlP$KҮݢ@''鐒l7u,HgWے U|Eg()re~C`N0K9Ќ|;60ࡷ2F@+Zb}&$尷jvɂ8 A 5b(r|]Rn*E6^R7h5hRQ 0.N[SF<\7q ;녜NQjg|Iɹ)p)T PzAQ%߸I"|L`PA zPF1?Xox;h7t*=&_-?Q#._{T(W~զ2ۉ ;{ΈL1~\ e54׌bČY?"#%A7XKn@ZuARNfX//Ȋҥ4b_Ff t%\6% ƒ*V^Ͱ,~$n6~2Id8M"ޤ gsP5EIbVt6ɢKkk\ܨ( IdB8.yYU+8)QBJN͜uB " rw8]? 'h404f4}k˜Cvj_~ڼn " ӍӼtkgג\,FPK!:D "ppt/slideLayouts/slideLayout16.xmlVr0wqώm K0k"K$(әV8ydOBf!˖W~߮yЌ(Mo{I!R>i{w6 Nނhs,bj`pm/3F@'ɱ>p7*>$H9 *aXrL\Y/cX$ӜpS(°uF.>hR 0nvHf!![ ƌrvj3w'C"sQ70 fhDƙi9R7>P[}3(DSD句3<[>)_qk>V4o{ >;ALֳIv6z;AfU2JNAJʪW/"yЈ Ǧ_(r̖ +~u0K̼+҅ur-,q>\ eV8*<7W`"\\1< #IAX  -;q OXϑS҅_dNiIVu K!1hyH( PԽŇpo7@!]R ioTƲ[?w:$:a{;EeT~z z_L O;߯'eOؐVpԼR(}eeaƽ8tz~٩ճnw)<]DbwŖcC՘5VAMp=b쪫V=_%\6/",A6i^Y>$II: fv7mڐޮ^ً>wZA4k;O)N҉Sa :D&3Zv|N8.ai'ygYa$/&0cm3Yۣn^״M"B,׎)37$5`b1PK!x-,docProps/app.xmlT]o0}`$|ڐ!4>T}pbձ-ceCТJx{ׇ{+`,W2$B sŸܥ6[\|uT2*4:Oxm8X%M9=cPQ;e+2u>4Xa_H2gН`(N_Emv^ *-I2 AgQ H]a5_k-xN7xnUC7V} o3Dp rH)55tg.oDS2A5/9c U>j5\B &f47%5wS%aD͟TzoǏ  l_%PKtN?Kppt/slides/slide1.xmlPKtNfh& ppt/slides/_rels/slide1.xml.relsPKtNK[Content_Types].xmlPKtN#HdocProps/core.xmlPKtN煟?docProps/custom.xmlPKtNo _rels/.relsPKtNH ppt/presentation.xmlPKtNd` ppt/_rels/presentation.xml.relsPKtNro" ppt/viewProps.xmlPK-!(^oo5 ppt/media/image1.pngPK-!h|ppt/tableStyles.xmlPK-! 0E}ppt/presProps.xmlPK-!:~"T~ppt/theme/theme1.xmlPK-!E ,ppt/slideMasters/_rels/slideMaster1.xml.relsPK-!M5?!ppt/slideMasters/slideMaster1.xmlPK-!ђ7-ppt/slideLayouts/_rels/slideLayout10.xml.relsPK-!ђ7-ppt/slideLayouts/_rels/slideLayout17.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout4.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout5.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout6.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout7.xml.relsPK-!ђ7, ppt/slideLayouts/_rels/slideLayout8.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout9.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout3.xml.relsPK-!ђ7,ppt/slideLayouts/_rels/slideLayout2.xml.relsPK-!ђ7,"ppt/slideLayouts/_rels/slideLayout1.xml.relsPK-!ђ7-(ppt/slideLayouts/_rels/slideLayout16.xml.relsPK-!ђ7-/ppt/slideLayouts/_rels/slideLayout15.xml.relsPK-!ђ7-6ppt/slideLayouts/_rels/slideLayout14.xml.relsPK-!ђ7-=ppt/slideLayouts/_rels/slideLayout13.xml.relsPK-!ђ7-Dppt/slideLayouts/_rels/slideLayout12.xml.relsPK-!ђ7-Kppt/slideLayouts/_rels/slideLayout11.xml.relsPK-!Ex"Rppt/slideLayouts/slideLayout10.xmlPK-!3Y "Tppt/slideLayouts/slideLayout11.xmlPK-!im "ippt/slideLayouts/slideLayout12.xmlPK-!h "ppt/slideLayouts/slideLayout13.xmlPK-!;Fdvu&"̳ppt/slideLayouts/slideLayout14.xmlPK-!p ;"ppt/slideLayouts/slideLayout15.xmlPK-!ҦB!@ppt/slideLayouts/slideLayout9.xmlPK-!K%!Oppt/slideLayouts/slideLayout8.xmlPK-! Lم!Mppt/slideLayouts/slideLayout7.xmlPK-!=t%!ppt/slideLayouts/slideLayout1.xmlPK-!)J. !uppt/slideLayouts/slideLayout2.xmlPK-!"!ppt/slideLayouts/slideLayout3.xmlPK-!=p!.ppt/slideLayouts/slideLayout4.xmlPK-!s@yT!ppt/slideLayouts/slideLayout5.xmlPK-!z&!pppt/slideLayouts/slideLayout6.xmlPK-!:D "nppt/slideLayouts/slideLayout16.xmlPK-!fp$ "ppt/slideLayouts/slideLayout17.xmlPK-!x-,docProps/app.xmlPK22pandoc-2.9.2.1/test/rst-reader.native000066400000000000000000000473021363630463000174000ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "John",Space,Str "MacFarlane"],MetaInlines [Str "Anonymous"]]),("date",MetaInlines [Str "July",Space,Str "17,",Space,Str "2006"]),("revision",MetaBlocks [Para [Str "3"]]),("subtitle",MetaInlines [Str "Subtitle"]),("title",MetaInlines [Str "Pandoc",Space,Str "Test",Space,Str "Suite"])]}) [Header 1 ("level-one-header",[],[]) [Str "Level",Space,Str "one",Space,Str "header"] ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",SoftBreak,Str "John",Space,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."] ,Header 2 ("level-two-header",[],[]) [Str "Level",Space,Str "two",Space,Str "header"] ,Header 3 ("level-three",[],[]) [Str "Level",Space,Str "three"] ,Header 4 ("level-four-with-emphasis",[],[]) [Str "Level",Space,Str "four",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 5 ("level-five",[],[]) [Str "Level",Space,Str "five"] ,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",SoftBreak,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",SoftBreak,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",SoftBreak,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",SoftBreak,Str "list",Space,Str "item."] ,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",SoftBreak,Str "*",Space,Str "criminey."] ,Para [Str "Horizontal",Space,Str "rule:"] ,HorizontalRule ,Para [Str "Another:"] ,HorizontalRule ,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",SoftBreak,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]] ,Para [Str "Here\8217s",Space,Str "another,",Space,Str "differently",Space,Str "indented:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",SoftBreak,Str "It\8217s",Space,Str "indented",Space,Str "with",Space,Str "a",Space,Str "tab."] ,Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ,Para [Str "List",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "item",Space,Str "one"]] ,[Plain [Str "item",Space,Str "two"]]] ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"] ,BlockQuote [Para [Str "nested"] ,BlockQuote [Para [Str "nested"]]]] ,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}" ,CodeBlock ("",[],[]) "this code block is indented by one tab" ,Para [Str "And:"] ,CodeBlock ("",[],[]) "this block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{" ,Para [Str "And:"] ,CodeBlock ("",["python"],[]) "def my_function(x):\n return x + 1" ,Para [Str "If",Space,Str "we",Space,Str "use",Space,Str "the",Space,Str "highlight",Space,Str "directive,",Space,Str "we",Space,Str "can",Space,Str "specify",Space,Str "a",Space,Str "default",Space,Str "language",SoftBreak,Str "for",Space,Str "literate",Space,Str "blocks."] ,CodeBlock ("",["haskell"],[]) "-- this code is in haskell\ndata Tree = Leaf | Node Tree Tree" ,CodeBlock ("",["haskell"],[]) "-- this code is in haskell too\ndata Nat = Zero | Succ Nat" ,CodeBlock ("",["javascript"],[]) "-- this code is in javascript\nlet f = (x, y) => x + y" ,Header 1 ("lists",[],[]) [Str "Lists"] ,Header 2 ("unordered",[],[]) [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "tight:"] ,BulletList [[Plain [Str "asterisk",Space,Str "1"]] ,[Plain [Str "asterisk",Space,Str "2"]] ,[Plain [Str "asterisk",Space,Str "3"]]] ,Para [Str "Asterisks",Space,Str "loose:"] ,BulletList [[Plain [Str "asterisk",Space,Str "1"]] ,[Plain [Str "asterisk",Space,Str "2"]] ,[Plain [Str "asterisk",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "tight:"] ,BulletList [[Plain [Str "Plus",Space,Str "1"]] ,[Plain [Str "Plus",Space,Str "2"]] ,[Plain [Str "Plus",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "loose:"] ,BulletList [[Plain [Str "Plus",Space,Str "1"]] ,[Plain [Str "Plus",Space,Str "2"]] ,[Plain [Str "Plus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "tight:"] ,BulletList [[Plain [Str "Minus",Space,Str "1"]] ,[Plain [Str "Minus",Space,Str "2"]] ,[Plain [Str "Minus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "loose:"] ,BulletList [[Plain [Str "Minus",Space,Str "1"]] ,[Plain [Str "Minus",Space,Str "2"]] ,[Plain [Str "Minus",Space,Str "3"]]] ,Header 2 ("ordered",[],[]) [Str "Ordered"] ,Para [Str "Tight:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "First"]] ,[Plain [Str "Second"]] ,[Plain [Str "Third"]]] ,Para [Str "and:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "One"]] ,[Plain [Str "Two"]] ,[Plain [Str "Three"]]] ,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "First"]] ,[Plain [Str "Second"]] ,[Plain [Str "Third"]]] ,Para [Str "and",Space,Str "using",Space,Str "spaces:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "One"]] ,[Plain [Str "Two"]] ,[Plain [Str "Three"]]] ,Para [Str "Multiple",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."] ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog\8217s",SoftBreak,Str "back."]] ,[Para [Str "Item",Space,Str "2."]] ,[Para [Str "Item",Space,Str "3."]]] ,Para [Str "Nested:"] ,BulletList [[Plain [Str "Tab"] ,BulletList [[Plain [Str "Tab"] ,BulletList [[Plain [Str "Tab"]]]]]]] ,Para [Str "Here\8217s",Space,Str "another:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BlockQuote [BulletList [[Plain [Str "Fee"]] ,[Plain [Str "Fie"]] ,[Plain [Str "Foe"]]]]] ,[Para [Str "Third"]]] ,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"] ,OrderedList (2,Decimal,TwoParens) [[Para [Str "begins",Space,Str "with",Space,Str "2"]] ,[Para [Str "and",Space,Str "now",Space,Str "3"] ,Para [Str "with",Space,Str "a",Space,Str "continuation"] ,OrderedList (4,LowerRoman,Period) [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",Space,Str "starting",Space,Str "with",Space,Str "4"]] ,[Plain [Str "more",Space,Str "items"] ,OrderedList (1,UpperAlpha,TwoParens) [[Plain [Str "a",Space,Str "subsublist"]] ,[Plain [Str "a",Space,Str "subsublist"]]]]]]] ,Para [Str "Nesting:"] ,OrderedList (1,UpperAlpha,Period) [[Plain [Str "Upper",Space,Str "Alpha"] ,OrderedList (1,UpperRoman,Period) [[Plain [Str "Upper",Space,Str "Roman."] ,OrderedList (6,Decimal,TwoParens) [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"] ,OrderedList (3,LowerAlpha,OneParen) [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]] ,Para [Str "Autonumbering:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Autonumber."]] ,[Plain [Str "More."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Nested."]]]]] ,Para [Str "Autonumbering",Space,Str "with",Space,Str "explicit",Space,Str "start:"] ,OrderedList (4,LowerAlpha,TwoParens) [[Plain [Str "item",Space,Str "1"]] ,[Plain [Str "item",Space,Str "2"]]] ,Header 2 ("definition",[],[]) [Str "Definition"] ,DefinitionList [([Str "term",Space,Str "1"], [[Para [Str "Definition",Space,Str "1."]]]) ,([Str "term",Space,Str "2"], [[Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "1."] ,Para [Str "Definition",Space,Str "2,",Space,Str "paragraph",Space,Str "2."]]]) ,([Str "term",Space,Str "with",Space,Emph [Str "emphasis"]], [[Para [Str "Definition",Space,Str "3."]]])] ,Header 1 ("field-lists",[],[]) [Str "Field",Space,Str "Lists"] ,BlockQuote [DefinitionList [([Str "address"], [[Para [Str "61",Space,Str "Main",Space,Str "St."]]]) ,([Str "city"], [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",SoftBreak,Str "USA"]]]) ,([Str "phone"], [[Para [Str "123-4567"]]])]] ,DefinitionList [([Str "address"], [[Para [Str "61",Space,Str "Main",Space,Str "St."]]]) ,([Str "city"], [[Para [Emph [Str "Nowhere"],Str ",",Space,Str "MA,",SoftBreak,Str "USA"]]]) ,([Str "phone"], [[Para [Str "123-4567"]]])] ,Header 1 ("html-blocks",[],[]) [Str "HTML",Space,Str "Blocks"] ,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"] ,RawBlock (Format "html") "
                foo
                " ,Para [Str "Now,",Space,Str "nested:"] ,RawBlock (Format "html") "
                \n
                \n
                \n foo\n
                \n
                \n
                " ,Header 1 ("latex-block",[],[]) [Str "LaTeX",Space,Str "Block"] ,RawBlock (Format "latex") "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}" ,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ".",Space,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str "."] ,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "",Str "."] ,Para [Str "This",Space,Str "is",Subscript [Str "subscripted"],Space,Str "and",Space,Str "this",Space,Str "is",Space,Superscript [Str "superscripted"],Str "."] ,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"] ,BulletList [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]] ,[Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"]] ,[Plain [Str "section:",Space,Str "\167"]] ,[Plain [Str "set",Space,Str "membership:",Space,Str "\8712"]] ,[Plain [Str "copyright:",Space,Str "\169"]]] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "This",Space,Str "&",Space,Str "that."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "`"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,Header 1 ("links",[],[]) [Str "Links"] ,Para [Str "Explicit:",Space,Str "a",Space,Link ("",[],[]) [Str "URL"] ("/url/",""),Str "."] ,Para [Str "Explicit",Space,Str "with",Space,Str "no",Space,Str "label:",Space,Link ("",[],[]) [Str "foo"] ("foo",""),Str "."] ,Para [Str "Two",Space,Str "anonymous",Space,Str "links:",Space,Link ("",[],[]) [Str "the",Space,Str "first"] ("/url1/",""),Space,Str "and",Space,Link ("",[],[]) [Str "the",Space,Str "second"] ("/url2/","")] ,Para [Str "Reference",Space,Str "links:",Space,Link ("",[],[]) [Str "link1"] ("/url1/",""),Space,Str "and",Space,Link ("",[],[]) [Str "link2"] ("/url2/",""),Space,Str "and",Space,Link ("",[],[]) [Str "link1"] ("/url1/",""),Space,Str "again."] ,Para [Str "Another",Space,Link ("",[],[]) [Str "style",Space,Str "of",Space,Str "reference",Space,Str "link"] ("/url1/",""),Str "."] ,Para [Str "Here\8217s",Space,Str "a",Space,Link ("",[],[]) [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link ("",[],[]) [Str "AT&T"] ("/url/",""),Str "."] ,Para [Str "Autolinks:",Space,Link ("",[],[]) [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2",""),Space,Str "and",Space,Link ("",[],[]) [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net",""),Str "."] ,Para [Str "But",Space,Str "not",Space,Str "here:"] ,CodeBlock ("",[],[]) "http://example.com/" ,Header 1 ("images",[],[]) [Str "Images"] ,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"] ,Para [Image ("",[],[]) [Str "image"] ("lalune.jpg","")] ,Para [Image ("",[],[("height","2343px")]) [Str "Voyage dans la Lune"] ("lalune.jpg","")] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image ("",[],[]) [Str "movie"] ("movie.jpg",""),Space,Str "icon."] ,Para [Str "And",Space,Str "an",Space,Link ("",[],[]) [Image ("",[],[]) [Str "A movie"] ("movie.jpg","")] ("/url",""),Str "."] ,Header 1 ("comments",[],[]) [Str "Comments"] ,Para [Str "First",Space,Str "paragraph"] ,Para [Str "Another",Space,Str "paragraph"] ,Para [Str "A",Space,Str "third",Space,Str "paragraph"] ,Header 1 ("line-blocks",[],[]) [Str "Line",Space,Str "blocks"] ,LineBlock [[Str "But",Space,Str "can",Space,Str "a",Space,Str "bee",Space,Str "be",Space,Str "said",Space,Str "to",Space,Str "be"] ,[Str "\160\160\160\160or",Space,Str "not",Space,Str "to",Space,Str "be",Space,Str "an",Space,Str "entire",Space,Str "bee,"] ,[Str "\160\160\160\160\160\160\160\160when",Space,Str "half",Space,Str "the",Space,Str "bee",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "bee,"] ,[Str "\160\160\160\160\160\160\160\160\160\160\160\160due",Space,Str "to",Space,Str "some",Space,Str "ancient",Space,Str "injury?"] ,[] ,[Str "Continuation",Space,Str "line"] ,[Str "\160\160and",Space,Str "another"]] ,Header 1 ("simple-tables",[],[]) [Str "Simple",Space,Str "Tables"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "col",Space,Str "1"]] ,[Plain [Str "col",Space,Str "2"]] ,[Plain [Str "col",Space,Str "3"]]] [[[Plain [Str "r1",Space,Str "a"]] ,[Plain [Str "b"]] ,[Plain [Str "c"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "Headless"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "r1",Space,Str "a"]] ,[Plain [Str "b"]] ,[Plain [Str "c"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Header 1 ("grid-tables",[],[]) [Str "Grid",Space,Str "Tables"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625] [[Plain [Str "col",Space,Str "1"]] ,[Plain [Str "col",Space,Str "2"]] ,[Plain [Str "col",Space,Str "3"]]] [[[Plain [Str "r1",Space,Str "a",SoftBreak,Str "r1",Space,Str "bis"]] ,[Plain [Str "b",SoftBreak,Str "b",Space,Str "2"]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "Headless"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625] [[] ,[] ,[]] [[[Plain [Str "r1",Space,Str "a",SoftBreak,Str "r1",Space,Str "bis"]] ,[Plain [Str "b",SoftBreak,Str "b",Space,Str "2"]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "Spaces",Space,Str "at",Space,Str "ends",Space,Str "of",Space,Str "lines"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625] [[] ,[] ,[]] [[[Plain [Str "r1",Space,Str "a",SoftBreak,Str "r1",Space,Str "bis"]] ,[Plain [Str "b",SoftBreak,Str "b",Space,Str "2"]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2"]]] ,[[Plain [Str "r2",Space,Str "d"]] ,[Plain [Str "e"]] ,[Plain [Str "f"]]]] ,Para [Str "Multiple",Space,Str "blocks",Space,Str "in",Space,Str "a",Space,Str "cell"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.2375,0.15,0.1625] [[] ,[] ,[]] [[[Para [Str "r1",Space,Str "a"] ,Para [Str "r1",Space,Str "bis"]] ,[BulletList [[Plain [Str "b"]] ,[Plain [Str "b",Space,Str "2"]] ,[Plain [Str "b",Space,Str "2"]]]] ,[Plain [Str "c",SoftBreak,Str "c",Space,Str "2",SoftBreak,Str "c",Space,Str "2"]]]] ,Header 1 ("footnotes",[],[]) [Str "Footnotes"] ,Para [Note [Para [Str "Note",Space,Str "with",Space,Str "one",Space,Str "line."]]] ,Para [Note [Para [Str "Note",Space,Str "with",SoftBreak,Str "continuation",Space,Str "line."]]] ,Para [Note [Para [Str "Note",Space,Str "with"],Para [Str "continuation",Space,Str "block."]]] ,Para [Note [Para [Str "Note",Space,Str "with",SoftBreak,Str "continuation",Space,Str "line"],Para [Str "and",Space,Str "a",Space,Str "second",Space,Str "para."]]] ,Para [Str "Not",Space,Str "in",Space,Str "note."] ,Header 1 ("math",[],[]) [Str "Math"] ,Para [Str "Some",Space,Str "inline",Space,Str "math",Space,Math InlineMath "E=mc^2",Str ".",Space,Str "Now",Space,Str "some",SoftBreak,Str "display",Space,Str "math:"] ,Para [Math DisplayMath "E=mc^2"] ,Para [Math DisplayMath "E = mc^2"] ,Para [Math DisplayMath "E = mc^2",Math DisplayMath "\\alpha = \\beta"] ,Para [Math DisplayMath "\\begin{aligned}\nE &= mc^2\\\\\nF &= \\pi E\n\\end{aligned}",Math DisplayMath "F &= \\gamma \\alpha^2"] ,Para [Str "All",Space,Str "done."] ,Header 1 ("default-role",[],[]) [Str "Default-Role"] ,Para [Str "Try",Space,Str "changing",Space,Str "the",Space,Str "default",Space,Str "role",Space,Str "to",Space,Str "a",Space,Str "few",Space,Str "different",Space,Str "things."] ,Header 2 ("doesnt-break-title-parsing",[],[]) [Str "Doesn\8217t",Space,Str "Break",Space,Str "Title",Space,Str "Parsing"] ,Para [Str "Inline",Space,Str "math:",Space,Math InlineMath "E=mc^2",Space,Str "or",Space,Math InlineMath "E=mc^2",Space,Str "or",Space,Math InlineMath "E=mc^2",Str ".",SoftBreak,Str "Other",Space,Str "roles:",Space,Superscript [Str "super"],Str ",",Space,Subscript [Str "sub"],Str "."] ,Para [Math DisplayMath "\\alpha = beta",Math DisplayMath "E = mc^2"] ,Para [Str "Some",Space,Superscript [Str "of"],Space,Str "these",Space,Superscript [Str "words"],Space,Str "are",Space,Str "in",Space,Superscript [Str "superscript"],Str "."] ,Para [Str "Reset",Space,Str "default-role",Space,Str "to",Space,Str "the",Space,Str "default",Space,Str "default."] ,Para [Str "And",Space,Str "now",Space,Span ("",["title-ref"],[]) [Str "some-invalid-string-3231231"],Space,Str "is",Space,Str "nonsense."] ,Para [Str "And",Space,Str "now",Space,Str "with",Space,RawInline (Format "html") "inline HTML",Str "."] ,Para [Str "And",Space,Str "some",Space,Str "inline",Space,Str "haskell",Space,Code ("",["haskell"],[]) "fmap id [1,2..10]",Str "."] ,Para [Str "Indirect",Space,Str "python",Space,Str "role",Space,Code ("",["py","python","indirect"],[]) "[x*x for x in [1,2,3,4,5]]",Str "."] ,Para [Str "Different",Space,Str "indirect",Space,Str "C",Space,Code ("",["c","different-indirect"],[]) "int x = 15;",Str "."] ,Header 2 ("literal-symbols",[],[]) [Str "Literal",Space,Str "symbols"] ,Para [Str "2*2",Space,Str "=",Space,Str "4*1"]] pandoc-2.9.2.1/test/rst-reader.rst000066400000000000000000000215441363630463000167220ustar00rootroot00000000000000Pandoc Test Suite ################# Subtitle ^^^^^^^^ :Authors: John MacFarlane; Anonymous :Date: July 17, 2006 :Revision: 3 Level one header ================ This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. Level two header ---------------- Level three +++++++++++ Level four with *emphasis* ~~~~~~~~~~~~~~~~~~~~~~~~~~ Level five '''''''''' Paragraphs ========== Here's a regular paragraph. 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. Here's one with a bullet. * criminey. Horizontal rule: ----- Another: **** Block Quotes ============ Here's a block quote: This is a block quote. It is pretty short. Here's another, differently indented: This is a block quote. It's indented with a tab. Code in a block quote:: sub status { print "working"; } List in a block quote: 1. item one 2. item two Nested block quotes: nested nested Code Blocks =========== Code: :: ---- (should be four hyphens) sub status { print "working"; } :: this code block is indented by one tab And:: this block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ And: .. code-block:: python def my_function(x): return x + 1 If we use the highlight directive, we can specify a default language for literate blocks. .. highlight:: haskell :: -- this code is in haskell data Tree = Leaf | Node Tree Tree :: -- this code is in haskell too data Nat = Zero | Succ Nat .. highlight:: javascript :: -- this code is in javascript let f = (x, y) => x + y .. highlight:: Lists ===== Unordered --------- Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: + Plus 1 + Plus 2 + Plus 3 Pluses loose: + Plus 1 + Plus 2 + Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 Ordered ------- Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog's back. 2. Item 2. 3. Item 3. Nested: * Tab * Tab * Tab Here's another: 1. First 2. Second: * Fee * Fie * Foe 3. Third Fancy list markers ------------------ (2) begins with 2 (3) and now 3 with a continuation iv. sublist with roman numerals, starting with 4 v. more items (A) a subsublist (B) a subsublist Nesting: A. Upper Alpha I. Upper Roman. (6) Decimal start with 6 c) Lower alpha with paren Autonumbering: #. Autonumber. #. More. #. Nested. Autonumbering with explicit start: (d) item 1 (#) item 2 Definition ---------- term 1 Definition 1. term 2 Definition 2, paragraph 1. Definition 2, paragraph 2. term with *emphasis* Definition 3. Field Lists =========== :address: 61 Main St. :city: *Nowhere*, MA, USA :phone: 123-4567 :address: 61 Main St. :city: *Nowhere*, MA, USA :phone: 123-4567 HTML Blocks =========== Simple block on one line: .. raw:: html
                foo
                Now, nested: .. raw:: html
                foo
                LaTeX Block =========== .. raw:: latex \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} Inline Markup ============= This is *emphasized*. This is **strong**. This is code: ``>``, ``$``, ``\``, ``\$``, ````. This is\ :sub:`subscripted` and this is :sup:`superscripted`\ . Special Characters ================== Here is some unicode: - I hat: Î - o umlaut: ö - section: § - set membership: ∈ - copyright: © AT&T has an ampersand in their name. This & that. 4 < 5. 6 > 5. Backslash: \\ Backtick: \` Asterisk: \* Underscore: \_ Left brace: \{ Right brace: \} Left bracket: \[ Right bracket: \] Left paren: \( Right paren: \) Greater-than: \> Hash: \# Period: \. Bang: \! Plus: \+ Minus: \- Links ===== Explicit: a `URL `_. Explicit with no label: ``_. Two anonymous links: `the first`__ and `the second`__ __ /url1/ __ /url2/ Reference links: `link1`_ and `link2`_ and link1_ again. .. _link1: /url1/ .. _`link2`: /url2/ Another `style of reference link `_. Here's a `link with an ampersand in the URL`_. Here's a link with an amersand in the link text: `AT&T `_. .. _link with an ampersand in the URL: http://example.com/?foo=1&bar=2 Autolinks: http://example.com/?foo=1&bar=2 and nobody@nowhere.net. But not here:: http://example.com/ Images ====== From "Voyage dans la Lune" by Georges Melies (1902): .. image:: lalune.jpg .. image:: lalune.jpg :height: 2343 :alt: Voyage dans la Lune Here is a movie |movie| icon. .. |movie| image:: movie.jpg And an |image with a link|. .. |image with a link| image:: movie.jpg :alt: A movie :target: /url Comments ======== First paragraph .. comment .. Comment block, should not appear in output as defined by reStructuredText Another paragraph .. Another comment block. This one spans several text elements. It doesn't end until indentation is restored to the preceding level. A third paragraph Line blocks =========== | But can a bee be said to be | or not to be an entire bee, | when half the bee is not a bee, | due to some ancient injury? | | Continuation line | and another Simple Tables ============= ================== =========== ========== col 1 col 2 col 3 ================== =========== ========== r1 a b c r2 d e f ================== =========== ========== Headless ================== =========== ========== r1 a b c r2 d e f ================== =========== ========== Grid Tables =========== +------------------+-----------+------------+ | col 1 | col 2 | col 3 | +==================+===========+============+ | r1 a | b | c | | r1 bis | b 2 | c 2 | +------------------+-----------+------------+ | r2 d | e | f | +------------------+-----------+------------+ Headless +------------------+-----------+------------+ | r1 a | b | c | | r1 bis | b 2 | c 2 | +------------------+-----------+------------+ | r2 d | e | f | +------------------+-----------+------------+ Spaces at ends of lines +------------------+-----------+------------+ | r1 a | b | c | | r1 bis | b 2 | c 2 | +------------------+-----------+------------+ | r2 d | e | f | +------------------+-----------+------------+ Multiple blocks in a cell +------------------+-----------+------------+ | r1 a | - b | c | | | - b 2 | c 2 | | r1 bis | - b 2 | c 2 | +------------------+-----------+------------+ Footnotes ========= [1]_ [#]_ [#]_ [*]_ .. [1] Note with one line. .. [#] Note with continuation line. .. [#] Note with continuation block. .. [*] Note with continuation line and a second para. Not in note. Math ==== Some inline math :math:`E=mc^2`\ . Now some display math: .. math:: E=mc^2 .. math:: E = mc^2 .. math:: E = mc^2 \alpha = \beta .. math:: :label: hithere :nowrap: E &= mc^2\\ F &= \pi E F &= \gamma \alpha^2 All done. Default-Role ============ Try changing the default role to a few different things. .. default-role:: math Doesn't Break Title Parsing --------------------------- Inline math: `E=mc^2` or :math:`E=mc^2` or `E=mc^2`:math:. Other roles: :sup:`super`, `sub`:sub:. .. math:: \alpha = beta E = mc^2 .. default-role:: sup Some `of` these :sup:`words` are in `superscript`:sup:. Reset default-role to the default default. .. default-role:: And now `some-invalid-string-3231231` is nonsense. .. role:: html(raw) :format: html And now with :html:`inline HTML`. .. role:: haskell(code) :language: haskell And some inline haskell :haskell:`fmap id [1,2..10]`. .. role:: indirect(code) .. role:: py(indirect) :language: python Indirect python role :py:`[x*x for x in [1,2,3,4,5]]`. .. role:: different-indirect(code) :language: c .. role:: c(different-indirect) Different indirect C :c:`int x = 15;`. Literal symbols --------------- 2*2 = 4*1 pandoc-2.9.2.1/test/s5-basic.html000066400000000000000000000044371363630463000164160ustar00rootroot00000000000000 My S5 Document

                My S5 Document

                Sam Smith
                Jen Jones

                July 15, 2006

                First slide

                • first bullet
                • second bullet

                Math

                • $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
                pandoc-2.9.2.1/test/s5-fancy.html000066400000000000000000000046661363630463000164410ustar00rootroot00000000000000 My S5 Document

                My S5 Document

                Sam Smith
                Jen Jones

                July 15, 2006

                First slide

                • first bullet
                • second bullet

                Math

                • \(\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\)
                pandoc-2.9.2.1/test/s5-fragment.html000066400000000000000000000003411363630463000171260ustar00rootroot00000000000000

                First slide

                • first bullet
                • second bullet

                Math

                • $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
                pandoc-2.9.2.1/test/s5-inserts.html000066400000000000000000000025511363630463000170170ustar00rootroot00000000000000 My S5 Document STUFF INSERTED STUFF INSERTED

                First slide

                • first bullet
                • second bullet

                Math

                • $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
                STUFF INSERTED pandoc-2.9.2.1/test/s5.native000066400000000000000000000011041363630463000156450ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "Sam",Space,Str "Smith"],MetaInlines [Str "Jen",Space,Str "Jones"]]),("date",MetaInlines [Str "July",Space,Str "15,",Space,Str "2006"]),("title",MetaInlines [Str "My",Space,Str "S5",Space,Str "Document"])]}) [Header 1 ("first-slide",[],[]) [Str "First",Space,Str "slide"] ,BulletList [[Plain [Str "first",Space,Str "bullet"]] ,[Plain [Str "second",Space,Str "bullet"]]] ,Header 1 ("math",[],[]) [Str "Math"] ,BulletList [[Plain [Math InlineMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]]]] pandoc-2.9.2.1/test/tables-rstsubset.native000066400000000000000000000112231363630463000206270ustar00rootroot00000000000000[Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption:"] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Simple",Space,Str "table",Space,Str "indented",Space,Str "two",Space,Str "spaces:"] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption:"] ,Table [Str "Here\8217s",Space,Str "the",Space,Str "caption.",Space,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines."] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.1375,0.125,0.15,0.3375] [[Plain [Str "Centered",SoftBreak,Str "Header"]] ,[Plain [Str "Left",SoftBreak,Str "Aligned"]] ,[Plain [Str "Right",SoftBreak,Str "Aligned"]] ,[Plain [Str "Default",Space,Str "aligned"]]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",SoftBreak,Str "spans",Space,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.1375,0.125,0.15,0.3375] [[Plain [Str "Centered",SoftBreak,Str "Header"]] ,[Plain [Str "Left",SoftBreak,Str "Aligned"]] ,[Plain [Str "Right",SoftBreak,Str "Aligned"]] ,[Plain [Str "Default",Space,Str "aligned"]]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",SoftBreak,Str "spans",Space,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]] ,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers:"] ,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "column",Space,Str "headers:"] ,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.1375,0.125,0.15,0.3375] [[] ,[] ,[] ,[]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",SoftBreak,Str "spans",Space,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",SoftBreak,Str "rows."]]]]] pandoc-2.9.2.1/test/tables.asciidoc000066400000000000000000000030011363630463000170560ustar00rootroot00000000000000Simple table with caption: .Demonstration of simple table syntax. [cols=">,<,^,",options="header",] |=== |Right |Left |Center |Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 |=== Simple table without caption: [cols=">,<,^,",options="header",] |=== |Right |Left |Center |Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 |=== Simple table indented two spaces: .Demonstration of simple table syntax. [cols=">,<,^,",options="header",] |=== |Right |Left |Center |Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 |=== Multiline table with caption: .Here’s the caption. It may span multiple lines. [width="80%",cols="^20%,<17%,>20%,<43%",options="header",] |=== |Centered Header |Left Aligned |Right Aligned |Default aligned |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. |=== Multiline table without caption: [width="80%",cols="^20%,<17%,>20%,<43%",options="header",] |=== |Centered Header |Left Aligned |Right Aligned |Default aligned |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. |=== Table without column headers: [cols=">,<,^,>",] |=== |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 |=== Multiline table without column headers: [width="80%",cols="^20%,<17%,>20%,43%",] |=== |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. |=== pandoc-2.9.2.1/test/tables.asciidoctor000066400000000000000000000030011363630463000176030ustar00rootroot00000000000000Simple table with caption: .Demonstration of simple table syntax. [cols=">,<,^,",options="header",] |=== |Right |Left |Center |Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 |=== Simple table without caption: [cols=">,<,^,",options="header",] |=== |Right |Left |Center |Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 |=== Simple table indented two spaces: .Demonstration of simple table syntax. [cols=">,<,^,",options="header",] |=== |Right |Left |Center |Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 |=== Multiline table with caption: .Here’s the caption. It may span multiple lines. [width="80%",cols="^20%,<17%,>20%,<43%",options="header",] |=== |Centered Header |Left Aligned |Right Aligned |Default aligned |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. |=== Multiline table without caption: [width="80%",cols="^20%,<17%,>20%,<43%",options="header",] |=== |Centered Header |Left Aligned |Right Aligned |Default aligned |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. |=== Table without column headers: [cols=">,<,^,>",] |=== |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 |=== Multiline table without column headers: [width="80%",cols="^20%,<17%,>20%,43%",] |=== |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. |=== pandoc-2.9.2.1/test/tables.context000066400000000000000000000150131363630463000167720ustar00rootroot00000000000000Simple table with caption: \startplacetable[title={Demonstration of simple table syntax.}] \startxtable \startxtablehead[head] \startxrow \startxcell[align=left] Right \stopxcell \startxcell[align=right] Left \stopxcell \startxcell[align=middle] Center \stopxcell \startxcell Default \stopxcell \stopxrow \stopxtablehead \startxtablebody[body] \startxrow \startxcell[align=left] 12 \stopxcell \startxcell[align=right] 12 \stopxcell \startxcell[align=middle] 12 \stopxcell \startxcell 12 \stopxcell \stopxrow \startxrow \startxcell[align=left] 123 \stopxcell \startxcell[align=right] 123 \stopxcell \startxcell[align=middle] 123 \stopxcell \startxcell 123 \stopxcell \stopxrow \stopxtablebody \startxtablefoot[foot] \startxrow \startxcell[align=left] 1 \stopxcell \startxcell[align=right] 1 \stopxcell \startxcell[align=middle] 1 \stopxcell \startxcell 1 \stopxcell \stopxrow \stopxtablefoot \stopxtable \stopplacetable Simple table without caption: \startplacetable[location=none] \startxtable \startxtablehead[head] \startxrow \startxcell[align=left] Right \stopxcell \startxcell[align=right] Left \stopxcell \startxcell[align=middle] Center \stopxcell \startxcell Default \stopxcell \stopxrow \stopxtablehead \startxtablebody[body] \startxrow \startxcell[align=left] 12 \stopxcell \startxcell[align=right] 12 \stopxcell \startxcell[align=middle] 12 \stopxcell \startxcell 12 \stopxcell \stopxrow \startxrow \startxcell[align=left] 123 \stopxcell \startxcell[align=right] 123 \stopxcell \startxcell[align=middle] 123 \stopxcell \startxcell 123 \stopxcell \stopxrow \stopxtablebody \startxtablefoot[foot] \startxrow \startxcell[align=left] 1 \stopxcell \startxcell[align=right] 1 \stopxcell \startxcell[align=middle] 1 \stopxcell \startxcell 1 \stopxcell \stopxrow \stopxtablefoot \stopxtable \stopplacetable Simple table indented two spaces: \startplacetable[title={Demonstration of simple table syntax.}] \startxtable \startxtablehead[head] \startxrow \startxcell[align=left] Right \stopxcell \startxcell[align=right] Left \stopxcell \startxcell[align=middle] Center \stopxcell \startxcell Default \stopxcell \stopxrow \stopxtablehead \startxtablebody[body] \startxrow \startxcell[align=left] 12 \stopxcell \startxcell[align=right] 12 \stopxcell \startxcell[align=middle] 12 \stopxcell \startxcell 12 \stopxcell \stopxrow \startxrow \startxcell[align=left] 123 \stopxcell \startxcell[align=right] 123 \stopxcell \startxcell[align=middle] 123 \stopxcell \startxcell 123 \stopxcell \stopxrow \stopxtablebody \startxtablefoot[foot] \startxrow \startxcell[align=left] 1 \stopxcell \startxcell[align=right] 1 \stopxcell \startxcell[align=middle] 1 \stopxcell \startxcell 1 \stopxcell \stopxrow \stopxtablefoot \stopxtable \stopplacetable Multiline table with caption: \startplacetable[title={Here's the caption. It may span multiple lines.}] \startxtable \startxtablehead[head] \startxrow \startxcell[align=middle,width={0.15\textwidth}] Centered Header \stopxcell \startxcell[align=right,width={0.14\textwidth}] Left Aligned \stopxcell \startxcell[align=left,width={0.16\textwidth}] Right Aligned \stopxcell \startxcell[align=right,width={0.35\textwidth}] Default aligned \stopxcell \stopxrow \stopxtablehead \startxtablebody[body] \startxrow \startxcell[align=middle,width={0.15\textwidth}] First \stopxcell \startxcell[align=right,width={0.14\textwidth}] row \stopxcell \startxcell[align=left,width={0.16\textwidth}] 12.0 \stopxcell \startxcell[align=right,width={0.35\textwidth}] Example of a row that spans multiple lines. \stopxcell \stopxrow \stopxtablebody \startxtablefoot[foot] \startxrow \startxcell[align=middle,width={0.15\textwidth}] Second \stopxcell \startxcell[align=right,width={0.14\textwidth}] row \stopxcell \startxcell[align=left,width={0.16\textwidth}] 5.0 \stopxcell \startxcell[align=right,width={0.35\textwidth}] Here's another one. Note the blank line between rows. \stopxcell \stopxrow \stopxtablefoot \stopxtable \stopplacetable Multiline table without caption: \startplacetable[location=none] \startxtable \startxtablehead[head] \startxrow \startxcell[align=middle,width={0.15\textwidth}] Centered Header \stopxcell \startxcell[align=right,width={0.14\textwidth}] Left Aligned \stopxcell \startxcell[align=left,width={0.16\textwidth}] Right Aligned \stopxcell \startxcell[align=right,width={0.35\textwidth}] Default aligned \stopxcell \stopxrow \stopxtablehead \startxtablebody[body] \startxrow \startxcell[align=middle,width={0.15\textwidth}] First \stopxcell \startxcell[align=right,width={0.14\textwidth}] row \stopxcell \startxcell[align=left,width={0.16\textwidth}] 12.0 \stopxcell \startxcell[align=right,width={0.35\textwidth}] Example of a row that spans multiple lines. \stopxcell \stopxrow \stopxtablebody \startxtablefoot[foot] \startxrow \startxcell[align=middle,width={0.15\textwidth}] Second \stopxcell \startxcell[align=right,width={0.14\textwidth}] row \stopxcell \startxcell[align=left,width={0.16\textwidth}] 5.0 \stopxcell \startxcell[align=right,width={0.35\textwidth}] Here's another one. Note the blank line between rows. \stopxcell \stopxrow \stopxtablefoot \stopxtable \stopplacetable Table without column headers: \startplacetable[location=none] \startxtable \startxtablebody[body] \startxrow \startxcell[align=left] 12 \stopxcell \startxcell[align=right] 12 \stopxcell \startxcell[align=middle] 12 \stopxcell \startxcell[align=left] 12 \stopxcell \stopxrow \startxrow \startxcell[align=left] 123 \stopxcell \startxcell[align=right] 123 \stopxcell \startxcell[align=middle] 123 \stopxcell \startxcell[align=left] 123 \stopxcell \stopxrow \stopxtablebody \startxtablefoot[foot] \startxrow \startxcell[align=left] 1 \stopxcell \startxcell[align=right] 1 \stopxcell \startxcell[align=middle] 1 \stopxcell \startxcell[align=left] 1 \stopxcell \stopxrow \stopxtablefoot \stopxtable \stopplacetable Multiline table without column headers: \startplacetable[location=none] \startxtable \startxtablebody[body] \startxrow \startxcell[align=middle,width={0.15\textwidth}] First \stopxcell \startxcell[align=right,width={0.14\textwidth}] row \stopxcell \startxcell[align=left,width={0.16\textwidth}] 12.0 \stopxcell \startxcell[width={0.35\textwidth}] Example of a row that spans multiple lines. \stopxcell \stopxrow \stopxtablebody \startxtablefoot[foot] \startxrow \startxcell[align=middle,width={0.15\textwidth}] Second \stopxcell \startxcell[align=right,width={0.14\textwidth}] row \stopxcell \startxcell[align=left,width={0.16\textwidth}] 5.0 \stopxcell \startxcell[width={0.35\textwidth}] Here's another one. Note the blank line between rows. \stopxcell \stopxrow \stopxtablefoot \stopxtable \stopplacetable pandoc-2.9.2.1/test/tables.custom000066400000000000000000000101551363630463000166220ustar00rootroot00000000000000

                Simple table with caption:

                Demonstration of simple table syntax.
                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table without caption:

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table indented two spaces:

                Demonstration of simple table syntax.
                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table with caption:

                Here’s the caption. It may span multiple lines.
                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Multiline table without caption:

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Table without column headers:

                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table without column headers:

                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.
                pandoc-2.9.2.1/test/tables.docbook4000066400000000000000000000165461363630463000170260ustar00rootroot00000000000000 Simple table with caption: Demonstration of simple table syntax. Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1
                Simple table without caption: Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1 Simple table indented two spaces: Demonstration of simple table syntax. Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1
                Multiline table with caption: Here’s the caption. It may span multiple lines. Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows.
                Multiline table without caption: Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. Table without column headers: 12 12 12 12 123 123 123 123 1 1 1 1 Multiline table without column headers: First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. pandoc-2.9.2.1/test/tables.docbook5000066400000000000000000000165461363630463000170270ustar00rootroot00000000000000 Simple table with caption: Demonstration of simple table syntax. Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1
                Simple table without caption: Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1 Simple table indented two spaces: Demonstration of simple table syntax. Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1
                Multiline table with caption: Here’s the caption. It may span multiple lines. Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows.
                Multiline table without caption: Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. Table without column headers: 12 12 12 12 123 123 123 123 1 1 1 1 Multiline table without column headers: First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. pandoc-2.9.2.1/test/tables.dokuwiki000066400000000000000000000032431363630463000171360ustar00rootroot00000000000000Simple table with caption: Demonstration of simple table syntax. ^ Right^Left ^ Center ^Default^ | 12|12 | 12 |12 | | 123|123 | 123 |123 | | 1|1 | 1 |1 | Simple table without caption: ^ Right^Left ^ Center ^Default^ | 12|12 | 12 |12 | | 123|123 | 123 |123 | | 1|1 | 1 |1 | Simple table indented two spaces: Demonstration of simple table syntax. ^ Right^Left ^ Center ^Default^ | 12|12 | 12 |12 | | 123|123 | 123 |123 | | 1|1 | 1 |1 | Multiline table with caption: Here’s the caption. It may span multiple lines. ^ Centered Header ^Left Aligned ^ Right Aligned^Default aligned ^ | First |row | 12.0|Example of a row that spans multiple lines. | | Second |row | 5.0|Here’s another one. Note the blank line between rows. | Multiline table without caption: ^ Centered Header ^Left Aligned ^ Right Aligned^Default aligned ^ | First |row | 12.0|Example of a row that spans multiple lines. | | Second |row | 5.0|Here’s another one. Note the blank line between rows. | Table without column headers: | 12|12 | 12 | 12| | 123|123 | 123 | 123| | 1|1 | 1 | 1| Multiline table without column headers: | First |row | 12.0|Example of a row that spans multiple lines. | | Second |row | 5.0|Here’s another one. Note the blank line between rows.| pandoc-2.9.2.1/test/tables.fb2000066400000000000000000000100361363630463000157570ustar00rootroot00000000000000 unrecognisedpandoc<p />

                Simple table with caption:

                RightLeftCenterDefault
                12121212
                123123123123
                1111

                Demonstration of simple table syntax.

                Simple table without caption:

                RightLeftCenterDefault
                12121212
                123123123123
                1111

                Simple table indented two spaces:

                RightLeftCenterDefault
                12121212
                123123123123
                1111

                Demonstration of simple table syntax.

                Multiline table with caption:

                Centered HeaderLeft AlignedRight AlignedDefault aligned
                Firstrow12.0Example of a row that spans multiple lines.
                Secondrow5.0Here’s another one. Note the blank line between rows.

                Here’s the caption. It may span multiple lines.

                Multiline table without caption:

                Centered HeaderLeft AlignedRight AlignedDefault aligned
                Firstrow12.0Example of a row that spans multiple lines.
                Secondrow5.0Here’s another one. Note the blank line between rows.

                Table without column headers:

                12121212
                123123123123
                1111

                Multiline table without column headers:

                Firstrow12.0Example of a row that spans multiple lines.
                Secondrow5.0Here’s another one. Note the blank line between rows.

                pandoc-2.9.2.1/test/tables.haddock000066400000000000000000000067031363630463000167110ustar00rootroot00000000000000Simple table with caption: > +-------+------+--------+---------+ > | Right | Left | Center | Default | > +=======+======+========+=========+ > | 12 | 12 | 12 | 12 | > +-------+------+--------+---------+ > | 123 | 123 | 123 | 123 | > +-------+------+--------+---------+ > | 1 | 1 | 1 | 1 | > +-------+------+--------+---------+ > > Demonstration of simple table syntax. Simple table without caption: > +-------+------+--------+---------+ > | Right | Left | Center | Default | > +=======+======+========+=========+ > | 12 | 12 | 12 | 12 | > +-------+------+--------+---------+ > | 123 | 123 | 123 | 123 | > +-------+------+--------+---------+ > | 1 | 1 | 1 | 1 | > +-------+------+--------+---------+ Simple table indented two spaces: > +-------+------+--------+---------+ > | Right | Left | Center | Default | > +=======+======+========+=========+ > | 12 | 12 | 12 | 12 | > +-------+------+--------+---------+ > | 123 | 123 | 123 | 123 | > +-------+------+--------+---------+ > | 1 | 1 | 1 | 1 | > +-------+------+--------+---------+ > > Demonstration of simple table syntax. Multiline table with caption: > +----------+---------+-----------+--------------------------+ > | Centered | Left | Right | Default aligned | > | Header | Aligned | Aligned | | > +==========+=========+===========+==========================+ > | First | row | 12.0 | Example of a row that | > | | | | spans multiple lines. | > +----------+---------+-----------+--------------------------+ > | Second | row | 5.0 | Here’s another one. Note | > | | | | the blank line between | > | | | | rows. | > +----------+---------+-----------+--------------------------+ > > Here’s the caption. It may span multiple lines. Multiline table without caption: > +----------+---------+-----------+--------------------------+ > | Centered | Left | Right | Default aligned | > | Header | Aligned | Aligned | | > +==========+=========+===========+==========================+ > | First | row | 12.0 | Example of a row that | > | | | | spans multiple lines. | > +----------+---------+-----------+--------------------------+ > | Second | row | 5.0 | Here’s another one. Note | > | | | | the blank line between | > | | | | rows. | > +----------+---------+-----------+--------------------------+ Table without column headers: > +-----+-----+-----+-----+ > | 12 | 12 | 12 | 12 | > +-----+-----+-----+-----+ > | 123 | 123 | 123 | 123 | > +-----+-----+-----+-----+ > | 1 | 1 | 1 | 1 | > +-----+-----+-----+-----+ Multiline table without column headers: > +----------+---------+-----------+--------------------------+ > | First | row | 12.0 | Example of a row that | > | | | | spans multiple lines. | > +----------+---------+-----------+--------------------------+ > | Second | row | 5.0 | Here’s another one. Note | > | | | | the blank line between | > | | | | rows. | > +----------+---------+-----------+--------------------------+ pandoc-2.9.2.1/test/tables.html4000066400000000000000000000103641363630463000163420ustar00rootroot00000000000000

                Simple table with caption:

                Demonstration of simple table syntax.
                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table without caption:

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table indented two spaces:

                Demonstration of simple table syntax.
                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table with caption:

                Here’s the caption. It may span multiple lines.
                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Multiline table without caption:

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Table without column headers:

                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table without column headers:

                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.
                pandoc-2.9.2.1/test/tables.html5000066400000000000000000000124761363630463000163510ustar00rootroot00000000000000

                Simple table with caption:

                Demonstration of simple table syntax.
                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table without caption:

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table indented two spaces:

                Demonstration of simple table syntax.
                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table with caption:

                Here’s the caption. It may span multiple lines.
                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Multiline table without caption:

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Table without column headers:

                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table without column headers:

                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.
                pandoc-2.9.2.1/test/tables.icml000066400000000000000000001031171363630463000162350ustar00rootroot00000000000000 Simple table with caption:
                Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1
                Demonstration of simple table syntax.
                Simple table without caption:
                Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1

                Simple table indented two spaces:
                Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1
                Demonstration of simple table syntax.
                Multiline table with caption:
                Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows.
                Here’s the caption. It may span multiple lines.
                Multiline table without caption:
                Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows.

                Table without column headers:
                12 12 12 12 123 123 123 123 1 1 1 1

                Multiline table without column headers:
                First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows.
                pandoc-2.9.2.1/test/tables.jats_archiving000066400000000000000000000106341363630463000203050ustar00rootroot00000000000000

                Simple table with caption:

                Demonstration of simple table syntax.

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table without caption:

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table indented two spaces:

                Demonstration of simple table syntax.

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table with caption:

                Here’s the caption. It may span multiple lines.

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Multiline table without caption:

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Table without column headers:

                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table without column headers:

                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.
                pandoc-2.9.2.1/test/tables.jats_articleauthoring000066400000000000000000000106341363630463000216770ustar00rootroot00000000000000

                Simple table with caption:

                Demonstration of simple table syntax.

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table without caption:

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table indented two spaces:

                Demonstration of simple table syntax.

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table with caption:

                Here’s the caption. It may span multiple lines.

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Multiline table without caption:

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Table without column headers:

                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table without column headers:

                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.
                pandoc-2.9.2.1/test/tables.jats_publishing000066400000000000000000000106341363630463000204770ustar00rootroot00000000000000

                Simple table with caption:

                Demonstration of simple table syntax.

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table without caption:

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Simple table indented two spaces:

                Demonstration of simple table syntax.

                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table with caption:

                Here’s the caption. It may span multiple lines.

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Multiline table without caption:

                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.

                Table without column headers:

                12 12 12 12
                123 123 123 123
                1 1 1 1

                Multiline table without column headers:

                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here’s another one. Note the blank line between rows.
                pandoc-2.9.2.1/test/tables.jira000066400000000000000000000023061363630463000162340ustar00rootroot00000000000000Simple table with caption: || Right || Left || Center || Default || | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | Simple table without caption: || Right || Left || Center || Default || | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | Simple table indented two spaces: || Right || Left || Center || Default || | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | Multiline table with caption: || Centered Header || Left Aligned || Right Aligned || Default aligned || | First | row | 12.0 | Example of a row that spans multiple lines. | | Second | row | 5.0 | Here’s another one. Note the blank line between rows. | Multiline table without caption: || Centered Header || Left Aligned || Right Aligned || Default aligned || | First | row | 12.0 | Example of a row that spans multiple lines. | | Second | row | 5.0 | Here’s another one. Note the blank line between rows. | Table without column headers: | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | Multiline table without column headers: | First | row | 12.0 | Example of a row that spans multiple lines. | | Second | row | 5.0 | Here’s another one. Note the blank line between rows. | pandoc-2.9.2.1/test/tables.latex000066400000000000000000000116511363630463000164270ustar00rootroot00000000000000Simple table with caption: \begin{longtable}[]{@{}rlcl@{}} \caption{Demonstration of simple table syntax.}\tabularnewline \toprule Right & Left & Center & Default\tabularnewline \midrule \endfirsthead \toprule Right & Left & Center & Default\tabularnewline \midrule \endhead 12 & 12 & 12 & 12\tabularnewline 123 & 123 & 123 & 123\tabularnewline 1 & 1 & 1 & 1\tabularnewline \bottomrule \end{longtable} Simple table without caption: \begin{longtable}[]{@{}rlcl@{}} \toprule Right & Left & Center & Default\tabularnewline \midrule \endhead 12 & 12 & 12 & 12\tabularnewline 123 & 123 & 123 & 123\tabularnewline 1 & 1 & 1 & 1\tabularnewline \bottomrule \end{longtable} Simple table indented two spaces: \begin{longtable}[]{@{}rlcl@{}} \caption{Demonstration of simple table syntax.}\tabularnewline \toprule Right & Left & Center & Default\tabularnewline \midrule \endfirsthead \toprule Right & Left & Center & Default\tabularnewline \midrule \endhead 12 & 12 & 12 & 12\tabularnewline 123 & 123 & 123 & 123\tabularnewline 1 & 1 & 1 & 1\tabularnewline \bottomrule \end{longtable} Multiline table with caption: \begin{longtable}[]{@{}clrl@{}} \caption{Here's the caption. It may span multiple lines.}\tabularnewline \toprule \begin{minipage}[b]{0.13\columnwidth}\centering Centered Header\strut \end{minipage} & \begin{minipage}[b]{0.12\columnwidth}\raggedright Left Aligned\strut \end{minipage} & \begin{minipage}[b]{0.14\columnwidth}\raggedleft Right Aligned\strut \end{minipage} & \begin{minipage}[b]{0.31\columnwidth}\raggedright Default aligned\strut \end{minipage}\tabularnewline \midrule \endfirsthead \toprule \begin{minipage}[b]{0.13\columnwidth}\centering Centered Header\strut \end{minipage} & \begin{minipage}[b]{0.12\columnwidth}\raggedright Left Aligned\strut \end{minipage} & \begin{minipage}[b]{0.14\columnwidth}\raggedleft Right Aligned\strut \end{minipage} & \begin{minipage}[b]{0.31\columnwidth}\raggedright Default aligned\strut \end{minipage}\tabularnewline \midrule \endhead \begin{minipage}[t]{0.13\columnwidth}\centering First\strut \end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright row\strut \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft 12.0\strut \end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright Example of a row that spans multiple lines.\strut \end{minipage}\tabularnewline \begin{minipage}[t]{0.13\columnwidth}\centering Second\strut \end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright row\strut \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft 5.0\strut \end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright Here's another one. Note the blank line between rows.\strut \end{minipage}\tabularnewline \bottomrule \end{longtable} Multiline table without caption: \begin{longtable}[]{@{}clrl@{}} \toprule \begin{minipage}[b]{0.13\columnwidth}\centering Centered Header\strut \end{minipage} & \begin{minipage}[b]{0.12\columnwidth}\raggedright Left Aligned\strut \end{minipage} & \begin{minipage}[b]{0.14\columnwidth}\raggedleft Right Aligned\strut \end{minipage} & \begin{minipage}[b]{0.31\columnwidth}\raggedright Default aligned\strut \end{minipage}\tabularnewline \midrule \endhead \begin{minipage}[t]{0.13\columnwidth}\centering First\strut \end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright row\strut \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft 12.0\strut \end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright Example of a row that spans multiple lines.\strut \end{minipage}\tabularnewline \begin{minipage}[t]{0.13\columnwidth}\centering Second\strut \end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright row\strut \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft 5.0\strut \end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright Here's another one. Note the blank line between rows.\strut \end{minipage}\tabularnewline \bottomrule \end{longtable} Table without column headers: \begin{longtable}[]{@{}rlcr@{}} \toprule \endhead 12 & 12 & 12 & 12\tabularnewline 123 & 123 & 123 & 123\tabularnewline 1 & 1 & 1 & 1\tabularnewline \bottomrule \end{longtable} Multiline table without column headers: \begin{longtable}[]{@{}clrl@{}} \toprule \endhead \begin{minipage}[t]{0.13\columnwidth}\centering First\strut \end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright row\strut \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft 12.0\strut \end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright Example of a row that spans multiple lines.\strut \end{minipage}\tabularnewline \begin{minipage}[t]{0.13\columnwidth}\centering Second\strut \end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright row\strut \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedleft 5.0\strut \end{minipage} & \begin{minipage}[t]{0.31\columnwidth}\raggedright Here's another one. Note the blank line between rows.\strut \end{minipage}\tabularnewline \bottomrule \end{longtable} pandoc-2.9.2.1/test/tables.man000066400000000000000000000036661363630463000160740ustar00rootroot00000000000000.PP Simple table with caption: .PP Demonstration of simple table syntax. .TS tab(@); r l c l. T{ Right T}@T{ Left T}@T{ Center T}@T{ Default T} _ T{ 12 T}@T{ 12 T}@T{ 12 T}@T{ 12 T} T{ 123 T}@T{ 123 T}@T{ 123 T}@T{ 123 T} T{ 1 T}@T{ 1 T}@T{ 1 T}@T{ 1 T} .TE .PP Simple table without caption: .PP .TS tab(@); r l c l. T{ Right T}@T{ Left T}@T{ Center T}@T{ Default T} _ T{ 12 T}@T{ 12 T}@T{ 12 T}@T{ 12 T} T{ 123 T}@T{ 123 T}@T{ 123 T}@T{ 123 T} T{ 1 T}@T{ 1 T}@T{ 1 T}@T{ 1 T} .TE .PP Simple table indented two spaces: .PP Demonstration of simple table syntax. .TS tab(@); r l c l. T{ Right T}@T{ Left T}@T{ Center T}@T{ Default T} _ T{ 12 T}@T{ 12 T}@T{ 12 T}@T{ 12 T} T{ 123 T}@T{ 123 T}@T{ 123 T}@T{ 123 T} T{ 1 T}@T{ 1 T}@T{ 1 T}@T{ 1 T} .TE .PP Multiline table with caption: .PP Here\[cq]s the caption. It may span multiple lines. .TS tab(@); cw(10.5n) lw(9.6n) rw(11.4n) lw(24.5n). T{ Centered Header T}@T{ Left Aligned T}@T{ Right Aligned T}@T{ Default aligned T} _ T{ First T}@T{ row T}@T{ 12.0 T}@T{ Example of a row that spans multiple lines. T} T{ Second T}@T{ row T}@T{ 5.0 T}@T{ Here\[cq]s another one. Note the blank line between rows. T} .TE .PP Multiline table without caption: .PP .TS tab(@); cw(10.5n) lw(9.6n) rw(11.4n) lw(24.5n). T{ Centered Header T}@T{ Left Aligned T}@T{ Right Aligned T}@T{ Default aligned T} _ T{ First T}@T{ row T}@T{ 12.0 T}@T{ Example of a row that spans multiple lines. T} T{ Second T}@T{ row T}@T{ 5.0 T}@T{ Here\[cq]s another one. Note the blank line between rows. T} .TE .PP Table without column headers: .PP .TS tab(@); r l c r. T{ 12 T}@T{ 12 T}@T{ 12 T}@T{ 12 T} T{ 123 T}@T{ 123 T}@T{ 123 T}@T{ 123 T} T{ 1 T}@T{ 1 T}@T{ 1 T}@T{ 1 T} .TE .PP Multiline table without column headers: .PP .TS tab(@); cw(10.5n) lw(9.6n) rw(11.4n) lw(24.5n). T{ First T}@T{ row T}@T{ 12.0 T}@T{ Example of a row that spans multiple lines. T} T{ Second T}@T{ row T}@T{ 5.0 T}@T{ Here\[cq]s another one. Note the blank line between rows. T} .TE pandoc-2.9.2.1/test/tables.markdown000066400000000000000000000047661363630463000171450ustar00rootroot00000000000000Simple table with caption: Right Left Center Default ------- ------ -------- --------- 12 12 12 12 123 123 123 123 1 1 1 1 : Demonstration of simple table syntax. Simple table without caption: Right Left Center Default ------- ------ -------- --------- 12 12 12 12 123 123 123 123 1 1 1 1 Simple table indented two spaces: Right Left Center Default ------- ------ -------- --------- 12 12 12 12 123 123 123 123 1 1 1 1 : Demonstration of simple table syntax. Multiline table with caption: -------------------------------------------------------------- Centered Left Right Default aligned Header Aligned Aligned ----------- ---------- ------------ -------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. -------------------------------------------------------------- : Here's the caption. It may span multiple lines. Multiline table without caption: -------------------------------------------------------------- Centered Left Right Default aligned Header Aligned Aligned ----------- ---------- ------------ -------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. -------------------------------------------------------------- Table without column headers: ----- ----- ----- ----- 12 12 12 12 123 123 123 123 1 1 1 1 ----- ----- ----- ----- Multiline table without column headers: ----------- ---------- ------------ -------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. ----------- ---------- ------------ -------------------------- pandoc-2.9.2.1/test/tables.mediawiki000066400000000000000000000042651363630463000172600ustar00rootroot00000000000000Simple table with caption: {| |+ Demonstration of simple table syntax. !align="right"| Right ! Left !align="center"| Center ! Default |- |align="right"| 12 | 12 |align="center"| 12 | 12 |- |align="right"| 123 | 123 |align="center"| 123 | 123 |- |align="right"| 1 | 1 |align="center"| 1 | 1 |} Simple table without caption: {| !align="right"| Right ! Left !align="center"| Center ! Default |- |align="right"| 12 | 12 |align="center"| 12 | 12 |- |align="right"| 123 | 123 |align="center"| 123 | 123 |- |align="right"| 1 | 1 |align="center"| 1 | 1 |} Simple table indented two spaces: {| |+ Demonstration of simple table syntax. !align="right"| Right ! Left !align="center"| Center ! Default |- |align="right"| 12 | 12 |align="center"| 12 | 12 |- |align="right"| 123 | 123 |align="center"| 123 | 123 |- |align="right"| 1 | 1 |align="center"| 1 | 1 |} Multiline table with caption: {| |+ Here’s the caption. It may span multiple lines. !align="center" width="15%"| Centered Header !width="13%"| Left Aligned !align="right" width="16%"| Right Aligned !width="35%"| Default aligned |- |align="center"| First | row |align="right"| 12.0 | Example of a row that spans multiple lines. |- |align="center"| Second | row |align="right"| 5.0 | Here’s another one. Note the blank line between rows. |} Multiline table without caption: {| !align="center" width="15%"| Centered Header !width="13%"| Left Aligned !align="right" width="16%"| Right Aligned !width="35%"| Default aligned |- |align="center"| First | row |align="right"| 12.0 | Example of a row that spans multiple lines. |- |align="center"| Second | row |align="right"| 5.0 | Here’s another one. Note the blank line between rows. |} Table without column headers: {| |align="right"| 12 | 12 |align="center"| 12 |align="right"| 12 |- |align="right"| 123 | 123 |align="center"| 123 |align="right"| 123 |- |align="right"| 1 | 1 |align="center"| 1 |align="right"| 1 |} Multiline table without column headers: {| |align="center" width="15%"| First |width="13%"| row |align="right" width="16%"| 12.0 |width="35%"| Example of a row that spans multiple lines. |- |align="center"| Second | row |align="right"| 5.0 | Here’s another one. Note the blank line between rows. |} pandoc-2.9.2.1/test/tables.ms000066400000000000000000000037741363630463000157400ustar00rootroot00000000000000.LP Simple table with caption: .PP Demonstration of simple table syntax. .TS delim(@@) tab( ); r l c l. T{ Right T} T{ Left T} T{ Center T} T{ Default T} _ T{ 12 T} T{ 12 T} T{ 12 T} T{ 12 T} T{ 123 T} T{ 123 T} T{ 123 T} T{ 123 T} T{ 1 T} T{ 1 T} T{ 1 T} T{ 1 T} .TE .LP Simple table without caption: .PP .TS delim(@@) tab( ); r l c l. T{ Right T} T{ Left T} T{ Center T} T{ Default T} _ T{ 12 T} T{ 12 T} T{ 12 T} T{ 12 T} T{ 123 T} T{ 123 T} T{ 123 T} T{ 123 T} T{ 1 T} T{ 1 T} T{ 1 T} T{ 1 T} .TE .LP Simple table indented two spaces: .PP Demonstration of simple table syntax. .TS delim(@@) tab( ); r l c l. T{ Right T} T{ Left T} T{ Center T} T{ Default T} _ T{ 12 T} T{ 12 T} T{ 12 T} T{ 12 T} T{ 123 T} T{ 123 T} T{ 123 T} T{ 123 T} T{ 1 T} T{ 1 T} T{ 1 T} T{ 1 T} .TE .LP Multiline table with caption: .PP Here\[cq]s the caption. It may span multiple lines. .TS delim(@@) tab( ); cw(10.5n) lw(9.6n) rw(11.4n) lw(24.5n). T{ Centered Header T} T{ Left Aligned T} T{ Right Aligned T} T{ Default aligned T} _ T{ First T} T{ row T} T{ 12.0 T} T{ Example of a row that spans multiple lines. T} T{ Second T} T{ row T} T{ 5.0 T} T{ Here\[cq]s another one. Note the blank line between rows. T} .TE .LP Multiline table without caption: .PP .TS delim(@@) tab( ); cw(10.5n) lw(9.6n) rw(11.4n) lw(24.5n). T{ Centered Header T} T{ Left Aligned T} T{ Right Aligned T} T{ Default aligned T} _ T{ First T} T{ row T} T{ 12.0 T} T{ Example of a row that spans multiple lines. T} T{ Second T} T{ row T} T{ 5.0 T} T{ Here\[cq]s another one. Note the blank line between rows. T} .TE .LP Table without column headers: .PP .TS delim(@@) tab( ); r l c r. T{ 12 T} T{ 12 T} T{ 12 T} T{ 12 T} T{ 123 T} T{ 123 T} T{ 123 T} T{ 123 T} T{ 1 T} T{ 1 T} T{ 1 T} T{ 1 T} .TE .LP Multiline table without column headers: .PP .TS delim(@@) tab( ); cw(10.5n) lw(9.6n) rw(11.4n) lw(24.5n). T{ First T} T{ row T} T{ 12.0 T} T{ Example of a row that spans multiple lines. T} T{ Second T} T{ row T} T{ 5.0 T} T{ Here\[cq]s another one. Note the blank line between rows. T} .TE pandoc-2.9.2.1/test/tables.muse000066400000000000000000000043401363630463000162600ustar00rootroot00000000000000Simple table with caption: Right || Left || Center || Default 12 | 12 | 12 | 12 123 | 123 | 123 | 123 1 | 1 | 1 | 1 |+ Demonstration of simple table syntax. +| Simple table without caption: Right || Left || Center || Default 12 | 12 | 12 | 12 123 | 123 | 123 | 123 1 | 1 | 1 | 1 Simple table indented two spaces: Right || Left || Center || Default 12 | 12 | 12 | 12 123 | 123 | 123 | 123 1 | 1 | 1 | 1 |+ Demonstration of simple table syntax. +| Multiline table with caption: +----------+---------+-----------+--------------------------+ | First | row | 12.0 | Example of a row that | | | | | spans multiple lines. | +----------+---------+-----------+--------------------------+ | Second | row | 5.0 | Here’s another one. Note | | | | | the blank line between | | | | | rows. | +----------+---------+-----------+--------------------------+ Multiline table without caption: +----------+---------+-----------+--------------------------+ | First | row | 12.0 | Example of a row that | | | | | spans multiple lines. | +----------+---------+-----------+--------------------------+ | Second | row | 5.0 | Here’s another one. Note | | | | | the blank line between | | | | | rows. | +----------+---------+-----------+--------------------------+ Table without column headers: 12 | 12 | 12 | 12 123 | 123 | 123 | 123 1 | 1 | 1 | 1 Multiline table without column headers: +----------+---------+-----------+--------------------------+ | First | row | 12.0 | Example of a row that | | | | | spans multiple lines. | +----------+---------+-----------+--------------------------+ | Second | row | 5.0 | Here’s another one. Note | | | | | the blank line between | | | | | rows. | +----------+---------+-----------+--------------------------+ pandoc-2.9.2.1/test/tables.native000066400000000000000000000111261363630463000165750ustar00rootroot00000000000000[Para [Str "Simple",Space,Str "table",Space,Str "with",Space,Str "caption:"] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Simple",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Simple",Space,Str "table",Space,Str "indented",Space,Str "two",Space,Str "spaces:"] ,Table [Str "Demonstration",Space,Str "of",Space,Str "simple",Space,Str "table",Space,Str "syntax."] [AlignRight,AlignLeft,AlignCenter,AlignDefault] [0.0,0.0,0.0,0.0] [[Plain [Str "Right"]] ,[Plain [Str "Left"]] ,[Plain [Str "Center"]] ,[Plain [Str "Default"]]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "with",Space,Str "caption:"] ,Table [Str "Here\8217s",Space,Str "the",Space,Str "caption.",SoftBreak,Str "It",Space,Str "may",Space,Str "span",Space,Str "multiple",Space,Str "lines."] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.35] [[Plain [Str "Centered",SoftBreak,Str "Header"]] ,[Plain [Str "Left",SoftBreak,Str "Aligned"]] ,[Plain [Str "Right",SoftBreak,Str "Aligned"]] ,[Plain [Str "Default",Space,Str "aligned"]]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",SoftBreak,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "caption:"] ,Table [] [AlignCenter,AlignLeft,AlignRight,AlignLeft] [0.15,0.1375,0.1625,0.35] [[Plain [Str "Centered",SoftBreak,Str "Header"]] ,[Plain [Str "Left",SoftBreak,Str "Aligned"]] ,[Plain [Str "Right",SoftBreak,Str "Aligned"]] ,[Plain [Str "Default",Space,Str "aligned"]]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",SoftBreak,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]] ,Para [Str "Table",Space,Str "without",Space,Str "column",Space,Str "headers:"] ,Table [] [AlignRight,AlignLeft,AlignCenter,AlignRight] [0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[]] [[[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]] ,[Plain [Str "12"]]] ,[[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]] ,[Plain [Str "123"]]] ,[[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]] ,[Plain [Str "1"]]]] ,Para [Str "Multiline",Space,Str "table",Space,Str "without",Space,Str "column",Space,Str "headers:"] ,Table [] [AlignCenter,AlignLeft,AlignRight,AlignDefault] [0.15,0.1375,0.1625,0.35] [[] ,[] ,[] ,[]] [[[Plain [Str "First"]] ,[Plain [Str "row"]] ,[Plain [Str "12.0"]] ,[Plain [Str "Example",Space,Str "of",Space,Str "a",Space,Str "row",Space,Str "that",Space,Str "spans",SoftBreak,Str "multiple",Space,Str "lines."]]] ,[[Plain [Str "Second"]] ,[Plain [Str "row"]] ,[Plain [Str "5.0"]] ,[Plain [Str "Here\8217s",Space,Str "another",Space,Str "one.",Space,Str "Note",SoftBreak,Str "the",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "rows."]]]]] pandoc-2.9.2.1/test/tables.opendocument000066400000000000000000000462141363630463000200150ustar00rootroot00000000000000Simple table with caption: Demonstration of simple table syntax. Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1 Simple table without caption: Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1 Simple table indented two spaces: Demonstration of simple table syntax. Right Left Center Default 12 12 12 12 123 123 123 123 1 1 1 1 Multiline table with caption: Here’s the caption. It may span multiple lines. Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. Multiline table without caption: Centered Header Left Aligned Right Aligned Default aligned First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. Table without column headers: 12 12 12 12 123 123 123 123 1 1 1 1 Multiline table without column headers: First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. pandoc-2.9.2.1/test/tables.org000066400000000000000000000037541363630463000161060ustar00rootroot00000000000000Simple table with caption: | Right | Left | Center | Default | |-------+------+--------+---------| | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | #+CAPTION: Demonstration of simple table syntax. Simple table without caption: | Right | Left | Center | Default | |-------+------+--------+---------| | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | Simple table indented two spaces: | Right | Left | Center | Default | |-------+------+--------+---------| | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | #+CAPTION: Demonstration of simple table syntax. Multiline table with caption: | Centered Header | Left Aligned | Right Aligned | Default aligned | |-----------------+--------------+---------------+-------------------------------------------------------| | First | row | 12.0 | Example of a row that spans multiple lines. | | Second | row | 5.0 | Here's another one. Note the blank line between rows. | #+CAPTION: Here's the caption. It may span multiple lines. Multiline table without caption: | Centered Header | Left Aligned | Right Aligned | Default aligned | |-----------------+--------------+---------------+-------------------------------------------------------| | First | row | 12.0 | Example of a row that spans multiple lines. | | Second | row | 5.0 | Here's another one. Note the blank line between rows. | Table without column headers: | 12 | 12 | 12 | 12 | | 123 | 123 | 123 | 123 | | 1 | 1 | 1 | 1 | Multiline table without column headers: | First | row | 12.0 | Example of a row that spans multiple lines. | | Second | row | 5.0 | Here's another one. Note the blank line between rows. | pandoc-2.9.2.1/test/tables.plain000066400000000000000000000047761363630463000164270ustar00rootroot00000000000000Simple table with caption: Right Left Center Default ------- ------ -------- --------- 12 12 12 12 123 123 123 123 1 1 1 1 : Demonstration of simple table syntax. Simple table without caption: Right Left Center Default ------- ------ -------- --------- 12 12 12 12 123 123 123 123 1 1 1 1 Simple table indented two spaces: Right Left Center Default ------- ------ -------- --------- 12 12 12 12 123 123 123 123 1 1 1 1 : Demonstration of simple table syntax. Multiline table with caption: -------------------------------------------------------------- Centered Left Right Default aligned Header Aligned Aligned ----------- ---------- ------------ -------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. -------------------------------------------------------------- : Here’s the caption. It may span multiple lines. Multiline table without caption: -------------------------------------------------------------- Centered Left Right Default aligned Header Aligned Aligned ----------- ---------- ------------ -------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. -------------------------------------------------------------- Table without column headers: ----- ----- ----- ----- 12 12 12 12 123 123 123 123 1 1 1 1 ----- ----- ----- ----- Multiline table without column headers: ----------- ---------- ------------ -------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here’s another one. Note the blank line between rows. ----------- ---------- ------------ -------------------------- pandoc-2.9.2.1/test/tables.rst000066400000000000000000000055461363630463000161300ustar00rootroot00000000000000Simple table with caption: .. table:: Demonstration of simple table syntax. ===== ==== ====== ======= Right Left Center Default ===== ==== ====== ======= 12 12 12 12 123 123 123 123 1 1 1 1 ===== ==== ====== ======= Simple table without caption: ===== ==== ====== ======= Right Left Center Default ===== ==== ====== ======= 12 12 12 12 123 123 123 123 1 1 1 1 ===== ==== ====== ======= Simple table indented two spaces: .. table:: Demonstration of simple table syntax. ===== ==== ====== ======= Right Left Center Default ===== ==== ====== ======= 12 12 12 12 123 123 123 123 1 1 1 1 ===== ==== ====== ======= Multiline table with caption: .. table:: Here’s the caption. It may span multiple lines. +----------+---------+-----------+--------------------------+ | Centered | Left | Right | Default aligned | | Header | Aligned | Aligned | | +==========+=========+===========+==========================+ | First | row | 12.0 | Example of a row that | | | | | spans multiple lines. | +----------+---------+-----------+--------------------------+ | Second | row | 5.0 | Here’s another one. Note | | | | | the blank line between | | | | | rows. | +----------+---------+-----------+--------------------------+ Multiline table without caption: +----------+---------+-----------+--------------------------+ | Centered | Left | Right | Default aligned | | Header | Aligned | Aligned | | +==========+=========+===========+==========================+ | First | row | 12.0 | Example of a row that | | | | | spans multiple lines. | +----------+---------+-----------+--------------------------+ | Second | row | 5.0 | Here’s another one. Note | | | | | the blank line between | | | | | rows. | +----------+---------+-----------+--------------------------+ Table without column headers: === === === === 12 12 12 12 123 123 123 123 1 1 1 1 === === === === Multiline table without column headers: +----------+---------+-----------+--------------------------+ | First | row | 12.0 | Example of a row that | | | | | spans multiple lines. | +----------+---------+-----------+--------------------------+ | Second | row | 5.0 | Here’s another one. Note | | | | | the blank line between | | | | | rows. | +----------+---------+-----------+--------------------------+ pandoc-2.9.2.1/test/tables.rtf000066400000000000000000000204631363630463000161060ustar00rootroot00000000000000{\pard \ql \f0 \sa180 \li0 \fi0 Simple table with caption:\par} { \trowd \trgaph120 \clbrdrb\brdrs\cellx2160\clbrdrb\brdrs\cellx4320\clbrdrb\brdrs\cellx6480\clbrdrb\brdrs\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 Right\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Left\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 Center\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Default\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 12\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 123\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 1\par} \cell} } \intbl\row} {\pard \ql \f0 \sa180 \li0 \fi0 Demonstration of simple table syntax.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Simple table without caption:\par} { \trowd \trgaph120 \clbrdrb\brdrs\cellx2160\clbrdrb\brdrs\cellx4320\clbrdrb\brdrs\cellx6480\clbrdrb\brdrs\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 Right\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Left\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 Center\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Default\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 12\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 123\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 1\par} \cell} } \intbl\row} {\pard \ql \f0 \sa180 \li0 \fi0 \par} {\pard \ql \f0 \sa180 \li0 \fi0 Simple table indented two spaces:\par} { \trowd \trgaph120 \clbrdrb\brdrs\cellx2160\clbrdrb\brdrs\cellx4320\clbrdrb\brdrs\cellx6480\clbrdrb\brdrs\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 Right\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Left\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 Center\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Default\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 12\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 123\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 1\par} \cell} } \intbl\row} {\pard \ql \f0 \sa180 \li0 \fi0 Demonstration of simple table syntax.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Multiline table with caption:\par} { \trowd \trgaph120 \clbrdrb\brdrs\cellx1296\clbrdrb\brdrs\cellx2484\clbrdrb\brdrs\cellx3888\clbrdrb\brdrs\cellx6912 \trkeep\intbl { {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 Centered Header\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Left Aligned\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 Right Aligned\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Default aligned\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx1296\cellx2484\cellx3888\cellx6912 \trkeep\intbl { {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 First\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 row\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 12.0\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Example of a row that spans multiple lines.\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx1296\cellx2484\cellx3888\cellx6912 \trkeep\intbl { {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 Second\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 row\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 5.0\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here\u8217's another one. Note the blank line between rows.\par} \cell} } \intbl\row} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's the caption. It may span multiple lines.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Multiline table without caption:\par} { \trowd \trgaph120 \clbrdrb\brdrs\cellx1296\clbrdrb\brdrs\cellx2484\clbrdrb\brdrs\cellx3888\clbrdrb\brdrs\cellx6912 \trkeep\intbl { {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 Centered Header\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Left Aligned\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 Right Aligned\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Default aligned\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx1296\cellx2484\cellx3888\cellx6912 \trkeep\intbl { {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 First\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 row\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 12.0\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Example of a row that spans multiple lines.\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx1296\cellx2484\cellx3888\cellx6912 \trkeep\intbl { {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 Second\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 row\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 5.0\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here\u8217's another one. Note the blank line between rows.\par} \cell} } \intbl\row} {\pard \ql \f0 \sa180 \li0 \fi0 \par} {\pard \ql \f0 \sa180 \li0 \fi0 Table without column headers:\par} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 12\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 12\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 123\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 123\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx2160\cellx4320\cellx6480\cellx8640 \trkeep\intbl { {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 1\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 1\par} \cell} } \intbl\row} {\pard \ql \f0 \sa180 \li0 \fi0 \par} {\pard \ql \f0 \sa180 \li0 \fi0 Multiline table without column headers:\par} { \trowd \trgaph120 \cellx1296\cellx2484\cellx3888\cellx6912 \trkeep\intbl { {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 First\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 row\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 12.0\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Example of a row that spans multiple lines.\par} \cell} } \intbl\row} { \trowd \trgaph120 \cellx1296\cellx2484\cellx3888\cellx6912 \trkeep\intbl { {{\pard\intbl \qc \f0 \sa0 \li0 \fi0 Second\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 row\par} \cell} {{\pard\intbl \qr \f0 \sa0 \li0 \fi0 5.0\par} \cell} {{\pard\intbl \ql \f0 \sa0 \li0 \fi0 Here\u8217's another one. Note the blank line between rows.\par} \cell} } \intbl\row} {\pard \ql \f0 \sa180 \li0 \fi0 \par} pandoc-2.9.2.1/test/tables.tei000066400000000000000000000076261363630463000161020ustar00rootroot00000000000000

                Simple table with caption:

                Right

                Left

                Center

                Default

                12

                12

                12

                12

                123

                123

                123

                123

                1

                1

                1

                1

                Simple table without caption:

                Right

                Left

                Center

                Default

                12

                12

                12

                12

                123

                123

                123

                123

                1

                1

                1

                1

                Simple table indented two spaces:

                Right

                Left

                Center

                Default

                12

                12

                12

                12

                123

                123

                123

                123

                1

                1

                1

                1

                Multiline table with caption:

                Centered Header

                Left Aligned

                Right Aligned

                Default aligned

                First

                row

                12.0

                Example of a row that spans multiple lines.

                Second

                row

                5.0

                Here’s another one. Note the blank line between rows.

                Multiline table without caption:

                Centered Header

                Left Aligned

                Right Aligned

                Default aligned

                First

                row

                12.0

                Example of a row that spans multiple lines.

                Second

                row

                5.0

                Here’s another one. Note the blank line between rows.

                Table without column headers:

                12

                12

                12

                12

                123

                123

                123

                123

                1

                1

                1

                1

                Multiline table without column headers:

                First

                row

                12.0

                Example of a row that spans multiple lines.

                Second

                row

                5.0

                Here’s another one. Note the blank line between rows.

                pandoc-2.9.2.1/test/tables.texinfo000066400000000000000000000042551363630463000167700ustar00rootroot00000000000000@node Top @top Top Simple table with caption: @float @multitable {Right} {Left} {Center} {Default} @headitem Right @tab Left @tab Center @tab Default @item 12 @tab 12 @tab 12 @tab 12 @item 123 @tab 123 @tab 123 @tab 123 @item 1 @tab 1 @tab 1 @tab 1 @end multitable @caption{Demonstration of simple table syntax.} @end float Simple table without caption: @multitable {Right} {Left} {Center} {Default} @headitem Right @tab Left @tab Center @tab Default @item 12 @tab 12 @tab 12 @tab 12 @item 123 @tab 123 @tab 123 @tab 123 @item 1 @tab 1 @tab 1 @tab 1 @end multitable Simple table indented two spaces: @float @multitable {Right} {Left} {Center} {Default} @headitem Right @tab Left @tab Center @tab Default @item 12 @tab 12 @tab 12 @tab 12 @item 123 @tab 123 @tab 123 @tab 123 @item 1 @tab 1 @tab 1 @tab 1 @end multitable @caption{Demonstration of simple table syntax.} @end float Multiline table with caption: @float @multitable @columnfractions 0.15 0.14 0.16 0.35 @headitem Centered Header @tab Left Aligned @tab Right Aligned @tab Default aligned @item First @tab row @tab 12.0 @tab Example of a row that spans multiple lines. @item Second @tab row @tab 5.0 @tab Here's another one. Note the blank line between rows. @end multitable @caption{Here's the caption. It may span multiple lines.} @end float Multiline table without caption: @multitable @columnfractions 0.15 0.14 0.16 0.35 @headitem Centered Header @tab Left Aligned @tab Right Aligned @tab Default aligned @item First @tab row @tab 12.0 @tab Example of a row that spans multiple lines. @item Second @tab row @tab 5.0 @tab Here's another one. Note the blank line between rows. @end multitable Table without column headers: @multitable {123} {123} {123} {123} @item 12 @tab 12 @tab 12 @tab 12 @item 123 @tab 123 @tab 123 @tab 123 @item 1 @tab 1 @tab 1 @tab 1 @end multitable Multiline table without column headers: @multitable @columnfractions 0.15 0.14 0.16 0.35 @item First @tab row @tab 12.0 @tab Example of a row that spans multiple lines. @item Second @tab row @tab 5.0 @tab Here's another one. Note the blank line between rows. @end multitable pandoc-2.9.2.1/test/tables.textile000066400000000000000000000067361363630463000170000ustar00rootroot00000000000000Simple table with caption:
                Demonstration of simple table syntax.
                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1
                Simple table without caption: |_. Right|_. Left|_. Center|_. Default| |>. 12|<. 12|=. 12|12| |>. 123|<. 123|=. 123|123| |>. 1|<. 1|=. 1|1| Simple table indented two spaces:
                Demonstration of simple table syntax.
                Right Left Center Default
                12 12 12 12
                123 123 123 123
                1 1 1 1
                Multiline table with caption:
                Here's the caption. It may span multiple lines.
                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here's another one. Note the blank line between rows.
                Multiline table without caption:
                Centered Header Left Aligned Right Aligned Default aligned
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here's another one. Note the blank line between rows.
                Table without column headers: |>. 12|<. 12|=. 12|>. 12| |>. 123|<. 123|=. 123|>. 123| |>. 1|<. 1|=. 1|>. 1| Multiline table without column headers:
                First row 12.0 Example of a row that spans multiple lines.
                Second row 5.0 Here's another one. Note the blank line between rows.
                pandoc-2.9.2.1/test/tables.txt000066400000000000000000000051351363630463000161310ustar00rootroot00000000000000Simple table with caption: Right Left Center Default ------- ------ ---------- ------- 12 12 12 12 123 123 123 123 1 1 1 1 Table: Demonstration of simple table syntax. Simple table without caption: Right Left Center Default ------- ------ ---------- ------- 12 12 12 12 123 123 123 123 1 1 1 1 Simple table indented two spaces: Right Left Center Default ------- ------ ---------- ------- 12 12 12 12 123 123 123 123 1 1 1 1 : Demonstration of simple table syntax. Multiline table with caption: : Here's the caption. It may span multiple lines. --------------------------------------------------------------- Centered Left Right Header Aligned Aligned Default aligned ---------- --------- ----------- --------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. --------------------------------------------------------------- Multiline table without caption: --------------------------------------------------------------- Centered Left Right Header Aligned Aligned Default aligned ---------- --------- ----------- --------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. --------------------------------------------------------------- Table without column headers: ------- ------ ---------- ------- 12 12 12 12 123 123 123 123 1 1 1 1 ------- ------ ---------- ------- Multiline table without column headers: ---------- --------- ----------- --------------------------- First row 12.0 Example of a row that spans multiple lines. Second row 5.0 Here's another one. Note the blank line between rows. ---------- --------- ----------- --------------------------- pandoc-2.9.2.1/test/tables.xwiki000066400000000000000000000021171363630463000164420ustar00rootroot00000000000000Simple table with caption: |=Right |=Left |=Center |=Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 Simple table without caption: |=Right |=Left |=Center |=Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 Simple table indented two spaces: |=Right |=Left |=Center |=Default |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 Multiline table with caption: |=Centered Header |=Left Aligned |=Right Aligned |=Default aligned |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. Multiline table without caption: |=Centered Header |=Left Aligned |=Right Aligned |=Default aligned |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. Table without column headers: |= |= |= |= |12 |12 |12 |12 |123 |123 |123 |123 |1 |1 |1 |1 Multiline table without column headers: |= |= |= |= |First |row |12.0 |Example of a row that spans multiple lines. |Second |row |5.0 |Here’s another one. Note the blank line between rows. pandoc-2.9.2.1/test/tables.zimwiki000066400000000000000000000040471363630463000167760ustar00rootroot00000000000000Simple table with caption: Demonstration of simple table syntax. |Right|Left |Center |Default| |----:|:----|:-----:|-------| | 12|12 | 12 |12 | | 123|123 | 123 |123 | | 1|1 | 1 |1 | Simple table without caption: |Right|Left |Center |Default| |----:|:----|:-----:|-------| | 12|12 | 12 |12 | | 123|123 | 123 |123 | | 1|1 | 1 |1 | Simple table indented two spaces: Demonstration of simple table syntax. |Right|Left |Center |Default| |----:|:----|:-----:|-------| | 12|12 | 12 |12 | | 123|123 | 123 |123 | | 1|1 | 1 |1 | Multiline table with caption: Here’s the caption. It may span multiple lines. |Centered Header|Left Aligned|Right Aligned|Default aligned | |:-------------:|:-----------|------------:|:------------------------------------------------------| | First |row | 12.0|Example of a row that spans multiple lines. | | Second |row | 5.0|Here’s another one. Note the blank line between rows. | Multiline table without caption: |Centered Header|Left Aligned|Right Aligned|Default aligned | |:-------------:|:-----------|------------:|:------------------------------------------------------| | First |row | 12.0|Example of a row that spans multiple lines. | | Second |row | 5.0|Here’s another one. Note the blank line between rows. | Table without column headers: | 12|12 | 12 | 12| |----:|:----|:-----:|----:| | 12|12 | 12 | 12| | 123|123 | 123 | 123| | 1|1 | 1 | 1| Multiline table without column headers: | First |row | 12.0|Example of a row that spans multiple lines. | |:--------:|:----|-----:|-----------------------------------------------------| | First |row | 12.0|Example of a row that spans multiple lines. | | Second |row | 5.0|Here’s another one. Note the blank line between rows.| pandoc-2.9.2.1/test/test-pandoc.hs000066400000000000000000000075771363630463000167070ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -Wall #-} module Main where import Prelude import GHC.IO.Encoding import Test.Tasty import qualified Tests.Command import qualified Tests.Lua import qualified Tests.Lua.Module import qualified Tests.Old import qualified Tests.Readers.Creole import qualified Tests.Readers.Docx import qualified Tests.Readers.DokuWiki import qualified Tests.Readers.EPUB import qualified Tests.Readers.FB2 import qualified Tests.Readers.HTML import qualified Tests.Readers.JATS import qualified Tests.Readers.Jira import qualified Tests.Readers.LaTeX import qualified Tests.Readers.Markdown import qualified Tests.Readers.Muse import qualified Tests.Readers.Odt import qualified Tests.Readers.Org import qualified Tests.Readers.RST import qualified Tests.Readers.Txt2Tags import qualified Tests.Readers.Man import qualified Tests.Shared import qualified Tests.Writers.AsciiDoc import qualified Tests.Writers.ConTeXt import qualified Tests.Writers.Docbook import qualified Tests.Writers.Docx import qualified Tests.Writers.FB2 import qualified Tests.Writers.HTML import qualified Tests.Writers.JATS import qualified Tests.Writers.LaTeX import qualified Tests.Writers.Markdown import qualified Tests.Writers.Muse import qualified Tests.Writers.Native import qualified Tests.Writers.Org import qualified Tests.Writers.Plain import qualified Tests.Writers.Powerpoint import qualified Tests.Writers.RST import qualified Tests.Writers.TEI import Tests.Helpers (findPandoc) import Text.Pandoc.Shared (inDirectory) tests :: FilePath -> TestTree tests pandocPath = testGroup "pandoc tests" [ Tests.Command.tests pandocPath , testGroup "Old" (Tests.Old.tests pandocPath) , testGroup "Shared" Tests.Shared.tests , testGroup "Writers" [ testGroup "Native" Tests.Writers.Native.tests , testGroup "ConTeXt" Tests.Writers.ConTeXt.tests , testGroup "LaTeX" Tests.Writers.LaTeX.tests , testGroup "HTML" Tests.Writers.HTML.tests , testGroup "JATS" Tests.Writers.JATS.tests , testGroup "Docbook" Tests.Writers.Docbook.tests , testGroup "Markdown" Tests.Writers.Markdown.tests , testGroup "Org" Tests.Writers.Org.tests , testGroup "Plain" Tests.Writers.Plain.tests , testGroup "AsciiDoc" Tests.Writers.AsciiDoc.tests , testGroup "Docx" Tests.Writers.Docx.tests , testGroup "RST" Tests.Writers.RST.tests , testGroup "TEI" Tests.Writers.TEI.tests , testGroup "Muse" Tests.Writers.Muse.tests , testGroup "FB2" Tests.Writers.FB2.tests , testGroup "PowerPoint" Tests.Writers.Powerpoint.tests ] , testGroup "Readers" [ testGroup "LaTeX" Tests.Readers.LaTeX.tests , testGroup "Markdown" Tests.Readers.Markdown.tests , testGroup "HTML" Tests.Readers.HTML.tests , testGroup "JATS" Tests.Readers.JATS.tests , testGroup "Jira" Tests.Readers.Jira.tests , testGroup "Org" Tests.Readers.Org.tests , testGroup "RST" Tests.Readers.RST.tests , testGroup "Docx" Tests.Readers.Docx.tests , testGroup "Odt" Tests.Readers.Odt.tests , testGroup "Txt2Tags" Tests.Readers.Txt2Tags.tests , testGroup "EPUB" Tests.Readers.EPUB.tests , testGroup "Muse" Tests.Readers.Muse.tests , testGroup "Creole" Tests.Readers.Creole.tests , testGroup "Man" Tests.Readers.Man.tests , testGroup "FB2" Tests.Readers.FB2.tests , testGroup "DokuWiki" Tests.Readers.DokuWiki.tests ] , testGroup "Lua" [ testGroup "Lua filters" Tests.Lua.tests , testGroup "Lua modules" Tests.Lua.Module.tests ] ] main :: IO () main = do setLocaleEncoding utf8 inDirectory "test" $ do fp <- findPandoc putStrLn $ "Using pandoc executable at " ++ fp defaultMain $ tests fp pandoc-2.9.2.1/test/testsuite.native000066400000000000000000000653501363630463000173640ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "John",Space,Str "MacFarlane"],MetaInlines [Str "Anonymous"]]),("date",MetaInlines [Str "July",Space,Str "17,",Space,Str "2006"]),("title",MetaInlines [Str "Pandoc",Space,Str "Test",Space,Str "Suite"])]}) [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",SoftBreak,Str "John",Space,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."] ,HorizontalRule ,Header 1 ("headers",[],[]) [Str "Headers"] ,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link ("",[],[]) [Str "embedded",Space,Str "link"] ("/url","")] ,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 4 ("level-4",[],[]) [Str "Level",Space,Str "4"] ,Header 5 ("level-5",[],[]) [Str "Level",Space,Str "5"] ,Header 1 ("level-1",[],[]) [Str "Level",Space,Str "1"] ,Header 2 ("level-2-with-emphasis",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 3 ("level-3",[],[]) [Str "Level",Space,Str "3"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,Header 2 ("level-2",[],[]) [Str "Level",Space,Str "2"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,HorizontalRule ,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",SoftBreak,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",SoftBreak,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",SoftBreak,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",SoftBreak,Str "list",Space,Str "item."] ,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",SoftBreak,Str "*",Space,Str "criminey."] ,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."] ,HorizontalRule ,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "E-mail",Space,Str "style:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",SoftBreak,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]] ,BlockQuote [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ,Para [Str "A",Space,Str "list:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "item",Space,Str "one"]] ,[Plain [Str "item",Space,Str "two"]]] ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"] ,BlockQuote [Para [Str "nested"]] ,BlockQuote [Para [Str "nested"]]] ,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",SoftBreak,Str ">",Space,Str "1."] ,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."] ,HorizontalRule ,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab" ,Para [Str "And:"] ,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{" ,HorizontalRule ,Header 1 ("lists",[],[]) [Str "Lists"] ,Header 2 ("unordered",[],[]) [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "tight:"] ,BulletList [[Plain [Str "asterisk",Space,Str "1"]] ,[Plain [Str "asterisk",Space,Str "2"]] ,[Plain [Str "asterisk",Space,Str "3"]]] ,Para [Str "Asterisks",Space,Str "loose:"] ,BulletList [[Para [Str "asterisk",Space,Str "1"]] ,[Para [Str "asterisk",Space,Str "2"]] ,[Para [Str "asterisk",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "tight:"] ,BulletList [[Plain [Str "Plus",Space,Str "1"]] ,[Plain [Str "Plus",Space,Str "2"]] ,[Plain [Str "Plus",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "loose:"] ,BulletList [[Para [Str "Plus",Space,Str "1"]] ,[Para [Str "Plus",Space,Str "2"]] ,[Para [Str "Plus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "tight:"] ,BulletList [[Plain [Str "Minus",Space,Str "1"]] ,[Plain [Str "Minus",Space,Str "2"]] ,[Plain [Str "Minus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "loose:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Header 2 ("ordered",[],[]) [Str "Ordered"] ,Para [Str "Tight:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "First"]] ,[Plain [Str "Second"]] ,[Plain [Str "Third"]]] ,Para [Str "and:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "One"]] ,[Plain [Str "Two"]] ,[Plain [Str "Three"]]] ,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "and",Space,Str "using",Space,Str "spaces:"] ,OrderedList (1,Decimal,Period) [[Para [Str "One"]] ,[Para [Str "Two"]] ,[Para [Str "Three"]]] ,Para [Str "Multiple",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."] ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog\8217s",SoftBreak,Str "back."]] ,[Para [Str "Item",Space,Str "2."]] ,[Para [Str "Item",Space,Str "3."]]] ,Header 2 ("nested",[],[]) [Str "Nested"] ,BulletList [[Plain [Str "Tab"] ,BulletList [[Plain [Str "Tab"] ,BulletList [[Plain [Str "Tab"]]]]]]] ,Para [Str "Here\8217s",Space,Str "another:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "First"]] ,[Plain [Str "Second:"] ,BulletList [[Plain [Str "Fee"]] ,[Plain [Str "Fie"]] ,[Plain [Str "Foe"]]]] ,[Plain [Str "Third"]]] ,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Plain [Str "Fee"]] ,[Plain [Str "Fie"]] ,[Plain [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Header 2 ("tabs-and-spaces",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",SoftBreak,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",SoftBreak,Str "indented",Space,Str "with",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",SoftBreak,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",SoftBreak,Str "indented",Space,Str "with",Space,Str "spaces"]]]]] ,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"] ,OrderedList (2,Decimal,TwoParens) [[Para [Str "begins",Space,Str "with",Space,Str "2"]] ,[Para [Str "and",Space,Str "now",Space,Str "3"] ,Para [Str "with",Space,Str "a",Space,Str "continuation"] ,OrderedList (4,LowerRoman,Period) [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",SoftBreak,Str "starting",Space,Str "with",Space,Str "4"]] ,[Plain [Str "more",Space,Str "items"] ,OrderedList (1,UpperAlpha,TwoParens) [[Plain [Str "a",Space,Str "subsublist"]] ,[Plain [Str "a",Space,Str "subsublist"]]]]]]] ,Para [Str "Nesting:"] ,OrderedList (1,UpperAlpha,Period) [[Plain [Str "Upper",Space,Str "Alpha"] ,OrderedList (1,UpperRoman,Period) [[Plain [Str "Upper",Space,Str "Roman."] ,OrderedList (6,Decimal,TwoParens) [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"] ,OrderedList (3,LowerAlpha,OneParen) [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]] ,Para [Str "Autonumbering:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Autonumber."]] ,[Plain [Str "More."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Nested."]]]]] ,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"] ,Para [Str "M.A.\160\&2007"] ,Para [Str "B.",Space,Str "Williams"] ,HorizontalRule ,Header 1 ("definition-lists",[],[]) [Str "Definition",Space,Str "Lists"] ,Para [Str "Tight",Space,Str "using",Space,Str "spaces:"] ,DefinitionList [([Str "apple"], [[Plain [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Plain [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Plain [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Tight",Space,Str "using",Space,Str "tabs:"] ,DefinitionList [([Str "apple"], [[Plain [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Plain [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Plain [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Loose:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Para [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"] ,DefinitionList [([Emph [Str "apple"]], [[Para [Str "red",Space,Str "fruit"] ,Para [Str "contains",Space,Str "seeds,",SoftBreak,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]]) ,([Emph [Str "orange"]], [[Para [Str "orange",Space,Str "fruit"] ,CodeBlock ("",[],[]) "{ orange code block }" ,BlockQuote [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])] ,Para [Str "Multiple",Space,Str "definitions,",Space,Str "tight:"] ,DefinitionList [([Str "apple"], [[Plain [Str "red",Space,Str "fruit"]] ,[Plain [Str "computer"]]]) ,([Str "orange"], [[Plain [Str "orange",Space,Str "fruit"]] ,[Plain [Str "bank"]]])] ,Para [Str "Multiple",Space,Str "definitions,",Space,Str "loose:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]] ,[Para [Str "computer"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]] ,[Para [Str "bank"]]])] ,Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term,",Space,Str "indented",Space,Str "marker,",Space,Str "alternate",Space,Str "markers:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]] ,[Para [Str "computer"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"] ,OrderedList (1,Decimal,Period) [[Plain [Str "sublist"]] ,[Plain [Str "sublist"]]]]])] ,Header 1 ("html-blocks",[],[]) [Str "HTML",Space,Str "Blocks"] ,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"] ,Div ("",[],[]) [Plain [Str "foo"]] ,Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"] ,Div ("",[],[]) [Div ("",[],[]) [Div ("",[],[]) [Para [Str "foo"]]] ,Div ("",[],[]) [Plain [Str "bar"]]] ,Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"] ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "
                " ,Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"]] ,RawBlock (Format "html") "" ,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]] ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "" ,Para [Str "Here\8217s",Space,Str "a",Space,Str "simple",Space,Str "block:"] ,Div ("",[],[]) [Para [Str "foo"]] ,Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"] ,CodeBlock ("",[],[]) "
                \n foo\n
                " ,Para [Str "As",Space,Str "should",Space,Str "this:"] ,CodeBlock ("",[],[]) "
                foo
                " ,Para [Str "Now,",Space,Str "nested:"] ,Div ("",[],[]) [Div ("",[],[]) [Div ("",[],[]) [Plain [Str "foo"]]]] ,Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"] ,RawBlock (Format "html") "" ,Para [Str "Multiline:"] ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,Para [Str "Code",Space,Str "block:"] ,CodeBlock ("",[],[]) "" ,Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"] ,RawBlock (Format "html") "" ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "
                " ,Para [Str "Hr\8217s:"] ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,HorizontalRule ,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."] ,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."] ,Para [Str "An",Space,Emph [Link ("",[],[]) [Str "emphasized",Space,Str "link"] ("/url","")],Str "."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "",Str "."] ,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]] ,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello\160there"],Str "."] ,Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",Space,Str "H",Subscript [Str "many\160of\160them"],Str "O."] ,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",SoftBreak,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces:",Space,Str "a^b",Space,Str "c^d,",Space,Str "a~b",Space,Str "c~d."] ,HorizontalRule ,Header 1 ("smart-quotes-ellipses-dashes",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"] ,Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]] ,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters."] ,Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",SoftBreak,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]] ,Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",SoftBreak,Str "70\8217s?"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link ("",[],[]) [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."] ,Para [Str "Some",Space,Str "dashes:",Space,Str "one\8212two",Space,Str "\8212",Space,Str "three\8212four",Space,Str "\8212",Space,Str "five."] ,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."] ,Para [Str "Ellipses\8230and\8230and\8230."] ,HorizontalRule ,Header 1 ("latex",[],[]) [Str "LaTeX"] ,BulletList [[Plain [RawInline (Format "tex") "\\cite[22-23]{smith.1899}"]] ,[Plain [Math InlineMath "2+2=4"]] ,[Plain [Math InlineMath "x \\in y"]] ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]] ,[Plain [Math InlineMath "223"]] ,[Plain [Math InlineMath "p",Str "-Tree"]] ,[Plain [Str "Here\8217s",Space,Str "some",Space,Str "display",Space,Str "math:",SoftBreak,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]] ,[Plain [Str "Here\8217s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]] ,Para [Str "These",Space,Str "shouldn\8217t",Space,Str "be",Space,Str "math:"] ,BulletList [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]] ,[Plain [Str "$22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$34,000.",SoftBreak,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"]] ,[Plain [Str "Shoes",Space,Str "($20)",Space,Str "and",Space,Str "socks",Space,Str "($5)."]] ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23$."]]] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"] ,RawBlock (Format "tex") "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}" ,HorizontalRule ,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"] ,BulletList [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]] ,[Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"]] ,[Plain [Str "section:",Space,Str "\167"]] ,[Plain [Str "set",Space,Str "membership:",Space,Str "\8712"]] ,[Plain [Str "copyright:",Space,Str "\169"]]] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."] ,Para [Str "This",Space,Str "&",Space,Str "that."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "`"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,HorizontalRule ,Header 1 ("links",[],[]) [Str "Links"] ,Header 2 ("explicit",[],[]) [Str "Explicit"] ,Para [Str "Just",Space,Str "a",Space,Link ("",[],[]) [Str "URL"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")] ,Para [Link ("",[],[]) [Str "with_underscore"] ("/url/with_underscore","")] ,Para [Link ("",[],[]) [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")] ,Para [Link ("",[],[]) [Str "Empty"] ("",""),Str "."] ,Header 2 ("reference",[],[]) [Str "Reference"] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "once"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "twice"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "thrice"] ("/url",""),Str "."] ,Para [Str "This",Space,Str "should",Space,Str "[not][]",Space,Str "be",Space,Str "a",Space,Str "link."] ,CodeBlock ("",[],[]) "[not]: /url" ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."] ,Header 2 ("with-ampersands",[],[]) [Str "With",Space,Str "ampersands"] ,Para [Str "Here\8217s",Space,Str "a",Space,Link ("",[],[]) [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link ("",[],[]) [Str "AT&T"] ("http://att.com/","AT&T"),Str "."] ,Para [Str "Here\8217s",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."] ,Header 2 ("autolinks",[],[]) [Str "Autolinks"] ,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link ("",["uri"],[]) [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")] ,BulletList [[Plain [Str "In",Space,Str "a",Space,Str "list?"]] ,[Plain [Link ("",["uri"],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,[Plain [Str "It",Space,Str "should."]]] ,Para [Str "An",Space,Str "e-mail",Space,Str "address:",Space,Link ("",["email"],[]) [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")] ,BlockQuote [Para [Str "Blockquoted:",Space,Link ("",["uri"],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) ""] ,CodeBlock ("",[],[]) "or here: " ,HorizontalRule ,Header 1 ("images",[],[]) [Str "Images"] ,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"] ,Para [Image ("",[],[]) [Str "lalune"] ("lalune.jpg","fig:Voyage dans la Lune")] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image ("",[],[]) [Str "movie"] ("movie.jpg",""),Space,Str "icon."] ,HorizontalRule ,Header 1 ("footnotes",[],[]) [Str "Footnotes"] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",SoftBreak,Str "reference.",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here\8217s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",SoftBreak,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",SoftBreak,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",SoftBreak,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],SoftBreak,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",SoftBreak,Str "contains",Space,Str "a",Space,Str "space.[^my",Space,Str "note]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",SoftBreak,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",SoftBreak,Link ("",[],[]) [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters,",SoftBreak,Str "as",Space,Str "well",Space,Str "as",Space,Str "[bracketed",Space,Str "text]."]]] ,BlockQuote [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]] ,OrderedList (1,Decimal,Period) [[Plain [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]]]] ,Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented."]] pandoc-2.9.2.1/test/testsuite.txt000066400000000000000000000217671363630463000167210ustar00rootroot00000000000000% Pandoc Test Suite % John MacFarlane; Anonymous % July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. ----- # Headers ## Level 2 with an [embedded link](/url) ### Level 3 with *emphasis* #### Level 4 ##### Level 5 Level 1 ======= Level 2 with *emphasis* ----------------------- ### Level 3 with no blank line Level 2 ------- with no blank line ---------- # Paragraphs Here's a regular paragraph. 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. Here's one with a bullet. * criminey. There should be a hard line break here. --- # Block Quotes E-mail style: > This is a block quote. > It is pretty short. > Code in a block quote: > > sub status { > print "working"; > } > > A list: > > 1. item one > 2. item two > > Nested block quotes: > > > nested > >> nested > This should not be a block quote: 2 > 1. And a following paragraph. * * * * # Code Blocks Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ ___________ # Lists ## Unordered Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: + Plus 1 + Plus 2 + Plus 3 Pluses loose: + Plus 1 + Plus 2 + Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 ## Ordered Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog's back. 2. Item 2. 3. Item 3. ## Nested * Tab * Tab * Tab Here's another: 1. First 2. Second: * Fee * Fie * Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: * Fee * Fie * Foe 3. Third ## Tabs and spaces + this is a list item indented with tabs + this is a list item indented with spaces + this is an example list item indented with tabs + this is an example list item indented with spaces ## Fancy list markers (2) begins with 2 (3) and now 3 with a continuation iv. sublist with roman numerals, starting with 4 v. more items (A) a subsublist (B) a subsublist Nesting: A. Upper Alpha I. Upper Roman. (6) Decimal start with 6 c) Lower alpha with paren Autonumbering: #. Autonumber. #. More. #. Nested. Should not be a list item: M.A. 2007 B. Williams * * * * * # Definition Lists Tight using spaces: apple : red fruit orange : orange fruit banana : yellow fruit Tight using tabs: apple : red fruit orange : orange fruit banana : yellow fruit Loose: apple : red fruit orange : orange fruit banana : yellow fruit Multiple blocks with italics: *apple* : red fruit contains seeds, crisp, pleasant to taste *orange* : orange fruit { orange code block } > orange block quote Multiple definitions, tight: apple : red fruit : computer orange : orange fruit : bank Multiple definitions, loose: apple : red fruit : computer orange : orange fruit : bank Blank line after term, indented marker, alternate markers: apple ~ red fruit ~ computer orange ~ orange fruit 1. sublist 2. sublist # HTML Blocks Simple block on one line:
                foo
                And nested without indentation:
                foo
                bar
                Interpreted markdown in a table:
                This is *emphasized* And this is **strong**
                Here's a simple block:
                foo
                This should be a code block, though:
                foo
                As should this:
                foo
                Now, nested:
                foo
                This should just be an HTML comment: Multiline: Code block: Just plain comment, with trailing spaces on the line: Code:
                Hr's:








                ----- # Inline Markup This is *emphasized*, and so _is this_. This is **strong**, and so __is this__. An *[emphasized link](/url)*. ***This is strong and em.*** So is ***this*** word. ___This is strong and em.___ So is ___this___ word. This is code: `>`, `$`, `\`, `\$`, ``. ~~This is *strikeout*.~~ Superscripts: a^bc^d a^*hello*^ a^hello\ there^. Subscripts: H~2~O, H~23~O, H~many\ of\ them~O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ----- # Smart quotes, ellipses, dashes "Hello," said the spider. "'Shelob' is my name." 'A', 'B', and 'C' are letters. 'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.' 'He said, "I want to go."' Were you alive in the 70's? Here is some quoted '`code`' and a "[quoted link][1]". Some dashes: one---two --- three---four --- five. Dashes between numbers: 5--7, 255--66, 1987--1999. Ellipses...and...and.... ----- # LaTeX - \cite[22-23]{smith.1899} - $2+2=4$ - $x \in y$ - $\alpha \wedge \omega$ - $223$ - $p$-Tree - Here's some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ - Here's one that has a line break in it: $\alpha + \omega \times x^2$. These shouldn't be math: - To get the famous equation, write `$e = mc^2$`. - $22,000 is a *lot* of money. So is $34,000. (It worked if "lot" is emphasized.) - Shoes ($20) and socks ($5). - Escaped `$`: $73 *this should be emphasized* 23\$. Here's a LaTeX table: \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} * * * * * # Special Characters Here is some unicode: - I hat: Î - o umlaut: ö - section: § - set membership: ∈ - copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \\ Backtick: \` Asterisk: \* Underscore: \_ Left brace: \{ Right brace: \} Left bracket: \[ Right bracket: \] Left paren: \( Right paren: \) Greater-than: \> Hash: \# Period: \. Bang: \! Plus: \+ Minus: \- - - - - - - - - - - - - - # Links ## Explicit Just a [URL](/url/). [URL and title](/url/ "title"). [URL and title](/url/ "title preceded by two spaces"). [URL and title](/url/ "title preceded by a tab"). [URL and title](/url/ "title with "quotes" in it") [URL and title](/url/ 'title with single quotes') [with\_underscore](/url/with_underscore) [Email link](mailto:nobody@nowhere.net) [Empty](). ## Reference Foo [bar][a]. [a]: /url/ With [embedded [brackets]][b]. [b] by itself should be a link. Indented [once][]. Indented [twice][]. Indented [thrice][]. This should [not][] be a link. [once]: /url [twice]: /url [thrice]: /url [not]: /url [b]: /url/ Foo [bar][]. Foo [biz](/url/ "Title with "quote" inside"). [bar]: /url/ "Title with "quotes" inside" ## With ampersands Here's a [link with an ampersand in the URL][1]. Here's a link with an amersand in the link text: [AT&T][2]. Here's an [inline link](/script?foo=1&bar=2). Here's an [inline link in pointy braces](). [1]: http://example.com/?foo=1&bar=2 [2]: http://att.com/ "AT&T" ## Autolinks With an ampersand: * In a list? * * It should. An e-mail address: > Blockquoted: Auto-links should not occur here: `` or here: ---- # Images From "Voyage dans la Lune" by Georges Melies (1902): ![lalune][] [lalune]: lalune.jpg "Voyage dans la Lune" Here is a movie ![movie](movie.jpg) icon. ---- # Footnotes Here is a footnote reference,[^1] and another.[^longnote] This should *not* be a footnote reference, because it contains a space.[^my note] Here is an inline note.^[This is *easier* to type. Inline notes may contain [links](http://google.com) and `]` verbatim characters, as well as [bracketed text].] > Notes can go in quotes.^[In quote.] 1. And in list items.^[In list.] [^longnote]: Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). { } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. This paragraph should not be part of the note, as it is not indented. [^1]: Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. pandoc-2.9.2.1/test/textile-reader.native000066400000000000000000000314331363630463000202440ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc",Space,Str "Textile",Space,Str "Reader.",Space,Str "Part",Space,Str "of",Space,Str "it",Space,Str "comes",LineBreak,Str "from",Space,Str "John",Space,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."] ,HorizontalRule ,Header 1 ("headers",[],[]) [Str "Headers"] ,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link ("",[],[]) [Str "embedded",Space,Str "link"] ("http://www.example.com","")] ,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Strong [Str "emphasis"]] ,Header 4 ("level-4",[],[]) [Str "Level",Space,Str "4"] ,Header 5 ("level-5",[],[]) [Str "Level",Space,Str "5"] ,Header 6 ("level-6",[],[]) [Str "Level",Space,Str "6"] ,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "Line",Space,Str "breaks",Space,Str "are",Space,Str "preserved",Space,Str "in",Space,Str "textile,",Space,Str "so",Space,Str "you",Space,Str "can",Space,Str "not",Space,Str "wrap",Space,Str "your",Space,Str "very",LineBreak,Str "long",Space,Str "paragraph",Space,Str "with",Space,Str "your",Space,Str "favourite",Space,Str "text",Space,Str "editor",Space,Str "and",Space,Str "have",Space,Str "it",Space,Str "rendered",LineBreak,Str "with",Space,Str "no",Space,Str "break."] ,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet."] ,BulletList [[Plain [Str "criminey."]]] ,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "paragraph",Space,Str "break",Space,Str "between",Space,Str "here"] ,Para [Str "and",Space,Str "here."] ,Para [Str "pandoc",Space,Str "converts",Space,Str "textile."] ,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "famous",Space,Str "quote",Space,Str "from",Space,Str "somebody.",Space,Str "He",Space,Str "had",Space,Str "a",Space,Str "lot",Space,Str "of",Space,Str "things",Space,Str "to",LineBreak,Str "say,",Space,Str "so",Space,Str "the",Space,Str "text",Space,Str "is",Space,Str "really",Space,Str "really",Space,Str "long",Space,Str "and",Space,Str "spans",Space,Str "on",Space,Str "multiple",Space,Str "lines."]] ,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."] ,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) " ---- (should be four hyphens)\n\n sub status {\n print \"working\";\n }\n\n this code block is indented by one tab" ,Para [Str "And:"] ,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\n These should not be escaped: \\$ \\\\ \\> \\[ \\{" ,CodeBlock ("",[],[]) "Code block with .bc\n continued\n @",Str ",",Space,Code ("",[],[]) "@",Str "."] ,Header 1 ("notextile",[],[]) [Str "Notextile"] ,Para [Str "A",Space,Str "block",Space,Str "of",Space,Str "text",Space,Str "can",Space,Str "be",Space,Str "protected",Space,Str "with",Space,Str "notextile",Space,Str ":"] ,Para [Str "\nNo *bold* and\n* no bullet\n"] ,Para [Str "and",Space,Str "inlines",Space,Str "can",Space,Str "be",Space,Str "protected",Space,Str "with",Space,Str "double *equals (=)* markup."] ,Header 1 ("lists",[],[]) [Str "Lists"] ,Header 2 ("unordered",[],[]) [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "tight:"] ,BulletList [[Plain [Str "asterisk",Space,Str "1"]] ,[Plain [Str "asterisk",Space,Str "2"]] ,[Plain [Str "asterisk",Space,Str "3"]]] ,Para [Str "With",Space,Str "line",Space,Str "breaks:"] ,BulletList [[Plain [Str "asterisk",Space,Str "1",LineBreak,Str "newline"]] ,[Plain [Str "asterisk",Space,Str "2"]]] ,Header 2 ("ordered",[],[]) [Str "Ordered"] ,Para [Str "Tight:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "First"]] ,[Plain [Str "Second"]] ,[Plain [Str "Third"]]] ,Header 2 ("nested",[],[]) [Str "Nested"] ,BulletList [[Plain [Str "ui",Space,Str "1"] ,BulletList [[Plain [Str "ui",Space,Str "1.1"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "oi",Space,Str "1.1.1"]] ,[Plain [Str "oi",Space,Str "1.1.2"]]]] ,[Plain [Str "ui",Space,Str "1.2"]]]] ,[Plain [Str "ui",Space,Str "2"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "oi",Space,Str "2.1"] ,BulletList [[Plain [Str "ui",Space,Str "2.1.1"]] ,[Plain [Str "ui",Space,Str "2.1.2"]]]]]]] ,Header 2 ("issue-1500",[],[]) [Str "Issue",Space,Str "#1500"] ,BulletList [[Plain [Str "one"]] ,[Plain [Str "two",LineBreak,Str "->",Space,Str "and",Space,Str "more"]]] ,Header 2 ("issue-1513",[],[]) [Str "Issue",Space,Str "#1513"] ,Para [Str "List:"] ,BulletList [[Plain [Str "one"]] ,[Plain [Str "two"]]] ,Header 2 ("definition-list",[],[]) [Str "Definition",Space,Str "List"] ,DefinitionList [([Str "coffee"], [[Plain [Str "Hot",Space,Str "and",Space,Str "black"]]]) ,([Str "tea"], [[Plain [Str "Also",Space,Str "hot,",Space,Str "but",Space,Str "a",Space,Str "little",Space,Str "less",Space,Str "black"]]]) ,([Str "milk"], [[Para [Str "Nourishing",Space,Str "beverage",Space,Str "for",Space,Str "baby",Space,Str "cows."] ,Para [Str "Cold",Space,Str "drink",Space,Str "that",Space,Str "goes",Space,Str "great",Space,Str "with",Space,Str "cookies."]]]) ,([Str "beer"], [[Plain [Str "fresh",Space,Str "and",Space,Str "bitter"]]])] ,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str ".",LineBreak,Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str ".",LineBreak,Str "This",Space,Str "is",Space,Span ("",["underline"],[]) [Str "inserted"],Str ",",Space,Str "and",Space,Str "this",Space,Str "is",Space,Strikeout [Str "deleted"],Str ".",LineBreak,Str "Hyphenated-words-are-ok,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str "strange_underscore_notation.",LineBreak,Str "A",Space,Link ("",[],[]) [Strong [Str "strong",Space,Str "link"]] ("http://www.foobar.com",""),Str "."] ,Para [Emph [Strong [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]],LineBreak,Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word",Space,Str "and",Space,Emph [Strong [Str "that",Space,Str "one"]],Str ".",LineBreak,Strikeout [Str "This",Space,Str "is",Space,Str "strikeout",Space,Str "and",Space,Strong [Str "strong"]]] ,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Space,Superscript [Strong [Str "hello"]],Space,Str "a",Superscript [Str "hello",Space,Str "there"],Str ".",LineBreak,Str "Subscripts:",Space,Subscript [Str "here"],Space,Str "H",Space,Subscript [Str "2"],Str "O,",Space,Str "H",Space,Subscript [Str "23"],Str "O,",Space,Str "H",Space,Subscript [Str "many",Space,Str "of",Space,Str "them"],Str "O."] ,Para [Str "Dashes",Space,Str ":",Space,Str "How",Space,Str "cool",Space,Str "\8212",Space,Str "automatic",Space,Str "dashes."] ,Para [Str "Elipses",Space,Str ":",Space,Str "He",Space,Str "thought",Space,Str "and",Space,Str "thought",Space,Str "\8230",Space,Str "and",Space,Str "then",Space,Str "thought",Space,Str "some",Space,Str "more."] ,Para [Str "Quotes",Space,Str "and",Space,Str "apostrophes",Space,Str ":",Space,Quoted DoubleQuote [Str "I\8217d",Space,Str "like",Space,Str "to",Space,Str "thank",Space,Str "you"],Space,Str "for",Space,Str "example."] ,Header 1 ("links",[],[]) [Str "Links"] ,Header 2 ("explicit",[],[]) [Str "Explicit"] ,Para [Str "Just",Space,Str "a",Space,Link ("",[],[]) [Str "url"] ("http://www.url.com","")] ,Para [Link ("",[],[]) [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")] ,Para [Quoted DoubleQuote [Str "not",Space,Str "a",Space,Str "link"],Str ":",Space,Str "foo"] ,Para [Str "Automatic",Space,Str "linking",Space,Str "to",Space,Link ("",[],[]) [Str "http://www.example.com"] ("http://www.example.com",""),Str "."] ,Para [Link ("",[],[]) [Str "Example"] ("http://www.example.com/",""),Str ":",Space,Str "Example",Space,Str "of",Space,Str "a",Space,Str "link",Space,Str "followed",Space,Str "by",Space,Str "a",Space,Str "colon."] ,Para [Str "A",Space,Str "link",Link ("",[],[]) [Str "with",Space,Str "brackets"] ("http://www.example.com",""),Str "and",Space,Str "no",Space,Str "spaces."] ,Header 1 ("tables",[],[]) [Str "Tables"] ,Para [Str "Textile",Space,Str "allows",Space,Str "tables",Space,Str "with",Space,Str "and",Space,Str "without",Space,Str "headers",Space,Str ":"] ,Header 2 ("without-headers",[],[]) [Str "Without",Space,Str "headers"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "name"]] ,[Plain [Str "age"]] ,[Plain [Str "sex"]]] ,[[Plain [Str "joan"]] ,[Plain [Str "24"]] ,[Plain [Str "f"]]] ,[[Plain [Str "archie"]] ,[Plain [Str "29"]] ,[Plain [Str "m"]]] ,[[Plain [Str "bella"]] ,[Plain [Str "45"]] ,[Plain [Str "f"]]]] ,Para [Str "and",Space,Str "some",Space,Str "text",Space,Str "following",Space,Str "\8230"] ,Header 2 ("with-headers",[],[]) [Str "With",Space,Str "headers"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "name"]] ,[Plain [Str "age"]] ,[Plain [Str "sex"]]] [[[Plain [Str "joan"]] ,[Plain [Str "24"]] ,[Plain [Str "f"]]] ,[[Plain [Str "archie"]] ,[Plain [Str "29"]] ,[Plain [Str "m"]]] ,[[Plain [Str "bella"]] ,[Plain [Str "45"]] ,[Plain [Str "f"]]]] ,Header 1 ("images",[],[]) [Str "Images"] ,Para [Str "Textile",Space,Str "inline",Space,Str "image",Space,Str "syntax,",Space,Str "like",LineBreak,Str "here",Space,Image ("",[],[]) [Str "this is the alt text"] ("this_is_an_image.png","this is the alt text"),LineBreak,Str "and",Space,Str "here",Space,Image ("",[],[]) [Str ""] ("this_is_an_image.png",""),Str "."] ,Header 1 ("attributes",[],[]) [Str "Attributes"] ,Header 2 ("ident",["bar","foo"],[("style","color:red;"),("lang","en")]) [Str "HTML",Space,Str "and",Space,Str "CSS",Space,Str "attributes",Space,Str "are",Space,Str "parsed",Space,Str "in",Space,Str "headers."] ,Header 2 ("centered",[],[("style","text-align:center;")]) [Str "Centered"] ,Header 2 ("right",[],[("style","text-align:right;")]) [Str "Right"] ,Header 2 ("justified",[],[("lang","en"),("style","color:blue;text-align:justify;")]) [Str "Justified"] ,Para [Str "as",Space,Str "well",Space,Str "as",Space,Strong [Span ("",["foo"],[]) [Str "inline",Space,Str "attributes"]],Space,Str "of",Space,Span ("",[],[("style","color:red;")]) [Str "all",Space,Str "kind"]] ,Para [Str "and",Space,Str "paragraph",Space,Str "attributes,",Space,Str "and",Space,Str "table",Space,Str "attributes."] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "name"]] ,[Plain [Str "age"]] ,[Plain [Str "sex"]]] ,[[Plain [Str "joan"]] ,[Plain [Str "24"]] ,[Plain [Str "f"]]]] ,Para [Emph [Str "(class#id)",Space,Str "emph"]] ,Para [Emph [Str "(no",Space,Str "class#id)",Space,Str "emph"]] ,Header 1 ("entities",[],[]) [Str "Entities"] ,Para [Str "*",LineBreak,Str "&"] ,Header 1 ("raw-html",[],[]) [Str "Raw",Space,Str "HTML"] ,Para [Str "However,",Space,RawInline (Format "html") "",Space,Str "raw",Space,Str "HTML",Space,Str "inlines",Space,RawInline (Format "html") "",Space,Str "are",Space,Str "accepted,",Space,Str "as",Space,Str "well",Space,Str "as",Space,Str ":"] ,RawBlock (Format "html") "
                " ,Para [Str "any",Space,Strong [Str "Raw",Space,Str "HTML",Space,Str "Block"],Space,Str "with",Space,Str "bold"] ,RawBlock (Format "html") "
                " ,Para [Str "Html",Space,Str "blocks",Space,Str "can"] ,RawBlock (Format "html") "
                " ,Para [Str "interrupt",Space,Str "paragraphs"] ,RawBlock (Format "html") "
                " ,Para [Str "as",Space,Str "well."] ,Para [Str "Can",Space,Str "you",Space,Str "prove",Space,Str "that",Space,Str "2",Space,Str "<",Space,Str "3",Space,Str "?"] ,Header 1 ("acronyms-and-marks",[],[]) [Str "Acronyms",Space,Str "and",Space,Str "marks"] ,Para [Str "PBS (Public Broadcasting System)"] ,Para [Str "Hi\8482"] ,Para [Str "Hi",Space,Str "\8482"] ,Para [Str "\174",Space,Str "Hi\174"] ,Para [Str "Hi\169\&2008",Space,Str "\169",Space,Str "2008"] ,Header 1 ("footnotes",[],[]) [Str "Footnotes"] ,Para [Str "A",Space,Str "note.",Note [Para [Str "The",Space,Str "note",LineBreak,Str "is",Space,Str "here!"]],Space,Str "Another",Space,Str "note",Note [Para [Str "Other",Space,Str "note."]],Str "."] ,Header 1 ("comment-blocks",[],[]) [Str "Comment",Space,Str "blocks"] ,Para [Str "not",Space,Str "a",Space,Str "comment."]] pandoc-2.9.2.1/test/textile-reader.textile000066400000000000000000000102521363630463000204300ustar00rootroot00000000000000This is a set of tests for pandoc Textile Reader. Part of it comes from John Gruber's markdown test suite. ----- h1. Headers h2. Level 2 with an "embedded link":http://www.example.com h3. Level 3 with *emphasis* h4. Level 4 h5. Level 5 h6. Level 6 h1. Paragraphs Here's a regular paragraph. Line breaks are preserved in textile, so you can not wrap your very long paragraph with your favourite text editor and have it rendered with no break. Here's one with a bullet. * criminey. There should be a paragraph break between here and here. pandoc converts textile. h1. Block Quotes bq. This is a famous quote from somebody. He had a lot of things to say, so the text is really really long and spans on multiple lines. And a following paragraph. h1. Code Blocks Code:
                    ---- (should be four hyphens)
                
                    sub status {
                        print "working";
                    }
                
                	this code block is indented by one tab
                
                And:
                		this code block is indented by two tabs
                
                    These should not be escaped:  \$ \\ \> \[ \{
                
                bc. Code block with .bc continued @@, @. h1. Notextile A block of text can be protected with notextile : No *bold* and * no bullet and inlines can be protected with ==double *equals (=)* markup==. h1. Lists h2. Unordered Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 With line breaks: * asterisk 1 newline * asterisk 2 h2. Ordered Tight: # First # Second # Third h2. Nested * ui 1 ** ui 1.1 ### oi 1.1.1 ### oi 1.1.2 ** ui 1.2 * ui 2 ## oi 2.1 *** ui 2.1.1 *** ui 2.1.2 h2. Issue #1500 * one * two -> and more h2. Issue #1513 List: * one * two h2. Definition List - coffee := Hot and black - tea := Also hot, but a little less black - milk := Nourishing beverage for baby cows. Cold drink that goes great with cookies.=: - beer := fresh and bitter h1. Inline Markup This is _emphasized_, and so __is this__. This is *strong*, and so **is this**. This is +inserted+, and this is -deleted-. Hyphenated-words-are-ok, as well as strange_underscore_notation. A "*strong link*":http://www.foobar.com. _*This is strong and em.*_ So is *_this_* word and __**that one**__. -This is strikeout and *strong*- Superscripts: a[^bc^]d a ^*hello*^ a[^hello there^]. Subscripts: ~here~ H[ ~2~]O, H[ ~23~]O, H[ ~many of them~]O. Dashes : How cool -- automatic dashes. Elipses : He thought and thought ... and then thought some more. Quotes and apostrophes : "I'd like to thank you" for example. h1. Links h2. Explicit Just a "url":http://www.url.com "Email link":mailto:nobody@nowhere.net "not a link": foo Automatic linking to "$":http://www.example.com. "Example":http://www.example.com/: Example of a link followed by a colon. A link["with brackets":http://www.example.com]and no spaces. h1. Tables Textile allows tables with and without headers : h2. Without headers | name | age | sex | | joan | 24 | f | | archie | 29 | m | | bella | 45 | f | and some text following ... h2. With headers |_. name |_. age |_. sex | | joan | 24 | f | | archie | 29 | m | | bella | 45 | f | h1. Images Textile inline image syntax, like here !this_is_an_image.png(this is the alt text)! and here !this_is_an_image.png!. h1. Attributes h2[en]{color:red}(foo bar #ident). HTML and CSS attributes are parsed in headers. h2=. Centered h2>. Right h2<>{color:blue}[en]. Justified as well as *(foo)inline attributes* of %{color:red}all kind% p{color:green}. and paragraph attributes, and table attributes. table{foo:bar}. | name | age | sex | | joan | 24 | f | _(class#id) emph_ _(no class#id) emph_ h1. Entities * & h1. Raw HTML However, raw HTML inlines are accepted, as well as :
                any *Raw HTML Block* with bold
                Html blocks can
                interrupt paragraphs
                as well. Can you prove that 2 < 3 ? h1. Acronyms and marks PBS(Public Broadcasting System) Hi(tm) Hi (TM) (r) Hi(r) Hi(c)2008 (C) 2008 h1. Footnotes A note.[1] Another note[2]. fn1. The note is here! fn2. Other note. h1. Comment blocks ###. my comment is here. not a comment. pandoc-2.9.2.1/test/tikiwiki-reader.native000066400000000000000000000147401363630463000204140ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("header",[],[]) [Str "header"] ,Header 2 ("header-level-two",[],[]) [Str "header",Space,Str "level",Space,Str "two"] ,Header 3 ("header-level-3",[],[]) [Str "header",Space,Str "level",Space,Str "3"] ,Header 4 ("header-_level_-four",[],[]) [Str "header",Space,Str "_level_",Space,Str "four"] ,Header 5 ("header-level-5",[],[]) [Str "header",Space,Str "level",Space,Str "5"] ,Header 6 ("header-level-6",[],[]) [Str "header",Space,Str "level",Space,Str "6"] ,Para [Str "!!!!!!!",Space,Str "not",Space,Str "a",Space,Str "header"] ,Para [Str "--++",Space,Str "not",Space,Str "a",Space,Str "header"] ,Header 1 ("emph-and-strong",[],[]) [Str "emph",Space,Str "and",Space,Str "strong"] ,Para [Emph [Str "emph"],Space,Strong [Str "strong"]] ,Para [Emph [Strong [Str "strong",Space,Str "and",Space,Str "emph",Space,Str "1"]]] ,Para [Strong [Emph [Str "strong",Space,Str "and",Space,Str "emph",Space,Str "2"]]] ,Para [Strong [Emph [Str "emph",Space,Str "inside"],Space,Str "strong"]] ,Para [Strong [Str "strong",Space,Str "with",Space,Emph [Str "emph"]]] ,Para [Emph [Strong [Str "strong",Space,Str "inside"],Space,Str "emph"]] ,Header 1 ("horizontal-rule",[],[]) [Str "horizontal",Space,Str "rule"] ,Para [Str "top"] ,HorizontalRule ,Para [Str "bottom"] ,HorizontalRule ,Header 1 ("nop",[],[]) [Str "nop"] ,Para [Str "__not emph__"] ,Header 1 ("entities",[],[]) [Str "entities"] ,Para [Str "hi",Space,Str "&",Space,Str "low"] ,Para [Str "hi",Space,Str "&",Space,Str "low"] ,Para [Str "G\246del"] ,Para [Str "\777\2730"] ,Header 1 ("linebreaks",[],[]) [Str "linebreaks"] ,Para [Str "hi",LineBreak,Str "there"] ,Para [Str "hi",LineBreak,Str "there"] ,Header 1 ("inline-code",[],[]) [Str "inline",Space,Str "code"] ,Para [Code ("",[],[]) "*\8594*",Space,Code ("",[],[]) "typed",Space,Code ("",[],[]) ">>="] ,Header 1 ("code-blocks",[],[]) [Str "code",Space,Str "blocks"] ,CodeBlock ("",[],[]) "\ncase xs of\n (_:_) -> reverse xs\n [] -> ['*']\n" ,CodeBlock ("",["haskell"],[("colors","haskell"),("ln","0")]) "\ncase xs of\n (_:_) -> reverse xs\n [] -> ['*']\n" ,Header 1 ("external-links",[],[]) [Str "external",Space,Str "links"] ,Para [Link ("",[],[]) [Emph [Str "Google"],Space,Str "search",Space,Str "engine"] ("http://google.com","")] ,Para [Link ("",[],[]) [Str "http://pandoc.org"] ("http://pandoc.org","")] ,Para [Link ("",[],[]) [Str "http://google.com"] ("http://google.com",""),Space,Link ("",[],[]) [Str "http://yahoo.com"] ("http://yahoo.com","")] ,Para [Link ("",[],[]) [Str "email",Space,Str "me"] ("mailto:info@example.org","")] ,Para [Str "http://google.com"] ,Para [Str "info@example.org"] ,Header 1 ("lists",[],[]) [Str "lists"] ,BulletList [[Plain [Str "Start",Space,Str "each",Space,Str "line"]] ,[Plain [Str "with",Space,Str "an",Space,Str "asterisk",Space,Str "(*)."] ,BulletList [[Plain [Str "More",Space,Str "asterisks",Space,Str "gives",Space,Str "deeper"] ,BulletList [[Plain [Str "and",Space,Str "deeper",Space,Str "levels."]]]]]] ,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."]] ,[Plain [Str "Continuations",Space,Str "are",Space,Str "also",Space,Str "possible"] ,BulletList [[Plain [Str "and",Space,Str "do",Space,Str "not",Space,Str "break",Space,Str "the",Space,Str "list",Space,Str "flow"]]]] ,[Plain [Str "Level",Space,Str "one"]]] ,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "ends",Space,Str "the",Space,Str "list."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Start",Space,Str "each",Space,Str "line"]] ,[Plain [Str "with",Space,Str "a",Space,Str "number",Space,Str "(1.)."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "More",Space,Str "number",Space,Str "signs",Space,Str "gives",Space,Str "deeper"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "and",Space,Str "deeper"]] ,[Plain [Str "levels."]]]]]] ,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."]] ,[Plain [Str "Blank",Space,Str "lines"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "end",Space,Str "the",Space,Str "list",Space,Str "and",Space,Str "start",Space,Str "another."]]] ,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "also",Space,Str "ends",Space,Str "the",Space,Str "list."] ,DefinitionList [([Str "item",Space,Str "1"], [[Plain [Str "definition",Space,Str "1"]]]) ,([Str "item",Space,Str "2"], [[Plain [Str "definition",Space,Str "2-1",Space,Str "definition",Space,Str "2-2"]]]) ,([Str "item",Space,Emph [Str "3"]], [[Plain [Str "definition",Space,Emph [Str "3"]]]])] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "one"]] ,[Plain [Str "two"] ,BulletList [[Plain [Str "two",Space,Str "point",Space,Str "one"]] ,[Plain [Str "two",Space,Str "point",Space,Str "two"]]]] ,[Plain [Str "three"]] ,[Plain [Str "four"]] ,[Plain [Str "five"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "five",Space,Str "sub",Space,Str "1"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "five",Space,Str "sub",Space,Str "1",Space,Str "sub",Space,Str "1"]]]] ,[Plain [Str "five",Space,Str "sub",Space,Str "2"]]]]] ,Header 1 ("tables",[],[]) [Str "tables"] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str ""]] ,[Plain [Str ""]]] [[[Plain [Str "Orange"]] ,[Plain [Str "Apple"]]] ,[[Plain [Str "Bread"]] ,[Plain [Str "Pie"]]] ,[[Plain [Str "Butter"]] ,[Plain [Str "Ice",Space,Str "cream"]]]] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str ""]] ,[Plain [Str ""]]] [[[Plain [Str "Orange"]] ,[Plain [Str "Apple"]]] ,[[Plain [Str "Bread"]] ,[Plain [Str "Pie"]]] ,[[Plain [Strong [Str "Butter"]]] ,[Plain [Str "Ice",Space,Str "cream"]]]] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[Plain [Str ""]] ,[Plain [Str ""]]] [[[Plain [Str "Orange"]] ,[Plain [Str "Apple"]]] ,[[Plain [Str "Bread",LineBreak,LineBreak,Str "and",Space,Str "cheese"]] ,[Plain [Str "Pie",LineBreak,LineBreak,Strong [Str "apple"],Space,Str "and",Space,Emph [Str "carrot"],Space]]]] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str ""]] ,[Plain [Str ""]] ,[Plain [Str ""]]] [[[Plain [Space,Str "Orange",Space]] ,[Plain [Space,Str "Apple",Space]] ,[Plain [Space,Str "more"]]] ,[[Plain [Space,Str "Bread",Space]] ,[Plain [Space,Str "Pie",Space]] ,[Plain [Space,Str "more"]]] ,[[Plain [Space,Str "Butter",Space]] ,[Plain [Space,Str "Ice",Space,Str "cream",Space]] ,[Plain [Space,Str "and",Space,Str "more",Space]]]]] pandoc-2.9.2.1/test/tikiwiki-reader.tikiwiki000066400000000000000000000035511363630463000207500ustar00rootroot00000000000000! header !! header level two !!! header level 3 !!!! header _level_ four !!!!! header level 5 !!!!!! header level 6 !!!!!!! not a header --++ not a header ! emph and strong ''emph'' __strong__ ''__strong and emph 1__'' __''strong and emph 2''__ __''emph inside'' strong__ __strong with ''emph''__ ''__strong inside__ emph'' ! horizontal rule top ---- bottom ---- ! nop ~np~__not emph__~/np~ ! entities hi & low hi & low Gödel ̉પ ! linebreaks hi%%%there hi%%% there ! inline code -+*→*+- -+typed+- -+>>=+- ! code blocks {CODE()} case xs of (_:_) -> reverse xs [] -> ['*'] {CODE} {CODE(colors="haskell" ln=0)} case xs of (_:_) -> reverse xs [] -> ['*'] {CODE} ! external links [http://google.com|''Google'' search engine] [http://pandoc.org] [http://google.com] [http://yahoo.com] [mailto:info@example.org|email me] http://google.com info@example.org ! lists * Start each line * with an asterisk (*). ** More asterisks gives deeper *** and deeper levels. * Line breaks%%%don't break levels. * Continuations + are also possible ** and do not break the list flow * Level one Any other start ends the list. # Start each line # with a number (1.). ## More number signs gives deeper ### and deeper ### levels. # Line breaks%%%don't break levels. # Blank lines # end the list and start another. Any other start also ends the list. ;item 1: definition 1 ;item 2: definition 2-1 + definition 2-2 ;item ''3'': definition ''3'' # one # two ** two point one ** two point two # three # four # five ## five sub 1 ### five sub 1 sub 1 ## five sub 2 ! tables ||Orange|Apple Bread|Pie Butter|Ice cream|| ||Orange|Apple Bread|Pie __Butter__|Ice cream|| ||Orange|Apple Bread%%%%%%and cheese|Pie%%%%%%__apple__ and ''carrot'' || || Orange | Apple | more Bread | Pie | more Butter | Ice cream | and more || pandoc-2.9.2.1/test/twiki-reader.native000066400000000000000000000204711363630463000177150ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("header",[],[]) [Str "header"] ,Header 2 ("header-level-two",[],[]) [Str "header",Space,Str "level",Space,Str "two"] ,Header 3 ("header-level-3",[],[]) [Str "header",Space,Str "level",Space,Str "3"] ,Header 4 ("header-level-four",[],[]) [Str "header",Space,Emph [Str "level"],Space,Str "four"] ,Header 5 ("header-level-5",[],[]) [Str "header",Space,Str "level",Space,Str "5"] ,Header 6 ("header-level-6",[],[]) [Str "header",Space,Str "level",Space,Str "6"] ,Para [Str "---+++++++",Space,Str "not",Space,Str "a",Space,Str "header"] ,Para [Str "--++",Space,Str "not",Space,Str "a",Space,Str "header"] ,Header 1 ("emph-and-strong",[],[]) [Str "emph",Space,Str "and",Space,Str "strong"] ,Para [Emph [Str "emph"],Space,Strong [Str "strong"]] ,Para [Emph [Strong [Str "strong",Space,Str "and",Space,Str "emph"]]] ,Para [Strong [Emph [Str "emph",Space,Str "inside"],Space,Str "strong"]] ,Para [Strong [Str "strong",Space,Str "with",Space,Emph [Str "emph"]]] ,Para [Emph [Strong [Str "strong",Space,Str "inside"],Space,Str "emph"]] ,Header 1 ("horizontal-rule",[],[]) [Str "horizontal",Space,Str "rule"] ,Para [Str "top"] ,HorizontalRule ,Para [Str "bottom"] ,HorizontalRule ,Header 1 ("nop",[],[]) [Str "nop"] ,Para [Str "_not",Space,Str "emph_"] ,Header 1 ("entities",[],[]) [Str "entities"] ,Para [Str "hi",Space,Str "&",Space,Str "low"] ,Para [Str "hi",Space,Str "&",Space,Str "low"] ,Para [Str "G\246del"] ,Para [Str "\777\2730"] ,Header 1 ("comments",[],[]) [Str "comments"] ,Para [Str "inline",Space,Str "comment"] ,Para [Str "between",Space,Str "blocks"] ,Header 1 ("linebreaks",[],[]) [Str "linebreaks"] ,Para [Str "hi",LineBreak,Str "there"] ,Para [Str "hi",LineBreak,Str "there"] ,Header 1 ("inline-code",[],[]) [Str "inline",Space,Str "code"] ,Para [Code ("",[],[]) "*\8594*",Space,Code ("",[],[]) "typed",Space,Code ("",["haskell"],[]) ">>="] ,Header 1 ("code-blocks",[],[]) [Str "code",Space,Str "blocks"] ,CodeBlock ("",[],[]) "case xs of\n (_:_) -> reverse xs\n [] -> ['*']" ,CodeBlock ("",["haskell"],[]) "case xs of\n (_:_) -> reverse xs\n [] -> ['*']" ,Header 1 ("block-quotes",[],[]) [Str "block",Space,Str "quotes"] ,Para [Str "Regular",Space,Str "paragraph"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote."] ,Para [Str "With",Space,Str "two",Space,Str "paragraphs."]] ,Para [Str "Nother",Space,Str "paragraph."] ,Header 1 ("external-links",[],[]) [Str "external",Space,Str "links"] ,Para [Link ("",[],[]) [Emph [Str "Google"],Space,Str "search",Space,Str "engine"] ("http://google.com","")] ,Para [Link ("",[],[]) [Str "http://pandoc.org"] ("http://pandoc.org","")] ,Para [Link ("",[],[]) [Str "http://google.com"] ("http://google.com",""),Space,Link ("",[],[]) [Str "http://yahoo.com"] ("http://yahoo.com","")] ,Para [Link ("",[],[]) [Str "email",Space,Str "me"] ("mailto:info@example.org","")] ,Para [Str "http://google.com"] ,Para [Str "http://google.com"] ,Para [Str "http://google.com"] ,Para [Str "info@example.org"] ,Para [Str "info@example.org"] ,Para [Str "info@example.org"] ,Header 1 ("lists",[],[]) [Str "lists"] ,BulletList [[Plain [Str "Start",Space,Str "each",Space,Str "line"]] ,[Plain [Str "with",Space,Str "an",Space,Str "asterisk",Space,Str "(*)."] ,BulletList [[Plain [Str "More",Space,Str "asterisks",Space,Str "gives",Space,Str "deeper"] ,BulletList [[Plain [Str "and",Space,Str "deeper",Space,Str "levels."]]]]]] ,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."]] ,[Plain [Str "Continuations",Space,Str "are",Space,Str "also",Space,Str "possible"] ,BulletList [[Plain [Str "and",Space,Str "do",Space,Str "not",Space,Str "break",Space,Str "the",Space,Str "list",Space,Str "flow"]]]] ,[Plain [Str "Level",Space,Str "one"]]] ,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "ends",Space,Str "the",Space,Str "list."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Start",Space,Str "each",Space,Str "line"]] ,[Plain [Str "with",Space,Str "a",Space,Str "number",Space,Str "(1.)."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "More",Space,Str "number",Space,Str "signs",Space,Str "gives",Space,Str "deeper"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "and",Space,Str "deeper"]] ,[Plain [Str "levels."]]]]]] ,[Plain [Str "Line",Space,Str "breaks",LineBreak,Str "don't",Space,Str "break",Space,Str "levels."]] ,[Plain [Str "Blank",Space,Str "lines"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "end",Space,Str "the",Space,Str "list",Space,Str "and",Space,Str "start",Space,Str "another."]]] ,Para [Str "Any",Space,Str "other",Space,Str "start",Space,Str "also",Space,Str "ends",Space,Str "the",Space,Str "list."] ,DefinitionList [([Str "item",Space,Str "1"], [[Plain [Str "definition",Space,Str "1"]]]) ,([Str "item",Space,Str "2"], [[Plain [Str "definition",Space,Str "2-1",Space,Str "definition",Space,Str "2-2"]]]) ,([Str "item",Space,Emph [Str "3"]], [[Plain [Str "definition",Space,Emph [Str "3"]]]])] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "one"]] ,[Plain [Str "two"] ,BulletList [[Plain [Str "two",Space,Str "point",Space,Str "one"]] ,[Plain [Str "two",Space,Str "point",Space,Str "two"]]]] ,[Plain [Str "three"] ,DefinitionList [([Str "three",Space,Str "item",Space,Str "one"], [[Plain [Str "three",Space,Str "def",Space,Str "one"]]])]] ,[Plain [Str "four"] ,DefinitionList [([Str "four",Space,Str "def",Space,Str "one"], [[Plain [Str "this",Space,Str "is",Space,Str "a",Space,Str "continuation"]]])]] ,[Plain [Str "five"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "five",Space,Str "sub",Space,Str "1"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "five",Space,Str "sub",Space,Str "1",Space,Str "sub",Space,Str "1"]]]] ,[Plain [Str "five",Space,Str "sub",Space,Str "2"]]]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "other"] ,OrderedList (1,UpperRoman,DefaultDelim) [[Plain [Str "list"]] ,[Plain [Str "styles"]]]] ,[Plain [Str "are"] ,OrderedList (1,LowerRoman,DefaultDelim) [[Plain [Str "also"]] ,[Plain [Str "possible"]]]] ,[Plain [Str "all"] ,OrderedList (1,LowerAlpha,DefaultDelim) [[Plain [Str "the"]] ,[Plain [Str "different"]] ,[Plain [Str "styles"]]]] ,[Plain [Str "are"] ,OrderedList (1,UpperAlpha,DefaultDelim) [[Plain [Str "implemented"]] ,[Plain [Str "and"]] ,[Plain [Str "supported"]]]]] ,Header 1 ("tables",[],[]) [Str "tables"] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[] ,[]] [[[Plain [Str "Orange"]] ,[Plain [Str "Apple"]]] ,[[Plain [Str "Bread"]] ,[Plain [Str "Pie"]]] ,[[Plain [Str "Butter"]] ,[Plain [Str "Ice",Space,Str "cream"]]]] ,Table [] [AlignLeft,AlignLeft] [0.0,0.0] [[Plain [Str "Orange"]] ,[Plain [Str "Apple"]]] [[[Plain [Str "Bread"]] ,[Plain [Str "Pie"]]] ,[[Plain [Strong [Str "Butter"]]] ,[Plain [Str "Ice",Space,Str "cream"]]]] ,Table [] [AlignLeft,AlignLeft] [0.0,0.0] [[Plain [Str "Orange"]] ,[Plain [Str "Apple"]]] [[[Plain [Str "Bread",LineBreak,LineBreak,Str "and",Space,Str "cheese"]] ,[Plain [Str "Pie",LineBreak,LineBreak,Strong [Str "apple"],Space,Str "and",Space,Emph [Str "carrot"]]]]] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "Orange"]] ,[Plain [Str "Apple"]] ,[Plain [Str "more"]]] ,[[Plain [Str "Bread"]] ,[Plain [Str "Pie"]] ,[Plain [Str "more"]]] ,[[Plain [Str "Butter"]] ,[Plain [Str "Ice",Space,Str "cream"]] ,[Plain [Str "and",Space,Str "more"]]]] ,Header 1 ("macros",[],[]) [Str "macros"] ,Para [Span ("",["twiki-macro","TEST"],[]) []] ,Para [Span ("",["twiki-macro","TEST"],[]) [Str ""]] ,Para [Span ("",["twiki-macro","TEST"],[]) [Str "content with spaces"]] ,Para [Span ("",["twiki-macro","TEST"],[]) [Str "content with spaces"]] ,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test")]) [Str "content with spaces"]] ,Para [Span ("",["twiki-macro","TEST"],[]) [Str "content with spaces ARG1=test"]] ,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test")]) [Str "content with spaces"]] ,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test"),("ARG2","test2")]) [Str ""]] ,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test"),("ARG2","test2")]) [Str ""]] ,Para [Span ("",["twiki-macro","TEST"],[("ARG1","test"),("ARG2","test2")]) [Str "multiline\ndoes also work"]]] pandoc-2.9.2.1/test/twiki-reader.twiki000066400000000000000000000060661363630463000175620ustar00rootroot00000000000000---+ header ---++ header level two ---+++ header level 3 ---++++ header _level_ four ---+++++ header level 5 ---++++++ header level 6 ---+++++++ not a header --++ not a header ---+ emph and strong _emph_ *strong* __strong and emph__ *emph inside strong* *strong with emph* _strong inside emph_ ---+ horizontal rule top --- bottom --- ---+ nop _not emph_ ---+ entities hi & low hi & low Gödel ̉પ ---+ comments inline comment between blocks ---+ linebreaks hi%BR%there hi%BR% there ---+ inline code *→* =typed= >>= ---+ code blocks case xs of (_:_) -> reverse xs [] -> ['*'] case xs of (_:_) -> reverse xs [] -> ['*'] ---+ block quotes Regular paragraph
                This is a block quote. With two paragraphs.
                Nother paragraph. ---+ external links [[http://google.com][Google search engine]] http://pandoc.org [[http://google.com]] [[http://yahoo.com]] [[mailto:info@example.org][email me]] !http://google.com http://google.com http://google.com !info@example.org info@example.org info@example.org ---+ lists * Start each line * with an asterisk (*). * More asterisks gives deeper * and deeper levels. * Line breaks%BR%don't break levels. * Continuations are also possible * and do not break the list flow * Level one Any other start ends the list. 1. Start each line 1. with a number (1.). 1. More number signs gives deeper 1. and deeper 1. levels. 1. Line breaks%BR%don't break levels. 1. Blank lines 1. end the list and start another. Any other start also ends the list. $ item 1: definition 1 $ item 2: definition 2-1 definition 2-2 $ item _3_: definition _3_ 1. one 1. two * two point one * two point two 1. three $ three item one: three def one 1. four $ four def one: this is a continuation 1. five 1. five sub 1 1. five sub 1 sub 1 1. five sub 2 1. other I. list I. styles 1. are i. also i. possible 1. all a. the a. different a. styles 1. are A. implemented A. and A. supported ---+ tables |Orange|Apple| |Bread|Pie| |Butter|Ice cream| |*Orange*|*Apple*| |Bread|Pie| |*Butter*|Ice cream| |*Orange*|*Apple*| |Bread%BR%%BR%and cheese|Pie%BR%%BR%*apple* and carrot| | Orange | Apple | more | | Bread | Pie | more | | Butter | Ice cream | and more | ---+ macros %TEST% %TEST{}% %TEST{content with spaces}% %TEST{"content with spaces"}% %TEST{"content with spaces" ARG1="test"}% %TEST{content with spaces ARG1=test}% %TEST{ARG1=test content with spaces}% %TEST{ARG1=test ARG2=test2}% %TEST{ARG1="test" ARG2="test2"}% %TEST{ARG1="test" ARG2="test2" multiline does also work}% pandoc-2.9.2.1/test/txt2tags.native000066400000000000000000001311661363630463000171120ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "author"]]),("date",MetaInlines [Str "date"]),("includeconf",MetaString "rules.conf"),("title",MetaInlines [Str "Txt2tags",Space,Str "Markup",Space,Str "Rules"])]}) [Para [Str "This",Space,Str "document",Space,Str "describes",Space,Str "all",Space,Str "the",Space,Str "details",Space,Str "about",Space,Str "each",Space,Str "txt2tags",Space,Str "mark.",SoftBreak,Str "The",Space,Str "target",Space,Str "audience",Space,Str "are",Space,Strong [Str "experienced"],Space,Str "users.",Space,Str "You",Space,Str "may",Space,Str "find",Space,Str "it",SoftBreak,Str "useful",Space,Str "if",Space,Str "you",Space,Str "want",Space,Str "to",Space,Str "master",Space,Str "the",Space,Str "marks",Space,Str "or",Space,Str "solve",Space,Str "a",Space,Str "specific",Space,Str "problem",SoftBreak,Str "about",Space,Str "a",Space,Str "mark."] ,Para [Str "If",Space,Str "you",Space,Str "are",Space,Str "new",Space,Str "to",Space,Str "txt2tags",Space,Str "or",Space,Str "just",Space,Str "want",Space,Str "to",Space,Str "know",Space,Str "which",Space,Str "are",Space,Str "the",SoftBreak,Str "available",Space,Str "marks,",Space,Str "please",Space,Str "read",Space,Str "the",Space,Link ("",[],[]) [Str "Markup",Space,Str "Demo"] ("MARKUPDEMO",""),Str "."] ,Para [Str "Note",Space,Str "1:",Space,Str "This",Space,Str "document",Space,Str "is",Space,Str "generated",Space,Str "directly",Space,Str "from",Space,Str "the",Space,Str "txt2tags",SoftBreak,Str "test-suite.",Space,Str "All",Space,Str "the",Space,Str "rules",Space,Str "mentioned",Space,Str "here",Space,Str "are",Space,Str "100%",Space,Str "in",Space,Str "sync",Space,Str "with",Space,Str "the",SoftBreak,Str "current",Space,Str "program",Space,Str "code."] ,Para [Str "Note",Space,Str "2:",Space,Str "A",Space,Str "good",Space,Str "practice",Space,Str "is",Space,Str "to",Space,Str "consult",Space,Link ("",[],[]) [Str "the",Space,Str "sources"] ("rules.t2t",""),Space,Str "when",SoftBreak,Str "reading,",Space,Str "to",Space,Str "see",Space,Str "how",Space,Str "the",Space,Str "texts",Space,Str "were",Space,Str "made."] ,Para [Str "Table",Space,Str "of",Space,Str "Contents:"] ,HorizontalRule ,Header 1 ("paragraph",[],[]) [Str "Paragraph"] ,Para [Str "A",Space,Str "paragraph",Space,Str "is",Space,Str "composed",Space,Str "by",Space,Str "one",Space,Str "or",Space,Str "more",Space,Str "lines.",SoftBreak,Str "A",Space,Str "blank",Space,Str "line",Space,Str "(or",Space,Str "a",Space,Str "table,",Space,Str "or",Space,Str "a",Space,Str "list)",Space,Str "ends",Space,Str "the",SoftBreak,Str "current",Space,Str "paragraph."] ,Para [Str "Leading",Space,Str "and",Space,Str "trailing",Space,Str "spaces",Space,Str "are",Space,Str "ignored."] ,Para [Str "A",Space,Str "comment",Space,Str "line",Space,Str "can",Space,Str "be",Space,Str "placed",Space,Str "inside",Space,Str "a",Space,Str "paragraph.",SoftBreak,Str "It",Space,Str "will",Space,Str "not",Space,Str "affect",Space,Str "it."] ,Para [Str "The",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "file",Space,Str "(EOF)",Space,Str "closes",Space,Str "the",SoftBreak,Str "currently",Space,Str "open",Space,Str "paragraph."] ,Header 1 ("comment",[],[]) [Str "Comment"] ,Para [Str "%",Space,Str "not",Space,Str "on",Space,Str "the",Space,Str "line",Space,Str "beginning",Space,Str "(at",Space,Str "column",Space,Str "2)"] ,Para [Str "some",Space,Str "text",Space,Str "%",Space,Str "half",Space,Str "line",Space,Str "comments",Space,Str "are",Space,Str "not",Space,Str "allowed"] ,Header 1 ("line",[],[]) [Str "Line"] ,HorizontalRule ,HorizontalRule ,HorizontalRule ,HorizontalRule ,HorizontalRule ,HorizontalRule ,HorizontalRule ,HorizontalRule ,HorizontalRule ,HorizontalRule ,HorizontalRule ,Para [Strikeout [Str "-----"],SoftBreak,Strikeout [Str "-------",Space,Str "--------"]] ,Para [Strikeout [Str "-------+--------"]] ,Para [Str "(",Space,Strikeout [Str "----------------"],Space,Str ")"] ,Header 1 ("inline",[],[]) [Str "Inline"] ,Para [Str "i)",Space,Strong [Str "b"],Space,Emph [Str "i"],Space,Span ("",["underline"],[]) [Str "u"],Space,Strikeout [Str "s"],Space,Code ("",[],[]) "m",Space,Str "r",Space,RawInline (Format "html") "t",SoftBreak,Str "i)",Space,Strong [Str "bo"],Space,Emph [Str "it"],Space,Span ("",["underline"],[]) [Str "un"],Space,Strikeout [Str "st"],Space,Code ("",[],[]) "mo",Space,Str "ra",Space,RawInline (Format "html") "tg",SoftBreak,Str "i)",Space,Strong [Str "bold"],Space,Emph [Str "ital"],Space,Span ("",["underline"],[]) [Str "undr"],Space,Strikeout [Str "strk"],Space,Code ("",[],[]) "mono",Space,Str "raw",Space,RawInline (Format "html") "tggd",SoftBreak,Str "i)",Space,Strong [Str "bo",Space,Str "ld"],Space,Emph [Str "it",Space,Str "al"],Space,Span ("",["underline"],[]) [Str "un",Space,Str "dr"],Space,Strikeout [Str "st",Space,Str "rk"],Space,Code ("",[],[]) "mo no",Space,Str "r",Space,Str "aw",Space,RawInline (Format "html") "tg gd",SoftBreak,Str "i)",Space,Strong [Str "bo",Space,Str "*",Space,Str "ld"],Space,Emph [Str "it",Space,Str "/",Space,Str "al"],Space,Span ("",["underline"],[]) [Str "un",Space,Str "_",Space,Str "dr"],Space,Strikeout [Str "st",Space,Str "-",Space,Str "rk"],Space,Code ("",[],[]) "mo ` no",Space,Str "r",Space,Str "\"",Space,Str "aw",Space,RawInline (Format "html") "tg ' gd",SoftBreak,Str "i)",Space,Strong [Str "bo",Space,Str "**ld"],Space,Emph [Str "it",Space,Str "//al"],Space,Span ("",["underline"],[]) [Str "un",Space,Str "__dr"],Space,Strikeout [Str "st",Space,Str "--rk"],Space,Code ("",[],[]) "mo ``no",Space,Str "r",Space,Str "\"\"aw",Space,RawInline (Format "html") "tg ''gd",SoftBreak,Str "i)",Space,Strong [Str "bo",Space,Str "**",Space,Str "ld"],Space,Emph [Str "it",Space,Str "//",Space,Str "al"],Space,Span ("",["underline"],[]) [Str "un",Space,Str "__",Space,Str "dr"],Space,Strikeout [Str "st",Space,Str "--",Space,Str "rk"],Space,Code ("",[],[]) "mo `` no",Space,Str "r",Space,Str "\"\"",Space,Str "aw",Space,RawInline (Format "html") "tg '' gd",SoftBreak,Str "i)",Space,Strong [Str "**bold**"],Space,Emph [Str "//ital//"],Space,Span ("",["underline"],[]) [Str "__undr__"],Space,Strikeout [Str "--strk--"],Space,Code ("",[],[]) "``mono``",Space,Str "\"\"raw\"\"",Space,RawInline (Format "html") "''tggd''",SoftBreak,Str "i)",Space,Strong [Str "*bold*"],Space,Emph [Str "/ital/"],Space,Span ("",["underline"],[]) [Str "_undr_"],Space,Strikeout [Str "-strk-"],Space,Code ("",[],[]) "`mono`",Space,Str "\"raw\"",Space,RawInline (Format "html") "'tggd'"] ,Para [Str "i)",Space,Strong [Str "*"],Space,Emph [Str "/"],Space,Span ("",["underline"],[]) [Str "_"],Space,Strikeout [Str "-"],Space,Code ("",[],[]) "`",Space,Str "\"",Space,RawInline (Format "html") "'",SoftBreak,Str "i)",Space,Strong [Str "**"],Space,Emph [Str "//"],Space,Span ("",["underline"],[]) [Str "__"],Space,Strikeout [Str "--"],Space,Code ("",[],[]) "``",Space,Str "\"\"",Space,RawInline (Format "html") "''",SoftBreak,Str "i)",Space,Strong [Str "***"],Space,Emph [Str "///"],Space,Span ("",["underline"],[]) [Str "___"],Space,Strikeout [Str "---"],Space,Code ("",[],[]) "```",Space,Str "\"\"\"",Space,RawInline (Format "html") "'''",SoftBreak,Str "i)",Space,Strong [Str "****"],Space,Emph [Str "////"],Space,Span ("",["underline"],[]) [Str "____"],Space,Strikeout [Str "----"],Space,Code ("",[],[]) "````",Space,Str "\"\"\"\"",Space,RawInline (Format "html") "''''",SoftBreak,Str "i)",Space,Strong [Str "*****"],Space,Emph [Str "/////"],Space,Span ("",["underline"],[]) [Str "_____"],Space,Strikeout [Str "-----"],Space,Code ("",[],[]) "`````",Space,Str "\"\"\"\"\"",Space,RawInline (Format "html") "'''''",SoftBreak,Str "i)",Space,Strong [Str "******"],Space,Emph [Str "//////"],Space,Span ("",["underline"],[]) [Str "______"],Space,Strikeout [Str "------"],Space,Code ("",[],[]) "``````",Space,Str "\"\"\"\"\"\"",Space,RawInline (Format "html") "''''''"] ,Para [Str "i)",Space,Str "****",Space,Str "////",Space,Str "____",Space,Str "----",Space,Str "````",Space,Str "\"\"\"\"",Space,Str "''''",SoftBreak,Str "i)",Space,Str "**",Space,Str "**",Space,Str "//",Space,Str "//",Space,Str "__",Space,Str "__",Space,Str "--",Space,Str "--",Space,Str "``",Space,Str "``",Space,Str "\"\"",Space,Str "\"\"",Space,Str "''",Space,Str "''"] ,Para [Str "i)",Space,Str "**",Space,Str "bold**",Space,Str "//",Space,Str "ital//",Space,Str "__",Space,Str "undr__",Space,Str "--",Space,Str "strk--",Space,Str "``",Space,Str "mono``",Space,Str "\"\"",Space,Str "raw\"\"",Space,Str "''",Space,Str "tggd''",SoftBreak,Str "i)",Space,Str "**bold",Space,Str "**",Space,Str "//ital",Space,Str "//",Space,Str "__undr",Space,Str "__",Space,Str "--strk",Space,Str "--",Space,Str "``mono",Space,Str "``",Space,Str "\"\"raw",Space,Str "\"\"",Space,Str "''tggd",Space,Str "''",SoftBreak,Str "i)",Space,Str "**",Space,Str "bold",Space,Str "**",Space,Str "//",Space,Str "ital",Space,Str "//",Space,Str "__",Space,Str "undr",Space,Str "__",Space,Str "--",Space,Str "strk",Space,Str "--",Space,Str "``",Space,Str "mono",Space,Str "``",Space,Str "\"\"",Space,Str "raw",Space,Str "\"\"",Space,Str "''",Space,Str "tggd",Space,Str "''"] ,Header 1 ("link",[],[]) [Str "Link"] ,Para [Link ("",[],[]) [Str "mailto:user@domain.com"] ("user@domain.com",""),SoftBreak,Link ("",[],[]) [Str "mailto:user@domain.com"] ("user@domain.com",""),Str ".",SoftBreak,Link ("",[],[]) [Str "mailto:user@domain.com"] ("user@domain.com",""),Str ".",Space,Str "any",Space,Str "text.",SoftBreak,Str "any",Space,Str "text:",Space,Link ("",[],[]) [Str "mailto:user@domain.com"] ("user@domain.com",""),Str ".",Space,Str "any",Space,Str "text.",SoftBreak,Link ("",[],[]) [Str "label"] ("user@domain.com",""),SoftBreak,Link ("",[],[]) [Str "mailto:user@domain.com?subject=bla"] ("user@domain.com?subject=bla",""),SoftBreak,Link ("",[],[]) [Str "mailto:user@domain.com?subject=bla"] ("user@domain.com?subject=bla",""),Str ".",SoftBreak,Link ("",[],[]) [Str "mailto:user@domain.com?subject=bla"] ("user@domain.com?subject=bla",""),Str ",",SoftBreak,Link ("",[],[]) [Str "mailto:user@domain.com?subject=bla&cc=otheruser@domain.com"] ("user@domain.com?subject=bla&cc=otheruser@domain.com",""),SoftBreak,Link ("",[],[]) [Str "mailto:user@domain.com?subject=bla&cc=otheruser@domain.com"] ("user@domain.com?subject=bla&cc=otheruser@domain.com",""),Str ".",SoftBreak,Link ("",[],[]) [Str "mailto:user@domain.com?subject=bla&cc=otheruser@domain.com"] ("user@domain.com?subject=bla&cc=otheruser@domain.com",""),Str ",",SoftBreak,Link ("",[],[]) [Str "label"] ("user@domain.com?subject=bla&cc=otheruser@domain.com",""),Str ".",SoftBreak,Link ("",[],[]) [Str "label"] ("user@domain.com?subject=bla&cc=otheruser@domain.com.",""),Str ".",SoftBreak,Link ("",[],[]) [Str "http://www.domain.com"] ("http://www.domain.com",""),SoftBreak,Link ("",[],[]) [Str "http://www.domain.com/dir/"] ("http://www.domain.com/dir/",""),SoftBreak,Link ("",[],[]) [Str "http://www.domain.com/dir///"] ("http://www.domain.com/dir///",""),SoftBreak,Link ("",[],[]) [Str "http://www.domain.com."] ("http://www.domain.com.",""),SoftBreak,Link ("",[],[]) [Str "http://www.domain.com,"] ("http://www.domain.com,",""),SoftBreak,Link ("",[],[]) [Str "http://www.domain.com."] ("http://www.domain.com.",""),Space,Str "any",Space,Str "text.",SoftBreak,Link ("",[],[]) [Str "http://www.domain.com,"] ("http://www.domain.com,",""),Space,Str "any",Space,Str "text.",SoftBreak,Link ("",[],[]) [Str "http://www.domain.com/dir/."] ("http://www.domain.com/dir/.",""),Space,Str "any",Space,Str "text.",SoftBreak,Str "any",Space,Str "text:",Space,Link ("",[],[]) [Str "http://www.domain.com."] ("http://www.domain.com.",""),Space,Str "any",Space,Str "text.",SoftBreak,Str "any",Space,Str "text:",Space,Link ("",[],[]) [Str "http://www.domain.com/dir/."] ("http://www.domain.com/dir/.",""),Space,Str "any",Space,Str "text.",SoftBreak,Str "any",Space,Str "text:",Space,Link ("",[],[]) [Str "http://www.domain.com/dir/index.html."] ("http://www.domain.com/dir/index.html.",""),Space,Str "any",Space,Str "text.",SoftBreak,Str "any",Space,Str "text:",Space,Link ("",[],[]) [Str "http://www.domain.com/dir/index.html,"] ("http://www.domain.com/dir/index.html,",""),Space,Str "any",Space,Str "text.",SoftBreak,Link ("",[],[]) [Str "http://www.domain.com/dir/#anchor"] ("http://www.domain.com/dir/#anchor",""),SoftBreak,Link ("",[],[]) [Str "http://www.domain.com/dir/index.html#anchor"] ("http://www.domain.com/dir/index.html#anchor",""),SoftBreak,Link ("",[],[]) [Str "http://www.domain.com/dir/index.html#anchor."] ("http://www.domain.com/dir/index.html#anchor.",""),SoftBreak,Link ("",[],[]) [Str "http://www.domain.com/dir/#anchor."] ("http://www.domain.com/dir/#anchor.",""),Space,Str "any",Space,Str "text.",SoftBreak,Link ("",[],[]) [Str "http://www.domain.com/dir/index.html#anchor."] ("http://www.domain.com/dir/index.html#anchor.",""),Space,Str "any",Space,Str "text.",SoftBreak,Str "any",Space,Str "text:",Space,Link ("",[],[]) [Str "http://www.domain.com/dir/#anchor."] ("http://www.domain.com/dir/#anchor.",""),Space,Str "any",Space,Str "text.",SoftBreak,Str "any",Space,Str "text:",Space,Link ("",[],[]) [Str "http://www.domain.com/dir/index.html#anchor."] ("http://www.domain.com/dir/index.html#anchor.",""),Space,Str "any",Space,Str "text.",SoftBreak,Link ("",[],[]) [Str "http://domain.com?a=a@a.a&b=a+b+c."] ("http://domain.com?a=a@a.a&b=a+b+c.",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com?a=a@a.a&b=a+b+c,"] ("http://domain.com?a=a@a.a&b=a+b+c,",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com/bla.cgi?a=a@a.a&b=a+b+c."] ("http://domain.com/bla.cgi?a=a@a.a&b=a+b+c.",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com/bla.cgi?a=a@a.a&b=a+b+c@."] ("http://domain.com/bla.cgi?a=a@a.a&b=a+b+c@.",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com?a=a@a.a&b=a+b+c.#anchor"] ("http://domain.com?a=a@a.a&b=a+b+c.#anchor",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor"] ("http://domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com/bla.cgi?a=a@a.a&b=a+b+c@.#anchor"] ("http://domain.com/bla.cgi?a=a@a.a&b=a+b+c@.#anchor",""),SoftBreak,Link ("",[],[]) [Str "http://user:password@domain.com/bla.html."] ("http://user:password@domain.com/bla.html.",""),SoftBreak,Link ("",[],[]) [Str "http://user:password@domain.com/dir/."] ("http://user:password@domain.com/dir/.",""),SoftBreak,Link ("",[],[]) [Str "http://user:password@domain.com."] ("http://user:password@domain.com.",""),SoftBreak,Link ("",[],[]) [Str "http://user:@domain.com."] ("http://user:@domain.com.",""),SoftBreak,Link ("",[],[]) [Str "http://user@domain.com."] ("http://user@domain.com.",""),SoftBreak,Link ("",[],[]) [Str "http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor"] ("http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor",""),SoftBreak,Link ("",[],[]) [Str "http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c@#anchor"] ("http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c@#anchor",""),SoftBreak,Link ("",[],[]) [Str "label"] ("www.domain.com",""),SoftBreak,Str "[",Space,Str "label",Space,Link ("",[],[]) [Str "www.domain.com"] ("www.domain.com",""),Str "]",SoftBreak,Link ("",[],[]) [Str "label",Space] ("www.domain.com",""),SoftBreak,Link ("",[],[]) [Str "anchor",Space] ("http://www.domain.com/dir/index.html#anchor.",""),SoftBreak,Link ("",[],[]) [Str "login",Space] ("http://user:password@domain.com/bla.html",""),SoftBreak,Link ("",[],[]) [Str "form",Space] ("http://www.domain.com/bla.cgi?a=a@a.a&b=a+b+c.",""),SoftBreak,Link ("",[],[]) [Str "form",Space,Str "&",Space,Str "anchor"] ("http://www.domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor",""),SoftBreak,Link ("",[],[]) [Str "login",Space,Str "&",Space,Str "form",Space] ("http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c.",""),SoftBreak,Link ("",[],[]) [Str "local",Space,Str "link",Space,Str "up",Space] ("..",""),SoftBreak,Link ("",[],[]) [Str "local",Space,Str "link",Space,Str "file",Space] ("bla.html",""),SoftBreak,Link ("",[],[]) [Str "local",Space,Str "link",Space,Str "anchor",Space] ("#anchor",""),SoftBreak,Link ("",[],[]) [Str "local",Space,Str "link",Space,Str "file/anchor"] ("bla.html#anchor",""),SoftBreak,Link ("",[],[]) [Str "local",Space,Str "link",Space,Str "file/anchor"] ("bla.html#anchor.",""),SoftBreak,Link ("",[],[]) [Str "local",Space,Str "link",Space,Str "img",Space] ("abc.gif",""),SoftBreak,Link ("",[],[]) [Str "www.fake.com"] ("www.domain.com",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm"] ("http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-"] ("http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-",""),SoftBreak,Link ("",[],[]) [Str "http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-#anchor_"] ("http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-#anchor_",""),Str "-1%.",SoftBreak,Link ("",[],[]) [Str "http://foo._user-9:pass!#$%&*()+word@domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-#anchor_"] ("http://foo._user-9:pass!#$%&*()+word@domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-#anchor_",""),Str "-1%.",SoftBreak,Link ("",[],[]) [Str "http://L1.com"] ("http://L1.com",""),Space,Str "!",Space,Link ("",[],[]) [Str "mailto:L2@www.com"] ("L2@www.com",""),Space,Str "!",Space,Link ("",[],[]) [Str "L3"] ("www.com",""),Space,Str "!",Space,Link ("",[],[]) [Str "L4"] ("w@ww.com",""),Space,Str "!",Space,Link ("",[],[]) [Str "www.L5.com"] ("www.L5.com",""),SoftBreak,Link ("",[],[]) [Str "www.domain.com"] ("www.domain.com",""),SoftBreak,Link ("",[],[]) [Str "www2.domain.com"] ("www2.domain.com",""),SoftBreak,Link ("",[],[]) [Str "ftp.domain.com"] ("ftp.domain.com",""),SoftBreak,Link ("",[],[]) [Str "WWW.DOMAIN.COM"] ("WWW.DOMAIN.COM",""),SoftBreak,Link ("",[],[]) [Str "FTP.DOMAIN.COM"] ("FTP.DOMAIN.COM",""),SoftBreak,Link ("",[],[]) [Str "label"] ("www.domain.com",""),SoftBreak,Link ("",[],[]) [Str "label"] ("ftp.domain.com",""),SoftBreak,Link ("",[],[]) [Str "label"] ("WWW.DOMAIN.COM",""),SoftBreak,Link ("",[],[]) [Str "label"] ("FTP.DOMAIN.COM",""),SoftBreak,Str "[label",Space,Link ("",[],[]) [Str "www.domain.com"] ("www.domain.com",""),Space,Str "]",SoftBreak,Str "[label]",Space,Link ("",[],[]) [Str "www.domain.com"] ("www.domain.com",""),Str "]"] ,Header 1 ("image",[],[]) [Str "Image"] ,Para [Image ("",[],[]) [] ("img.png","")] ,Para [Link ("",[],[]) [Image ("",[],[]) [] ("img.png","")] ("http://txt2tags.org","")] ,Para [Image ("",[],[]) [] ("img.png",""),Space,Str "Image",Space,Str "at",Space,Str "the",Space,Str "line",Space,Str "beginning."] ,Para [Str "Image",Space,Str "in",Space,Str "the",Space,Str "middle",Space,Image ("",[],[]) [] ("img.png",""),Space,Str "of",Space,Str "the",Space,Str "line."] ,Para [Str "Image",Space,Str "at",Space,Str "the",Space,Str "line",Space,Str "end.",Space,Image ("",[],[]) [] ("img.png","")] ,Para [Image ("",[],[]) [] ("img.png",""),SoftBreak,Image ("",[],[]) [] ("img.png",""),SoftBreak,Image ("",[],[]) [] ("img.png","")] ,Para [Image ("",[],[]) [] ("img.png",""),Image ("",[],[]) [] ("img.png","")] ,Para [Str "Images",Space,Image ("",[],[]) [] ("img.png",""),Space,Str "mixed",Space,Image ("",[],[]) [] ("img.png",""),Space,Str "with",Space,Image ("",[],[]) [] ("img.png",""),Space,Str "text."] ,Para [Str "Images",Space,Str "glued",Space,Str "together:",Space,Image ("",[],[]) [] ("img.png",""),Image ("",[],[]) [] ("img.png",""),Image ("",[],[]) [] ("img.png",""),Str "."] ,Para [Str "[img.png",Space,Str "]"] ,Para [Str "[",Space,Str "img.png]"] ,Para [Str "[",Space,Str "img.png",Space,Str "]"] ,Header 1 ("numtitle",[],[]) [Str "Numbered",Space,Str "Title"] ,Header 1 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "1"] ,Header 2 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "2"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 4 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "4"] ,Header 5 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "5"] ,Header 1 ("lab_el-1",[],[]) [Str "Title",Space,Str "Level",Space,Str "1"] ,Header 2 ("lab_el-2",[],[]) [Str "Title",Space,Str "Level",Space,Str "2"] ,Header 3 ("lab_el-3",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 4 ("lab_el-4",[],[]) [Str "Title",Space,Str "Level",Space,Str "4"] ,Header 5 ("lab_el-5",[],[]) [Str "Title",Space,Str "Level",Space,Str "5"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("lab_el-9",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Para [Str "+Not",Space,Str "Title"] ,Para [Str "++Not",Space,Str "Title+"] ,Para [Str "+++Not",Space,Str "Title++++",SoftBreak,Str "++++++Not",Space,Str "Title",Space,Str "6++++++"] ,Para [Str "+++++++Not",Space,Str "Title",Space,Str "7+++++++",SoftBreak,Str "+Not",Space,Str "Title+",Space,Str "[label1]",SoftBreak,Str "+Not",Space,Str "Title+[",Space,Str "label",Space,Str "]",SoftBreak,Str "+Not",Space,Str "Title+[la/bel]"] ,Header 1 ("title",[],[]) [Str "Title"] ,Header 1 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "1"] ,Header 2 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "2"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 4 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "4"] ,Header 5 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "5"] ,Header 1 ("lab_el-1",[],[]) [Str "Title",Space,Str "Level",Space,Str "1"] ,Header 2 ("lab_el-2",[],[]) [Str "Title",Space,Str "Level",Space,Str "2"] ,Header 3 ("lab_el-3",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 4 ("lab_el-4",[],[]) [Str "Title",Space,Str "Level",Space,Str "4"] ,Header 5 ("lab_el-5",[],[]) [Str "Title",Space,Str "Level",Space,Str "5"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Header 3 ("lab_el-9",[],[]) [Str "Title",Space,Str "Level",Space,Str "3"] ,Para [Str "=Not",Space,Str "Title"] ,Para [Str "==Not",Space,Str "Title="] ,Para [Str "===Not",Space,Str "Title====",SoftBreak,Str "======Not",Space,Str "Title",Space,Str "6======"] ,Para [Str "=======Not",Space,Str "Title",Space,Str "7=======",SoftBreak,Str "=Not",Space,Str "Title=",Space,Str "[label1]",SoftBreak,Str "=Not",Space,Str "Title=[",Space,Str "label",Space,Str "]",SoftBreak,Str "=Not",Space,Str "Title=[la/bel]"] ,Header 1 ("quote",[],[]) [Str "Quote"] ,BlockQuote [Para [Str "To",Space,Str "quote",Space,Str "a",Space,Str "paragraph,",Space,Str "just",Space,Str "prefix",Space,Str "it",Space,Str "by",Space,Str "a",Space,Str "TAB",SoftBreak,Str "character.",Space,Str "All",Space,Str "the",Space,Str "lines",Space,Str "of",Space,Str "the",Space,Str "paragraph",Space,Str "must",SoftBreak,Str "begin",Space,Str "with",Space,Str "a",Space,Str "TAB."]] ,Para [Str "Any",Space,Str "non-tabbed",Space,Str "line",Space,Str "closes",Space,Str "the",Space,Str "quote",Space,Str "block."] ,BlockQuote [Para [Str "The",Space,Str "number",Space,Str "of",Space,Str "leading",Space,Str "TABs",Space,Str "identifies",Space,Str "the",Space,Str "quote",SoftBreak,Str "block",Space,Str "depth.",Space,Str "This",Space,Str "is",Space,Str "quote",Space,Str "level",Space,Str "1."] ,BlockQuote [Para [Str "With",Space,Str "two",Space,Str "TABs,",Space,Str "we",Space,Str "are",Space,Str "on",Space,Str "the",Space,Str "quote",SoftBreak,Str "level",Space,Str "2."] ,BlockQuote [Para [Str "The",Space,Str "more",Space,Str "TABs,",Space,Str "more",Space,Str "deep",Space,Str "is",SoftBreak,Str "the",Space,Str "quote",Space,Str "level."] ,BlockQuote [Para [Str "There",Space,Str "isn't",Space,Str "a",Space,Str "limit."]]]]] ,BlockQuote [BlockQuote [BlockQuote [BlockQuote [Para [Str "This",Space,Str "quote",Space,Str "starts",Space,Str "at",SoftBreak,Str "level",Space,Str "4."]] ,Para [Str "Then",Space,Str "its",Space,Str "depth",Space,Str "is",Space,Str "decreased."]] ,Para [Str "Counting",Space,Str "down,",Space,Str "one",Space,Str "by",Space,Str "one."]] ,Para [Str "Until",Space,Str "the",Space,Str "level",Space,Str "1."]] ,BlockQuote [BlockQuote [BlockQuote [Para [Str "Unlike",Space,Str "lists,",Space,Str "any",Space,Str "quote",Space,Str "block",Space,Str "is",SoftBreak,Str "independent,",Space,Str "not",Space,Str "part",Space,Str "of",Space,Str "a",Space,Str "tree."]]] ,Para [Str "The",Space,Str "TAB",Space,Str "count",Space,Str "don't",Space,Str "need",Space,Str "to",Space,Str "be",Space,Str "incremental",SoftBreak,Str "by",Space,Str "one."] ,BlockQuote [BlockQuote [BlockQuote [Para [Str "The",Space,Str "nesting",Space,Str "don't",Space,Str "need",SoftBreak,Str "to",Space,Str "follow",Space,Str "any",Space,Str "rule."]]] ,Para [Str "Quotes",Space,Str "can",Space,Str "be",Space,Str "opened",Space,Str "and",Space,Str "closed",SoftBreak,Str "in",Space,Str "any",Space,Str "way."] ,BlockQuote [BlockQuote [BlockQuote [Para [Str "You",Space,Str "choose."]]]]]] ,BlockQuote [Para [Str "Some",Space,Str "targets",Space,Str "(as",Space,Str "sgml)",Space,Str "don't",Space,Str "support",Space,Str "the",SoftBreak,Str "nesting",Space,Str "of",Space,Str "quotes.",Space,Str "There",Space,Str "is",Space,Str "only",Space,Str "one",Space,Str "quote",SoftBreak,Str "level."] ,BlockQuote [Para [Str "In",Space,Str "this",Space,Str "case,",Space,Str "no",Space,Str "matter",Space,Str "how",Space,Str "much",SoftBreak,Str "TABs",Space,Str "are",Space,Str "used",Space,Str "to",Space,Str "define",Space,Str "the",Space,Str "quote",SoftBreak,Str "block,",Space,Str "it",Space,Str "always",Space,Str "will",Space,Str "be",Space,Str "level",Space,Str "1."]]] ,BlockQuote [Para [Str "Spaces",Space,Str "AFTER",Space,Str "the",Space,Str "TAB",Space,Str "character",Space,Str "are",Space,Str "allowed.",SoftBreak,Str "But",Space,Str "be",Space,Str "careful,",Space,Str "it",Space,Str "can",Space,Str "be",Space,Str "confusing."]] ,Para [Str "Spaces",Space,Str "BEFORE",Space,Str "the",Space,Str "TAB",Space,Str "character",SoftBreak,Str "invalidate",Space,Str "the",Space,Str "mark.",Space,Str "It's",Space,Str "not",Space,Str "quote."] ,BlockQuote [Para [Str "Paragraph",Space,Str "breaks",Space,Str "inside",Space,Str "a",Space,Str "quote",Space,Str "aren't",SoftBreak,Str "possible."] ,Para [Str "This",Space,Str "sample",Space,Str "are",Space,Str "two",Space,Str "separated",Space,Str "quoted",SoftBreak,Str "paragraphs,",Space,Str "not",Space,Str "a",Space,Str "quote",Space,Str "block",Space,Str "with",SoftBreak,Str "two",Space,Str "paragraphs",Space,Str "inside."]] ,BlockQuote [Para [Str "The",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "file",Space,Str "(EOF)",Space,Str "closes",Space,Str "the",SoftBreak,Str "currently",Space,Str "open",Space,Str "quote",Space,Str "block."]] ,Header 1 ("raw",[],[]) [Str "Raw"] ,Para [Str "A raw line.\n"] ,Para [Str " Another raw line, with leading spaces.\n"] ,Para [Str "A raw area delimited\n by lines with marks.\n"] ,Para [Str "Trailing spaces and TABs after the area marks\nare allowed, but not encouraged nor documented.\n"] ,Para [Str "\"\"\"Not",Space,Str "a",Space,Str "raw",Space,Str "line,",Space,Str "need",Space,Str "one",Space,Str "space",Space,Str "after",Space,Str "mark."] ,Para [Str "\"\"\"",SoftBreak,Str "Not",Space,Str "a",Space,Str "raw",Space,Str "area.",SoftBreak,Str "The",Space,Str "marks",Space,Str "must",Space,Str "be",Space,Str "at",Space,Str "the",Space,Str "line",Space,Str "beginning,",SoftBreak,Str "no",Space,Str "leading",Space,Str "spaces.",SoftBreak,Str "\"\"\""] ,Para [Str "The end of the file (EOF) closes\nthe currently open raw area.\n"] ,Header 1 ("verbatim",[],[]) [Str "Verbatim"] ,CodeBlock ("",[],[]) "A verbatim line.\n" ,CodeBlock ("",[],[]) " Another verbatim line, with leading spaces.\n" ,CodeBlock ("",[],[]) "A verbatim area delimited\n by lines with marks.\n" ,CodeBlock ("",[],[]) "Trailing spaces and TABs after the area marks\nare allowed, but not encouraged nor documented.\n" ,Para [Str "```Not",Space,Str "a",Space,Str "verbatim",Space,Str "line,",Space,Str "need",Space,Str "one",Space,Str "space",Space,Str "after",Space,Str "mark."] ,Para [Str "```",SoftBreak,Str "Not",Space,Str "a",Space,Str "verbatim",Space,Str "area.",SoftBreak,Str "The",Space,Str "marks",Space,Str "must",Space,Str "be",Space,Str "at",Space,Str "the",Space,Str "line",Space,Str "beginning,",SoftBreak,Str "no",Space,Str "leading",Space,Str "spaces.",SoftBreak,Str "```"] ,CodeBlock ("",[],[]) "The end of the file (EOF) closes\nthe currently open verbatim area.\n" ,Header 1 ("deflist",[],[]) [Str "Definition",Space,Str "List"] ,DefinitionList [([Str "Definition",Space,Str "list"], [[Plain [Str "A",Space,Str "list",Space,Str "with",Space,Str "terms"]]]) ,([Str "Start",Space,Str "term",Space,Str "with",Space,Str "colon"], [[Plain [Str "And",Space,Str "its",Space,Str "definition",Space,Str "follows"]]])] ,Header 1 ("numlist",[],[]) [Str "Numbered",Space,Str "List"] ,Para [Str "See",Space,Link ("",[],[]) [Str "List"] ("#list",""),Str ",",Space,Str "the",Space,Str "same",Space,Str "rules",Space,Str "apply."] ,Header 1 ("list",[],[]) [Str "List"] ,BulletList [[Plain [Str "Use",Space,Str "the",Space,Str "hyphen",Space,Str "to",Space,Str "prefix",Space,Str "list",Space,Str "items."]] ,[Plain [Str "There",Space,Str "must",Space,Str "be",Space,Str "one",Space,Str "space",Space,Str "after",Space,Str "the",Space,Str "hyphen."]] ,[Plain [Str "The",Space,Str "list",Space,Str "is",Space,Str "closed",Space,Str "by",Space,Str "two",Space,Str "consecutive",Space,Str "blank",Space,Str "lines."]]] ,BulletList [[Plain [Str "The",Space,Str "list",Space,Str "can",Space,Str "be",Space,Str "indented",Space,Str "on",Space,Str "the",Space,Str "source",Space,Str "document."]] ,[Plain [Str "You",Space,Str "can",Space,Str "use",Space,Str "any",Space,Str "number",Space,Str "of",Space,Str "spaces."]] ,[Plain [Str "The",Space,Str "result",Space,Str "will",Space,Str "be",Space,Str "the",Space,Str "same."]]] ,BulletList [[Para [Str "Let",Space,Str "one",Space,Str "blank",Space,Str "line",Space,Str "between",Space,Str "the",Space,Str "list",Space,Str "items."]] ,[Para [Str "It",Space,Str "will",Space,Str "be",Space,Str "maintained",Space,Str "on",Space,Str "the",Space,Str "conversion."]] ,[Para [Str "Some",Space,Str "targets",Space,Str "don't",Space,Str "support",Space,Str "this",Space,Str "behavior."]] ,[Para [Str "This",Space,Str "one",Space,Str "was",Space,Str "separated",Space,Str "by",Space,Str "a",Space,Str "line",Space,Str "with",Space,Str "blanks.",SoftBreak,Str "You",Space,Str "can",Space,Str "also",Space,Str "put",Space,Str "a",Space,Str "blank",Space,Str "line",Space,Str "inside"] ,Para [Str "the",Space,Str "item",Space,Str "contents",Space,Str "and",Space,Str "it",Space,Str "will",Space,Str "be",Space,Str "preserved."]]] ,Para [Str "-This",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "list",Space,Str "(no",Space,Str "space)"] ,Para [Str "-",Space,Str "This",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "list",Space,Str "(more",Space,Str "than",Space,Str "one",Space,Str "space)"] ,Para [Str "-",Space,Str "This",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "list",Space,Str "(a",Space,Str "TAB",Space,Str "instead",Space,Str "the",Space,Str "space)"] ,BulletList [[BulletList [[Plain [Str "This",Space,Str "is",Space,Str "a",Space,Str "list"]]]] ,[OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "This",Space,Str "is",Space,Str "a",Space,Str "list"]]]] ,[DefinitionList [([Str "This",Space,Str "is",Space,Str "a",Space,Str "list"], [[]])]]] ,BulletList [[Plain [Str "This",Space,Str "is",Space,Str "the",Space,Str "\"mother\"",Space,Str "list",Space,Str "first",Space,Str "item."]] ,[Plain [Str "Here",Space,Str "is",Space,Str "the",Space,Str "second,",Space,Str "but",Space,Str "inside",Space,Str "this",Space,Str "item,"] ,BulletList [[Plain [Str "there",Space,Str "is",Space,Str "a",Space,Str "sublist,",Space,Str "with",Space,Str "its",Space,Str "own",Space,Str "items."]] ,[Plain [Str "Note",Space,Str "that",Space,Str "the",Space,Str "items",Space,Str "of",Space,Str "the",Space,Str "same",Space,Str "sublist"]] ,[Plain [Str "must",Space,Str "have",Space,Str "the",Space,Str "same",Space,Str "indentation."] ,BulletList [[Plain [Str "And",Space,Str "this",Space,Str "can",Space,Str "go",Space,Str "on,",Space,Str "opening",Space,Str "sublists."] ,BulletList [[Plain [Str "Just",Space,Str "add",Space,Str "leading",Space,Str "spaces",Space,Str "before",Space,Str "the"]] ,[Plain [Str "hyphen",Space,Str "and",Space,Str "sublists",Space,Str "will",Space,Str "be",Space,Str "opened."]] ,[Plain [Str "The",Space,Str "two",Space,Str "blank",Space,Str "lines",Space,Str "closes",Space,Str "them",Space,Str "all."]]]]]]]]] ,BulletList [[Plain [Str "When",Space,Str "nesting",Space,Str "lists,",Space,Str "the",Space,Str "additional",Space,Str "spaces",Space,Str "are",Space,Str "free."]] ,[Plain [Str "You",Space,Str "can",Space,Str "add",Space,Str "just",Space,Str "one,"] ,BulletList [[Plain [Str "or",Space,Str "many."] ,BulletList [[Plain [Str "What",Space,Str "matters",Space,Str "is",Space,Str "to",Space,Str "put",Space,Str "more",Space,Str "than",Space,Str "the",Space,Str "previous."]] ,[Plain [Str "But",Space,Str "remember",Space,Str "that",Space,Str "the",Space,Str "other",Space,Str "items",Space,Str "of",Space,Str "the",Space,Str "same",Space,Str "list"]] ,[Plain [Str "must",Space,Str "use",Space,Str "the",Space,Str "same",Space,Str "indentation."]]]]]]] ,BulletList [[Plain [Str "There",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "depth",Space,Str "limit,"] ,BulletList [[Plain [Str "you",Space,Str "can",Space,Str "go",Space,Str "deeper",Space,Str "and",Space,Str "deeper."] ,BulletList [[Plain [Str "But",Space,Str "some",Space,Str "targets",Space,Str "may",Space,Str "have",Space,Str "restrictions."] ,BulletList [[Plain [Str "The",Space,Str "LaTeX",Space,Str "maximum",Space,Str "is",Space,Str "here,",Space,Str "4",Space,Str "levels."]]]]]]]]] ,BulletList [[Plain [Str "Reverse",Space,Str "nesting",Space,Str "doesn't",Space,Str "work."]] ,[Plain [Str "Because",Space,Str "a",Space,Str "sublist",Space,Str "*must*",Space,Str "have",Space,Str "a",Space,Str "mother",Space,Str "list."]] ,[Plain [Str "It's",Space,Str "the",Space,Str "list",Space,Str "concept,",Space,Str "not",Space,Str "a",Space,Str "txt2tags",Space,Str "limitation."]] ,[Plain [Str "All",Space,Str "this",Space,Str "sublists",Space,Str "will",Space,Str "be",Space,Str "bumped",Space,Str "to",Space,Str "mother",Space,Str "lists."]] ,[Plain [Str "At",Space,Str "level",Space,Str "1,",Space,Str "like",Space,Str "this",Space,Str "one."]]] ,BulletList [[Plain [Str "Level",Space,Str "1"] ,BulletList [[Plain [Str "Level",Space,Str "2"] ,BulletList [[Plain [Str "Level",Space,Str "3"] ,BulletList [[Plain [Str "Level",Space,Str "4"]]]] ,[Plain [Str "Level",Space,Str "3",Space,Str "--",Space,Str "(closed",Space,Str "Level",Space,Str "4)"]]]] ,[Plain [Str "Level",Space,Str "2",Space,Str "--",Space,Str "(closed",Space,Str "Level",Space,Str "3)"]]]] ,[Plain [Str "Level",Space,Str "1",Space,Str "--",Space,Str "(closed",Space,Str "Level",Space,Str "2)"]]] ,BulletList [[Plain [Str "Level",Space,Str "1"] ,BulletList [[Plain [Str "Level",Space,Str "2"] ,BulletList [[Plain [Str "Level",Space,Str "3"] ,BulletList [[Plain [Str "Level",Space,Str "4"]]]]]]]] ,[Plain [Str "Level",Space,Str "1",Space,Str "--",Space,Str "(closed",Space,Str "Level",Space,Str "4,",Space,Str "Level",Space,Str "3",Space,Str "and",Space,Str "Level",Space,Str "2)"]]] ,BulletList [[Para [Str "Level",Space,Str "1"] ,BulletList [[Para [Str "Level",Space,Str "2",Space,Str "--",Space,Str "blank",Space,Str "BEFORE",Space,Str "and",Space,Str "AFTER",Space,Str "(in)"] ,BulletList [[Plain [Str "Level",Space,Str "3"]]]]]]] ,BulletList [[Plain [Str "Level",Space,Str "4"]]] ,BulletList [[Para [Str "Level",Space,Str "3"]] ,[Para [Str "Level",Space,Str "2",Space,Str "--",Space,Str "blank",Space,Str "BEFORE",Space,Str "and",Space,Str "AFTER",Space,Str "(out)"]] ,[Para [Str "Level",Space,Str "1"] ,BulletList [[Para [Str "Level",Space,Str "2",Space,Str "--",Space,Str "blank",Space,Str "BEFORE",Space,Str "(spaces)",Space,Str "and",Space,Str "AFTER",Space,Str "(TAB)"] ,BulletList [[Plain [Str "Level",Space,Str "3"]]]]]]] ,BulletList [[Plain [Str "Level",Space,Str "1"] ,BulletList [[Plain [Str "Level",Space,Str "2"] ,BulletList [[Plain [Str "Level",Space,Str "3"] ,BulletList [[Plain [Str "Level",Space,Str "4"]] ,[Plain [Str "Level",Space,Str "3.5",Space,Str "???"]]]] ,[Plain [Str "Level",Space,Str "3"]] ,[Plain [Str "Level",Space,Str "2.5",Space,Str "???"]]]] ,[Plain [Str "Level",Space,Str "2"]] ,[Plain [Str "Level",Space,Str "1.5",Space,Str "???"]]]] ,[Plain [Str "Level",Space,Str "1"]]] ,BulletList [[Plain [Str "This",Space,Str "list",Space,Str "is",Space,Str "closed",Space,Str "by",Space,Str "a",Space,Str "line",Space,Str "with",Space,Str "spaces",Space,Str "and",Space,Str "other",Space,Str "with",Space,Str "TABs"]]] ,BulletList [[Plain [Str "This",Space,Str "list",Space,Str "is",Space,Str "NOT",Space,Str "closed",Space,Str "by",Space,Str "two",Space,Str "comment",Space,Str "lines"]]] ,BulletList [[Plain [Str "This",Space,Str "list",Space,Str "is",Space,Str "closed",Space,Str "by",Space,Str "a",Space,Str "line",Space,Str "with",Space,Str "spaces",Space,Str "and",Space,Str "TAB,"]] ,[Plain [Str "then",Space,Str "a",Space,Str "comment",Space,Str "line,",Space,Str "then",Space,Str "an",Space,Str "empty",Space,Str "line."]]] ,BulletList [[Plain [Str "Level",Space,Str "1"] ,BulletList [[Plain [Str "Level",Space,Str "2"] ,BulletList [[Plain [Str "Level",Space,Str "3"]]] ,Plain [Str "-",SoftBreak,Str "Level",Space,Str "2"]]] ,Plain [Str "-",SoftBreak,Str "Level",Space,Str "1"]]] ,Para [Str "-"] ,BulletList [[Plain [Str "Empty",Space,Str "item",Space,Str "with",Space,Str "trailing",Space,Str "spaces."]]] ,Para [Str "-"] ,BulletList [[Plain [Str "Empty",Space,Str "item",Space,Str "with",Space,Str "trailing",Space,Str "TAB."]]] ,Para [Str "-"] ,BulletList [[Plain [Str "If",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "file",Space,Str "(EOF)",Space,Str "is",Space,Str "hit,"] ,BulletList [[Plain [Str "all",Space,Str "the",Space,Str "currently",Space,Str "opened",Space,Str "list",Space,Str "are",Space,Str "closed,"] ,BulletList [[Plain [Str "just",Space,Str "like",Space,Str "when",Space,Str "using",Space,Str "the",Space,Str "two",Space,Str "blank",Space,Str "lines."]]]]]]] ,Header 1 ("table",[],[]) [Str "Table"] ,Table [] [AlignRight] [0.0] [[]] [[[Plain [Str "Cell",Space,Str "1"]]]] ,Table [] [AlignCenter,AlignCenter,AlignRight] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "Cell",Space,Str "1"]] ,[Plain [Str "Cell",Space,Str "2"]] ,[Plain [Str "Cell",Space,Str "3"]]]] ,Table [] [AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "Cell",Space,Str "1"]] ,[Plain [Str "Cell",Space,Str "2"]] ,[Plain [Str "Cell",Space,Str "3"]]]] ,Para [Str "||",Space,Str "Cell",Space,Str "1",Space,Str "|",Space,Str "Cell",Space,Str "2",Space,Str "|",Space,Str "Cell",Space,Str "3",Space,Str "|"] ,Table [] [AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0] [[] ,[] ,[]] [[[Plain [Str "Cell",Space,Str "1"]] ,[Plain [Str "Cell",Space,Str "2"]] ,[Plain [Str "Cell",Space,Str "3"]]]] ,Table [] [AlignDefault,AlignCenter,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "Heading"]] ,[Plain [Str "Heading"]] ,[Plain [Str "Heading"]]] [[[Plain [Str "<-"]] ,[Plain [Str "--"]] ,[Plain [Str "->"]]] ,[[Plain [Str "--"]] ,[Plain [Str "--"]] ,[Plain [Str "--"]]] ,[[Plain [Str "->"]] ,[Plain [Str "--"]] ,[Plain [Str "<-"]]]] ,Table [] [AlignDefault,AlignDefault,AlignCenter,AlignCenter] [0.0,0.0,0.0,0.0] [[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3+4"]] ,[]] [[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]] ,[Plain [Str "4"]]] ,[[Plain [Str "1+2+3"]] ,[Plain [Str "4"]] ,[] ,[]] ,[[Plain [Str "1"]] ,[Plain [Str "2+3"]] ,[Plain [Str "4"]] ,[]] ,[[Plain [Str "1+2+3+4"]] ,[] ,[] ,[]]] ,Table [] [AlignCenter,AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[]] [[[Plain [Str "0"]] ,[Plain [Str "1"]] ,[Plain [Str "2"]] ,[]] ,[[Plain [Str "4"]] ,[Plain [Str "5"]] ,[] ,[Plain [Str "7"]]] ,[[Plain [Str "8"]] ,[] ,[Plain [Str "A"]] ,[Plain [Str "B"]]] ,[[] ,[Plain [Str "D"]] ,[Plain [Str "E"]] ,[Plain [Str "F"]]]] ,Table [] [AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[] ,[]] [[[Plain [Str "1"]] ,[] ,[] ,[] ,[]] ,[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[] ,[] ,[]] ,[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]] ,[] ,[]] ,[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]] ,[Plain [Str "4"]] ,[]] ,[[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]] ,[Plain [Str "4"]] ,[Plain [Str "5"]]]] ,Table [] [AlignDefault,AlignCenter,AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[] ,[]] [[[Plain [Str "Jan"]] ,[] ,[] ,[] ,[]] ,[[Plain [Str "Fev"]] ,[] ,[] ,[] ,[]] ,[[Plain [Str "Mar"]] ,[] ,[] ,[] ,[]] ,[[Plain [Str "Apr"]] ,[] ,[] ,[] ,[]] ,[[Plain [Str "May"]] ,[] ,[] ,[] ,[]] ,[[Plain [Str "20%"]] ,[Plain [Str "40%"]] ,[Plain [Str "60%"]] ,[Plain [Str "80%"]] ,[Plain [Str "100%"]]]] ,Table [] [AlignCenter,AlignDefault,AlignDefault,AlignCenter,AlignCenter] [0.0,0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[] ,[]] [[[] ,[] ,[Plain [Str "/"]] ,[] ,[]] ,[[] ,[Plain [Str "/",Space,Str "/",Space,Str "/",Space,Str "/",Space,Str "/"]] ,[] ,[] ,[]] ,[[Plain [Str "/",Space,Str "/",Space,Str "/",Space,Str "/",Space,Str "/",Space,Str "/",Space,Str "/",Space,Str "/",Space,Str "/"]] ,[] ,[] ,[] ,[]] ,[[] ,[Plain [Str "o"]] ,[] ,[Plain [Str "o"]] ,[]] ,[[] ,[] ,[Plain [Str "."]] ,[] ,[]] ,[[] ,[Plain [Str "=",Space,Str "=",Space,Str "=",Space,Str "="]] ,[] ,[] ,[]]] ,Table [] [AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[] ,[] ,[] ,[] ,[]] [[[Plain [Str "01"]] ,[Plain [Str "02"]] ,[] ,[] ,[Plain [Str "05"]] ,[] ,[Plain [Str "07"]] ,[]] ,[[] ,[] ,[Plain [Str "11"]] ,[] ,[Plain [Str "13"]] ,[] ,[] ,[Plain [Str "16"]]] ,[[Plain [Str "17"]] ,[] ,[Plain [Str "19"]] ,[Plain [Str "20"]] ,[] ,[] ,[Plain [Str "23"]] ,[]] ,[[Plain [Str "25"]] ,[Plain [Str "26"]] ,[] ,[] ,[Plain [Str "29"]] ,[Plain [Str "30"]] ,[] ,[Plain [Str "32"]]] ,[[] ,[] ,[Plain [Str "35"]] ,[] ,[Plain [Str "37"]] ,[] ,[Plain [Str "39"]] ,[Plain [Str "40"]]]] ,Table [] [AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter,AlignCenter] [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[] ,[]] [[[Plain [Str "0"]] ,[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]] ,[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]] ,[Plain [Str "7"]] ,[Plain [Str "8"]] ,[Plain [Str "9"]] ,[Plain [Str "A"]] ,[Plain [Str "B"]] ,[Plain [Str "C"]] ,[Plain [Str "D"]] ,[Plain [Str "E"]] ,[Plain [Str "F"]] ,[Plain [Str "0"]] ,[Plain [Str "1"]] ,[Plain [Str "2"]] ,[Plain [Str "3"]] ,[Plain [Str "4"]] ,[Plain [Str "5"]] ,[Plain [Str "6"]] ,[Plain [Str "7"]] ,[Plain [Str "8"]] ,[Plain [Str "9"]] ,[Plain [Str "A"]] ,[Plain [Str "B"]] ,[Plain [Str "C"]] ,[Plain [Str "D"]] ,[Plain [Str "E"]] ,[Plain [Str "F"]]]] ,Table [] [AlignCenter] [0.0] [[]] [[[]] ,[[]] ,[[]]] ,Para [Str "|this|is|not|a|table|"] ,Para [Str "|this|",Space,Str "is|",Space,Str "not|",Space,Str "a|",Space,Str "table|"] ,Para [Str "|this",Space,Str "|is",Space,Str "|not",Space,Str "|a",Space,Str "|table",Space,Str "|"] ,Para [Str "|",Space,Str "this\t|",Space,Str "is\t|",Space,Str "not\t|",Space,Str "a\t|",Space,Str "table\t|"] ,HorizontalRule ,Para [Str "The",Space,Str "End."]] pandoc-2.9.2.1/test/txt2tags.t2t000066400000000000000000000535651363630463000163430ustar00rootroot00000000000000Txt2tags Markup Rules author date %!includeconf: rules.conf This document describes all the details about each txt2tags mark. The target audience are **experienced** users. You may find it useful if you want to master the marks or solve a specific problem about a mark. If you are new to txt2tags or just want to know which are the available marks, please read the [Markup Demo MARKUPDEMO]. Note 1: This document is generated directly from the txt2tags test-suite. All the rules mentioned here are 100% in sync with the current program code. Note 2: A good practice is to consult [the sources rules.t2t] when reading, to see how the texts were made. Table of Contents: %%TOC ------------------------------------------------------------- = Paragraph =[paragraph] %INCLUDED(t2t) starts here: ../../../test/marks/paragraph.t2t %%% Syntax: Lines grouped together A paragraph is composed by one or more lines. A blank line (or a table, or a list) ends the current paragraph. %%% Syntax: Leading and trailing spaces are ignored Leading and trailing spaces are ignored. %%% Syntax: A comment don't close a paragraph A comment line can be placed inside a paragraph. % this comment will be ignored It will not affect it. %%% Closing: EOF closes the open paragraph The end of the file (EOF) closes the currently open paragraph. = Comment =[comment] %INCLUDED(t2t) starts here: ../../../test/marks/comment.t2t %%% Syntax: The % character at the line beginning (column 1) %glued with the % mark % separated from the % mark % very distant from the % mark %%%%%%% lots of % marks % a blank comment, used for vertical spacing: % % NOTE: what matters is the first % being at the line beginning, % the rest of the line is just ignored. %%% Syntax: Area (block) %%% You're not seeing this. %%% %%% Syntax: Area (block) with trailing spaces %%% You're not seeing this. %%% %%% Invalid: The % in any other position % not on the line beginning (at column 2) some text % half line comments are not allowed = Line =[line] %INCLUDED(t2t) starts here: ../../../test/marks/line.t2t %%% Syntax: At least 20 chars of - = _ -------------------- ==================== ____________________ %%% Syntax: Any kind of mixing is allowed %% Free mixing is allowed to make the line, %% but the first char is the identifier for %% the difference between separator ( - _ ) %% and strong ( = ) lines. =========----------- -_-_-_-_-_-_-_-_-_-_ =-=-=-=-=-=-=-=-=-=- =------------------= --------====-------- %%% Syntax: Leading and/or trailing spaces are allowed -------------------- -------------------- -------------------- %%% Invalid: Less than 20 chars (but strike matches) --------- %%% Invalid: Strange chars (but strike matches) --------- ---------- ---------+---------- ( -------------------- ) = Inline =[inline] %INCLUDED(t2t) starts here: ../../../test/marks/inline.t2t %%% Syntax: Marks are greedy and must be "glued" with contents %% GLUED: The contents must be glued with the marks, no spaces %% between them. Right after the opening mark there must be a %% non-blank character, as well as right before the closing mark. %% %% GREEDY: If the contents boundary character is the same as %% the mark character, it is considered contents, not mark. %% So ""****bold****"" turns to ""**bold**"" in HTML. i) **b** //i// __u__ --s-- ``m`` ""r"" ''t'' i) **bo** //it// __un__ --st-- ``mo`` ""ra"" ''tg'' i) **bold** //ital// __undr__ --strk-- ``mono`` ""raw"" ''tggd'' i) **bo ld** //it al// __un dr__ --st rk-- ``mo no`` ""r aw"" ''tg gd'' i) **bo * ld** //it / al// __un _ dr__ --st - rk-- ``mo ` no`` ""r " aw"" ''tg ' gd'' i) **bo **ld** //it //al// __un __dr__ --st --rk-- ``mo ``no`` ""r ""aw"" ''tg ''gd'' i) **bo ** ld** //it // al// __un __ dr__ --st -- rk-- ``mo `` no`` ""r "" aw"" ''tg '' gd'' i) ****bold**** ////ital//// ____undr____ ----strk---- ````mono```` """"raw"""" ''''tggd'''' i) ***bold*** ///ital/// ___undr___ ---strk--- ```mono``` """raw""" '''tggd''' %%% Syntax: Repetition is greedy %% When the mark character is repeated many times, %% the contents are expanded to the largest possible. %% That's why they are greedy, the outer marks are %% the ones used. i) ***** ///// _____ ----- ````` """"" ''''' i) ****** ////// ______ ------ `````` """""" '''''' i) ******* /////// _______ ------- ``````` """"""" ''''''' i) ******** //////// ________ -------- ```````` """""""" '''''''' i) ********* ///////// _________ --------- ````````` """"""""" ''''''''' i) ********** ////////// __________ ---------- `````````` """""""""" '''''''''' %%% Invalid: No contents i) **** //// ____ ---- ```` """" '''' i) ** ** // // __ __ -- -- `` `` "" "" '' '' %%% Invalid: Contents not "glued" with marks %% Spaces between the marks and the contents in any side %% invalidate the mark. i) ** bold** // ital// __ undr__ -- strk-- `` mono`` "" raw"" '' tggd'' i) **bold ** //ital // __undr __ --strk -- ``mono `` ""raw "" ''tggd '' i) ** bold ** // ital // __ undr __ -- strk -- `` mono `` "" raw "" '' tggd '' = Link =[link] %INCLUDED(t2t) starts here: ../../../test/marks/link.t2t %%% Syntax: E-mail user@domain.com user@domain.com. user@domain.com. any text. any text: user@domain.com. any text. [label user@domain.com] %%% Syntax: E-mail with form data user@domain.com?subject=bla user@domain.com?subject=bla. user@domain.com?subject=bla, user@domain.com?subject=bla&cc=otheruser@domain.com user@domain.com?subject=bla&cc=otheruser@domain.com. user@domain.com?subject=bla&cc=otheruser@domain.com, [label user@domain.com?subject=bla&cc=otheruser@domain.com]. [label user@domain.com?subject=bla&cc=otheruser@domain.com.]. %%% Syntax: URL http://www.domain.com http://www.domain.com/dir/ http://www.domain.com/dir/// http://www.domain.com. http://www.domain.com, http://www.domain.com. any text. http://www.domain.com, any text. http://www.domain.com/dir/. any text. any text: http://www.domain.com. any text. any text: http://www.domain.com/dir/. any text. any text: http://www.domain.com/dir/index.html. any text. any text: http://www.domain.com/dir/index.html, any text. %%% Syntax: URL with anchor http://www.domain.com/dir/#anchor http://www.domain.com/dir/index.html#anchor http://www.domain.com/dir/index.html#anchor. http://www.domain.com/dir/#anchor. any text. http://www.domain.com/dir/index.html#anchor. any text. any text: http://www.domain.com/dir/#anchor. any text. any text: http://www.domain.com/dir/index.html#anchor. any text. %%% Syntax: URL with form data http://domain.com?a=a@a.a&b=a+b+c. http://domain.com?a=a@a.a&b=a+b+c, http://domain.com/bla.cgi?a=a@a.a&b=a+b+c. http://domain.com/bla.cgi?a=a@a.a&b=a+b+c@. %%% Syntax: URL with form data and anchor http://domain.com?a=a@a.a&b=a+b+c.#anchor http://domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor http://domain.com/bla.cgi?a=a@a.a&b=a+b+c@.#anchor %%% Syntax: URL with login data http://user:password@domain.com/bla.html. http://user:password@domain.com/dir/. http://user:password@domain.com. http://user:@domain.com. http://user@domain.com. %%% Syntax: URL with login, form and anchor http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c@#anchor %%% Syntax: URL with label [label www.domain.com] %%% Syntax: URL with label (trailing spaces are discarded, leading are maintained) %TODO normalize this behavior [ label www.domain.com] [label www.domain.com] %%% Syntax: URL with label, stressing [anchor http://www.domain.com/dir/index.html#anchor.] [login http://user:password@domain.com/bla.html] [form http://www.domain.com/bla.cgi?a=a@a.a&b=a+b+c.] [form & anchor http://www.domain.com/bla.cgi?a=a@a.a&b=a+b+c.#anchor] [login & form http://user:password@domain.com/bla.cgi?a=a@a.a&b=a+b+c.] %%% Syntax: Link with label for local files [local link up ..] [local link file bla.html] [local link anchor #anchor] [local link file/anchor bla.html#anchor] [local link file/anchor bla.html#anchor.] [local link img abc.gif] %%% Syntax: Another link as a label [www.fake.com www.domain.com] %%% Syntax: URL with funny chars http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_- http://domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-#anchor_-1%. http://foo._user-9:pass!#$%&*()+word@domain.com:8080/~user/_st-r@a=n$g,e/index%20new.htm?a=/%22&b=+.@*_-#anchor_-1%. %%% Test: Various per line http://L1.com ! L2@www.com ! [L3 www.com] ! [L4 w@ww.com] ! www.L5.com %%% Feature: Guessed link, adding protocol automatically www.domain.com www2.domain.com ftp.domain.com WWW.DOMAIN.COM FTP.DOMAIN.COM [label www.domain.com] [label ftp.domain.com] [label WWW.DOMAIN.COM] [label FTP.DOMAIN.COM] %%% Invalid: Trailing space on link [label www.domain.com ] %%% Invalid: Label with ] char (use postproc) [label] www.domain.com] = Image =[image] %INCLUDED(t2t) starts here: ../../../test/marks/image.t2t %%% Syntax: Image name inside brackets: [img] [img.png] %%% Syntax: Image pointing to a link: [[img] link] [[img.png] http://txt2tags.org] %%% Align: Image position is preserved when inside paragraph [img.png] Image at the line beginning. Image in the middle [img.png] of the line. Image at the line end. [img.png] %%% Align: Image alone with spaces around is aligned [img.png] [img.png] [img.png] %%% Test: Two glued images with no spaces (left & right) [img.png][img.png] %%% Test: Various per line Images [img.png] mixed [img.png] with [img.png] text. Images glued together: [img.png][img.png][img.png]. %%% Invalid: Spaces inside are not allowed [img.png ] [ img.png] [ img.png ] % Ignored as they change every time when run = Numbered Title =[numtitle] %%% Syntax: Balanced equal signs (from 1 to 5) + Title Level 1 + ++ Title Level 2 ++ +++ Title Level 3 +++ ++++ Title Level 4 ++++ +++++ Title Level 5 +++++ %%% Label: Between brackets, alphanumeric [A-Za-z0-9_-] + Title Level 1 +[lab_el-1] ++ Title Level 2 ++[lab_el-2] +++ Title Level 3 +++[lab_el-3] ++++ Title Level 4 ++++[lab_el-4] +++++ Title Level 5 +++++[lab_el-5] %%% Syntax: Spaces around and/or inside are allowed (and ignored) +++Title Level 3+++ +++ Title Level 3 +++ +++ Title Level 3 +++ +++ Title Level 3 +++ +++ Title Level 3 +++ +++ Title Level 3 +++[lab_el-9] %%% Invalid: Unbalanced equal signs +Not Title ++Not Title+ +++Not Title++++ %%% Invalid: Level deeper than 5 ++++++Not Title 6++++++ +++++++Not Title 7+++++++ %%% Invalid: Space between title and label +Not Title+ [label1] %%% Invalid: Space inside label +Not Title+[ label ] %%% Invalid: Strange chars inside label +Not Title+[la/bel] = Title =[title] %INCLUDED(t2t) starts here: ../../../test/marks/title.t2t %%% Syntax: Balanced equal signs (from 1 to 5) = Title Level 1 = == Title Level 2 == === Title Level 3 === ==== Title Level 4 ==== ===== Title Level 5 ===== %%% Label: Between brackets, alphanumeric [A-Za-z0-9_-] = Title Level 1 =[lab_el-1] == Title Level 2 ==[lab_el-2] === Title Level 3 ===[lab_el-3] ==== Title Level 4 ====[lab_el-4] ===== Title Level 5 =====[lab_el-5] %%% Syntax: Spaces around and/or inside are allowed (and ignored) ===Title Level 3=== === Title Level 3 === === Title Level 3 === === Title Level 3 === === Title Level 3 === === Title Level 3 ===[lab_el-9] %%% Invalid: Unbalanced equal signs =Not Title ==Not Title= ===Not Title==== %%% Invalid: Level deeper than 5 ======Not Title 6====== =======Not Title 7======= %%% Invalid: Space between title and label =Not Title= [label1] %%% Invalid: Space inside label =Not Title=[ label ] %%% Invalid: Strange chars inside label =Not Title=[la/bel] = Quote =[quote] %INCLUDED(t2t) starts here: ../../../test/marks/quote.t2t To quote a paragraph, just prefix it by a TAB character. All the lines of the paragraph must begin with a TAB. Any non-tabbed line closes the quote block. %%% Nesting: Creating deeper quotes The number of leading TABs identifies the quote block depth. This is quote level 1. With two TABs, we are on the quote level 2. The more TABs, more deep is the quote level. There isn't a limit. %%% Nesting: Reverse nesting works This quote starts at level 4. Then its depth is decreased. Counting down, one by one. Until the level 1. %%% Nesting: Random count Unlike lists, any quote block is independent, not part of a tree. The TAB count don't need to be incremental by one. The nesting don't need to follow any rule. Quotes can be opened and closed in any way. You choose. %%% Nesting: When not supported Some targets (as sgml) don't support the nesting of quotes. There is only one quote level. In this case, no matter how much TABs are used to define the quote block, it always will be level 1. %%% Syntax: Spaces after TAB Spaces AFTER the TAB character are allowed. But be careful, it can be confusing. %%% Invalid: Spaces before TAB Spaces BEFORE the TAB character invalidate the mark. It's not quote. %%% Invalid: Paragraphs inside Paragraph breaks inside a quote aren't possible. This sample are two separated quoted paragraphs, not a quote block with two paragraphs inside. %%% Closing: EOF closes the open block The end of the file (EOF) closes the currently open quote block. = Raw =[raw] %%% Syntax: A single line """ A raw line. %%% Syntax: A single line with leading spaces """ Another raw line, with leading spaces. %%% Syntax: Area (block) """ A raw area delimited by lines with marks. """ %%% Syntax: Area (block) with trailing spaces """ Trailing spaces and TABs after the area marks are allowed, but not encouraged nor documented. """ %%% Invalid: No space between mark and contents """Not a raw line, need one space after mark. %%% Invalid: Leading spaces on block marks """ Not a raw area. The marks must be at the line beginning, no leading spaces. """ %%% Closing: EOF closes the open block """ The end of the file (EOF) closes the currently open raw area. """ = Verbatim =[verbatim] %INCLUDED(t2t) starts here: ../../../test/marks/verbatim.t2t %%% Syntax: A single line ``` A verbatim line. %%% Syntax: A single line with leading spaces ``` Another verbatim line, with leading spaces. %%% Syntax: Area (block) ``` A verbatim area delimited by lines with marks. ``` %%% Syntax: Area (block) with trailing spaces ``` Trailing spaces and TABs after the area marks are allowed, but not encouraged nor documented. ``` %%% Invalid: No space between mark and contents ```Not a verbatim line, need one space after mark. %%% Invalid: Leading spaces on block marks ``` Not a verbatim area. The marks must be at the line beginning, no leading spaces. ``` %%% Closing: EOF closes the open block ``` The end of the file (EOF) closes the currently open verbatim area. ``` = Definition List =[deflist] : Definition list A list with terms : Start term with colon And its definition follows = Numbered List =[numlist] See [List #list], the same rules apply. = List =[list] %INCLUDED(t2t) starts here: ../../../test/marks/list.t2t %%% Items: Prefixed by hyphen - Use the hyphen to prefix list items. - There must be one space after the hyphen. - The list is closed by two consecutive blank lines. %%% Items: Free leading spacing (indentation) - The list can be indented on the source document. - You can use any number of spaces. - The result will be the same. %%% Items: Vertical spacing between items - Let one blank line between the list items. - It will be maintained on the conversion. - Some targets don't support this behavior. - This one was separated by a line with blanks. You can also put a blank line inside the item contents and it will be preserved. %%% Items: Exactly ONE space after the hyphen -This is not a list (no space) - This is not a list (more than one space) - This is not a list (a TAB instead the space) %%% Items: Catchy cases - - This is a list - + This is a list - : This is a list %%% Nesting: Creating sublists - This is the "mother" list first item. - Here is the second, but inside this item, - there is a sublist, with its own items. - Note that the items of the same sublist - must have the same indentation. - And this can go on, opening sublists. - Just add leading spaces before the - hyphen and sublists will be opened. - The two blank lines closes them all. %%% Nesting: Free leading spacing (indentation) - When nesting lists, the additional spaces are free. - You can add just one, - or many. - What matters is to put more than the previous. - But remember that the other items of the same list - must use the same indentation. %%% Nesting: Maximum depth - There is not a depth limit, - you can go deeper and deeper. - But some targets may have restrictions. - The LaTeX maximum is here, 4 levels. %%% Nesting: Reverse doesn't work - Reverse nesting doesn't work. - Because a sublist *must* have a mother list. - It's the list concept, not a txt2tags limitation. - All this sublists will be bumped to mother lists. - At level 1, like this one. %%% Nesting: Going deeper and back %% When nesting back to an upper level, the previous sublist %% is automatically closed. - Level 1 - Level 2 - Level 3 - Level 4 - Level 3 -- (closed Level 4) - Level 2 -- (closed Level 3) - Level 1 -- (closed Level 2) %% More than one list can be closed when nesting back. - Level 1 - Level 2 - Level 3 - Level 4 - Level 1 -- (closed Level 4, Level 3 and Level 2) %%% Nesting: Vertical spacing between lists - Level 1 - Level 2 -- blank BEFORE and AFTER (in) - Level 3 % comment lines are NOT considered blank lines - Level 4 % comment lines are NOT considered blank lines - Level 3 - Level 2 -- blank BEFORE and AFTER (out) - Level 1 - Level 2 -- blank BEFORE (spaces) and AFTER (TAB) - Level 3 %%% Nesting: Messing up %% Be careful when going back on the nesting, %% it must be on a valid level! If not, it will %% be bumped up to the previous valid level. - Level 1 - Level 2 - Level 3 - Level 4 - Level 3.5 ??? - Level 3 - Level 2.5 ??? - Level 2 - Level 1.5 ??? - Level 1 %%% Closing: Two (not so) empty lines - This list is closed by a line with spaces and other with TABs - This list is NOT closed by two comment lines % comment lines are NOT considered blank lines % comment lines are NOT considered blank lines - This list is closed by a line with spaces and TAB, - then a comment line, then an empty line. % comment lines are NOT considered blank lines %%% Closing: Empty item closes current (sub)list %% The two blank lines closes ALL the lists. %% To close just the current, use an empty item. - Level 1 - Level 2 - Level 3 - Level 2 - Level 1 - %% The empty item can have trailing blanks. - Empty item with trailing spaces. - - Empty item with trailing TAB. - %%% Closing: EOF closes the lists - If the end of the file (EOF) is hit, - all the currently opened list are closed, - just like when using the two blank lines. = Table =[table] %INCLUDED(t2t) starts here: ../../../test/marks/table.t2t %%% Syntax: Lines starting with a pipe | | Cell 1 %%% Syntax: Extra pipes separate cells | Cell 1 | Cell 2 | Cell 3 %%% Syntax: With a trailing pipe, make border | Cell 1 | Cell 2 | Cell 3 | %%% Syntax: Table lines starting with double pipe are heading || Cell 1 | Cell 2 | Cell 3 | %%% Align: Spaces before the leading pipe centralize the table | Cell 1 | Cell 2 | Cell 3 | %%% Align: Spaces inside the cell denote its alignment || Heading | Heading | Heading | % comments don't close an opened table | <- | -- | -> | | -- | -- | -- | | -> | -- | <- | %%% Span: Column span is defined by extra pipes at cell closing || 1 | 2 | 3+4 || | 1 | 2 | 3 | 4 | | 1+2+3 ||| 4 | | 1 | 2+3 || 4 | | 1+2+3+4 |||| %%% Test: Empty cells are placed as expected | 0 | 1 | 2 | | | 4 | 5 | | 7 | | 8 | | A | B | | | D | E | F | %%% Test: Lines with different number of cells | 1 | | 1 | 2 | | 1 | 2 | 3 | | 1 | 2 | 3 | 4 | | 1 | 2 | 3 | 4 | 5 | %%% Test: Empty cells + Span + Messy cell number = Fun! | Jan | | Fev || | Mar ||| | Apr |||| | May ||||| | 20% | 40% | 60% | 80% | 100% | | | | / | | | | | / / / / / ||| | | / / / / / / / / / ||||| | | o | | o | | | | | . | | | | | = = = = ||| | | 01 | 02 | | | 05 | | 07 | | | | | 11 | | 13 | | | 16 | | 17 | | 19 | 20 | | | 23 | | | 25 | 26 | | | 29 | 30 | | 32 | | | | 35 | | 37 | | 39 | 40 | %%% Test: Lots of cells at the same line | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | %%% Test: Empty lines | | | | | | %%% Invalid: There must be at least one space around the pipe |this|is|not|a|table| |this| is| not| a| table| |this |is |not |a |table | %%% Invalid: You must use spaces, not TABs | this | is | not | a | table | ------------------------------------------------------------ The End. pandoc-2.9.2.1/test/vimwiki-reader.native000066400000000000000000000524271363630463000202530ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("date",MetaInlines [Str "2017-05-01"]),("title",MetaInlines [Str "title"])]}) [Header 1 ("implemented",[],[]) [Emph [Span ("implemented",[],[]) [],Strong [Str "implemented"]]] ,Header 1 ("header",[],[]) [Str "header"] ,Header 2 ("header level two",[],[]) [Str "header",Space,Str "level",Space,Str "two"] ,Header 3 ("header level 3",[],[]) [Str "header",Space,Code ("",[],[]) "level",Space,Str "3"] ,Header 4 ("header level four",[],[]) [Str "header",Space,Strikeout [Str "level"],Space,Str "four"] ,Header 5 ("header level 5",[],[]) [Str "header",Space,Emph [Span ("level",[],[]) [],Strong [Str "level"],Space,Str "5"]] ,Header 6 ("header level 6",[],[]) [Str "header",Space,Str "level",Space,Str "6"] ,Para [Str "=======",Space,Str "not",Space,Str "a",Space,Str "header",Space,Str "========"] ,Para [Str "hi==",Space,Str "not",Space,Str "a",Space,Str "header",Space,Str "=="] ,Para [Str "===",Space,Str "not",Space,Str "a",Space,Str "header",Space,Str "=="] ,Para [Str "===",Space,Str "not",Space,Str "a",Space,Str "header",Space,Str "===-"] ,Para [Str "not",Space,Str "a",Space,Str "header:"] ,Para [Str "=n="] ,Para [Str "===",Space,Str "not",Space,Str "a",Space,Str "header",Space,Str "===="] ,Header 2 ("centred header",["justcenter"],[]) [Str "centred",Space,Str "header"] ,Header 2 ("header with some == in between",[],[]) [Str "header",Space,Str "with",Space,Str "some",Space,Code ("",[],[]) "==",Space,Str "in",Space,Str "between"] ,Header 2 ("header with some == in between",[],[]) [Str "header",Space,Str "with",Space,Str "some",Space,Str "==",Space,Str "in",Space,Str "between"] ,Header 2 ("header with some ==in between",[],[]) [Str "header",Space,Str "with",Space,Str "some",Space,Str "==in",Space,Str "between"] ,Header 2 ("emph strong and strikeout",[],[]) [Str "emph",Space,Str "strong",Space,Str "and",Space,Str "strikeout"] ,Para [Emph [Str "emph"],Space,Span ("strong",[],[]) [],Strong [Str "strong"]] ,Para [Span ("strong and emph",[],[]) [],Strong [Emph [Str "strong",Space,Str "and",Space,Str "emph"]]] ,Para [Emph [Span ("emph and strong",[],[]) [],Strong [Str "emph",Space,Str "and",Space,Str "strong"]]] ,Para [Span ("emph inside strong",[],[]) [],Strong [Emph [Str "emph",Space,Str "inside"],Space,Str "strong"]] ,Para [Span ("strong with emph",[],[]) [],Strong [Str "strong",Space,Str "with",Space,Emph [Str "emph"]]] ,Para [Emph [Span ("strong inside",[],[]) [],Strong [Str "strong",Space,Str "inside"],Space,Str "emph"]] ,Para [Emph [Strikeout [Str "strikeout"],Space,Str "inside",Space,Str "emph"]] ,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "struck",Space,Str "out"],Space,Str "with",Space,Str "emph"]] ,Para [Str "*not",SoftBreak,Str "strong*"] ,Para [Str "just",Space,Str "two",Space,Str "stars:",Space,Str "**"] ,Para [Str "just",Space,Str "two",Space,Str "underscores:",Space,Str "__"] ,Para [Str "just",Space,Str "four",Space,Str "~s:",Space,Str "~~~~"] ,Para [Str "_not",SoftBreak,Str "emph_"] ,Para [Str "~~not",SoftBreak,Str "strikeout~~"] ,Header 2 ("horizontal rule",[],[]) [Str "horizontal",Space,Str "rule"] ,Para [Str "top"] ,HorizontalRule ,Para [Str "middle"] ,HorizontalRule ,Para [Str "not",Space,Str "a",Space,Str "rule-----"] ,Para [Str "not",Space,Str "a",Space,Str "rule",Space,Str "(trailing",Space,Str "spaces):",SoftBreak,Str "-----"] ,Para [Str "not",Space,Str "a",Space,Str "rule",Space,Str "(leading",Space,Str "spaces):",SoftBreak,Str "----"] ,Header 2 ("comments",[],[]) [Str "comments"] ,Para [Str "this",SoftBreak,Str "is",Space,Str "%%",Space,Str "not",Space,Str "secret"] ,Header 2 ("inline code",[],[]) [Str "inline",Space,Str "code"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Code ("",[],[]) "inline code",Str "."] ,Para [Str "Just",Space,Str "two",Space,Str "backticks:",Space,Str "``"] ,Header 2 ("preformatted text",[],[]) [Str "preformatted",Space,Str "text"] ,CodeBlock ("",[],[]) " Tyger! Tyger! burning bright\n In the forests of the night,\n What immortal hand or eye\n Could frame thy fearful symmetry?\n In what distant deeps or skies\n Burnt the fire of thine eyes?\n On what wings dare he aspire?\n What the hand dare sieze the fire?" ,Header 3 ("preformatted text with attributes",[],[]) [Str "preformatted",Space,Str "text",Space,Str "with",Space,Str "attributes"] ,CodeBlock ("",[],[("class","python"),("style","color:blue")]) " for i in range(1, 5):\n print(i)" ,Header 3 ("empty preformatted text",[],[]) [Str "empty",Space,Str "preformatted",Space,Str "text"] ,CodeBlock ("",[],[]) "" ,Header 2 ("block quotes",[],[]) [Str "block",Space,Str "quotes"] ,BlockQuote [Plain [Str "(indentation",Space,Str "4",Space,Str "spaces)",Space,Str "This",Space,Str "would",Space,Str "be",Space,Str "a",Space,Str "blockquote",Space,Str "in",Space,Str "Vimwiki.",Space,Str "It",Space,Str "is",Space,Str "not",Space,Span ("highlighted",[],[]) [],Strong [Str "highlighted"],Space,Str "in",Space,Str "Vim",Space,Str "but",SoftBreak,Str "(indentation",Space,Str "1",Space,Str "space",Space,Str "followed",Space,Str "by",Space,Str "1",Space,Str "tab",Space,Str "of",Space,Str "width",Space,Str "4)",Space,Str "could",Space,Str "be",Space,Str "styled",Space,Str "by",Space,Str "CSS",Space,Str "in",Space,Str "HTML.",Space,Str "Blockquotes",Space,Str "are",Space,Str "usually",Space,Str "used",Space,Str "to",Space,Str "quote",Space,Str "a",SoftBreak,Str "(indentation",Space,Str "1",Space,Str "tab",Space,Str "of",Space,Str "width",Space,Str "4)",Space,Str "long",Space,Str "piece",Space,Str "of",Space,Str "text",Space,Str "from",Space,Str "another",Space,Str "source.",Space,Strikeout [Str "blah",Space,Str "blah"],Space,Span ("-blockquote",[],[]) [Str ""],Span ("blockquote",["tag"],[]) [Str "blockquote"]]] ,Header 2 ("external links",[],[]) [Str "external",Space,Str "links"] ,Para [Link ("",[],[]) [Emph [Str "Google"],Space,Str "search",Space,Str "engine"] ("http://google.com","")] ,Para [Link ("",[],[]) [Str "http://pandoc.org"] ("http://pandoc.org","")] ,Para [Link ("",[],[]) [Str "ftp://vim.org"] ("ftp://vim.org","")] ,Para [Link ("",[],[]) [Str "http://google.com"] ("http://google.com","")] ,Para [Link ("",[],[]) [Str "email",Space,Str "me"] ("mailto:info@example.org","")] ,Para [Link ("",[],[]) [Str "mailto:hello@bye.com"] ("mailto:hello@bye.com","")] ,Header 2 ("internal links",[],[]) [Str "internal",Space,Str "links"] ,Para [Link ("",[],[]) [Str "This is a link"] ("This is a link","wikilink")] ,Para [Link ("",[],[]) [Str "Description",Space,Str "of",Space,Str "the",Space,Str "link"] ("This is a link source","wikilink")] ,Para [Link ("",[],[]) [Str "projects/Important Project 1"] ("projects/Important Project 1","wikilink"),SoftBreak,Link ("",[],[]) [Str "../index"] ("../index","wikilink"),SoftBreak,Link ("",[],[]) [Str "Other",Space,Str "files"] ("a subdirectory/","wikilink")] ,Para [Link ("",[],[]) [Str "try",Space,Str "me",Space,Str "to",Space,Str "test",Space,Str "tag",Space,Str "anchors"] ("#tag-one","wikilink")] ,Para [Link ("",[],[]) [Str "try",Space,Str "me",Space,Str "to",Space,Str "test",Space,Str "header",Space,Str "anchors"] ("#block quotes","wikilink")] ,Para [Link ("",[],[]) [Str "try",Space,Str "me",Space,Str "to",Space,Str "test",Space,Str "strong",Space,Str "anchors"] ("#strong","wikilink")] ,Para [Link ("",[],[]) [Str "Tasks",Space,Str "for",Space,Str "tomorrow"] ("Todo List#Tomorrow","wikilink")] ,Para [Link ("",[],[]) [Str "diary:2017-05-01"] ("diary/2017-05-01","wikilink")] ,Para [Link ("",[],[]) [Str "Important",Space,Str "Data"] ("file:../assets/data.csv","")] ,Header 3 ("links with thumbnails",[],[]) [Str "links",Space,Str "with",Space,Str "thumbnails"] ,Para [Link ("",[],[]) [Image ("",[],[]) [Str ""] ("./movie.jpg","")] ("http://www.google.com","")] ,Header 2 ("images",[],[]) [Str "images"] ,Para [Image ("",[],[]) [Str ""] ("file:./lalune.jpg","")] ,Para [Image ("",[],[]) [Str "Vimwiki"] ("http://vimwiki.googlecode.com/hg/images/vimwiki_logo.png",""),SoftBreak,Image ("",[],[]) [Str ""] ("file:./movie.jpg","")] ,Header 3 ("image with attributes",[],[]) [Str "image",Space,Str "with",Space,Str "attributes"] ,Para [Image ("",[],[("style","width:150px;height:120px;")]) [Emph [Str "cool",Space,Str "stuff"]] ("lalune.jpg","")] ,Para [Image ("",[],[("style","font-color:red")]) [Span ("Non-existing",[],[]) [],Strong [Str "Non-existing"],Space,Str "image"] ("nonexist.jpg","")] ,Para [Image ("",[],[("style","width:150px;height:120px;")]) [Emph [Str "cool",Space,Str "stuff"]] ("lalune.jpg","")] ,Header 2 ("lists",[],[]) [Str "lists"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "ordered",Space,Str "list",Space,Str "item",Space,Str "1,",Space,Str "and",Space,Str "here",Space,Str "is",Space,Str "some",Space,Str "math",Space,Str "belonging",Space,Str "to",Space,Str "list",Space,Str "item",Space,Str "1"] ,Para [Math DisplayMath "a^2 + b^2 = c^2"] ,Plain [Str "and",Space,Str "some",Space,Str "preformatted",Space,Str "and",Space,Str "tables",Space,Str "belonging",Space,Str "to",Space,Str "item",Space,Str "1",Space,Str "as",Space,Str "well"] ,CodeBlock ("",[],[]) "I'm part of item 1." ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[] ,[]] [[[Plain [Str "this",Space,Str "table"]] ,[Plain [Str "is"]]] ,[[Plain [Str "also",Space,Str "a",Space,Str "part"]] ,[Plain [Str "of",Space,Str "item",Space,Str "1"]]]] ,Plain [Str "and",Space,Str "some",Space,Str "more",Space,Str "text",Space,Str "belonging",Space,Str "to",Space,Str "item",Space,Str "1."]] ,[Plain [Str "ordered",Space,Str "list",Space,Str "item",Space,Str "2"]]] ,BulletList [[Plain [Str "Bulleted",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Bulleted",Space,Str "list",Space,Str "item",Space,Str "2"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Bulleted",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "the",Space,Str "#",Space,Str "become",Space,Str "numbers",Space,Str "when",Space,Str "converted",Space,Str "to",Space,Str "HTML"]]] ,BulletList [[Plain [Str "Bulleted",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Bulleted",Space,Str "list",Space,Str "item",Space,Str "2"]]] ,BulletList [[Plain [Str "Item",Space,Str "1"]] ,[Plain [Str "Item",Space,Str "2"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Sub",Space,Str "item",Space,Str "1",Space,Str "(indentation",Space,Str "4",Space,Str "spaces)",SoftBreak,Str "Sub",Space,Str "item",Space,Str "1",Space,Str "continued",Space,Str "line.",SoftBreak,Str "Sub",Space,Str "item",Space,Str "1",Space,Str "next",Space,Str "continued",Space,Str "line."]] ,[Plain [Str "Sub",Space,Str "item",Space,Str "2,",Space,Str "as",Space,Str "an",Space,Str "ordered",Space,Str "list",Space,Str "item",Space,Str "even",Space,Str "though",Space,Str "the",Space,Str "identifier",Space,Str "is",Space,Code ("",[],[]) "*",Space,Str "(indentation",Space,Str "2",Space,Str "spaces",Space,Str "followed",Space,Str "by",Space,Str "one",Space,Str "tab",Space,Str "of",Space,Str "width",Space,Str "4)"]] ,[Plain [Str "etc.",SoftBreak,Str "Continuation",Space,Str "of",Space,Str "Item",Space,Str "2",SoftBreak,Str "Next",Space,Str "continuation",Space,Str "of",Space,Str "Item",Space,Str "2"]]]]] ,Para [Str "But",Space,Str "this",Space,Str "is",Space,Str "a",Space,Str "new",Space,Str "paragraph."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "1"] ,BulletList [[Plain [Code ("",[],[]) "1.1"]]]] ,[Plain [Str "2"] ,BulletList [[Plain [Str "2.1"]]]]] ,BulletList [[Plain [Str "3"]]] ,Header 3 ("ordered lists with non-# identifiers",[],[]) [Str "ordered",Space,Str "lists",Space,Str "with",Space,Str "non-#",Space,Str "identifiers"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "2"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "3"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "2"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "3"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "2"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "3"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "2"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "3"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "2"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "3"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "2"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "3"]]] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "2"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "item",Space,Str "3"]]] ,BulletList [[Plain [Str "Bulleted",Space,Str "list",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Bulleted",Space,Str "list",Space,Str "item",Space,Str "2"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "sub",Space,Str "item",Space,Str "1"]] ,[Plain [Str "more",Space,Str "..."] ,BulletList [[Plain [Str "and",Space,Str "more",Space,Str "..."]] ,[Plain [Str "..."]]]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "sub",Space,Str "item",Space,Str "3"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Numbered",Space,Str "list",Space,Str "sub",Space,Str "sub",Space,Str "item",Space,Str "1"]] ,[Plain [Str "Numbered",Space,Str "list",Space,Str "sub",Space,Str "sub",Space,Str "item",Space,Str "2"]]]] ,[Plain [Str "etc."]]]] ,[Plain [Str "Bulleted",Space,Str "list",Space,Str "item",Space,Str "3"]]] ,Header 2 ("todo lists",[],[]) [Str "todo",Space,Str "lists"] ,BulletList [[Plain [Span ("",["done0"],[]) [],Str "task",Space,Str "1"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Span ("",["done1"],[]) [],Str "5"]]]] ,[Plain [Span ("",["done2"],[]) [],Str "3"]] ,[Plain [Str "[]",Space,Str "not",Space,Str "a",Space,Str "todo",Space,Str "item"]] ,[Plain [Str "[",Space,Str "]not",Space,Str "a",Space,Str "todo",Space,Str "item"]] ,[Plain [Str "[r]",Space,Str "not",Space,Str "a",Space,Str "todo",Space,Str "item"]] ,[Plain [Str "[",Space,Str "]",Space,Str "not",Space,Str "a",Space,Str "todo",Space,Str "item"]] ,[Plain [Span ("",["done2"],[]) [],Str "a",Space,Str "tab",Space,Str "in",Space,Str "the",Space,Str "todo",Space,Str "list",Space,Str "marker",Space,Code ("",[],[]) "[ ]"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Span ("",["done3"],[]) [],Str "4",SoftBreak,Str "5"]] ,[Plain [Span ("",["done4"],[]) []] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[] ,[]] [[[Plain [Str "a"]] ,[Plain [Str "b"]]]]]]] ,[Plain [Span ("",["done4"],[]) [],Str "task",Space,Str "2"]]] ,Header 2 ("math",[],[]) [Str "math"] ,Para [Math InlineMath " \\sum_i a_i^2 = 1 "] ,Para [Math DisplayMath "\\sum_i a_i^2\n=\n1"] ,Para [Math DisplayMath "\\begin{aligned}\n\\sum_i a_i^2 &= 1 + 1 \\\\\n&= 2.\n\\end{aligned}"] ,Para [Str "edge",Space,Str "case",Space,Str "(the",Space,Code ("",[],[]) "c^2 + ",Space,Str "after",Space,Str "the",Space,Str "multline",Space,Str "tag",Space,Str "is",Space,Str "in",Space,Str "the",Space,Str "equation):"] ,Para [Math DisplayMath "\\begin{gathered}\nc^2 + \na^2 + b^2\n\\end{gathered}"] ,Para [Str "edge",Space,Str "case",Space,Str "(the",Space,Str "tag",Space,Str "is",Space,Code ("",[],[]) "hello%bye",Str ")"] ,Para [Math DisplayMath "\\begin{hello%bye}\n\\int_a^b f(x) dx\n\\end{hello%bye}"] ,Para [Str "Just",Space,Str "two",Space,Str "dollar",Space,Str "signs:",Space,Str "$$"] ,Para [Str "[not",Space,Str "math]",Space,Str "You",Space,Str "have",Space,Str "$1",SoftBreak,Str "and",Space,Str "I",Space,Str "have",Space,Str "$1."] ,Header 2 ("tags",[],[]) [Str "tags"] ,Para [Span ("-tag-one",[],[]) [Str ""],Span ("tag-one",["tag"],[]) [Str "tag-one"],Space,Span ("-tag-two",[],[]) [Str ""],Span ("tag-two",["tag"],[]) [Str "tag-two"]] ,Header 2 ("tables",[],[]) [Str "tables"] ,Table [] [AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0] [[Plain [Str "Year"]] ,[Plain [Str "Temperature",Space,Str "(low)"]] ,[Plain [Str "Temperature",Space,Str "(high)"]]] [[[Plain [Str "1900"]] ,[Plain [Str "-10"]] ,[Plain [Str "25"]]] ,[[Plain [Str "1910"]] ,[Plain [Str "-15"]] ,[Plain [Str "30"]]] ,[[Plain [Str "1920"]] ,[Plain [Str "-10"]] ,[Plain [Str "32"]]] ,[[Plain [Str "1930"]] ,[Plain [Emph [Str "N/A"]]] ,[Plain [Emph [Str "N/A"]]]] ,[[Plain [Str "1940"]] ,[Plain [Str "-2"]] ,[Plain [Str "40"]]]] ,Header 3 ("centered headerless tables",[],[]) [Str "centered",Space,Str "headerless",Space,Str "tables"] ,Div ("",["center"],[]) [Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[] ,[]] [[[Plain [Str "a"]] ,[Plain [Str "b"]]] ,[[Plain [Str "c"]] ,[Plain [Str "d"]]]]] ,Header 2 ("paragraphs",[],[]) [Str "paragraphs"] ,Para [Str "This",Space,Str "is",Space,Str "first",Space,Str "paragraph",SoftBreak,Str "with",Space,Str "two",Space,Str "lines."] ,Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "second",Space,Str "paragraph",Space,Str "with",SoftBreak,Str "two",Space,Str "lines",Space,Str "after",Space,Str "many",Space,Str "blank",Space,Str "lines."] ,Header 2 ("definition list",[],[]) [Str "definition",Space,Str "list"] ,DefinitionList [([Str "Term",Space,Str "1"], [[Plain [Str "Definition",Space,Str "1"]]]) ,([Str "Term",Space,Str "2"], [[Plain [Str "Definition",Space,Str "2"]] ,[Plain [Str "Definition",Space,Str "3"]]]) ,([Str "Term",Space,Str "::",Space,Span ("separated",[],[]) [],Strong [Str "separated"],Space,Str "by",Space,Str "::",Space,Emph [Str "double",Space,Str "colons"]], [[Plain [Str "Def1"]] ,[Plain [Str "Def2"]]]) ,([Str "Term",Space,Str "with",Space,Str "lots",Space,Str "of",Space,Str "trailing",Space,Str "colons:::::::"], [[Plain [Str "Definition"]]]) ,([Str "::",Space,Str "This",Space,Str "is",Space,Str "::",Space,Str "A",Space,Str "term",Space,Str "(rather",Space,Str "than",Space,Str "a",Space,Str "definition)"], [[Plain [Str "and",Space,Str "this",Space,Str "is",Space,Str "a",Space,Str "definition"]]]) ,([Str "Term",Space,Str "Without",Space,Str "definitions"], [[]]) ,([Str "Part",Space,Str "::",Space,Str "of",Space,Str "::",Space,Str "dt"], [[Plain [Str "part",Space,Str "of",Space,Str "::dd"]]])] ,DefinitionList [([], [[Plain [Str "Definition",Space,Str "1",Space,Str "without",Space,Str "a",Space,Str "term"]] ,[Plain [Str "Definition",Space,Str "2",Space,Str "without",Space,Str "a",Space,Str "term"]]])] ,DefinitionList [([Str "T1"], [[Plain [Str "D1"]]])] ,Para [Str "new",Space,Str "paragraph"] ,DefinitionList [([Str "T1"], [[Plain [Str "D1"]]])] ,Para [Str "Not::Definition"] ,Para [Str "Not",Space,Str "::Definition"] ,Para [Str "::Not",Space,Str "definition"] ,BlockQuote [Plain [Str "::",Space,Str "blockquote"]] ,BlockQuote [Plain [Str "block",Space,Str "::",Space,Str "quote"]] ,Header 2 ("metadata placeholders",[],[]) [Str "metadata",Space,Str "placeholders"] ,Para [Str "%this",Space,Str "is",Space,Str "not",Space,Str "a",Space,Str "placeholder"] ,Para [Str "placeholders",SoftBreak,Str "serves",Space,Str "as",Space,Str "space",Space,Str "/",Space,Str "softbreak",Space,Str "in",Space,Str "paragraphs"] ,Header 2 ("sup, sub",[],[]) [Str "sup,",Space,Str "sub"] ,Para [Str "super",Superscript [Str "script"]] ,Para [Str "sub",Subscript [Str "script"]] ,Header 2 ("the todo mark",[],[]) [Str "the",Space,Str "todo",Space,Str "mark"] ,Para [Span ("",["todo"],[]) [Str "TODO:"]] ,Header 1 ("not implemented yet",[],[]) [Emph [Span ("not implemented yet",[],[]) [],Strong [Str "not",Space,Str "implemented",Space,Str "yet"]]] ,Header 2 ("tables with spans",[],[]) [Str "tables",Space,Str "with",Space,Str "spans"] ,Table [] [AlignDefault,AlignDefault,AlignDefault,AlignDefault] [0.0,0.0,0.0,0.0] [[] ,[] ,[] ,[]] [[[Plain [Str "a"]] ,[Plain [Str "b"]] ,[Plain [Str "c"]] ,[Plain [Str "d"]]] ,[[Plain [Str "\\/"]] ,[Plain [Str "e"]] ,[Plain [Str ">"]] ,[Plain [Str "f"]]] ,[[Plain [Str "\\/"]] ,[Plain [Str "\\/"]] ,[Plain [Str ">"]] ,[Plain [Str "g"]]] ,[[Plain [Str "h"]] ,[Plain [Str ">"]] ,[Plain [Str ">"]] ,[Plain [Str ">"]]]] ,Header 2 ("tables with multiple lines of headers",[],[]) [Str "tables",Space,Str "with",Space,Str "multiple",Space,Str "lines",Space,Str "of",Space,Str "headers"] ,Table [] [AlignDefault,AlignDefault] [0.0,0.0] [[] ,[]] [[[Plain [Str "a"]] ,[Plain [Str "b"]]] ,[[Plain [Str "c"]] ,[Plain [Str "d"]]] ,[[Plain [Str "---"]] ,[Plain [Str "---"]]]] ,Header 2 ("some other placeholders",[],[]) [Str "some",Space,Str "other",Space,Str "placeholders"] ,Para [Code ("",[],[]) "template",Space,Str "placeholder",Space,Str "is",Space,Str "ignored."] ,Para [Code ("",[],[]) "nohtml",Space,Str "placeholder",Space,Str "is",Space,Str "ignored."]] pandoc-2.9.2.1/test/vimwiki-reader.wiki000066400000000000000000000157001363630463000177210ustar00rootroot00000000000000= _*implemented*_ = = header = == header level two == === header `level` 3 === ==== header ~~level~~ four ==== ===== header _*level* 5_ ===== ====== header level 6 ====== ======= not a header ======== hi== not a header == === not a header == === not a header ===- not a header: =n= === not a header ==== == centred header == == header with some `==` in between == == header with some == in between == == header with some ==in between == == emph strong and strikeout == _emph_ *strong* *_strong and emph_* _*emph and strong*_ *_emph inside_ strong* *strong with _emph_* _*strong inside* emph_ _~~strikeout~~ inside emph_ ~~This is _struck out_ with emph~~ *not strong* just two stars: ** just two underscores: __ just four ~s: ~~~~ _not %%comment emph_ ~~not %%comment %%comment strikeout~~ == horizontal rule == top ---- middle ------- not a rule----- not a rule (trailing spaces): ----- not a rule (leading spaces): ---- == comments == %% you can't see me. this %% secret is %% not secret == inline code == Here is some `inline code`. Just two backticks: `` == preformatted text == {{{ Tyger! Tyger! burning bright In the forests of the night, What immortal hand or eye Could frame thy fearful symmetry? In what distant deeps or skies Burnt the fire of thine eyes? On what wings dare he aspire? What the hand dare sieze the fire? }}} === preformatted text with attributes === {{{class="python" style="color:blue" for i in range(1, 5): print(i) }}} === empty preformatted text === {{{ }}} == block quotes == (indentation 4 spaces) This would be a blockquote in Vimwiki. It is not *highlighted* in Vim but (indentation 1 space followed by 1 tab of width 4) could be styled by CSS in HTML. Blockquotes are usually used to quote a (indentation 1 tab of width 4) long piece of text from another source. ~~blah blah~~ :blockquote: == external links == [[http://google.com|_Google_ search engine]] http://pandoc.org ftp://vim.org [[http://google.com]] [[mailto:info@example.org|email me]] mailto:hello@bye.com == internal links == [[This is a link]] [[This is a link source|Description of the link]] [[projects/Important Project 1]] [[../index]] [[a subdirectory/|Other files]] [[#tag-one|try me to test tag anchors]] [[#block quotes|try me to test header anchors]] [[#strong|try me to test strong anchors]] [[Todo List#Tomorrow|Tasks for tomorrow]] [[diary:2017-05-01]] [[file:../assets/data.csv|Important Data]] === links with thumbnails === [[http://www.google.com|{{./movie.jpg}}]] == images == {{file:./lalune.jpg}} {{http://vimwiki.googlecode.com/hg/images/vimwiki_logo.png|Vimwiki}} {{local:./movie.jpg}} === image with attributes === {{lalune.jpg|_cool stuff_|style="width:150px;height:120px;"}} {{nonexist.jpg|*Non-existing* image|class="center flow blabla" style="font-color:red"}} {{lalune.jpg|_cool stuff_|style="width:150px;height:120px;"|anything in this segment is ignored}} == lists == # ordered list item 1, and here is some math belonging to list item 1 {{$ a^2 + b^2 = c^2 }}$ and some preformatted and tables belonging to item 1 as well {{{ I'm part of item 1. }}} | this table | is | | also a part | of item 1 | and some more text belonging to item 1. # ordered list item 2 * Bulleted list item 1 * Bulleted list item 2 # Bulleted list item 1 # the # become numbers when converted to HTML - Bulleted list item 1 - Bulleted list item 2 * Item 1 * Item 2 # Sub item 1 (indentation 4 spaces) Sub item 1 continued line. %%comments Sub item 1 next continued line. * Sub item 2, as an ordered list item even though the identifier is `*` (indentation 2 spaces followed by one tab of width 4) * etc. Continuation of Item 2 Next continuation of Item 2 But this is a new paragraph. # 1 * `1.1` * 2 * 2.1 * 3 === ordered lists with non-# identifiers === 1. Numbered list item 1 2. Numbered list item 2 3. Numbered list item 3 4. Numbered list item 1 5. Numbered list item 2 6. Numbered list item 3 1) Numbered list item 1 2) Numbered list item 2 3) Numbered list item 3 a) Numbered list item 1 b) Numbered list item 2 c) Numbered list item 3 A) Numbered list item 1 B) Numbered list item 2 C) Numbered list item 3 i) Numbered list item 1 ii) Numbered list item 2 iii) Numbered list item 3 I) Numbered list item 1 II) Numbered list item 2 III) Numbered list item 3 - Bulleted list item 1 - Bulleted list item 2 a) Numbered list sub item 1 b) more ... * and more ... * ... c) Numbered list sub item 3 1. Numbered list sub sub item 1 2. Numbered list sub sub item 2 d) etc. - Bulleted list item 3 == todo lists == * [ ] task 1 1. [.] 5 * [o] 3 * [] not a todo item * [ ]not a todo item * [r] not a todo item * [ ] not a todo item * [o] a tab in the todo list marker `[ ]` III) [O] 4 5 i) [X] | a | b | * [X] task 2 == math == $ \sum_i a_i^2 = 1 $ {{$ \sum_i a_i^2 = 1 }}$ {{$%align% \sum_i a_i^2 &= 1 + 1 \\ &= 2. }}$ edge case (the `c^2 + ` after the multline tag is in the equation): {{$%multline%c^2 + a^2 + b^2 }}$ edge case (the tag is `hello%bye`) {{$%hello%bye% \int_a^b f(x) dx }}$ Just two dollar signs: $$ [not math] You have $1 and I have $1. == tags == :tag-one:tag-two: == tables == | Year | Temperature (low) | Temperature (high) | |------|-------------------|--------------------| | 1900 | -10 | 25 | | 1910 | -15 | 30 | | 1920 | -10 | 32 | | 1930 | _N/A_ | _N/A_ | | 1940 | -2 | 40 | === centered headerless tables === | a | b | | c | d | == paragraphs == This is first paragraph with two lines. This is a second paragraph with two lines after many blank lines. == definition list == Term 1:: Definition 1 Term 2:: :: Definition 2 :: Definition 3 Term :: *separated* by :: _double colons_ :: Def1 :: Def2 Term with lots of trailing colons::::::::: Definition :: This is :: A term (rather than a definition) :: and this is a definition Term Without definitions :: :: Part :: of :: dt :: part of ::dd :: Definition 1 without a term :: Definition 2 without a term T1 :: D1 new paragraph T1 :: D1 Not::Definition Not ::Definition ::Not definition :: blockquote block :: quote == metadata placeholders == %title title %date 2017-05-01 %title second title is ignored %date second date is ignored %this is not a placeholder placeholders %title another title %date 2017-04-23 serves as space / softbreak in paragraphs == sup, sub == super^script^ sub,,script,, == the todo mark == TODO: = _*not implemented yet*_ = == tables with spans == | a | b | c | d | | \/ | e | > | f | | \/ | \/ | > | g | | h | > | > | > | == tables with multiple lines of headers == | a | b | | c | d | |---|---| == some other placeholders == `template` placeholder is ignored. %template template `nohtml` placeholder is ignored. %nohtml pandoc-2.9.2.1/test/writer.asciidoc000066400000000000000000000201361363630463000171300ustar00rootroot00000000000000= Pandoc Test Suite John MacFarlane; Anonymous July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ''''' == Headers === Level 2 with an link:/url[embedded link] ==== Level 3 with _emphasis_ ===== Level 4 ====== Level 5 == Level 1 === Level 2 with _emphasis_ ==== Level 3 with no blank line === Level 2 with no blank line ''''' == Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break + here. ''''' == Block Quotes E-mail style: ____ This is a block quote. It is pretty short. ____ ____ -- Code in a block quote: .... sub status { print "working"; } .... A list: [arabic] . item one . item two Nested block quotes: ____ nested ____ ____ nested ____ -- ____ This should not be a block quote: 2 > 1. And a following paragraph. ''''' == Code Blocks Code: .... ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab .... And: .... this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ .... ''''' == Lists === Unordered Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: * Plus 1 * Plus 2 * Plus 3 Pluses loose: * Plus 1 * Plus 2 * Plus 3 Minuses tight: * Minus 1 * Minus 2 * Minus 3 Minuses loose: * Minus 1 * Minus 2 * Minus 3 === Ordered Tight: [arabic] . First . Second . Third and: [arabic] . One . Two . Three Loose using tabs: [arabic] . First . Second . Third and using spaces: [arabic] . One . Two . Three Multiple paragraphs: [arabic] . Item 1, graf one. + Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. . Item 2. . Item 3. === Nested * Tab ** Tab *** Tab Here’s another: [arabic] . First . Second: * Fee * Fie * Foe . Third Same thing but with paragraphs: [arabic] . First . Second: * Fee * Fie * Foe . Third === Tabs and spaces * this is a list item indented with tabs * this is a list item indented with spaces ** this is an example list item indented with tabs ** this is an example list item indented with spaces === Fancy list markers [arabic, start=2] . begins with 2 . and now 3 + with a continuation [lowerroman, start=4] .. sublist with roman numerals, starting with 4 .. more items [upperalpha] ... a subsublist ... a subsublist Nesting: [upperalpha] . Upper Alpha [upperroman] .. Upper Roman. [arabic, start=6] ... Decimal start with 6 [loweralpha, start=3] .... Lower alpha with paren Autonumbering: . Autonumber. . More. .. Nested. Should not be a list item: M.A. 2007 B. Williams ''''' == Definition Lists Tight using spaces: apple:: red fruit orange:: orange fruit banana:: yellow fruit Tight using tabs: apple:: red fruit orange:: orange fruit banana:: yellow fruit Loose: apple:: red fruit orange:: orange fruit banana:: yellow fruit Multiple blocks with italics: _apple_:: red fruit + contains seeds, crisp, pleasant to taste _orange_:: orange fruit + .... { orange code block } .... + ____ orange block quote ____ Multiple definitions, tight: apple:: red fruit + computer orange:: orange fruit + bank Multiple definitions, loose: apple:: red fruit + computer orange:: orange fruit + bank Blank line after term, indented marker, alternate markers: apple:: red fruit + computer orange:: orange fruit + [arabic] . sublist . sublist == HTML Blocks Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is _emphasized_ And this is *strong* Here’s a simple block: foo This should be a code block, though: ....
                foo
                .... As should this: ....
                foo
                .... Now, nested: foo This should just be an HTML comment: Multiline: Code block: .... .... Just plain comment, with trailing spaces on the line: Code: ....
                .... Hr’s: ''''' == Inline Markup This is _emphasized_, and so _is this_. This is *strong*, and so *is this*. An _link:/url[emphasized link]_. *_This is strong and em._* So is *_this_* word. *_This is strong and em._* So is *_this_* word. This is code: `>`, `$`, `\`, `\$`, ``. [line-through]*This is _strikeout_.* Superscripts: a^bc^d a^_hello_^ a^hello there^. Subscripts: H~2~O, H~23~O, H~many of them~O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ''''' == Smart quotes, ellipses, dashes ``Hello,'' said the spider. ```Shelob' is my name.'' `A', `B', and `C' are letters. `Oak,' `elm,' and `beech' are names of trees. So is `pine.' `He said, ``I want to go.''' Were you alive in the 70’s? Here is some quoted ``code`' and a ``http://example.com/?foo=1&bar=2[quoted link]''. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ''''' == LaTeX * * latexmath:[$2+2=4$] * latexmath:[$x \in y$] * latexmath:[$\alpha \wedge \omega$] * latexmath:[$223$] * latexmath:[$p$]-Tree * Here’s some display math: + [latexmath] ++++ \[\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\] ++++ * Here’s one that has a line break in it: latexmath:[$\alpha + \omega \times x^2$]. These shouldn’t be math: * To get the famous equation, write `$e = mc^2$`. * $22,000 is a _lot_ of money. So is $34,000. (It worked if ``lot'' is emphasized.) * Shoes ($20) and socks ($5). * Escaped `$`: $73 _this should be emphasized_ 23$. Here’s a LaTeX table: ''''' == Special Characters Here is some unicode: * I hat: Î * o umlaut: ö * section: § * set membership: ∈ * copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: \{ Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ''''' == Links === Explicit Just a link:/url/[URL]. link:/url/[URL and title]. link:/url/[URL and title]. link:/url/[URL and title]. link:/url/[URL and title] link:/url/[URL and title] link:/url/with_underscore[with_underscore] mailto:nobody@nowhere.net[Email link] link:[Empty]. === Reference Foo link:/url/[bar]. With link:/url/[embedded [brackets]]. link:/url/[b] by itself should be a link. Indented link:/url[once]. Indented link:/url[twice]. Indented link:/url[thrice]. This should [not][] be a link. .... [not]: /url .... Foo link:/url/[bar]. Foo link:/url/[biz]. === With ampersands Here’s a http://example.com/?foo=1&bar=2[link with an ampersand in the URL]. Here’s a link with an amersand in the link text: http://att.com/[AT&T]. Here’s an link:/script?foo=1&bar=2[inline link]. Here’s an link:/script?foo=1&bar=2[inline link in pointy braces]. === Autolinks With an ampersand: http://example.com/?foo=1&bar=2 * In a list? * http://example.com/ * It should. An e-mail address: nobody@nowhere.net ____ Blockquoted: http://example.com/ ____ Auto-links should not occur here: `` .... or here: .... ''''' == Images From ``Voyage dans la Lune'' by Georges Melies (1902): image:lalune.jpg[lalune,title="Voyage dans la Lune"] Here is a movie image:movie.jpg[movie] icon. ''''' == Footnotes Here is a footnote reference,footnote:[Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.] and another.[multiblock footnote omitted] This should _not_ be a footnote reference, because it contains a space.[^my note] Here is an inline note.footnote:[This is _easier_ to type. Inline notes may contain http://google.com[links] and `]` verbatim characters, as well as [bracketed text].] ____ Notes can go in quotes.footnote:[In quote.] ____ [arabic] . And in list items.footnote:[In list.] This paragraph should not be part of the note, as it is not indented. pandoc-2.9.2.1/test/writer.asciidoctor000066400000000000000000000202071363630463000176540ustar00rootroot00000000000000= Pandoc Test Suite John MacFarlane; Anonymous July 17, 2006 :stem: latexmath This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ''''' == Headers === Level 2 with an link:/url[embedded link] ==== Level 3 with _emphasis_ ===== Level 4 ====== Level 5 == Level 1 === Level 2 with _emphasis_ ==== Level 3 with no blank line === Level 2 with no blank line ''''' == Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break + here. ''''' == Block Quotes E-mail style: ____ This is a block quote. It is pretty short. ____ ____ -- Code in a block quote: .... sub status { print "working"; } .... A list: [arabic] . item one . item two Nested block quotes: ____ nested ____ ____ nested ____ -- ____ This should not be a block quote: 2 > 1. And a following paragraph. ''''' == Code Blocks Code: .... ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab .... And: .... this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ .... ''''' == Lists === Unordered Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: * Plus 1 * Plus 2 * Plus 3 Pluses loose: * Plus 1 * Plus 2 * Plus 3 Minuses tight: * Minus 1 * Minus 2 * Minus 3 Minuses loose: * Minus 1 * Minus 2 * Minus 3 === Ordered Tight: [arabic] . First . Second . Third and: [arabic] . One . Two . Three Loose using tabs: [arabic] . First . Second . Third and using spaces: [arabic] . One . Two . Three Multiple paragraphs: [arabic] . Item 1, graf one. + Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. . Item 2. . Item 3. === Nested * Tab ** Tab *** Tab Here’s another: [arabic] . First . Second: * Fee * Fie * Foe . Third Same thing but with paragraphs: [arabic] . First . Second: * Fee * Fie * Foe . Third === Tabs and spaces * this is a list item indented with tabs * this is a list item indented with spaces ** this is an example list item indented with tabs ** this is an example list item indented with spaces === Fancy list markers [arabic, start=2] . begins with 2 . and now 3 + with a continuation [lowerroman, start=4] .. sublist with roman numerals, starting with 4 .. more items [upperalpha] ... a subsublist ... a subsublist Nesting: [upperalpha] . Upper Alpha [upperroman] .. Upper Roman. [arabic, start=6] ... Decimal start with 6 [loweralpha, start=3] .... Lower alpha with paren Autonumbering: . Autonumber. . More. .. Nested. Should not be a list item: M.A. 2007 B. Williams ''''' == Definition Lists Tight using spaces: apple:: red fruit orange:: orange fruit banana:: yellow fruit Tight using tabs: apple:: red fruit orange:: orange fruit banana:: yellow fruit Loose: apple:: red fruit orange:: orange fruit banana:: yellow fruit Multiple blocks with italics: _apple_:: red fruit + contains seeds, crisp, pleasant to taste _orange_:: orange fruit + .... { orange code block } .... + ____ orange block quote ____ Multiple definitions, tight: apple:: red fruit + computer orange:: orange fruit + bank Multiple definitions, loose: apple:: red fruit + computer orange:: orange fruit + bank Blank line after term, indented marker, alternate markers: apple:: red fruit + computer orange:: orange fruit + [arabic] . sublist . sublist == HTML Blocks Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is _emphasized_ And this is *strong* Here’s a simple block: foo This should be a code block, though: ....
                foo
                .... As should this: ....
                foo
                .... Now, nested: foo This should just be an HTML comment: Multiline: Code block: .... .... Just plain comment, with trailing spaces on the line: Code: ....
                .... Hr’s: ''''' == Inline Markup This is _emphasized_, and so _is this_. This is *strong*, and so *is this*. An _link:/url[emphasized link]_. *_This is strong and em._* So is *_this_* word. *_This is strong and em._* So is *_this_* word. This is code: `+>+`, `+$+`, `+\+`, `+\$+`, `++`. [line-through]*This is _strikeout_.* Superscripts: a^bc^d a^_hello_^ a^hello there^. Subscripts: H~2~O, H~23~O, H~many of them~O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ''''' == Smart quotes, ellipses, dashes "`Hello,`" said the spider. "`'`Shelob`' is my name.`" '`A`', '`B`', and '`C`' are letters. '`Oak,`' '`elm,`' and '`beech`' are names of trees. So is '`pine.`' '`He said, "`I want to go.`"`' Were you alive in the 70’s? Here is some quoted '``+code+``' and a "`http://example.com/?foo=1&bar=2[quoted link]`". Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ''''' == LaTeX * * latexmath:[2+2=4] * latexmath:[x \in y] * latexmath:[\alpha \wedge \omega] * latexmath:[223] * latexmath:[p]-Tree * Here’s some display math: + [latexmath] ++++ \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} ++++ * Here’s one that has a line break in it: latexmath:[\alpha + \omega \times x^2]. These shouldn’t be math: * To get the famous equation, write `+$e = mc^2$+`. * $22,000 is a _lot_ of money. So is $34,000. (It worked if "`lot`" is emphasized.) * Shoes ($20) and socks ($5). * Escaped `+$+`: $73 _this should be emphasized_ 23$. Here’s a LaTeX table: ''''' == Special Characters Here is some unicode: * I hat: Î * o umlaut: ö * section: § * set membership: ∈ * copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: \{ Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ''''' == Links === Explicit Just a link:/url/[URL]. link:/url/[URL and title]. link:/url/[URL and title]. link:/url/[URL and title]. link:/url/[URL and title] link:/url/[URL and title] link:/url/with_underscore[with_underscore] mailto:nobody@nowhere.net[Email link] link:[Empty]. === Reference Foo link:/url/[bar]. With link:/url/[embedded [brackets]]. link:/url/[b] by itself should be a link. Indented link:/url[once]. Indented link:/url[twice]. Indented link:/url[thrice]. This should [not][] be a link. .... [not]: /url .... Foo link:/url/[bar]. Foo link:/url/[biz]. === With ampersands Here’s a http://example.com/?foo=1&bar=2[link with an ampersand in the URL]. Here’s a link with an amersand in the link text: http://att.com/[AT&T]. Here’s an link:/script?foo=1&bar=2[inline link]. Here’s an link:/script?foo=1&bar=2[inline link in pointy braces]. === Autolinks With an ampersand: http://example.com/?foo=1&bar=2 * In a list? * http://example.com/ * It should. An e-mail address: nobody@nowhere.net ____ Blockquoted: http://example.com/ ____ Auto-links should not occur here: `++` .... or here: .... ''''' == Images From "`Voyage dans la Lune`" by Georges Melies (1902): image:lalune.jpg[lalune,title="Voyage dans la Lune"] Here is a movie image:movie.jpg[movie] icon. ''''' == Footnotes Here is a footnote reference,footnote:[Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.] and another.[multiblock footnote omitted] This should _not_ be a footnote reference, because it contains a space.[^my note] Here is an inline note.footnote:[This is _easier_ to type. Inline notes may contain http://google.com[links] and `+]+` verbatim characters, as well as [bracketed text].] ____ Notes can go in quotes.footnote:[In quote.] ____ [arabic] . And in list items.footnote:[In list.] This paragraph should not be part of the note, as it is not indented. pandoc-2.9.2.1/test/writer.context000066400000000000000000000376771363630463000170600ustar00rootroot00000000000000% Enable hyperlinks \setupinteraction [state=start, title={Pandoc Test Suite}, author={John MacFarlane; Anonymous}, style=, color=, contrastcolor=] % make chapter, section bookmarks visible when opening document \placebookmarks[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][chapter, section] \setupinteractionscreen[option=bookmark] \setuppagenumbering[location={footer,middle}] \setupbackend[export=yes] \setupstructure[state=start,method=auto] % use microtypography \definefontfeature[default][default][script=latn, protrusion=quality, expansion=quality, itlc=yes, textitalics=yes, onum=yes, pnum=yes] \definefontfeature[smallcaps][script=latn, protrusion=quality, expansion=quality, smcp=yes, onum=yes, pnum=yes] \setupalign[hz,hanging] \setupitaliccorrection[global, always] \setupbodyfontenvironment[default][em=italic] % use italic as em, not slanted \definefallbackfamily[mainface][rm][CMU Serif][preset=range:greek, force=yes] \definefontfamily[mainface][rm][Latin Modern Roman] \definefontfamily[mainface][mm][Latin Modern Math] \definefontfamily[mainface][ss][Latin Modern Sans] \definefontfamily[mainface][tt][Latin Modern Typewriter][features=none] \setupbodyfont[mainface] \setupwhitespace[medium] \setuphead[chapter] [style=\tfd,header=empty] \setuphead[section] [style=\tfc] \setuphead[subsection] [style=\tfb] \setuphead[subsubsection] [style=\bf] \setuphead[subsubsubsection] [style=\sc] \setuphead[subsubsubsubsection][style=\it] \setuphead[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][number=no] \definedescription [description] [headstyle=bold, style=normal, location=hanging, width=broad, margin=1cm, alternative=hanging] \setupitemize[autointro] % prevent orphan list intro \setupitemize[indentnext=no] \setupfloat[figure][default={here,nonumber}] \setupfloat[table][default={here,nonumber}] \setupthinrules[width=15em] % width of horizontal rules \setupxtable[frame=off] \setupxtable[head][topframe=on,bottomframe=on] \setupxtable[body][] \setupxtable[foot][bottomframe=on] \starttext \startalignment[middle] {\tfd\setupinterlinespace Pandoc Test Suite} \smallskip {\tfa\setupinterlinespace John MacFarlane\crlf Anonymous} \smallskip {\tfa\setupinterlinespace July 17, 2006} \bigskip \stopalignment This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. \thinrule \section[title={Headers},reference={headers}] \subsection[title={Level 2 with an \useURL[url1][/url][][embedded link]\from[url1]},reference={level-2-with-an-embedded-link}] \subsubsection[title={Level 3 with {\em emphasis}},reference={level-3-with-emphasis}] \subsubsubsection[title={Level 4},reference={level-4}] \subsubsubsubsection[title={Level 5},reference={level-5}] \section[title={Level 1},reference={level-1}] \subsection[title={Level 2 with {\em emphasis}},reference={level-2-with-emphasis}] \subsubsection[title={Level 3},reference={level-3}] with no blank line \subsection[title={Level 2},reference={level-2}] with no blank line \thinrule \section[title={Paragraphs},reference={paragraphs}] Here's a regular paragraph. 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. Here's one with a bullet. * criminey. There should be a hard line break\crlf here. \thinrule \section[title={Block Quotes},reference={block-quotes}] E-mail style: \startblockquote This is a block quote. It is pretty short. \stopblockquote \startblockquote Code in a block quote: \starttyping sub status { print "working"; } \stoptyping A list: \startitemize[n,packed][stopper=.] \item item one \item item two \stopitemize Nested block quotes: \startblockquote nested \stopblockquote \startblockquote nested \stopblockquote \stopblockquote This should not be a block quote: 2 > 1. And a following paragraph. \thinrule \section[title={Code Blocks},reference={code-blocks}] Code: \starttyping ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab \stoptyping And: \starttyping this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ \stoptyping \thinrule \section[title={Lists},reference={lists}] \subsection[title={Unordered},reference={unordered}] Asterisks tight: \startitemize[packed] \item asterisk 1 \item asterisk 2 \item asterisk 3 \stopitemize Asterisks loose: \startitemize \item asterisk 1 \item asterisk 2 \item asterisk 3 \stopitemize Pluses tight: \startitemize[packed] \item Plus 1 \item Plus 2 \item Plus 3 \stopitemize Pluses loose: \startitemize \item Plus 1 \item Plus 2 \item Plus 3 \stopitemize Minuses tight: \startitemize[packed] \item Minus 1 \item Minus 2 \item Minus 3 \stopitemize Minuses loose: \startitemize \item Minus 1 \item Minus 2 \item Minus 3 \stopitemize \subsection[title={Ordered},reference={ordered}] Tight: \startitemize[n,packed][stopper=.] \item First \item Second \item Third \stopitemize and: \startitemize[n,packed][stopper=.] \item One \item Two \item Three \stopitemize Loose using tabs: \startitemize[n][stopper=.] \item First \item Second \item Third \stopitemize and using spaces: \startitemize[n][stopper=.] \item One \item Two \item Three \stopitemize Multiple paragraphs: \startitemize[n][stopper=.] \item Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog's back. \item Item 2. \item Item 3. \stopitemize \subsection[title={Nested},reference={nested}] \startitemize[packed] \item Tab \startitemize[packed] \item Tab \startitemize[packed] \item Tab \stopitemize \stopitemize \stopitemize Here's another: \startitemize[n,packed][stopper=.] \item First \item Second: \startitemize[packed] \item Fee \item Fie \item Foe \stopitemize \item Third \stopitemize Same thing but with paragraphs: \startitemize[n][stopper=.] \item First \item Second: \startitemize[packed] \item Fee \item Fie \item Foe \stopitemize \item Third \stopitemize \subsection[title={Tabs and spaces},reference={tabs-and-spaces}] \startitemize \item this is a list item indented with tabs \item this is a list item indented with spaces \startitemize \item this is an example list item indented with tabs \item this is an example list item indented with spaces \stopitemize \stopitemize \subsection[title={Fancy list markers},reference={fancy-list-markers}] \startitemize[n][start=2,left=(,stopper=),width=2.0em] \item begins with 2 \item and now 3 with a continuation \startitemize[r,packed][start=4,stopper=.,width=2.0em] \item sublist with roman numerals, starting with 4 \item more items \startitemize[A,packed][left=(,stopper=),width=2.0em] \item a subsublist \item a subsublist \stopitemize \stopitemize \stopitemize Nesting: \startitemize[A,packed][stopper=.] \item Upper Alpha \startitemize[R,packed][stopper=.] \item Upper Roman. \startitemize[n,packed][start=6,left=(,stopper=),width=2.0em] \item Decimal start with 6 \startitemize[a,packed][start=3,stopper=)] \item Lower alpha with paren \stopitemize \stopitemize \stopitemize \stopitemize Autonumbering: \startitemize[n,packed] \item Autonumber. \item More. \startitemize[a,packed] \item Nested. \stopitemize \stopitemize Should not be a list item: M.A.~2007 B. Williams \thinrule \section[title={Definition Lists},reference={definition-lists}] Tight using spaces: \startdescription{apple} red fruit \stopdescription \startdescription{orange} orange fruit \stopdescription \startdescription{banana} yellow fruit \stopdescription Tight using tabs: \startdescription{apple} red fruit \stopdescription \startdescription{orange} orange fruit \stopdescription \startdescription{banana} yellow fruit \stopdescription Loose: \startdescription{apple} red fruit \stopdescription \startdescription{orange} orange fruit \stopdescription \startdescription{banana} yellow fruit \stopdescription Multiple blocks with italics: \startdescription{{\em apple}} red fruit contains seeds, crisp, pleasant to taste \stopdescription \startdescription{{\em orange}} orange fruit \starttyping { orange code block } \stoptyping \startblockquote orange block quote \stopblockquote \stopdescription Multiple definitions, tight: \startdescription{apple} red fruit computer \stopdescription \startdescription{orange} orange fruit bank \stopdescription Multiple definitions, loose: \startdescription{apple} red fruit computer \stopdescription \startdescription{orange} orange fruit bank \stopdescription Blank line after term, indented marker, alternate markers: \startdescription{apple} red fruit computer \stopdescription \startdescription{orange} orange fruit \startitemize[n,packed][stopper=.] \item sublist \item sublist \stopitemize \stopdescription \section[title={HTML Blocks},reference={html-blocks}] Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is {\em emphasized} And this is {\bf strong} Here's a simple block: foo This should be a code block, though: \starttyping
                foo
                \stoptyping As should this: \starttyping
                foo
                \stoptyping Now, nested: foo This should just be an HTML comment: Multiline: Code block: \starttyping \stoptyping Just plain comment, with trailing spaces on the line: Code: \starttyping
                \stoptyping Hr's: \thinrule \section[title={Inline Markup},reference={inline-markup}] This is {\em emphasized}, and so {\em is this}. This is {\bf strong}, and so {\bf is this}. An {\em \useURL[url2][/url][][emphasized link]\from[url2]}. {\bf {\em This is strong and em.}} So is {\bf {\em this}} word. {\bf {\em This is strong and em.}} So is {\bf {\em this}} word. This is code: \type{>}, \type{$}, \type{\}, \type{\$}, \type{}. \overstrikes{This is {\em strikeout}.} Superscripts: a\high{bc}d a\high{{\em hello}} a\high{hello~there}. Subscripts: H\low{2}O, H\low{23}O, H\low{many~of~them}O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a\lettertilde{}b c\lettertilde{}d. \thinrule \section[title={Smart quotes, ellipses, dashes},reference={smart-quotes-ellipses-dashes}] \quotation{Hello,} said the spider. \quotation{\quote{Shelob} is my name.} \quote{A}, \quote{B}, and \quote{C} are letters. \quote{Oak,} \quote{elm,} and \quote{beech} are names of trees. So is \quote{pine.} \quote{He said, \quotation{I want to go.}} Were you alive in the 70's? Here is some quoted \quote{\type{code}} and a \quotation{\useURL[url3][http://example.com/?foo=1&bar=2][][quoted link]\from[url3]}. Some dashes: one---two --- three---four --- five. Dashes between numbers: 5--7, 255--66, 1987--1999. Ellipses\ldots{}and\ldots{}and\ldots{}. \thinrule \section[title={LaTeX},reference={latex}] \startitemize[packed] \item \cite[22-23]{smith.1899} \item $2+2=4$ \item $x \in y$ \item $\alpha \wedge \omega$ \item $223$ \item $p$-Tree \item Here's some display math: \startformula \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} \stopformula \item Here's one that has a line break in it: $\alpha + \omega \times x^2$. \stopitemize These shouldn't be math: \startitemize[packed] \item To get the famous equation, write \type{$e = mc^2$}. \item \$22,000 is a {\em lot} of money. So is \$34,000. (It worked if \quotation{lot} is emphasized.) \item Shoes (\$20) and socks (\$5). \item Escaped \type{$}: \$73 {\em this should be emphasized} 23\$. \stopitemize Here's a LaTeX table: \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} \thinrule \section[title={Special Characters},reference={special-characters}] Here is some unicode: \startitemize[packed] \item I hat: Î \item o umlaut: ö \item section: § \item set membership: ∈ \item copyright: © \stopitemize AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \letterbackslash{} Backtick: ` Asterisk: * Underscore: _ Left brace: \{ Right brace: \} Left bracket: {[} Right bracket: {]} Left paren: ( Right paren: ) Greater-than: > Hash: \# Period: . Bang: ! Plus: + Minus: - \thinrule \section[title={Links},reference={links}] \subsection[title={Explicit},reference={explicit}] Just a \useURL[url4][/url/][][URL]\from[url4]. \useURL[url5][/url/][][URL and title]\from[url5]. \useURL[url6][/url/][][URL and title]\from[url6]. \useURL[url7][/url/][][URL and title]\from[url7]. \useURL[url8][/url/][][URL and title]\from[url8] \useURL[url9][/url/][][URL and title]\from[url9] \useURL[url10][/url/with_underscore][][with_underscore]\from[url10] \useURL[url11][mailto:nobody@nowhere.net][][Email link]\from[url11] \useURL[url12][][][Empty]\from[url12]. \subsection[title={Reference},reference={reference}] Foo \useURL[url13][/url/][][bar]\from[url13]. With \useURL[url14][/url/][][embedded {[}brackets{]}]\from[url14]. \useURL[url15][/url/][][b]\from[url15] by itself should be a link. Indented \useURL[url16][/url][][once]\from[url16]. Indented \useURL[url17][/url][][twice]\from[url17]. Indented \useURL[url18][/url][][thrice]\from[url18]. This should {[}not{]}{[}{]} be a link. \starttyping [not]: /url \stoptyping Foo \useURL[url19][/url/][][bar]\from[url19]. Foo \useURL[url20][/url/][][biz]\from[url20]. \subsection[title={With ampersands},reference={with-ampersands}] Here's a \useURL[url21][http://example.com/?foo=1&bar=2][][link with an ampersand in the URL]\from[url21]. Here's a link with an amersand in the link text: \useURL[url22][http://att.com/][][AT&T]\from[url22]. Here's an \useURL[url23][/script?foo=1&bar=2][][inline link]\from[url23]. Here's an \useURL[url24][/script?foo=1&bar=2][][inline link in pointy braces]\from[url24]. \subsection[title={Autolinks},reference={autolinks}] With an ampersand: \useURL[url25][http://example.com/?foo=1&bar=2]\from[url25] \startitemize[packed] \item In a list? \item \useURL[url26][http://example.com/]\from[url26] \item It should. \stopitemize An e-mail address: \useURL[url27][mailto:nobody@nowhere.net][][nobody@nowhere.net]\from[url27] \startblockquote Blockquoted: \useURL[url28][http://example.com/]\from[url28] \stopblockquote Auto-links should not occur here: \type{} \starttyping or here: \stoptyping \thinrule \section[title={Images},reference={images}] From \quotation{Voyage dans la Lune} by Georges Melies (1902): \placefigure{lalune}{\externalfigure[lalune.jpg]} Here is a movie {\externalfigure[movie.jpg]} icon. \thinrule \section[title={Footnotes},reference={footnotes}] Here is a footnote reference,\footnote{Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.} and another.\startbuffer Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). \starttyping { } \stoptyping If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.\stopbuffer\footnote{\getbuffer} This should {\em not} be a footnote reference, because it contains a space.{[}^my note{]} Here is an inline note.\footnote{This is {\em easier} to type. Inline notes may contain \useURL[url29][http://google.com][][links]\from[url29] and \type{]} verbatim characters, as well as {[}bracketed text{]}.} \startblockquote Notes can go in quotes.\footnote{In quote.} \stopblockquote \startitemize[n,packed][stopper=.] \item And in list items.\footnote{In list.} \stopitemize This paragraph should not be part of the note, as it is not indented. \stoptext pandoc-2.9.2.1/test/writer.custom000066400000000000000000000337551363630463000166770ustar00rootroot00000000000000

                This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.


                Headers

                Level 3 with emphasis

                Level 4

                Level 5

                Level 1

                Level 2 with emphasis

                Level 3

                with no blank line

                Level 2

                with no blank line


                Paragraphs

                Here’s a regular paragraph.

                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.

                Here’s one with a bullet. * criminey.

                There should be a hard line break
                here.


                Block Quotes

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status {
                    print "working";
                }

                A list:

                1. item one
                2. item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                And a following paragraph.


                Code Blocks

                Code:

                ---- (should be four hyphens)
                
                sub status {
                    print "working";
                }
                
                this code block is indented by one tab

                And:

                    this code block is indented by two tabs
                
                These should not be escaped:  \$ \\ \> \[ \{

                Lists

                Unordered

                Asterisks tight:

                • asterisk 1
                • asterisk 2
                • asterisk 3

                Asterisks loose:

                • asterisk 1

                • asterisk 2

                • asterisk 3

                Pluses tight:

                • Plus 1
                • Plus 2
                • Plus 3

                Pluses loose:

                • Plus 1

                • Plus 2

                • Plus 3

                Minuses tight:

                • Minus 1
                • Minus 2
                • Minus 3

                Minuses loose:

                • Minus 1

                • Minus 2

                • Minus 3

                Ordered

                Tight:

                1. First
                2. Second
                3. Third

                and:

                1. One
                2. Two
                3. Three

                Loose using tabs:

                1. First

                2. Second

                3. Third

                and using spaces:

                1. One

                2. Two

                3. Three

                Multiple paragraphs:

                1. Item 1, graf one.

                  Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                2. Item 2.

                3. Item 3.

                Nested

                • Tab
                  • Tab
                    • Tab

                Here’s another:

                1. First
                2. Second:
                  • Fee
                  • Fie
                  • Foe
                3. Third

                Same thing but with paragraphs:

                1. First

                2. Second:

                  • Fee
                  • Fie
                  • Foe
                3. Third

                Tabs and spaces

                • this is a list item indented with tabs

                • this is a list item indented with spaces

                  • this is an example list item indented with tabs

                  • this is an example list item indented with spaces

                Fancy list markers

                1. begins with 2

                2. and now 3

                  with a continuation

                  1. sublist with roman numerals, starting with 4
                  2. more items
                    1. a subsublist
                    2. a subsublist

                Nesting:

                1. Upper Alpha
                  1. Upper Roman.
                    1. Decimal start with 6
                      1. Lower alpha with paren

                Autonumbering:

                1. Autonumber.
                2. More.
                  1. Nested.

                Should not be a list item:

                M.A. 2007

                B. Williams


                Definition Lists

                Tight using spaces:

                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit

                Tight using tabs:

                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit

                Loose:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Multiple blocks with italics:

                apple

                red fruit

                contains seeds, crisp, pleasant to taste

                orange

                orange fruit

                { orange code block }

                orange block quote

                Multiple definitions, tight:

                apple
                red fruit
                computer
                orange
                orange fruit
                bank

                Multiple definitions, loose:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Blank line after term, indented marker, alternate markers:

                apple

                red fruit

                computer

                orange

                orange fruit

                1. sublist
                2. sublist

                HTML Blocks

                Simple block on one line:

                foo

                And nested without indentation:

                foo

                bar

                Interpreted markdown in a table:

                This is emphasized And this is strong

                Here’s a simple block:

                foo

                This should be a code block, though:

                <div>
                    foo
                </div>

                As should this:

                <div>foo</div>

                Now, nested:

                foo

                This should just be an HTML comment:

                Multiline:

                Code block:

                <!-- Comment -->

                Just plain comment, with trailing spaces on the line:

                Code:

                <hr />

                Hr’s:











                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is strikeout.

                Superscripts: abcd ahello ahello there.

                Subscripts: H2O, H23O, Hmany of themO.

                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.


                Smart quotes, ellipses, dashes

                “Hello,” said the spider. “‘Shelob’ is my name.”

                ‘A’, ‘B’, and ‘C’ are letters.

                ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’

                ‘He said, “I want to go.”’ Were you alive in the 70’s?

                Here is some quoted ‘code’ and a “quoted link”.

                Some dashes: one—two — three—four — five.

                Dashes between numbers: 5–7, 255–66, 1987–1999.

                Ellipses…and…and….


                LaTeX

                • \(2+2=4\)
                • \(x \in y\)
                • \(\alpha \wedge \omega\)
                • \(223\)
                • \(p\)-Tree
                • Here’s some display math: \[\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\]
                • Here’s one that has a line break in it: \(\alpha + \omega \times x^2\).

                These shouldn’t be math:

                • To get the famous equation, write $e = mc^2$.
                • $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.)
                • Shoes ($20) and socks ($5).
                • Escaped $: $73 this should be emphasized 23$.

                Here’s a LaTeX table:


                Special Characters

                Here is some unicode:

                • I hat: Î
                • o umlaut: ö
                • section: §
                • set membership: ∈
                • copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -


                Links

                Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                with_underscore

                Email link

                Empty.

                Reference

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not][] be a link.

                [not]: /url

                Foo bar.

                Foo biz.

                With ampersands

                Here’s a link with an ampersand in the URL.

                Here’s a link with an amersand in the link text: AT&T.

                Here’s an inline link.

                Here’s an inline link in pointy braces.

                With an ampersand: http://example.com/?foo=1&bar=2

                An e-mail address: nobody@nowhere.net

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>

                Images

                From “Voyage dans la Lune” by Georges Melies (1902):

                lalune

                Here is a movie icon.


                Footnotes

                Here is a footnote reference,1 and another.2 This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.3

                Notes can go in quotes.4

                1. And in list items.5

                This paragraph should not be part of the note, as it is not indented.

                1. Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.

                2. Here’s the long note. This one contains multiple blocks.

                  Subsequent blocks are indented to show that they belong to the footnote (as with list items).

                    { <code> }

                  If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.

                3. This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].

                4. In quote.

                5. In list.

                pandoc-2.9.2.1/test/writer.docbook4000066400000000000000000000772721363630463000170730ustar00rootroot00000000000000
                Pandoc Test Suite John MacFarlane Anonymous July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. Headers Level 2 with an <ulink url="/url">embedded link</ulink> Level 3 with <emphasis>emphasis</emphasis> Level 4 Level 5 Level 1 Level 2 with <emphasis>emphasis</emphasis> Level 3 with no blank line Level 2 with no blank line Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break here. Block Quotes E-mail style:
                This is a block quote. It is pretty short.
                Code in a block quote: sub status { print "working"; } A list: item one item two Nested block quotes:
                nested
                nested
                This should not be a block quote: 2 > 1. And a following paragraph.
                Code Blocks Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ Lists Unordered Asterisks tight: asterisk 1 asterisk 2 asterisk 3 Asterisks loose: asterisk 1 asterisk 2 asterisk 3 Pluses tight: Plus 1 Plus 2 Plus 3 Pluses loose: Plus 1 Plus 2 Plus 3 Minuses tight: Minus 1 Minus 2 Minus 3 Minuses loose: Minus 1 Minus 2 Minus 3 Ordered Tight: First Second Third and: One Two Three Loose using tabs: First Second Third and using spaces: One Two Three Multiple paragraphs: Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. Item 2. Item 3. Nested Tab Tab Tab Here’s another: First Second: Fee Fie Foe Third Same thing but with paragraphs: First Second: Fee Fie Foe Third Tabs and spaces this is a list item indented with tabs this is a list item indented with spaces this is an example list item indented with tabs this is an example list item indented with spaces Fancy list markers begins with 2 and now 3 with a continuation sublist with roman numerals, starting with 4 more items a subsublist a subsublist Nesting: Upper Alpha Upper Roman. Decimal start with 6 Lower alpha with paren Autonumbering: Autonumber. More. Nested. Should not be a list item: M.A. 2007 B. Williams Definition Lists Tight using spaces: apple red fruit orange orange fruit banana yellow fruit Tight using tabs: apple red fruit orange orange fruit banana yellow fruit Loose: apple red fruit orange orange fruit banana yellow fruit Multiple blocks with italics: apple red fruit contains seeds, crisp, pleasant to taste orange orange fruit { orange code block }
                orange block quote
                Multiple definitions, tight: apple red fruit computer orange orange fruit bank Multiple definitions, loose: apple red fruit computer orange orange fruit bank Blank line after term, indented marker, alternate markers: apple red fruit computer orange orange fruit sublist sublist
                HTML Blocks Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table:
                This is emphasized And this is strong
                Here’s a simple block: foo This should be a code block, though: <div> foo </div> As should this: <div>foo</div> Now, nested: foo This should just be an HTML comment: Multiline: Code block: <!-- Comment --> Just plain comment, with trailing spaces on the line: Code: <hr /> Hr’s:








                Inline Markup This is emphasized, and so is this. This is strong, and so is this. An emphasized link. This is strong and em. So is this word. This is strong and em. So is this word. This is code: >, $, \, \$, <html>. This is strikeout. Superscripts: abcd ahello ahello there. Subscripts: H2O, H23O, Hmany of themO. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. Smart quotes, ellipses, dashes Hello, said the spider. Shelob is my name. A, B, and C are letters. Oak, elm, and beech are names of trees. So is pine. He said, I want to go. Were you alive in the 70’s? Here is some quoted code and a quoted link. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. LaTeX 2 + 2 = 4 x ∈ y α ∧ ω 223 p-Tree Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ Here’s one that has a line break in it: α + ω × x2. These shouldn’t be math: To get the famous equation, write $e = mc^2$. $22,000 is a lot of money. So is $34,000. (It worked if lot is emphasized.) Shoes ($20) and socks ($5). Escaped $: $73 this should be emphasized 23$. Here’s a LaTeX table: Special Characters Here is some unicode: I hat: Î o umlaut: ö section: § set membership: ∈ copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - Links Explicit Just a URL. URL and title. URL and title. URL and title. URL and title URL and title with_underscore Email link (nobody@nowhere.net) Empty. Reference Foo bar. With embedded [brackets]. b by itself should be a link. Indented once. Indented twice. Indented thrice. This should [not][] be a link. [not]: /url Foo bar. Foo biz. With ampersands Here’s a link with an ampersand in the URL. Here’s a link with an amersand in the link text: AT&T. Here’s an inline link. Here’s an inline link in pointy braces. Autolinks With an ampersand: http://example.com/?foo=1&bar=2 In a list? http://example.com/ It should. An e-mail address: nobody@nowhere.net
                Blockquoted: http://example.com/
                Auto-links should not occur here: <http://example.com/> or here: <http://example.com/>
                Images From Voyage dans la Lune by Georges Melies (1902):
                lalune lalune
                Here is a movie icon.
                Footnotes Here is a footnote reference, Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. and another. Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). { <code> } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note. This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].
                Notes can go in quotes. In quote.
                And in list items. In list. This paragraph should not be part of the note, as it is not indented.
                pandoc-2.9.2.1/test/writer.docbook5000066400000000000000000000771211363630463000170650ustar00rootroot00000000000000
                Pandoc Test Suite John MacFarlane Anonymous July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.
                Headers
                Level 2 with an <link xlink:href="/url">embedded link</link>
                Level 3 with <emphasis>emphasis</emphasis>
                Level 4
                Level 5
                Level 1
                Level 2 with <emphasis>emphasis</emphasis>
                Level 3 with no blank line
                Level 2 with no blank line
                Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break here.
                Block Quotes E-mail style:
                This is a block quote. It is pretty short.
                Code in a block quote: sub status { print "working"; } A list: item one item two Nested block quotes:
                nested
                nested
                This should not be a block quote: 2 > 1. And a following paragraph.
                Code Blocks Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{
                Lists
                Unordered Asterisks tight: asterisk 1 asterisk 2 asterisk 3 Asterisks loose: asterisk 1 asterisk 2 asterisk 3 Pluses tight: Plus 1 Plus 2 Plus 3 Pluses loose: Plus 1 Plus 2 Plus 3 Minuses tight: Minus 1 Minus 2 Minus 3 Minuses loose: Minus 1 Minus 2 Minus 3
                Ordered Tight: First Second Third and: One Two Three Loose using tabs: First Second Third and using spaces: One Two Three Multiple paragraphs: Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. Item 2. Item 3.
                Nested Tab Tab Tab Here’s another: First Second: Fee Fie Foe Third Same thing but with paragraphs: First Second: Fee Fie Foe Third
                Tabs and spaces this is a list item indented with tabs this is a list item indented with spaces this is an example list item indented with tabs this is an example list item indented with spaces
                Fancy list markers begins with 2 and now 3 with a continuation sublist with roman numerals, starting with 4 more items a subsublist a subsublist Nesting: Upper Alpha Upper Roman. Decimal start with 6 Lower alpha with paren Autonumbering: Autonumber. More. Nested. Should not be a list item: M.A. 2007 B. Williams
                Definition Lists Tight using spaces: apple red fruit orange orange fruit banana yellow fruit Tight using tabs: apple red fruit orange orange fruit banana yellow fruit Loose: apple red fruit orange orange fruit banana yellow fruit Multiple blocks with italics: apple red fruit contains seeds, crisp, pleasant to taste orange orange fruit { orange code block }
                orange block quote
                Multiple definitions, tight: apple red fruit computer orange orange fruit bank Multiple definitions, loose: apple red fruit computer orange orange fruit bank Blank line after term, indented marker, alternate markers: apple red fruit computer orange orange fruit sublist sublist
                HTML Blocks Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is emphasized And this is strong Here’s a simple block: foo This should be a code block, though: <div> foo </div> As should this: <div>foo</div> Now, nested: foo This should just be an HTML comment: Multiline: Code block: <!-- Comment --> Just plain comment, with trailing spaces on the line: Code: <hr /> Hr’s:
                Inline Markup This is emphasized, and so is this. This is strong, and so is this. An emphasized link. This is strong and em. So is this word. This is strong and em. So is this word. This is code: >, $, \, \$, <html>. This is strikeout. Superscripts: abcd ahello ahello there. Subscripts: H2O, H23O, Hmany of themO. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.
                Smart quotes, ellipses, dashes Hello, said the spider. Shelob is my name. A, B, and C are letters. Oak, elm, and beech are names of trees. So is pine. He said, I want to go. Were you alive in the 70’s? Here is some quoted code and a quoted link. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and….
                LaTeX 2 + 2 = 4 x ∈ y α ∧ ω 223 p-Tree Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ Here’s one that has a line break in it: α + ω × x2. These shouldn’t be math: To get the famous equation, write $e = mc^2$. $22,000 is a lot of money. So is $34,000. (It worked if lot is emphasized.) Shoes ($20) and socks ($5). Escaped $: $73 this should be emphasized 23$. Here’s a LaTeX table:
                Special Characters Here is some unicode: I hat: Î o umlaut: ö section: § set membership: ∈ copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: -
                Links
                Explicit Just a URL. URL and title. URL and title. URL and title. URL and title URL and title with_underscore Email link (nobody@nowhere.net) Empty.
                Reference Foo bar. With embedded [brackets]. b by itself should be a link. Indented once. Indented twice. Indented thrice. This should [not][] be a link. [not]: /url Foo bar. Foo biz.
                With ampersands Here’s a link with an ampersand in the URL. Here’s a link with an amersand in the link text: AT&T. Here’s an inline link. Here’s an inline link in pointy braces.
                Autolinks With an ampersand: http://example.com/?foo=1&bar=2 In a list? http://example.com/ It should. An e-mail address: nobody@nowhere.net
                Blockquoted: http://example.com/
                Auto-links should not occur here: <http://example.com/> or here: <http://example.com/>
                Images From Voyage dans la Lune by Georges Melies (1902):
                lalune lalune
                Here is a movie icon.
                Footnotes Here is a footnote reference, Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. and another. Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). { <code> } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note. This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].
                Notes can go in quotes. In quote.
                And in list items. In list. This paragraph should not be part of the note, as it is not indented.
                pandoc-2.9.2.1/test/writer.dokuwiki000066400000000000000000000250621363630463000172030ustar00rootroot00000000000000This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ---- ====== Headers ====== ===== Level 2 with an embedded link ===== ==== Level 3 with emphasis ==== === Level 4 === == Level 5 == ====== Level 1 ====== ===== Level 2 with emphasis ===== ==== Level 3 ==== with no blank line ===== Level 2 ===== with no blank line ---- ====== Paragraphs ====== Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break\\ here. ---- ====== Block Quotes ====== E-mail style: > This is a block quote. It is pretty short.
                Code in a block quote: sub status { print "working"; } A list: - item one - item two Nested block quotes: > nested > nested
                This should not be a block quote: 2 > 1. And a following paragraph. ---- ====== Code Blocks ====== Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ ---- ====== Lists ====== ===== Unordered ===== Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: * Plus 1 * Plus 2 * Plus 3 Pluses loose: * Plus 1 * Plus 2 * Plus 3 Minuses tight: * Minus 1 * Minus 2 * Minus 3 Minuses loose: * Minus 1 * Minus 2 * Minus 3 ===== Ordered ===== Tight: - First - Second - Third and: - One - Two - Three Loose using tabs: - First - Second - Third and using spaces: - One - Two - Three Multiple paragraphs:
                1. Item 1, graf one.

                  Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                2. Item 2.

                3. Item 3.

                ===== Nested ===== * Tab * Tab * Tab Here’s another: - First - Second: * Fee * Fie * Foe - Third Same thing but with paragraphs: - First - Second: * Fee * Fie * Foe - Third ===== Tabs and spaces ===== * this is a list item indented with tabs * this is a list item indented with spaces * this is an example list item indented with tabs * this is an example list item indented with spaces ===== Fancy list markers =====
                1. begins with 2

                2. and now 3

                  with a continuation

                  1. sublist with roman numerals, starting with 4
                  2. more items
                    1. a subsublist
                    2. a subsublist
                Nesting:
                1. Upper Alpha
                  1. Upper Roman.
                    1. Decimal start with 6
                      1. Lower alpha with paren
                Autonumbering: - Autonumber. - More. - Nested. Should not be a list item: M.A. 2007 B. Williams ---- ====== Definition Lists ====== Tight using spaces: * **apple** red fruit * **orange** orange fruit * **banana** yellow fruit Tight using tabs: * **apple** red fruit * **orange** orange fruit * **banana** yellow fruit Loose: * **apple** red fruit * **orange** orange fruit * **banana** yellow fruit Multiple blocks with italics:
                //apple//

                red fruit

                contains seeds, crisp, pleasant to taste

                //orange//

                orange fruit

                { orange code block } >

                orange block quote

                Multiple definitions, tight: * **apple** red fruitcomputer * **orange** orange fruitbank Multiple definitions, loose: * **apple** red fruitcomputer * **orange** orange fruitbank Blank line after term, indented marker, alternate markers: * **apple** red fruitcomputer * **orange** orange fruit - sublist - sublist ====== HTML Blocks ====== Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table:
                This is //emphasized// And this is **strong**
                Here’s a simple block: foo This should be a code block, though:
                foo
                As should this:
                foo
                Now, nested: foo This should just be an HTML comment: Multiline: Code block: Just plain comment, with trailing spaces on the line: Code:
                Hr’s:








                ---- ====== Inline Markup ====== This is //emphasized//, and so //is this//. This is **strong**, and so **is this**. An //[[url|emphasized link]]//. **//This is strong and em.//** So is **//this//** word. **//This is strong and em.//** So is **//this//** word. This is code: ''%%>%%'', ''%%$%%'', ''%%\%%'', ''%%\$%%'', ''%%%%''. This is //strikeout//. Superscripts: abcd a//hello// ahello there. Subscripts: H2O, H23O, Hmany of themO. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ---- ====== Smart quotes, ellipses, dashes ====== “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘''%%code%%''’ and a “[[http://example.com/?foo=1&bar=2|quoted link]]”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ---- ====== LaTeX ====== * * $2+2=4$ * $x \in y$ * $\alpha \wedge \omega$ * $223$ * $p$-Tree * Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ * Here’s one that has a line break in it: $\alpha + \omega \times x^2$. These shouldn’t be math: * To get the famous equation, write ''%%$e = mc^2$%%''. * $22,000 is a //lot// of money. So is $34,000. (It worked if “lot” is emphasized.) * Shoes ($20) and socks ($5). * Escaped ''%%$%%'': $73 //this should be emphasized// 23$. Here’s a LaTeX table: ---- ====== Special Characters ====== Here is some unicode: * I hat: Î * o umlaut: ö * section: § * set membership: ∈ * copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ---- ====== Links ====== ===== Explicit ===== Just a [[url/|URL]]. [[url/|URL and title]]. [[url/|URL and title]]. [[url/|URL and title]]. [[url/|URL and title]] [[url/|URL and title]] [[url/with_underscore|with_underscore]] [[mailto:nobody@nowhere.net|Email link]] [[|Empty]]. ===== Reference ===== Foo [[url/|bar]]. With [[url/|embedded [brackets]]]. [[url/|b]] by itself should be a link. Indented [[url|once]]. Indented [[url|twice]]. Indented [[url|thrice]]. This should [not][] be a link. [not]: /url Foo [[url/|bar]]. Foo [[url/|biz]]. ===== With ampersands ===== Here’s a [[http://example.com/?foo=1&bar=2|link with an ampersand in the URL]]. Here’s a link with an amersand in the link text: [[http://att.com/|AT&T]]. Here’s an [[script?foo=1&bar=2|inline link]]. Here’s an [[script?foo=1&bar=2|inline link in pointy braces]]. ===== Autolinks ===== With an ampersand: http://example.com/?foo=1&bar=2 * In a list? * http://example.com/ * It should. An e-mail address: > Blockquoted: http://example.com/ Auto-links should not occur here: ''%%%%'' or here: ---- ====== Images ====== From “Voyage dans la Lune” by Georges Melies (1902): {{lalune.jpg|Voyage dans la Lune lalune}} Here is a movie {{movie.jpg|movie}} icon. ---- ====== Footnotes ====== Here is a footnote reference,((Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. )) and another.((Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). { } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. )) This should //not// be a footnote reference, because it contains a space.[^my note] Here is an inline note.((This is //easier// to type. Inline notes may contain [[http://google.com|links]] and ''%%]%%'' verbatim characters, as well as [bracketed text]. )) > Notes can go in quotes.((In quote. > )) - And in list items.((In list.)) This paragraph should not be part of the note, as it is not indented. pandoc-2.9.2.1/test/writer.fb2000066400000000000000000000400141363630463000160200ustar00rootroot00000000000000 unrecognised John MacFarlane Anonymous Pandoc Test Suite July 17, 2006 pandoc <p>Pandoc Test Suite</p>

                This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.

                <p>Headers</p>
                <p>Level 1</p>
                <p>Level 2 with <emphasis>emphasis</emphasis> </p>
                <p>Level 3</p>

                with no blank line

                <p>Level 2</p>

                with no blank line

                <p>Paragraphs</p>

                Here’s a regular paragraph.

                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.

                Here’s one with a bullet. * criminey.

                There should be a hard line break here.

                <p>Block Quotes</p>

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status {

                print "working";

                }

                A list:

                1. item one

                2. item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                And a following paragraph.

                <p>Code Blocks</p>

                Code:

                ---- (should be four hyphens)

                sub status {

                print "working";

                }

                this code block is indented by one tab

                And:

                this code block is indented by two tabs

                These should not be escaped: \$ \\ \> \[ \{

                <p>Lists</p>
                <p>Unordered</p>

                Asterisks tight:

                • asterisk 1

                • asterisk 2

                • asterisk 3

                Asterisks loose:

                • asterisk 1

                • asterisk 2

                • asterisk 3

                Pluses tight:

                • Plus 1

                • Plus 2

                • Plus 3

                Pluses loose:

                • Plus 1

                • Plus 2

                • Plus 3

                Minuses tight:

                • Minus 1

                • Minus 2

                • Minus 3

                Minuses loose:

                • Minus 1

                • Minus 2

                • Minus 3

                <p>Ordered</p>

                Tight:

                1. First

                2. Second

                3. Third

                and:

                1. One

                2. Two

                3. Three

                Loose using tabs:

                1. First

                2. Second

                3. Third

                and using spaces:

                1. One

                2. Two

                3. Three

                Multiple paragraphs:

                1. Item 1, graf one.

                   Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                2. Item 2.

                3. Item 3.

                <p>Nested</p>

                • Tab

                • • Tab

                • • • Tab

                Here’s another:

                1. First

                2. Second:

                2. • Fee

                2. • Fie

                2. • Foe

                3. Third

                Same thing but with paragraphs:

                1. First

                2. Second:

                2. • Fee

                2. • Fie

                2. • Foe

                3. Third

                <p>Tabs and spaces</p>

                • this is a list item indented with tabs

                • this is a list item indented with spaces

                • • this is an example list item indented with tabs

                • • this is an example list item indented with spaces

                <p>Fancy list markers</p>

                (2) begins with 2

                (3) and now 3

                    with a continuation

                (3) iv. sublist with roman numerals, starting with 4

                (3) v. more items

                (3) v. (A) a subsublist

                (3) v. (B) a subsublist

                Nesting:

                A. Upper Alpha

                A. I. Upper Roman.

                A. I. (6) Decimal start with 6

                A. I. (6) c) Lower alpha with paren

                Autonumbering:

                1. Autonumber.

                2. More.

                2. 1. Nested.

                Should not be a list item:

                M.A. 2007

                B. Williams

                <p>Definition Lists</p>

                Tight using spaces:

                apple

                    red fruit

                orange

                    orange fruit

                banana

                    yellow fruit

                Tight using tabs:

                apple

                    red fruit

                orange

                    orange fruit

                banana

                    yellow fruit

                Loose:

                apple

                    red fruit

                orange

                    orange fruit

                banana

                    yellow fruit

                Multiple blocks with italics:

                apple

                    red fruit

                    contains seeds, crisp, pleasant to taste

                orange

                    orange fruit

                    { orange code block }

                    orange block quote

                Multiple definitions, tight:

                apple

                    red fruit

                    computer

                orange

                    orange fruit

                    bank

                Multiple definitions, loose:

                apple

                    red fruit

                    computer

                orange

                    orange fruit

                    bank

                Blank line after term, indented marker, alternate markers:

                apple

                    red fruit

                    computer

                orange

                    orange fruit

                1. sublist

                2. sublist

                <p>HTML Blocks</p>

                Simple block on one line:

                foo

                And nested without indentation:

                foo

                bar

                Interpreted markdown in a table:

                This is emphasizedAnd this is strong

                Here’s a simple block:

                foo

                This should be a code block, though:

                <div>

                foo

                </div>

                As should this:

                <div>foo</div>

                Now, nested:

                foo

                This should just be an HTML comment:

                Multiline:

                Code block:

                <!-- Comment -->

                Just plain comment, with trailing spaces on the line:

                Code:

                <hr />

                Hr’s:

                <p>Inline Markup</p>

                This is emphasized, and so is this.

                This is strong, and so is this.

                An emphasized link .

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is strikeout.

                Superscripts: abcd a hello ahello there.

                Subscripts: H2O, H23O, Hmany of themO.

                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.

                <p>Smart quotes, ellipses, dashes</p>

                “Hello,” said the spider. “‘Shelob’ is my name.”

                ‘A’, ‘B’, and ‘C’ are letters.

                ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’

                ‘He said, “I want to go.”’ Were you alive in the 70’s?

                Here is some quoted ‘code’ and a “quoted link”.

                Some dashes: one—two — three—four — five.

                Dashes between numbers: 5–7, 255–66, 1987–1999.

                Ellipses…and…and….

                <p>LaTeX</p>

                • 

                • 2+2=4

                • x \in y

                • \alpha \wedge \omega

                • 223

                • p-Tree

                • Here’s some display math: \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}

                • Here’s one that has a line break in it: \alpha + \omega \times x^2.

                These shouldn’t be math:

                • To get the famous equation, write $e = mc^2$.

                • $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.)

                • Shoes ($20) and socks ($5).

                • Escaped $: $73 this should be emphasized 23$.

                Here’s a LaTeX table:

                <p>Special Characters</p>

                Here is some unicode:

                • I hat: Î

                • o umlaut: ö

                • section: §

                • set membership: ∈

                • copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -

                <p>Images</p>

                From “Voyage dans la Lune” by Georges Melies (1902):

                lalune

                Here is a movie movie icon.

                <p>Footnotes</p>

                Here is a footnote reference,[1] and another.[2] This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.[3]

                Notes can go in quotes.[4]

                1. And in list items.[5]

                This paragraph should not be part of the note, as it is not indented.

                <p>1</p>

                Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.

                <p>2</p>

                Here’s the long note. This one contains multiple blocks.

                Subsequent blocks are indented to show that they belong to the footnote (as with list items).

                { <code> }

                If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.

                <p>3</p>

                This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].

                <p>4</p>

                In quote.

                <p>5</p>

                In list.

                pandoc-2.9.2.1/test/writer.haddock000066400000000000000000000231031363630463000167440ustar00rootroot00000000000000This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ______________________________________________________________________________ = Headers #headers# == Level 2 with an #level-2-with-an-embedded-link# === Level 3 with /emphasis/ #level-3-with-emphasis# ==== Level 4 #level-4# ===== Level 5 #level-5# = Level 1 #level-1# == Level 2 with /emphasis/ #level-2-with-emphasis# === Level 3 #level-3# with no blank line == Level 2 #level-2# with no blank line ______________________________________________________________________________ = Paragraphs #paragraphs# Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break here. ______________________________________________________________________________ = Block Quotes #block-quotes# E-mail style: This is a block quote. It is pretty short. Code in a block quote: > sub status { > print "working"; > } A list: 1. item one 2. item two Nested block quotes: nested nested This should not be a block quote: 2 > 1. And a following paragraph. ______________________________________________________________________________ = Code Blocks #code-blocks# Code: > ---- (should be four hyphens) > > sub status { > print "working"; > } > > this code block is indented by one tab And: > this code block is indented by two tabs > > These should not be escaped: \$ \\ \> \[ \{ ______________________________________________________________________________ = Lists #lists# == Unordered #unordered# Asterisks tight: - asterisk 1 - asterisk 2 - asterisk 3 Asterisks loose: - asterisk 1 - asterisk 2 - asterisk 3 Pluses tight: - Plus 1 - Plus 2 - Plus 3 Pluses loose: - Plus 1 - Plus 2 - Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 == Ordered #ordered# Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. 2. Item 2. 3. Item 3. == Nested #nested# - Tab - Tab - Tab Here’s another: 1. First 2. Second: - Fee - Fie - Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: - Fee - Fie - Foe 3. Third == Tabs and spaces #tabs-and-spaces# - this is a list item indented with tabs - this is a list item indented with spaces - this is an example list item indented with tabs - this is an example list item indented with spaces == Fancy list markers #fancy-list-markers# (2) begins with 2 (3) and now 3 with a continuation 4. sublist with roman numerals, starting with 4 5. more items (1) a subsublist (2) a subsublist Nesting: 1. Upper Alpha 1. Upper Roman. (6) Decimal start with 6 3) Lower alpha with paren Autonumbering: 1. Autonumber. 2. More. 1. Nested. Should not be a list item: M.A. 2007 B. Williams ______________________________________________________________________________ = Definition Lists #definition-lists# Tight using spaces: [apple] red fruit [orange] orange fruit [banana] yellow fruit Tight using tabs: [apple] red fruit [orange] orange fruit [banana] yellow fruit Loose: [apple] red fruit [orange] orange fruit [banana] yellow fruit Multiple blocks with italics: [/apple/] red fruit contains seeds, crisp, pleasant to taste [/orange/] orange fruit > { orange code block } orange block quote Multiple definitions, tight: [apple] red fruit computer [orange] orange fruit bank Multiple definitions, loose: [apple] red fruit computer [orange] orange fruit bank Blank line after term, indented marker, alternate markers: [apple] red fruit computer [orange] orange fruit 1. sublist 2. sublist = HTML Blocks #html-blocks# Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is /emphasized/ And this is __strong__ Here’s a simple block: foo This should be a code block, though: >
                > foo >
                As should this: >
                foo
                Now, nested: foo This should just be an HTML comment: Multiline: Code block: > Just plain comment, with trailing spaces on the line: Code: >
                Hr’s: ______________________________________________________________________________ = Inline Markup #inline-markup# This is /emphasized/, and so /is this/. This is __strong__, and so __is this__. An //. __/This is strong and em./__ So is __/this/__ word. __/This is strong and em./__ So is __/this/__ word. This is code: @>@, @$@, @\\@, @\\$@, @\@. ~~This is /strikeout/.~~ Superscripts: abcd a/hello/ ahello there. Subscripts: H2O, H23O, Hmany of themO. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ______________________________________________________________________________ = Smart quotes, ellipses, dashes #smart-quotes-ellipses-dashes# “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘@code@’ and a “”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ______________________________________________________________________________ = LaTeX #latex# - - \(2+2=4\) - \(x \in y\) - \(\alpha \wedge \omega\) - \(223\) - \(p\)-Tree - Here’s some display math: \[\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\] - Here’s one that has a line break in it: \(\alpha + \omega \times x^2\). These shouldn’t be math: - To get the famous equation, write @$e = mc^2$@. - $22,000 is a /lot/ of money. So is $34,000. (It worked if “lot” is emphasized.) - Shoes ($20) and socks ($5). - Escaped @$@: $73 /this should be emphasized/ 23$. Here’s a LaTeX table: ______________________________________________________________________________ = Special Characters #special-characters# Here is some unicode: - I hat: Î - o umlaut: ö - section: § - set membership: ∈ - copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 \< 5. 6 > 5. Backslash: \\ Backtick: \` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ______________________________________________________________________________ = Links #links# == Explicit #explicit# Just a . . . . < Empty>. == Reference #reference# Foo . With . by itself should be a link. Indented . Indented . Indented . This should [not][] be a link. > [not]: /url Foo . Foo . == With ampersands #with-ampersands# Here’s a . Here’s a link with an amersand in the link text: . Here’s an . Here’s an . == Autolinks #autolinks# With an ampersand: - In a list? - - It should. An e-mail address: Blockquoted: Auto-links should not occur here: @\@ > or here: ______________________________________________________________________________ = Images #images# From “Voyage dans la Lune” by Georges Melies (1902): <> Here is a movie <> icon. ______________________________________________________________________________ = Footnotes #footnotes# Here is a footnote reference,<#notes [1]> and another.<#notes [2]> This should /not/ be a footnote reference, because it contains a space.[^my note] Here is an inline note.<#notes [3]> Notes can go in quotes.<#notes [4]> 1. And in list items.<#notes [5]> This paragraph should not be part of the note, as it is not indented. #notes# 1. Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. 2. Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). > { } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. 3. This is /easier/ to type. Inline notes may contain and @]@ verbatim characters, as well as [bracketed text]. 4. In quote. 5. In list. pandoc-2.9.2.1/test/writer.html4000066400000000000000000000372761363630463000164170ustar00rootroot00000000000000 Pandoc Test Suite

                This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.


                Headers

                Level 3 with emphasis

                Level 4

                Level 5

                Level 1

                Level 2 with emphasis

                Level 3

                with no blank line

                Level 2

                with no blank line


                Paragraphs

                Here’s a regular paragraph.

                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.

                Here’s one with a bullet. * criminey.

                There should be a hard line break
                here.


                Block Quotes

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status {
                    print "working";
                }

                A list:

                1. item one
                2. item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                And a following paragraph.


                Code Blocks

                Code:

                ---- (should be four hyphens)
                
                sub status {
                    print "working";
                }
                
                this code block is indented by one tab

                And:

                    this code block is indented by two tabs
                
                These should not be escaped:  \$ \\ \> \[ \{

                Lists

                Unordered

                Asterisks tight:

                • asterisk 1
                • asterisk 2
                • asterisk 3

                Asterisks loose:

                • asterisk 1

                • asterisk 2

                • asterisk 3

                Pluses tight:

                • Plus 1
                • Plus 2
                • Plus 3

                Pluses loose:

                • Plus 1

                • Plus 2

                • Plus 3

                Minuses tight:

                • Minus 1
                • Minus 2
                • Minus 3

                Minuses loose:

                • Minus 1

                • Minus 2

                • Minus 3

                Ordered

                Tight:

                1. First
                2. Second
                3. Third

                and:

                1. One
                2. Two
                3. Three

                Loose using tabs:

                1. First

                2. Second

                3. Third

                and using spaces:

                1. One

                2. Two

                3. Three

                Multiple paragraphs:

                1. Item 1, graf one.

                  Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                2. Item 2.

                3. Item 3.

                Nested

                • Tab
                  • Tab
                    • Tab

                Here’s another:

                1. First
                2. Second:
                  • Fee
                  • Fie
                  • Foe
                3. Third

                Same thing but with paragraphs:

                1. First

                2. Second:

                  • Fee
                  • Fie
                  • Foe
                3. Third

                Tabs and spaces

                • this is a list item indented with tabs

                • this is a list item indented with spaces

                  • this is an example list item indented with tabs

                  • this is an example list item indented with spaces

                Fancy list markers

                1. begins with 2

                2. and now 3

                  with a continuation

                  1. sublist with roman numerals, starting with 4
                  2. more items
                    1. a subsublist
                    2. a subsublist

                Nesting:

                1. Upper Alpha
                  1. Upper Roman.
                    1. Decimal start with 6
                      1. Lower alpha with paren

                Autonumbering:

                1. Autonumber.
                2. More.
                  1. Nested.

                Should not be a list item:

                M.A. 2007

                B. Williams


                Definition Lists

                Tight using spaces:

                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit

                Tight using tabs:

                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit

                Loose:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Multiple blocks with italics:

                apple

                red fruit

                contains seeds, crisp, pleasant to taste

                orange

                orange fruit

                { orange code block }

                orange block quote

                Multiple definitions, tight:

                apple
                red fruit
                computer
                orange
                orange fruit
                bank

                Multiple definitions, loose:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Blank line after term, indented marker, alternate markers:

                apple

                red fruit

                computer

                orange

                orange fruit

                1. sublist
                2. sublist

                HTML Blocks

                Simple block on one line:

                foo

                And nested without indentation:

                foo

                bar

                Interpreted markdown in a table:

                This is emphasized And this is strong

                Here’s a simple block:

                foo

                This should be a code block, though:

                <div>
                    foo
                </div>

                As should this:

                <div>foo</div>

                Now, nested:

                foo

                This should just be an HTML comment:

                Multiline:

                Code block:

                <!-- Comment -->

                Just plain comment, with trailing spaces on the line:

                Code:

                <hr />

                Hr’s:











                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is strikeout.

                Superscripts: abcd ahello ahello there.

                Subscripts: H2O, H23O, Hmany of themO.

                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.


                Smart quotes, ellipses, dashes

                “Hello,” said the spider. “‘Shelob’ is my name.”

                ‘A’, ‘B’, and ‘C’ are letters.

                ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’

                ‘He said, “I want to go.”’ Were you alive in the 70’s?

                Here is some quoted ‘code’ and a “quoted link”.

                Some dashes: one—two — three—four — five.

                Dashes between numbers: 5–7, 255–66, 1987–1999.

                Ellipses…and…and….


                LaTeX

                • 2 + 2 = 4
                • x ∈ y
                • α ∧ ω
                • 223
                • p-Tree
                • Here’s some display math:
                  $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$
                • Here’s one that has a line break in it: α + ω × x2.

                These shouldn’t be math:

                • To get the famous equation, write $e = mc^2$.
                • $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.)
                • Shoes ($20) and socks ($5).
                • Escaped $: $73 this should be emphasized 23$.

                Here’s a LaTeX table:


                Special Characters

                Here is some unicode:

                • I hat: Î
                • o umlaut: ö
                • section: §
                • set membership: ∈
                • copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -


                Links

                Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                with_underscore

                Email link

                Empty.

                Reference

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not][] be a link.

                [not]: /url

                Foo bar.

                Foo biz.

                With ampersands

                Here’s a link with an ampersand in the URL.

                Here’s a link with an amersand in the link text: AT&T.

                Here’s an inline link.

                Here’s an inline link in pointy braces.

                With an ampersand: http://example.com/?foo=1&bar=2

                An e-mail address:

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>

                Images

                From “Voyage dans la Lune” by Georges Melies (1902):

                lalune

                Here is a movie movie icon.


                Footnotes

                Here is a footnote reference,1 and another.2 This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.3

                Notes can go in quotes.4

                1. And in list items.5

                This paragraph should not be part of the note, as it is not indented.


                1. Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.↩︎

                2. Here’s the long note. This one contains multiple blocks.

                  Subsequent blocks are indented to show that they belong to the footnote (as with list items).

                    { <code> }

                  If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.↩︎

                3. This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].↩︎

                4. In quote.↩︎

                5. In list.↩︎

                pandoc-2.9.2.1/test/writer.html5000066400000000000000000000371641363630463000164140ustar00rootroot00000000000000 Pandoc Test Suite

                Pandoc Test Suite

                John MacFarlane

                Anonymous

                July 17, 2006

                This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.


                Headers

                Level 3 with emphasis

                Level 4

                Level 5

                Level 1

                Level 2 with emphasis

                Level 3

                with no blank line

                Level 2

                with no blank line


                Paragraphs

                Here’s a regular paragraph.

                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.

                Here’s one with a bullet. * criminey.

                There should be a hard line break
                here.


                Block Quotes

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status {
                    print "working";
                }

                A list:

                1. item one
                2. item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                And a following paragraph.


                Code Blocks

                Code:

                ---- (should be four hyphens)
                
                sub status {
                    print "working";
                }
                
                this code block is indented by one tab

                And:

                    this code block is indented by two tabs
                
                These should not be escaped:  \$ \\ \> \[ \{

                Lists

                Unordered

                Asterisks tight:

                • asterisk 1
                • asterisk 2
                • asterisk 3

                Asterisks loose:

                • asterisk 1

                • asterisk 2

                • asterisk 3

                Pluses tight:

                • Plus 1
                • Plus 2
                • Plus 3

                Pluses loose:

                • Plus 1

                • Plus 2

                • Plus 3

                Minuses tight:

                • Minus 1
                • Minus 2
                • Minus 3

                Minuses loose:

                • Minus 1

                • Minus 2

                • Minus 3

                Ordered

                Tight:

                1. First
                2. Second
                3. Third

                and:

                1. One
                2. Two
                3. Three

                Loose using tabs:

                1. First

                2. Second

                3. Third

                and using spaces:

                1. One

                2. Two

                3. Three

                Multiple paragraphs:

                1. Item 1, graf one.

                  Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                2. Item 2.

                3. Item 3.

                Nested

                • Tab
                  • Tab
                    • Tab

                Here’s another:

                1. First
                2. Second:
                  • Fee
                  • Fie
                  • Foe
                3. Third

                Same thing but with paragraphs:

                1. First

                2. Second:

                  • Fee
                  • Fie
                  • Foe
                3. Third

                Tabs and spaces

                • this is a list item indented with tabs

                • this is a list item indented with spaces

                  • this is an example list item indented with tabs

                  • this is an example list item indented with spaces

                Fancy list markers

                1. begins with 2

                2. and now 3

                  with a continuation

                  1. sublist with roman numerals, starting with 4
                  2. more items
                    1. a subsublist
                    2. a subsublist

                Nesting:

                1. Upper Alpha
                  1. Upper Roman.
                    1. Decimal start with 6
                      1. Lower alpha with paren

                Autonumbering:

                1. Autonumber.
                2. More.
                  1. Nested.

                Should not be a list item:

                M.A. 2007

                B. Williams


                Definition Lists

                Tight using spaces:

                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit

                Tight using tabs:

                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit

                Loose:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Multiple blocks with italics:

                apple

                red fruit

                contains seeds, crisp, pleasant to taste

                orange

                orange fruit

                { orange code block }

                orange block quote

                Multiple definitions, tight:

                apple
                red fruit
                computer
                orange
                orange fruit
                bank

                Multiple definitions, loose:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Blank line after term, indented marker, alternate markers:

                apple

                red fruit

                computer

                orange

                orange fruit

                1. sublist
                2. sublist

                HTML Blocks

                Simple block on one line:

                foo

                And nested without indentation:

                foo

                bar

                Interpreted markdown in a table:

                This is emphasized And this is strong

                Here’s a simple block:

                foo

                This should be a code block, though:

                <div>
                    foo
                </div>

                As should this:

                <div>foo</div>

                Now, nested:

                foo

                This should just be an HTML comment:

                Multiline:

                Code block:

                <!-- Comment -->

                Just plain comment, with trailing spaces on the line:

                Code:

                <hr />

                Hr’s:











                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is strikeout.

                Superscripts: abcd ahello ahello there.

                Subscripts: H2O, H23O, Hmany of themO.

                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.


                Smart quotes, ellipses, dashes

                “Hello,” said the spider. “‘Shelob’ is my name.”

                ‘A’, ‘B’, and ‘C’ are letters.

                ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’

                ‘He said, “I want to go.”’ Were you alive in the 70’s?

                Here is some quoted ‘code’ and a “quoted link”.

                Some dashes: one—two — three—four — five.

                Dashes between numbers: 5–7, 255–66, 1987–1999.

                Ellipses…and…and….


                LaTeX

                • 2 + 2 = 4
                • x ∈ y
                • α ∧ ω
                • 223
                • p-Tree
                • Here’s some display math:
                  $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$
                • Here’s one that has a line break in it: α + ω × x2.

                These shouldn’t be math:

                • To get the famous equation, write $e = mc^2$.
                • $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.)
                • Shoes ($20) and socks ($5).
                • Escaped $: $73 this should be emphasized 23$.

                Here’s a LaTeX table:


                Special Characters

                Here is some unicode:

                • I hat: Î
                • o umlaut: ö
                • section: §
                • set membership: ∈
                • copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -


                Links

                Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                with_underscore

                Email link

                Empty.

                Reference

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not][] be a link.

                [not]: /url

                Foo bar.

                Foo biz.

                With ampersands

                Here’s a link with an ampersand in the URL.

                Here’s a link with an amersand in the link text: AT&T.

                Here’s an inline link.

                Here’s an inline link in pointy braces.

                With an ampersand: http://example.com/?foo=1&bar=2

                An e-mail address:

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>

                Images

                From “Voyage dans la Lune” by Georges Melies (1902):

                lalune

                Here is a movie movie icon.


                Footnotes

                Here is a footnote reference,1 and another.2 This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.3

                Notes can go in quotes.4

                1. And in list items.5

                This paragraph should not be part of the note, as it is not indented.


                1. Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.↩︎

                2. Here’s the long note. This one contains multiple blocks.

                  Subsequent blocks are indented to show that they belong to the footnote (as with list items).

                    { <code> }

                  If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.↩︎

                3. This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].↩︎

                4. In quote.↩︎

                5. In list.↩︎

                pandoc-2.9.2.1/test/writer.icml000066400000000000000000004274301363630463000163060ustar00rootroot00000000000000 $ID/NormalCharacterStyle $ID/NormalCharacterStyle $ID/NormalCharacterStyle $ID/NormalCharacterStyle Courier New $ID/NormalCharacterStyle $ID/NormalCharacterStyle $ID/NormalCharacterStyle $ID/NormalCharacterStyle $ID/NormalCharacterStyle $ID/NormalCharacterStyle $ID/NormalCharacterStyle $ID/NormalCharacterStyle LeftAlign . 10 $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle Courier New $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle LeftAlign . 10 $ID/NormalParagraphStyle LeftAlign . 30 $ID/NormalParagraphStyle LeftAlign . 20 $ID/NormalParagraphStyle LeftAlign . 20 $ID/NormalParagraphStyle LeftAlign . 20 $ID/NormalParagraphStyle LeftAlign . 10 $ID/NormalParagraphStyle LeftAlign . 10 $ID/NormalParagraphStyle LeftAlign . 10 $ID/NormalParagraphStyle $ID/NormalParagraphStyle Courier New $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle Courier New $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle Courier New $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle LeftAlign . 20 $ID/NormalParagraphStyle LeftAlign . 20 $ID/NormalParagraphStyle a, b, c, d... $ID/NormalParagraphStyle $ID/NormalParagraphStyle A, B, C, D... $ID/NormalParagraphStyle A, B, C, D... $ID/NormalParagraphStyle i, ii, iii, iv... $ID/NormalParagraphStyle $ID/NormalParagraphStyle i, ii, iii, iv... $ID/NormalParagraphStyle I, II, III, IV... $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle $ID/NormalParagraphStyle A, B, C, D... $ID/NormalParagraphStyle $ID/NormalParagraphStyle This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.
                Headers
                Level 2 with an
                Level 3 with emphasis
                Level 4
                Level 5
                Level 1
                Level 2 with emphasis
                Level 3
                with no blank line
                Level 2
                with no blank line
                Paragraphs
                Here’s a regular paragraph.
                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.
                Here’s one with a bullet. * criminey.
                There should be a hard line break here.
                Block Quotes
                E-mail style:
                This is a block quote. It is pretty short.
                Code in a block quote:
                sub status { print "working"; }
                A list:
                item one
                item two
                Nested block quotes:
                nested
                nested
                This should not be a block quote: 2 > 1.
                And a following paragraph.
                Code Blocks
                Code:
                ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab
                And:
                this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{
                Lists
                Unordered
                Asterisks tight:
                asterisk 1
                asterisk 2
                asterisk 3
                Asterisks loose:
                asterisk 1
                asterisk 2
                asterisk 3
                Pluses tight:
                Plus 1
                Plus 2
                Plus 3
                Pluses loose:
                Plus 1
                Plus 2
                Plus 3
                Minuses tight:
                Minus 1
                Minus 2
                Minus 3
                Minuses loose:
                Minus 1
                Minus 2
                Minus 3
                Ordered
                Tight:
                First
                Second
                Third
                and:
                One
                Two
                Three
                Loose using tabs:
                First
                Second
                Third
                and using spaces:
                One
                Two
                Three
                Multiple paragraphs:
                Item 1, graf one.
                Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.
                Item 2.
                Item 3.
                Nested
                Tab
                Tab
                Tab
                Here’s another:
                First
                Second:
                Fee
                Fie
                Foe
                Third
                Same thing but with paragraphs:
                First
                Second:
                Fee
                Fie
                Foe
                Third
                Tabs and spaces
                this is a list item indented with tabs
                this is a list item indented with spaces
                this is an example list item indented with tabs
                this is an example list item indented with spaces
                Fancy list markers
                begins with 2
                and now 3
                with a continuation
                sublist with roman numerals, starting with 4
                more items
                a subsublist
                a subsublist
                Nesting:
                Upper Alpha
                Upper Roman.
                Decimal start with 6
                Lower alpha with paren
                Autonumbering:
                Autonumber.
                More.
                Nested.
                Should not be a list item:
                M.A. 2007
                B. Williams
                Definition Lists
                Tight using spaces:
                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit
                Tight using tabs:
                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit
                Loose:
                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit
                Multiple blocks with italics:
                apple
                red fruit
                contains seeds, crisp, pleasant to taste
                orange
                orange fruit
                { orange code block }
                orange block quote
                Multiple definitions, tight:
                apple
                red fruit
                computer
                orange
                orange fruit
                bank
                Multiple definitions, loose:
                apple
                red fruit
                computer
                orange
                orange fruit
                bank
                Blank line after term, indented marker, alternate markers:
                apple
                red fruit
                computer
                orange
                orange fruit
                sublist
                sublist
                HTML Blocks
                Simple block on one line:
                foo
                And nested without indentation:
                foo
                bar
                Interpreted markdown in a table:
                This is emphasized
                And this is strong
                Here’s a simple block:
                foo
                This should be a code block, though:
                <div> foo </div>
                As should this:
                <div>foo</div>
                Now, nested:
                foo
                This should just be an HTML comment:
                Multiline:
                Code block:
                <!-- Comment -->
                Just plain comment, with trailing spaces on the line:
                Code:
                <hr />
                Hr’s:
                Inline Markup
                This is emphasized , and so is this .
                This is strong , and so is this .
                An .
                This is strong and em.
                So is this word.
                This is strong and em.
                So is this word.
                This is code: > , $ , \ , \$ , <html> .
                This is strikeout .
                Superscripts: a bc d a hello a hello there .
                Subscripts: H 2 O, H 23 O, H many of them O.
                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.
                Smart quotes, ellipses, dashes
                “Hello,” said the spider. ‘Shelob’ is my name.”
                ‘A’ , ‘B’ , and ‘C’ are letters.
                ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’
                ‘He said, “I want to go.” Were you alive in the 70’s?
                Here is some quoted code and a .
                Some dashes: one—two — three—four — five.
                Dashes between numbers: 5–7, 255–66, 1987–1999.
                Ellipses…and…and….
                LaTeX

                2 + 2 = 4
                x y
                α ω
                223
                p -Tree
                Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$
                Here’s one that has a line break in it: α + ω × x 2 .
                These shouldn’t be math:
                To get the famous equation, write $e = mc^2$ .
                $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.)
                Shoes ($20) and socks ($5).
                Escaped $ : $73 this should be emphasized 23$.
                Here’s a LaTeX table:
                Special Characters
                Here is some unicode:
                I hat: Î
                o umlaut: ö
                section: §
                set membership: ∈
                copyright: ©
                AT&T has an ampersand in their name.
                AT&T is another way to write it.
                This & that.
                4 < 5.
                6 > 5.
                Backslash: \
                Backtick: `
                Asterisk: *
                Underscore: _
                Left brace: {
                Right brace: }
                Left bracket: [
                Right bracket: ]
                Left paren: (
                Right paren: )
                Greater-than: >
                Hash: #
                Period: .
                Bang: !
                Plus: +
                Minus: -
                Links
                Explicit
                Just a .
                .
                .
                .




                .
                Reference
                Foo .
                With .
                by itself should be a link.
                Indented .
                Indented .
                Indented .
                This should [not][] be a link.
                [not]: /url
                Foo .
                Foo .
                With ampersands
                Here’s a .
                Here’s a link with an amersand in the link text: .
                Here’s an .
                Here’s an .
                Autolinks
                With an ampersand:
                In a list?

                It should.
                An e-mail address:
                Blockquoted:
                Auto-links should not occur here: <http://example.com/>
                or here: <http://example.com/>
                Images
                From “Voyage dans la Lune” by Georges Melies (1902):
                $ID/Embedded
                lalune
                Here is a movie $ID/Embedded icon.
                Footnotes
                Here is a footnote reference, Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. and another. Here’s the long note. This one contains multiple blocks.
                Subsequent blocks are indented to show that they belong to the footnote (as with list items).
                { <code> }
                If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.
                This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note. This is easier to type. Inline notes may contain and ] verbatim characters, as well as [bracketed text].

                Notes can go in quotes. In quote.
                And in list items. In list.
                This paragraph should not be part of the note, as it is not indented.
                Black HyperlinkURLDestination/http%3a//google.com Black HyperlinkURLDestination/http%3a//example.com/ Black HyperlinkURLDestination/mailto%3anobody@nowhere.net Black HyperlinkURLDestination/http%3a//example.com/ Black HyperlinkURLDestination/http%3a//example.com/?foo=1&bar=2 Black HyperlinkURLDestination//script?foo=1&bar=2 Black HyperlinkURLDestination//script?foo=1&bar=2 Black HyperlinkURLDestination/http%3a//att.com/ Black HyperlinkURLDestination/http%3a//example.com/?foo=1&bar=2 Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url Black HyperlinkURLDestination//url Black HyperlinkURLDestination//url Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination/ Black HyperlinkURLDestination/mailto%3anobody@nowhere.net Black HyperlinkURLDestination//url/with_underscore Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination//url/ Black HyperlinkURLDestination/http%3a//example.com/?foo=1&bar=2 Black HyperlinkURLDestination//url Black HyperlinkURLDestination//url
                pandoc-2.9.2.1/test/writer.jats_archiving000066400000000000000000000642221363630463000203510ustar00rootroot00000000000000
                Pandoc Test Suite John MacFarlane Anonymous 17 7 2006

                This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.

                Headers Level 2 with an <ext-link ext-link-type="uri" xlink:href="/url">embedded link</ext-link> Level 3 with <italic>emphasis</italic> Level 4 Level 5 Level 1 Level 2 with <italic>emphasis</italic> Level 3

                with no blank line

                Level 2

                with no blank line

                Paragraphs

                Here’s a regular paragraph.

                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.

                Here’s one with a bullet. * criminey.

                There should be a hard line break here.

                Block Quotes

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status { print "working"; }

                A list:

                item one

                item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                And a following paragraph.

                Code Blocks

                Code:

                ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab

                And:

                this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{
                Lists Unordered

                Asterisks tight:

                asterisk 1

                asterisk 2

                asterisk 3

                Asterisks loose:

                asterisk 1

                asterisk 2

                asterisk 3

                Pluses tight:

                Plus 1

                Plus 2

                Plus 3

                Pluses loose:

                Plus 1

                Plus 2

                Plus 3

                Minuses tight:

                Minus 1

                Minus 2

                Minus 3

                Minuses loose:

                Minus 1

                Minus 2

                Minus 3

                Ordered

                Tight:

                First

                Second

                Third

                and:

                One

                Two

                Three

                Loose using tabs:

                First

                Second

                Third

                and using spaces:

                One

                Two

                Three

                Multiple paragraphs:

                Item 1, graf one.

                Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                Item 2.

                Item 3.

                Nested

                Tab

                Tab

                Tab

                Here’s another:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Same thing but with paragraphs:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Tabs and spaces

                this is a list item indented with tabs

                this is a list item indented with spaces

                this is an example list item indented with tabs

                this is an example list item indented with spaces

                Fancy list markers

                begins with 2

                and now 3

                with a continuation

                sublist with roman numerals, starting with 4

                more items

                a subsublist

                a subsublist

                Nesting:

                Upper Alpha

                Upper Roman.

                Decimal start with 6

                Lower alpha with paren

                Autonumbering:

                Autonumber.

                More.

                Nested.

                Should not be a list item:

                M.A. 2007

                B. Williams

                Definition Lists

                Tight using spaces:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Tight using tabs:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Loose:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Multiple blocks with italics:

                apple

                red fruit

                contains seeds, crisp, pleasant to taste

                orange

                orange fruit

                { orange code block }

                orange block quote

                Multiple definitions, tight:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Multiple definitions, loose:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Blank line after term, indented marker, alternate markers:

                apple

                red fruit

                computer

                orange

                orange fruit

                sublist

                sublist

                HTML Blocks

                Simple block on one line:

                foo

                And nested without indentation:

                foo

                bar

                Interpreted markdown in a table:

                This is emphasized

                And this is strong

                Here’s a simple block:

                foo

                This should be a code block, though:

                <div> foo </div>

                As should this:

                <div>foo</div>

                Now, nested:

                foo

                This should just be an HTML comment:

                Multiline:

                Code block:

                <!-- Comment -->

                Just plain comment, with trailing spaces on the line:

                Code:

                <hr />

                Hr’s:

                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is strikeout.

                Superscripts: abcd ahello ahello there.

                Subscripts: H2O, H23O, Hmany of themO.

                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.

                Smart quotes, ellipses, dashes

                “Hello,” said the spider. “‘Shelob’ is my name.”

                ‘A’, ‘B’, and ‘C’ are letters.

                ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’

                ‘He said, “I want to go.”’ Were you alive in the 70’s?

                Here is some quoted ‘code’ and a “quoted link”.

                Some dashes: one—two — three—four — five.

                Dashes between numbers: 5–7, 255–66, 1987–1999.

                Ellipses…and…and….

                LaTeX

                2+2=4

                xy

                αω

                223

                p-Tree

                Here’s some display math: ddxf(x)=limh0f(x+h)f(x)h

                Here’s one that has a line break in it: α+ω×x2.

                These shouldn’t be math:

                To get the famous equation, write $e = mc^2$.

                $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.)

                Shoes ($20) and socks ($5).

                Escaped $: $73 this should be emphasized 23$.

                Here’s a LaTeX table:

                Special Characters

                Here is some unicode:

                I hat: Î

                o umlaut: ö

                section: §

                set membership: ∈

                copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -

                Links Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                with_underscore

                Email link

                Empty.

                Reference

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not][] be a link.

                [not]: /url

                Foo bar.

                Foo biz.

                With ampersands

                Here’s a link with an ampersand in the URL.

                Here’s a link with an amersand in the link text: AT&T.

                Here’s an inline link.

                Here’s an inline link in pointy braces.

                Autolinks

                With an ampersand: http://example.com/?foo=1&bar=2

                In a list?

                http://example.com/

                It should.

                An e-mail address: nobody@nowhere.net

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>
                Images

                From “Voyage dans la Lune” by Georges Melies (1902):

                lalune

                Here is a movie icon.

                Footnotes

                Here is a footnote reference,1 and another.2 This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.3

                Notes can go in quotes.4

                And in list items.5

                This paragraph should not be part of the note, as it is not indented.

                Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.

                Here’s the long note. This one contains multiple blocks.

                Subsequent blocks are indented to show that they belong to the footnote (as with list items).

                { <code> }

                If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.

                This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].

                In quote.

                In list.

                pandoc-2.9.2.1/test/writer.jats_articleauthoring000066400000000000000000000622701363630463000217440ustar00rootroot00000000000000
                Pandoc Test Suite John MacFarlane Anonymous

                This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.

                Headers Level 2 with an <ext-link ext-link-type="uri" xlink:href="/url">embedded link</ext-link> Level 3 with <italic>emphasis</italic> Level 4 Level 5 Level 1 Level 2 with <italic>emphasis</italic> Level 3

                with no blank line

                Level 2

                with no blank line

                Paragraphs

                Here’s a regular paragraph.

                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.

                Here’s one with a bullet. * criminey.

                There should be a hard line break here.

                Block Quotes

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status { print "working"; }

                A list:

                item one

                item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                And a following paragraph.

                Code Blocks

                Code:

                ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab

                And:

                this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{
                Lists Unordered

                Asterisks tight:

                asterisk 1

                asterisk 2

                asterisk 3

                Asterisks loose:

                asterisk 1

                asterisk 2

                asterisk 3

                Pluses tight:

                Plus 1

                Plus 2

                Plus 3

                Pluses loose:

                Plus 1

                Plus 2

                Plus 3

                Minuses tight:

                Minus 1

                Minus 2

                Minus 3

                Minuses loose:

                Minus 1

                Minus 2

                Minus 3

                Ordered

                Tight:

                First

                Second

                Third

                and:

                One

                Two

                Three

                Loose using tabs:

                First

                Second

                Third

                and using spaces:

                One

                Two

                Three

                Multiple paragraphs:

                Item 1, graf one.

                Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                Item 2.

                Item 3.

                Nested

                Tab

                Tab

                Tab

                Here’s another:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Same thing but with paragraphs:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Tabs and spaces

                this is a list item indented with tabs

                this is a list item indented with spaces

                this is an example list item indented with tabs

                this is an example list item indented with spaces

                Fancy list markers

                begins with 2

                and now 3

                with a continuation

                sublist with roman numerals, starting with 4

                more items

                a subsublist

                a subsublist

                Nesting:

                Upper Alpha

                Upper Roman.

                Decimal start with 6

                Lower alpha with paren

                Autonumbering:

                Autonumber.

                More.

                Nested.

                Should not be a list item:

                M.A. 2007

                B. Williams

                Definition Lists

                Tight using spaces:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Tight using tabs:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Loose:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Multiple blocks with italics:

                apple

                red fruit

                contains seeds, crisp, pleasant to taste

                orange

                orange fruit

                { orange code block }

                orange block quote

                Multiple definitions, tight:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Multiple definitions, loose:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Blank line after term, indented marker, alternate markers:

                apple

                red fruit

                computer

                orange

                orange fruit

                sublist

                sublist

                HTML Blocks

                Simple block on one line:

                foo

                And nested without indentation:

                foo

                bar

                Interpreted markdown in a table:

                This is emphasized

                And this is strong

                Here’s a simple block:

                foo

                This should be a code block, though:

                <div> foo </div>

                As should this:

                <div>foo</div>

                Now, nested:

                foo

                This should just be an HTML comment:

                Multiline:

                Code block:

                <!-- Comment -->

                Just plain comment, with trailing spaces on the line:

                Code:

                <hr />

                Hr’s:

                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is strikeout.

                Superscripts: abcd ahello ahello there.

                Subscripts: H2O, H23O, Hmany of themO.

                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.

                Smart quotes, ellipses, dashes

                “Hello,” said the spider. “‘Shelob’ is my name.”

                ‘A’, ‘B’, and ‘C’ are letters.

                ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’

                ‘He said, “I want to go.”’ Were you alive in the 70’s?

                Here is some quoted ‘code’ and a “quoted link”.

                Some dashes: one—two — three—four — five.

                Dashes between numbers: 5–7, 255–66, 1987–1999.

                Ellipses…and…and….

                LaTeX

                2+2=4

                xy

                αω

                223

                p-Tree

                Here’s some display math: ddxf(x)=limh0f(x+h)f(x)h

                Here’s one that has a line break in it: α+ω×x2.

                These shouldn’t be math:

                To get the famous equation, write $e = mc^2$.

                $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.)

                Shoes ($20) and socks ($5).

                Escaped $: $73 this should be emphasized 23$.

                Here’s a LaTeX table:

                Special Characters

                Here is some unicode:

                I hat: Î

                o umlaut: ö

                section: §

                set membership: ∈

                copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -

                Links Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                with_underscore

                Email link

                Empty.

                Reference

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not][] be a link.

                [not]: /url

                Foo bar.

                Foo biz.

                With ampersands

                Here’s a link with an ampersand in the URL.

                Here’s a link with an amersand in the link text: AT&T.

                Here’s an inline link.

                Here’s an inline link in pointy braces.

                Autolinks

                With an ampersand: http://example.com/?foo=1&bar=2

                In a list?

                http://example.com/

                It should.

                An e-mail address: nobody@nowhere.net

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>
                Images

                From “Voyage dans la Lune” by Georges Melies (1902):

                lalune

                Here is a movie icon.

                Footnotes

                Here is a footnote reference,

                Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.

                and another.

                Here’s the long note. This one contains multiple blocks.

                Subsequent blocks are indented to show that they belong to the footnote (as with list items).

                { <code> }

                If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.

                This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.

                This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].

                Notes can go in quotes.

                In quote.

                And in list items.

                In list.

                This paragraph should not be part of the note, as it is not indented.

                pandoc-2.9.2.1/test/writer.jats_publishing000066400000000000000000000641771363630463000205540ustar00rootroot00000000000000
                Pandoc Test Suite John MacFarlane Anonymous 17 7 2006

                This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.

                Headers Level 2 with an <ext-link ext-link-type="uri" xlink:href="/url">embedded link</ext-link> Level 3 with <italic>emphasis</italic> Level 4 Level 5 Level 1 Level 2 with <italic>emphasis</italic> Level 3

                with no blank line

                Level 2

                with no blank line

                Paragraphs

                Here’s a regular paragraph.

                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.

                Here’s one with a bullet. * criminey.

                There should be a hard line break here.

                Block Quotes

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status { print "working"; }

                A list:

                item one

                item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                And a following paragraph.

                Code Blocks

                Code:

                ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab

                And:

                this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{
                Lists Unordered

                Asterisks tight:

                asterisk 1

                asterisk 2

                asterisk 3

                Asterisks loose:

                asterisk 1

                asterisk 2

                asterisk 3

                Pluses tight:

                Plus 1

                Plus 2

                Plus 3

                Pluses loose:

                Plus 1

                Plus 2

                Plus 3

                Minuses tight:

                Minus 1

                Minus 2

                Minus 3

                Minuses loose:

                Minus 1

                Minus 2

                Minus 3

                Ordered

                Tight:

                First

                Second

                Third

                and:

                One

                Two

                Three

                Loose using tabs:

                First

                Second

                Third

                and using spaces:

                One

                Two

                Three

                Multiple paragraphs:

                Item 1, graf one.

                Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                Item 2.

                Item 3.

                Nested

                Tab

                Tab

                Tab

                Here’s another:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Same thing but with paragraphs:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Tabs and spaces

                this is a list item indented with tabs

                this is a list item indented with spaces

                this is an example list item indented with tabs

                this is an example list item indented with spaces

                Fancy list markers

                begins with 2

                and now 3

                with a continuation

                sublist with roman numerals, starting with 4

                more items

                a subsublist

                a subsublist

                Nesting:

                Upper Alpha

                Upper Roman.

                Decimal start with 6

                Lower alpha with paren

                Autonumbering:

                Autonumber.

                More.

                Nested.

                Should not be a list item:

                M.A. 2007

                B. Williams

                Definition Lists

                Tight using spaces:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Tight using tabs:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Loose:

                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Multiple blocks with italics:

                apple

                red fruit

                contains seeds, crisp, pleasant to taste

                orange

                orange fruit

                { orange code block }

                orange block quote

                Multiple definitions, tight:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Multiple definitions, loose:

                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Blank line after term, indented marker, alternate markers:

                apple

                red fruit

                computer

                orange

                orange fruit

                sublist

                sublist

                HTML Blocks

                Simple block on one line:

                foo

                And nested without indentation:

                foo

                bar

                Interpreted markdown in a table:

                This is emphasized

                And this is strong

                Here’s a simple block:

                foo

                This should be a code block, though:

                <div> foo </div>

                As should this:

                <div>foo</div>

                Now, nested:

                foo

                This should just be an HTML comment:

                Multiline:

                Code block:

                <!-- Comment -->

                Just plain comment, with trailing spaces on the line:

                Code:

                <hr />

                Hr’s:

                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is strikeout.

                Superscripts: abcd ahello ahello there.

                Subscripts: H2O, H23O, Hmany of themO.

                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.

                Smart quotes, ellipses, dashes

                “Hello,” said the spider. “‘Shelob’ is my name.”

                ‘A’, ‘B’, and ‘C’ are letters.

                ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’

                ‘He said, “I want to go.”’ Were you alive in the 70’s?

                Here is some quoted ‘code’ and a “quoted link”.

                Some dashes: one—two — three—four — five.

                Dashes between numbers: 5–7, 255–66, 1987–1999.

                Ellipses…and…and….

                LaTeX

                2+2=4

                xy

                αω

                223

                p-Tree

                Here’s some display math: ddxf(x)=limh0f(x+h)f(x)h

                Here’s one that has a line break in it: α+ω×x2.

                These shouldn’t be math:

                To get the famous equation, write $e = mc^2$.

                $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.)

                Shoes ($20) and socks ($5).

                Escaped $: $73 this should be emphasized 23$.

                Here’s a LaTeX table:

                Special Characters

                Here is some unicode:

                I hat: Î

                o umlaut: ö

                section: §

                set membership: ∈

                copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -

                Links Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                with_underscore

                Email link

                Empty.

                Reference

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not][] be a link.

                [not]: /url

                Foo bar.

                Foo biz.

                With ampersands

                Here’s a link with an ampersand in the URL.

                Here’s a link with an amersand in the link text: AT&T.

                Here’s an inline link.

                Here’s an inline link in pointy braces.

                Autolinks

                With an ampersand: http://example.com/?foo=1&bar=2

                In a list?

                http://example.com/

                It should.

                An e-mail address: nobody@nowhere.net

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>
                Images

                From “Voyage dans la Lune” by Georges Melies (1902):

                lalune

                Here is a movie icon.

                Footnotes

                Here is a footnote reference,1 and another.2 This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.3

                Notes can go in quotes.4

                And in list items.5

                This paragraph should not be part of the note, as it is not indented.

                Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.

                Here’s the long note. This one contains multiple blocks.

                Subsequent blocks are indented to show that they belong to the footnote (as with list items).

                { <code> }

                If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.

                This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].

                In quote.

                In list.

                pandoc-2.9.2.1/test/writer.jira000066400000000000000000000212201363630463000162720ustar00rootroot00000000000000This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ---- h1. {anchor:headers}Headers h2. {anchor:level-2-with-an-embedded-link}Level 2 with an [embedded link|/url] h3. {anchor:level-3-with-emphasis}Level 3 with _emphasis_ h4. {anchor:level-4}Level 4 h5. {anchor:level-5}Level 5 h1. {anchor:level-1}Level 1 h2. {anchor:level-2-with-emphasis}Level 2 with _emphasis_ h3. {anchor:level-3}Level 3 with no blank line h2. {anchor:level-2}Level 2 with no blank line ---- h1. {anchor:paragraphs}Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break here. ---- h1. {anchor:block-quotes}Block Quotes E-mail style: bq. This is a block quote. It is pretty short. {quote} Code in a block quote: {code:java} sub status { print "working"; } {code} A list: # item one # item two Nested block quotes: bq. nested bq. nested {quote} This should not be a block quote: 2 > 1. And a following paragraph. ---- h1. {anchor:code-blocks}Code Blocks Code: {code:java} ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab {code} And: {code:java} this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ {code} ---- h1. {anchor:lists}Lists h2. {anchor:unordered}Unordered Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: * Plus 1 * Plus 2 * Plus 3 Pluses loose: * Plus 1 * Plus 2 * Plus 3 Minuses tight: * Minus 1 * Minus 2 * Minus 3 Minuses loose: * Minus 1 * Minus 2 * Minus 3 h2. {anchor:ordered}Ordered Tight: # First # Second # Third and: # One # Two # Three Loose using tabs: # First # Second # Third and using spaces: # One # Two # Three Multiple paragraphs: # Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. # Item 2. # Item 3. h2. {anchor:nested}Nested * Tab ** Tab *** Tab Here’s another: # First # Second: #* Fee #* Fie #* Foe # Third Same thing but with paragraphs: # First # Second: #* Fee #* Fie #* Foe # Third h2. {anchor:tabs-and-spaces}Tabs and spaces * this is a list item indented with tabs * this is a list item indented with spaces ** this is an example list item indented with tabs ** this is an example list item indented with spaces h2. {anchor:fancy-list-markers}Fancy list markers # begins with 2 # and now 3 with a continuation ## sublist with roman numerals, starting with 4 ## more items ### a subsublist ### a subsublist Nesting: # Upper Alpha ## Upper Roman. ### Decimal start with 6 #### Lower alpha with paren Autonumbering: # Autonumber. # More. ## Nested. Should not be a list item: M.A. 2007 B. Williams ---- h1. {anchor:definition-lists}Definition Lists Tight using spaces: * *apple* red fruit * *orange* orange fruit * *banana* yellow fruit Tight using tabs: * *apple* red fruit * *orange* orange fruit * *banana* yellow fruit Loose: * *apple* red fruit * *orange* orange fruit * *banana* yellow fruit Multiple blocks with italics: * *_apple_* red fruit contains seeds, crisp, pleasant to taste * *_orange_* orange fruit {code:java} { orange code block } {code} bq. orange block quote Multiple definitions, tight: * *apple* red fruit computer * *orange* orange fruit bank Multiple definitions, loose: * *apple* red fruit computer * *orange* orange fruit bank Blank line after term, indented marker, alternate markers: * *apple* red fruit computer * *orange* orange fruit *# sublist *# sublist h1. {anchor:html-blocks}HTML Blocks Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is _emphasized_ And this is *strong* Here’s a simple block: foo This should be a code block, though: {code:java}
                foo
                {code} As should this: {code:java}
                foo
                {code} Now, nested: foo This should just be an HTML comment: Multiline: Code block: {code:java} {code} Just plain comment, with trailing spaces on the line: Code: {code:java}
                {code} Hr’s: ---- h1. {anchor:inline-markup}Inline Markup This is _emphasized_, and so _is this_. This is *strong*, and so *is this*. An _[emphasized link|/url]_. *_This is strong and em._* So is *_this_* word. *_This is strong and em._* So is *_this_* word. This is code: {{>}}, {{$}}, {{\}}, {{\$}}, {{}}. -This is _strikeout_.- Superscripts: a{^}bc{^}d a{^}_hello_{^} a{^}hello there{^}. Subscripts: H{~}2{~}O, H{~}23{~}O, H{~}many of them{~}O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ---- h1. {anchor:smart-quotes-ellipses-dashes}Smart quotes, ellipses, dashes "Hello," said the spider. "'Shelob' is my name." 'A', 'B', and 'C' are letters. 'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.' 'He said, "I want to go."' Were you alive in the 70’s? Here is some quoted '{{code}}' and a "[quoted link|http://example.com/?foo=1&bar=2]". Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ---- h1. {anchor:latex}LaTeX * * 2 + 2 = 4 * _x_ ∈ {_}y{_} * _α_ ∧ {_}ω{_} * 223 * _p_\-Tree * Here’s some display math: $$\frac{d\}\{dx}f\(x)=\lim\_\{h\to 0\}\frac{f(x+h)-f\(x)\}\{h}$$ * Here’s one that has a line break in it: _α_ + {_}ω{_} × {_}x{_}^2^. These shouldn’t be math: * To get the famous equation, write {{$e = mc^2$}}. * $22,000 is a _lot_ of money. So is $34,000. \(It worked if "lot" is emphasized.) * Shoes \($20) and socks \($5). * Escaped {{$}}: $73 _this should be emphasized_ 23$. Here’s a LaTeX table: ---- h1. {anchor:special-characters}Special Characters Here is some unicode: * I hat: Î * o umlaut: ö * section: § * set membership: ∈ * copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: \* Underscore: \_ Left brace: \{ Right brace: \} Left bracket: \[ Right bracket: \] Left paren: \( Right paren: ) Greater-than: > Hash: # Period: . Bang: \! Plus: \+ Minus: \- ---- h1. {anchor:links}Links h2. {anchor:explicit}Explicit Just a [URL|/url/]. [URL and title|/url/]. [URL and title|/url/]. [URL and title|/url/]. [URL and title|/url/] [URL and title|/url/] [with_underscore|/url/with_underscore] [Email link|mailto:nobody@nowhere.net] [Empty|]. h2. {anchor:reference}Reference Foo [bar|/url/]. With [embedded \[brackets\]|/url/]. [b|/url/] by itself should be a link. Indented [once|/url]. Indented [twice|/url]. Indented [thrice|/url]. This should \[not\]\[\] be a link. {code:java} [not]: /url {code} Foo [bar|/url/]. Foo [biz|/url/]. h2. {anchor:with-ampersands}With ampersands Here’s a [link with an ampersand in the URL|http://example.com/?foo=1&bar=2]. Here’s a link with an amersand in the link text: [AT&T|http://att.com/]. Here’s an [inline link|/script?foo=1&bar=2]. Here’s an [inline link in pointy braces|/script?foo=1&bar=2]. h2. {anchor:autolinks}Autolinks With an ampersand: [http://example.com/?foo=1&bar=2|http://example.com/?foo=1&bar=2] * In a list? * [http://example.com/|http://example.com/] * It should. An e-mail address: [nobody@nowhere.net|mailto:nobody@nowhere.net] bq. Blockquoted: [http://example.com/|http://example.com/] Auto-links should not occur here: {{}} {code:java} or here: {code} ---- h1. {anchor:images}Images From "Voyage dans la Lune" by Georges Melies \(1902): !lalune.jpg! Here is a movie !movie.jpg! icon. ---- h1. {anchor:footnotes}Footnotes Here is a footnote reference,[1] and another.[2] This should _not_ be a footnote reference, because it contains a space.\[\^my note\] Here is an inline note.[3] bq. Notes can go in quotes.[4] # And in list items.[5] This paragraph should not be part of the note, as it is not indented. \[1] Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. \[2] Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote \(as with list items). {code:java} { } {code} If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. \[3] This is _easier_ to type. Inline notes may contain [links|http://google.com] and {{\]}} verbatim characters, as well as \[bracketed text]. \[4] In quote. \[5] In list. pandoc-2.9.2.1/test/writer.latex000066400000000000000000000424131363630463000164710ustar00rootroot00000000000000% Options for packages loaded elsewhere \PassOptionsToPackage{unicode}{hyperref} \PassOptionsToPackage{hyphens}{url} % \documentclass[ ]{article} \usepackage{lmodern} \usepackage{amssymb,amsmath} \usepackage{ifxetex,ifluatex} \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provide euro and other symbols \else % if luatex or xetex \usepackage{unicode-math} \defaultfontfeatures{Scale=MatchLowercase} \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} \fi % Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} \IfFileExists{microtype.sty}{% use microtype if available \usepackage[]{microtype} \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} \makeatletter \@ifundefined{KOMAClassName}{% if non-KOMA class \IfFileExists{parskip.sty}{% \usepackage{parskip} }{% else \setlength{\parindent}{0pt} \setlength{\parskip}{6pt plus 2pt minus 1pt}} }{% if KOMA class \KOMAoptions{parskip=half}} \makeatother \usepackage{fancyvrb} \usepackage{xcolor} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ pdftitle={Pandoc Test Suite}, pdfauthor={John MacFarlane; Anonymous}, hidelinks, pdfcreator={LaTeX via pandoc}} \urlstyle{same} % disable monospaced font for URLs \VerbatimFootnotes % allow verbatim text in footnotes \usepackage{graphicx} \makeatletter \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} \makeatother % Scale images if necessary, so that they will not overflow the page % margins by default, and it is still possible to overwrite the defaults % using explicit options in \includegraphics[width, height, ...]{} \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} % Set default figure placement to htbp \makeatletter \def\fps@figure{htbp} \makeatother \usepackage[normalem]{ulem} % Avoid problems with \sout in headers with hyperref \pdfstringdefDisableCommands{\renewcommand{\sout}{}} \setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \setcounter{secnumdepth}{-\maxdimen} % remove section numbering \title{Pandoc Test Suite} \author{John MacFarlane \and Anonymous} \date{July 17, 2006} \begin{document} \maketitle This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{headers}{% \section{Headers}\label{headers}} \hypertarget{level-2-with-an-embedded-link}{% \subsection{\texorpdfstring{Level 2 with an \href{/url}{embedded link}}{Level 2 with an embedded link}}\label{level-2-with-an-embedded-link}} \hypertarget{level-3-with-emphasis}{% \subsubsection{\texorpdfstring{Level 3 with \emph{emphasis}}{Level 3 with emphasis}}\label{level-3-with-emphasis}} \hypertarget{level-4}{% \paragraph{Level 4}\label{level-4}} \hypertarget{level-5}{% \subparagraph{Level 5}\label{level-5}} \hypertarget{level-1}{% \section{Level 1}\label{level-1}} \hypertarget{level-2-with-emphasis}{% \subsection{\texorpdfstring{Level 2 with \emph{emphasis}}{Level 2 with emphasis}}\label{level-2-with-emphasis}} \hypertarget{level-3}{% \subsubsection{Level 3}\label{level-3}} with no blank line \hypertarget{level-2}{% \subsection{Level 2}\label{level-2}} with no blank line \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{paragraphs}{% \section{Paragraphs}\label{paragraphs}} Here's a regular paragraph. 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. Here's one with a bullet. * criminey. There should be a hard line break\\ here. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{block-quotes}{% \section{Block Quotes}\label{block-quotes}} E-mail style: \begin{quote} This is a block quote. It is pretty short. \end{quote} \begin{quote} Code in a block quote: \begin{verbatim} sub status { print "working"; } \end{verbatim} A list: \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item item one \item item two \end{enumerate} Nested block quotes: \begin{quote} nested \end{quote} \begin{quote} nested \end{quote} \end{quote} This should not be a block quote: 2 \textgreater{} 1. And a following paragraph. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{code-blocks}{% \section{Code Blocks}\label{code-blocks}} Code: \begin{verbatim} ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab \end{verbatim} And: \begin{verbatim} this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ \end{verbatim} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{lists}{% \section{Lists}\label{lists}} \hypertarget{unordered}{% \subsection{Unordered}\label{unordered}} Asterisks tight: \begin{itemize} \tightlist \item asterisk 1 \item asterisk 2 \item asterisk 3 \end{itemize} Asterisks loose: \begin{itemize} \item asterisk 1 \item asterisk 2 \item asterisk 3 \end{itemize} Pluses tight: \begin{itemize} \tightlist \item Plus 1 \item Plus 2 \item Plus 3 \end{itemize} Pluses loose: \begin{itemize} \item Plus 1 \item Plus 2 \item Plus 3 \end{itemize} Minuses tight: \begin{itemize} \tightlist \item Minus 1 \item Minus 2 \item Minus 3 \end{itemize} Minuses loose: \begin{itemize} \item Minus 1 \item Minus 2 \item Minus 3 \end{itemize} \hypertarget{ordered}{% \subsection{Ordered}\label{ordered}} Tight: \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item First \item Second \item Third \end{enumerate} and: \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item One \item Two \item Three \end{enumerate} Loose using tabs: \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \item First \item Second \item Third \end{enumerate} and using spaces: \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \item One \item Two \item Three \end{enumerate} Multiple paragraphs: \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \item Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog's back. \item Item 2. \item Item 3. \end{enumerate} \hypertarget{nested}{% \subsection{Nested}\label{nested}} \begin{itemize} \tightlist \item Tab \begin{itemize} \tightlist \item Tab \begin{itemize} \tightlist \item Tab \end{itemize} \end{itemize} \end{itemize} Here's another: \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item First \item Second: \begin{itemize} \tightlist \item Fee \item Fie \item Foe \end{itemize} \item Third \end{enumerate} Same thing but with paragraphs: \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \item First \item Second: \begin{itemize} \tightlist \item Fee \item Fie \item Foe \end{itemize} \item Third \end{enumerate} \hypertarget{tabs-and-spaces}{% \subsection{Tabs and spaces}\label{tabs-and-spaces}} \begin{itemize} \item this is a list item indented with tabs \item this is a list item indented with spaces \begin{itemize} \item this is an example list item indented with tabs \item this is an example list item indented with spaces \end{itemize} \end{itemize} \hypertarget{fancy-list-markers}{% \subsection{Fancy list markers}\label{fancy-list-markers}} \begin{enumerate} \def\labelenumi{(\arabic{enumi})} \setcounter{enumi}{1} \item begins with 2 \item and now 3 with a continuation \begin{enumerate} \def\labelenumii{\roman{enumii}.} \setcounter{enumii}{3} \tightlist \item sublist with roman numerals, starting with 4 \item more items \begin{enumerate} \def\labelenumiii{(\Alph{enumiii})} \tightlist \item a subsublist \item a subsublist \end{enumerate} \end{enumerate} \end{enumerate} Nesting: \begin{enumerate} \def\labelenumi{\Alph{enumi}.} \tightlist \item Upper Alpha \begin{enumerate} \def\labelenumii{\Roman{enumii}.} \tightlist \item Upper Roman. \begin{enumerate} \def\labelenumiii{(\arabic{enumiii})} \setcounter{enumiii}{5} \tightlist \item Decimal start with 6 \begin{enumerate} \def\labelenumiv{\alph{enumiv})} \setcounter{enumiv}{2} \tightlist \item Lower alpha with paren \end{enumerate} \end{enumerate} \end{enumerate} \end{enumerate} Autonumbering: \begin{enumerate} \tightlist \item Autonumber. \item More. \begin{enumerate} \tightlist \item Nested. \end{enumerate} \end{enumerate} Should not be a list item: M.A.~2007 B. Williams \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{definition-lists}{% \section{Definition Lists}\label{definition-lists}} Tight using spaces: \begin{description} \tightlist \item[apple] red fruit \item[orange] orange fruit \item[banana] yellow fruit \end{description} Tight using tabs: \begin{description} \tightlist \item[apple] red fruit \item[orange] orange fruit \item[banana] yellow fruit \end{description} Loose: \begin{description} \item[apple] red fruit \item[orange] orange fruit \item[banana] yellow fruit \end{description} Multiple blocks with italics: \begin{description} \item[\emph{apple}] red fruit contains seeds, crisp, pleasant to taste \item[\emph{orange}] orange fruit \begin{verbatim} { orange code block } \end{verbatim} \begin{quote} orange block quote \end{quote} \end{description} Multiple definitions, tight: \begin{description} \tightlist \item[apple] red fruit computer \item[orange] orange fruit bank \end{description} Multiple definitions, loose: \begin{description} \item[apple] red fruit computer \item[orange] orange fruit bank \end{description} Blank line after term, indented marker, alternate markers: \begin{description} \item[apple] red fruit computer \item[orange] orange fruit \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item sublist \item sublist \end{enumerate} \end{description} \hypertarget{html-blocks}{% \section{HTML Blocks}\label{html-blocks}} Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is \emph{emphasized} And this is \textbf{strong} Here's a simple block: foo This should be a code block, though: \begin{verbatim}
                foo
                \end{verbatim} As should this: \begin{verbatim}
                foo
                \end{verbatim} Now, nested: foo This should just be an HTML comment: Multiline: Code block: \begin{verbatim} \end{verbatim} Just plain comment, with trailing spaces on the line: Code: \begin{verbatim}
                \end{verbatim} Hr's: \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{inline-markup}{% \section{Inline Markup}\label{inline-markup}} This is \emph{emphasized}, and so \emph{is this}. This is \textbf{strong}, and so \textbf{is this}. An \emph{\href{/url}{emphasized link}}. \textbf{\emph{This is strong and em.}} So is \textbf{\emph{this}} word. \textbf{\emph{This is strong and em.}} So is \textbf{\emph{this}} word. This is code: \texttt{\textgreater{}}, \texttt{\$}, \texttt{\textbackslash{}}, \texttt{\textbackslash{}\$}, \texttt{\textless{}html\textgreater{}}. \sout{This is \emph{strikeout}.} Superscripts: a\textsuperscript{bc}d a\textsuperscript{\emph{hello}} a\textsuperscript{hello~there}. Subscripts: H\textsubscript{2}O, H\textsubscript{23}O, H\textsubscript{many~of~them}O. These should not be superscripts or subscripts, because of the unescaped spaces: a\^{}b c\^{}d, a\textasciitilde b c\textasciitilde d. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{smart-quotes-ellipses-dashes}{% \section{Smart quotes, ellipses, dashes}\label{smart-quotes-ellipses-dashes}} ``Hello,'' said the spider. ``\,`Shelob' is my name.'' `A', `B', and `C' are letters. `Oak,' `elm,' and `beech' are names of trees. So is `pine.' `He said, ``I want to go.''\,' Were you alive in the 70's? Here is some quoted `\texttt{code}' and a ``\href{http://example.com/?foo=1\&bar=2}{quoted link}''. Some dashes: one---two --- three---four --- five. Dashes between numbers: 5--7, 255--66, 1987--1999. Ellipses\ldots and\ldots and\ldots. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{latex}{% \section{LaTeX}\label{latex}} \begin{itemize} \tightlist \item \cite[22-23]{smith.1899} \item \(2+2=4\) \item \(x \in y\) \item \(\alpha \wedge \omega\) \item \(223\) \item \(p\)-Tree \item Here's some display math: \[\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}\] \item Here's one that has a line break in it: \(\alpha + \omega \times x^2\). \end{itemize} These shouldn't be math: \begin{itemize} \tightlist \item To get the famous equation, write \texttt{\$e\ =\ mc\^{}2\$}. \item \$22,000 is a \emph{lot} of money. So is \$34,000. (It worked if ``lot'' is emphasized.) \item Shoes (\$20) and socks (\$5). \item Escaped \texttt{\$}: \$73 \emph{this should be emphasized} 23\$. \end{itemize} Here's a LaTeX table: \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{special-characters}{% \section{Special Characters}\label{special-characters}} Here is some unicode: \begin{itemize} \tightlist \item I hat: Î \item o umlaut: ö \item section: § \item set membership: ∈ \item copyright: © \end{itemize} AT\&T has an ampersand in their name. AT\&T is another way to write it. This \& that. 4 \textless{} 5. 6 \textgreater{} 5. Backslash: \textbackslash{} Backtick: ` Asterisk: * Underscore: \_ Left brace: \{ Right brace: \} Left bracket: {[} Right bracket: {]} Left paren: ( Right paren: ) Greater-than: \textgreater{} Hash: \# Period: . Bang: ! Plus: + Minus: - \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{links}{% \section{Links}\label{links}} \hypertarget{explicit}{% \subsection{Explicit}\label{explicit}} Just a \href{/url/}{URL}. \href{/url/}{URL and title}. \href{/url/}{URL and title}. \href{/url/}{URL and title}. \href{/url/}{URL and title} \href{/url/}{URL and title} \href{/url/with_underscore}{with\_underscore} \href{mailto:nobody@nowhere.net}{Email link} \href{}{Empty}. \hypertarget{reference}{% \subsection{Reference}\label{reference}} Foo \href{/url/}{bar}. With \href{/url/}{embedded {[}brackets{]}}. \href{/url/}{b} by itself should be a link. Indented \href{/url}{once}. Indented \href{/url}{twice}. Indented \href{/url}{thrice}. This should {[}not{]}{[}{]} be a link. \begin{verbatim} [not]: /url \end{verbatim} Foo \href{/url/}{bar}. Foo \href{/url/}{biz}. \hypertarget{with-ampersands}{% \subsection{With ampersands}\label{with-ampersands}} Here's a \href{http://example.com/?foo=1\&bar=2}{link with an ampersand in the URL}. Here's a link with an amersand in the link text: \href{http://att.com/}{AT\&T}. Here's an \href{/script?foo=1\&bar=2}{inline link}. Here's an \href{/script?foo=1\&bar=2}{inline link in pointy braces}. \hypertarget{autolinks}{% \subsection{Autolinks}\label{autolinks}} With an ampersand: \url{http://example.com/?foo=1\&bar=2} \begin{itemize} \tightlist \item In a list? \item \url{http://example.com/} \item It should. \end{itemize} An e-mail address: \href{mailto:nobody@nowhere.net}{\nolinkurl{nobody@nowhere.net}} \begin{quote} Blockquoted: \url{http://example.com/} \end{quote} Auto-links should not occur here: \texttt{\textless{}http://example.com/\textgreater{}} \begin{verbatim} or here: \end{verbatim} \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{images}{% \section{Images}\label{images}} From ``Voyage dans la Lune'' by Georges Melies (1902): \begin{figure} \centering \includegraphics{lalune.jpg} \caption{lalune} \end{figure} Here is a movie \includegraphics{movie.jpg} icon. \begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} \hypertarget{footnotes}{% \section{Footnotes}\label{footnotes}} Here is a footnote reference,\footnote{Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.} and another.\footnote{Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). \begin{Verbatim} { } \end{Verbatim} If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.} This should \emph{not} be a footnote reference, because it contains a space.{[}\^{}my note{]} Here is an inline note.\footnote{This is \emph{easier} to type. Inline notes may contain \href{http://google.com}{links} and \texttt{{]}} verbatim characters, as well as {[}bracketed text{]}.} \begin{quote} Notes can go in quotes.\footnote{In quote.} \end{quote} \begin{enumerate} \def\labelenumi{\arabic{enumi}.} \tightlist \item And in list items.\footnote{In list.} \end{enumerate} This paragraph should not be part of the note, as it is not indented. \end{document} pandoc-2.9.2.1/test/writer.man000066400000000000000000000241151363630463000161260ustar00rootroot00000000000000.TH "Pandoc Test Suite" "" "July 17, 2006" "" "" .hy .PP This is a set of tests for pandoc. Most of them are adapted from John Gruber\[cq]s markdown test suite. .PP * * * * * .SH Headers .SS Level 2 with an embedded link .SS Level 3 with \f[I]emphasis\f[R] .SS Level 4 .SS Level 5 .SH Level 1 .SS Level 2 with \f[I]emphasis\f[R] .SS Level 3 .PP with no blank line .SS Level 2 .PP with no blank line .PP * * * * * .SH Paragraphs .PP Here\[cq]s a regular paragraph. .PP 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. .PP Here\[cq]s one with a bullet. * criminey. .PP There should be a hard line break .PD 0 .P .PD here. .PP * * * * * .SH Block Quotes .PP E-mail style: .RS .PP This is a block quote. It is pretty short. .RE .RS .PP Code in a block quote: .IP .nf \f[C] sub status { print \[dq]working\[dq]; } \f[R] .fi .PP A list: .IP "1." 3 item one .IP "2." 3 item two .PP Nested block quotes: .RS .PP nested .RE .RS .PP nested .RE .RE .PP This should not be a block quote: 2 > 1. .PP And a following paragraph. .PP * * * * * .SH Code Blocks .PP Code: .IP .nf \f[C] ---- (should be four hyphens) sub status { print \[dq]working\[dq]; } this code block is indented by one tab \f[R] .fi .PP And: .IP .nf \f[C] this code block is indented by two tabs These should not be escaped: \[rs]$ \[rs]\[rs] \[rs]> \[rs][ \[rs]{ \f[R] .fi .PP * * * * * .SH Lists .SS Unordered .PP Asterisks tight: .IP \[bu] 2 asterisk 1 .IP \[bu] 2 asterisk 2 .IP \[bu] 2 asterisk 3 .PP Asterisks loose: .IP \[bu] 2 asterisk 1 .IP \[bu] 2 asterisk 2 .IP \[bu] 2 asterisk 3 .PP Pluses tight: .IP \[bu] 2 Plus 1 .IP \[bu] 2 Plus 2 .IP \[bu] 2 Plus 3 .PP Pluses loose: .IP \[bu] 2 Plus 1 .IP \[bu] 2 Plus 2 .IP \[bu] 2 Plus 3 .PP Minuses tight: .IP \[bu] 2 Minus 1 .IP \[bu] 2 Minus 2 .IP \[bu] 2 Minus 3 .PP Minuses loose: .IP \[bu] 2 Minus 1 .IP \[bu] 2 Minus 2 .IP \[bu] 2 Minus 3 .SS Ordered .PP Tight: .IP "1." 3 First .IP "2." 3 Second .IP "3." 3 Third .PP and: .IP "1." 3 One .IP "2." 3 Two .IP "3." 3 Three .PP Loose using tabs: .IP "1." 3 First .IP "2." 3 Second .IP "3." 3 Third .PP and using spaces: .IP "1." 3 One .IP "2." 3 Two .IP "3." 3 Three .PP Multiple paragraphs: .IP "1." 3 Item 1, graf one. .RS 4 .PP Item 1. graf two. The quick brown fox jumped over the lazy dog\[cq]s back. .RE .IP "2." 3 Item 2. .IP "3." 3 Item 3. .SS Nested .IP \[bu] 2 Tab .RS 2 .IP \[bu] 2 Tab .RS 2 .IP \[bu] 2 Tab .RE .RE .PP Here\[cq]s another: .IP "1." 3 First .IP "2." 3 Second: .RS 4 .IP \[bu] 2 Fee .IP \[bu] 2 Fie .IP \[bu] 2 Foe .RE .IP "3." 3 Third .PP Same thing but with paragraphs: .IP "1." 3 First .IP "2." 3 Second: .RS 4 .IP \[bu] 2 Fee .IP \[bu] 2 Fie .IP \[bu] 2 Foe .RE .IP "3." 3 Third .SS Tabs and spaces .IP \[bu] 2 this is a list item indented with tabs .IP \[bu] 2 this is a list item indented with spaces .RS 2 .IP \[bu] 2 this is an example list item indented with tabs .IP \[bu] 2 this is an example list item indented with spaces .RE .SS Fancy list markers .IP "(2)" 4 begins with 2 .IP "(3)" 4 and now 3 .RS 4 .PP with a continuation .IP "iv." 4 sublist with roman numerals, starting with 4 .IP " v." 4 more items .RS 4 .IP "(A)" 4 a subsublist .IP "(B)" 4 a subsublist .RE .RE .PP Nesting: .IP "A." 3 Upper Alpha .RS 4 .IP "I." 3 Upper Roman. .RS 4 .IP "(6)" 4 Decimal start with 6 .RS 4 .IP "c)" 3 Lower alpha with paren .RE .RE .RE .PP Autonumbering: .IP "1." 3 Autonumber. .IP "2." 3 More. .RS 4 .IP "1." 3 Nested. .RE .PP Should not be a list item: .PP M.A.\ 2007 .PP B. Williams .PP * * * * * .SH Definition Lists .PP Tight using spaces: .TP apple red fruit .TP orange orange fruit .TP banana yellow fruit .PP Tight using tabs: .TP apple red fruit .TP orange orange fruit .TP banana yellow fruit .PP Loose: .TP apple red fruit .TP orange orange fruit .TP banana yellow fruit .PP Multiple blocks with italics: .TP \f[I]apple\f[R] red fruit .RS .PP contains seeds, crisp, pleasant to taste .RE .TP \f[I]orange\f[R] orange fruit .RS .IP .nf \f[C] { orange code block } \f[R] .fi .RS .PP orange block quote .RE .RE .PP Multiple definitions, tight: .TP apple red fruit computer .TP orange orange fruit bank .PP Multiple definitions, loose: .TP apple red fruit computer .TP orange orange fruit bank .PP Blank line after term, indented marker, alternate markers: .TP apple red fruit computer .TP orange orange fruit .RS .IP "1." 3 sublist .IP "2." 3 sublist .RE .SH HTML Blocks .PP Simple block on one line: foo .PP And nested without indentation: .PP foo bar .PP Interpreted markdown in a table: This is \f[I]emphasized\f[R] And this is \f[B]strong\f[R] .PP Here\[cq]s a simple block: .PP foo .PP This should be a code block, though: .IP .nf \f[C]
                foo
                \f[R] .fi .PP As should this: .IP .nf \f[C]
                foo
                \f[R] .fi .PP Now, nested: foo .PP This should just be an HTML comment: .PP Multiline: .PP Code block: .IP .nf \f[C] \f[R] .fi .PP Just plain comment, with trailing spaces on the line: .PP Code: .IP .nf \f[C]
                \f[R] .fi .PP Hr\[cq]s: .PP * * * * * .SH Inline Markup .PP This is \f[I]emphasized\f[R], and so \f[I]is this\f[R]. .PP This is \f[B]strong\f[R], and so \f[B]is this\f[R]. .PP An \f[I]emphasized link\f[R]. .PP \f[B]\f[BI]This is strong and em.\f[B]\f[R] .PP So is \f[B]\f[BI]this\f[B]\f[R] word. .PP \f[B]\f[BI]This is strong and em.\f[B]\f[R] .PP So is \f[B]\f[BI]this\f[B]\f[R] word. .PP This is code: \f[C]>\f[R], \f[C]$\f[R], \f[C]\[rs]\f[R], \f[C]\[rs]$\f[R], \f[C]\f[R]. .PP [STRIKEOUT:This is \f[I]strikeout\f[R].] .PP Superscripts: a^bc^d a^\f[I]hello\f[R]^ a^hello\ there^. .PP Subscripts: H~2~O, H~23~O, H~many\ of\ them~O. .PP These should not be superscripts or subscripts, because of the unescaped spaces: a\[ha]b c\[ha]d, a\[ti]b c\[ti]d. .PP * * * * * .SH Smart quotes, ellipses, dashes .PP \[lq]Hello,\[rq] said the spider. \[lq]`Shelob' is my name.\[rq] .PP `A', `B', and `C' are letters. .PP `Oak,' `elm,' and `beech' are names of trees. So is `pine.' .PP `He said, \[lq]I want to go.\[rq]' Were you alive in the 70\[cq]s? .PP Here is some quoted `\f[C]code\f[R]' and a \[lq]quoted link (http://example.com/?foo=1&bar=2)\[rq]. .PP Some dashes: one\[em]two \[em] three\[em]four \[em] five. .PP Dashes between numbers: 5\[en]7, 255\[en]66, 1987\[en]1999. .PP Ellipses\&...and\&...and\&.... .PP * * * * * .SH LaTeX .IP \[bu] 2 .IP \[bu] 2 2\[u2005]+\[u2005]2\[u2004]=\[u2004]4 .IP \[bu] 2 \f[I]x\f[R]\[u2004]\[mo]\[u2004]\f[I]y\f[R] .IP \[bu] 2 \f[I]\[*a]\f[R]\[u2005]\[AN]\[u2005]\f[I]\[*w]\f[R] .IP \[bu] 2 223 .IP \[bu] 2 \f[I]p\f[R]-Tree .IP \[bu] 2 Here\[cq]s some display math: .RS $$\[rs]frac{d}{dx}f(x)=\[rs]lim_{h\[rs]to 0}\[rs]frac{f(x+h)-f(x)}{h}$$ .RE .IP \[bu] 2 Here\[cq]s one that has a line break in it: \f[I]\[*a]\f[R]\[u2005]+\[u2005]\f[I]\[*w]\f[R]\[u2005]\[tmu]\[u2005]\f[I]x\f[R]^2^. .PP These shouldn\[cq]t be math: .IP \[bu] 2 To get the famous equation, write \f[C]$e = mc\[ha]2$\f[R]. .IP \[bu] 2 $22,000 is a \f[I]lot\f[R] of money. So is $34,000. (It worked if \[lq]lot\[rq] is emphasized.) .IP \[bu] 2 Shoes ($20) and socks ($5). .IP \[bu] 2 Escaped \f[C]$\f[R]: $73 \f[I]this should be emphasized\f[R] 23$. .PP Here\[cq]s a LaTeX table: .PP * * * * * .SH Special Characters .PP Here is some unicode: .IP \[bu] 2 I hat: \[^I] .IP \[bu] 2 o umlaut: \[:o] .IP \[bu] 2 section: \[sc] .IP \[bu] 2 set membership: \[mo] .IP \[bu] 2 copyright: \[co] .PP AT&T has an ampersand in their name. .PP AT&T is another way to write it. .PP This & that. .PP 4 < 5. .PP 6 > 5. .PP Backslash: \[rs] .PP Backtick: \[ga] .PP Asterisk: * .PP Underscore: _ .PP Left brace: { .PP Right brace: } .PP Left bracket: [ .PP Right bracket: ] .PP Left paren: ( .PP Right paren: ) .PP Greater-than: > .PP Hash: # .PP Period: . .PP Bang: ! .PP Plus: + .PP Minus: - .PP * * * * * .SH Links .SS Explicit .PP Just a URL. .PP URL and title. .PP URL and title. .PP URL and title. .PP URL and title .PP URL and title .PP with_underscore .PP Email link (mailto:nobody@nowhere.net) .PP Empty. .SS Reference .PP Foo bar. .PP With embedded [brackets]. .PP b by itself should be a link. .PP Indented once. .PP Indented twice. .PP Indented thrice. .PP This should [not][] be a link. .IP .nf \f[C] [not]: /url \f[R] .fi .PP Foo bar. .PP Foo biz. .SS With ampersands .PP Here\[cq]s a link with an ampersand in the URL (http://example.com/?foo=1&bar=2). .PP Here\[cq]s a link with an amersand in the link text: AT&T (http://att.com/). .PP Here\[cq]s an inline link. .PP Here\[cq]s an inline link in pointy braces. .SS Autolinks .PP With an ampersand: .IP \[bu] 2 In a list? .IP \[bu] 2 .IP \[bu] 2 It should. .PP An e-mail address: .RS .PP Blockquoted: .RE .PP Auto-links should not occur here: \f[C]\f[R] .IP .nf \f[C] or here: \f[R] .fi .PP * * * * * .SH Images .PP From \[lq]Voyage dans la Lune\[rq] by Georges Melies (1902): .PP [IMAGE: lalune] .PP Here is a movie [IMAGE: movie] icon. .PP * * * * * .SH Footnotes .PP Here is a footnote reference,[1] and another.[2] This should \f[I]not\f[R] be a footnote reference, because it contains a space.[\[ha]my note] Here is an inline note.[3] .RS .PP Notes can go in quotes.[4] .RE .IP "1." 3 And in list items.[5] .PP This paragraph should not be part of the note, as it is not indented. .SH NOTES .SS [1] .PP Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. .SS [2] .PP Here\[cq]s the long note. This one contains multiple blocks. .PP Subsequent blocks are indented to show that they belong to the footnote (as with list items). .IP .nf \f[C] { } \f[R] .fi .PP If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. .SS [3] .PP This is \f[I]easier\f[R] to type. Inline notes may contain links (http://google.com) and \f[C]]\f[R] verbatim characters, as well as [bracketed text]. .SS [4] .PP In quote. .SS [5] .PP In list. .SH AUTHORS John MacFarlane; Anonymous. pandoc-2.9.2.1/test/writer.markdown000066400000000000000000000251521363630463000171770ustar00rootroot00000000000000--- author: - John MacFarlane - Anonymous date: 'July 17, 2006' title: Pandoc Test Suite --- This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. ------------------------------------------------------------------------------ Headers ======= Level 2 with an [embedded link](/url) ------------------------------------- ### Level 3 with *emphasis* #### Level 4 ##### Level 5 Level 1 ======= Level 2 with *emphasis* ----------------------- ### Level 3 with no blank line Level 2 ------- with no blank line ------------------------------------------------------------------------------ Paragraphs ========== Here's a regular paragraph. 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. Here's one with a bullet. \* criminey. There should be a hard line break\ here. ------------------------------------------------------------------------------ Block Quotes ============ E-mail style: > This is a block quote. It is pretty short. > Code in a block quote: > > sub status { > print "working"; > } > > A list: > > 1. item one > 2. item two > > Nested block quotes: > > > nested > > > nested This should not be a block quote: 2 \> 1. And a following paragraph. ------------------------------------------------------------------------------ Code Blocks =========== Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ ------------------------------------------------------------------------------ Lists ===== Unordered --------- Asterisks tight: - asterisk 1 - asterisk 2 - asterisk 3 Asterisks loose: - asterisk 1 - asterisk 2 - asterisk 3 Pluses tight: - Plus 1 - Plus 2 - Plus 3 Pluses loose: - Plus 1 - Plus 2 - Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 Ordered ------- Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog's back. 2. Item 2. 3. Item 3. Nested ------ - Tab - Tab - Tab Here's another: 1. First 2. Second: - Fee - Fie - Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: - Fee - Fie - Foe 3. Third Tabs and spaces --------------- - this is a list item indented with tabs - this is a list item indented with spaces - this is an example list item indented with tabs - this is an example list item indented with spaces Fancy list markers ------------------ (2) begins with 2 (3) and now 3 with a continuation iv. sublist with roman numerals, starting with 4 v. more items (A) a subsublist (B) a subsublist Nesting: A. Upper Alpha I. Upper Roman. (6) Decimal start with 6 c) Lower alpha with paren Autonumbering: 1. Autonumber. 2. More. 1. Nested. Should not be a list item: M.A. 2007 B. Williams ------------------------------------------------------------------------------ Definition Lists ================ Tight using spaces: apple : red fruit orange : orange fruit banana : yellow fruit Tight using tabs: apple : red fruit orange : orange fruit banana : yellow fruit Loose: apple : red fruit orange : orange fruit banana : yellow fruit Multiple blocks with italics: *apple* : red fruit contains seeds, crisp, pleasant to taste *orange* : orange fruit { orange code block } > orange block quote Multiple definitions, tight: apple : red fruit : computer orange : orange fruit : bank Multiple definitions, loose: apple : red fruit : computer orange : orange fruit : bank Blank line after term, indented marker, alternate markers: apple : red fruit : computer orange : orange fruit 1. sublist 2. sublist HTML Blocks =========== Simple block on one line:
                foo
                And nested without indentation:
                foo
                bar
                Interpreted markdown in a table: ```{=html} ``` ```{=html} ``` ```{=html} ``` ```{=html} ``` ```{=html} ``` ```{=html}
                ``` This is *emphasized* ```{=html} ``` And this is **strong** ```{=html}
                ``` ```{=html} ``` Here's a simple block:
                foo
                This should be a code block, though:
                foo
                As should this:
                foo
                Now, nested:
                foo
                This should just be an HTML comment: ```{=html} ``` Multiline: ```{=html} ``` ```{=html} ``` Code block: Just plain comment, with trailing spaces on the line: ```{=html} ``` Code:
                Hr's: ```{=html}
                ``` ```{=html}
                ``` ```{=html}
                ``` ```{=html}
                ``` ```{=html}
                ``` ```{=html}
                ``` ```{=html}
                ``` ```{=html}
                ``` ```{=html}
                ``` ------------------------------------------------------------------------------ Inline Markup ============= This is *emphasized*, and so *is this*. This is **strong**, and so **is this**. An *[emphasized link](/url)*. ***This is strong and em.*** So is ***this*** word. ***This is strong and em.*** So is ***this*** word. This is code: `>`, `$`, `\`, `\$`, ``. ~~This is *strikeout*.~~ Superscripts: a^bc^d a^*hello*^ a^hello there^. Subscripts: H~2~O, H~23~O, H~many of them~O. These should not be superscripts or subscripts, because of the unescaped spaces: a\^b c\^d, a\~b c\~d. ------------------------------------------------------------------------------ Smart quotes, ellipses, dashes ============================== "Hello," said the spider. "'Shelob' is my name." 'A', 'B', and 'C' are letters. 'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.' 'He said, "I want to go."' Were you alive in the 70's? Here is some quoted '`code`' and a "[quoted link](http://example.com/?foo=1&bar=2)". Some dashes: one---two --- three---four --- five. Dashes between numbers: 5--7, 255--66, 1987--1999. Ellipses...and...and.... ------------------------------------------------------------------------------ LaTeX ===== - `\cite[22-23]{smith.1899}`{=tex} - $2+2=4$ - $x \in y$ - $\alpha \wedge \omega$ - $223$ - $p$-Tree - Here's some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ - Here's one that has a line break in it: $\alpha + \omega \times x^2$. These shouldn't be math: - To get the famous equation, write `$e = mc^2$`. - \$22,000 is a *lot* of money. So is \$34,000. (It worked if "lot" is emphasized.) - Shoes (\$20) and socks (\$5). - Escaped `$`: \$73 *this should be emphasized* 23\$. Here's a LaTeX table: ```{=tex} \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} ``` ------------------------------------------------------------------------------ Special Characters ================== Here is some unicode: - I hat: Î - o umlaut: ö - section: § - set membership: ∈ - copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 \< 5. 6 \> 5. Backslash: \\ Backtick: \` Asterisk: \* Underscore: \_ Left brace: { Right brace: } Left bracket: \[ Right bracket: \] Left paren: ( Right paren: ) Greater-than: \> Hash: \# Period: . Bang: ! Plus: + Minus: - ------------------------------------------------------------------------------ Links ===== Explicit -------- Just a [URL](/url/). [URL and title](/url/ "title"). [URL and title](/url/ "title preceded by two spaces"). [URL and title](/url/ "title preceded by a tab"). [URL and title](/url/ "title with "quotes" in it") [URL and title](/url/ "title with single quotes") [with\_underscore](/url/with_underscore) [Email link](mailto:nobody@nowhere.net) [Empty](). Reference --------- Foo [bar](/url/). With [embedded \[brackets\]](/url/). [b](/url/) by itself should be a link. Indented [once](/url). Indented [twice](/url). Indented [thrice](/url). This should \[not\]\[\] be a link. [not]: /url Foo [bar](/url/ "Title with "quotes" inside"). Foo [biz](/url/ "Title with "quote" inside"). With ampersands --------------- Here's a [link with an ampersand in the URL](http://example.com/?foo=1&bar=2). Here's a link with an amersand in the link text: [AT&T](http://att.com/ "AT&T"). Here's an [inline link](/script?foo=1&bar=2). Here's an [inline link in pointy braces](/script?foo=1&bar=2). Autolinks --------- With an ampersand: - In a list? - - It should. An e-mail address: > Blockquoted: Auto-links should not occur here: `` or here: ------------------------------------------------------------------------------ Images ====== From "Voyage dans la Lune" by Georges Melies (1902): ![lalune](lalune.jpg "Voyage dans la Lune") Here is a movie ![movie](movie.jpg) icon. ------------------------------------------------------------------------------ Footnotes ========= Here is a footnote reference,[^1] and another.[^2] This should *not* be a footnote reference, because it contains a space.\[\^my note\] Here is an inline note.[^3] > Notes can go in quotes.[^4] 1. And in list items.[^5] This paragraph should not be part of the note, as it is not indented. [^1]: Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. [^2]: Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). { } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. [^3]: This is *easier* to type. Inline notes may contain [links](http://google.com) and `]` verbatim characters, as well as \[bracketed text\]. [^4]: In quote. [^5]: In list. pandoc-2.9.2.1/test/writer.mediawiki000066400000000000000000000234131363630463000173160ustar00rootroot00000000000000This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ----- = Headers = == Level 2 with an [[url|embedded link]] == === Level 3 with ''emphasis'' === ==== Level 4 ==== ===== Level 5 ===== = Level 1 = == Level 2 with ''emphasis'' == === Level 3 === with no blank line == Level 2 == with no blank line ----- = Paragraphs = Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break
                here. ----- = Block Quotes = E-mail style:
                This is a block quote. It is pretty short.
                Code in a block quote:
                sub status {
                    print "working";
                }
                A list: # item one # item two Nested block quotes:
                nested
                nested
                This should not be a block quote: 2 > 1. And a following paragraph. ----- = Code Blocks = Code:
                ---- (should be four hyphens)
                
                sub status {
                    print "working";
                }
                
                this code block is indented by one tab
                And:
                    this code block is indented by two tabs
                
                These should not be escaped:  \$ \\ \> \[ \{
                ----- = Lists = == Unordered == Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: * Plus 1 * Plus 2 * Plus 3 Pluses loose: * Plus 1 * Plus 2 * Plus 3 Minuses tight: * Minus 1 * Minus 2 * Minus 3 Minuses loose: * Minus 1 * Minus 2 * Minus 3 == Ordered == Tight: # First # Second # Third and: # One # Two # Three Loose using tabs: # First # Second # Third and using spaces: # One # Two # Three Multiple paragraphs:
                1. Item 1, graf one.

                  Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                2. Item 2.

                3. Item 3.

                == Nested == * Tab ** Tab *** Tab Here’s another: # First # Second: #* Fee #* Fie #* Foe # Third Same thing but with paragraphs: # First # Second: #* Fee #* Fie #* Foe # Third == Tabs and spaces == * this is a list item indented with tabs * this is a list item indented with spaces ** this is an example list item indented with tabs ** this is an example list item indented with spaces == Fancy list markers ==
                1. begins with 2

                2. and now 3

                  with a continuation

                  1. sublist with roman numerals, starting with 4
                  2. more items
                    1. a subsublist
                    2. a subsublist
                Nesting:
                1. Upper Alpha
                  1. Upper Roman.
                    1. Decimal start with 6
                      1. Lower alpha with paren
                Autonumbering: # Autonumber. # More. ## Nested. Should not be a list item: M.A. 2007 B. Williams ----- = Definition Lists = Tight using spaces: ; apple : red fruit ; orange : orange fruit ; banana : yellow fruit Tight using tabs: ; apple : red fruit ; orange : orange fruit ; banana : yellow fruit Loose: ; apple : red fruit ; orange : orange fruit ; banana : yellow fruit Multiple blocks with italics:
                ''apple''

                red fruit

                contains seeds, crisp, pleasant to taste

                ''orange''

                orange fruit

                { orange code block }

                orange block quote

                Multiple definitions, tight: ; apple : red fruit : computer ; orange : orange fruit : bank Multiple definitions, loose: ; apple : red fruit : computer ; orange : orange fruit : bank Blank line after term, indented marker, alternate markers: ; apple : red fruit : computer ; orange : orange fruit ;# sublist ;# sublist = HTML Blocks = Simple block on one line:
                foo
                And nested without indentation:
                foo
                bar
                Interpreted markdown in a table:
                This is ''emphasized'' And this is '''strong'''
                Here’s a simple block:
                foo
                This should be a code block, though:
                <div>
                    foo
                </div>
                As should this:
                <div>foo</div>
                Now, nested:
                foo
                This should just be an HTML comment: Multiline: Code block:
                <!-- Comment -->
                Just plain comment, with trailing spaces on the line: Code:
                <hr />
                Hr’s:








                ----- = Inline Markup = This is ''emphasized'', and so ''is this''. This is '''strong''', and so '''is this'''. An ''[[url|emphasized link]]''. '''''This is strong and em.''''' So is '''''this''''' word. '''''This is strong and em.''''' So is '''''this''''' word. This is code: >, $, \, \$, <html>. This is ''strikeout''. Superscripts: abcd a''hello'' ahello there. Subscripts: H2O, H23O, Hmany of themO. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ----- = Smart quotes, ellipses, dashes = “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘code’ and a “[http://example.com/?foo=1&bar=2 quoted link]”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ----- = LaTeX = * * 2+2=4 * x \in y * \alpha \wedge \omega * 223 * p-Tree * Here’s some display math: \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} * Here’s one that has a line break in it: \alpha + \omega \times x^2. These shouldn’t be math: * To get the famous equation, write $e = mc^2$. * $22,000 is a ''lot'' of money. So is $34,000. (It worked if “lot” is emphasized.) * Shoes ($20) and socks ($5). * Escaped $: $73 ''this should be emphasized'' 23$. Here’s a LaTeX table: ----- = Special Characters = Here is some unicode: * I hat: Î * o umlaut: ö * section: § * set membership: ∈ * copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ----- = Links = == Explicit == Just a [[url/|URL]]. [[url/|URL and title]]. [[url/|URL and title]]. [[url/|URL and title]]. [[url/|URL and title]] [[url/|URL and title]] [[url/with_underscore|with_underscore]] [mailto:nobody@nowhere.net Email link] [[|Empty]]. == Reference == Foo [[url/|bar]]. With [[url/|embedded [brackets]]]. [[url/|b]] by itself should be a link. Indented [[url|once]]. Indented [[url|twice]]. Indented [[url|thrice]]. This should [not][] be a link.
                [not]: /url
                Foo [[url/|bar]]. Foo [[url/|biz]]. == With ampersands == Here’s a [http://example.com/?foo=1&bar=2 link with an ampersand in the URL]. Here’s a link with an amersand in the link text: [http://att.com/ AT&T]. Here’s an [[script?foo=1&bar=2|inline link]]. Here’s an [[script?foo=1&bar=2|inline link in pointy braces]]. == Autolinks == With an ampersand: http://example.com/?foo=1&bar=2 * In a list? * http://example.com/ * It should. An e-mail address: [mailto:nobody@nowhere.net nobody@nowhere.net]
                Blockquoted: http://example.com/
                Auto-links should not occur here: <http://example.com/>
                or here: <http://example.com/>
                ----- = Images = From “Voyage dans la Lune” by Georges Melies (1902): [[File:lalune.jpg|thumb|none|alt=Voyage dans la Lune|lalune]] Here is a movie [[File:movie.jpg|movie]] icon. ----- = Footnotes = Here is a footnote reference,Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. and another.Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items).
                  { <code> }
                If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.
                This should ''not'' be a footnote reference, because it contains a space.[^my note] Here is an inline note.This is ''easier'' to type. Inline notes may contain [http://google.com links] and ] verbatim characters, as well as [bracketed text].
                Notes can go in quotes.In quote.
                # And in list items.In list. This paragraph should not be part of the note, as it is not indented. pandoc-2.9.2.1/test/writer.ms000066400000000000000000000353311363630463000157740ustar00rootroot00000000000000.\" **** Custom macro definitions ********************************* .\" * Super/subscript .\" (https://lists.gnu.org/archive/html/groff/2012-07/msg00046.html) .ds { \v'-0.3m'\\s[\\n[.s]*9u/12u] .ds } \s0\v'0.3m' .ds < \v'0.3m'\s[\\n[.s]*9u/12u] .ds > \s0\v'-0.3m' .\" * Horizontal line .de HLINE .LP .ce \l'20' .. .\" **** Settings ************************************************* .\" text width .nr LL 5.5i .\" left margin .nr PO 1.25i .\" top margin .nr HM 1.25i .\" bottom margin .nr FM 1.25i .\" header/footer width .nr LT \n[LL] .\" point size .nr PS 10p .\" line height .nr VS 12p .\" font family: A, BM, H, HN, N, P, T, ZCM .fam P .\" paragraph indent .nr PI 0m .\" interparagraph space .nr PD 0.4v .\" footnote width .nr FL \n[LL] .\" footnote point size .nr FPS (\n[PS] - 2000) .\" color used for strikeout .defcolor strikecolor rgb 0.7 0.7 0.7 .\" color for links (rgb) .ds PDFHREF.COLOUR 0.35 0.00 0.60 .\" border for links (default none) .ds PDFHREF.BORDER 0 0 0 .\" point size difference between heading levels .nr PSINCR 1p .\" heading level above which point size no longer changes .nr GROWPS 2 .\" comment these out if you want a dot after section numbers: .als SN SN-NO-DOT .als SN-STYLE SN-NO-DOT .\" page numbers in footer, centered .rm CH .ds CF % .\" pdf outline fold level .nr PDFOUTLINE.FOLDLEVEL 3 .\" start out in outline view .pdfview /PageMode /UseOutlines .\" *************************************************************** .\" PDF metadata .pdfinfo /Title "Pandoc Test Suite" .pdfinfo /Author "John MacFarlane; Anonymous" .hy .EQ delim @@ .EN .TL Pandoc Test Suite .AU John MacFarlane .AU Anonymous .AU .sp 0.5 .ft R July 17, 2006 .\" 1 column (use .2C for two column) .1C .LP This is a set of tests for pandoc. Most of them are adapted from John Gruber\[cq]s markdown test suite. .HLINE .SH 1 Headers .pdfhref O 1 "Headers" .pdfhref M "headers" .SH 2 Level 2 with an \c .pdfhref W -D "/url" -A "\c" \ -- "embedded link" \& .pdfhref O 2 "Level 2 with an embedded link" .pdfhref M "level-2-with-an-embedded-link" .SH 3 Level 3 with \f[BI]emphasis\f[B] .pdfhref O 3 "Level 3 with emphasis" .pdfhref M "level-3-with-emphasis" .SH 4 Level 4 .pdfhref O 4 "Level 4" .pdfhref M "level-4" .SH 5 Level 5 .pdfhref O 5 "Level 5" .pdfhref M "level-5" .SH 1 Level 1 .pdfhref O 1 "Level 1" .pdfhref M "level-1" .SH 2 Level 2 with \f[BI]emphasis\f[B] .pdfhref O 2 "Level 2 with emphasis" .pdfhref M "level-2-with-emphasis" .SH 3 Level 3 .pdfhref O 3 "Level 3" .pdfhref M "level-3" .LP with no blank line .SH 2 Level 2 .pdfhref O 2 "Level 2" .pdfhref M "level-2" .LP with no blank line .HLINE .SH 1 Paragraphs .pdfhref O 1 "Paragraphs" .pdfhref M "paragraphs" .LP Here\[cq]s a regular paragraph. .PP 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. .PP Here\[cq]s one with a bullet. * criminey. .PP There should be a hard line break .br here. .HLINE .SH 1 Block Quotes .pdfhref O 1 "Block Quotes" .pdfhref M "block-quotes" .LP E-mail style: .QS .LP This is a block quote. It is pretty short. .QE .QS .LP Code in a block quote: .IP .nf \f[C] sub status { print \[dq]working\[dq]; } \f[] .fi .LP A list: .IP " 1." 4 item one .IP " 2." 4 item two .LP Nested block quotes: .QS .LP nested .QE .QS .LP nested .QE .QE .LP This should not be a block quote: 2 > 1. .PP And a following paragraph. .HLINE .SH 1 Code Blocks .pdfhref O 1 "Code Blocks" .pdfhref M "code-blocks" .LP Code: .IP .nf \f[C] ---- (should be four hyphens) sub status { print \[dq]working\[dq]; } this code block is indented by one tab \f[] .fi .LP And: .IP .nf \f[C] this code block is indented by two tabs These should not be escaped: \[rs]$ \[rs]\[rs] \[rs]> \[rs][ \[rs]{ \f[] .fi .HLINE .SH 1 Lists .pdfhref O 1 "Lists" .pdfhref M "lists" .SH 2 Unordered .pdfhref O 2 "Unordered" .pdfhref M "unordered" .LP Asterisks tight: .IP \[bu] 3 asterisk 1 .IP \[bu] 3 asterisk 2 .IP \[bu] 3 asterisk 3 .LP Asterisks loose: .IP \[bu] 3 asterisk 1 .IP \[bu] 3 asterisk 2 .IP \[bu] 3 asterisk 3 .LP Pluses tight: .IP \[bu] 3 Plus 1 .IP \[bu] 3 Plus 2 .IP \[bu] 3 Plus 3 .LP Pluses loose: .IP \[bu] 3 Plus 1 .IP \[bu] 3 Plus 2 .IP \[bu] 3 Plus 3 .LP Minuses tight: .IP \[bu] 3 Minus 1 .IP \[bu] 3 Minus 2 .IP \[bu] 3 Minus 3 .LP Minuses loose: .IP \[bu] 3 Minus 1 .IP \[bu] 3 Minus 2 .IP \[bu] 3 Minus 3 .SH 2 Ordered .pdfhref O 2 "Ordered" .pdfhref M "ordered" .LP Tight: .IP " 1." 4 First .IP " 2." 4 Second .IP " 3." 4 Third .LP and: .IP " 1." 4 One .IP " 2." 4 Two .IP " 3." 4 Three .LP Loose using tabs: .IP " 1." 4 First .IP " 2." 4 Second .IP " 3." 4 Third .LP and using spaces: .IP " 1." 4 One .IP " 2." 4 Two .IP " 3." 4 Three .LP Multiple paragraphs: .IP " 1." 4 Item 1, graf one. .RS 4 .PP Item 1. graf two. The quick brown fox jumped over the lazy dog\[cq]s back. .RE .IP " 2." 4 Item 2. .IP " 3." 4 Item 3. .SH 2 Nested .pdfhref O 2 "Nested" .pdfhref M "nested" .IP \[bu] 3 Tab .RS 3 .IP \[bu] 3 Tab .RS 3 .IP \[bu] 3 Tab .RE .RE .LP Here\[cq]s another: .IP " 1." 4 First .IP " 2." 4 Second: .RS 4 .IP \[bu] 3 Fee .IP \[bu] 3 Fie .IP \[bu] 3 Foe .RE .IP " 3." 4 Third .LP Same thing but with paragraphs: .IP " 1." 4 First .IP " 2." 4 Second: .RS 4 .IP \[bu] 3 Fee .IP \[bu] 3 Fie .IP \[bu] 3 Foe .RE .IP " 3." 4 Third .SH 2 Tabs and spaces .pdfhref O 2 "Tabs and spaces" .pdfhref M "tabs-and-spaces" .IP \[bu] 3 this is a list item indented with tabs .IP \[bu] 3 this is a list item indented with spaces .RS 3 .IP \[bu] 3 this is an example list item indented with tabs .IP \[bu] 3 this is an example list item indented with spaces .RE .SH 2 Fancy list markers .pdfhref O 2 "Fancy list markers" .pdfhref M "fancy-list-markers" .IP " (2)" 5 begins with 2 .IP " (3)" 5 and now 3 .RS 5 .LP with a continuation .IP " iv." 5 sublist with roman numerals, starting with 4 .IP " v." 5 more items .RS 5 .IP " (A)" 5 a subsublist .IP " (B)" 5 a subsublist .RE .RE .LP Nesting: .IP " A." 4 Upper Alpha .RS 4 .IP " I." 4 Upper Roman. .RS 4 .IP " (6)" 5 Decimal start with 6 .RS 5 .IP " c)" 4 Lower alpha with paren .RE .RE .RE .LP Autonumbering: .IP " 1." 4 Autonumber. .IP " 2." 4 More. .RS 4 .IP " 1." 4 Nested. .RE .LP Should not be a list item: .PP M.A.\ 2007 .PP B. Williams .HLINE .SH 1 Definition Lists .pdfhref O 1 "Definition Lists" .pdfhref M "definition-lists" .LP Tight using spaces: .IP "\f[B]apple\f[R]" 3 red fruit .RS 3 .RE .IP "\f[B]orange\f[R]" 3 orange fruit .RS 3 .RE .IP "\f[B]banana\f[R]" 3 yellow fruit .RS 3 .RE .LP Tight using tabs: .IP "\f[B]apple\f[R]" 3 red fruit .RS 3 .RE .IP "\f[B]orange\f[R]" 3 orange fruit .RS 3 .RE .IP "\f[B]banana\f[R]" 3 yellow fruit .RS 3 .RE .LP Loose: .IP "\f[B]apple\f[R]" 3 red fruit .RS 3 .RE .IP "\f[B]orange\f[R]" 3 orange fruit .RS 3 .RE .IP "\f[B]banana\f[R]" 3 yellow fruit .RS 3 .RE .LP Multiple blocks with italics: .IP "\f[B]\f[BI]apple\f[B]\f[R]" 3 red fruit .RS 3 .PP contains seeds, crisp, pleasant to taste .RE .IP "\f[B]\f[BI]orange\f[B]\f[R]" 3 orange fruit .RS 3 .IP .nf \f[C] { orange code block } \f[] .fi .QS .LP orange block quote .QE .RE .LP Multiple definitions, tight: .IP "\f[B]apple\f[R]" 3 red fruit .RS 3 .RE computer .RS 3 .RE .IP "\f[B]orange\f[R]" 3 orange fruit .RS 3 .RE bank .RS 3 .RE .LP Multiple definitions, loose: .IP "\f[B]apple\f[R]" 3 red fruit .RS 3 .RE computer .RS 3 .RE .IP "\f[B]orange\f[R]" 3 orange fruit .RS 3 .RE bank .RS 3 .RE .LP Blank line after term, indented marker, alternate markers: .IP "\f[B]apple\f[R]" 3 red fruit .RS 3 .RE computer .RS 3 .RE .IP "\f[B]orange\f[R]" 3 orange fruit .RS 3 .IP " 1." 4 sublist .IP " 2." 4 sublist .RE .SH 1 HTML Blocks .pdfhref O 1 "HTML Blocks" .pdfhref M "html-blocks" .LP Simple block on one line: foo .LP And nested without indentation: .LP foo bar .LP Interpreted markdown in a table: This is \f[I]emphasized\f[R] And this is \f[B]strong\f[R] .PP Here\[cq]s a simple block: .LP foo .LP This should be a code block, though: .IP .nf \f[C]
                foo
                \f[] .fi .LP As should this: .IP .nf \f[C]
                foo
                \f[] .fi .LP Now, nested: foo .LP This should just be an HTML comment: .PP Multiline: .PP Code block: .IP .nf \f[C] \f[] .fi .LP Just plain comment, with trailing spaces on the line: .PP Code: .IP .nf \f[C]
                \f[] .fi .LP Hr\[cq]s: .HLINE .SH 1 Inline Markup .pdfhref O 1 "Inline Markup" .pdfhref M "inline-markup" .LP This is \f[I]emphasized\f[R], and so \f[I]is this\f[R]. .PP This is \f[B]strong\f[R], and so \f[B]is this\f[R]. .PP An \f[I]\c .pdfhref W -D "/url" -A "\c" \ -- "emphasized link" \&\f[R]. .PP \f[B]\f[BI]This is strong and em.\f[B]\f[R] .PP So is \f[B]\f[BI]this\f[B]\f[R] word. .PP \f[B]\f[BI]This is strong and em.\f[B]\f[R] .PP So is \f[B]\f[BI]this\f[B]\f[R] word. .PP This is code: \f[C]>\f[R], \f[C]$\f[R], \f[C]\[rs]\f[R], \f[C]\[rs]$\f[R], \f[C]\f[R]. .PP \m[strikecolor]This is \f[I]strikeout\f[R].\m[] .PP Superscripts: a\*{bc\*}d a\*{\f[I]hello\f[R]\*} a\*{hello\ there\*}. .PP Subscripts: H\*<2\*>O, H\*<23\*>O, H\*O. .PP These should not be superscripts or subscripts, because of the unescaped spaces: a\[ha]b c\[ha]d, a\[ti]b c\[ti]d. .HLINE .SH 1 Smart quotes, ellipses, dashes .pdfhref O 1 "Smart quotes, ellipses, dashes" .pdfhref M "smart-quotes-ellipses-dashes" .LP \[lq]Hello,\[rq] said the spider. \[lq]`Shelob' is my name.\[rq] .PP `A', `B', and `C' are letters. .PP `Oak,' `elm,' and `beech' are names of trees. So is `pine.' .PP `He said, \[lq]I want to go.\[rq]' Were you alive in the 70\[cq]s? .PP Here is some quoted `\f[C]code\f[R]' and a \[lq]\c .pdfhref W -D "http://example.com/?foo=1&bar=2" -A "\c" \ -- "quoted link" \&\[rq]. .PP Some dashes: one\[em]two \[em] three\[em]four \[em] five. .PP Dashes between numbers: 5\[en]7, 255\[en]66, 1987\[en]1999. .PP Ellipses\&...and\&...and\&.... .HLINE .SH 1 LaTeX .pdfhref O 1 "LaTeX" .pdfhref M "latex" .IP \[bu] 3 .IP \[bu] 3 @2 + 2 = 4@ .IP \[bu] 3 @x \[u2208] y@ .IP \[bu] 3 @alpha \[u2227] omega@ .IP \[bu] 3 @223@ .IP \[bu] 3 @p@-Tree .IP \[bu] 3 Here\[cq]s some display math: .EQ d over {d x} f ( x ) = lim sub {h -> 0} {f ( x + h ) \[u2212] f ( x )} over h .EN .IP \[bu] 3 Here\[cq]s one that has a line break in it: @alpha + omega times x sup 2@. .LP These shouldn\[cq]t be math: .IP \[bu] 3 To get the famous equation, write \f[C]$e = mc\[ha]2$\f[R]. .IP \[bu] 3 $22,000 is a \f[I]lot\f[R] of money. So is $34,000. (It worked if \[lq]lot\[rq] is emphasized.) .IP \[bu] 3 Shoes ($20) and socks ($5). .IP \[bu] 3 Escaped \f[C]$\f[R]: $73 \f[I]this should be emphasized\f[R] 23$. .LP Here\[cq]s a LaTeX table: .HLINE .SH 1 Special Characters .pdfhref O 1 "Special Characters" .pdfhref M "special-characters" .LP Here is some unicode: .IP \[bu] 3 I hat: Î .IP \[bu] 3 o umlaut: ö .IP \[bu] 3 section: § .IP \[bu] 3 set membership: ∈ .IP \[bu] 3 copyright: © .LP AT&T has an ampersand in their name. .PP AT&T is another way to write it. .PP This & that. .PP 4 < 5. .PP 6 > 5. .PP Backslash: \[rs] .PP Backtick: \[ga] .PP Asterisk: * .PP Underscore: _ .PP Left brace: { .PP Right brace: } .PP Left bracket: [ .PP Right bracket: ] .PP Left paren: ( .PP Right paren: ) .PP Greater-than: > .PP Hash: # .PP Period: . .PP Bang: ! .PP Plus: + .PP Minus: - .HLINE .SH 1 Links .pdfhref O 1 "Links" .pdfhref M "links" .SH 2 Explicit .pdfhref O 2 "Explicit" .pdfhref M "explicit" .LP Just a \c .pdfhref W -D "/url/" -A "\c" \ -- "URL" \&. .PP \c .pdfhref W -D "/url/" -A "\c" \ -- "URL and title" \&. .PP \c .pdfhref W -D "/url/" -A "\c" \ -- "URL and title" \&. .PP \c .pdfhref W -D "/url/" -A "\c" \ -- "URL and title" \&. .PP \c .pdfhref W -D "/url/" -A "\c" \ -- "URL and title" \& .PP \c .pdfhref W -D "/url/" -A "\c" \ -- "URL and title" \& .PP \c .pdfhref W -D "/url/with_underscore" -A "\c" \ -- "with_underscore" \& .PP \c .pdfhref W -D "mailto:nobody%40nowhere.net" -A "\c" \ -- "Email link" \& .PP \c .pdfhref W -D "" -A "\c" \ -- "Empty" \&. .SH 2 Reference .pdfhref O 2 "Reference" .pdfhref M "reference" .LP Foo \c .pdfhref W -D "/url/" -A "\c" \ -- "bar" \&. .PP With \c .pdfhref W -D "/url/" -A "\c" \ -- "embedded [brackets]" \&. .PP \c .pdfhref W -D "/url/" -A "\c" \ -- "b" \& by itself should be a link. .PP Indented \c .pdfhref W -D "/url" -A "\c" \ -- "once" \&. .PP Indented \c .pdfhref W -D "/url" -A "\c" \ -- "twice" \&. .PP Indented \c .pdfhref W -D "/url" -A "\c" \ -- "thrice" \&. .PP This should [not][] be a link. .IP .nf \f[C] [not]: /url \f[] .fi .LP Foo \c .pdfhref W -D "/url/" -A "\c" \ -- "bar" \&. .PP Foo \c .pdfhref W -D "/url/" -A "\c" \ -- "biz" \&. .SH 2 With ampersands .pdfhref O 2 "With ampersands" .pdfhref M "with-ampersands" .LP Here\[cq]s a \c .pdfhref W -D "http://example.com/?foo=1&bar=2" -A "\c" \ -- "link with an ampersand in the URL" \&. .PP Here\[cq]s a link with an amersand in the link text: \c .pdfhref W -D "http://att.com/" -A "\c" \ -- "AT&T" \&. .PP Here\[cq]s an \c .pdfhref W -D "/script?foo=1&bar=2" -A "\c" \ -- "inline link" \&. .PP Here\[cq]s an \c .pdfhref W -D "/script?foo=1&bar=2" -A "\c" \ -- "inline link in pointy braces" \&. .SH 2 Autolinks .pdfhref O 2 "Autolinks" .pdfhref M "autolinks" .LP With an ampersand: \c .pdfhref W -D "http://example.com/?foo=1&bar=2" -A "\c" \ -- "http://example.com/?foo=1&bar=2" \& .IP \[bu] 3 In a list? .IP \[bu] 3 \c .pdfhref W -D "http://example.com/" -A "\c" \ -- "http://example.com/" \& .IP \[bu] 3 It should. .LP An e-mail address: \c .pdfhref W -D "mailto:nobody%40nowhere.net" -A "\c" \ -- "nobody\[at]nowhere.net" \& .QS .LP Blockquoted: \c .pdfhref W -D "http://example.com/" -A "\c" \ -- "http://example.com/" \& .QE .LP Auto-links should not occur here: \f[C]\f[R] .IP .nf \f[C] or here: \f[] .fi .HLINE .SH 1 Images .pdfhref O 1 "Images" .pdfhref M "images" .LP From \[lq]Voyage dans la Lune\[rq] by Georges Melies (1902): .PP [IMAGE: lalune] .PP Here is a movie [IMAGE: movie] icon. .HLINE .SH 1 Footnotes .pdfhref O 1 "Footnotes" .pdfhref M "footnotes" .LP Here is a footnote reference,\** .FS Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. .FE and another.\** .FS Here\[cq]s the long note. This one contains multiple blocks. .PP Subsequent blocks are indented to show that they belong to the footnote (as with list items). .IP .nf \f[C] { } \f[] .fi .LP If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. .FE This should \f[I]not\f[R] be a footnote reference, because it contains a space.[\[ha]my note] Here is an inline note.\** .FS This is \f[I]easier\f[R] to type. Inline notes may contain \c .pdfhref W -D "http://google.com" -A "\c" \ -- "links" \& and \f[C]]\f[R] verbatim characters, as well as [bracketed text]. .FE .QS .LP Notes can go in quotes.\** .FS In quote. .FE .QE .IP " 1." 4 And in list items.\** .FS In list. .FE .LP This paragraph should not be part of the note, as it is not indented. .pdfsync pandoc-2.9.2.1/test/writer.muse000066400000000000000000000242001363630463000163170ustar00rootroot00000000000000#author John MacFarlane; Anonymous #title Pandoc Test Suite #date July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ---- * Headers ** Level 2 with an [[/url][embedded link]] *** Level 3 with *emphasis* **** Level 4 ***** Level 5 * Level 1 ** Level 2 with *emphasis* *** Level 3 with no blank line ** Level 2 with no blank line ---- * Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break
                here. ---- * Block Quotes E-mail style: This is a block quote. It is pretty short. Code in a block quote: sub status { print "working"; } A list: 1. item one 2. item two Nested block quotes: nested nested This should not be a block quote: 2 > 1. And a following paragraph. ---- * Code Blocks Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ ---- * Lists ** Unordered Asterisks tight: - asterisk 1 - asterisk 2 - asterisk 3 Asterisks loose: - asterisk 1 - asterisk 2 - asterisk 3 Pluses tight: - Plus 1 - Plus 2 - Plus 3 Pluses loose: - Plus 1 - Plus 2 - Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 ** Ordered Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. 2. Item 2. 3. Item 3. ** Nested - Tab - Tab - Tab Here’s another: 1. First 2. Second: - Fee - Fie - Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: - Fee - Fie - Foe 3. Third ** Tabs and spaces - this is a list item indented with tabs - this is a list item indented with spaces - this is an example list item indented with tabs - this is an example list item indented with spaces ** Fancy list markers 2. begins with 2 3. and now 3 with a continuation iv. sublist with roman numerals, starting with 4 v. more items A. a subsublist B. a subsublist Nesting: A. Upper Alpha I. Upper Roman. 6. Decimal start with 6 c. Lower alpha with paren Autonumbering: 1. Autonumber. 2. More. 1. Nested. Should not be a list item: M.A. 2007 B. Williams ---- * Definition Lists Tight using spaces: apple :: red fruit orange :: orange fruit banana :: yellow fruit Tight using tabs: apple :: red fruit orange :: orange fruit banana :: yellow fruit Loose: apple :: red fruit orange :: orange fruit banana :: yellow fruit Multiple blocks with italics: *apple* :: red fruit contains seeds, crisp, pleasant to taste *orange* :: orange fruit { orange code block } orange block quote Multiple definitions, tight: apple :: red fruit :: computer orange :: orange fruit :: bank Multiple definitions, loose: apple :: red fruit :: computer orange :: orange fruit :: bank Blank line after term, indented marker, alternate markers: apple :: red fruit :: computer orange :: orange fruit 1. sublist 2. sublist * HTML Blocks Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table:
                This is *emphasized* And this is **strong**
                Here’s a simple block: foo This should be a code block, though:
                foo
                As should this:
                foo
                Now, nested: foo This should just be an HTML comment: Multiline: Code block: Just plain comment, with trailing spaces on the line: Code:
                Hr’s:








                ---- * Inline Markup This is *emphasized*, and so *is this*. This is **strong**, and so **is this**. An *[[/url][emphasized link]]*. ***This is strong and em.*** So is ***this*** word. ***This is strong and em.*** So is ***this*** word. This is code: =>=, =$=, =\=, =\$=, ==. This is *strikeout*. Superscripts: abcd a*hello* ahello there. Subscripts: H2O, H23O, Hmany of themO. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ---- * Smart quotes, ellipses, dashes “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘=code=’ and a “[[http://example.com/?foo=1&bar=2][quoted link]]”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ---- * LaTeX - \cite[22-23]{smith.1899} - 2 + 2 = 4 - *x* ∈ *y* - *α* ∧ *ω* - 223 - *p*-Tree - Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ - Here’s one that has a line break in it: *α* + *ω* × *x*2. These shouldn’t be math: - To get the famous equation, write $e = mc^2$. - $22,000 is a *lot* of money. So is $34,000. (It worked if “lot” is emphasized.) - Shoes ($20) and socks ($5). - Escaped =$=: $73 *this should be emphasized* 23$. Here’s a LaTeX table: \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} ---- * Special Characters Here is some unicode: - I hat: Î - o umlaut: ö - section: § - set membership: ∈ - copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ---- * Links ** Explicit Just a [[/url/][URL]]. [[/url/][URL and title]]. [[/url/][URL and title]]. [[/url/][URL and title]]. [[/url/][URL and title]] [[/url/][URL and title]] [[/url/with_underscore][with_underscore]] [[mailto:nobody@nowhere.net][Email link]] [[][Empty]]. ** Reference Foo [[/url/][bar]]. With [[/url/][embedded [brackets]]]. [[/url/][b]] by itself should be a link. Indented [[/url][once]]. Indented [[/url][twice]]. Indented [[/url][thrice]]. This should [not][] be a link. [not]: /url Foo [[/url/][bar]]. Foo [[/url/][biz]]. ** With ampersands Here’s a [[http://example.com/?foo=1&bar=2][link with an ampersand in the URL]]. Here’s a link with an amersand in the link text: [[http://att.com/][AT&T]]. Here’s an [[/script?foo=1&bar=2][inline link]]. Here’s an [[/script?foo=1&bar=2][inline link in pointy braces]]. ** Autolinks With an ampersand: [[http://example.com/?foo=1&bar=2]] - In a list? - [[http://example.com/]] - It should. An e-mail address: [[mailto:nobody@nowhere.net][nobody@nowhere.net]] Blockquoted: [[http://example.com/]] Auto-links should not occur here: == or here: ---- * Images From “Voyage dans la Lune” by Georges Melies (1902): [[lalune.jpg][Voyage dans la Lune]] Here is a movie [[movie.jpg][movie]] icon. ---- * Footnotes Here is a footnote reference,[1] and another.[2] This should *not* be a footnote reference, because it contains a space.[^my note] Here is an inline note.[3] Notes can go in quotes.[4] 1. And in list items.[5] This paragraph should not be part of the note, as it is not indented. [1] Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. [2] Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). { } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. [3] This is *easier* to type. Inline notes may contain [[http://google.com][links]] and =]= verbatim characters, as well as [bracketed text]. [4] In quote. [5] In list. pandoc-2.9.2.1/test/writer.native000066400000000000000000000653501363630463000166470ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList [("author",MetaList [MetaInlines [Str "John",Space,Str "MacFarlane"],MetaInlines [Str "Anonymous"]]),("date",MetaInlines [Str "July",Space,Str "17,",Space,Str "2006"]),("title",MetaInlines [Str "Pandoc",Space,Str "Test",Space,Str "Suite"])]}) [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "set",Space,Str "of",Space,Str "tests",Space,Str "for",Space,Str "pandoc.",Space,Str "Most",Space,Str "of",Space,Str "them",Space,Str "are",Space,Str "adapted",Space,Str "from",SoftBreak,Str "John",Space,Str "Gruber\8217s",Space,Str "markdown",Space,Str "test",Space,Str "suite."] ,HorizontalRule ,Header 1 ("headers",[],[]) [Str "Headers"] ,Header 2 ("level-2-with-an-embedded-link",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Str "an",Space,Link ("",[],[]) [Str "embedded",Space,Str "link"] ("/url","")] ,Header 3 ("level-3-with-emphasis",[],[]) [Str "Level",Space,Str "3",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 4 ("level-4",[],[]) [Str "Level",Space,Str "4"] ,Header 5 ("level-5",[],[]) [Str "Level",Space,Str "5"] ,Header 1 ("level-1",[],[]) [Str "Level",Space,Str "1"] ,Header 2 ("level-2-with-emphasis",[],[]) [Str "Level",Space,Str "2",Space,Str "with",Space,Emph [Str "emphasis"]] ,Header 3 ("level-3",[],[]) [Str "Level",Space,Str "3"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,Header 2 ("level-2",[],[]) [Str "Level",Space,Str "2"] ,Para [Str "with",Space,Str "no",Space,Str "blank",Space,Str "line"] ,HorizontalRule ,Header 1 ("paragraphs",[],[]) [Str "Paragraphs"] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "regular",Space,Str "paragraph."] ,Para [Str "In",Space,Str "Markdown",Space,Str "1.0.0",Space,Str "and",Space,Str "earlier.",Space,Str "Version",SoftBreak,Str "8.",Space,Str "This",Space,Str "line",Space,Str "turns",Space,Str "into",Space,Str "a",Space,Str "list",Space,Str "item.",SoftBreak,Str "Because",Space,Str "a",Space,Str "hard-wrapped",Space,Str "line",Space,Str "in",Space,Str "the",SoftBreak,Str "middle",Space,Str "of",Space,Str "a",Space,Str "paragraph",Space,Str "looked",Space,Str "like",Space,Str "a",SoftBreak,Str "list",Space,Str "item."] ,Para [Str "Here\8217s",Space,Str "one",Space,Str "with",Space,Str "a",Space,Str "bullet.",SoftBreak,Str "*",Space,Str "criminey."] ,Para [Str "There",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "hard",Space,Str "line",Space,Str "break",LineBreak,Str "here."] ,HorizontalRule ,Header 1 ("block-quotes",[],[]) [Str "Block",Space,Str "Quotes"] ,Para [Str "E-mail",Space,Str "style:"] ,BlockQuote [Para [Str "This",Space,Str "is",Space,Str "a",Space,Str "block",Space,Str "quote.",SoftBreak,Str "It",Space,Str "is",Space,Str "pretty",Space,Str "short."]] ,BlockQuote [Para [Str "Code",Space,Str "in",Space,Str "a",Space,Str "block",Space,Str "quote:"] ,CodeBlock ("",[],[]) "sub status {\n print \"working\";\n}" ,Para [Str "A",Space,Str "list:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "item",Space,Str "one"]] ,[Plain [Str "item",Space,Str "two"]]] ,Para [Str "Nested",Space,Str "block",Space,Str "quotes:"] ,BlockQuote [Para [Str "nested"]] ,BlockQuote [Para [Str "nested"]]] ,Para [Str "This",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "block",Space,Str "quote:",Space,Str "2",SoftBreak,Str ">",Space,Str "1."] ,Para [Str "And",Space,Str "a",Space,Str "following",Space,Str "paragraph."] ,HorizontalRule ,Header 1 ("code-blocks",[],[]) [Str "Code",Space,Str "Blocks"] ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "---- (should be four hyphens)\n\nsub status {\n print \"working\";\n}\n\nthis code block is indented by one tab" ,Para [Str "And:"] ,CodeBlock ("",[],[]) " this code block is indented by two tabs\n\nThese should not be escaped: \\$ \\\\ \\> \\[ \\{" ,HorizontalRule ,Header 1 ("lists",[],[]) [Str "Lists"] ,Header 2 ("unordered",[],[]) [Str "Unordered"] ,Para [Str "Asterisks",Space,Str "tight:"] ,BulletList [[Plain [Str "asterisk",Space,Str "1"]] ,[Plain [Str "asterisk",Space,Str "2"]] ,[Plain [Str "asterisk",Space,Str "3"]]] ,Para [Str "Asterisks",Space,Str "loose:"] ,BulletList [[Para [Str "asterisk",Space,Str "1"]] ,[Para [Str "asterisk",Space,Str "2"]] ,[Para [Str "asterisk",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "tight:"] ,BulletList [[Plain [Str "Plus",Space,Str "1"]] ,[Plain [Str "Plus",Space,Str "2"]] ,[Plain [Str "Plus",Space,Str "3"]]] ,Para [Str "Pluses",Space,Str "loose:"] ,BulletList [[Para [Str "Plus",Space,Str "1"]] ,[Para [Str "Plus",Space,Str "2"]] ,[Para [Str "Plus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "tight:"] ,BulletList [[Plain [Str "Minus",Space,Str "1"]] ,[Plain [Str "Minus",Space,Str "2"]] ,[Plain [Str "Minus",Space,Str "3"]]] ,Para [Str "Minuses",Space,Str "loose:"] ,BulletList [[Para [Str "Minus",Space,Str "1"]] ,[Para [Str "Minus",Space,Str "2"]] ,[Para [Str "Minus",Space,Str "3"]]] ,Header 2 ("ordered",[],[]) [Str "Ordered"] ,Para [Str "Tight:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "First"]] ,[Plain [Str "Second"]] ,[Plain [Str "Third"]]] ,Para [Str "and:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "One"]] ,[Plain [Str "Two"]] ,[Plain [Str "Three"]]] ,Para [Str "Loose",Space,Str "using",Space,Str "tabs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second"]] ,[Para [Str "Third"]]] ,Para [Str "and",Space,Str "using",Space,Str "spaces:"] ,OrderedList (1,Decimal,Period) [[Para [Str "One"]] ,[Para [Str "Two"]] ,[Para [Str "Three"]]] ,Para [Str "Multiple",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "Item",Space,Str "1,",Space,Str "graf",Space,Str "one."] ,Para [Str "Item",Space,Str "1.",Space,Str "graf",Space,Str "two.",Space,Str "The",Space,Str "quick",Space,Str "brown",Space,Str "fox",Space,Str "jumped",Space,Str "over",Space,Str "the",Space,Str "lazy",Space,Str "dog\8217s",SoftBreak,Str "back."]] ,[Para [Str "Item",Space,Str "2."]] ,[Para [Str "Item",Space,Str "3."]]] ,Header 2 ("nested",[],[]) [Str "Nested"] ,BulletList [[Plain [Str "Tab"] ,BulletList [[Plain [Str "Tab"] ,BulletList [[Plain [Str "Tab"]]]]]]] ,Para [Str "Here\8217s",Space,Str "another:"] ,OrderedList (1,Decimal,Period) [[Plain [Str "First"]] ,[Plain [Str "Second:"] ,BulletList [[Plain [Str "Fee"]] ,[Plain [Str "Fie"]] ,[Plain [Str "Foe"]]]] ,[Plain [Str "Third"]]] ,Para [Str "Same",Space,Str "thing",Space,Str "but",Space,Str "with",Space,Str "paragraphs:"] ,OrderedList (1,Decimal,Period) [[Para [Str "First"]] ,[Para [Str "Second:"] ,BulletList [[Plain [Str "Fee"]] ,[Plain [Str "Fie"]] ,[Plain [Str "Foe"]]]] ,[Para [Str "Third"]]] ,Header 2 ("tabs-and-spaces",[],[]) [Str "Tabs",Space,Str "and",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",SoftBreak,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "a",Space,Str "list",Space,Str "item",SoftBreak,Str "indented",Space,Str "with",Space,Str "spaces"] ,BulletList [[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",SoftBreak,Str "indented",Space,Str "with",Space,Str "tabs"]] ,[Para [Str "this",Space,Str "is",Space,Str "an",Space,Str "example",Space,Str "list",Space,Str "item",SoftBreak,Str "indented",Space,Str "with",Space,Str "spaces"]]]]] ,Header 2 ("fancy-list-markers",[],[]) [Str "Fancy",Space,Str "list",Space,Str "markers"] ,OrderedList (2,Decimal,TwoParens) [[Para [Str "begins",Space,Str "with",Space,Str "2"]] ,[Para [Str "and",Space,Str "now",Space,Str "3"] ,Para [Str "with",Space,Str "a",Space,Str "continuation"] ,OrderedList (4,LowerRoman,Period) [[Plain [Str "sublist",Space,Str "with",Space,Str "roman",Space,Str "numerals,",SoftBreak,Str "starting",Space,Str "with",Space,Str "4"]] ,[Plain [Str "more",Space,Str "items"] ,OrderedList (1,UpperAlpha,TwoParens) [[Plain [Str "a",Space,Str "subsublist"]] ,[Plain [Str "a",Space,Str "subsublist"]]]]]]] ,Para [Str "Nesting:"] ,OrderedList (1,UpperAlpha,Period) [[Plain [Str "Upper",Space,Str "Alpha"] ,OrderedList (1,UpperRoman,Period) [[Plain [Str "Upper",Space,Str "Roman."] ,OrderedList (6,Decimal,TwoParens) [[Plain [Str "Decimal",Space,Str "start",Space,Str "with",Space,Str "6"] ,OrderedList (3,LowerAlpha,OneParen) [[Plain [Str "Lower",Space,Str "alpha",Space,Str "with",Space,Str "paren"]]]]]]]]] ,Para [Str "Autonumbering:"] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Autonumber."]] ,[Plain [Str "More."] ,OrderedList (1,DefaultStyle,DefaultDelim) [[Plain [Str "Nested."]]]]] ,Para [Str "Should",Space,Str "not",Space,Str "be",Space,Str "a",Space,Str "list",Space,Str "item:"] ,Para [Str "M.A.\160\&2007"] ,Para [Str "B.",Space,Str "Williams"] ,HorizontalRule ,Header 1 ("definition-lists",[],[]) [Str "Definition",Space,Str "Lists"] ,Para [Str "Tight",Space,Str "using",Space,Str "spaces:"] ,DefinitionList [([Str "apple"], [[Plain [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Plain [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Plain [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Tight",Space,Str "using",Space,Str "tabs:"] ,DefinitionList [([Str "apple"], [[Plain [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Plain [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Plain [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Loose:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]]]) ,([Str "banana"], [[Para [Str "yellow",Space,Str "fruit"]]])] ,Para [Str "Multiple",Space,Str "blocks",Space,Str "with",Space,Str "italics:"] ,DefinitionList [([Emph [Str "apple"]], [[Para [Str "red",Space,Str "fruit"] ,Para [Str "contains",Space,Str "seeds,",SoftBreak,Str "crisp,",Space,Str "pleasant",Space,Str "to",Space,Str "taste"]]]) ,([Emph [Str "orange"]], [[Para [Str "orange",Space,Str "fruit"] ,CodeBlock ("",[],[]) "{ orange code block }" ,BlockQuote [Para [Str "orange",Space,Str "block",Space,Str "quote"]]]])] ,Para [Str "Multiple",Space,Str "definitions,",Space,Str "tight:"] ,DefinitionList [([Str "apple"], [[Plain [Str "red",Space,Str "fruit"]] ,[Plain [Str "computer"]]]) ,([Str "orange"], [[Plain [Str "orange",Space,Str "fruit"]] ,[Plain [Str "bank"]]])] ,Para [Str "Multiple",Space,Str "definitions,",Space,Str "loose:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]] ,[Para [Str "computer"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"]] ,[Para [Str "bank"]]])] ,Para [Str "Blank",Space,Str "line",Space,Str "after",Space,Str "term,",Space,Str "indented",Space,Str "marker,",Space,Str "alternate",Space,Str "markers:"] ,DefinitionList [([Str "apple"], [[Para [Str "red",Space,Str "fruit"]] ,[Para [Str "computer"]]]) ,([Str "orange"], [[Para [Str "orange",Space,Str "fruit"] ,OrderedList (1,Decimal,Period) [[Plain [Str "sublist"]] ,[Plain [Str "sublist"]]]]])] ,Header 1 ("html-blocks",[],[]) [Str "HTML",Space,Str "Blocks"] ,Para [Str "Simple",Space,Str "block",Space,Str "on",Space,Str "one",Space,Str "line:"] ,Div ("",[],[]) [Plain [Str "foo"]] ,Para [Str "And",Space,Str "nested",Space,Str "without",Space,Str "indentation:"] ,Div ("",[],[]) [Div ("",[],[]) [Div ("",[],[]) [Para [Str "foo"]]] ,Div ("",[],[]) [Plain [Str "bar"]]] ,Para [Str "Interpreted",Space,Str "markdown",Space,Str "in",Space,Str "a",Space,Str "table:"] ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,RawBlock (Format "html") "
                " ,Plain [Str "This",Space,Str "is",Space,Emph [Str "emphasized"]] ,RawBlock (Format "html") "" ,Plain [Str "And",Space,Str "this",Space,Str "is",Space,Strong [Str "strong"]] ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "" ,Para [Str "Here\8217s",Space,Str "a",Space,Str "simple",Space,Str "block:"] ,Div ("",[],[]) [Para [Str "foo"]] ,Para [Str "This",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "code",Space,Str "block,",Space,Str "though:"] ,CodeBlock ("",[],[]) "
                \n foo\n
                " ,Para [Str "As",Space,Str "should",Space,Str "this:"] ,CodeBlock ("",[],[]) "
                foo
                " ,Para [Str "Now,",Space,Str "nested:"] ,Div ("",[],[]) [Div ("",[],[]) [Div ("",[],[]) [Plain [Str "foo"]]]] ,Para [Str "This",Space,Str "should",Space,Str "just",Space,Str "be",Space,Str "an",Space,Str "HTML",Space,Str "comment:"] ,RawBlock (Format "html") "" ,Para [Str "Multiline:"] ,RawBlock (Format "html") "" ,RawBlock (Format "html") "" ,Para [Str "Code",Space,Str "block:"] ,CodeBlock ("",[],[]) "" ,Para [Str "Just",Space,Str "plain",Space,Str "comment,",Space,Str "with",Space,Str "trailing",Space,Str "spaces",Space,Str "on",Space,Str "the",Space,Str "line:"] ,RawBlock (Format "html") "" ,Para [Str "Code:"] ,CodeBlock ("",[],[]) "
                " ,Para [Str "Hr\8217s:"] ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,RawBlock (Format "html") "
                " ,HorizontalRule ,Header 1 ("inline-markup",[],[]) [Str "Inline",Space,Str "Markup"] ,Para [Str "This",Space,Str "is",Space,Emph [Str "emphasized"],Str ",",Space,Str "and",Space,Str "so",Space,Emph [Str "is",Space,Str "this"],Str "."] ,Para [Str "This",Space,Str "is",Space,Strong [Str "strong"],Str ",",Space,Str "and",Space,Str "so",Space,Strong [Str "is",Space,Str "this"],Str "."] ,Para [Str "An",Space,Emph [Link ("",[],[]) [Str "emphasized",Space,Str "link"] ("/url","")],Str "."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Strong [Emph [Str "This",Space,Str "is",Space,Str "strong",Space,Str "and",Space,Str "em."]]] ,Para [Str "So",Space,Str "is",Space,Strong [Emph [Str "this"]],Space,Str "word."] ,Para [Str "This",Space,Str "is",Space,Str "code:",Space,Code ("",[],[]) ">",Str ",",Space,Code ("",[],[]) "$",Str ",",Space,Code ("",[],[]) "\\",Str ",",Space,Code ("",[],[]) "\\$",Str ",",Space,Code ("",[],[]) "",Str "."] ,Para [Strikeout [Str "This",Space,Str "is",Space,Emph [Str "strikeout"],Str "."]] ,Para [Str "Superscripts:",Space,Str "a",Superscript [Str "bc"],Str "d",Space,Str "a",Superscript [Emph [Str "hello"]],Space,Str "a",Superscript [Str "hello\160there"],Str "."] ,Para [Str "Subscripts:",Space,Str "H",Subscript [Str "2"],Str "O,",Space,Str "H",Subscript [Str "23"],Str "O,",Space,Str "H",Subscript [Str "many\160of\160them"],Str "O."] ,Para [Str "These",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "superscripts",Space,Str "or",Space,Str "subscripts,",SoftBreak,Str "because",Space,Str "of",Space,Str "the",Space,Str "unescaped",Space,Str "spaces:",Space,Str "a^b",Space,Str "c^d,",Space,Str "a~b",Space,Str "c~d."] ,HorizontalRule ,Header 1 ("smart-quotes-ellipses-dashes",[],[]) [Str "Smart",Space,Str "quotes,",Space,Str "ellipses,",Space,Str "dashes"] ,Para [Quoted DoubleQuote [Str "Hello,"],Space,Str "said",Space,Str "the",Space,Str "spider.",Space,Quoted DoubleQuote [Quoted SingleQuote [Str "Shelob"],Space,Str "is",Space,Str "my",Space,Str "name."]] ,Para [Quoted SingleQuote [Str "A"],Str ",",Space,Quoted SingleQuote [Str "B"],Str ",",Space,Str "and",Space,Quoted SingleQuote [Str "C"],Space,Str "are",Space,Str "letters."] ,Para [Quoted SingleQuote [Str "Oak,"],Space,Quoted SingleQuote [Str "elm,"],Space,Str "and",Space,Quoted SingleQuote [Str "beech"],Space,Str "are",Space,Str "names",Space,Str "of",Space,Str "trees.",SoftBreak,Str "So",Space,Str "is",Space,Quoted SingleQuote [Str "pine."]] ,Para [Quoted SingleQuote [Str "He",Space,Str "said,",Space,Quoted DoubleQuote [Str "I",Space,Str "want",Space,Str "to",Space,Str "go."]],Space,Str "Were",Space,Str "you",Space,Str "alive",Space,Str "in",Space,Str "the",SoftBreak,Str "70\8217s?"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "quoted",Space,Quoted SingleQuote [Code ("",[],[]) "code"],Space,Str "and",Space,Str "a",Space,Quoted DoubleQuote [Link ("",[],[]) [Str "quoted",Space,Str "link"] ("http://example.com/?foo=1&bar=2","")],Str "."] ,Para [Str "Some",Space,Str "dashes:",Space,Str "one\8212two",Space,Str "\8212",Space,Str "three\8212four",Space,Str "\8212",Space,Str "five."] ,Para [Str "Dashes",Space,Str "between",Space,Str "numbers:",Space,Str "5\8211\&7,",Space,Str "255\8211\&66,",Space,Str "1987\8211\&1999."] ,Para [Str "Ellipses\8230and\8230and\8230."] ,HorizontalRule ,Header 1 ("latex",[],[]) [Str "LaTeX"] ,BulletList [[Plain [RawInline (Format "tex") "\\cite[22-23]{smith.1899}"]] ,[Plain [Math InlineMath "2+2=4"]] ,[Plain [Math InlineMath "x \\in y"]] ,[Plain [Math InlineMath "\\alpha \\wedge \\omega"]] ,[Plain [Math InlineMath "223"]] ,[Plain [Math InlineMath "p",Str "-Tree"]] ,[Plain [Str "Here\8217s",Space,Str "some",Space,Str "display",Space,Str "math:",SoftBreak,Math DisplayMath "\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}"]] ,[Plain [Str "Here\8217s",Space,Str "one",Space,Str "that",Space,Str "has",Space,Str "a",Space,Str "line",Space,Str "break",Space,Str "in",Space,Str "it:",Space,Math InlineMath "\\alpha + \\omega \\times x^2",Str "."]]] ,Para [Str "These",Space,Str "shouldn\8217t",Space,Str "be",Space,Str "math:"] ,BulletList [[Plain [Str "To",Space,Str "get",Space,Str "the",Space,Str "famous",Space,Str "equation,",Space,Str "write",Space,Code ("",[],[]) "$e = mc^2$",Str "."]] ,[Plain [Str "$22,000",Space,Str "is",Space,Str "a",Space,Emph [Str "lot"],Space,Str "of",Space,Str "money.",Space,Str "So",Space,Str "is",Space,Str "$34,000.",SoftBreak,Str "(It",Space,Str "worked",Space,Str "if",Space,Quoted DoubleQuote [Str "lot"],Space,Str "is",Space,Str "emphasized.)"]] ,[Plain [Str "Shoes",Space,Str "($20)",Space,Str "and",Space,Str "socks",Space,Str "($5)."]] ,[Plain [Str "Escaped",Space,Code ("",[],[]) "$",Str ":",Space,Str "$73",Space,Emph [Str "this",Space,Str "should",Space,Str "be",Space,Str "emphasized"],Space,Str "23$."]]] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "LaTeX",Space,Str "table:"] ,RawBlock (Format "tex") "\\begin{tabular}{|l|l|}\\hline\nAnimal & Number \\\\ \\hline\nDog & 2 \\\\\nCat & 1 \\\\ \\hline\n\\end{tabular}" ,HorizontalRule ,Header 1 ("special-characters",[],[]) [Str "Special",Space,Str "Characters"] ,Para [Str "Here",Space,Str "is",Space,Str "some",Space,Str "unicode:"] ,BulletList [[Plain [Str "I",Space,Str "hat:",Space,Str "\206"]] ,[Plain [Str "o",Space,Str "umlaut:",Space,Str "\246"]] ,[Plain [Str "section:",Space,Str "\167"]] ,[Plain [Str "set",Space,Str "membership:",Space,Str "\8712"]] ,[Plain [Str "copyright:",Space,Str "\169"]]] ,Para [Str "AT&T",Space,Str "has",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "their",Space,Str "name."] ,Para [Str "AT&T",Space,Str "is",Space,Str "another",Space,Str "way",Space,Str "to",Space,Str "write",Space,Str "it."] ,Para [Str "This",Space,Str "&",Space,Str "that."] ,Para [Str "4",Space,Str "<",Space,Str "5."] ,Para [Str "6",Space,Str ">",Space,Str "5."] ,Para [Str "Backslash:",Space,Str "\\"] ,Para [Str "Backtick:",Space,Str "`"] ,Para [Str "Asterisk:",Space,Str "*"] ,Para [Str "Underscore:",Space,Str "_"] ,Para [Str "Left",Space,Str "brace:",Space,Str "{"] ,Para [Str "Right",Space,Str "brace:",Space,Str "}"] ,Para [Str "Left",Space,Str "bracket:",Space,Str "["] ,Para [Str "Right",Space,Str "bracket:",Space,Str "]"] ,Para [Str "Left",Space,Str "paren:",Space,Str "("] ,Para [Str "Right",Space,Str "paren:",Space,Str ")"] ,Para [Str "Greater-than:",Space,Str ">"] ,Para [Str "Hash:",Space,Str "#"] ,Para [Str "Period:",Space,Str "."] ,Para [Str "Bang:",Space,Str "!"] ,Para [Str "Plus:",Space,Str "+"] ,Para [Str "Minus:",Space,Str "-"] ,HorizontalRule ,Header 1 ("links",[],[]) [Str "Links"] ,Header 2 ("explicit",[],[]) [Str "Explicit"] ,Para [Str "Just",Space,Str "a",Space,Link ("",[],[]) [Str "URL"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by two spaces"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title preceded by a tab"),Str "."] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with \"quotes\" in it")] ,Para [Link ("",[],[]) [Str "URL",Space,Str "and",Space,Str "title"] ("/url/","title with single quotes")] ,Para [Link ("",[],[]) [Str "with_underscore"] ("/url/with_underscore","")] ,Para [Link ("",[],[]) [Str "Email",Space,Str "link"] ("mailto:nobody@nowhere.net","")] ,Para [Link ("",[],[]) [Str "Empty"] ("",""),Str "."] ,Header 2 ("reference",[],[]) [Str "Reference"] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/",""),Str "."] ,Para [Str "With",Space,Link ("",[],[]) [Str "embedded",Space,Str "[brackets]"] ("/url/",""),Str "."] ,Para [Link ("",[],[]) [Str "b"] ("/url/",""),Space,Str "by",Space,Str "itself",Space,Str "should",Space,Str "be",Space,Str "a",Space,Str "link."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "once"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "twice"] ("/url",""),Str "."] ,Para [Str "Indented",Space,Link ("",[],[]) [Str "thrice"] ("/url",""),Str "."] ,Para [Str "This",Space,Str "should",Space,Str "[not][]",Space,Str "be",Space,Str "a",Space,Str "link."] ,CodeBlock ("",[],[]) "[not]: /url" ,Para [Str "Foo",Space,Link ("",[],[]) [Str "bar"] ("/url/","Title with \"quotes\" inside"),Str "."] ,Para [Str "Foo",Space,Link ("",[],[]) [Str "biz"] ("/url/","Title with \"quote\" inside"),Str "."] ,Header 2 ("with-ampersands",[],[]) [Str "With",Space,Str "ampersands"] ,Para [Str "Here\8217s",Space,Str "a",Space,Link ("",[],[]) [Str "link",Space,Str "with",Space,Str "an",Space,Str "ampersand",Space,Str "in",Space,Str "the",Space,Str "URL"] ("http://example.com/?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "a",Space,Str "link",Space,Str "with",Space,Str "an",Space,Str "amersand",Space,Str "in",Space,Str "the",Space,Str "link",Space,Str "text:",Space,Link ("",[],[]) [Str "AT&T"] ("http://att.com/","AT&T"),Str "."] ,Para [Str "Here\8217s",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link"] ("/script?foo=1&bar=2",""),Str "."] ,Para [Str "Here\8217s",Space,Str "an",Space,Link ("",[],[]) [Str "inline",Space,Str "link",Space,Str "in",Space,Str "pointy",Space,Str "braces"] ("/script?foo=1&bar=2",""),Str "."] ,Header 2 ("autolinks",[],[]) [Str "Autolinks"] ,Para [Str "With",Space,Str "an",Space,Str "ampersand:",Space,Link ("",["uri"],[]) [Str "http://example.com/?foo=1&bar=2"] ("http://example.com/?foo=1&bar=2","")] ,BulletList [[Plain [Str "In",Space,Str "a",Space,Str "list?"]] ,[Plain [Link ("",["uri"],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,[Plain [Str "It",Space,Str "should."]]] ,Para [Str "An",Space,Str "e-mail",Space,Str "address:",Space,Link ("",["email"],[]) [Str "nobody@nowhere.net"] ("mailto:nobody@nowhere.net","")] ,BlockQuote [Para [Str "Blockquoted:",Space,Link ("",["uri"],[]) [Str "http://example.com/"] ("http://example.com/","")]] ,Para [Str "Auto-links",Space,Str "should",Space,Str "not",Space,Str "occur",Space,Str "here:",Space,Code ("",[],[]) ""] ,CodeBlock ("",[],[]) "or here: " ,HorizontalRule ,Header 1 ("images",[],[]) [Str "Images"] ,Para [Str "From",Space,Quoted DoubleQuote [Str "Voyage",Space,Str "dans",Space,Str "la",Space,Str "Lune"],Space,Str "by",Space,Str "Georges",Space,Str "Melies",Space,Str "(1902):"] ,Para [Image ("",[],[]) [Str "lalune"] ("lalune.jpg","fig:Voyage dans la Lune")] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "movie",Space,Image ("",[],[]) [Str "movie"] ("movie.jpg",""),Space,Str "icon."] ,HorizontalRule ,Header 1 ("footnotes",[],[]) [Str "Footnotes"] ,Para [Str "Here",Space,Str "is",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Note [Para [Str "Here",Space,Str "is",Space,Str "the",Space,Str "footnote.",Space,Str "It",Space,Str "can",Space,Str "go",Space,Str "anywhere",Space,Str "after",Space,Str "the",Space,Str "footnote",SoftBreak,Str "reference.",Space,Str "It",Space,Str "need",Space,Str "not",Space,Str "be",Space,Str "placed",Space,Str "at",Space,Str "the",Space,Str "end",Space,Str "of",Space,Str "the",Space,Str "document."]],Space,Str "and",Space,Str "another.",Note [Para [Str "Here\8217s",Space,Str "the",Space,Str "long",Space,Str "note.",Space,Str "This",Space,Str "one",Space,Str "contains",Space,Str "multiple",SoftBreak,Str "blocks."],Para [Str "Subsequent",Space,Str "blocks",Space,Str "are",Space,Str "indented",Space,Str "to",Space,Str "show",Space,Str "that",Space,Str "they",Space,Str "belong",Space,Str "to",Space,Str "the",SoftBreak,Str "footnote",Space,Str "(as",Space,Str "with",Space,Str "list",Space,Str "items)."],CodeBlock ("",[],[]) " { }",Para [Str "If",Space,Str "you",Space,Str "want,",Space,Str "you",Space,Str "can",Space,Str "indent",Space,Str "every",Space,Str "line,",Space,Str "but",Space,Str "you",Space,Str "can",Space,Str "also",Space,Str "be",SoftBreak,Str "lazy",Space,Str "and",Space,Str "just",Space,Str "indent",Space,Str "the",Space,Str "first",Space,Str "line",Space,Str "of",Space,Str "each",Space,Str "block."]],SoftBreak,Str "This",Space,Str "should",Space,Emph [Str "not"],Space,Str "be",Space,Str "a",Space,Str "footnote",Space,Str "reference,",Space,Str "because",Space,Str "it",SoftBreak,Str "contains",Space,Str "a",Space,Str "space.[^my",Space,Str "note]",Space,Str "Here",Space,Str "is",Space,Str "an",Space,Str "inline",Space,Str "note.",Note [Para [Str "This",SoftBreak,Str "is",Space,Emph [Str "easier"],Space,Str "to",Space,Str "type.",Space,Str "Inline",Space,Str "notes",Space,Str "may",Space,Str "contain",SoftBreak,Link ("",[],[]) [Str "links"] ("http://google.com",""),Space,Str "and",Space,Code ("",[],[]) "]",Space,Str "verbatim",Space,Str "characters,",SoftBreak,Str "as",Space,Str "well",Space,Str "as",Space,Str "[bracketed",Space,Str "text]."]]] ,BlockQuote [Para [Str "Notes",Space,Str "can",Space,Str "go",Space,Str "in",Space,Str "quotes.",Note [Para [Str "In",Space,Str "quote."]]]] ,OrderedList (1,Decimal,Period) [[Plain [Str "And",Space,Str "in",Space,Str "list",Space,Str "items.",Note [Para [Str "In",Space,Str "list."]]]]] ,Para [Str "This",Space,Str "paragraph",Space,Str "should",Space,Str "not",Space,Str "be",Space,Str "part",Space,Str "of",Space,Str "the",Space,Str "note,",Space,Str "as",Space,Str "it",Space,Str "is",Space,Str "not",Space,Str "indented."]] pandoc-2.9.2.1/test/writer.opendocument000066400000000000000000004456061363630463000200670ustar00rootroot00000000000000 Pandoc Test Suite John MacFarlane Anonymous July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. Headers Level 2 with an embedded link Level 3 with emphasis Level 4 Level 5 Level 1 Level 2 with emphasis Level 3 with no blank line Level 2 with no blank line Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line breakhere. Block Quotes E-mail style: This is a block quote. It is pretty short. Code in a block quote: sub status { print "working"; } A list: item one item two Nested block quotes: nested nested This should not be a block quote: 2 > 1. And a following paragraph. Code Blocks Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ Lists Unordered Asterisks tight: asterisk 1 asterisk 2 asterisk 3 Asterisks loose: asterisk 1 asterisk 2 asterisk 3 Pluses tight: Plus 1 Plus 2 Plus 3 Pluses loose: Plus 1 Plus 2 Plus 3 Minuses tight: Minus 1 Minus 2 Minus 3 Minuses loose: Minus 1 Minus 2 Minus 3 Ordered Tight: First Second Third and: One Two Three Loose using tabs: First Second Third and using spaces: One Two Three Multiple paragraphs: Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. Item 2. Item 3. Nested Tab Tab Tab Here’s another: First Second: Fee Fie Foe Third Same thing but with paragraphs: First Second: Fee Fie Foe Third Tabs and spaces this is a list item indented with tabs this is a list item indented with spaces this is an example list item indented with tabs this is an example list item indented with spaces Fancy list markers begins with 2 and now 3 with a continuation sublist with roman numerals, starting with 4 more items a subsublist a subsublist Nesting: Upper Alpha Upper Roman. Decimal start with 6 Lower alpha with paren Autonumbering: Autonumber. More. Nested. Should not be a list item: M.A. 2007 B. Williams Definition Lists Tight using spaces: apple red fruit orange orange fruit banana yellow fruit Tight using tabs: apple red fruit orange orange fruit banana yellow fruit Loose: apple red fruit orange orange fruit banana yellow fruit Multiple blocks with italics: apple red fruitcontains seeds, crisp, pleasant to taste orange orange fruit{ orange code block }orange block quote Multiple definitions, tight: apple red fruit computer orange orange fruit bank Multiple definitions, loose: apple red fruit computer orange orange fruit bank Blank line after term, indented marker, alternate markers: apple red fruit computer orange orange fruit sublist sublist HTML Blocks Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is emphasized And this is strong Here’s a simple block: foo This should be a code block, though: <div> foo </div> As should this: <div>foo</div> Now, nested: foo This should just be an HTML comment: Multiline: Code block: <!-- Comment --> Just plain comment, with trailing spaces on the line: Code: <hr /> Hr’s: Inline Markup This is emphasized, and so is this. This is strong, and so is this. An emphasized link. This is strong and em. So is this word. This is strong and em. So is this word. This is code: >, $, \, \$, <html>. This is strikeout. Superscripts: abcd ahello ahello there. Subscripts: H2O, H23O, Hmany of themO. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. Smart quotes, ellipses, dashes “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘code’ and a “quoted link”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. LaTeX 2 + 2 = 4 x ∈ y α ∧ ω 223 p-Tree Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ Here’s one that has a line break in it: α + ω × x2. These shouldn’t be math: To get the famous equation, write $e = mc^2$. $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.) Shoes ($20) and socks ($5). Escaped $: $73 this should be emphasized 23$. Here’s a LaTeX table: Special Characters Here is some unicode: I hat: Î o umlaut: ö section: § set membership: ∈ copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - Links Explicit Just a URL. URL and title. URL and title. URL and title. URL and title URL and title with_underscore Email link Empty. Reference Foo bar. With embedded [brackets]. b by itself should be a link. Indented once. Indented twice. Indented thrice. This should [not][] be a link. [not]: /url Foo bar. Foo biz. With ampersands Here’s a link with an ampersand in the URL. Here’s a link with an amersand in the link text: AT&T. Here’s an inline link. Here’s an inline link in pointy braces. Autolinks With an ampersand: http://example.com/?foo=1&bar=2 In a list? http://example.com/ It should. An e-mail address: nobody@nowhere.net Blockquoted: http://example.com/ Auto-links should not occur here: <http://example.com/> or here: <http://example.com/> Images From “Voyage dans la Lune” by Georges Melies (1902): lalune Here is a movie icon. Footnotes Here is a footnote reference,1Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. and another.2Here’s the long note. This one contains multiple blocks.Subsequent blocks are indented to show that they belong to the footnote (as with list items).{ <code> }If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.3This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text]. Notes can go in quotes.4In quote. And in list items.5In list. This paragraph should not be part of the note, as it is not indented. pandoc-2.9.2.1/test/writer.opml000066400000000000000000000313051363630463000163210ustar00rootroot00000000000000 Pandoc Test Suite Mon, 17 Jul 2006 00:00:00 UTC John MacFarlane; Anonymous pandoc-2.9.2.1/test/writer.org000066400000000000000000000266141363630463000161500ustar00rootroot00000000000000#+TITLE: Pandoc Test Suite #+AUTHOR: John MacFarlane; Anonymous #+DATE: July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. -------------- * Headers :PROPERTIES: :CUSTOM_ID: headers :END: ** Level 2 with an [[/url][embedded link]] :PROPERTIES: :CUSTOM_ID: level-2-with-an-embedded-link :END: *** Level 3 with /emphasis/ :PROPERTIES: :CUSTOM_ID: level-3-with-emphasis :END: **** Level 4 :PROPERTIES: :CUSTOM_ID: level-4 :END: ***** Level 5 :PROPERTIES: :CUSTOM_ID: level-5 :END: * Level 1 :PROPERTIES: :CUSTOM_ID: level-1 :END: ** Level 2 with /emphasis/ :PROPERTIES: :CUSTOM_ID: level-2-with-emphasis :END: *** Level 3 :PROPERTIES: :CUSTOM_ID: level-3 :END: with no blank line ** Level 2 :PROPERTIES: :CUSTOM_ID: level-2 :END: with no blank line -------------- * Paragraphs :PROPERTIES: :CUSTOM_ID: paragraphs :END: Here's a regular paragraph. 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. Here's one with a bullet. * criminey. There should be a hard line break\\ here. -------------- * Block Quotes :PROPERTIES: :CUSTOM_ID: block-quotes :END: E-mail style: #+BEGIN_QUOTE This is a block quote. It is pretty short. #+END_QUOTE #+BEGIN_QUOTE Code in a block quote: #+BEGIN_EXAMPLE sub status { print "working"; } #+END_EXAMPLE A list: 1. item one 2. item two Nested block quotes: #+BEGIN_QUOTE nested #+END_QUOTE #+BEGIN_QUOTE nested #+END_QUOTE #+END_QUOTE This should not be a block quote: 2 > 1. And a following paragraph. -------------- * Code Blocks :PROPERTIES: :CUSTOM_ID: code-blocks :END: Code: #+BEGIN_EXAMPLE ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab #+END_EXAMPLE And: #+BEGIN_EXAMPLE this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ #+END_EXAMPLE -------------- * Lists :PROPERTIES: :CUSTOM_ID: lists :END: ** Unordered :PROPERTIES: :CUSTOM_ID: unordered :END: Asterisks tight: - asterisk 1 - asterisk 2 - asterisk 3 Asterisks loose: - asterisk 1 - asterisk 2 - asterisk 3 Pluses tight: - Plus 1 - Plus 2 - Plus 3 Pluses loose: - Plus 1 - Plus 2 - Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 ** Ordered :PROPERTIES: :CUSTOM_ID: ordered :END: Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog's back. 2. Item 2. 3. Item 3. ** Nested :PROPERTIES: :CUSTOM_ID: nested :END: - Tab - Tab - Tab Here's another: 1. First 2. Second: - Fee - Fie - Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: - Fee - Fie - Foe 3. Third ** Tabs and spaces :PROPERTIES: :CUSTOM_ID: tabs-and-spaces :END: - this is a list item indented with tabs - this is a list item indented with spaces - this is an example list item indented with tabs - this is an example list item indented with spaces ** Fancy list markers :PROPERTIES: :CUSTOM_ID: fancy-list-markers :END: 2) begins with 2 3) and now 3 with a continuation 4. sublist with roman numerals, starting with 4 5. more items 1) a subsublist 2) a subsublist Nesting: 1. Upper Alpha 1. Upper Roman. 6) Decimal start with 6 3) Lower alpha with paren Autonumbering: 1. Autonumber. 2. More. 1. Nested. Should not be a list item: M.A. 2007 B. Williams -------------- * Definition Lists :PROPERTIES: :CUSTOM_ID: definition-lists :END: Tight using spaces: - apple :: red fruit - orange :: orange fruit - banana :: yellow fruit Tight using tabs: - apple :: red fruit - orange :: orange fruit - banana :: yellow fruit Loose: - apple :: red fruit - orange :: orange fruit - banana :: yellow fruit Multiple blocks with italics: - /apple/ :: red fruit contains seeds, crisp, pleasant to taste - /orange/ :: orange fruit #+BEGIN_EXAMPLE { orange code block } #+END_EXAMPLE #+BEGIN_QUOTE orange block quote #+END_QUOTE Multiple definitions, tight: - apple :: red fruit computer - orange :: orange fruit bank Multiple definitions, loose: - apple :: red fruit computer - orange :: orange fruit bank Blank line after term, indented marker, alternate markers: - apple :: red fruit computer - orange :: orange fruit 1. sublist 2. sublist * HTML Blocks :PROPERTIES: :CUSTOM_ID: html-blocks :END: Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: #+BEGIN_HTML #+END_HTML #+BEGIN_HTML #+END_HTML #+BEGIN_HTML #+END_HTML #+BEGIN_HTML #+END_HTML #+BEGIN_HTML #+END_HTML #+BEGIN_HTML
                #+END_HTML This is /emphasized/ #+BEGIN_HTML #+END_HTML And this is *strong* #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML #+END_HTML Here's a simple block: foo This should be a code block, though: #+BEGIN_EXAMPLE
                foo
                #+END_EXAMPLE As should this: #+BEGIN_EXAMPLE
                foo
                #+END_EXAMPLE Now, nested: foo This should just be an HTML comment: #+BEGIN_HTML #+END_HTML Multiline: #+BEGIN_HTML #+END_HTML #+BEGIN_HTML #+END_HTML Code block: #+BEGIN_EXAMPLE #+END_EXAMPLE Just plain comment, with trailing spaces on the line: #+BEGIN_HTML #+END_HTML Code: #+BEGIN_EXAMPLE
                #+END_EXAMPLE Hr's: #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML
                #+END_HTML #+BEGIN_HTML
                #+END_HTML -------------- * Inline Markup :PROPERTIES: :CUSTOM_ID: inline-markup :END: This is /emphasized/, and so /is this/. This is *strong*, and so *is this*. An /[[/url][emphasized link]]/. */This is strong and em./* So is */this/* word. */This is strong and em./* So is */this/* word. This is code: =>=, =$=, =\=, =\$=, ==. +This is /strikeout/.+ Superscripts: a^{bc}d a^{/hello/} a^{hello there}. Subscripts: H_{2}O, H_{23}O, H_{many of them}O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. -------------- * Smart quotes, ellipses, dashes :PROPERTIES: :CUSTOM_ID: smart-quotes-ellipses-dashes :END: "Hello," said the spider. "'Shelob' is my name." 'A', 'B', and 'C' are letters. 'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.' 'He said, "I want to go."' Were you alive in the 70's? Here is some quoted '=code=' and a "[[http://example.com/?foo=1&bar=2][quoted link]]". Some dashes: one---two --- three---four --- five. Dashes between numbers: 5--7, 255--66, 1987--1999. Ellipses...and...and.... -------------- * LaTeX :PROPERTIES: :CUSTOM_ID: latex :END: - \cite[22-23]{smith.1899} - $2+2=4$ - $x \in y$ - $\alpha \wedge \omega$ - $223$ - $p$-Tree - Here's some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ - Here's one that has a line break in it: $\alpha + \omega \times x^2$. These shouldn't be math: - To get the famous equation, write =$e = mc^2$=. - $22,000 is a /lot/ of money. So is $34,000. (It worked if "lot" is emphasized.) - Shoes ($20) and socks ($5). - Escaped =$=: $73 /this should be emphasized/ 23$. Here's a LaTeX table: \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} -------------- * Special Characters :PROPERTIES: :CUSTOM_ID: special-characters :END: Here is some unicode: - I hat: Î - o umlaut: ö - section: § - set membership: ∈ - copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - -------------- * Links :PROPERTIES: :CUSTOM_ID: links :END: ** Explicit :PROPERTIES: :CUSTOM_ID: explicit :END: Just a [[/url/][URL]]. [[/url/][URL and title]]. [[/url/][URL and title]]. [[/url/][URL and title]]. [[/url/][URL and title]] [[/url/][URL and title]] [[/url/with_underscore][with_underscore]] [[mailto:nobody@nowhere.net][Email link]] [[][Empty]]. ** Reference :PROPERTIES: :CUSTOM_ID: reference :END: Foo [[/url/][bar]]. With [[/url/][embedded [brackets]]]. [[/url/][b]] by itself should be a link. Indented [[/url][once]]. Indented [[/url][twice]]. Indented [[/url][thrice]]. This should [not][] be a link. #+BEGIN_EXAMPLE [not]: /url #+END_EXAMPLE Foo [[/url/][bar]]. Foo [[/url/][biz]]. ** With ampersands :PROPERTIES: :CUSTOM_ID: with-ampersands :END: Here's a [[http://example.com/?foo=1&bar=2][link with an ampersand in the URL]]. Here's a link with an amersand in the link text: [[http://att.com/][AT&T]]. Here's an [[/script?foo=1&bar=2][inline link]]. Here's an [[/script?foo=1&bar=2][inline link in pointy braces]]. ** Autolinks :PROPERTIES: :CUSTOM_ID: autolinks :END: With an ampersand: [[http://example.com/?foo=1&bar=2]] - In a list? - [[http://example.com/]] - It should. An e-mail address: [[mailto:nobody@nowhere.net][nobody@nowhere.net]] #+BEGIN_QUOTE Blockquoted: [[http://example.com/]] #+END_QUOTE Auto-links should not occur here: == #+BEGIN_EXAMPLE or here: #+END_EXAMPLE -------------- * Images :PROPERTIES: :CUSTOM_ID: images :END: From "Voyage dans la Lune" by Georges Melies (1902): #+CAPTION: lalune [[file:lalune.jpg]] Here is a movie [[file:movie.jpg]] icon. -------------- * Footnotes :PROPERTIES: :CUSTOM_ID: footnotes :END: Here is a footnote reference,[fn:1] and another.[fn:2] This should /not/ be a footnote reference, because it contains a space.[^my note] Here is an inline note.[fn:3] #+BEGIN_QUOTE Notes can go in quotes.[fn:4] #+END_QUOTE 1. And in list items.[fn:5] This paragraph should not be part of the note, as it is not indented. [fn:1] Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. [fn:2] Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). #+BEGIN_EXAMPLE { } #+END_EXAMPLE If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. [fn:3] This is /easier/ to type. Inline notes may contain [[http://google.com][links]] and =]= verbatim characters, as well as [bracketed text]. [fn:4] In quote. [fn:5] In list. pandoc-2.9.2.1/test/writer.plain000066400000000000000000000211371363630463000164570ustar00rootroot00000000000000Pandoc Test Suite John MacFarlane; Anonymous July 17, 2006 This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ------------------------------------------------------------------------------ Headers Level 2 with an embedded link Level 3 with emphasis Level 4 Level 5 Level 1 Level 2 with emphasis Level 3 with no blank line Level 2 with no blank line ------------------------------------------------------------------------------ Paragraphs Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break here. ------------------------------------------------------------------------------ Block Quotes E-mail style: This is a block quote. It is pretty short. Code in a block quote: sub status { print "working"; } A list: 1. item one 2. item two Nested block quotes: nested nested This should not be a block quote: 2 > 1. And a following paragraph. ------------------------------------------------------------------------------ Code Blocks Code: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ ------------------------------------------------------------------------------ Lists Unordered Asterisks tight: - asterisk 1 - asterisk 2 - asterisk 3 Asterisks loose: - asterisk 1 - asterisk 2 - asterisk 3 Pluses tight: - Plus 1 - Plus 2 - Plus 3 Pluses loose: - Plus 1 - Plus 2 - Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 Ordered Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. 2. Item 2. 3. Item 3. Nested - Tab - Tab - Tab Here’s another: 1. First 2. Second: - Fee - Fie - Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: - Fee - Fie - Foe 3. Third Tabs and spaces - this is a list item indented with tabs - this is a list item indented with spaces - this is an example list item indented with tabs - this is an example list item indented with spaces Fancy list markers (2) begins with 2 (3) and now 3 with a continuation iv. sublist with roman numerals, starting with 4 v. more items (A) a subsublist (B) a subsublist Nesting: A. Upper Alpha I. Upper Roman. (6) Decimal start with 6 c) Lower alpha with paren Autonumbering: 1. Autonumber. 2. More. 1. Nested. Should not be a list item: M.A. 2007 B. Williams ------------------------------------------------------------------------------ Definition Lists Tight using spaces: apple red fruit orange orange fruit banana yellow fruit Tight using tabs: apple red fruit orange orange fruit banana yellow fruit Loose: apple red fruit orange orange fruit banana yellow fruit Multiple blocks with italics: apple red fruit contains seeds, crisp, pleasant to taste orange orange fruit { orange code block } orange block quote Multiple definitions, tight: apple red fruit computer orange orange fruit bank Multiple definitions, loose: apple red fruit computer orange orange fruit bank Blank line after term, indented marker, alternate markers: apple red fruit computer orange orange fruit 1. sublist 2. sublist HTML Blocks Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is emphasized And this is strong Here’s a simple block: foo This should be a code block, though:
                foo
                As should this:
                foo
                Now, nested: foo This should just be an HTML comment: Multiline: Code block: Just plain comment, with trailing spaces on the line: Code:
                Hr’s: ------------------------------------------------------------------------------ Inline Markup This is emphasized, and so is this. This is strong, and so is this. An emphasized link. This is strong and em. So is this word. This is strong and em. So is this word. This is code: >, $, \, \$, . ~~This is strikeout.~~ Superscripts: a^(bc)d a^(hello) a^(hello there). Subscripts: H₂O, H₂₃O, H_(many of them)O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ------------------------------------------------------------------------------ Smart quotes, ellipses, dashes “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘code’ and a “quoted link”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ------------------------------------------------------------------------------ LaTeX - - 2 + 2 = 4 - x ∈ y - α ∧ ω - 223 - p-Tree - Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ - Here’s one that has a line break in it: α + ω × x². These shouldn’t be math: - To get the famous equation, write $e = mc^2$. - $22,000 is a lot of money. So is $34,000. (It worked if “lot” is emphasized.) - Shoes ($20) and socks ($5). - Escaped $: $73 this should be emphasized 23$. Here’s a LaTeX table: ------------------------------------------------------------------------------ Special Characters Here is some unicode: - I hat: Î - o umlaut: ö - section: § - set membership: ∈ - copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ------------------------------------------------------------------------------ Links Explicit Just a URL. URL and title. URL and title. URL and title. URL and title URL and title with_underscore Email link Empty. Reference Foo bar. With embedded [brackets]. b by itself should be a link. Indented once. Indented twice. Indented thrice. This should [not][] be a link. [not]: /url Foo bar. Foo biz. With ampersands Here’s a link with an ampersand in the URL. Here’s a link with an amersand in the link text: AT&T. Here’s an inline link. Here’s an inline link in pointy braces. Autolinks With an ampersand: http://example.com/?foo=1&bar=2 - In a list? - http://example.com/ - It should. An e-mail address: nobody@nowhere.net Blockquoted: http://example.com/ Auto-links should not occur here: or here: ------------------------------------------------------------------------------ Images From “Voyage dans la Lune” by Georges Melies (1902): [lalune] Here is a movie [movie] icon. ------------------------------------------------------------------------------ Footnotes Here is a footnote reference,[1] and another.[2] This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.[3] Notes can go in quotes.[4] 1. And in list items.[5] This paragraph should not be part of the note, as it is not indented. [1] Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. [2] Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). { } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. [3] This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text]. [4] In quote. [5] In list. pandoc-2.9.2.1/test/writer.rst000066400000000000000000000241751363630463000161710ustar00rootroot00000000000000================= Pandoc Test Suite ================= :Author: John MacFarlane :Author: Anonymous :Date: July 17, 2006 .. role:: raw-latex(raw) :format: latex .. This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. -------------- Headers ======= Level 2 with an `embedded link `__ ---------------------------------------- Level 3 with *emphasis* ~~~~~~~~~~~~~~~~~~~~~~~ Level 4 ^^^^^^^ Level 5 ''''''' Level 1 ======= Level 2 with *emphasis* ----------------------- Level 3 ~~~~~~~ with no blank line Level 2 ------- with no blank line -------------- Paragraphs ========== Here’s a regular paragraph. 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. Here’s one with a bullet. \* criminey. | There should be a hard line break | here. -------------- Block Quotes ============ E-mail style: This is a block quote. It is pretty short. .. Code in a block quote: :: sub status { print "working"; } A list: 1. item one 2. item two Nested block quotes: nested .. nested This should not be a block quote: 2 > 1. And a following paragraph. -------------- Code Blocks =========== Code: :: ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab And: :: this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ -------------- Lists ===== Unordered --------- Asterisks tight: - asterisk 1 - asterisk 2 - asterisk 3 Asterisks loose: - asterisk 1 - asterisk 2 - asterisk 3 Pluses tight: - Plus 1 - Plus 2 - Plus 3 Pluses loose: - Plus 1 - Plus 2 - Plus 3 Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 Ordered ------- Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. 2. Item 2. 3. Item 3. Nested ------ - Tab - Tab - Tab Here’s another: 1. First 2. Second: - Fee - Fie - Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: - Fee - Fie - Foe 3. Third Tabs and spaces --------------- - this is a list item indented with tabs - this is a list item indented with spaces - this is an example list item indented with tabs - this is an example list item indented with spaces Fancy list markers ------------------ (2) begins with 2 (3) and now 3 with a continuation iv. sublist with roman numerals, starting with 4 v. more items (A) a subsublist (B) a subsublist Nesting: A. Upper Alpha I. Upper Roman. (6) Decimal start with 6 c) Lower alpha with paren Autonumbering: #. Autonumber. #. More. #. Nested. Should not be a list item: M.A. 2007 B. Williams -------------- Definition Lists ================ Tight using spaces: apple red fruit orange orange fruit banana yellow fruit Tight using tabs: apple red fruit orange orange fruit banana yellow fruit Loose: apple red fruit orange orange fruit banana yellow fruit Multiple blocks with italics: *apple* red fruit contains seeds, crisp, pleasant to taste *orange* orange fruit :: { orange code block } .. orange block quote Multiple definitions, tight: apple red fruit computer orange orange fruit bank Multiple definitions, loose: apple red fruit computer orange orange fruit bank Blank line after term, indented marker, alternate markers: apple red fruit computer orange orange fruit 1. sublist 2. sublist HTML Blocks =========== Simple block on one line: .. container:: foo And nested without indentation: .. container:: .. container:: .. container:: foo .. container:: bar Interpreted markdown in a table: .. raw:: html .. raw:: html .. raw:: html .. raw:: html .. raw:: html .. raw:: html
                This is *emphasized* .. raw:: html And this is **strong** .. raw:: html
                .. raw:: html Here’s a simple block: .. container:: foo This should be a code block, though: ::
                foo
                As should this: ::
                foo
                Now, nested: .. container:: .. container:: .. container:: foo This should just be an HTML comment: .. raw:: html Multiline: .. raw:: html .. raw:: html Code block: :: Just plain comment, with trailing spaces on the line: .. raw:: html Code: ::
                Hr’s: .. raw:: html
                .. raw:: html
                .. raw:: html
                .. raw:: html
                .. raw:: html
                .. raw:: html
                .. raw:: html
                .. raw:: html
                .. raw:: html
                -------------- Inline Markup ============= This is *emphasized*, and so *is this*. This is **strong**, and so **is this**. An `emphasized link `__. **This is strong and em.** So is **this** word. **This is strong and em.** So is **this** word. This is code: ``>``, ``$``, ``\``, ``\$``, ````. [STRIKEOUT:This is strikeout.] Superscripts: a\ :sup:`bc`\ d a\ :sup:`hello` a\ :sup:`hello there`. Subscripts: H\ :sub:`2`\ O, H\ :sub:`23`\ O, H\ :sub:`many of them`\ O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. -------------- Smart quotes, ellipses, dashes ============================== “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘``code``’ and a “`quoted link `__”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. -------------- LaTeX ===== - :raw-latex:`\cite[22-23]{smith.1899}` - :math:`2+2=4` - :math:`x \in y` - :math:`\alpha \wedge \omega` - :math:`223` - :math:`p`-Tree - Here’s some display math: .. math:: \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} - Here’s one that has a line break in it: :math:`\alpha + \omega \times x^2`. These shouldn’t be math: - To get the famous equation, write ``$e = mc^2$``. - $22,000 is a *lot* of money. So is $34,000. (It worked if “lot” is emphasized.) - Shoes ($20) and socks ($5). - Escaped ``$``: $73 *this should be emphasized* 23$. Here’s a LaTeX table: .. raw:: latex \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} -------------- Special Characters ================== Here is some unicode: - I hat: Î - o umlaut: ö - section: § - set membership: ∈ - copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \\ Backtick: \` Asterisk: \* Underscore: \_ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - -------------- Links ===== Explicit -------- Just a `URL `__. `URL and title `__. `URL and title `__. `URL and title `__. `URL and title `__ `URL and title `__ `with_underscore `__ `Email link `__ `Empty <>`__. Reference --------- Foo `bar `__. With `embedded [brackets] `__. `b `__ by itself should be a link. Indented `once `__. Indented `twice `__. Indented `thrice `__. This should [not][] be a link. :: [not]: /url Foo `bar `__. Foo `biz `__. With ampersands --------------- Here’s a `link with an ampersand in the URL `__. Here’s a link with an amersand in the link text: `AT&T `__. Here’s an `inline link `__. Here’s an `inline link in pointy braces `__. Autolinks --------- With an ampersand: http://example.com/?foo=1&bar=2 - In a list? - http://example.com/ - It should. An e-mail address: nobody@nowhere.net Blockquoted: http://example.com/ Auto-links should not occur here: ```` :: or here: -------------- Images ====== From “Voyage dans la Lune” by Georges Melies (1902): .. figure:: lalune.jpg :alt: Voyage dans la Lune lalune Here is a movie |movie| icon. -------------- Footnotes ========= Here is a footnote reference, [1]_ and another. [2]_ This should *not* be a footnote reference, because it contains a space.[^my note] Here is an inline note. [3]_ Notes can go in quotes. [4]_ 1. And in list items. [5]_ This paragraph should not be part of the note, as it is not indented. .. [1] Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. .. [2] Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). :: { } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. .. [3] This is *easier* to type. Inline notes may contain `links `__ and ``]`` verbatim characters, as well as [bracketed text]. .. [4] In quote. .. [5] In list. .. |movie| image:: movie.jpg pandoc-2.9.2.1/test/writer.rtf000066400000000000000000001647541363630463000161640ustar00rootroot00000000000000{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}} {\colortbl;\red255\green0\blue0;\red0\green0\blue255;} \widowctrl\hyphauto {\pard \qc \f0 \sa180 \li0 \fi0 \b \fs36 Pandoc Test Suite\par} {\pard \qc \f0 \sa180 \li0 \fi0 John MacFarlane\par} {\pard \qc \f0 \sa180 \li0 \fi0 Anonymous\par} {\pard \qc \f0 \sa180 \li0 \fi0 July 17, 2006\par} {\pard \ql \f0 \sa180 \li0 \fi0 \par} {\pard \ql \f0 \sa180 \li0 \fi0 This is a set of tests for pandoc. Most of them are adapted from John Gruber\u8217's markdown test suite.\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Headers\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Level 2 with an {\field{\*\fldinst{HYPERLINK "/url"}}{\fldrslt{\ul embedded link }}} \par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Level 3 with {\i emphasis}\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Level 4\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs20 Level 5\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Level 1\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Level 2 with {\i emphasis}\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Level 3\par} {\pard \ql \f0 \sa180 \li0 \fi0 with no blank line\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Level 2\par} {\pard \ql \f0 \sa180 \li0 \fi0 with no blank line\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Paragraphs\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's a regular paragraph.\par} {\pard \ql \f0 \sa180 \li0 \fi0 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.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's one with a bullet. * criminey.\par} {\pard \ql \f0 \sa180 \li0 \fi0 There should be a hard line break\line here.\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Block Quotes\par} {\pard \ql \f0 \sa180 \li0 \fi0 E-mail style:\par} {\pard \ql \f0 \sa180 \li720 \fi0 This is a block quote. It is pretty short.\par} {\pard \ql \f0 \sa180 \li720 \fi0 Code in a block quote:\par} {\pard \ql \f0 \sa180 \li720 \fi0 \f1 sub status \{\line print "working";\line \}\par} {\pard \ql \f0 \sa180 \li720 \fi0 A list:\par} {\pard \ql \f0 \sa0 \li1080 \fi-360 1.\tx360\tab item one\par} {\pard \ql \f0 \sa0 \li1080 \fi-360 2.\tx360\tab item two\sa180\par} {\pard \ql \f0 \sa180 \li720 \fi0 Nested block quotes:\par} {\pard \ql \f0 \sa180 \li1440 \fi0 nested\par} {\pard \ql \f0 \sa180 \li1440 \fi0 nested\par} {\pard \ql \f0 \sa180 \li0 \fi0 This should not be a block quote: 2 > 1.\par} {\pard \ql \f0 \sa180 \li0 \fi0 And a following paragraph.\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Code Blocks\par} {\pard \ql \f0 \sa180 \li0 \fi0 Code:\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1 ---- (should be four hyphens)\line \line sub status \{\line print "working";\line \}\line \line this code block is indented by one tab\par} {\pard \ql \f0 \sa180 \li0 \fi0 And:\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1 this code block is indented by two tabs\line \line These should not be escaped: \\$ \\\\ \\> \\[ \\\{\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Lists\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Unordered\par} {\pard \ql \f0 \sa180 \li0 \fi0 Asterisks tight:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab asterisk 1\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab asterisk 2\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab asterisk 3\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Asterisks loose:\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab asterisk 1\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab asterisk 2\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab asterisk 3\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Pluses tight:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Plus 1\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Plus 2\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Plus 3\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Pluses loose:\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Plus 1\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Plus 2\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Plus 3\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Minuses tight:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Minus 1\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Minus 2\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Minus 3\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Minuses loose:\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Minus 1\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Minus 2\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Minus 3\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Ordered\par} {\pard \ql \f0 \sa180 \li0 \fi0 Tight:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab First\par} {\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Second\par} {\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab Third\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 and:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab One\par} {\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Two\par} {\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab Three\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Loose using tabs:\par} {\pard \ql \f0 \sa180 \li360 \fi-360 1.\tx360\tab First\par} {\pard \ql \f0 \sa180 \li360 \fi-360 2.\tx360\tab Second\par} {\pard \ql \f0 \sa180 \li360 \fi-360 3.\tx360\tab Third\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 and using spaces:\par} {\pard \ql \f0 \sa180 \li360 \fi-360 1.\tx360\tab One\par} {\pard \ql \f0 \sa180 \li360 \fi-360 2.\tx360\tab Two\par} {\pard \ql \f0 \sa180 \li360 \fi-360 3.\tx360\tab Three\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Multiple paragraphs:\par} {\pard \ql \f0 \sa180 \li360 \fi-360 1.\tx360\tab Item 1, graf one.\par} {\pard \ql \f0 \sa180 \li360 \fi0 Item 1. graf two. The quick brown fox jumped over the lazy dog\u8217's back.\par} {\pard \ql \f0 \sa180 \li360 \fi-360 2.\tx360\tab Item 2.\par} {\pard \ql \f0 \sa180 \li360 \fi-360 3.\tx360\tab Item 3.\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Nested\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Tab\par} {\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Tab\par} {\pard \ql \f0 \sa0 \li1080 \fi-360 \bullet \tx360\tab Tab\sa180\sa180\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's another:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab First\par} {\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab Second:\par} {\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Fee\par} {\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Fie\par} {\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Foe\sa180\par} {\pard \ql \f0 \sa0 \li360 \fi-360 3.\tx360\tab Third\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Same thing but with paragraphs:\par} {\pard \ql \f0 \sa180 \li360 \fi-360 1.\tx360\tab First\par} {\pard \ql \f0 \sa180 \li360 \fi-360 2.\tx360\tab Second:\par} {\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Fee\par} {\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Fie\par} {\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Foe\sa180\par} {\pard \ql \f0 \sa180 \li360 \fi-360 3.\tx360\tab Third\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Tabs and spaces\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab this is a list item indented with tabs\par} {\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab this is a list item indented with spaces\par} {\pard \ql \f0 \sa180 \li720 \fi-360 \endash \tx360\tab this is an example list item indented with tabs\par} {\pard \ql \f0 \sa180 \li720 \fi-360 \endash \tx360\tab this is an example list item indented with spaces\sa180\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Fancy list markers\par} {\pard \ql \f0 \sa180 \li360 \fi-360 (2)\tx360\tab begins with 2\par} {\pard \ql \f0 \sa180 \li360 \fi-360 (3)\tx360\tab and now 3\par} {\pard \ql \f0 \sa180 \li360 \fi0 with a continuation\par} {\pard \ql \f0 \sa0 \li720 \fi-360 iv.\tx360\tab sublist with roman numerals, starting with 4\par} {\pard \ql \f0 \sa0 \li720 \fi-360 v.\tx360\tab more items\par} {\pard \ql \f0 \sa0 \li1080 \fi-360 (A)\tx360\tab a subsublist\par} {\pard \ql \f0 \sa0 \li1080 \fi-360 (B)\tx360\tab a subsublist\sa180\sa180\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Nesting:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 A.\tx360\tab Upper Alpha\par} {\pard \ql \f0 \sa0 \li720 \fi-360 I.\tx360\tab Upper Roman.\par} {\pard \ql \f0 \sa0 \li1080 \fi-360 (6)\tx360\tab Decimal start with 6\par} {\pard \ql \f0 \sa0 \li1440 \fi-360 c)\tx360\tab Lower alpha with paren\sa180\sa180\sa180\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Autonumbering:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab Autonumber.\par} {\pard \ql \f0 \sa0 \li360 \fi-360 2.\tx360\tab More.\par} {\pard \ql \f0 \sa0 \li720 \fi-360 a.\tx360\tab Nested.\sa180\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Should not be a list item:\par} {\pard \ql \f0 \sa180 \li0 \fi0 M.A.\u160?2007\par} {\pard \ql \f0 \sa180 \li0 \fi0 B. Williams\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Definition Lists\par} {\pard \ql \f0 \sa180 \li0 \fi0 Tight using spaces:\par} {\pard \ql \f0 \sa0 \li0 \fi0 apple\par} {\pard \ql \f0 \sa0 \li360 \fi0 red fruit\par} {\pard \ql \f0 \sa0 \li0 \fi0 orange\par} {\pard \ql \f0 \sa0 \li360 \fi0 orange fruit\par} {\pard \ql \f0 \sa0 \li0 \fi0 banana\par} {\pard \ql \f0 \sa0 \li360 \fi0 yellow fruit\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Tight using tabs:\par} {\pard \ql \f0 \sa0 \li0 \fi0 apple\par} {\pard \ql \f0 \sa0 \li360 \fi0 red fruit\par} {\pard \ql \f0 \sa0 \li0 \fi0 orange\par} {\pard \ql \f0 \sa0 \li360 \fi0 orange fruit\par} {\pard \ql \f0 \sa0 \li0 \fi0 banana\par} {\pard \ql \f0 \sa0 \li360 \fi0 yellow fruit\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Loose:\par} {\pard \ql \f0 \sa0 \li0 \fi0 apple\par} {\pard \ql \f0 \sa180 \li360 \fi0 red fruit\par} {\pard \ql \f0 \sa0 \li0 \fi0 orange\par} {\pard \ql \f0 \sa180 \li360 \fi0 orange fruit\par} {\pard \ql \f0 \sa0 \li0 \fi0 banana\par} {\pard \ql \f0 \sa180 \li360 \fi0 yellow fruit\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Multiple blocks with italics:\par} {\pard \ql \f0 \sa0 \li0 \fi0 {\i apple}\par} {\pard \ql \f0 \sa180 \li360 \fi0 red fruit\par} {\pard \ql \f0 \sa180 \li360 \fi0 contains seeds, crisp, pleasant to taste\par} {\pard \ql \f0 \sa0 \li0 \fi0 {\i orange}\par} {\pard \ql \f0 \sa180 \li360 \fi0 orange fruit\par} {\pard \ql \f0 \sa180 \li360 \fi0 \f1 \{ orange code block \}\par} {\pard \ql \f0 \sa180 \li1080 \fi0 orange block quote\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Multiple definitions, tight:\par} {\pard \ql \f0 \sa0 \li0 \fi0 apple\par} {\pard \ql \f0 \sa0 \li360 \fi0 red fruit\par} {\pard \ql \f0 \sa0 \li360 \fi0 computer\par} {\pard \ql \f0 \sa0 \li0 \fi0 orange\par} {\pard \ql \f0 \sa0 \li360 \fi0 orange fruit\par} {\pard \ql \f0 \sa0 \li360 \fi0 bank\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Multiple definitions, loose:\par} {\pard \ql \f0 \sa0 \li0 \fi0 apple\par} {\pard \ql \f0 \sa180 \li360 \fi0 red fruit\par} {\pard \ql \f0 \sa180 \li360 \fi0 computer\par} {\pard \ql \f0 \sa0 \li0 \fi0 orange\par} {\pard \ql \f0 \sa180 \li360 \fi0 orange fruit\par} {\pard \ql \f0 \sa180 \li360 \fi0 bank\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Blank line after term, indented marker, alternate markers:\par} {\pard \ql \f0 \sa0 \li0 \fi0 apple\par} {\pard \ql \f0 \sa180 \li360 \fi0 red fruit\par} {\pard \ql \f0 \sa180 \li360 \fi0 computer\par} {\pard \ql \f0 \sa0 \li0 \fi0 orange\par} {\pard \ql \f0 \sa180 \li360 \fi0 orange fruit\par} {\pard \ql \f0 \sa0 \li720 \fi-360 1.\tx360\tab sublist\par} {\pard \ql \f0 \sa0 \li720 \fi-360 2.\tx360\tab sublist\sa180\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 HTML Blocks\par} {\pard \ql \f0 \sa180 \li0 \fi0 Simple block on one line:\par} {\pard \ql \f0 \sa0 \li0 \fi0 foo\par} {\pard \ql \f0 \sa180 \li0 \fi0 And nested without indentation:\par} {\pard \ql \f0 \sa180 \li0 \fi0 foo\par} {\pard \ql \f0 \sa0 \li0 \fi0 bar\par} {\pard \ql \f0 \sa180 \li0 \fi0 Interpreted markdown in a table:\par} {\pard \ql \f0 \sa0 \li0 \fi0 This is {\i emphasized}\par} {\pard \ql \f0 \sa0 \li0 \fi0 And this is {\b strong}\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's a simple block:\par} {\pard \ql \f0 \sa180 \li0 \fi0 foo\par} {\pard \ql \f0 \sa180 \li0 \fi0 This should be a code block, though:\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1
                \line foo\line
                \par} {\pard \ql \f0 \sa180 \li0 \fi0 As should this:\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1
                foo
                \par} {\pard \ql \f0 \sa180 \li0 \fi0 Now, nested:\par} {\pard \ql \f0 \sa0 \li0 \fi0 foo\par} {\pard \ql \f0 \sa180 \li0 \fi0 This should just be an HTML comment:\par} {\pard \ql \f0 \sa180 \li0 \fi0 Multiline:\par} {\pard \ql \f0 \sa180 \li0 \fi0 Code block:\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1 \par} {\pard \ql \f0 \sa180 \li0 \fi0 Just plain comment, with trailing spaces on the line:\par} {\pard \ql \f0 \sa180 \li0 \fi0 Code:\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1
                \par} {\pard \ql \f0 \sa180 \li0 \fi0 Hr\u8217's:\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Inline Markup\par} {\pard \ql \f0 \sa180 \li0 \fi0 This is {\i emphasized}, and so {\i is this}.\par} {\pard \ql \f0 \sa180 \li0 \fi0 This is {\b strong}, and so {\b is this}.\par} {\pard \ql \f0 \sa180 \li0 \fi0 An {\i {\field{\*\fldinst{HYPERLINK "/url"}}{\fldrslt{\ul emphasized link }}} }.\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i This is strong and em.}}\par} {\pard \ql \f0 \sa180 \li0 \fi0 So is {\b {\i this}} word.\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\b {\i This is strong and em.}}\par} {\pard \ql \f0 \sa180 \li0 \fi0 So is {\b {\i this}} word.\par} {\pard \ql \f0 \sa180 \li0 \fi0 This is code: {\f1 >}, {\f1 $}, {\f1 \\}, {\f1 \\$}, {\f1 }.\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\strike This is {\i strikeout}.}\par} {\pard \ql \f0 \sa180 \li0 \fi0 Superscripts: a{\super bc}d a{\super {\i hello}} a{\super hello\u160?there}.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Subscripts: H{\sub 2}O, H{\sub 23}O, H{\sub many\u160?of\u160?them}O.\par} {\pard \ql \f0 \sa180 \li0 \fi0 These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Smart quotes, ellipses, dashes\par} {\pard \ql \f0 \sa180 \li0 \fi0 \u8220"Hello,\u8221" said the spider. \u8220"\u8216'Shelob\u8217' is my name.\u8221"\par} {\pard \ql \f0 \sa180 \li0 \fi0 \u8216'A\u8217', \u8216'B\u8217', and \u8216'C\u8217' are letters.\par} {\pard \ql \f0 \sa180 \li0 \fi0 \u8216'Oak,\u8217' \u8216'elm,\u8217' and \u8216'beech\u8217' are names of trees. So is \u8216'pine.\u8217'\par} {\pard \ql \f0 \sa180 \li0 \fi0 \u8216'He said, \u8220"I want to go.\u8221"\u8217' Were you alive in the 70\u8217's?\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here is some quoted \u8216'{\f1 code}\u8217' and a \u8220"{\field{\*\fldinst{HYPERLINK "http://example.com/?foo=1&bar=2"}}{\fldrslt{\ul quoted link }}} \u8221".\par} {\pard \ql \f0 \sa180 \li0 \fi0 Some dashes: one\u8212-two \u8212- three\u8212-four \u8212- five.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Dashes between numbers: 5\u8211-7, 255\u8211-66, 1987\u8211-1999.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Ellipses\u8230?and\u8230?and\u8230?.\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 LaTeX\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab \par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab 2\u8197?+\u8197?2\u8196?=\u8196?4\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\i x}\u8196?\u8712?\u8196?{\i y}\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\i \u945?}\u8197?\u8743?\u8197?{\i \u969?}\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab 223\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\i p}-Tree\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Here\u8217's some display math: $$\\frac\{d\}\{dx\}f(x)=\\lim_\{h\\to 0\}\\frac\{f(x+h)-f(x)\}\{h\}$$\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Here\u8217's one that has a line break in it: {\i \u945?}\u8197?+\u8197?{\i \u969?}\u8197?\u215?\u8197?{\i x}{\super 2}.\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 These shouldn\u8217't be math:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab To get the famous equation, write {\f1 $e = mc^2$}.\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab $22,000 is a {\i lot} of money. So is $34,000. (It worked if \u8220"lot\u8221" is emphasized.)\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Shoes ($20) and socks ($5).\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Escaped {\f1 $}: $73 {\i this should be emphasized} 23$.\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's a LaTeX table:\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Special Characters\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here is some unicode:\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab I hat: \u206?\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab o umlaut: \u246?\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab section: \u167?\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab set membership: \u8712?\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab copyright: \u169?\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 AT&T has an ampersand in their name.\par} {\pard \ql \f0 \sa180 \li0 \fi0 AT&T is another way to write it.\par} {\pard \ql \f0 \sa180 \li0 \fi0 This & that.\par} {\pard \ql \f0 \sa180 \li0 \fi0 4 < 5.\par} {\pard \ql \f0 \sa180 \li0 \fi0 6 > 5.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Backslash: \\\par} {\pard \ql \f0 \sa180 \li0 \fi0 Backtick: `\par} {\pard \ql \f0 \sa180 \li0 \fi0 Asterisk: *\par} {\pard \ql \f0 \sa180 \li0 \fi0 Underscore: _\par} {\pard \ql \f0 \sa180 \li0 \fi0 Left brace: \{\par} {\pard \ql \f0 \sa180 \li0 \fi0 Right brace: \}\par} {\pard \ql \f0 \sa180 \li0 \fi0 Left bracket: [\par} {\pard \ql \f0 \sa180 \li0 \fi0 Right bracket: ]\par} {\pard \ql \f0 \sa180 \li0 \fi0 Left paren: (\par} {\pard \ql \f0 \sa180 \li0 \fi0 Right paren: )\par} {\pard \ql \f0 \sa180 \li0 \fi0 Greater-than: >\par} {\pard \ql \f0 \sa180 \li0 \fi0 Hash: #\par} {\pard \ql \f0 \sa180 \li0 \fi0 Period: .\par} {\pard \ql \f0 \sa180 \li0 \fi0 Bang: !\par} {\pard \ql \f0 \sa180 \li0 \fi0 Plus: +\par} {\pard \ql \f0 \sa180 \li0 \fi0 Minus: -\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Links\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Explicit\par} {\pard \ql \f0 \sa180 \li0 \fi0 Just a {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul URL }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul URL and title }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul URL and title }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul URL and title }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul URL and title }}} \par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul URL and title }}} \par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "/url/with_underscore"}}{\fldrslt{\ul with_underscore }}} \par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "mailto:nobody@nowhere.net"}}{\fldrslt{\ul Email link }}} \par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK ""}}{\fldrslt{\ul Empty }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Reference\par} {\pard \ql \f0 \sa180 \li0 \fi0 Foo {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul bar }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 With {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul embedded [brackets] }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul b }}} by itself should be a link.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Indented {\field{\*\fldinst{HYPERLINK "/url"}}{\fldrslt{\ul once }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 Indented {\field{\*\fldinst{HYPERLINK "/url"}}{\fldrslt{\ul twice }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 Indented {\field{\*\fldinst{HYPERLINK "/url"}}{\fldrslt{\ul thrice }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 This should [not][] be a link.\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1 [not]: /url\par} {\pard \ql \f0 \sa180 \li0 \fi0 Foo {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul bar }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 Foo {\field{\*\fldinst{HYPERLINK "/url/"}}{\fldrslt{\ul biz }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 With ampersands\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's a {\field{\*\fldinst{HYPERLINK "http://example.com/?foo=1&bar=2"}}{\fldrslt{\ul link with an ampersand in the URL }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's a link with an amersand in the link text: {\field{\*\fldinst{HYPERLINK "http://att.com/"}}{\fldrslt{\ul AT&T }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's an {\field{\*\fldinst{HYPERLINK "/script?foo=1&bar=2"}}{\fldrslt{\ul inline link }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's an {\field{\*\fldinst{HYPERLINK "/script?foo=1&bar=2"}}{\fldrslt{\ul inline link in pointy braces }}} .\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Autolinks\par} {\pard \ql \f0 \sa180 \li0 \fi0 With an ampersand: {\field{\*\fldinst{HYPERLINK "http://example.com/?foo=1&bar=2"}}{\fldrslt{\ul http://example.com/?foo=1&bar=2 }}} \par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab In a list?\par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab {\field{\*\fldinst{HYPERLINK "http://example.com/"}}{\fldrslt{\ul http://example.com/ }}} \par} {\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab It should.\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 An e-mail address: {\field{\*\fldinst{HYPERLINK "mailto:nobody@nowhere.net"}}{\fldrslt{\ul nobody@nowhere.net }}} \par} {\pard \ql \f0 \sa180 \li720 \fi0 Blockquoted: {\field{\*\fldinst{HYPERLINK "http://example.com/"}}{\fldrslt{\ul http://example.com/ }}} \par} {\pard \ql \f0 \sa180 \li0 \fi0 Auto-links should not occur here: {\f1 }\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1 or here: \par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Images\par} {\pard \ql \f0 \sa180 \li0 \fi0 From \u8220"Voyage dans la Lune\u8221" by Georges Melies (1902):\par} {\pard \ql \f0 \sa180 \li0 \fi0 {\pict\jpegblip\picw250\pich250\picwgoal3000\pichgoal3000\bin ffd8ffe000104a46494600010101007800780000ffdb00430006040506050406060506070706080a100a0a09090a140e0f0c1017141818171416161a1d251f1a1b231c1616202c20232627292a29191f2d302d283025282928ffdb0043010707070a080a130a0a13281a161a2828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828ffc000110800fa00fa03011100021101031101ffc4001c0000000701010000000000000000000000010203040506070008ffc4003e100002010303020404040502050500030001020300041105122106311322415107617181143291a1234252b1c115f016336272d1082443e1f1265382ffc40017010101010100000000000000000000000000010204ffc4001b11010101010003010000000000000000000001110212213141ffda000c03010002110311003f00dadd18a10a704f6a95ccc57e37750782b0d8d9ea0cd32e7c5446e07e9f4ad723119a7b89e61e348f260719278aad613cbb640002938c76a182b264fc87bd13009c0c019c76e3d68a072e1cf6f4cd502d330c28269a61bb39c923923d4fad44c08dccb95cfd28b8280769ee08a263891e1808739e4f1d8d149392172cc714050dbb9fde8960ed8c60b79b1ed44103b05c331dbdb1dc5026ac1946d20ff8140aa631c773ec738a0346a003bf93e9cf02801895e7b9a01886796c923bd0090a06393c76a0142003ce3d86680d8dd9392303f5341ccc1b3cf7a2c812c37e4923d381429757013209fa511c18146c9247a0f6a007900c0c671c6280854e086c673eb45c27c038fd68aedff2fda836ef881f136f25d5e6b7d1262964aa02b03f98fbf153131935edcc97576f35c33349212cc4f39f7ab26186dfce5b200f73451f7600dcb8cf27e7400c0b291914046c9e0718fde81371b8e7273f4ef4007691919240e714097f31f376e7b5008caee27807b0f5a02c8e1b3c6d27d33cd0201d839523144d1a149ae084b78da47638211771fd050d582c3a0faab5119b6d12f8ab1c06788a0fd4e2ac356fd1fe08754ddccaba849696309e598c9e2103fed1dcfdeadc44fea5ff00a7f956366d375e492403ca935bedcf1eea4ff6ac68a55efc1beb3b552574f8e7009ff933a927ec715bc82b3a8f4d6bba5ca1352d22fe061cf9a0383f71dea5119cc6c0baed3eaac0f1fad40897dcc3d81f7a052366c1007df3400f21edefc5008c28f30c9c5170ee4fc37830086395250a7c66770c18e78da31c0c63de8609b41f7c515c5172a30c3b76344a3e377cb2339cf7a242aea89808cce368272b8c1a2e107c672a49f5c1a181c9c7ae7da8a2119e7b1f5068099ffa68258a132062d8f9e0f34059502b61bf2824e681bb297ced2a71efda80f19c47b9c77fdbe74057c13e539cf3c1a0eeeb9c73f33405ddb4f18249c1e28062b79ae242902024465b9214614649e7bd0362a7249eddc513456e5720f38f5a1a98e96e95d6baa6ebc2d1ad1e65521649bb469f563534d6d7d31f04347d2a2fc5f535db6a0e83718906c887cbbe5a9a8bef44dce9f731ca9a2e89169d6d6f2184b1455dc07b11dcfeb4d16f119c649a681285b03d3e5500f87820ff006a0e098191de80ac9b8904647b55d11da9681a56a31f87a869f6970b8ffe4883629a289aefc16e92d441682da5b098f21ed9f033f353914d19b751fc08d66cc16d12fe2bf45ec92ff0df1fdbfb559ec667aff4eeb1a04db359d3ae6d40eccebe53f46ec7f5ab82263da7dcf3eb5174e5181076918c7de869503232491ee4515c1803824f03b51287f30e0e7d803449494832c157278a2e8c71fcb9f9d144639236824d01e142efb1768cfb9c7ef40512a818de78ff00a682518e7cc30ab9e00a02cce9953247bd41e467191ed9a04205ee99da4e4e3d283a524b0427b5026c18a8e082067db8341ce0e39ed409b6502907391edda80f2dfdc496f0c124ac6184b144cf0a4e338fd2894f7a7342d4ba9b568f4fd261f12571966270a8bfd47d8511bae85f02b47b7fc34bac5d5c5dc88a0c90ab6c8d9bedce3ef4d1ad691a6dae976a96d616d15b409f9638d70054a1dbc68ea51d4329f4619a8022b78e04548515117b05000a035c5c4702a995c26e3819f534047bcb68a458cce866719540724d02e41c0f7a012a40f6141cbc8e7bd01719e38e6838af1c0a04ca8206d3cd037bdb082fad9e0bd8a39e0718649141047d0d5d18f759fc0cd3af164b8e9999acae4e4f81236e898f7c0f55fed574615aee83a96817ef67abda3db4ebdb7f66f983d88a061bb8db9e3d45165076db83c1f950a53780d8247c80a2398f182724f1c7ad080c608cfa7a51a0062adc7afbd0130173bb9c5070f071cb37e82826106e8f615e01c9e680d6b35bc534be3c1e3831b2aa962bb188f2b71df1de819ae4b1048c7f57bd01a58268e332642ae0704f7cf6207af6a01b99e17b7b6416e227407c494139909ed9f4c0a04a4e501e0f1eb40d263e53dce7fa682c9d0bd13abf58dd6db18bc2b157c4975270ab8ef8f563f21447a73a03a1f4de8eb031582b497328066b97fcd21ff038edfde88b7e32703bd64188e7e6283864b73400cd804b67ca3268317eacea6d56ff005233592f8b6303f953fa4af7c2fa93417fe98b763e0ea171297bab98558068f695ce0e08fdbd281e5c6a57ba5e9d14d716ef7774f2ec112601da4f27ec2827ada74bab559a20e148fcae36b0f91140283729c77a0e0a7777a01dac68395719e39a029607cb901b19c501480ab9279f4a086ea8d0b48d76c0586b7143224a76c61ce1831fe93e86b43cd1f12fe19ea7d2533dcdbeebcd20b612651e68f9ece3fcf6fa5067cbcf20ff009a051724905411e94032799060723da8406d6c67e7ea68d0e1770fe5cfb5026c37039ef9a02eca098c91e6e01e71c500b1d8a49c12786cf6a06a4e256008e3d050119958007920e2801154e32fb4120927b014017eb1c523ac5209a356215c291b87be28957ef853f0d66eaa99352d515e1d190f947669ce7b0ffa7e74a8f4be996569a5d9c56b6704705b46bb5238d42851f2ac875712bc70b3c30f892019540704d01ad2669a0491936330c95ce7140b2e4939a03638c7e8680ae485e33bbe540d60d3ada162c90a02c7270a39340a4f28b68da4645007a8f6a069a746f73235ddcefc391e12b2e1916824948742c99382473c73404791c617695279dc0640f9502c578c9efeb4095cb4cb0830ba21cf999c6401f4f5a05061d430c8079a02e03b3004311c7d281b5e3cd676c65489ee594e4aafe6c7ae07a9a0a075bbea3a8ea96f047d3935ebc404f04ad29411e08e011d98fed416fd212ee5b05b4d5ad6300c615807f1171eaa49eff5ad418c7c55f8466dd66d57a521f20cbcd66a7247a9283dbe5418a63862479877cf1f6c5008e400bdf1ce684016fe53dfbd1a73794600e08ce3d6800377c8c7d6800a9cf75fd4503d91492460f7ee3d28247a7b459f5fd592d22711c206f9e563858a31f99cfd050583518ba75247b1d134f9aed21396d4669769931dc01c003f7a329c4d17458ac5b55d36c12e040a3f1da75c1cb04ede2447f7f6a94567ad7a66db4fbbb29ba7d65b8b4bd8ccd09c8231eaa07b8ab04a7c2cf87b3f53ea8d77abc72c1a5dabe2452bb5a561fc83e5ee7e541e988218ed2dd22b7855228d76a46a00000ec00a510bd4dd511f4fe84da95cc31f880022da4902b1e7d3e99ac86fd03d631f565b4ee6d4dbbc649009cab2e48c83f514165b8b94b6895c44f279c280839e78ce28178ae6de46748a789e453865570483ec6812d42e85a421fc37918b00a883924d024c6e99b7a2a966c0009e17dc9f9fed40f81c77e28139218e4ff9815b9cf23340a01c907b9140201038ed402fcafd28386464e4fd33c50272bc60032609cf00fbd024f722dc66f24822ddf972f8feff00e280f69b24844919cac9ce7de83a447f30ded823007b50459d6ecacb528349b979127651b1dc795f1f3f7a0990148054823dc5015d491c0a0c3be337c2ff00c489b5ee9c87172016b9b541c49ff5a8f7f71eb560c1fc43e0a47e1aa94277310431f91fa551c1727f29ed409b641c86e31839a3454805739c1f6a026f1fd740f64665fc8c31cfde82db79bb40e9e8f49b62eb7d7e8b717ec832c91ff247fa1dc7df2281bcc9369d671493c422b7911654c1215f92bb8827bf068624ba635392df5eb4b9924558ee5bc19b71cee43c6dc7cf34c657be8db0b0b9d0f51d2afe668934dbf9628ddb8c2b8c0073f3a80da37546a7d25174fd95dc125c69f7313ee5655dfc313bd483cf07b1f6a68d5b48d5ec758b612e9d7293211c8fe653f35ee2a084eb9e8bb1eafb3582fe496278f3e1c919fcb9f97ad03ee8dd017a6741b6d3229dae161057c5750a48249ec3eb4139238568f6a9e7b103b5037934cb3793c610a2cd9277a8da73f5140ee38f6280c4b11c65b934023006d50050030e4647de80c846de3b500fcf9fbd0197273ed4007b91400e580c8e45074a82400e72682b36fd2162b7f25ddc09af2766ceeb872db79cf00f6a0b3229550140e07007a50092db860673de818df473c862686dad6470d9cce3b7b63e740fa1de6252ebb5bd81cd00bee2d800d003a6464004763ce683ce9f1cbe1f1d3a67ea1d1a30b68edffba814708c7f9c63d0fafceaca31e6dc71e1f07daa82608c83819f7a1a11ce149238fd68d0a579ec682cfd27a7c3a86bd10bc38b3b756b8b93c1fe1a8c91f7381f7a034f752ea5aa5c5eb292f732128037619c018f6ec282e5a2cb047abda74d5ce9b6da80f136de4a496219b3e48c92000323ea73467519d3da5bb757dbda410ac90c77c23058f99007ee7ec31416882ee47d23acb5185caf8bab4691b1efe57fff0038a9457ee75a82f6e7429350466b482f2742c0f74241c80c38c64541a9cfa1e89ac0177d33ab3d8de28f2b5bca429f91140e2c7a9b5ae9fb85b6ea9b46b9b3c796fe040768f76ec0fafb1f9505df4ebdb3d4edd6e74db98ee216fe68ce47d280648f75e2485a44da385ddc13f4a025ddbdbea16a633286566ce55f9c8f6c502ad750db2c514f30dec428247e6340bbf04100b73402afb943ed2b9e30683836defe9403bc1e06734020e06280cafe8683a375941d841c77c1a0151b467b50159f00e4127e5402872371040c5046eb5aadbe9b1c02e2f6dad25b89047099c677b7b0140fe3f1010afc803f3018e68160c3041ee2823f5dba92d34db89a1d9e2843b03b6d05bd013560c1748d57aa2797c6b35bab78e6959dc47231580ff336dcfb03c1a58364b5bbb7d7fa7b7427f1f673830c8664285bd1815238fad20f2c7c41e979ba43aa2e2c1cb1b663bede438f3a13c7dc76fb5515e9065b851f7a02950002a09c51a1b83cf14176e90d3645e9ad7752752aac23b3439c066665c827e944d29a6410aea725c4567135bd840d3c88a723728c29c9efe6c50d3ee9545b0bf8ef2e6e3c2fc2c6f72f2920e5f19039ee4938a9a875d03278377acf52ddf867f036ef71923932bfe51fbd3475cdc369df0db4fb389d4ea37970fa9cc0b00511795ce7d4f181eb4cd2451755fc45ac16d637381b14ca36b641dfce723e4053170d6cb52bbb362f6d3cb19241f2b9029862f09f143549ba7e7d2eef6caf2797c66ee17fdfd69862d1a069da7dfdac579d17adcda5ea9e1a992376c4723e39e3b024fd7e94c458ac3e25dee8d31d3bae74e7b79002bf8b8549471db38f5f4ed4c165e943a06a328d4ba605b4b22a1523c420c64fbaf38a82d36f0ce7cf7463790729b53017e940e0b0ceceed8ce0500e1b70daa08f5c9ed41d271cd0132476e7d7ff00aa069797d2411168ed9a41fcc858211f73c5075acb25ca6fb82aa31e58a36c81f561dcd033d42169e158ac64b98151b3981c2966cf639f4a064c7a8ac55e4865b7d493701e1c8e52403ea3cbfda827e390ca3f2c914aa81991bd281cdacc2747215c60e0ee5c67e940cb51b0b2bcbd824bfb08ee1a252d1caea1821cfa67b1fa504982b2283ce08f518a08abb82f6dd0369a5662081e14ce40c7ae1b04fda82275cb0bfd4f4536f7114589a5412461f3e4ce4e0e060f63f6ab2893d3b4b5b5b78e22ed22aae3cc3cc7e64fad3449a22a461500007602a0cd7e3b74c26b5d2ad79147baf34eccca40e4a7f30ff3f6aba3cd0543267eb5427b86f1f4c76ef45d0eca1ad5ef224d13e1cf4fd9b22192fa67bc955f8c8c617fba9fb510d7a6ed3fd43a735e5b54964be658c048fb6cdd9e7eb8a186bac97d174e6d22e23437b7ac26b95e77c68bf950fa7279e2b22dba45b59e97a669fa4ea36aeff89cea9a90451fc355ff0096ad9f4ce3f41570675d4fa8c77da8de5cde5be26bc653171ca47dc1f6c9fed5562b97f70276808da7c24f0c1c63804e33fa8a2928c0e0383c8f7ed41d92a41393f4a2548595c2c37493db4cd04e8a08f139566edfef3445b6e7aeaf65d2df48ea2b11776ae02a93e564c772adef409f4ee8ba9a21d73a36fa579ad9f325afe599171ed9c30a960d5ba0fe2843abb47a6f510fc26a4c36890f9558fcc6783506a1147b510024e30339ce680d2c6ae9861eb9a009178a0205443b989e39cd01d8075e3047ce80563057ca381ed4011c4531e503d85013c91b804a21279c903341131cda8c3abdc8650f6d20c4321232adec3dc504bab2c113c9293bb1963df3408dd4b75e1efb2856463dbc43b4631fad047e9177ad4fe32ea16b1db4b8fe1aa92571f5f5a0916bc8e0895af5c46c17cd8c9ff7da80f6d736f7f6915c59cab35bc837238ed8a072a31c1ef4062870718a06f7702dc5b3c522ee4752ae0fa8230683c75d6ba3b74ef535fe984929149e4278ca9e47edfdab42058003763ed409f88ffd6dfad06b1f12ae612fa0c76e0b471e9916d23f973eb4158d3efeff004a984da5debc1295d8e4018dbf3145d583a2ad96f356bbd7f5d90dc59587f1e79a6392f28fcaa3ee47159444ea3aa5ddfc7acf50dcdc344d7a4dbc317f52641200f6000fdeb41b5ef51d8eab672ffa9e971c97c11638268e431a46000012a3b9a351567db823b11f3ef40948e428048207a8340ab48ae83cb83ee0f3428a982719edf3e68c9cc97d3fe15ad8c9be138f2bf38e7b8f6ef40f7a5f55bdd3f56b46d3649127f1405f08e7249c76f5fa50689d48ba5f545cdcbdb462cba9206411b2b055bb07d4fb1c73528d4fa8f52d62cf47b6b8d2e65fc458c49f8a818795c151939f977a823ba0fe253750eb7fe937b04293f9f6c90be41dbdc7ff006283473c1efc1a06f69776d73bbf0f2aca32572bc80470450284a46dfca19f819f5a04e799614def26c0bdce09cfd85045dc75769d12dc3c3e2491db0dd3c85195235f7c91cfd066ae0cdba9be31f4ec61a386c1ef9d4ee473e45cfb1cf34c101d3ff1ac9d481d46c628ed24751881880833f988e7b0fa5328dfed2f2def2ce2b9b79925b791772ca87208f7a60182ee2b95cc0c48f53823fbd40ac658b30f4f4a086d4ee1d75bb6b78f4e965596366fc5211b23238008fde81f43692da5bc30d97831a0397dc09e3d714087506bf61a2c4cd77324726d2caaec141f9fd2ae0c435bf8c57173ad7876f7a2daca10489121244cdf319ce3dbf5a834fe81f881a6f57bcb6ba7c53c72c11873e28cee1db391dbef4199ff00ea4348116a5a66a8a8a04aad04847a90723f6ad7d18c312ddc02a3815423ba0f63fa541687bd9efe1b533b3c9e0a78473e899e318a09bd0ba6eef543e3b2bd8e9b10064bd9e4da001dc81401aeeb29a984d0ba7d5e1d06d4e6594f06523bc8e7f5c0ac8af752dfc17d7090d9218ec6d9447129ee71fcc4fb9cd6842ab10dc0014f3e5a2c1704b671dfdc734525226dc939e283a362c7f940344a380393df144733e2276e38f5efcd01b4bbbfc3dda4a9298a44395902e4a9c70682660d4265d62de40b1bdc1545054f95c8fe627df141af7c3af8808f3dd68dd5d2a45765884b8908d8c3b6c27b7a77a945d7a5fa474bd2ba8e4d5748b28624955d5d8b13b79ee9e983d8d40a753758c7a46b96f6114725dc92279a2810b3a64f94900763cfafa503fd3b59b79ed84da34713c0cd890f0a158fa1f981de826e1b548959fc4dc5cee24b6467e59ed4101ff19e9f676baa5d6a72c50adb4ad1ac790ccc076200f7ad41e7df881d79a87576a5f87b0f161d381db1c2a36e7e6d8ff3416bf87ff082c6f208ef7a82f22b9761bd6d619785f6dc477fa53705ab57f83bd297ceb1e9caf67708db9c4526723e849e3e94f212dd25d117fd29a8c09a76b534fa39cf8b6b71ced38e36fb73417f52e64548e34007e673e9f21ef590a1c918c90718dc281a69b68f67118d9da5058b798f6fa7fe280daadd1b2d36eae70710c4d263df0a4d583cc7a668fd4bf11b5837d7c93dcd9a3146959822a0e781f4cfa55161e9dd7fa67a4f55b9e9aea3e9f81fc09ca0ba118998fcdb2338c7b528d39f4cd2ba76e2d357d292df4eb391809963420ce1b1b576fa1e7359119f1eb4e17dd033ca172d6b2a4df303383fdeb5c8f2eef3bce4e0e335684cb0c9f354160d36f64b0baf16072b91b5f03391f43c51aab23a5debe91c4fad4d73689e6fc3a290573ff4f03e59f4a3280d67581ce916567f84b58ce0a1fccec3d58fa9a084de08c90464e4d1a8e419059b201f4a05630a176918efc50176293872c17bf14042aa0125b03db14046c60b60123fde6827fa0c68edd5365ff11346ba6292ee64194240c807e59a32b7fc51bfe8bd5ed5db424860beb62b89218422ce09c11c01dbbd0660ae110bf1bf2154838dbebfefeb41a8f4cdac7f117458f4d9ecd2df53b4cf81a822808c47255c0f7c8e7fb54a2ec2cfabba3b4b4b8d3af12eedad40926b0f070a13f9b633649f7a82eba6ea4357d321d4ecad512daf20df26e016507fa4fbfaf3e98f9d067dd2bd2faac9aa4d72d72d1e9510ca46a7631c7a320e18f1dfd7bd059afb7da816d23de4ba5de211346a1e4785f190548e4648c63b64e6b43ce9d5baafe3b539c5b452dbda46c638a167cb281c73ee4ff9340e3a3fa5f5aea4ba58f4bb57dbfcf2b02a8bf7f7a0de3a5fa0b50d2a2d92eb3e048c0a97c867dbedcf6a944e5cf4f6b76d1b3d8ea42795066266c87c81c65b9cfaf15048e83af3cd64abac08edaf01546c38dae4e0657ee6826e5b892de3702292e2545ddb55700fd0fbfca81c4b3bc718716eef9eeaa402280d14ab3c0b2c65c06fe571823ed40df56b217fa6dd5ab9216689a33f2c8c558307e83b8d77a37aaa7d22f2512c28768800c9954671b3d33ebef568d0ef7a7749eb0b5bbbb162d657b32b46d2e1564c8ed9c5644d1b0b9bbd261d2a440af6cb0e2e5b1e7dbc1238e0f7a0375b696daa7496a3a4dac8a92cf078685b271db04d391e40d5ec4586a1716de2a49e0c8c85d3b120f715ba1899173ff305413070abd89cfe9f5a2d3ee9c8639fa874eb6b804c52dc46b20c9f302c3bd11e84d47e1af4d5dc6521d3e3b662c19a58721ff5a9a321f89bd27a374b456d158dccd34d333332c9b4b2afbe47a7cb1f7aa33d2bc0d8c0f1c8f6a2c14b6d501b39cf63450897380c319e3de8065031c038f7ed40d8faf1ce41e4d004876a8dc3cc7e743025c956c818028c904579e7f0e15695c9c0541924f6c00283d0bf07f42d6b48820b8d62d20b2b58d656404959e52f83c8ff00fcfafbd4a35bb06f12391a48dd55cee2b2f3818ed8f6a8158a159890f02242079147623e631c502b0db436d1ecb7458d4738038fb0a087d6eeb508f48bb7d32d95750752b6c26c905b3ddb6f61eb574794f5cb6b9d0fa9678b512b25d24bbe52b8c1638278fbd582c57ff12afaed45b5bc0d0d8a8c08a2731ee3eec5793f40450466a1d59af446293c186cd53ca0c36eab93dc649e49fbd048e89f1675ed35e301e293919dcbf9867b37cbe94a35fe94ea4d33aba6824306dc48015750d86c6e247b0cf63591a40b8dc23fc30f14138dcac3000f9d03687547f12e8dd5af816b13148dddbcd29039c0f6f6f7a0eb5d62caf5636825db70c9bc4328f0dc0271c8a090627d3073ce681acf6505ccf14d35bc2f2c2731bb28254fb8a075144a83ca806792400334049ee6281e2496408656d880ff0031f61fa50446bd76058ea1b9e21025a3bb48afe71df9c7b71de9c8f196a0de23ca7b827d4f7add117e0cbfd4b5059392369663ff004e71c51aa97e8f555eadd258f2bf8a889cff00dc28cbd0bf123a926e96d163bdb74490bca2321c678209ff001591e71eafd7a7d7ef45cde2c20aae144638033fb9ad2e1b5e69d058da431ccf21d4a5c3b4631b62523807feaf5c7a50222f2d648c25f5aeec8c2cd19dae3d3e87e944d3eb7e90d425b49ef2292de38224f1505c3f8724a9eeaa7bd0d57a60406059436306868a7803839c7ad1a158039c13f4a33a716767f8cb9b6b55e1ae2458813e9938cd07a9f42d0b4de99b4b7d1f41b58ff19b03c93ba06607fa8b1f5f619a5b8266d74a65d42da6ba90cce996dcdc8c9fff006a5a2c2635083b05ef83eb5028076341db4b1ed9f7a04651fc41db18ed419d75b744dbea335fcb0db0335f2057901c05da73c8f9d5d18a75174a3f4c47335e35da4ce418a489374254f707d463d33565d1529b569a489a17944b06ec8057d71dcd037b4b6b8bfba31584124b27e62a8a4f1ea68357f83da7ea5a76bfe0912453ccabb49194653cb60f6ce3dfda983d196cd108c2401711f9768e306b2297d73fc6d02773a8b591922693c5004bb9d72542fa2f6efde8314ff867aeeec27500b77bb5670e36ca19b1dff2e7f2fd2837ce8bd5dd348b78b552219022870d9c46e792a4f6c608a0b846c8e03232b29ec41cd0199f1410fd4b24b1e8f712c0a5e4452d851e6c639dbf3238a0afa42ba77475e4ba8470896681da45180b18da76af3c9029c8f26dc1df2b9c606e273e86b743331924f27f4a82c12280e59b008e79f6a2d4d74188ff00e30d203a82ad7519c1ff00b860d11ba7c5e86c9fa3afae6f4091e043e021270b21e01c7dcd6479ab4dd3aeb56be4b7b184cf2b301b57d07bfd2b4bad0fe25e9f6960ba7c7a55ac50cd750335ccaade7723b83b8f6e38a2207a5ba4e7ea3d93780cb616ca53781f99fbff009a0b675a5be9765d43a75a6ad3b25adb4185429b831c70303dfdfd2831eb8954ca48f3827819c71ed406b2b1b9bf9a5fc1c4ce2253238047957dc9345d122b792eee522811a495ce1157b93ed444ff0049f476b1aaf51c761345269d25be269259570c833c6077249e062a68f53e8ef0da69509d4ae225b92a04af232ab16f98cf1f4a5a266d4dbca8af13a329ecca723f51502d14f0cb9f05d1c8ee01c91f6a0393b4edfe63c8a031608859b38f97340d84d04e5846eae50f9829ce3eb400fb24466041f5e3d2823f56d22db57b192d6e61468a41c823ff0035651916bbf04ada7badda5cad6d1b72c09dc33f2a6875d25f0865d06fe2bc6d4c4d3282026cca8cfafcfd29a34cd234a10c768f711a78f1bb392a3001208e3ec69a26a58d640c832091c90706a084ea1d3eeafdadf4f86da3166c0b4b397c18f046140f5ce4d04f4702436e91c28a9122e028ed8a0a9f5a5b6a09a1bc5a135bc72cce048b3c5bc15c638f9d59043fc2db997481aa69dae49e1cb6bb643239211939e467818f97bd305965ebce9a10bc8da9dbaa2679dd9ce3d8530572cfac87566ab05ae9f1490692b9696e1f833738555f96793504df5f25945d2576b7ec16dc46792381c7b7ad5e60f234980e42f6c9c56a82ec3eff00bd4124e49700f1c646e3cd169ce9575f83d52cee324347323f6e3861ff008a23d47d4ba6a75074fdcd8ef317e2e2ff0098bdd4706a60c3f4ae8cd5f44eb8fc3e97248a638cbc73bf90483d463b373e9574685abf42a6b5649fea72bbdeac4a8d3b018cfae31f7a6895b6b29b41d30d8e9f6bbed9213e1b7a994e724fcbb5064bd7835a9752d3af75d8116354778f660788cbd9483dbb0a0cd20b2b8d43528ad2088bdcccf854039cff00e2827a0d34e9da1de896f2182492efc0976f998aa827d3d334113a74aa9a9298628e74570478bc0c7cf1da83724bb8246d3e6416b0384da61b5501c9f5c3704f152c037561a95f5fce61d3ad6db4ab950f34b331dd9f4191db8fdcd406d67a675ab4b6d325d1af248272a43430315ddec7038f6ad4b3f448bf47eb71cb69abddebf21d5e26896203846c30c8603b9c6452d9835901405660376319ac84bf13180779d8bb82827d4fb0a06f777367a75acd7170f1430a9f331200cfceae061a0cf6dac692d7365266191db0578f5edf3a6075a6c9278b3433188a467860d96fbd40fe540471409aa0c1140750001ed8ed4058e15133c983960077edf6a06faade5c5b7822d2d926766cb967da2341dd8f0727d85033d27597d62e2ee3163756915bbf8799d71e2f19dcbf2a092b88dd9a311950a0e5b70ce47fe6ac18af53f5b69da9752dd69da9ca906876e24465d9e69881c6ff005c679c0aa2bfd267a347512c93dbb5d42d90d3c800b68c9ce0ec3cfa528db74ad034db5905ee8be1ac728dc153984f3f980f4fb56453be2de8f647a6aff53796596f0aed46798ec033ce149c0fb0ad71479c9bb9dc3bf3c55a0b95f65a825150b481a407b93c0fda8a29c06671dc93803bd131eafd0af6dffe18d2ee25982a4b04603b7a9c631fad03bbe586381bc5945b96385718c827db3eb5288eb8ba934eb15fc3c535f05427796dcccdec7150637d5bd55d5362b7975aa4d0d919018adec8637807bb60723000e4f7cd58203538aefa8aeb478a7b9beba924547b8774cf8608036a80704639cf1f9855d1a7f4c68b67a03de5e5d59dad8d988c62e1c0f107a1e7fdf7a082ea6d07a6e3e99375a7cb6b3db093c727701e2360f7f53dfb50653d4130d42ee18f48b3f0232a15218936963ebf5fbd06dbf0cfa74855b9d46e04b730c6144691e12307d33ea7de8348ba6b5478a279a004f98c479247b81f5a9438805ac0be2e02e73c9ef8fbd40c2346d43578eefc40da7da1dc8b8eefea4fcb9fef419beabf12a4bcebcb2d2fa7ee0dc58492084b30236bb6467dce383f6a0b87556a67a7f4d95a0bbb5468816f0a69c78b2e072572719ce78357079dfab3af2e7a92c963b88d94abbbf91cedc93edf418aa2c5f0dbe2a6a9a0c90d8de34773a6a8da1186d6403fa48fec682d9adeb7a9b4c9d572dacc9a6c9700456e5ca910e000ecbd8e580352fb1ae7476bd6dd49a325e5a9f3025245fe961dea097523cc0919a032af039a006936c81423104649c703ef40dcce64bc3035a87b6f0c378f9fe7cf2b8fdf340a4b6e25962915d94a67807839f7a043586922b5636ec44c061063f31f6ab079d7fe19b7eb2d4efeef55d5d74f992e9a0fc3a441dcb13927b838c9aa2d4bf042c618e178efee6e18104870172318edf5c1e6945bbe1a748ea7d2315edbea3a99bcb190030c401010e4e783ee0fa56455be3d6b90c1a6268d69e17f1486900ee98ec29ccc183119419e7e55ba11f089f523ef5058363a8059fb8e31e9421b491056c01819e28d3d0ff07eea3d53a1e3b6b8db235aca63c139c0eea68ca47a9fa6ef757b83ff00bf68ad428c2f248c7a8f9fcea518df516adac74e7544f63a2ea172f1800291e6cee19ec78cd5826344e85b6bad25ba8fade5b99dae0ee11efc71e858f7e7d054a2d7d39a75ae8f7b6b00b8917f1516624b78429da327cec493db1db1d8540cf4aea28f58d6aeae2f6dd64b498082d880488d149fcea7d4939ab04175e6850a8d32de3b78e380c8de32c4db4e18e430fef543cf86fd0d691b4fabdf6648b3b2db69ce7dd87be68342d2f4fb9b5b891af1a28a2dc05bc5036d001e0eef7352884b961a2ea9aa7555c885e08d45b5bc52b61b686c120fb939fb541276bd4b61d53624d942e2f6200bc32290633e99f4233416dd3ad3f0d611c0c77b632e71dc9ef41156dd27a45addcb3dbd9c513b1dd941821bdc7b558333b9f873757fd69a85e3f813e9c7723b5d93265d872473c11544a68ff08fa75e290b42ec4e4124e70738fa5048e89f0f745d2aeadd2decedda6525c975121183c77f7a945c754d0e0d563682ed43425369403bff00bcd58308ba7d5fe13f5a05889974a9d8b46aede4914f707d88ff001528ddf4fd7edb54d1a1d56c312dab2e64dbc9418e78f5c541296d70b716d1cd6f8789977230ecc280cb7519b816f212b205de4e0843ce300f6cfcb39a0545c42cee88e0b458ddec33ee680eac92266360debc7b5056fad2d354b9b189745744be121daf27e550548ce3d4d58324d07a725e98ea2b7ff5381f5169a7579d021fe13904ee43ddfbe49038ab46e76cf05cc714f6d309232a4a98ce54fd6b2196bb7f2e9b631b2c427b891b6851db3eff002007341e5bf887aa2ea3d4f77378be381e42fdb711ed5a1554395caf1cd07617dcd04fc85402101da791421b49920331381c60d1a69bf02f56f03a925b12c162b98c955f775e47df19a32d99b518268e4491668704a79d4aeec7b7bd4a30feb7e9144d76e265697c3e2693631674273803e556087d76f35fd49859e9925ccf611141106f2e182e3241f727f5a94681a268f79ad1b1b8b9dd66b1c2b1ce9bb06361c1e7bf3fe6a096b0d3ba57488e485b52b40909c386901607d47bf7a0ae758eb69ac4d15be81a748f0a9c35cc90b2eff4c03c1c638a0b77405c5d5d45f87be5fe359a88b81b401dc1c7d38fb50586fed18ea3015790091591e447c1518c8c7a0a0a5754d8c9d49a8d9f4ee9dba0b3b5224b9692327728f627e7c6682f9a7e996b6b3a8b6b748a348820c7720761412c064e3041ce282b5d4bd73d3bd3f33daea97ac2e540dd0a292dc8cd043c1f15ba2a7923b65bb910371b9a12141f9d02edf13ba2ade56857551e5e77244c54fd0e280746ebfe99bbbd655d56dcdc9ce08465565f4ee3bfca82d53eb3a6dac3e25c5f5ba646402e33fa77a0aff5b74ad8757e9ca972844aa37c520fcca7d3f5ab067bd369a8f467544d626c98e9f7118f0200e4465c903049c8c9e6ad1b24334b6fa6249716cab20037c309dd83db03b5640dddac3764a4f02cb1103863919fa7a1a06d6f600c37162911b7b252b87dc773f1927393f4a079f868edae1ae6328a8b1ed38e30050226e85d5dc1f879011b3c47c2f604719f9d01eff4f4b83e3c6b18bb452b1cac9b8a83de80b16e8208a3b7b58e1407cc061427cc0ff1560ce7a8f592d69a97504cad2dac01a2b53900c3e9e51ea58f727d0551e73bfb86b99a49a46dcf21c96340dc13804f20f6f9501c0e3b8a0963316fcc4607007f57bd084d64dec01200ce483468ff0040d525d1755b4d4206ff0095207c11dc67ff0019a18f56584f6daad9dade4211e39104a8ded9152b235cd8c530613229c8c1c8ef50472e81690ee00322b0c100f0debdbb7ca8111ace856371358cba85aa5cc407891ccf83f2ef4048b4ad2e59bf116769672c72f99dd1437239078e2824a4d3e1b94559234110e781839fa0a0561b38ad532a12319c86c6307e740a9732a3a00cac870cd8e0faf0681be8b6db965bb909df3c85806eeabced5a09523647e6e0fef419a6adf116daf7ac34be9dd1da686e7f1ca2e243b76320ce57df9ff1560cc3e3f470ff00c78255b842b35bc6c4af9b6e323d3e95467b6365f8dbcf062beb68c119595d8aaff6e282422e9899b4f6bb5d46cda2562a76316c1078f4a0859e1b9b762c0bf94f0e84feb4125a57505c58ea70dd5d0174a986d92b1c13f6f5a0de7a5be366877260b5d42dee2d2423124a487507ebdf15289dd3fac7a7bab6feded74d61733473acdb5a162142ff00313d81ed505fa58fc6d809380c1b9f5c502e0e05040ea367a85dea454de2ff00a610375b04c16c7a16ef8340b5f6930dce9375636acf6a278f04c5dd4f1dbf4a084e91d06f3a52dee62bbd4a2b882494ced3c8a448063b63b638fde803ab7ae749b2b3096d792c93c8c109b55dcd18ce3710473ffdd043dc758dc5869044565aa5dda4c3c2b7bc78c1f14e3963db03e7c0ab066bf1327d41ba76ca6bc48ecad24c456f6b0c87cf8e4bbfa138c0fa9aa3297c83dd4e28395811cf2680a5b93c7ed413cd1ff0f3c797b8031406645236b0508406f30e68ba49c051b97d0e0e7d28ad57e19f575c5be8f269515dac772877c11bc464dea7ba8c739ce78f9d3193bb8ebfea2bcbd6b5b6b8b58bb7f13c2f0ce31cf0deb4c0f2dbad6d743d2ee99efae752d6c02a86e0054524f6383c7ff94c0b6af274c75149a46a5a82c46f1e1479fc3190bd8156fbe7f4a960bf74e9d253f1167a3ac09e0856610e3041ec7f6c540f67b892cee7f8d18368232ef2af2508c7047cf340ead5bf130accc9b1186541e723d09ffc5033bbb1b82d74d6b37f1244daa1b38073df3f4a08eeb1d3b50d4fa6a5b4d32f12cef1902ee73e523d476fde8306eb0d3fabfa4ba92c278af67bb7281606472f90bdd58558253a6afb40ea1d62283a8b461a66a6f931cf6a7c2466f7cfb939e7b5515fbed3747b5eb8f06eb78d35080a2ec9719c76f98049a0b4ebdd37d1bad869acbf0b03c5c16b29444adf50ded41995f68564a263a66b31cd02be152505493f51c1a088bab69ad1bc179e320f07c37c8a0692b46c4995f0381db39a0b2fc34e971d57d4705bc8db6c50ef9dd97b81fcbf7381528f5ae97a1d8e996d1db69b0c7648855b10a81b80f43c739c54134147b9a036063279fb5046e957726a0f2cfe04915b06db1788305ffeac7a0a00d72f8d9c491c06337533050ac7185cf2df6a06da2da4293488f34973328c34aea428c9ec3eded40ee7d2ad249448f6b133820ee2833df3fde819ea96897461b05b87815f2ee919e5d47704fa039ab079b3e326b70eafd4ef6d6650d8e9ebf868b69c8247723efebf2aa280eb9193ebedc5002a124e015340018fb8fde82cf32b1603d0678cd02406dce3008e47ce81b499c331383c9c9f5a2e9c69377369f7d6f796a4acf148acb83fb511e91b3b3d0bab745b7d45acedd8e3732b71b1fd73f7a5a19eafd09a56a0a96b1c705b49c48510761ce4fcfbd4d0d752826b2b583476fc3daacb295b79d768de8a32b1e71f989e49f6a7d14dd1af5ba275a45b8b093c054492ea769092373765c1da4679fbd306e36ba9595fe9f0dcdbcc92c33e1579cf27d0d409ea178f68521b6b76926ee8a7853f7ff140bc768d78f6f73748d1cd103b543f0091cf6efc502f7319dac194371d8b6326829f0c501d7ae6fa568d5d4942c806d4db81839f53c8cd59456fae6e628749b5bab8b1865b08e4726588ec11e7f2e49071c93da9a31dd4341d675e9a5bad374f9858162d0b4ac70e18f0573df35a0c759f87bd53a404f174f965dfff00f479b1ef570576e34bd4b4cc0bdb3b9b7258a00e846e3f2a94376475cee4914af7ca9150685f09ba61efb52fc7dd69bf8eb7c158d1d0b47bb38f37efde968d6eeb4eb5e91d6ad25b660aee59974db6881690918e31ce39279e062a5a34bb57b88adedd1e379679065d80036679e6a07e8391bce7e940c659ef5afe1286de3b16f2b8903094b7b2fa7ce81eb380c4260ed193f2a0cd6fa5d4a4ea0fc7bdadcce923158a3039db83c038e3ef41a0e96b2ad8a35e009291b8a939d9f227e43bd590436bbd6fa269202c974b7123602c76e779624e00e29833bf897d493e896525dbcb2a6b5a9c3e1456b91b6d60cf989c7f31f7a60c02490961ebcf3eb541308e39e067b507007b96007a67fb50178f97eb4165ce18165c2927b773fad023202d9c8dbb7818ff003408300b87f2f1c107d0d0c15a4f2e339c90467f6a18bdfc2cea8ff4bd561b4b9ba686d6e64552c4f954e7d7e46a60f4688d240af1b2bc6cbf5047ca960617ba658de1b792f2d94a5ab33461b18524633fa1a81b5c8b5168967369d23c0e0a24622dc981d81c76aba29df0bb48d660d52fceb88d069f04aeb69130037127f37b9c0ed9a8350781240bbc06da72323b1f7a0eb8816e633192ebc8c9472a78fa50349b4c83c068e24f0ddbcc1c13b837be4d055b57e98b996d4db5b4a893dc1e6620b6ccf2c467efc504ce97a38d3f4d874bf09af6d46e2f25cb82724e791db15650a43f878b51fc34f3da8f132b6d6a98c80a39ff007e99aba249631b58b9047239ec3e55368aeeb7d2da6f52c0eb7f16e87f2c6e836ba90724ab7a67b55d115ac7c3e8aed2182def4c56a14096368959a423d77e3229a27b41e9d8343b01069c8a8dc9660aa3713df3c64d4a1c695d3d6b67a8cba94b9b8d4e61869e4e4a8c636a7f4afcaa09a485519caae19b966f7a0435196582c656b74df3e308beec7b50629375775b691ac5bdb6b16d6378779f019b00a31cf391c9c2f1daae0b35ef52f5374de88d77aa45a6cd25ddc0108694ee2188c28007603d6a0d16c92430a4b2ed3230dc401855cfa0a0a07c45d7b5db9d462e9ee960b14b2ee134ef8c850012147ec78ab0670b643a2efae753d72686e6e2da211db42176079c8e768f65e39f7aa332d6f58bbd635096f6fe6692695b24f603d801e82823cb900ee00e68006460051dfd680ed9f0c905b713d8d006d5f5419fa505a18f94e40501b1b81a04186d62402c87be3d6810b81290aea8467201231cd1749dbc437f9f1e201db3de8ba07dc0175c027f28a335b17c26f888d6b6d0e8fabf892a29c453b1e547f49f7a946d6424f08236491c833ee0835073294888894120700f0280813c40a6711bc8843e00fca7d3ef40e41dc081f9a811681c6f7565329185623b7e9de812b3bcf11ff0b74563bd50494cf120071b97e5fda80d7577046c9019d5669dbc340324eec67fb734103d5da96bf67a7cf0e916f6e2765f25ddc4c11107ab1c8c647cce2816d3ec7f0f6564cae6e67da375e6d52cc4af2e4fb13ed4145f899d47b3499f4bb6d46cda49b69b92921565c3648e3dd40c81cd5c0ae89f13ec246d3e379ed2d6da180b5d34849da1780b128e49271c9f4a60ba685d5fa36bc42d95c324ec7090cc9b1d87b81ed50588958977cacaaa3b9341c655f12348d1dcb8dc1946540f99a019e2134454eeda7bed3839cd052fe2136b536b5d3563a1ca53c49da4b9507198940ce7e5c9fbe281c6b7a974cf4ee4ea7242d76dc784a3c595b3e9b464e3f6ad0ac745ccbd4fadcbabea42da56959a382ce7460d6b1a93c01f97272093ebf6a82f1ad6af0e9da5cb3cecf6902216919f82aa3818c7a9f4c530649a9f5269ba7429d472239bc991a1b0d3c3152880f0f23039e7bf3de90635ab6a377aa5ebdcdecef2c9239e59f3827e5ed54302195fcc38cd01245395c1f5f4a05b606538e483c501b6939e3b5077860f3914165754c33e549000dbe87de813b820c27fa7baafb8a04a69c98e281e42618c795338033df1f3a06c03e4e029247007ad010093c35674da71f977640340081a190658e41c820f141b0fc33f8926c218b4ed609366a02249bb2d19ce3ea4528dbece68eead926b7916689c643a9e0d643387521fea2f693c2d6efc786ee46d9bfed3eff2a04669edf5295ff057a60bd865309246d3bbbedc1efef41d63a8dec9ab4fa7dd4510fc3c69234ca186e2d9c003b7a67bd034bad0a5bb96e25d575267889cc1b54446d9bd0a37bfbfbd02925945a72cba8dddc48b3f87b1e58f23c623f292bdb7fa7cf38a0a5750f54ebba56a9a67fc516b6d6fd3970ea9234677c8dc7f38f6e4640ce282d1ac4b16bfa72c1d2bad430cd1ba822061865f5007d3daac19cf547c189357d561bbd3eee683c62cd786e9b73337b8c7bd512bd39f06adedec2de0d5ae639da372e6485363107f97767b505cee755d03a5e58ac228659af123184b7b733322e38c91dbf5a943ab3d52e64b49ee755d2e64950e238e35f10c884e17cbe87dc540e6d7509a4f110e9f7566a471712850abf6ce463e6280bacea36fd33a4497f773cf32c698dcc4beee33938edc7ad05534aea683ae61d64c4d2a69b6b88d16d5ca5c303f3e386cf61db140e27b5e99e96b64bdd562b6b30aa36c6c37cac7dc9eec6b42c1a66a962fa70beb6b516d0cbe76322f86c78f6c66831bf8b5d5d2dfa35a5dce60b1933b6ce3c788769f2b331ec1b8fd2831b79649984b239773c1dc68129725c1c640e73400ec781d8fb1a03c4a85d0c8582640257bd01e51fc42236263c9c67be280429c6037eb405dbf5fd682c2a0bb976cf07d3fc5009279ef8ec4e68193a9902b28e7dc71fb501d95b098e0f6dd9e0d0049131019b047b8390281bb292484e47c8500c4f242c3076bf704704739a0be7c3febfbae9a5daf23cd017c7e19fb107bb67d0f6fd6837cd2757d1fab34f4f05e37dde630b1c3a91edf4f7159103d6eb7da65fdbdf59dadb5e2460ac876ed9e1c8c060f9efe9c8a0a75cfc42d5742d2ee5a7e9dbb494b6d6b9bc930cce4f940e3cd81ed4160e98f88315e689fff0022b57664199cc5196f0c7a164ef8f98cd0589baffa68590985eb15c0db1985839f6c2919340b69d03f5285bdd6f4bf021424db4329cb153fccc3d09c76a090d3340d2f479a7bab3b38e2924e5e451cfd280d7dafe936f6c5e4bd89813b02a36589ce318a0358dc35cc4e17f9bf234cdbb78fa0c607a7340e6cec20b1596610c6934b8323226379edda81da8dcb9ec40a042f50b5bb21645473b58b11dbd7bfca8304f8add5d67a9ea8ba5d8ea72c1a4d8a952f10f2c920e368cf71e99fad5833dd0754d6ed66bdb2e9a91a5babb2a310465a57c1ddc1038e7bd5171d3748b8d46ee1ff005298dc6a764c27d4eeaee7fe1c01795881c9e7804fe940dbe287c4b6d75a1b1d1c986d62277c91bf131f4c0f6fad0663737135d3b497124924871f98e7803007d2811dc5b83903dc0a0333f03be7de8122df2c9a05a11e5f51f7a05ce7071804fca8033e5da0734020b0183bb23e5416269577ed0e5323078ceeefdff6a03dbcd62914c2f629a47c622689800879e4fbd046f9d8a2a03e31385c0e73da8b83ca590947dcaead8208e73da8849b3e19ce704f7c5015586d006431f5cf61f3a04ee586ff002481c8fe6191408f0011eb8e30682774dea9bbb5784492ca6385832e1ca95e3d2834be9df8c312e2db5eb4375080337000f1303d18763591a469baef4d755989ec6f6dae5a23e20b599406dd8e080ddbed41272f4dd8caf1c86d163910f9595882a3d718a035edd695d3b6a926b57d0ac65b10b4e06eedd863bf141077fd7af2782bd3fa26a1a8891d57c630948c0279393dcd04cf5875258f4de9f0cb7b7b6d66d2b81ba752d85f5214724fed41036bd79d2fe319d7a8f4b9c81e58de2f04827b9ce09a07a3acecf54b790685ace8697606009e52c377b7f2e682b097d7d36acf0f55df5edbdc0977412468cb6ce3be10af3c63b9c8a0b0751f505be9690dd5d752436f62a3fe4c6448f3b7b0c64e38f615734651f107e3045ac42b67a7693018633b965bc1bc838ee173807bf7cd33065baaeb1a95f2c11dfcd2bc51fe48880aa3e8a062a8b059f595df4ae9a74de9e9ec499d43c97b1427c6e47e525bb63e4282ad3ea3712893c599dbc4259c1627713c927de81043950df97db1406da8411c92063be280230839627078e79a0390a71b5bb5003a8c1232338e4507025573e9fbd02a0e41dc0e680c3691cf714053bb34160895dc16f291d98d02322aa39f3e14707ffaa06f202a5bb0c7201f4a343aca51090497efdfbfce89840c8db8e46573923ff14410b00490d9f5c1a0425dd8ce4673e873cd0265e4dbe7041ed814009b8cbb8e5863bd07163b7716e0607b6698060b96b7b9478dc8643918247ee39a60b7e97f133a8b4e0c63d4ee597380923970a3ef4c0e13e25dfcfab457ba95bdbddb212016501867b9cfbfda982f907c74b282da34874a9048aa479c83838edc62982b7ac7c42d235cd67f15ac5b40c366418a2cb0c1c81e6f5e31db14c160d035de8cd4a3f18ea96562cc37359dfe9cac887fef039fd6b39446f56ea5d13a9dca4579a922496b1975b8d22dfc3566cf9557230703be715ac1431d4d2275325d7fae6b4f6f182a93ef1e32a9f41938f6a60afeb1a95c5fea53dccf772cf2c8c489240031f627e7565c0d67bbf160487c1801073bc0c31f91f953420f2bc8c7c52cc540032738a809905c0f4fa501940208e73df34028e703938a0577ae013f4a001300db4f03b71407461ce0502dca8c9c7dcf6a003fafcbdcd0070bc1e0fd734070db467b8a04cb9c9e68274b93bcb1daa40200ed4099765249ec476cf340849b8b264823bf34689ee009cb671df1409bc8e8b8e770e3ec68984d9c953cf97be2860b248caaebc107dc67f7a184c31232db88fd451031ce50e76039f5c8045026efb8f93279e0fd680b239504f0483d88ef409ee25bb90c79c0e050151c6e21b39ce783eb40adbcc2cefa17bdb61322387781c950e3dbdf9c8a066f28790b22e013db3dbef54726081e63c6460d34191b1bb0720f634060e7600412c781502409c8e3d7b500ed71dbef8ed40243f181c0a02e5d4e0fad006f644e4819e3b501f7e3049e7b501bc43b4e391da80558003392d40a23305e320d02e64cf998e1bf5a032b0c927b8e68049c8c8e71c6280377043118f4e680bbff00de0504ddbb3128371c1c64668024e59f3cd02521254e4fad1a2107e48fe6a6809ddb9e78a029e1463d05027ffc744a6c3857c7b1a205ff00e637fbf4a02b12b1794e39f4a02024e7249ed409924720906800005173fd7404989698ee39e4f7a04cf723d07a501fff0097ed406ffe36a018ff00281e99a037f4d0731f3bfd28007e53400ff99a810248c0cf140bc60123233cff008a0557f9beb4056eff007a07109243e79a03778b27bfbd02b128c27039a054001b818a06609de793da815006070283ffd9}\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here is a movie {\pict\jpegblip\picw20\pich22\picwgoal400\pichgoal440\bin ffd8ffe000104a46494600010101004800480000fffe0050546869732061727420697320696e20746865207075626c696320646f6d61696e2e204b6576696e204875676865732c206b6576696e68406569742e636f6d2c2053657074656d6265722031393935ffdb00430001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101ffdb00430101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101ffc00011080016001403012200021101031101ffc4001a000100020301000000000000000000000000080905060a07ffc400231000010501000300010500000000000000060304050708020001090a11153976b7ffc400160101010100000000000000000000000000060800ffc400261101000102050109000000000000000000010200030405061121b33134365154717475b4ffda000c03010002110311003f00a90cf388f366a62aa720ed6ae07f96901f3831d973452b8cf36fe3570fc908e46d466433e5dd954f2e96992d9e498c7753faa44916e016ca91cc7d88b38fe60a5b97737defcbcc539c98d336a57f4fc2ca9a486bf07ab575ad9a3af4df221d8215e36df86c4504ff0024574551b3d687ee0575757b3ad64e311ee62bd94158d37e24198c43973099f1fc0c41614d950246513a081abf76cfe7061f6863281e6352fd1670949c148dd6dfb0d25f5b3689b1d5c965b0eacbf4e0932ad28e22ab9ae945633f4744bd3c8cee0a7fdf085b9000f449c5f7afa30b83e0b6fd7b0c8429c9467ff9715347c891e25fa24a205861aa715e6a09bd0488237dc2723414d9891381524e8ca7c0894664f835653631ab55ee7e3de433e4ff001b30949124e4c10c8b6ad0a479b3f9c937b2cf5bc0095ad600a0a41a0e9faee174a1c605e161c6c7a313539650b0113190f1a8368e60d5b24f30ff008ea7f0bf867fa6595feeb6978f1fe0f9c26177f4d63a51a9235184750e7d18811339cd000000c75f000e00380380ae390c350def826ed42ad051fa6f501c50f9b699c3b69cbeb76476d202bf3ac985b6e0e968be66572893e6a744540bd9722e5c87956848629bc2559306bd113e8653d3b6aff651dfad7a3ac8b02958cba02a93ccf525757039bae6cff090e1d90688e8aa233ee86a4c4a3e0586d6b2340522e47dcb7d0046d8a5acb05a123ee25d2b230b2ada6e2e2f9ede3c05202520ec2487b0d56562529d8b3393bca76adca4ec1bca508abb001babc007915d84fe3dd14e207e3c62f8379da2a3b861fb6629d28dba53b6ea388ebfed866bf6dfb553455e91ed547ae92e9445253a4fdf3efb4f8ebdfbe7d3c78f1ee0bb9e13e358e942a4ed49e22cff00eeb35fdd7ebfffd9} icon.\par} {\pard \qc \f0 \sa180 \li0 \fi0 \emdash\emdash\emdash\emdash\emdash\par} {\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Footnotes\par} {\pard \ql \f0 \sa180 \li0 \fi0 Here is a footnote reference,{\super\chftn}{\*\footnote\chftn\~\plain\pard {\pard \ql \f0 \sa180 \li0 \fi0 Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.\par} } and another.{\super\chftn}{\*\footnote\chftn\~\plain\pard {\pard \ql \f0 \sa180 \li0 \fi0 Here\u8217's the long note. This one contains multiple blocks.\par} {\pard \ql \f0 \sa180 \li0 \fi0 Subsequent blocks are indented to show that they belong to the footnote (as with list items).\par} {\pard \ql \f0 \sa180 \li0 \fi0 \f1 \{ \}\par} {\pard \ql \f0 \sa180 \li0 \fi0 If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.\par} } This should {\i not} be a footnote reference, because it contains a space.[^my note] Here is an inline note.{\super\chftn}{\*\footnote\chftn\~\plain\pard {\pard \ql \f0 \sa180 \li0 \fi0 This is {\i easier} to type. Inline notes may contain {\field{\*\fldinst{HYPERLINK "http://google.com"}}{\fldrslt{\ul links }}} and {\f1 ]} verbatim characters, as well as [bracketed text].\par} }\par} {\pard \ql \f0 \sa180 \li720 \fi0 Notes can go in quotes.{\super\chftn}{\*\footnote\chftn\~\plain\pard {\pard \ql \f0 \sa180 \li0 \fi0 In quote.\par} }\par} {\pard \ql \f0 \sa0 \li360 \fi-360 1.\tx360\tab And in list items.{\super\chftn}{\*\footnote\chftn\~\plain\pard {\pard \ql \f0 \sa180 \li0 \fi0 In list.\par} }\sa180\par} {\pard \ql \f0 \sa180 \li0 \fi0 This paragraph should not be part of the note, as it is not indented.\par} } pandoc-2.9.2.1/test/writer.tei000066400000000000000000000537121363630463000161410ustar00rootroot00000000000000 Pandoc Test Suite John MacFarlane Anonymous July 17, 2006

                Produced by pandoc.

                This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite.

                Headers
                Level 2 with an embedded link
                Level 3 with emphasis
                Level 4
                Level 5

                Level 1
                Level 2 with emphasis
                Level 3

                with no blank line

                Level 2

                with no blank line

                Paragraphs

                Here’s a regular paragraph.

                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.

                Here’s one with a bullet. * criminey.

                There should be a hard line breakhere.

                Block Quotes

                E-mail style:

                This is a block quote. It is pretty short.

                Code in a block quote:

                sub status { print "working"; }

                A list:

                item one

                item two

                Nested block quotes:

                nested

                nested

                This should not be a block quote: 2 > 1.

                And a following paragraph.

                Code Blocks

                Code:

                ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab

                And:

                this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{
                Lists
                Unordered

                Asterisks tight:

                asterisk 1

                asterisk 2

                asterisk 3

                Asterisks loose:

                asterisk 1

                asterisk 2

                asterisk 3

                Pluses tight:

                Plus 1

                Plus 2

                Plus 3

                Pluses loose:

                Plus 1

                Plus 2

                Plus 3

                Minuses tight:

                Minus 1

                Minus 2

                Minus 3

                Minuses loose:

                Minus 1

                Minus 2

                Minus 3

                Ordered

                Tight:

                First

                Second

                Third

                and:

                One

                Two

                Three

                Loose using tabs:

                First

                Second

                Third

                and using spaces:

                One

                Two

                Three

                Multiple paragraphs:

                Item 1, graf one.

                Item 1. graf two. The quick brown fox jumped over the lazy dog’s back.

                Item 2.

                Item 3.

                Nested

                Tab

                Tab

                Tab

                Here’s another:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Same thing but with paragraphs:

                First

                Second:

                Fee

                Fie

                Foe

                Third

                Tabs and spaces

                this is a list item indented with tabs

                this is a list item indented with spaces

                this is an example list item indented with tabs

                this is an example list item indented with spaces

                Fancy list markers

                begins with 2

                and now 3

                with a continuation

                sublist with roman numerals, starting with 4

                more items

                a subsublist

                a subsublist

                Nesting:

                Upper Alpha

                Upper Roman.

                Decimal start with 6

                Lower alpha with paren

                Autonumbering:

                Autonumber.

                More.

                Nested.

                Should not be a list item:

                M.A. 2007

                B. Williams

                Definition Lists

                Tight using spaces:

                red fruit

                orange fruit

                yellow fruit

                Tight using tabs:

                red fruit

                orange fruit

                yellow fruit

                Loose:

                red fruit

                orange fruit

                yellow fruit

                Multiple blocks with italics:

                red fruit

                contains seeds, crisp, pleasant to taste

                orange fruit

                { orange code block }

                orange block quote

                Multiple definitions, tight:

                red fruit

                computer

                orange fruit

                bank

                Multiple definitions, loose:

                red fruit

                computer

                orange fruit

                bank

                Blank line after term, indented marker, alternate markers:

                red fruit

                computer

                orange fruit

                sublist

                sublist

                HTML Blocks

                Simple block on one line:

                foo

                And nested without indentation:

                foo

                bar

                Interpreted markdown in a table:

                This is emphasized

                And this is strong

                Here’s a simple block:

                foo

                This should be a code block, though:

                <div> foo </div>

                As should this:

                <div>foo</div>

                Now, nested:

                foo

                This should just be an HTML comment:

                Multiline:

                Code block:

                <!-- Comment -->

                Just plain comment, with trailing spaces on the line:

                Code:

                <hr />

                Hr’s:

                Inline Markup

                This is emphasized, and so is this.

                This is strong, and so is this.

                An emphasized link.

                This is strong and em.

                So is this word.

                This is strong and em.

                So is this word.

                This is code: >, $, \, \$, <html>.

                This is strikeout.

                Superscripts: abcd ahello ahello there.

                Subscripts: H2O, H23O, Hmany of themO.

                These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.

                Smart quotes, ellipses, dashes

                Hello, said the spider. Shelob is my name.

                A, B, and C are letters.

                Oak, elm, and beech are names of trees. So is pine.

                He said, I want to go. Were you alive in the 70’s?

                Here is some quoted code and a quoted link.

                Some dashes: one—two — three—four — five.

                Dashes between numbers: 5–7, 255–66, 1987–1999.

                Ellipses…and…and….

                LaTeX

                2+2=4

                x \in y

                \alpha \wedge \omega

                223

                p-Tree

                Here’s some display math:

                \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}

                Here’s one that has a line break in it: \alpha + \omega \times x^2.

                These shouldn’t be math:

                To get the famous equation, write $e = mc^2$.

                $22,000 is a lot of money. So is $34,000. (It worked if lot is emphasized.)

                Shoes ($20) and socks ($5).

                Escaped $: $73 this should be emphasized 23$.

                Here’s a LaTeX table:

                Special Characters

                Here is some unicode:

                I hat: Î

                o umlaut: ö

                section: §

                set membership: ∈

                copyright: ©

                AT&T has an ampersand in their name.

                AT&T is another way to write it.

                This & that.

                4 < 5.

                6 > 5.

                Backslash: \

                Backtick: `

                Asterisk: *

                Underscore: _

                Left brace: {

                Right brace: }

                Left bracket: [

                Right bracket: ]

                Left paren: (

                Right paren: )

                Greater-than: >

                Hash: #

                Period: .

                Bang: !

                Plus: +

                Minus: -

                Links
                Explicit

                Just a URL.

                URL and title.

                URL and title.

                URL and title.

                URL and title

                URL and title

                with_underscore

                Email link (nobody@nowhere.net)

                Empty.

                Reference

                Foo bar.

                With embedded [brackets].

                b by itself should be a link.

                Indented once.

                Indented twice.

                Indented thrice.

                This should [not][] be a link.

                [not]: /url

                Foo bar.

                Foo biz.

                With ampersands

                Here’s a link with an ampersand in the URL.

                Here’s a link with an amersand in the link text: AT&T.

                Here’s an inline link.

                Here’s an inline link in pointy braces.

                Autolinks

                With an ampersand: http://example.com/?foo=1&bar=2

                In a list?

                http://example.com/

                It should.

                An e-mail address: nobody@nowhere.net

                Blockquoted: http://example.com/

                Auto-links should not occur here: <http://example.com/>

                or here: <http://example.com/>
                Images

                From Voyage dans la Lune by Georges Melies (1902):

                lalune fig:Voyage dans la Lune

                Here is a movie

                movie
                icon.

                Footnotes

                Here is a footnote reference,

                Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.

                and another.

                Here’s the long note. This one contains multiple blocks.

                Subsequent blocks are indented to show that they belong to the footnote (as with list items).

                { <code> }

                If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.

                This should not be a footnote reference, because it contains a space.[^my note] Here is an inline note.

                This is easier to type. Inline notes may contain links and ] verbatim characters, as well as [bracketed text].

                Notes can go in quotes.

                In quote.

                And in list items.

                In list.

                This paragraph should not be part of the note, as it is not indented.

                pandoc-2.9.2.1/test/writer.texinfo000066400000000000000000000341061363630463000170300ustar00rootroot00000000000000\input texinfo @documentencoding UTF-8 @macro textstrikeout{text} ~~\text\~~ @end macro @ifnottex @paragraphindent 0 @end ifnottex @titlepage @title Pandoc Test Suite @author John MacFarlane @author Anonymous July 17, 2006 @end titlepage @node Top @top Pandoc Test Suite This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite. @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @menu * Headers:: * Level 1:: * Paragraphs:: * Block Quotes:: * Code Blocks:: * Lists:: * Definition Lists:: * HTML Blocks:: * Inline Markup:: * Smart quotes ellipses dashes:: * LaTeX:: * Special Characters:: * Links:: * Images:: * Footnotes:: @end menu @node Headers @chapter Headers @anchor{#headers} @menu * Level 2 with an embedded link:: @end menu @node Level 2 with an embedded link @section Level 2 with an @uref{/url,embedded link} @anchor{#level-2-with-an-embedded-link} @menu * Level 3 with emphasis:: @end menu @node Level 3 with emphasis @subsection Level 3 with @emph{emphasis} @anchor{#level-3-with-emphasis} @menu * Level 4:: @end menu @node Level 4 @subsubsection Level 4 @anchor{#level-4} Level 5 @node Level 1 @chapter Level 1 @anchor{#level-1} @menu * Level 2 with emphasis:: * Level 2:: @end menu @node Level 2 with emphasis @section Level 2 with @emph{emphasis} @anchor{#level-2-with-emphasis} @menu * Level 3:: @end menu @node Level 3 @subsection Level 3 @anchor{#level-3} with no blank line @node Level 2 @section Level 2 @anchor{#level-2} with no blank line @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Paragraphs @chapter Paragraphs @anchor{#paragraphs} Here's a regular paragraph. 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. Here's one with a bullet. * criminey. There should be a hard line break@* here. @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Block Quotes @chapter Block Quotes @anchor{#block-quotes} E-mail style: @quotation This is a block quote. It is pretty short. @end quotation @quotation Code in a block quote: @verbatim sub status { print "working"; } @end verbatim A list: @enumerate @item item one @item item two @end enumerate Nested block quotes: @quotation nested @end quotation @quotation nested @end quotation @end quotation This should not be a block quote: 2 > 1. And a following paragraph. @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Code Blocks @chapter Code Blocks @anchor{#code-blocks} Code: @verbatim ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab @end verbatim And: @verbatim this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ @end verbatim @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Lists @chapter Lists @anchor{#lists} @menu * Unordered:: * Ordered:: * Nested:: * Tabs and spaces:: * Fancy list markers:: @end menu @node Unordered @section Unordered @anchor{#unordered} Asterisks tight: @itemize @item asterisk 1 @item asterisk 2 @item asterisk 3 @end itemize Asterisks loose: @itemize @item asterisk 1 @item asterisk 2 @item asterisk 3 @end itemize Pluses tight: @itemize @item Plus 1 @item Plus 2 @item Plus 3 @end itemize Pluses loose: @itemize @item Plus 1 @item Plus 2 @item Plus 3 @end itemize Minuses tight: @itemize @item Minus 1 @item Minus 2 @item Minus 3 @end itemize Minuses loose: @itemize @item Minus 1 @item Minus 2 @item Minus 3 @end itemize @node Ordered @section Ordered @anchor{#ordered} Tight: @enumerate @item First @item Second @item Third @end enumerate and: @enumerate @item One @item Two @item Three @end enumerate Loose using tabs: @enumerate @item First @item Second @item Third @end enumerate and using spaces: @enumerate @item One @item Two @item Three @end enumerate Multiple paragraphs: @enumerate @item Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog's back. @item Item 2. @item Item 3. @end enumerate @node Nested @section Nested @anchor{#nested} @itemize @item Tab @itemize @item Tab @itemize @item Tab @end itemize @end itemize @end itemize Here's another: @enumerate @item First @item Second: @itemize @item Fee @item Fie @item Foe @end itemize @item Third @end enumerate Same thing but with paragraphs: @enumerate @item First @item Second: @itemize @item Fee @item Fie @item Foe @end itemize @item Third @end enumerate @node Tabs and spaces @section Tabs and spaces @anchor{#tabs-and-spaces} @itemize @item this is a list item indented with tabs @item this is a list item indented with spaces @itemize @item this is an example list item indented with tabs @item this is an example list item indented with spaces @end itemize @end itemize @node Fancy list markers @section Fancy list markers @anchor{#fancy-list-markers} @enumerate 2 @item begins with 2 @item and now 3 with a continuation @enumerate 4 @item sublist with roman numerals, starting with 4 @item more items @enumerate A @item a subsublist @item a subsublist @end enumerate @end enumerate @end enumerate Nesting: @enumerate A @item Upper Alpha @enumerate @item Upper Roman. @enumerate 6 @item Decimal start with 6 @enumerate c @item Lower alpha with paren @end enumerate @end enumerate @end enumerate @end enumerate Autonumbering: @enumerate @item Autonumber. @item More. @enumerate @item Nested. @end enumerate @end enumerate Should not be a list item: M.A.@ 2007 B. Williams @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Definition Lists @chapter Definition Lists @anchor{#definition-lists} Tight using spaces: @table @asis @item apple red fruit @item orange orange fruit @item banana yellow fruit @end table Tight using tabs: @table @asis @item apple red fruit @item orange orange fruit @item banana yellow fruit @end table Loose: @table @asis @item apple red fruit @item orange orange fruit @item banana yellow fruit @end table Multiple blocks with italics: @table @asis @item @emph{apple} red fruit contains seeds, crisp, pleasant to taste @item @emph{orange} orange fruit @verbatim { orange code block } @end verbatim @quotation orange block quote @end quotation @end table Multiple definitions, tight: @table @asis @item apple red fruit computer @item orange orange fruit bank @end table Multiple definitions, loose: @table @asis @item apple red fruit computer @item orange orange fruit bank @end table Blank line after term, indented marker, alternate markers: @table @asis @item apple red fruit computer @item orange orange fruit @enumerate @item sublist @item sublist @end enumerate @end table @node HTML Blocks @chapter HTML Blocks @anchor{#html-blocks} Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is @emph{emphasized} And this is @strong{strong} Here's a simple block: foo This should be a code block, though: @verbatim
                foo
                @end verbatim As should this: @verbatim
                foo
                @end verbatim Now, nested: foo This should just be an HTML comment: Multiline: Code block: @verbatim @end verbatim Just plain comment, with trailing spaces on the line: Code: @verbatim
                @end verbatim Hr's: @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Inline Markup @chapter Inline Markup @anchor{#inline-markup} This is @emph{emphasized}, and so @emph{is this}. This is @strong{strong}, and so @strong{is this}. An @emph{@uref{/url,emphasized link}}. @strong{@emph{This is strong and em.}} So is @strong{@emph{this}} word. @strong{@emph{This is strong and em.}} So is @strong{@emph{this}} word. This is code: @code{>}, @code{$}, @code{\}, @code{\$}, @code{}. @textstrikeout{This is @emph{strikeout}.} Superscripts: a@sup{bc}d a@sup{@emph{hello}} a@sup{hello@ there}. Subscripts: H@sub{2}O, H@sub{23}O, H@sub{many@ of@ them}O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Smart quotes ellipses dashes @chapter Smart quotes, ellipses, dashes @anchor{#smart-quotes-ellipses-dashes} ``Hello,'' said the spider. ```Shelob' is my name.'' `A', `B', and `C' are letters. `Oak,' `elm,' and `beech' are names of trees. So is `pine.' `He said, ``I want to go.''' Were you alive in the 70's? Here is some quoted `@code{code}' and a ``@uref{http://example.com/?foo=1&bar=2,quoted link}''. Some dashes: one---two --- three---four --- five. Dashes between numbers: 5--7, 255--66, 1987--1999. Ellipses@dots{}and@dots{}and@dots{}. @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node LaTeX @chapter LaTeX @anchor{#latex} @itemize @item @tex \cite[22-23]{smith.1899} @end tex @item @math{2+2=4} @item @math{x \in y} @item @math{\alpha \wedge \omega} @item @math{223} @item @math{p}-Tree @item Here's some display math: @math{\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}} @item Here's one that has a line break in it: @math{\alpha + \omega \times x^2}. @end itemize These shouldn't be math: @itemize @item To get the famous equation, write @code{$e = mc^2$}. @item $22,000 is a @emph{lot} of money. So is $34,000. (It worked if ``lot'' is emphasized.) @item Shoes ($20) and socks ($5). @item Escaped @code{$}: $73 @emph{this should be emphasized} 23$. @end itemize Here's a LaTeX table: @tex \begin{tabular}{|l|l|}\hline Animal & Number \\ \hline Dog & 2 \\ Cat & 1 \\ \hline \end{tabular} @end tex @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Special Characters @chapter Special Characters @anchor{#special-characters} Here is some unicode: @itemize @item I hat: Î @item o umlaut: ö @item section: § @item set membership: ∈ @item copyright: © @end itemize AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: @{ Right brace: @} Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Links @chapter Links @anchor{#links} @menu * Explicit:: * Reference:: * With ampersands:: * Autolinks:: @end menu @node Explicit @section Explicit @anchor{#explicit} Just a @uref{/url/,URL}. @uref{/url/,URL and title}. @uref{/url/,URL and title}. @uref{/url/,URL and title}. @uref{/url/,URL and title} @uref{/url/,URL and title} @uref{/url/with_underscore,with_underscore} @uref{mailto:nobody@@nowhere.net,Email link} @uref{,Empty}. @node Reference @section Reference @anchor{#reference} Foo @uref{/url/,bar}. With @uref{/url/,embedded [brackets]}. @uref{/url/,b} by itself should be a link. Indented @uref{/url,once}. Indented @uref{/url,twice}. Indented @uref{/url,thrice}. This should [not][] be a link. @verbatim [not]: /url @end verbatim Foo @uref{/url/,bar}. Foo @uref{/url/,biz}. @node With ampersands @section With ampersands @anchor{#with-ampersands} Here's a @uref{http://example.com/?foo=1&bar=2,link with an ampersand in the URL}. Here's a link with an amersand in the link text: @uref{http://att.com/,AT&T}. Here's an @uref{/script?foo=1&bar=2,inline link}. Here's an @uref{/script?foo=1&bar=2,inline link in pointy braces}. @node Autolinks @section Autolinks @anchor{#autolinks} With an ampersand: @url{http://example.com/?foo=1&bar=2} @itemize @item In a list? @item @url{http://example.com/} @item It should. @end itemize An e-mail address: @uref{mailto:nobody@@nowhere.net,nobody@@nowhere.net} @quotation Blockquoted: @url{http://example.com/} @end quotation Auto-links should not occur here: @code{} @verbatim or here: @end verbatim @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Images @chapter Images @anchor{#images} From ``Voyage dans la Lune'' by Georges Melies (1902): @float @image{lalune,,,lalune,jpg} @caption{lalune} @end float Here is a movie @image{movie,,,movie,jpg} icon. @iftex @bigskip@hrule@bigskip @end iftex @ifnottex ------------------------------------------------------------------------ @end ifnottex @node Footnotes @chapter Footnotes @anchor{#footnotes} Here is a footnote reference,@footnote{Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.} and another.@footnote{Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). @verbatim { } @end verbatim If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.} This should @emph{not} be a footnote reference, because it contains a space.[^my note] Here is an inline note.@footnote{This is @emph{easier} to type. Inline notes may contain @uref{http://google.com,links} and @code{]} verbatim characters, as well as [bracketed text].} @quotation Notes can go in quotes.@footnote{In quote.} @end quotation @enumerate @item And in list items.@footnote{In list.} @end enumerate This paragraph should not be part of the note, as it is not indented. @bye pandoc-2.9.2.1/test/writer.textile000066400000000000000000000240661363630463000170360ustar00rootroot00000000000000This is a set of tests for pandoc. Most of them are adapted from John Gruber's markdown test suite.
                h1(#headers). Headers h2(#level-2-with-an-embedded-link). Level 2 with an "embedded link":/url h3(#level-3-with-emphasis). Level 3 with _emphasis_ h4(#level-4). Level 4 h5(#level-5). Level 5 h1(#level-1). Level 1 h2(#level-2-with-emphasis). Level 2 with _emphasis_ h3(#level-3). Level 3 with no blank line h2(#level-2). Level 2 with no blank line
                h1(#paragraphs). Paragraphs Here's a regular paragraph. 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. Here's one with a bullet. * criminey. There should be a hard line break here.
                h1(#block-quotes). Block Quotes E-mail style: bq. This is a block quote. It is pretty short.
                Code in a block quote: bc. sub status { print "working"; } A list: # item one # item two Nested block quotes: bq. nested bq. nested
                This should not be a block quote: 2 > 1. And a following paragraph.
                h1(#code-blocks). Code Blocks Code:
                ---- (should be four hyphens)
                
                sub status {
                    print "working";
                }
                
                this code block is indented by one tab
                
                And:
                    this code block is indented by two tabs
                
                These should not be escaped:  \$ \\ \> \[ \{
                

                h1(#lists). Lists h2(#unordered). Unordered Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: * Plus 1 * Plus 2 * Plus 3 Pluses loose: * Plus 1 * Plus 2 * Plus 3 Minuses tight: * Minus 1 * Minus 2 * Minus 3 Minuses loose: * Minus 1 * Minus 2 * Minus 3 h2(#ordered). Ordered Tight: # First # Second # Third and: # One # Two # Three Loose using tabs: # First # Second # Third and using spaces: # One # Two # Three Multiple paragraphs:
                1. Item 1, graf one.

                  Item 1. graf two. The quick brown fox jumped over the lazy dog's back.

                2. Item 2.

                3. Item 3.

                h2(#nested). Nested * Tab ** Tab *** Tab Here's another: # First # Second: #* Fee #* Fie #* Foe # Third Same thing but with paragraphs: # First # Second: #* Fee #* Fie #* Foe # Third h2(#tabs-and-spaces). Tabs and spaces * this is a list item indented with tabs * this is a list item indented with spaces ** this is an example list item indented with tabs ** this is an example list item indented with spaces h2(#fancy-list-markers). Fancy list markers
                1. begins with 2

                2. and now 3

                  with a continuation

                  1. sublist with roman numerals, starting with 4
                  2. more items
                    1. a subsublist
                    2. a subsublist
                Nesting:
                1. Upper Alpha
                  1. Upper Roman.
                    1. Decimal start with 6
                      1. Lower alpha with paren
                Autonumbering: # Autonumber. # More. ## Nested. Should not be a list item: M.A. 2007 B. Williams
                h1(#definition-lists). Definition Lists Tight using spaces:
                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit
                Tight using tabs:
                apple
                red fruit
                orange
                orange fruit
                banana
                yellow fruit
                Loose:
                apple

                red fruit

                orange

                orange fruit

                banana

                yellow fruit

                Multiple blocks with italics:
                _apple_

                red fruit

                contains seeds, crisp, pleasant to taste

                _orange_

                orange fruit

                bc. { orange code block } bq.

                orange block quote

                Multiple definitions, tight:
                apple
                red fruit
                computer
                orange
                orange fruit
                bank
                Multiple definitions, loose:
                apple

                red fruit

                computer

                orange

                orange fruit

                bank

                Blank line after term, indented marker, alternate markers:
                apple

                red fruit

                computer

                orange

                orange fruit

                1. sublist
                2. sublist
                h1(#html-blocks). HTML Blocks Simple block on one line:
                foo
                And nested without indentation:
                foo
                bar
                Interpreted markdown in a table:
                This is _emphasized_ And this is *strong*
                Here's a simple block:
                foo
                This should be a code block, though: bc.
                foo
                As should this: bc.
                foo
                Now, nested:
                foo
                This should just be an HTML comment: Multiline: Code block: bc. Just plain comment, with trailing spaces on the line: Code: bc.
                Hr's:









                h1(#inline-markup). Inline Markup This is _emphasized_, and so _is this_. This is *strong*, and so *is this*. An _"emphasized link":/url_. *_This is strong and em._* So is *_this_* word. *_This is strong and em._* So is *_this_* word. This is code: @>@, @$@, @\@, @\$@, @@. -This is _strikeout_.- Superscripts: a[^bc^]d a[^_hello_^] a[^hello there^]. Subscripts: H[~2~]O, H[~23~]O, H[~many of them~]O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d.
                h1(#smart-quotes-ellipses-dashes). Smart quotes, ellipses, dashes "Hello," said the spider. "'Shelob' is my name." 'A', 'B', and 'C' are letters. 'Oak,' 'elm,' and 'beech' are names of trees. So is 'pine.' 'He said, "I want to go."' Were you alive in the 70's? Here is some quoted '@code@' and a ""quoted link":http://example.com/?foo=1&bar=2". Some dashes: one -- two -- three -- four -- five. Dashes between numbers: 5 - 7, 255 - 66, 1987 - 1999. Ellipses...and...and....
                h1(#latex). LaTeX * * 2+2=4 * x \in y * \alpha \wedge \omega * 223 * p-Tree * Here's some display math: \frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h} * Here's one that has a line break in it: \alpha + \omega \times x^2. These shouldn't be math: * To get the famous equation, write @$e = mc^2$@. * $22,000 is a _lot_ of money. So is $34,000. (It worked if "lot" is emphasized.) * Shoes ($20) and socks ($5). * Escaped @$@: $73 _this should be emphasized_ 23$. Here's a LaTeX table:
                h1(#special-characters). Special Characters Here is some unicode: * I hat: Î * o umlaut: ö * section: § * set membership: ∈ * copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: -
                h1(#links). Links h2(#explicit). Explicit Just a "URL":/url/. "URL and title":/url/. "URL and title":/url/. "URL and title":/url/. "URL and title":/url/ "URL and title":/url/ "with_underscore":/url/with_underscore "Email link":mailto:nobody@nowhere.net "Empty":. h2(#reference). Reference Foo "bar":/url/. With "embedded [brackets]":/url/. "b":/url/ by itself should be a link. Indented "once":/url. Indented "twice":/url. Indented "thrice":/url. This should [not][] be a link. bc. [not]: /url Foo "bar":/url/. Foo "biz":/url/. h2(#with-ampersands). With ampersands Here's a "link with an ampersand in the URL":http://example.com/?foo=1&bar=2. Here's a link with an amersand in the link text: "AT&T":http://att.com/. Here's an "inline link":/script?foo=1&bar=2. Here's an "inline link in pointy braces":/script?foo=1&bar=2. h2(#autolinks). Autolinks With an ampersand: "$":http://example.com/?foo=1&bar=2 * In a list? * "$":http://example.com/ * It should. An e-mail address: "(email)nobody@nowhere.net":mailto:nobody@nowhere.net bq. Blockquoted: "$":http://example.com/ Auto-links should not occur here: @@ bc. or here:
                h1(#images). Images From "Voyage dans la Lune" by Georges Melies (1902): !lalune.jpg(Voyage dans la Lune)! lalune Here is a movie !movie.jpg(movie)! icon.
                h1(#footnotes). Footnotes Here is a footnote reference,[1] and another.[2] This should _not_ be a footnote reference, because it contains a space.[^my note] Here is an inline note.[3] bq. Notes can go in quotes.[4] # And in list items.[5] This paragraph should not be part of the note, as it is not indented. fn1. Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document. fn2. Here's the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). bc. { } If you want, you can indent every line, but you can also be lazy and just indent the first line of each block. fn3. This is _easier_ to type. Inline notes may contain "links":http://google.com and @]@ verbatim characters, as well as [bracketed text]. fn4. In quote. fn5. In list. pandoc-2.9.2.1/test/writer.xwiki000066400000000000000000000230471363630463000165110ustar00rootroot00000000000000This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ---- = Headers {{id name="headers" /}}= == Level 2 with an [[embedded link>>/url]] {{id name="level-2-with-an-embedded-link" /}}== === Level 3 with //emphasis// {{id name="level-3-with-emphasis" /}}=== ==== Level 4 {{id name="level-4" /}}==== ===== Level 5 {{id name="level-5" /}}===== = Level 1 {{id name="level-1" /}}= == Level 2 with //emphasis// {{id name="level-2-with-emphasis" /}}== === Level 3 {{id name="level-3" /}}=== with no blank line == Level 2 {{id name="level-2" /}}== with no blank line ---- = Paragraphs {{id name="paragraphs" /}}= Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break\\here. ---- = Block Quotes {{id name="block-quotes" /}}= E-mail style: >This is a block quote. It is pretty short. > >Code in a block quote: > > >{{code}} >sub status { > print "working"; >} >{{/code}} > >A list: > >1. item one >1. item two > >Nested block quotes: > >>nested >> >>nested >> This should not be a block quote: 2 > 1. And a following paragraph. ---- = Code Blocks {{id name="code-blocks" /}}= Code: {{code}} ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab {{/code}} And: {{code}} this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ {{/code}} ---- = Lists {{id name="lists" /}}= == Unordered {{id name="unordered" /}}== Asterisks tight: *. asterisk 1 *. asterisk 2 *. asterisk 3 Asterisks loose: *. asterisk 1 *. asterisk 2 *. asterisk 3 Pluses tight: *. Plus 1 *. Plus 2 *. Plus 3 Pluses loose: *. Plus 1 *. Plus 2 *. Plus 3 Minuses tight: *. Minus 1 *. Minus 2 *. Minus 3 Minuses loose: *. Minus 1 *. Minus 2 *. Minus 3 == Ordered {{id name="ordered" /}}== Tight: 1. First 1. Second 1. Third and: 1. One 1. Two 1. Three Loose using tabs: 1. First 1. Second 1. Third and using spaces: 1. One 1. Two 1. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. 1. Item 2. 1. Item 3. == Nested {{id name="nested" /}}== *. Tab **. Tab ***. Tab Here’s another: 1. First 1. Second: 1*. Fee 1*. Fie 1*. Foe 1. Third Same thing but with paragraphs: 1. First 1. Second: 1*. Fee 1*. Fie 1*. Foe 1. Third == Tabs and spaces {{id name="tabs-and-spaces" /}}== *. this is a list item indented with tabs *. this is a list item indented with spaces **. this is an example list item indented with tabs **. this is an example list item indented with spaces == Fancy list markers {{id name="fancy-list-markers" /}}== 1. begins with 2 1. and now 3 with a continuation 11. sublist with roman numerals, starting with 4 11. more items 111. a subsublist 111. a subsublist Nesting: 1. Upper Alpha 11. Upper Roman. 111. Decimal start with 6 1111. Lower alpha with paren Autonumbering: 1. Autonumber. 1. More. 11. Nested. Should not be a list item: M.A. 2007 B. Williams ---- = Definition Lists {{id name="definition-lists" /}}= Tight using spaces: ; apple : red fruit ; orange : orange fruit ; banana : yellow fruit Tight using tabs: ; apple : red fruit ; orange : orange fruit ; banana : yellow fruit Loose: ; apple : red fruit ; orange : orange fruit ; banana : yellow fruit Multiple blocks with italics: ; //apple// : red fruit contains seeds, crisp, pleasant to taste ; //orange// : orange fruit {{code}} { orange code block } {{/code}} >orange block quote > Multiple definitions, tight: ; apple : red fruit : computer ; orange : orange fruit : bank Multiple definitions, loose: ; apple : red fruit : computer ; orange : orange fruit : bank Blank line after term, indented marker, alternate markers: ; apple : red fruit : computer ; orange : orange fruit ;1. sublist ;1. sublist = HTML Blocks {{id name="html-blocks" /}}= Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is //emphasized// And this is **strong** Here’s a simple block: foo This should be a code block, though: {{code}}
                foo
                {{/code}} As should this: {{code}}
                foo
                {{/code}} Now, nested: foo This should just be an HTML comment: Multiline: Code block: {{code}} {{/code}} Just plain comment, with trailing spaces on the line: Code: {{code}}
                {{/code}} Hr’s: ---- = Inline Markup {{id name="inline-markup" /}}= This is //emphasized//, and so //is this//. This is **strong**, and so **is this**. An //[[emphasized link>>/url]]//. **//This is strong and em.//** So is **//this//** word. **//This is strong and em.//** So is **//this//** word. This is code: {{code}}>{{/code}}, {{code}}${{/code}}, {{code}}\{{/code}}, {{code}}\${{/code}}, {{code}}{{/code}}. --This is //strikeout//.-- Superscripts: a^^bc^^d a^^//hello//^^ a^^hello there^^. Subscripts: H,,2,,O, H,,23,,O, H,,many of them,,O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~~b c~~d. ---- = Smart quotes, ellipses, dashes {{id name="smart-quotes-ellipses-dashes" /}}= “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘{{code}}code{{/code}}’ and a “[[quoted link>>http://example.com/?foo=1&bar=2]]”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ---- = LaTeX {{id name="latex" /}}= *. *. {{formula}}2+2=4{{/formula}} *. {{formula}}x \in y{{/formula}} *. {{formula}}\alpha \wedge \omega{{/formula}} *. {{formula}}223{{/formula}} *. {{formula}}p{{/formula}}-Tree *. Here’s some display math: {{formula}}\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}{{/formula}} *. Here’s one that has a line break in it: {{formula}}\alpha + \omega \times x^2{{/formula}}. These shouldn’t be math: *. To get the famous equation, write {{code}}$e = mc^2${{/code}}. *. $22,000 is a //lot// of money. So is $34,000. (It worked if “lot” is emphasized.) *. Shoes ($20) and socks ($5). *. Escaped {{code}}${{/code}}: $73 //this should be emphasized// 23$. Here’s a LaTeX table: ---- = Special Characters {{id name="special-characters" /}}= Here is some unicode: *. I hat: Î *. o umlaut: ö *. section: § *. set membership: ∈ *. copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ---- = Links {{id name="links" /}}= == Explicit {{id name="explicit" /}}== Just a [[URL>>/url/]]. [[URL and title>>/url/]]. [[URL and title>>/url/]]. [[URL and title>>/url/]]. [[URL and title>>/url/]] [[URL and title>>/url/]] [[with_underscore>>/url/with_underscore]] [[Email link>>mailto:nobody@nowhere.net]] [[Empty>>]]. == Reference {{id name="reference" /}}== Foo [[bar>>/url/]]. With [[embedded [brackets]>>/url/]]. [[b>>/url/]] by itself should be a link. Indented [[once>>/url]]. Indented [[twice>>/url]]. Indented [[thrice>>/url]]. This should [not][] be a link. {{code}} [not]: /url {{/code}} Foo [[bar>>/url/]]. Foo [[biz>>/url/]]. == With ampersands {{id name="with-ampersands" /}}== Here’s a [[link with an ampersand in the URL>>http://example.com/?foo=1&bar=2]]. Here’s a link with an amersand in the link text: [[AT&T>>http://att.com/]]. Here’s an [[inline link>>/script?foo=1&bar=2]]. Here’s an [[inline link in pointy braces>>/script?foo=1&bar=2]]. == Autolinks {{id name="autolinks" /}}== With an ampersand: http://example.com/?foo=1&bar=2 *. In a list? *. http://example.com/ *. It should. An e-mail address: [[nobody@nowhere.net>>mailto:nobody@nowhere.net]] >Blockquoted: http://example.com/ > Auto-links should not occur here: {{code}}{{/code}} {{code}} or here: {{/code}} ---- = Images {{id name="images" /}}= From “Voyage dans la Lune” by Georges Melies (1902): [[image:lalune.jpg||alt="lalune" title="fig:Voyage dans la Lune"]] Here is a movie [[image:movie.jpg||alt="movie"]] icon. ---- = Footnotes {{id name="footnotes" /}}= Here is a footnote reference,{{footnote}}Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.{{/footnote}} and another.{{footnote}}Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). {{code}} { } {{/code}} If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.{{/footnote}} This should //not// be a footnote reference, because it contains a space.[^my note] Here is an inline note.{{footnote}}This is //easier// to type. Inline notes may contain [[links>>http://google.com]] and {{code}}]{{/code}} verbatim characters, as well as [bracketed text].{{/footnote}} >Notes can go in quotes.{{footnote}}In quote.{{/footnote}} > 1. And in list items.{{footnote}}In list.{{/footnote}} This paragraph should not be part of the note, as it is not indented. pandoc-2.9.2.1/test/writer.zimwiki000066400000000000000000000206041363630463000170350ustar00rootroot00000000000000Content-Type: text/x-zim-wiki Wiki-Format: zim 0.4 This is a set of tests for pandoc. Most of them are adapted from John Gruber’s markdown test suite. ---- ====== Headers ====== ===== Level 2 with an embedded link ===== ==== Level 3 with emphasis ==== === Level 4 === == Level 5 == ====== Level 1 ====== ===== Level 2 with emphasis ===== ==== Level 3 ==== with no blank line ===== Level 2 ===== with no blank line ---- ====== Paragraphs ====== Here’s a regular paragraph. 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. Here’s one with a bullet. * criminey. There should be a hard line break here. ---- ====== Block Quotes ====== E-mail style: > This is a block quote. It is pretty short. > Code in a block quote: > > ''' > sub status { > print "working"; > } > ''' > > A list: > > 1. item one > 2. item two > > Nested block quotes: > > > nested > > > nested This should not be a block quote: 2 > 1. And a following paragraph. ---- ====== Code Blocks ====== Code: ''' ---- (should be four hyphens) sub status { print "working"; } this code block is indented by one tab ''' And: ''' this code block is indented by two tabs These should not be escaped: \$ \\ \> \[ \{ ''' ---- ====== Lists ====== ===== Unordered ===== Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 Pluses tight: * Plus 1 * Plus 2 * Plus 3 Pluses loose: * Plus 1 * Plus 2 * Plus 3 Minuses tight: * Minus 1 * Minus 2 * Minus 3 Minuses loose: * Minus 1 * Minus 2 * Minus 3 ===== Ordered ===== Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 1. graf two. The quick brown fox jumped over the lazy dog’s back. 2. Item 2. 3. Item 3. ===== Nested ===== * Tab * Tab * Tab Here’s another: 1. First 2. Second: * Fee * Fie * Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: * Fee * Fie * Foe 3. Third ===== Tabs and spaces ===== * this is a list item indented with tabs * this is a list item indented with spaces * this is an example list item indented with tabs * this is an example list item indented with spaces ===== Fancy list markers ===== 1. begins with 2 2. and now 3 with a continuation 1. sublist with roman numerals, starting with 4 2. more items 1. a subsublist 2. a subsublist Nesting: 1. Upper Alpha 1. Upper Roman. 1. Decimal start with 6 1. Lower alpha with paren Autonumbering: 1. Autonumber. 2. More. 1. Nested. Should not be a list item: M.A. 2007 B. Williams ---- ====== Definition Lists ====== Tight using spaces: * **apple** red fruit * **orange** orange fruit * **banana** yellow fruit Tight using tabs: * **apple** red fruit * **orange** orange fruit * **banana** yellow fruit Loose: * **apple** red fruit * **orange** orange fruit * **banana** yellow fruit Multiple blocks with italics: * **//apple//** red fruit contains seeds, crisp, pleasant to taste * **//orange//** orange fruit ''' { orange code block } ''' > orange block quote Multiple definitions, tight: * **apple** red fruitcomputer * **orange** orange fruitbank Multiple definitions, loose: * **apple** red fruit computer * **orange** orange fruit bank Blank line after term, indented marker, alternate markers: * **apple** red fruit computer * **orange** orange fruit 1. sublist 2. sublist ====== HTML Blocks ====== Simple block on one line: foo And nested without indentation: foo bar Interpreted markdown in a table: This is //emphasized// And this is **strong** Here’s a simple block: foo This should be a code block, though: '''
                foo
                ''' As should this: '''
                foo
                ''' Now, nested: foo This should just be an HTML comment: Multiline: Code block: ''' ''' Just plain comment, with trailing spaces on the line: Code: '''
                ''' Hr’s: ---- ====== Inline Markup ====== This is //emphasized//, and so //is this//. This is **strong**, and so **is this**. An //[[url|emphasized link]]//. **//This is strong and em.//** So is **//this//** word. **//This is strong and em.//** So is **//this//** word. This is code: ''>'', ''$'', ''\'', ''\$'', ''''. ~~This is //strikeout//.~~ Superscripts: a^{bc}d a^{//hello//} a^{hello there}. Subscripts: H_{2}O, H_{23}O, H_{many of them}O. These should not be superscripts or subscripts, because of the unescaped spaces: a^b c^d, a~b c~d. ---- ====== Smart quotes, ellipses, dashes ====== “Hello,” said the spider. “‘Shelob’ is my name.” ‘A’, ‘B’, and ‘C’ are letters. ‘Oak,’ ‘elm,’ and ‘beech’ are names of trees. So is ‘pine.’ ‘He said, “I want to go.”’ Were you alive in the 70’s? Here is some quoted ‘''code''’ and a “[[http://example.com/?foo=1&bar=2|quoted link]]”. Some dashes: one—two — three—four — five. Dashes between numbers: 5–7, 255–66, 1987–1999. Ellipses…and…and…. ---- ====== LaTeX ====== * * $2+2=4$ * $x \in y$ * $\alpha \wedge \omega$ * $223$ * $p$-Tree * Here’s some display math: $$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$$ * Here’s one that has a line break in it: $\alpha + \omega \times x^2$. These shouldn’t be math: * To get the famous equation, write ''$e = mc^2$''. * $22,000 is a //lot// of money. So is $34,000. (It worked if “lot” is emphasized.) * Shoes ($20) and socks ($5). * Escaped ''$'': $73 //this should be emphasized// 23$. Here’s a LaTeX table: ---- ====== Special Characters ====== Here is some unicode: * I hat: Î * o umlaut: ö * section: § * set membership: ∈ * copyright: © AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Backslash: \ Backtick: ` Asterisk: * Underscore: _ Left brace: { Right brace: } Left bracket: [ Right bracket: ] Left paren: ( Right paren: ) Greater-than: > Hash: # Period: . Bang: ! Plus: + Minus: - ---- ====== Links ====== ===== Explicit ===== Just a [[url/|URL]]. [[url/|URL and title]]. [[url/|URL and title]]. [[url/|URL and title]]. [[url/|URL and title]] [[url/|URL and title]] [[url/with_underscore|with_underscore]] [[mailto:nobody@nowhere.net|Email link]] [[|Empty]]. ===== Reference ===== Foo [[url/|bar]]. With [[url/|embedded [brackets]]]. [[url/|b]] by itself should be a link. Indented [[url|once]]. Indented [[url|twice]]. Indented [[url|thrice]]. This should [not][] be a link. ''' [not]: /url ''' Foo [[url/|bar]]. Foo [[url/|biz]]. ===== With ampersands ===== Here’s a [[http://example.com/?foo=1&bar=2|link with an ampersand in the URL]]. Here’s a link with an amersand in the link text: [[http://att.com/|AT&T]]. Here’s an [[script?foo=1&bar=2|inline link]]. Here’s an [[script?foo=1&bar=2|inline link in pointy braces]]. ===== Autolinks ===== With an ampersand: http://example.com/?foo=1&bar=2 * In a list? * http://example.com/ * It should. An e-mail address: > Blockquoted: http://example.com/ Auto-links should not occur here: '''' ''' or here: ''' ---- ====== Images ====== From “Voyage dans la Lune” by Georges Melies (1902): {{lalune.jpg|Voyage dans la Lune lalune}} Here is a movie {{movie.jpg|movie}} icon. ---- ====== Footnotes ====== Here is a footnote reference, **{Note:** Here is the footnote. It can go anywhere after the footnote reference. It need not be placed at the end of the document.**}** and another. **{Note:** Here’s the long note. This one contains multiple blocks. Subsequent blocks are indented to show that they belong to the footnote (as with list items). ''' { } ''' If you want, you can indent every line, but you can also be lazy and just indent the first line of each block.**}** This should //not// be a footnote reference, because it contains a space.[^my note] Here is an inline note. **{Note:** This is //easier// to type. Inline notes may contain [[http://google.com|links]] and '']'' verbatim characters, as well as [bracketed text].**}** > Notes can go in quotes. **{Note:** In quote.**}** 1. And in list items. **{Note:** In list.**}** This paragraph should not be part of the note, as it is not indented. pandoc-2.9.2.1/test/writers-lang-and-dir.context000066400000000000000000000062621363630463000214600ustar00rootroot00000000000000% Enable hyperlinks \setupinteraction [state=start, style=, color=, contrastcolor=] % make chapter, section bookmarks visible when opening document \placebookmarks[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][chapter, section] \setupinteractionscreen[option=bookmark] \setuppagenumbering[location={footer,middle}] \setupbackend[export=yes] \setupstructure[state=start,method=auto] % use microtypography \definefontfeature[default][default][script=latn, protrusion=quality, expansion=quality, itlc=yes, textitalics=yes, onum=yes, pnum=yes] \definefontfeature[smallcaps][script=latn, protrusion=quality, expansion=quality, smcp=yes, onum=yes, pnum=yes] \setupalign[hz,hanging] \setupitaliccorrection[global, always] \setupbodyfontenvironment[default][em=italic] % use italic as em, not slanted \definefallbackfamily[mainface][rm][CMU Serif][preset=range:greek, force=yes] \definefontfamily[mainface][rm][Latin Modern Roman] \definefontfamily[mainface][mm][Latin Modern Math] \definefontfamily[mainface][ss][Latin Modern Sans] \definefontfamily[mainface][tt][Latin Modern Typewriter][features=none] \setupbodyfont[mainface] \setupwhitespace[medium] \setuphead[chapter] [style=\tfd,header=empty] \setuphead[section] [style=\tfc] \setuphead[subsection] [style=\tfb] \setuphead[subsubsection] [style=\bf] \setuphead[subsubsubsection] [style=\sc] \setuphead[subsubsubsubsection][style=\it] \setuphead[chapter, section, subsection, subsubsection, subsubsubsection, subsubsubsubsection][number=no] \definedescription [description] [headstyle=bold, style=normal, location=hanging, width=broad, margin=1cm, alternative=hanging] \setupitemize[autointro] % prevent orphan list intro \setupitemize[indentnext=no] \setupfloat[figure][default={here,nonumber}] \setupfloat[table][default={here,nonumber}] \setupthinrules[width=15em] % width of horizontal rules \setupxtable[frame=off] \setupxtable[head][topframe=on,bottomframe=on] \setupxtable[body][] \setupxtable[foot][bottomframe=on] \starttext \section[title={Empty Divs and Spans},reference={empty-divs-and-spans}] Some text and div contents and more text. Next paragraph with a span and a word-thatincludesaspanright? \section[title={Directionality},reference={directionality}] Some text and \startalignment[righttoleft] rtl div contents \stopalignment and more text. \startalignment[lefttoright] and a ltr div. with a {\righttoleft rtl span}. \stopalignment Next paragraph with a {\righttoleft rtl span} and a word-that-includesa{\lefttoright ltrspan}right? \section[title={Languages},reference={languages}] Some text and \start\language[de] German div contents \stop and more text. Next paragraph with a {\language[en-gb]British span} and a word-that-includesa{\language[de-ch]Swiss German span}right? Some {\language[es]Spanish text}. \section[title={Combined},reference={combined}] Some text and \start\language[fr] \startalignment[righttoleft] French rtl div contents \stopalignment \stop and more text. Next paragraph with a {\language[en-gb]{\lefttoright British ltr span}} and a word-that-includesa{\language[de-ch]{\lefttoright Swiss German ltr span}}right? \stoptext pandoc-2.9.2.1/test/writers-lang-and-dir.latex000066400000000000000000000102611363630463000211030ustar00rootroot00000000000000% Options for packages loaded elsewhere \PassOptionsToPackage{unicode}{hyperref} \PassOptionsToPackage{hyphens}{url} % \documentclass[ english, ]{article} \usepackage{lmodern} \usepackage{amssymb,amsmath} \usepackage{ifxetex,ifluatex} \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{textcomp} % provide euro and other symbols \else % if luatex or xetex \usepackage{unicode-math} \defaultfontfeatures{Scale=MatchLowercase} \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1} \fi % Use upquote if available, for straight quotes in verbatim environments \IfFileExists{upquote.sty}{\usepackage{upquote}}{} \IfFileExists{microtype.sty}{% use microtype if available \usepackage[]{microtype} \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts }{} \makeatletter \@ifundefined{KOMAClassName}{% if non-KOMA class \IfFileExists{parskip.sty}{% \usepackage{parskip} }{% else \setlength{\parindent}{0pt} \setlength{\parskip}{6pt plus 2pt minus 1pt}} }{% if KOMA class \KOMAoptions{parskip=half}} \makeatother \usepackage{xcolor} \IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available \IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}} \hypersetup{ pdflang={en}, hidelinks, pdfcreator={LaTeX via pandoc}} \urlstyle{same} % disable monospaced font for URLs \setlength{\emergencystretch}{3em} % prevent overfull lines \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \setcounter{secnumdepth}{-\maxdimen} % remove section numbering \ifxetex % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic) \usepackage{polyglossia} \setmainlanguage[]{english} \setotherlanguage[]{german} \setotherlanguage[variant=british]{english} \setotherlanguage[variant=swiss]{german} \setotherlanguage[]{spanish} \setotherlanguage[]{french} \else \usepackage[shorthands=off,ngerman,british,nswissgerman,spanish,french,main=english]{babel} \newcommand{\textgerman}[2][]{\foreignlanguage{ngerman}{#2}} \newenvironment{german}[2][]{\begin{otherlanguage}{ngerman}}{\end{otherlanguage}} \newcommand{\textenglish}[2][]{\foreignlanguage{british}{#2}} \newenvironment{english}[2][]{\begin{otherlanguage}{british}}{\end{otherlanguage}} \let\oritextspanish\textspanish \AddBabelHook{spanish}{beforeextras}{\renewcommand{\textspanish}{\oritextspanish}} \AddBabelHook{spanish}{afterextras}{\renewcommand{\textspanish}[2][]{\foreignlanguage{spanish}{##2}}} \newcommand{\textfrench}[2][]{\foreignlanguage{french}{#2}} \newenvironment{french}[2][]{\begin{otherlanguage}{french}}{\end{otherlanguage}} \fi \ifxetex % Load bidi as late as possible as it modifies e.g. graphicx \usepackage{bidi} \fi \ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex \TeXXeTstate=1 \newcommand{\RL}[1]{\beginR #1\endR} \newcommand{\LR}[1]{\beginL #1\endL} \newenvironment{RTL}{\beginR}{\endR} \newenvironment{LTR}{\beginL}{\endL} \fi \author{} \date{} \begin{document} \hypertarget{empty-divs-and-spans}{% \section{Empty Divs and Spans}\label{empty-divs-and-spans}} Some text and div contents and more text. Next paragraph with a {span} and a word-thatincludesa{span}right? \hypertarget{directionality}{% \section{Directionality}\label{directionality}} Some text and \begin{RTL} rtl div contents \end{RTL} and more text. \begin{LTR} and a ltr div. with a \RL{rtl span}. \end{LTR} Next paragraph with a \RL{rtl span} and a word-that-includesa\LR{ltrspan}right? \hypertarget{languages}{% \section{Languages}\label{languages}} Some text and \begin{german} German div contents \end{german} and more text. Next paragraph with a \textenglish[variant=british]{British span} and a word-that-includesa\textgerman[variant=swiss]{Swiss German span}right? Some \textspanish{Spanish text}. \hypertarget{combined}{% \section{Combined}\label{combined}} Some text and \begin{RTL} \begin{french} French rtl div contents \end{french} \end{RTL} and more text. Next paragraph with a \LR{\textenglish[variant=british]{British ltr span}} and a word-that-includesa\LR{\textgerman[variant=swiss]{Swiss German ltr span}}right? \end{document} pandoc-2.9.2.1/test/writers-lang-and-dir.native000066400000000000000000000046661363630463000212700ustar00rootroot00000000000000Pandoc (Meta {unMeta = fromList []}) [Header 1 ("empty-divs-and-spans",[],[]) [Str "Empty",Space,Str "Divs",Space,Str "and",Space,Str "Spans"] ,Plain [Str "Some",Space,Str "text",Space,Str "and"] ,Div ("",[],[]) [Para [Str "div",Space,Str "contents"]] ,Para [Str "and",Space,Str "more",Space,Str "text."] ,Para [Str "Next",Space,Str "paragraph",Space,Str "with",Space,Str "a",Space,Span ("",[],[]) [Str "span"],Space,Str "and",Space,Str "a",Space,Str "word-thatincludesa",Span ("",[],[]) [Str "span"],Str "right?"] ,Header 1 ("directionality",[],[]) [Str "Directionality"] ,Plain [Str "Some",Space,Str "text",Space,Str "and"] ,Div ("",[],[("dir","rtl")]) [Para [Str "rtl",Space,Str "div",Space,Str "contents"]] ,Para [Str "and",Space,Str "more",Space,Str "text."] ,Div ("",[],[("dir","ltr")]) [Para [Str "and",Space,Str "a",Space,Str "ltr",Space,Str "div.",Space,Str "with",Space,Str "a",Space,Span ("",[],[("dir","rtl")]) [Str "rtl",Space,Str "span"],Str "."]] ,Para [Str "Next",Space,Str "paragraph",Space,Str "with",Space,Str "a",Space,Span ("",[],[("dir","rtl")]) [Str "rtl",Space,Str "span"],Space,Str "and",Space,Str "a",Space,Str "word-that-includesa",Span ("",[],[("dir","ltr")]) [Str "ltrspan"],Str "right?"] ,Header 1 ("languages",[],[]) [Str "Languages"] ,Plain [Str "Some",Space,Str "text",Space,Str "and"] ,Div ("",[],[("lang","de")]) [Para [Str "German",Space,Str "div",Space,Str "contents"]] ,Para [Str "and",Space,Str "more",Space,Str "text."] ,Para [Str "Next",Space,Str "paragraph",Space,Str "with",Space,Str "a",Space,Span ("",[],[("lang","en-GB")]) [Str "British",Space,Str "span"],Space,Str "and",Space,Str "a",Space,Str "word-that-includesa",Span ("",[],[("lang","de-CH")]) [Str "Swiss",Space,Str "German",Space,Str "span"],Str "right?"] ,Para [Str "Some",Space,Span ("",[],[("lang","es")]) [Str "Spanish",Space,Str "text"],Str "."] ,Header 1 ("combined",[],[]) [Str "Combined"] ,Plain [Str "Some",Space,Str "text",Space,Str "and"] ,Div ("",[],[("lang","fr"),("dir","rtl")]) [Para [Str "French",Space,Str "rtl",Space,Str "div",Space,Str "contents"]] ,Para [Str "and",Space,Str "more",Space,Str "text."] ,Para [Str "Next",Space,Str "paragraph",Space,Str "with",Space,Str "a",Space,Span ("",[],[("lang","en-GB"),("dir","ltr")]) [Str "British",Space,Str "ltr",Space,Str "span"],Space,Str "and",Space,Str "a",Space,Str "word-that-includesa",Span ("",[],[("lang","de-CH"),("dir","ltr")]) [Str "Swiss",Space,Str "German",Space,Str "ltr",Space,Str "span"],Str "right?"]] pandoc-2.9.2.1/tools/000077500000000000000000000000001363630463000142735ustar00rootroot00000000000000pandoc-2.9.2.1/tools/changelog-helper.sh000077500000000000000000000012511363630463000200350ustar00rootroot00000000000000#!/bin/sh # generate preliminary list of changes since changelog # was last modified lastmod=`git log -n2 --format=oneline changelog | awk '{print $1;}'` #git log --format=oneline $starthash..HEAD files=`git ls-tree -r master --name-only` for x in $files do commits=`git log -n1 $lastmod..HEAD $x` if [ ! -z "$commits" ] then if echo $x | grep -q "src\/.*\.hs" then file=`echo $x | sed -e 's/src\///' | sed -e 's/\//\./g' | sed -e 's/\.hs$//'` else file=$x fi echo " * $file" GIT_PAGER=cat git log --pretty=format:'%n%w(78,4,6)+ %s (%aN)%n%n%w(78,6,6)%b%n' -- "$lastmod..HEAD" "$x" fi done pandoc-2.9.2.1/tools/changes_template.html000066400000000000000000000001151363630463000204610ustar00rootroot00000000000000
                Click to expand changelog $body$
                pandoc-2.9.2.1/tools/diff-zip.sh000077500000000000000000000015541363630463000163470ustar00rootroot00000000000000#!/bin/sh # This script allows you to compare two epub, odt, or docx # containers, ignoring insignificant formatting differences # in the XML contents. UNAME=$(uname) if [ "$UNAME" = "Darwin" ]; then FIND="find -E" else FIND="find -regextype posix-extended" fi f1="$1" f2="$2" test -f "$f1" -a -f "$f2" || { echo "Usage: diff-zip firstfile secondfile" && exit 1 } WORKDIR=$(mktemp -d -t diff-zip.XXX) trap "{ rm -r $WORKDIR; }" EXIT unzip -q -d "$WORKDIR/a" "$f1" unzip -q -d "$WORKDIR/b" "$f2" cd "$WORKDIR" mkdir tidy for x in a b; do cp -r $x tidy/ $FIND $x -iregex '.*\.(xhtml|xml|rdf|rels)' -exec sh -c 'mkdir -p "$(dirname tidy/$1)" && tidy -q -xml -utf8 -i "$1" > "tidy/$1"' _ {} \; done cd tidy mkdir c cp -r a/* c/ cp -r b/* c/ find c -type f -exec sh -c 'echo -e "\033[1m=== ${1#*/} ===\033[0m" ; diff -u "a/${1#*/}" "b/${1#*/}" 2>&1' _ {} \; pandoc-2.9.2.1/tools/extract-changes.hs000077500000000000000000000006431363630463000177150ustar00rootroot00000000000000#!/usr/bin/env stack -- stack --stack-yaml=stack.yaml runghc --package pandoc-types -- Extract changes from latest version in changelog. import Text.Pandoc.JSON main = toJSONFilter extractFirst extractFirst :: Pandoc -> Pandoc extractFirst (Pandoc meta bs) = let bs' = dropWhile (not . isSubhead) bs in Pandoc meta (takeWhile (not . isSubhead) (drop 1 bs')) isSubhead (Header 2 _ _) = True isSubhead _ = False pandoc-2.9.2.1/tools/github-upload.sh000077500000000000000000000012651363630463000174020ustar00rootroot00000000000000#!/bin/bash VERSION=$1 FULLNAME=pandoc-$VERSION read -s -p "Token (https://github.com/settings/applications): " TOKEN curl -H "Authorization: token $TOKEN" \ -H "Accept: application/vnd.github.manifold-preview" \ -H "Content-Type: application/x-apple-diskimage" \ --data-binary @$FULLNAME.pkg.zip \ "https://uploads.github.com/repos/jgm/pandoc/releases/$VERSION/assets?name=$FULLNAME.pkg.zip" curl -H "Authorization: token $TOKEN" \ -H "Accept: application/vnd.github.manifold-preview" \ -H "Content-Type: application/x-msi" \ --data-binary @$FULLNAME.msi \ "https://uploads.github.com/repos/jgm/pandoc/releases/$VERSION/assets?name=$FULLNAME.msi" pandoc-2.9.2.1/tools/pandoc-template-mode.el000066400000000000000000000042511363630463000206160ustar00rootroot00000000000000 ;;; pandoc-template-mode.el --- Pandoc-Template major mode ;; Copyright (C) 2017 ;; Author: Václav Haisman ;; Keywords: extensions ;; This file is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; This file is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; ;;; Code: (defvar pandoc-template-font-lock-keywords '(("\\(\\$--.*\\)$" (1 font-lock-comment-face)) ("\\(\\$\\)\\(if\\|for\\)(\\([^)]+\\))\\(\\$\\)" (1 font-lock-preprocessor-face) (2 font-lock-keyword-face) (3 font-lock-variable-name-face) (4 font-lock-preprocessor-face)) ("\\(\\$\\)\\(endif\\|endfor\\|else\\)\\(\\$\\)" (1 font-lock-preprocessor-face) (2 font-lock-keyword-face) (3 font-lock-preprocessor-face)) ("\\(\\$\\)\\(sep\\)\\(\\$\\)" (1 font-lock-preprocessor-face) (2 font-lock-builtin-face) (3 font-lock-preprocessor-face)) ("\\(\\$\\)\\([^$]+\\)\\(\\$\\)" (1 font-lock-preprocessor-face) (2 font-lock-variable-name-face) (3 font-lock-preprocessor-face)) ) "Keyword highlighting specification for `pandoc-template-mode'.") ;;;###autoload (define-derived-mode pandoc-template-mode fundamental-mode "Pandoc-Template" "A major mode for editing Pandoc-Template files." :syntax-table text-mode-syntax-table (setq-local font-lock-defaults '(pandoc-template-font-lock-keywords)) (setq-local comment-start "$--") (setq-local comment-start-skip "\\$--[ \t]*") (setq-local comment-end "") (setq-local comment-end-skip "[ \t]*$")) (provide 'pandoc-template-mode) ;;; pandoc-template.el ends here pandoc-2.9.2.1/tools/update-readme.lua000066400000000000000000000013371363630463000175170ustar00rootroot00000000000000-- update README.md based on MANUAL.txt -- inserts contents of input-formats and output-formats local f = assert(io.open("MANUAL.txt", "r")) local manual = f:read("*all") mdoc = pandoc.read(manual, "markdown") f:close() result = {} function Div(elem) local ident = elem.identifier or "" local fixrel = function(el) if el.target:match("^#") then el.target = "https://pandoc.org/MANUAL.html" .. el.target end return el end local get = function(el) if el.identifier == ident then result = pandoc.walk_block(el, { Link = fixrel }) end end if ident == 'input-formats' or ident == 'output-formats' then pandoc.walk_block(pandoc.Div(mdoc.blocks), { Div = get }) return result end end pandoc-2.9.2.1/trypandoc/000077500000000000000000000000001363630463000151365ustar00rootroot00000000000000pandoc-2.9.2.1/trypandoc/Makefile000066400000000000000000000005141363630463000165760ustar00rootroot00000000000000CGIBIN=/home/website/cgi-bin TRYPANDOC=/home/website/pandoc.org/try/ CGI=${CGIBIN}/trypandoc BIN=/home/jgm/.local/bin/trypandoc install: ${CGI} ${TRYPANDOC}/index.html ${TRYPANDOC}/%: % cp $< $@ && chown website:www-data $@ && chmod a+r $@ ${CGI}: ${BIN} cp $< $@ && chown website:www-data $@ && chmod a+rx $@ .PHONY: install pandoc-2.9.2.1/trypandoc/index.html000066400000000000000000000166261363630463000171460ustar00rootroot00000000000000 Try pandoc!

                Try pandoc!

                
                    
                 

                
                    
                pandoc-2.9.2.1/trypandoc/trypandoc.hs000066400000000000000000000063641363630463000175060ustar00rootroot00000000000000{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE OverloadedStrings #-} {- | Module : Main Copyright : © 2014-2020 John MacFarlane License : GNU GPL, version 2 or above Maintainer : John MacFarlane Stability : alpha Portability : portable Provides a webservice which allows to try pandoc in the browser. -} module Main where import Prelude import Network.Wai.Handler.CGI import Network.Wai import Control.Applicative ((<$>)) import Data.Maybe (fromMaybe) import Network.HTTP.Types.Status (status200) import Network.HTTP.Types.Header (hContentType) import Network.HTTP.Types.URI (queryToQueryText) import Text.Pandoc import Text.Pandoc.Writers.Math (defaultMathJaxURL) import Text.Pandoc.Highlighting (pygments) import Text.Pandoc.Readers (getReader, Reader(..)) import Text.Pandoc.Writers (getWriter, Writer(..)) import Text.Pandoc.Shared (tabFilter) import Data.Aeson import qualified Data.Text as T import Data.Text (Text) main :: IO () main = run app app :: Application app req respond = do let query = queryToQueryText $ queryString req let getParam x = maybe (error $ T.unpack x ++ " parameter not set") return $ lookup x query text <- getParam "text" >>= checkLength . fromMaybe T.empty fromFormat <- fromMaybe "" <$> getParam "from" toFormat <- fromMaybe "" <$> getParam "to" standalone <- (==) "1" . fromMaybe "" <$> getParam "standalone" compiledTemplate <- runIO . compileDefaultTemplate $ toFormat let template = if standalone then either (const Nothing) Just compiledTemplate else Nothing let reader = case runPure $ getReader fromFormat of Right (TextReader r, es) -> r readerOpts{ readerExtensions = es } _ -> error $ "could not find reader for " ++ T.unpack fromFormat let writer = case runPure $ getWriter toFormat of Right (TextWriter w, es) -> w writerOpts{ writerExtensions = es, writerTemplate = template } _ -> error $ "could not find writer for " ++ T.unpack toFormat let result = case runPure $ reader (tabFilter 4 text) >>= writer of Right s -> s Left err -> error (show err) let output = encode $ object [ T.pack "html" .= result , T.pack "name" .= if fromFormat == "markdown_strict" then T.pack "pandoc (strict)" else T.pack "pandoc" , T.pack "version" .= pandocVersion] respond $ responseLBS status200 [(hContentType,"text/json; charset=UTF-8")] output checkLength :: Text -> IO Text checkLength t = if T.length t > 10000 then error "exceeds length limit of 10,000 characters" else return t writerOpts :: WriterOptions writerOpts = def { writerReferenceLinks = True, writerEmailObfuscation = NoObfuscation, writerHTMLMathMethod = MathJax (defaultMathJaxURL <> T.pack "tex-mml-chtml.js"), writerHighlightStyle = Just pygments } readerOpts :: ReaderOptions readerOpts = def pandoc-2.9.2.1/windows/000077500000000000000000000000001363630463000146255ustar00rootroot00000000000000pandoc-2.9.2.1/windows/AdvancedWelcomeEulaDlg_Custom.wxs000066400000000000000000000156661363630463000232170ustar00rootroot00000000000000 LicenseAccepted AND (WixUISupportPerUser = 1) (NOT LicenseAccepted) OR (WixUISupportPerUser = 0) ALLUSERS NOT (ALLUSERS = 1) NOT LicenseAccepted LicenseAccepted 1 NOT LicenseAccepted OR NOT (ALLUSERS = 1) (LicenseAccepted = "1") AND (ALLUSERS = 1) 1 NOT Installed pandoc-2.9.2.1/windows/Makefile000066400000000000000000000005161363630463000162670ustar00rootroot00000000000000UNSIGNED=$(wildcard pandoc-*-UNSIGNED.msi) SIGNED=$(patsubst %-UNSIGNED.msi, %.msi, $(UNSIGNED)) all: $(SIGNED) .PHONY: all pandoc-%.msi: pandoc-%-UNSIGNED.msi osslsigncode sign -pkcs12 $$HOME/Private/SectigoCodeSigning.exp2023.p12 -in $< -i http://johnmacfarlane.net/ -t http://timestamp.comodoca.com/ -out $@ -askpass && rm $< pandoc-2.9.2.1/windows/Pandoc-en-us.wxl000066400000000000000000000010561363630463000176140ustar00rootroot00000000000000 1033 COPYING.rtf [ProductName] was installed in [APPLICATIONFOLDER]. You may need to restart Cmd/Powershell Windows before using it. pandoc-2.9.2.1/windows/WixUI_Advanced_Custom.wxs000066400000000000000000000243131363630463000215170ustar00rootroot00000000000000 ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged))) ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged)) ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS="" OR (ALLUSERS=2 AND (NOT Privileged))) ACTION="INSTALL" AND APPLICATIONFOLDER="" AND (ALLUSERS=1 OR (ALLUSERS=2 AND Privileged)) 1 1 "1"]]> ALLUSERS = 1 ALLUSERS = 1 !(wix.WixUISupportPerMachine) AND !(wix.WixUISupportPerUser) ALLUSERS = 1 ALLUSERS = 1 NOT (ALLUSERS = 1) NOT (ALLUSERS = 1) 1 1 NOT WIXUI_DONTVALIDATEPATH "1"]]> WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1" 1 1 NOT Installed AND WixAppFolder = "WixPerMachineFolder" Installed 1 1 1 1 Installed AND NOT PATCH Installed AND PATCH Installed AND PATCH Installed AND PATCH pandoc-2.9.2.1/windows/pandoc.wxs000066400000000000000000000171031363630463000166360ustar00rootroot00000000000000 ALLUSERS = "" OR ALLUSERS = 2 ALLUSERS = 1 MsiNTProductType > 1 MsiNTProductType = 1 MsiNTProductType > 1 (NOT ALLUSERS = 1) AND MsiNTProductType = 1 (NOT ALLUSERS = 1) AND MsiNTProductType = 1 MsiNTProductType > 1 NOT Installed

                Level 2 with an embedded link